* 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
* NetworkManager.h
- New file, now contains commonly used structures and bits
for the dbus API of NetworkManager
* Makefile.am
- Deliver NetworkManager.h to ${includedir}/NetworkManager
* src/NetworkManager.h
- Rename -> src/NetworkManagerMain.c
* Various fixups all around to use NetworkManager.h and new
src/NetworkManagerMain.h, remove redundant bits that got
moved into NetworkManager.h
* src/NetworkManagerDevice.[ch]
src/NetworkManagerUtils.[ch]
src/NetworkManagerPolicy.c
src/NetworkManagerDbus.c
- Whitelist wireless drivers, and blacklist some wired
drivers. Also blacklist cipsec and ethernet-over-usb
devices at this time (RH #135722, RH #135648)
- Don't leak unsupported devices out over dbus, or allow
them to be set as the active device. Skip over them
during automatic device picking
* test/nmclienttest.c
- Clean up the dbus code a lot
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@261 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* panel-applet/NMWirelessApplet.c
- Add function to print out applet_state in a readable
manner
* src/NetworkManager.c
- (main): Don't segfault when nm_dbus_init() fails, we had
a left-over call to hal_shutdown() into which we passed NULL
* src/NetworkManagerAP.c
- (nm_ap_set_essid): Allow NULL essids
* src/NetworkManagerAPList.[ch]
- More use of nm_ap_list_[un]lock ()
- (nm_ap_list_get_ap_by_essid): don't warn when looking for a NULL
network/essid, just return nothing. Also skip over NULL
essid access points in the list when searching
- (nm_ap_list_get_ap_by_address): new function
- (nm_ap_list_update_network): set the access point's key source to
NULL when the key returned from NetworkManagerInfo is NULL or
of 0 length
- nm_ap_list_update_keys() -> nm_ap_list_update_properties(), and
copy timestamp over too
- (nm_ap_list_copy_essids_by_address): new function, attempt to
find the correct ESSID for a blank-essid access point by searching
through another list and matching access point MAC addresses
- (nm_ap_list_diff): exclude blank-essid access points from the diffs
* src/NetworkManagerDbus.c
- (nm_dbus_nm_set_active_device): deal with random networks the user
may specify. This is mainly for access points that don't
broadcast their essid. So if the user tells us to associate with
some random ESSID that's not in our access point list, we find
out if the access point does in fact exist (by attempting association
and then matching that access point's MAC address with the essid the
user gave us) and then we switch to it.
- (nm_dbus_devices_handle_request): don't add blank-essid access points
to the returned list of networks for the "getNetworks" method
* src/NetworkManagerDevice.[ch]
- Extra debugging info for link detection
- (nm_device_ap_list_get_ap_by_address): new function, return an AP
based on MAC address
- (nm_device_get_path_for_ap): ignore blank-essid access points
- (nm_device_wireless_network_exists): new function, find out whether
a random ESSID exists by attempting to associate with it
- (nm_device_do_normal_scan): allow blank-essid access points in our
device list as long as they have an AP MAC address we can use.
Also send WirelessNetwork[Dis]Appeared signals for non-active
devices too. Lets the applet update more frequently.
* src/backends/NetworkManagerGentoo.c
- Patch from: Robert Paskowitz
- Update backend code for Gentoo
- Implement nm_system_device_update_config_info ()
* test/nmclienttest.c
- (set_network_device): new function, takes a command-line argument
and tells NetworkManager to use that wireless network
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@222 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAP.c
- (nm_ap_new, nm_ap_new_from_ap): Don't crash when we don't have
enough RAM to allocate new AP structures, but return NULL instead
* src/NetworkManagerAPList.[ch]
- (nm_ap_list_is_empty): new function
- (nm_ap_list_combine): new function, combine two access point lists
- (nm_ap_list_copy_keys): new function, copy keys from one list
into another
* src/NetworkManagerDevice.[ch]
- Rename some functions to be clearer:
nm_device_get_best_ap_frozen -> nm_device_is_best_ap_frozen
nm_device_just_activated -> nm_device_is_just_activated
nm_device_activating -> nm_device_is_activating
nm_device_now_scanning -> nm_device_is_scanning
- Cache the last 4 scans so that the access point list is more stable.
We combine the lastest two scans and use that as the AP list,
and diff that combined list against the combination of the earliest
two cached scans for the WirelessNetworkAppeared/Dissappeared signals
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@210 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 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
* info-daemon/NetworkManagerInfo.c:
- (main): clean up Seth's code style
* info-daemon/NetworkManagerInfoDbus.c:
- Use the more aptly-named path/service/interface constants from NetworkManager
- Don't return empty strings ("") as object paths ever, instead return errors
* panel-applet/NMWirelessApplet.c:
- Clean up Seth's code style
* src/NetworkManager.[ch]
- (nm_remove_device_from_list): remove anything having to do with pending_device
- (main, nm_print_usage): change --daemon=[yes|no] -> --no-daemon
* src/NetworkManagerAPList.[ch]
- Move Iter struct right above the iter functions to preserve opacity
- (nm_ap_list_remove_ap): implement
- (nm_ap_list_update_network): deal with errors returned from nm_dbus_get_network_priority(),
remove AP if NetworkManagerInfo doesn't know anything about it
- (nm_ap_list_diff): user NMAPList iterators
- (nm_ap_list_print_members): implement debugging function
* src/NetworkManagerDbus.[ch]
- (nm_dbus_nm_get_active_device): remove anything to do with pending_device
- (nm_dbus_get_user_key_for_network): remove DBusPendingCall stuff (unused),
and move the actual key setting stuff into NetworkManagerDevice.c
- (nm_dbus_get_network_priority): return -1 now on errors
- (nm_dbus_nmi_filter): fix strcmp() error that caused PreferredNetworkUpdate signals to
get lost, and force the active device to update its "best" ap when AP lists change
- (nm_dbus_nm_message_handler): Update conditions for returning "connecting" for a "status"
method call due to pending_device member removal
* src/NetworkManagerDevice.[ch]
- Move NMDevice structure to the top
- Add a wireless scan mutex and a best_ap mutex to the Wireless Options structure
- Remove Pending Action stuff from everywhere
- (nm_device_activation_*): We now "begin" activation and start a thread to do the
activation for us. This thread blocks until all conditions for activation have
been met (ie for wireless devices, we need a valid WEP key and a "best" ap), and
then setup up the interface and runs dhclient. We have to do this because there
is no guaruntee how long dhclient takes, and while we are blocking on it, we cannot
run our main loop and respond to dbus method calls or HAL device removals/inserts
- (nm_device_set_user_key_for_network): Move logic here from NetworkManagerDbus.c so we
can tell nm_device_activation_worker() that we've got a key
- (nm_device_*_best_ap): lock access to best_ap member of Wireless Options structure
- (nm_device_get_path_for_ap): dumb it down so the list doesn't lock against itself when
diffing (AP appear/disappear signal functions make sure the AP is actually in the device's
list)
- (nm_device_update_best_ap): move logic from nm_wireless_is_ap_better() here
* src/NetworkManagerPolicy.c
- Remove anything to do with pending_device
- Adjust device activation to deal with activation-in-worker-thread
* src/NetworkManagerUtils.c
- Clean up locking debugging a bit
* src/NetworkManagerWireless.[ch]
- (nm_wireless_is_ap_better): remove, stick logic in nm_device_update_best_ap(). This function
was badly named and is better as a device function
* panel-applet/.cvsignore: add
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@46 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* TODO
- new task: proper logging support
* info-daemon/NetworkManagerInfo.c
- Correct spelling of "canceled"
- Correct casting of objects for g_signal_connect()
* info-daemon/NetworkManagerInfoDbus.c
- Add defines for NetworkManager namespace and object path, and use them
- Add filter function to trap new signals from NetworkManager:
WirelessNetworkAppeared, WirelessNetworkDisappeared
* info-daemon/passphrase.glade
- Change name of "ok" button to "Login to Network..."
- Mark invisible
* src/NetworkManager.c
- Code and debug message cleanups
- Rename "nm_add_current_devices"->"nm_add_initial_devices"
- (nm_add_initial_devices) Check returned string array of devices
and don't try to add devices if array is NULL
- (main) Initialize libhal a bit later, make code a bit clearer
* src/NetworkManagerAP.[ch]
- New accessor and data member "matched": used to speed up AP list
diffing
- New accessor and data member "enc_method": will be used during key
fallback to cache which passphrase->key conversion actually works
so we don't have to do it every time
* src/NetworkManagerAPList.[ch]
- (nm_ap_list_find_ap_in_list) New: find an AP by essid in an AP list
- (nm_ap_list_diff) New: given two lists of access points, find the differences
between them, and send WirelessNetworkAppeared/Disappeared signals over
dbus in response to those differences
* src/NetworkManagerDbus.[ch]
- (nm_dbus_get_object_path_from_ap) New: given a device and an access point,
make an object path for that access point (NOTE that we don't yet check to
make sure that access point is actually in the device's AP list yet)
- (nm_dbus_get_ap_from_object_path) Renamed from nm_dbus_get_network_from_object_path
- (nm_dbus_signal_wireless_network_appeared, nm_dbus_signal_wireless_network_disappeared)
New: signal appearance/disappearance of wireless networks
- (nm_dbus_set_user_key_for_network) Mark the network/ap as invalid if the user cancelled
key entry
* src/NetworkManagerDevice.[ch]
- (nm_device_ap_list_clear) Use nm_ap_list_free rather than doing it ourselves
- (nm_device_ap_list_get) New: return the AP list (static function)
- (nm_device_do_normal_scan) Destroy old AP list later, so that we can diff the
new one resulting from the scan with the old one
* src/NetworkManagerWireless.c
- (nm_wireless_is_most_prefered_ap) "invalid" access points cannot be "best" access points
* test/nminfotest.c
- #define object paths and namespaces and use the #defines rather than static strings
- Test out user-key functionality of NetworkManagerInfo too
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@33 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* src/NetworkManagerAPList.[ch]
src/Makefile.am
- Add. Deal with allowed network list additions, deletions, and updates
* dispatcher-daemon/NetworkManagerDispatcher.c
- Add missing <dbus/dbus.h> header
* info-daemon/NetworkManagerInfo.[ch]
- Add missing <dbus/dbus.h> header
- Implement the GConf notify callback to signal NetworkManager of an allowed
network change
- Better error checking
* info-daemon/NetworkManagerInfoDbus.[ch]
- Add missing <dbus/dbus.h> header
- Convert to using dbus_message_append_args/dbus_message_get_args
- Implement nmi_dbus_signal_update_allowed_network() to signal NetworkManager
that an allowed network changed. We don't want to signal on individual
keys _inside_ an allowed network really, just want NM to query the info
daemon for updated info on all keys.
- Better error checking
* src/NetworkManager.[ch]
- Add missing <dbus/dbus.h> header
- Move allowed_ap_list free functions to NetworkManagerAPList.[ch]
- Zero out NMData structure on free
- No longer use a thread for allowed_ap_list updating, instead its now done
through dbus queries against NetworkManagerInfo
- Populate allowed_ap_list initially before adding existing network devices
to the device list, so wireless devices can get their "best" AP
* src/NetworkManagerDbus.[ch]
- Convert to using dbus_message_append_args/dbus_message_get_args
- Better error checking
- Implement Allowed Network info functions to request allowed network
info from NetworkManagerInfo
- Implement the filter function to process signals from NetworkManagerInfo
about changing allowed networks
* src/NetworkManagerDevice.c
- Fix file descriptor leak in nm_device_update_ip4_address()
`CVS: Modified Files:
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@22 4912f4e0-d625-0410-9fb7-b9a5a253dbdc