Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WiFi: Get connection info using UUID instead of SSID #872

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sylt
Copy link

@sylt sylt commented Nov 27, 2023

If you have multiple WiFi interfaces connecting to "YOUR_SSID", the SSID reported back by nmcli might be named "YOUR_SSID <N>", where <N> is replaced by a digit. While this is in general no problem, this SSID isn't properly "sanitized" (or escaped?) by util.sanitizeShellString() which leads to that YOUR_SSID and <N> gets interpreted as separate arguments when passed to nmcli (nmiConnectionLinux()), which in turn makes the information for "YOUR_SSID" to be wrongfully returned.

To avoid the problem of properly escaping the string, just use the UUID for the connection instead for fetching the information, since that should never contain any harmful characters.

(The argument escape problem can probably be solved also by using spawn/spawnSync(), where arguments can be sent as a list instead, and which also returns stdio and stderr as separate objects. Anyhow, perhaps something for the long awaited version 6.)

If you have multiple WiFi interfaces connecting to "YOUR_SSID", the
SSID reported back by nmcli might be named "YOUR_SSID <N>", where <N>
is replaced by a digit. While this is in general no problem, this SSID
isn't properly "sanitized" (or escaped?) by util.sanitizeShellString()
which leads to that YOUR_SSID and <N> gets interpreted as separate
arguments when passed to nmcli (nmiConnectionLinux()), which in turn
makes the information for "YOUR_SSID" to be wrongfully returned.

To avoid the problem of properly escaping the string, just use the
UUID for the connection instead for fetching the information, since
that should never contain any harmful characters.

(The argument escape problem can probably be solved also by using
spawn/spawnSync(), where arguments can be sent as a list instead, and
which also returns stdio and stderr as separate objects. Anyhow,
perhaps something for the long awaited version 6.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant