Fix Wi-Fi QR fallback after failed route lookup
This commit is contained in:
1 parent
5b22f50be3
commit
5c2be2e653
2 files changed
+11
-1
No files matched your search
@@ -22,7 +22,9 @@ if [[ -z $interface ]]; then
|
|||||||
# menu's visibility gate describe. Fall back to the first connected Wi-Fi
|
# menu's visibility gate describe. Fall back to the first connected Wi-Fi
|
||||||
# device. nmcli localizes state names, so pin the locale, and the prefix
|
# device. nmcli localizes state names, so pin the locale, and the prefix
|
||||||
# match accepts states like "connected (externally)".
|
# match accepts states like "connected (externally)".
|
||||||
route_device=$(ip route get 1.1.1.1 2>/dev/null | awk '{ for (i = 1; i <= NF; i++) if ($i == "dev") { print $(i + 1); exit } }')
|
if ! route_device=$(ip route get 1.1.1.1 2>/dev/null | awk '{ for (i = 1; i <= NF; i++) if ($i == "dev") { print $(i + 1); exit } }'); then
|
||||||
|
route_device=""
|
||||||
|
fi
|
||||||
if [[ -n $route_device && -d /sys/class/net/$route_device/wireless ]]; then
|
if [[ -n $route_device && -d /sys/class/net/$route_device/wireless ]]; then
|
||||||
interface=$route_device
|
interface=$route_device
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -7,10 +7,12 @@ source "$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)/base-test.sh"
|
|||||||
tmp=$(mktemp -d)
|
tmp=$(mktemp -d)
|
||||||
trap 'rm -rf "$tmp"' EXIT
|
trap 'rm -rf "$tmp"' EXIT
|
||||||
mkdir -p "$tmp/bin"
|
mkdir -p "$tmp/bin"
|
||||||
|
export QR_ROUTE_EXIT=0
|
||||||
|
|
||||||
# Loopback is never wireless, so exercise the connected-Wi-Fi fallback.
|
# Loopback is never wireless, so exercise the connected-Wi-Fi fallback.
|
||||||
cat >"$tmp/bin/ip" <<'EOF'
|
cat >"$tmp/bin/ip" <<'EOF'
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
[[ $QR_ROUTE_EXIT == "0" ]] || exit "$QR_ROUTE_EXIT"
|
||||||
printf '1.1.1.1 dev lo\n'
|
printf '1.1.1.1 dev lo\n'
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@@ -93,6 +95,12 @@ run_success_case \
|
|||||||
'WIFI:T:WPA;S:Cafe Detected;P:secret;;' \
|
'WIFI:T:WPA;S:Cafe Detected;P:secret;;' \
|
||||||
--meta
|
--meta
|
||||||
|
|
||||||
|
QR_ROUTE_EXIT=2 run_success_case \
|
||||||
|
"network QR helper detects Wi-Fi when route lookup fails" \
|
||||||
|
$'Cafe No Route\nwpa-psk\nsecret\nno\n' \
|
||||||
|
'WIFI:T:WPA;S:Cafe No Route;P:secret;;' \
|
||||||
|
--meta
|
||||||
|
|
||||||
run_success_case \
|
run_success_case \
|
||||||
"network QR helper supports open networks" \
|
"network QR helper supports open networks" \
|
||||||
$'Cafe Open\nnone\n\nno\n' \
|
$'Cafe Open\nnone\n\nno\n' \
|
||||||
|
|||||||
Reference in new issue
Block a user