diff options
Diffstat (limited to 'src/supplicant-manager')
| -rw-r--r-- | src/supplicant-manager/nm-supplicant-config.c | 10 | ||||
| -rw-r--r-- | src/supplicant-manager/nm-supplicant-manager.c | 34 | ||||
| -rw-r--r-- | src/supplicant-manager/nm-supplicant-settings-verify.c | 2 | ||||
| -rw-r--r-- | src/supplicant-manager/tests/test-supplicant-config.c | 70 |
4 files changed, 67 insertions, 49 deletions
diff --git a/src/supplicant-manager/nm-supplicant-config.c b/src/supplicant-manager/nm-supplicant-config.c index 091742e5..5ce8bb31 100644 --- a/src/supplicant-manager/nm-supplicant-config.c +++ b/src/supplicant-manager/nm-supplicant-config.c @@ -761,7 +761,7 @@ nm_supplicant_config_add_setting_wireless_security (NMSupplicantConfig *self, } else { /* 802.1x for Dynamic WEP and WPA-Enterprise */ if (!strcmp (key_mgmt, "ieee8021x") || !strcmp (key_mgmt, "wpa-eap")) { - if (!setting_8021x) { + if (!setting_8021x) { g_set_error (error, NM_SUPPLICANT_ERROR, NM_SUPPLICANT_ERROR_CONFIG, "Cannot set key-mgmt %s with missing 8021x setting", key_mgmt); return FALSE; @@ -1033,6 +1033,14 @@ nm_supplicant_config_add_setting_8021x (NMSupplicantConfig *self, if (!ADD_STRING_LIST_VAL (self, setting, 802_1x, phase2_altsubject_match, phase2_altsubject_matches, "altsubject_match2", ';', FALSE, FALSE, error)) return FALSE; + /* Domain suffix match */ + value = nm_setting_802_1x_get_domain_suffix_match (setting); + if (!add_string_val (self, value, "domain_suffix_match", FALSE, FALSE, error)) + return FALSE; + value = nm_setting_802_1x_get_phase2_domain_suffix_match (setting); + if (!add_string_val (self, value, "domain_suffix_match2", FALSE, FALSE, error)) + return FALSE; + /* Private key */ added = FALSE; switch (nm_setting_802_1x_get_private_key_scheme (setting)) { diff --git a/src/supplicant-manager/nm-supplicant-manager.c b/src/supplicant-manager/nm-supplicant-manager.c index 1b352527..f2c63364 100644 --- a/src/supplicant-manager/nm-supplicant-manager.c +++ b/src/supplicant-manager/nm-supplicant-manager.c @@ -34,6 +34,16 @@ G_DEFINE_TYPE (NMSupplicantManager, nm_supplicant_manager, G_TYPE_OBJECT) +#define _NMLOG_DOMAIN LOGD_SUPPLICANT +#define _NMLOG_PREFIX_NAME "supplicant" +#define _NMLOG(level, ...) \ + G_STMT_START { \ + nm_log ((level), _NMLOG_DOMAIN, \ + "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \ + _NMLOG_PREFIX_NAME": " \ + _NM_UTILS_MACRO_REST(__VA_ARGS__)); \ + } G_STMT_END + typedef struct { GDBusProxy * proxy; GCancellable * cancellable; @@ -133,7 +143,7 @@ nm_supplicant_manager_create_interface (NMSupplicantManager *self, priv = NM_SUPPLICANT_MANAGER_GET_PRIVATE (self); - nm_log_dbg (LOGD_SUPPLICANT, "(%s): creating new supplicant interface", ifname); + _LOGD ("(%s): creating new supplicant interface", ifname); /* assert against not requesting duplicate interfaces. */ for (ifaces = priv->ifaces; ifaces; ifaces = ifaces->next) { @@ -195,9 +205,9 @@ update_capabilities (NMSupplicantManager *self) for (ifaces = priv->ifaces; ifaces; ifaces = ifaces->next) nm_supplicant_interface_set_ap_support (ifaces->data, priv->ap_support); - nm_log_dbg (LOGD_SUPPLICANT, "AP mode is %ssupported", - (priv->ap_support == NM_SUPPLICANT_FEATURE_YES) ? "" : - (priv->ap_support == NM_SUPPLICANT_FEATURE_NO) ? "not " : "possibly "); + _LOGD ("AP mode is %ssupported", + (priv->ap_support == NM_SUPPLICANT_FEATURE_YES) ? "" : + (priv->ap_support == NM_SUPPLICANT_FEATURE_NO) ? "not " : "possibly "); /* EAP-FAST */ priv->fast_supported = FALSE; @@ -212,7 +222,7 @@ update_capabilities (NMSupplicantManager *self) g_variant_unref (value); } - nm_log_dbg (LOGD_SUPPLICANT, "EAP-FAST is %ssupported", priv->fast_supported ? "" : "not "); + _LOGD ("EAP-FAST is %ssupported", priv->fast_supported ? "" : "not "); } static void @@ -270,7 +280,7 @@ wpas_die_count_reset_cb (gpointer user_data) /* Reset the die count back to zero, which allows use of the supplicant again */ priv->die_count_reset_id = 0; set_die_count (self, 0); - nm_log_info (LOGD_SUPPLICANT, "wpa_supplicant die count reset"); + _LOGI ("wpa_supplicant die count reset"); return FALSE; } @@ -284,7 +294,7 @@ name_owner_cb (GDBusProxy *proxy, GParamSpec *pspec, gpointer user_data) g_return_if_fail (proxy == priv->proxy); owner = g_dbus_proxy_get_name_owner (proxy); - nm_log_info (LOGD_SUPPLICANT, "wpa_supplicant %s", owner ? "running" : "stopped"); + _LOGI ("wpa_supplicant %s", owner ? "running" : "stopped"); if (owner) { set_running (self, TRUE); @@ -301,9 +311,8 @@ name_owner_cb (GDBusProxy *proxy, GParamSpec *pspec, gpointer user_data) set_die_count (self, priv->die_count + 1); if (die_count_exceeded (priv->die_count)) { - nm_log_info (LOGD_SUPPLICANT, - "wpa_supplicant die count %d; ignoring for 10 seconds", - priv->die_count); + _LOGI ("wpa_supplicant die count %d; ignoring for 10 seconds", + priv->die_count); } set_running (self, FALSE); @@ -324,9 +333,8 @@ on_proxy_acquired (GObject *object, GAsyncResult *result, gpointer user_data) proxy = g_dbus_proxy_new_for_bus_finish (result, &error); if (!proxy) { - nm_log_warn (LOGD_SUPPLICANT, - "Failed to acquire wpa_supplicant proxy: Wi-Fi and 802.1x will not be available (%s)", - error->message); + _LOGW ("failed to acquire wpa_supplicant proxy: Wi-Fi and 802.1x will not be available (%s)", + error->message); g_clear_error (&error); return; } diff --git a/src/supplicant-manager/nm-supplicant-settings-verify.c b/src/supplicant-manager/nm-supplicant-settings-verify.c index ec660d18..bb046f93 100644 --- a/src/supplicant-manager/nm-supplicant-settings-verify.c +++ b/src/supplicant-manager/nm-supplicant-settings-verify.c @@ -112,6 +112,7 @@ static const struct Opt opt_table[] = { { "ca_path", TYPE_BYTES, 0, 0, FALSE, NULL }, { "subject_match", TYPE_BYTES, 0, 0, FALSE, NULL }, { "altsubject_match", TYPE_BYTES, 0, 0, FALSE, NULL }, + { "domain_suffix_match",TYPE_BYTES, 0, 0, FALSE, NULL }, { "ca_cert", TYPE_BYTES, 0, 65536, FALSE, NULL }, { "client_cert", TYPE_BYTES, 0, 65536, FALSE, NULL }, { "private_key", TYPE_BYTES, 0, 65536, FALSE, NULL }, @@ -122,6 +123,7 @@ static const struct Opt opt_table[] = { { "ca_path2", TYPE_BYTES, 0, 0, FALSE, NULL }, { "subject_match2", TYPE_BYTES, 0, 0, FALSE, NULL }, { "altsubject_match2", TYPE_BYTES, 0, 0, FALSE, NULL }, + { "domain_suffix_match2", TYPE_BYTES, 0, 0, FALSE, NULL }, { "ca_cert2", TYPE_BYTES, 0, 65536, FALSE, NULL }, { "client_cert2", TYPE_BYTES, 0, 65536, FALSE, NULL }, { "private_key2", TYPE_BYTES, 0, 65536, FALSE, NULL }, diff --git a/src/supplicant-manager/tests/test-supplicant-config.c b/src/supplicant-manager/tests/test-supplicant-config.c index 0c3e9a47..881f44f6 100644 --- a/src/supplicant-manager/tests/test-supplicant-config.c +++ b/src/supplicant-manager/tests/test-supplicant-config.c @@ -149,13 +149,13 @@ test_wifi_open (void) config = nm_supplicant_config_new (); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'ssid' value 'Test SSID'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'scan_ssid' value '1'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'bssid' value '11:22:33:44:55:66'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'freq_list' value *"); g_assert (nm_supplicant_config_add_setting_wireless (config, s_wifi, @@ -166,7 +166,7 @@ test_wifi_open (void) g_assert_no_error (error); g_test_assert_expected_messages (); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'key_mgmt' value 'NONE'"); g_assert (nm_supplicant_config_add_no_security (config, &error)); g_assert_no_error (error); @@ -254,13 +254,13 @@ test_wifi_wep_key (const char *detail, config = nm_supplicant_config_new (); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'ssid' value 'Test SSID'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'scan_ssid' value '1'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'bssid' value '11:22:33:44:55:66'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'freq_list' value *"); g_assert (nm_supplicant_config_add_setting_wireless (config, s_wifi, @@ -271,11 +271,11 @@ test_wifi_wep_key (const char *detail, g_assert_no_error (error); g_test_assert_expected_messages (); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'key_mgmt' value 'NONE'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'wep_key0' value *"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'wep_tx_keyidx' value '0'"); g_assert (nm_supplicant_config_add_setting_wireless_security (config, s_wsec, @@ -399,13 +399,13 @@ test_wifi_wpa_psk (const char *detail, config = nm_supplicant_config_new (); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'ssid' value 'Test SSID'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'scan_ssid' value '1'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'bssid' value '11:22:33:44:55:66'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'freq_list' value *"); g_assert (nm_supplicant_config_add_setting_wireless (config, s_wifi, @@ -416,15 +416,15 @@ test_wifi_wpa_psk (const char *detail, g_assert_no_error (error); g_test_assert_expected_messages (); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'key_mgmt' value 'WPA-PSK'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'psk' value *"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'proto' value 'WPA RSN'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'pairwise' value 'TKIP CCMP'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'group' value 'TKIP CCMP'"); g_assert (nm_supplicant_config_add_setting_wireless_security (config, s_wsec, @@ -546,13 +546,13 @@ test_wifi_eap (void) config = nm_supplicant_config_new (); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'ssid' value 'Test SSID'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'scan_ssid' value '1'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'bssid' value '11:22:33:44:55:66'*"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'freq_list' value *"); g_assert (nm_supplicant_config_add_setting_wireless (config, s_wifi, @@ -563,25 +563,25 @@ test_wifi_eap (void) g_assert_no_error (error); g_test_assert_expected_messages (); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'key_mgmt' value 'WPA-EAP'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'proto' value 'WPA RSN'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'pairwise' value 'TKIP CCMP'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*added 'group' value 'TKIP CCMP'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*Config: added 'eap' value 'TLS'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*Config: added 'fragment_size' value '1086'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "* Config: added 'ca_cert' value '*/test-ca-cert.pem'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "* Config: added 'private_key' value '*/test-cert.p12'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*Config: added 'bgscan' value 'simple:30:-65:300'"); - g_test_expect_message ("NetworkManager", G_LOG_LEVEL_MESSAGE, + g_test_expect_message ("NetworkManager", G_LOG_LEVEL_INFO, "*Config: added 'proactive_key_caching' value '1'"); g_assert (nm_supplicant_config_add_setting_wireless_security (config, s_wsec, |