NetworkManager/src/NetworkManagerAP.h

105 lines
4 KiB
C
Raw Normal View History

/* NetworkManager -- Network link manager
*
* Dan Williams <dcbw@redhat.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* (C) Copyright 2004 Red Hat, Inc.
*/
#ifndef NETWORK_MANAGER_AP_H
#define NETWORK_MANAGER_AP_H
#include <glib.h>
#include <time.h>
#include "NetworkManager.h"
#include "wpa.h"
#include "nm-ap-security.h"
typedef struct NMAccessPoint NMAccessPoint;
2004-09-08 Dan Williams <dcbw@redhat.com> * panel-applet/no-networkmanager.png panel-applet/Makefile.am panel-applet/NMWirelessApplet.c - Add a "NetworkManager not running" icon and use it - Use new consolidated GConf keys rather than Preferred/Trusted * TODO: update * info-daemon/NetworkManagerInfo.c info-daemon/NetworkManagerInfoDbus.[ch] info-daemon/NetworkManagerInfoPassphraseDialog.c - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted - Add a "getNetworkTrusted" dbus method - "WirelessNetworkUpdate" signal now sent rather than "PreferredNetworkUpdate/TrustedNetworkUpdate" signals - Start freeing some dbus errors (not completed yet) * info-daemon/passphrase.glade - Remove the "don't show" hints for pager and taskbar - Add a title since its going to be in the taskbar * src/NetworkManager.[ch] src/NetworkManagerAPList.[ch] - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted * src/NetworkManagerAP.[ch] - Add get/set "trusted" accessors and data bit * src/NetworkManagerDbus.[ch] - Add function to get "trusted" status of a network from NetworkManagerInfo - Trap new WirelessNetworkUpdate signal rather than old separate signals * src/NetworkManagerDevice.[ch] - Add per-device config data (ip4 addr, gateway, netmask) and accessors - (nm_device_new): Get device config from backend when initializing devices - (nm_device_activation_worker): Split out device configuration on activation to deal with static/dynamic IP differences, and try encryption fallbacks on a device if the encryption method for the best AP is not good - (nm_device_update_best_ap): convert to new consolidated access point lists from NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it * src/NetworkManagerWireless.c - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it * src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSystem.h - (nm_system_device_update_config_info): Add function to get device configuration from system data in ifcfg-* files * src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerSlackware.c - Add stub functions for getting device configuration git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-08 18:14:42 +00:00
NMAccessPoint * nm_ap_new (void);
NMAccessPoint * nm_ap_new_from_ap (NMAccessPoint *ap);
void nm_ap_unref (NMAccessPoint *ap);
2004-09-08 Dan Williams <dcbw@redhat.com> * panel-applet/no-networkmanager.png panel-applet/Makefile.am panel-applet/NMWirelessApplet.c - Add a "NetworkManager not running" icon and use it - Use new consolidated GConf keys rather than Preferred/Trusted * TODO: update * info-daemon/NetworkManagerInfo.c info-daemon/NetworkManagerInfoDbus.[ch] info-daemon/NetworkManagerInfoPassphraseDialog.c - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted - Add a "getNetworkTrusted" dbus method - "WirelessNetworkUpdate" signal now sent rather than "PreferredNetworkUpdate/TrustedNetworkUpdate" signals - Start freeing some dbus errors (not completed yet) * info-daemon/passphrase.glade - Remove the "don't show" hints for pager and taskbar - Add a title since its going to be in the taskbar * src/NetworkManager.[ch] src/NetworkManagerAPList.[ch] - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted * src/NetworkManagerAP.[ch] - Add get/set "trusted" accessors and data bit * src/NetworkManagerDbus.[ch] - Add function to get "trusted" status of a network from NetworkManagerInfo - Trap new WirelessNetworkUpdate signal rather than old separate signals * src/NetworkManagerDevice.[ch] - Add per-device config data (ip4 addr, gateway, netmask) and accessors - (nm_device_new): Get device config from backend when initializing devices - (nm_device_activation_worker): Split out device configuration on activation to deal with static/dynamic IP differences, and try encryption fallbacks on a device if the encryption method for the best AP is not good - (nm_device_update_best_ap): convert to new consolidated access point lists from NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it * src/NetworkManagerWireless.c - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it * src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSystem.h - (nm_system_device_update_config_info): Add function to get device configuration from system data in ifcfg-* files * src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerSlackware.c - Add stub functions for getting device configuration git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-08 18:14:42 +00:00
void nm_ap_ref (NMAccessPoint *ap);
const GTimeVal * nm_ap_get_timestamp (const NMAccessPoint *ap);
void nm_ap_set_timestamp (NMAccessPoint *ap, glong sec, glong usec);
void nm_ap_set_timestamp_via_timestamp (NMAccessPoint *ap, const GTimeVal *timestamp);
const char * nm_ap_get_essid (const NMAccessPoint *ap);
void nm_ap_set_essid (NMAccessPoint *ap, const char *essid);
/* Get essid in original over-the-air form */
const char * nm_ap_get_orig_essid (const NMAccessPoint *ap);
guint32 nm_ap_get_capabilities (NMAccessPoint *ap);
void nm_ap_set_capabilities (NMAccessPoint *ap, guint32 capabilities);
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
gboolean nm_ap_get_encrypted (const NMAccessPoint *ap);
2004-07-15 Dan Williams <dcbw@redhat.com> * src/Makefile.am - Turn on warnings * src/NetworkManager.c - nm_create_device_and_add_to_list(): call nm_device_deactivate() rather that doing the deactivation ourselves - Cancel an pending actions on a device if its being removed - Break up link state checking a bit, make non-active wireless cards deactivated to save power - Remove unused variables * src/NetworkManager.h - Add support for "pending" device * src/NetworkManagerAP.h src/NetworkManagerAP.c - Add support for determining whether and AP has encryption enabled or not - AP address is now "struct ether_addr" rather than a string * src/NetworkManagerDbus.h src/NetworkManagerDbus.c - Add signal NeedKeyForNetwork, method SetKeyForNetwork (testing only) - Changes for AP address from struct ether_addr->string * src/NetworkManagerDevice.h src/NetworkManagerDevice.c - Remove unused variables, fix warnings - Add support for Pending Actions (things that block a device from being "active" until they are completed). - First pending action: Get a WEP key from the user - Add nm_device_is_wire[d|less](), rename nm_device_is_wireless() - Clean up explicit testing of dev->iface_type to use nm_device_is_wireless() - Update wireless link checking to try to determine if the AP we are associated with is correct, but the WEP key we are using is just wrong. If its wrong, trigger the GetUserKey pending action on the device - If dhclient can't get an IP address, it brings the device down. Bring it back up in that case, otherwise we can't scan or link-check on it - Add IP address change notifications at appropriate points (still needs some work) - Add nm_device_need_ap_switch(), checks whether we need to switch access points or not * src/NetworkManagerPolicy.h src/NetworkManagerPolicy.c - Split out "best" access point determiniation into separate function - Make device activation 2-stage: first the device is pending, then in the next iteration through it becomes "active" unless it has pending actions * src/NetworkManagerUtils.h src/NetworkManagerUtils.c - Clean up unused variables and warnings - Wrap our debug macros in {} to prevent possible confusion * src/NetworkManagerWireless.c - Forgot to return current best priority, which lead to last available AP always being chosen no matter what its priority was. Corrected. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@15 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-07-15 16:51:48 +00:00
NMAPSecurity * nm_ap_get_security (const NMAccessPoint *ap);
void nm_ap_set_security (NMAccessPoint *ap, NMAPSecurity *security);
const struct ether_addr * nm_ap_get_address (const NMAccessPoint *ap);
void nm_ap_set_address (NMAccessPoint *ap, const struct ether_addr *addr);
int nm_ap_get_mode (const NMAccessPoint *ap);
void nm_ap_set_mode (NMAccessPoint *ap, const int mode);
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
gint8 nm_ap_get_strength (const NMAccessPoint *ap);
void nm_ap_set_strength (NMAccessPoint *ap, gint8 strength);
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
double nm_ap_get_freq (const NMAccessPoint *ap);
2004-09-08 Dan Williams <dcbw@redhat.com> * panel-applet/no-networkmanager.png panel-applet/Makefile.am panel-applet/NMWirelessApplet.c - Add a "NetworkManager not running" icon and use it - Use new consolidated GConf keys rather than Preferred/Trusted * TODO: update * info-daemon/NetworkManagerInfo.c info-daemon/NetworkManagerInfoDbus.[ch] info-daemon/NetworkManagerInfoPassphraseDialog.c - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted - Add a "getNetworkTrusted" dbus method - "WirelessNetworkUpdate" signal now sent rather than "PreferredNetworkUpdate/TrustedNetworkUpdate" signals - Start freeing some dbus errors (not completed yet) * info-daemon/passphrase.glade - Remove the "don't show" hints for pager and taskbar - Add a title since its going to be in the taskbar * src/NetworkManager.[ch] src/NetworkManagerAPList.[ch] - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted * src/NetworkManagerAP.[ch] - Add get/set "trusted" accessors and data bit * src/NetworkManagerDbus.[ch] - Add function to get "trusted" status of a network from NetworkManagerInfo - Trap new WirelessNetworkUpdate signal rather than old separate signals * src/NetworkManagerDevice.[ch] - Add per-device config data (ip4 addr, gateway, netmask) and accessors - (nm_device_new): Get device config from backend when initializing devices - (nm_device_activation_worker): Split out device configuration on activation to deal with static/dynamic IP differences, and try encryption fallbacks on a device if the encryption method for the best AP is not good - (nm_device_update_best_ap): convert to new consolidated access point lists from NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it * src/NetworkManagerWireless.c - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it * src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSystem.h - (nm_system_device_update_config_info): Add function to get device configuration from system data in ifcfg-* files * src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerSlackware.c - Add stub functions for getting device configuration git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-08 18:14:42 +00:00
void nm_ap_set_freq (NMAccessPoint *ap, double freq);
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
guint16 nm_ap_get_rate (const NMAccessPoint *ap);
2004-09-08 Dan Williams <dcbw@redhat.com> * panel-applet/no-networkmanager.png panel-applet/Makefile.am panel-applet/NMWirelessApplet.c - Add a "NetworkManager not running" icon and use it - Use new consolidated GConf keys rather than Preferred/Trusted * TODO: update * info-daemon/NetworkManagerInfo.c info-daemon/NetworkManagerInfoDbus.[ch] info-daemon/NetworkManagerInfoPassphraseDialog.c - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted - Add a "getNetworkTrusted" dbus method - "WirelessNetworkUpdate" signal now sent rather than "PreferredNetworkUpdate/TrustedNetworkUpdate" signals - Start freeing some dbus errors (not completed yet) * info-daemon/passphrase.glade - Remove the "don't show" hints for pager and taskbar - Add a title since its going to be in the taskbar * src/NetworkManager.[ch] src/NetworkManagerAPList.[ch] - There are now no longer two separate lists of wireless networks, but one list where each network is "trusted" or not trusted * src/NetworkManagerAP.[ch] - Add get/set "trusted" accessors and data bit * src/NetworkManagerDbus.[ch] - Add function to get "trusted" status of a network from NetworkManagerInfo - Trap new WirelessNetworkUpdate signal rather than old separate signals * src/NetworkManagerDevice.[ch] - Add per-device config data (ip4 addr, gateway, netmask) and accessors - (nm_device_new): Get device config from backend when initializing devices - (nm_device_activation_worker): Split out device configuration on activation to deal with static/dynamic IP differences, and try encryption fallbacks on a device if the encryption method for the best AP is not good - (nm_device_update_best_ap): convert to new consolidated access point lists from NetworkManagerInfo, and copy over latest NMI info to best_ap when setting it * src/NetworkManagerWireless.c - libgcrypt code wasn't converting the MD5 digest to an ascii string, fix it * src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSystem.h - (nm_system_device_update_config_info): Add function to get device configuration from system data in ifcfg-* files * src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerSlackware.c - Add stub functions for getting device configuration git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-09-08 18:14:42 +00:00
void nm_ap_set_rate (NMAccessPoint *ap, guint16 rate);
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
gboolean nm_ap_get_invalid (const NMAccessPoint *ap);
void nm_ap_set_invalid (NMAccessPoint *ap, gboolean invalid);
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
gboolean nm_ap_get_trusted (const NMAccessPoint *ap);
void nm_ap_set_trusted (NMAccessPoint *ap, gboolean trusted);
2004-08-24 Dan Williams <dcbw@redhat.com> * src/NetworkManagerAP.[ch] - Add a "enc_method_good" member and accessors to an Access Point to signal when we've found the correct encryption method for an access point - Add a "timestamp" member and accessors, remove "priority" member and accessors (use timestamps instead) - Rename "wep_key"->"enc_key" - (nm_ap_get_enc_key_hashed): new, return the correct mangled key for a specified encryption method using the access points source encryption key/passphrase * src/NetworkManagerAPList.c - When updating a network with dbus, grab timestamp now instead of priority * src/NetworkManagerDBus.[ch] - Add signal for "DeviceActivating" - Switch priority->timestamp * src/NetworkManagerDevice.c - Change references of "wep_key" -> "enc_key" or "key" - Signal DeviceActivating when starting activation - When activating a wireless device, if the access point we are connecting to is encrypted, and we have a source key, try to generate a mangled key and use that (ie, generate real WEP key from a passphrase) - Rework device activation to fallback to other encryption methods if a previous one didn't work (ie, try mangling a key as a 104-bit passphrase first, then if that doesn't work fall back to direct hex key). - (nm_device_update_best_ap): fix a deadlock, and use timestamps instead of priority. We now prefer the latest access point used, rather than using a priority scheme - (nm_device_do_normal_scan): make the encryption method "unknown" on access points we've just discovered, and merge in correct info from the global access point lists git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@68 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-08-25 22:41:12 +00:00
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
gboolean nm_ap_get_artificial (const NMAccessPoint *ap);
void nm_ap_set_artificial (NMAccessPoint *ap, gboolean artificial);
gboolean nm_ap_get_broadcast (const NMAccessPoint *ap);
void nm_ap_set_broadcast (NMAccessPoint *ap, gboolean broadcast);
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
const GTimeVal * nm_ap_get_last_seen (const NMAccessPoint *ap);
void nm_ap_set_last_seen (NMAccessPoint *ap, const GTimeVal *last_seen);
gboolean nm_ap_get_user_created (const NMAccessPoint *ap);
void nm_ap_set_user_created (NMAccessPoint *ap, gboolean user_created);
2005-01-18 Dan Williams <dcbw@redhat.com> * dhcpcd/client.c - Remove some debug messages - Wrap others in #ifdef DEBUG/#endif * src/NetworkManager.c - Remove some debug messages - Clarify some debug messages - Remove code related to old single-thread wireless scanning * src/NetworkManagerAP.[ch] - New AP property "last_seen" to track how recently an AP was found in a scan - Start using 'const' more in function arguments * src/NetworkManagerAPList.[ch] - (nm_ap_list_merge_scanned_ap): new, selectively update attributes of an AP found in an AP list from a source AP, or if not found in the list add the source AP - (nm_ap_list_combine): remove, no longer needed * src/NetworkManagerDevice.c - Each device now has a "worker" thread from start to end of its life. Scanning for wireless devices now happens in that thread, not in a single "wireless scanning thread" for all devices as previously. Activation consists of adding an idle handler to the thread's main loop/context, which gets run at the next available opportunity. - Wireless scanning is also simplified, there is now only one list of access points per wireless device, and APs older than 60s are removed from the list. Previously, we kept results for the last 3 scans and merged whole lists, which was complicated. - Cleaned up activation debug messages. - Wireless activation and access-point search routines now use Open System authentication before trying Shared Key. - Removed some code in nm_device_update_best_ap() that could cause cards to loose their link to the access point. - Scanning now uses a backoff algorithm, where the inverval becomes progressively longer between scans when the list of scanned access points doesn't change. A change will revert to the shortest scan interval (20s). * src/NetworkManagerWireless.[ch] - Remove code related to old single-thread wireless scanning git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@382 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-18 22:08:22 +00:00
GSList * nm_ap_get_user_addresses (const NMAccessPoint *ap);
2004-11-17 Dan Williams <dcbw@redhat.com> * Cache access point MAC addresses in NetworkManagerInfo after you've explicitly connected to them. Then, after a scan, match up non-ESSID-broadcasting access points with any cached MAC addresses from NetworkManagerInfo. Allows us to show known access points that don't broadcast their ESSID in the menus without any user intervention whatsoever. * info-daemon/NetworkManagerInfoDbus.c - (nmi_dbus_get_network_addresses, nmi_dbus_add_network_address): new functions for dbus method calls "getNetworkAddresses" and "addNetworkAddress" * src/NetworkManagerAP.[ch] - Add a "user_addresses" data member to the NMAccessPoint structure - (nm_ap_get_user_addresses, nm_ap_set_user_addresses): new functions for accessing the user_addresses data member * src/NetworkManagerAPList.c - (nm_ap_list_get_ap_by_address): check user_addresses list too, instead of just the AP's reported address - (nm_ap_list_update_network): grab the user_addresses list from NetworkManagerInfo * src/NetworkManagerDHCP.c - Increase DHCP timeout from 25s -> 30s * src/NetworkManagerDbus.[ch] - (nm_dbus_get_network_addresses, nm_dbus_add_network_address): have NMI get/set user addresses * src/NetworkManagerDevice.c - (nm_device_set_wireless_config): bring down the interface, wait 4s, bring it up, wait 2s, then configure it. Sometimes Prism54 cards will freeze up with "mgnt tx queue full", seemingly in response to NM controlling the card too much. So, we take the card down to clear it out. - (nm_device_do_normal_scan): Copy over AP ESSIDs from the allowed access point list too, since that's where the user_addresses are * src/NetworkManagerPolicy.c - (nm_state_modification_monitor): Tell NMI to add an AP's hardware address to that wireless networks' user_addresses list upon successful activation git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@319 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-11-17 17:51:36 +00:00
void nm_ap_set_user_addresses (NMAccessPoint *ap, GSList *list);
void nm_ap_add_capabilities_from_security (NMAccessPoint *ap, NMAPSecurity *security);
void nm_ap_add_capabilities_from_ie (NMAccessPoint *ap, const guint8 *wpa_ie, guint32 length);
void nm_ap_add_capabilities_for_wep (NMAccessPoint *ap);
/*
* NOTE:
* This is not intended to return true for all APs with manufacturer defaults. It is intended to return true for
* only the MOST COMMON manufacturing defaults.
*/
gboolean nm_ap_has_manufacturer_default_essid (NMAccessPoint *ap);
#endif