summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-03-03 08:00:15 +0100
committerThomas Haller <thaller@redhat.com>2021-03-05 11:09:12 +0100
commit5c790db8b67860e7bb3deb1813c7519a3ab694fa (patch)
tree56788625c6bb12b4f0d486f2eeb7676469781562
parentb3f51135031377daf0904f02799029009afd4e83 (diff)
downloadNetworkManager-5c790db8b67860e7bb3deb1813c7519a3ab694fa.tar.gz
glib-aux: move ssid utils from "libnm-core-impl" to "libnm-glib-aux"
The purpose is of course to be able to use it outside of the internal API from libnm-core-intern.
-rw-r--r--src/core/devices/wifi/nm-device-wifi.c14
-rw-r--r--src/core/devices/wifi/nm-wifi-ap.c2
-rw-r--r--src/libnm-core-impl/nm-utils.c55
-rw-r--r--src/libnm-core-intern/nm-core-internal.h5
-rw-r--r--src/libnm-glib-aux/nm-shared-utils.c61
-rw-r--r--src/libnm-glib-aux/nm-shared-utils.h7
6 files changed, 78 insertions, 66 deletions
diff --git a/src/core/devices/wifi/nm-device-wifi.c b/src/core/devices/wifi/nm-device-wifi.c
index 04fa75f707..ccb9eb956a 100644
--- a/src/core/devices/wifi/nm-device-wifi.c
+++ b/src/core/devices/wifi/nm-device-wifi.c
@@ -1822,7 +1822,7 @@ _scan_kickoff(NMDeviceWifi *self)
strv = g_new(char *, ssids->len + 1u);
for (i = 0; i < ssids->len; i++)
- strv[i] = _nm_utils_ssid_to_string(ssids->pdata[i]);
+ strv[i] = _nm_utils_ssid_to_string_gbytes(ssids->pdata[i]);
strv[i] = NULL;
nm_assert(ssids->len > 0);
@@ -1986,19 +1986,19 @@ supplicant_iface_bss_changed_cb(NMSupplicantInterface *iface,
/* Let the manager try to fill in the SSID from seen-bssids lists */
ssid = nm_wifi_ap_get_ssid(ap);
- if (!ssid || _nm_utils_is_empty_ssid(ssid)) {
+ if (!ssid || _nm_utils_is_empty_ssid_gbytes(ssid)) {
/* Try to fill the SSID from the AP database */
try_fill_ssid_for_hidden_ap(self, ap);
ssid = nm_wifi_ap_get_ssid(ap);
- if (ssid && !_nm_utils_is_empty_ssid(ssid)) {
+ if (ssid && !_nm_utils_is_empty_ssid_gbytes(ssid)) {
gs_free char *s = NULL;
/* Yay, matched it, no longer treat as hidden */
_LOGD(LOGD_WIFI,
"matched hidden AP %s => %s",
nm_wifi_ap_get_address(ap),
- (s = _nm_utils_ssid_to_string(ssid)));
+ (s = _nm_utils_ssid_to_string_gbytes(ssid)));
} else {
/* Didn't have an entry for this AP in the database */
_LOGD(LOGD_WIFI, "failed to match hidden AP %s", nm_wifi_ap_get_address(ap));
@@ -2483,7 +2483,7 @@ supplicant_iface_state(NMDeviceWifi * self,
"Activation: (wifi) Stage 2 of 5 (Device Configure) successful. %s %s",
priv->mode == NM_802_11_MODE_AP ? "Started Wi-Fi Hotspot"
: "Connected to wireless network",
- (ssid_str = _nm_utils_ssid_to_string(ssid)));
+ (ssid_str = _nm_utils_ssid_to_string_gbytes(ssid)));
nm_device_activate_schedule_stage3_ip_config_start(device);
} else if (devstate == NM_DEVICE_STATE_ACTIVATED)
periodic_update(self);
@@ -2599,9 +2599,9 @@ supplicant_iface_notify_current_bss(NMSupplicantInterface *iface,
_LOGD(LOGD_WIFI,
"roamed from BSSID %s (%s) to %s (%s)",
old_bssid ?: "(none)",
- (old_ssid_s = _nm_utils_ssid_to_string(old_ssid)),
+ (old_ssid_s = _nm_utils_ssid_to_string_gbytes(old_ssid)),
new_bssid ?: "(none)",
- (new_ssid_s = _nm_utils_ssid_to_string(new_ssid)));
+ (new_ssid_s = _nm_utils_ssid_to_string_gbytes(new_ssid)));
if (new_bssid) {
/* The new AP could be in a different layer 3 network
diff --git a/src/core/devices/wifi/nm-wifi-ap.c b/src/core/devices/wifi/nm-wifi-ap.c
index e07ea0afe4..d76dbf5f7d 100644
--- a/src/core/devices/wifi/nm-wifi-ap.c
+++ b/src/core/devices/wifi/nm-wifi-ap.c
@@ -517,7 +517,7 @@ nm_wifi_ap_to_string(const NMWifiAP *self, char *str_buf, gulong buf_len, gint64
buf_len,
"%17s %-35s [ %c %3u %3u%% %c%c %c%c W:%04X R:%04X ] %s sup:%s [nm:%s]",
priv->address ?: "(none)",
- (ssid_to_free = _nm_utils_ssid_to_string(priv->ssid)),
+ (ssid_to_free = _nm_utils_ssid_to_string_gbytes(priv->ssid)),
(priv->mode == NM_802_11_MODE_ADHOC
? '*'
: (priv->hotspot
diff --git a/src/libnm-core-impl/nm-utils.c b/src/libnm-core-impl/nm-utils.c
index b493b06f50..4a85e89acc 100644
--- a/src/libnm-core-impl/nm-utils.c
+++ b/src/libnm-core-impl/nm-utils.c
@@ -630,28 +630,7 @@ _nm_utils_ssid_to_utf8(GBytes *ssid)
gboolean
nm_utils_is_empty_ssid(const guint8 *ssid, gsize len)
{
- /* Single white space is for Linksys APs */
- if (len == 1 && ssid[0] == ' ')
- return TRUE;
-
- /* Otherwise, if the entire ssid is 0, we assume it is hidden */
- while (len--) {
- if (ssid[len] != '\0')
- return FALSE;
- }
- return TRUE;
-}
-
-gboolean
-_nm_utils_is_empty_ssid(GBytes *ssid)
-{
- const guint8 *p;
- gsize l;
-
- g_return_val_if_fail(ssid, FALSE);
-
- p = g_bytes_get_data(ssid, &l);
- return nm_utils_is_empty_ssid(p, l);
+ return _nm_utils_is_empty_ssid_arr(ssid, len);
}
#define ESSID_MAX_SIZE 32
@@ -695,38 +674,6 @@ nm_utils_escape_ssid(const guint8 *ssid, gsize len)
return escaped;
}
-char *
-_nm_utils_ssid_to_string_arr(const guint8 *ssid, gsize len)
-{
- gs_free char *s_copy = NULL;
- const char * s_cnst;
-
- if (len == 0)
- return g_strdup("(empty)");
-
- s_cnst =
- nm_utils_buf_utf8safe_escape(ssid, len, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL, &s_copy);
- nm_assert(s_cnst);
-
- if (nm_utils_is_empty_ssid(ssid, len))
- return g_strdup_printf("\"%s\" (hidden)", s_cnst);
-
- return g_strdup_printf("\"%s\"", s_cnst);
-}
-
-char *
-_nm_utils_ssid_to_string(GBytes *ssid)
-{
- gconstpointer p;
- gsize l;
-
- if (!ssid)
- return g_strdup("(none)");
-
- p = g_bytes_get_data(ssid, &l);
- return _nm_utils_ssid_to_string_arr(p, l);
-}
-
/**
* nm_utils_same_ssid:
* @ssid1: (array length=len1): the first SSID to compare
diff --git a/src/libnm-core-intern/nm-core-internal.h b/src/libnm-core-intern/nm-core-internal.h
index 237247a92f..702fafb5cd 100644
--- a/src/libnm-core-intern/nm-core-internal.h
+++ b/src/libnm-core-intern/nm-core-internal.h
@@ -484,10 +484,7 @@ gboolean _nm_dbus_error_has_name(GError *error, const char *dbus_error_name);
/*****************************************************************************/
-char * _nm_utils_ssid_to_string_arr(const guint8 *ssid, gsize len);
-char * _nm_utils_ssid_to_string(GBytes *ssid);
-char * _nm_utils_ssid_to_utf8(GBytes *ssid);
-gboolean _nm_utils_is_empty_ssid(GBytes *ssid);
+char *_nm_utils_ssid_to_utf8(GBytes *ssid);
/*****************************************************************************/
diff --git a/src/libnm-glib-aux/nm-shared-utils.c b/src/libnm-glib-aux/nm-shared-utils.c
index f52c8e7f82..ec3d1259e5 100644
--- a/src/libnm-glib-aux/nm-shared-utils.c
+++ b/src/libnm-glib-aux/nm-shared-utils.c
@@ -5739,3 +5739,64 @@ nm_utils_exp10(gint16 ex)
return _exp10(ex);
return 1.0 / _exp10(-((gint32) ex));
}
+
+/*****************************************************************************/
+
+gboolean
+_nm_utils_is_empty_ssid_arr(const guint8 *ssid, gsize len)
+{
+ /* Single white space is for Linksys APs */
+ if (len == 1 && ssid[0] == ' ')
+ return TRUE;
+
+ /* Otherwise, if the entire ssid is 0, we assume it is hidden */
+ while (len--) {
+ if (ssid[len] != '\0')
+ return FALSE;
+ }
+ return TRUE;
+}
+
+gboolean
+_nm_utils_is_empty_ssid_gbytes(GBytes *ssid)
+{
+ const guint8 *p;
+ gsize l;
+
+ g_return_val_if_fail(ssid, FALSE);
+
+ p = g_bytes_get_data(ssid, &l);
+ return _nm_utils_is_empty_ssid_arr(p, l);
+}
+
+char *
+_nm_utils_ssid_to_string_arr(const guint8 *ssid, gsize len)
+{
+ gs_free char *s_copy = NULL;
+ const char * s_cnst;
+
+ if (len == 0)
+ return g_strdup("(empty)");
+
+ s_cnst =
+ nm_utils_buf_utf8safe_escape(ssid, len, NM_UTILS_STR_UTF8_SAFE_FLAG_ESCAPE_CTRL, &s_copy);
+ nm_assert(s_cnst);
+
+ if (_nm_utils_is_empty_ssid_arr(ssid, len))
+ return g_strdup_printf("\"%s\" (hidden)", s_cnst);
+
+ return g_strdup_printf("\"%s\"", s_cnst);
+}
+
+char *
+_nm_utils_ssid_to_string_gbytes(GBytes *ssid)
+{
+ gconstpointer p;
+ gsize l;
+
+ if (!ssid)
+ return g_strdup("(none)");
+
+ p = g_bytes_get_data(ssid, &l);
+ return _nm_utils_ssid_to_string_arr(p, l);
+}
diff --git a/src/libnm-glib-aux/nm-shared-utils.h b/src/libnm-glib-aux/nm-shared-utils.h
index a01dd26dbf..bededbdfc6 100644
--- a/src/libnm-glib-aux/nm-shared-utils.h
+++ b/src/libnm-glib-aux/nm-shared-utils.h
@@ -2495,4 +2495,11 @@ gboolean nm_utils_name_to_uid(const char *name, uid_t *out_uid);
double nm_utils_exp10(gint16 e);
+/*****************************************************************************/
+
+gboolean _nm_utils_is_empty_ssid_arr(const guint8 *ssid, gsize len);
+gboolean _nm_utils_is_empty_ssid_gbytes(GBytes *ssid);
+char * _nm_utils_ssid_to_string_arr(const guint8 *ssid, gsize len);
+char * _nm_utils_ssid_to_string_gbytes(GBytes *ssid);
+
#endif /* __NM_SHARED_UTILS_H__ */