diff options
author | Dan Williams <dcbw@redhat.com> | 2008-10-28 19:26:00 +0000 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2008-10-28 19:26:00 +0000 |
commit | 69713a8b93c406d9dc3f2be010b41aea657b190e (patch) | |
tree | 056e05e542a61cbf540db8573088ff7c6175b9b1 /src | |
parent | 2161a7a043d3af98097be32044ee8e2aaaf637a3 (diff) | |
download | NetworkManager-69713a8b93c406d9dc3f2be010b41aea657b190e.tar.gz |
2008-10-28 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>
* libnm-util/libnm-util.ver
libnm-util/nm-setting-wireless.c
libnm-util/nm-setting-wireless.h
- Make properties private and add accessor functions
* src/NetworkManagerAP.c
src/nm-device-wifi.c
src/nm-manager.c
src/supplicant-manager/nm-supplicant-config.c
system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
system-settings/plugins/ifcfg-fedora/reader.c
system-settings/plugins/ifcfg-suse/parser.c
system-settings/plugins/ifupdown/parser.c
- Use wireless setting accessors
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4231 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Diffstat (limited to 'src')
-rw-r--r-- | src/NetworkManagerAP.c | 65 | ||||
-rw-r--r-- | src/nm-device-wifi.c | 25 | ||||
-rw-r--r-- | src/nm-manager.c | 23 | ||||
-rw-r--r-- | src/supplicant-manager/nm-supplicant-config.c | 18 |
4 files changed, 77 insertions, 54 deletions
diff --git a/src/NetworkManagerAP.c b/src/NetworkManagerAP.c index 459f82d609..0b22481812 100644 --- a/src/NetworkManagerAP.c +++ b/src/NetworkManagerAP.c @@ -545,32 +545,32 @@ nm_ap_new_fake_from_connection (NMConnection *connection) NMAccessPoint *ap; NMSettingWireless *s_wireless; NMSettingWirelessSecurity *s_wireless_sec; - GByteArray *ssid; - guint32 len; + const GByteArray *ssid; + const char *mode; + const char *band; + guint32 channel; guint32 flags; g_return_val_if_fail (connection != NULL, NULL); s_wireless = NM_SETTING_WIRELESS (nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS)); g_return_val_if_fail (s_wireless != NULL, NULL); - g_return_val_if_fail (s_wireless->ssid != NULL, NULL); - g_return_val_if_fail (s_wireless->ssid->len > 0, NULL); + + ssid = nm_setting_wireless_get_ssid (s_wireless); + g_return_val_if_fail (ssid != NULL, NULL); + g_return_val_if_fail (ssid->len > 0, NULL); ap = nm_ap_new (); nm_ap_set_fake (ap, TRUE); - - len = s_wireless->ssid->len; - ssid = g_byte_array_sized_new (len); - g_byte_array_append (ssid, (const guint8 *) s_wireless->ssid->data, len); nm_ap_set_ssid (ap, ssid); - g_byte_array_free (ssid, TRUE); // FIXME: bssid too? - if (s_wireless->mode) { - if (!strcmp (s_wireless->mode, "infrastructure")) + mode = nm_setting_wireless_get_mode (s_wireless); + if (mode) { + if (!strcmp (mode, "infrastructure")) nm_ap_set_mode (ap, NM_802_11_MODE_INFRA); - else if (!strcmp (s_wireless->mode, "adhoc")) + else if (!strcmp (mode, "adhoc")) nm_ap_set_mode (ap, NM_802_11_MODE_ADHOC); else goto error; @@ -578,8 +578,11 @@ nm_ap_new_fake_from_connection (NMConnection *connection) nm_ap_set_mode (ap, NM_802_11_MODE_INFRA); } - if (s_wireless->band && s_wireless->channel) { - guint32 freq = channel_to_freq (s_wireless->channel, s_wireless->band); + band = nm_setting_wireless_get_band (s_wireless); + channel = nm_setting_wireless_get_channel (s_wireless); + + if (band && channel) { + guint32 freq = channel_to_freq (channel, band); if (freq == 0) goto error; @@ -1196,6 +1199,10 @@ nm_ap_check_compatible (NMAccessPoint *self, NMAccessPointPrivate *priv; NMSettingWireless *s_wireless; NMSettingWirelessSecurity *s_wireless_sec; + const char *mode; + const char *band; + const GByteArray *bssid; + guint32 channel; g_return_val_if_fail (NM_IS_AP (self), FALSE); g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE); @@ -1206,37 +1213,37 @@ nm_ap_check_compatible (NMAccessPoint *self, if (s_wireless == NULL) return FALSE; - if (!nm_utils_same_ssid (s_wireless->ssid, priv->ssid, TRUE)) + if (!nm_utils_same_ssid (nm_setting_wireless_get_ssid (s_wireless), priv->ssid, TRUE)) return FALSE; - if (s_wireless->bssid) { - if (memcmp (s_wireless->bssid->data, &priv->address, ETH_ALEN)) - return FALSE; - } + bssid = nm_setting_wireless_get_bssid (s_wireless); + if (bssid && memcmp (bssid->data, &priv->address, ETH_ALEN)) + return FALSE; - if (s_wireless->mode) { - if ( !strcmp (s_wireless->mode, "infrastructure") - && (priv->mode != NM_802_11_MODE_INFRA)) + mode = nm_setting_wireless_get_mode (s_wireless); + if (mode) { + if (!strcmp (mode, "infrastructure") && (priv->mode != NM_802_11_MODE_INFRA)) return FALSE; - if ( !strcmp (s_wireless->mode, "adhoc") - && (priv->mode != NM_802_11_MODE_ADHOC)) + if (!strcmp (mode, "adhoc") && (priv->mode != NM_802_11_MODE_ADHOC)) return FALSE; } - if (s_wireless->band) { - if (!strcmp (s_wireless->band, "a")) { + band = nm_setting_wireless_get_band (s_wireless); + if (band) { + if (!strcmp (band, "a")) { if (priv->freq < 4915 || priv->freq > 5825) return FALSE; - } else if (!strcmp (s_wireless->band, "bg")) { + } else if (!strcmp (band, "bg")) { if (priv->freq < 2412 || priv->freq > 2484) return FALSE; } } - if (s_wireless->channel) { + channel = nm_setting_wireless_get_channel (s_wireless); + if (channel) { guint32 ap_chan = freq_to_channel (priv->freq); - if (s_wireless->channel != ap_chan) + if (channel != ap_chan) return FALSE; } diff --git a/src/nm-device-wifi.c b/src/nm-device-wifi.c index 6ab6144e16..4a8d35646c 100644 --- a/src/nm-device-wifi.c +++ b/src/nm-device-wifi.c @@ -986,6 +986,7 @@ real_check_connection_compatible (NMDevice *device, NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self); NMSettingConnection *s_con; NMSettingWireless *s_wireless; + const GByteArray *mac; s_con = NM_SETTING_CONNECTION (nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION)); g_assert (s_con); @@ -1005,8 +1006,8 @@ real_check_connection_compatible (NMDevice *device, return FALSE; } - if ( s_wireless->mac_address - && memcmp (s_wireless->mac_address->data, &(priv->hw_addr.ether_addr_octet), ETH_ALEN)) { + mac = nm_setting_wireless_get_mac_address (s_wireless); + if (mac && memcmp (mac->data, &(priv->hw_addr.ether_addr_octet), ETH_ALEN)) { g_set_error (error, NM_WIFI_ERROR, NM_WIFI_ERROR_CONNECTION_INCOMPATIBLE, "The connection's MAC address did not match this device."); @@ -1055,6 +1056,7 @@ real_get_best_auto_connection (NMDevice *dev, NMConnection *connection = NM_CONNECTION (iter->data); NMSettingConnection *s_con; NMSettingWireless *s_wireless; + const GByteArray *mac; NMSettingIP4Config *s_ip4; s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION); @@ -1069,10 +1071,9 @@ real_get_best_auto_connection (NMDevice *dev, if (!s_wireless) continue; - if (s_wireless->mac_address) { - if (memcmp (s_wireless->mac_address->data, priv->hw_addr.ether_addr_octet, ETH_ALEN)) + mac = nm_setting_wireless_get_mac_address (s_wireless); + if (mac && memcmp (mac->data, priv->hw_addr.ether_addr_octet, ETH_ALEN)) continue; - } /* Use the connection if it's a shared connection */ s_ip4 = (NMSettingIP4Config *) nm_connection_get_setting (connection, NM_TYPE_SETTING_IP4_CONFIG); @@ -2635,9 +2636,11 @@ build_supplicant_config (NMDeviceWifi *self, * nothing was specified then pick something usable. */ if ((nm_ap_get_mode (ap) == NM_802_11_MODE_ADHOC) && nm_ap_get_user_created (ap)) { + const char *band = nm_setting_wireless_get_band (s_wireless); + adhoc_freq = nm_ap_get_freq (ap); if (!adhoc_freq) { - if (s_wireless->band && !strcmp (s_wireless->band, "a")) { + if (band && !strcmp (band, "a")) { guint32 a_freqs[] = {5180, 5200, 5220, 5745, 5765, 5785, 5805, 0}; adhoc_freq = find_supported_frequency (self, a_freqs); } else { @@ -2647,7 +2650,7 @@ build_supplicant_config (NMDeviceWifi *self, } if (!adhoc_freq) { - if (s_wireless->band && !strcmp (s_wireless->band, "a")) + if (band && !strcmp (band, "a")) adhoc_freq = 5180; else adhoc_freq = 2462; @@ -2878,7 +2881,7 @@ real_act_stage2_config (NMDevice *dev, NMDeviceStateReason *reason) } /* have secrets, or no secrets required */ - if (s_wireless->security) { + if (nm_setting_wireless_get_security (s_wireless)) { nm_info ("Activation (%s/wireless): connection '%s' has security" ", and secrets exist. No new secrets needed.", iface, nm_setting_connection_get_id (s_connection)); @@ -2949,6 +2952,7 @@ real_act_stage4_get_ip4_config (NMDevice *dev, if ((ret == NM_ACT_STAGE_RETURN_SUCCESS) && *config) { NMConnection *connection; NMSettingWireless *s_wireless; + guint32 mtu; connection = nm_act_request_get_connection (nm_device_get_act_request (dev)); g_assert (connection); @@ -2956,8 +2960,9 @@ real_act_stage4_get_ip4_config (NMDevice *dev, g_assert (s_wireless); /* MTU override */ - if (s_wireless->mtu) - nm_ip4_config_set_mtu (*config, s_wireless->mtu); + mtu = nm_setting_wireless_get_mtu (s_wireless); + if (mtu) + nm_ip4_config_set_mtu (*config, mtu); } return ret; diff --git a/src/nm-manager.c b/src/nm-manager.c index 4ae935a0c0..def60e193b 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -1586,24 +1586,33 @@ manager_hidden_ap_found (NMDeviceInterface *device, for (iter = connections; iter && !done; iter = g_slist_next (iter)) { NMConnection *connection = NM_CONNECTION (iter->data); NMSettingWireless *s_wireless; - GSList *seen_iter; - + const GByteArray *ssid; + guint32 num_bssids; + guint32 i; + s_wireless = (NMSettingWireless *) nm_connection_get_setting (connection, NM_TYPE_SETTING_WIRELESS); - if (!s_wireless || !s_wireless->seen_bssids) + if (!s_wireless) + goto next; + + num_bssids = nm_setting_wireless_get_num_seen_bssids (s_wireless); + if (num_bssids < 1) goto next; - g_assert (s_wireless->ssid); - for (seen_iter = s_wireless->seen_bssids; seen_iter; seen_iter = g_slist_next (seen_iter)) { + ssid = nm_setting_wireless_get_ssid (s_wireless); + g_assert (ssid); + + for (i = 0; i < num_bssids; i++) { + const char *seen_bssid = nm_setting_wireless_get_seen_bssid (s_wireless, i); struct ether_addr seen_addr; - if (!ether_aton_r ((char *) seen_iter->data, &seen_addr)) + if (!ether_aton_r (seen_bssid, &seen_addr)) continue; if (memcmp (ap_addr, &seen_addr, sizeof (struct ether_addr))) continue; /* Copy the SSID from the connection to the AP */ - nm_ap_set_ssid (ap, s_wireless->ssid); + nm_ap_set_ssid (ap, ssid); done = TRUE; } diff --git a/src/supplicant-manager/nm-supplicant-config.c b/src/supplicant-manager/nm-supplicant-config.c index 8caad2f3c2..98b6e03ec1 100644 --- a/src/supplicant-manager/nm-supplicant-config.c +++ b/src/supplicant-manager/nm-supplicant-config.c @@ -336,13 +336,16 @@ nm_supplicant_config_add_setting_wireless (NMSupplicantConfig * self, { NMSupplicantConfigPrivate *priv; gboolean is_adhoc; + const char *mode; + const GByteArray *id; g_return_val_if_fail (NM_IS_SUPPLICANT_CONFIG (self), FALSE); g_return_val_if_fail (setting != NULL, FALSE); priv = NM_SUPPLICANT_CONFIG_GET_PRIVATE (self); - - is_adhoc = (setting->mode && !strcmp (setting->mode, "adhoc")) ? TRUE : FALSE; + + mode = nm_setting_wireless_get_mode (setting); + is_adhoc = (mode && !strcmp (mode, "adhoc")) ? TRUE : FALSE; if (is_adhoc) priv->ap_scan = 2; else if (is_broadcast == FALSE) { @@ -352,10 +355,8 @@ nm_supplicant_config_add_setting_wireless (NMSupplicantConfig * self, priv->ap_scan = has_scan_capa_ssid ? 1 : 2; } - if (!nm_supplicant_config_add_option (self, "ssid", - (char *) setting->ssid->data, - setting->ssid->len, - FALSE)) { + id = nm_setting_wireless_get_ssid (setting); + if (!nm_supplicant_config_add_option (self, "ssid", (char *) id->data, id->len, FALSE)) { nm_warning ("Error adding SSID to supplicant config."); return FALSE; } @@ -387,10 +388,11 @@ nm_supplicant_config_add_setting_wireless (NMSupplicantConfig * self, return FALSE; } - if (setting->bssid && setting->bssid->len) { + id = nm_setting_wireless_get_bssid (setting); + if (id && id->len) { char *str_bssid; - str_bssid = g_strdup_printf (MAC_FMT, MAC_ARG (setting->bssid->data)); + str_bssid = g_strdup_printf (MAC_FMT, MAC_ARG (id->data)); if (!nm_supplicant_config_add_option (self, "bssid", str_bssid, strlen (str_bssid), FALSE)) { |