Hi Jouke, Thanks for fixing this! Sharing a couple of ideas that come to mind. On 23 June 2018 at 12:25, Jouke Witteveen via arch-projects <arch-projects@archlinux.org> wrote:
Strictly speaking, we should check with the SSIDEncoding value sent out by the station, as specified in the 2012 version of 802.11 (page 566), but wpa_supplicant does not (yet) expose this information and stations may not set the field to UTF-8 and still encode their SSID accordingly.
@@ -38,6 +43,9 @@ init_profiles() { unset Interface ESSID source "$PROFILE_DIR/$profile" > /dev/null if [[ "$Interface" = "$1" && -n "$ESSID" ]]; then + if [[ "$ESSID" = \"\"*\" ]]; then + ESSID=${ESSID:2:-1} + fi FYI, I will send out a small patch which simplifying init_profiles. It will cause a trivial conflict so I can rebase it on top of this
I wonder if iwd (meant to be wpa_supplicant replacement) could help here. Be that by exposing SSIDEncoding or setting it, as it detects UTF-8 in the SSID. patch, if you prefer.
@@ -221,6 +237,8 @@ ensure_root "$(basename "$0")" if ! type dialog &> /dev/null; then exit_error "Please install 'dialog' to use wifi-menu" fi +CHARMAP=$(locale charmap) +cd / # We do not want to spawn anything that can block unmounting
Was the "cd /" line moved by mistake? Other than the cd nitpick, the patch looks great. FWIW Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> HTH Emil