WiFi: Get connection info using UUID instead of SSID #872
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.)