Commit Graph

10 Commits

Author SHA1 Message Date
Dan Williams
d6f6d0cf17 2005-01-21 Dan Williams <dcbw@redhat.com>
* dhcpcd/client.c
		- Clean up some of the debug messages


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@386 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-21 17:56:19 +00:00
Dan Williams
c9b41bb448 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
Dan Williams
9724e4eb3c 2005-01-09 Dan Williams <dcbw@redhat.com>
* dhcpcd/client.c
		- Use correct timeout value

	* info-daemon/NetworkManagerInfoDbus.c
	  src/NetworkManagerDbus.c
		- Consolidate communication between NM and NMI by doing only 1 dbus
			method call to get Wireless Network info from NMI instead of 6

	* src/NetworkManager.c
		- Make sure to cancel activation when we receive a SIGTERM, otherwise
			when we didn't have an AP to use, we'd wait for one forever without
			quitting

	* src/NetworkManagerDevice.c
		- nm_device_activation_cancel(): Fix a race between dhcp and quitting
			activation, dhcp might not have started yet but we don't quit activation
			before starting it, so the quit signal gets lost


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@363 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-09 23:15:36 +00:00
Dan Williams
ff6dbffeb1 2005-01-07 Dan Williams <dcbw@redhat.com>
* dhcpcd/client.c
		- Rework the DHCP client code to be much less chatty when
			it receives non-DHCP UDP packets during the DHCP run
			(reported by and preliminary patches from Bill Moss)

	* Move wireless scanning to a separate thread.  This thread forwards the
		results to the main thread when done where they are integrated into
		the device's access point lists.  This keeps the main thread (which
		does all the DBUS communication) from being blocked for long periods
		of time by wireless scanning.

	* Make state modification an idle routine in the main loop, and trigger
		state changes rather than polling for them.

	* src/backends/NetworkManagerGentoo.c
		- Fix up invalid C90 code (reported by Christoph Ruessler)

	* src/NetworkManagerDevice.c
		- Revert IPv6 patch for wired devices from 2004-12-22 for
			router advertisements, causing problems and infinite loop
			during "best" device determination due to link going up/down
			(reported by Bill Moss)

	Apply patch from Peter Jones
	* src/NetworkManagerDevice.c
		- Shortcut for link-checking for ipw2x00 cards
		- Split out association check into separate routine


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@360 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-01-07 18:07:06 +00:00
Dan Williams
cd475e6d0c 2004-12-15 Dan Williams <dcbw@redhat.com>
Patch from Tom Parker
	* Add autoip/Link Local Addressing support when we fail to get a DHCP
		address

	* Longer pause after setting ESSID on cards that support a larger number
		of channels to give the card time to find the right channel

	* Add system hook to restart mDNSResponder (or whatever the local implementation
		of Multicast DNS is) when we activate interfaces


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@341 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-12-16 04:24:20 +00:00
Dan Williams
e26e7e9983 2004-12-15 Dan Williams <dcbw@redhat.com>
* Rework the DHCP code again to revert to sending full ethernet frames
		rather then relying on the kernel to do the right thing with our
		packets.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@340 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-12-15 17:58:59 +00:00
Dan Williams
9cb5f78de6 2004-12-06 Dan Williams <dcbw@redhat.com>
* dhcpcd/client.c
		- Fix some minor errors in dhcp_handle_transaction() that caused
			unexpected early timeouts of DHCP transactions

	* dhcpcd/client.h
		- DHCP retransmit time from 4s -> 5s


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@338 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-12-06 21:19:41 +00:00
Dan Williams
d0c93d3c69 2004-12-05 Dan Williams <dcbw@redhat.com>
* Major rework of the DHCP code, taking some cues from pump.  We don't
		write raw Ethernet packets anymore, which simplifies the code quite
		a bit.  The new code should be more robust, not hang in recvfrom()
		as much, and generally work better.  This also means that we need
		to force HAL/dbus to use a created GMainContext rather than the
		default context, since having the DHCP renew/rebind thread using
		its own GMainContext seemed to give dbus a fit.  There is also more
		debugging information printed from the DHCP loop to help with future
		problems.

	* Also, if the DHCP server doesn't give us the "routersOnSubnet" option,
		assume that the default gateway should be the DHCP server.

	Patch from Matthew Schick <matt oss-institute org>
	* src/backends/NetworkManagerGentoo.c
		- Fix compilation error due to missing "ip4_broadcast"


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@336 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-12-05 21:28:42 +00:00
Dan Williams
86ac9e930d 2004-11-22 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerDevicePrivate.h
		- Split out the NMDevice struct to a different file so that stuff like
			NetworkManagerDHCP.c and NetworkManagerSystem.c can use it

	* dhcpcd/client.c
		- fprintf->syslog
		- (dhcpSendAndRecv): do non-blocking sends and receives, and check to see if we
			need to cancel the dhcp request during the send and recv

	* dhcpcd/client.h
		- Move the DHCP option enum to dhcpcd.h

	* src/NetworkManagerDHCP.c
		- Split out the actual IP/netmask/etc setting code
		- New Renew/Rebind functions
		- New timer setup function for renew/rebind operations

	* src/NetworkManagerDevice.c
		- For device activation, if we are using DHCP then keep the activation thread
			alive until device deactivation.  We need to renew/rebind the DHCP address
			after the T1 (renew) and T2 (rebind) times have expired.
		- Increase some timeouts after bringing wireless cards up/down


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@320 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-11-22 14:42:34 +00:00
Dan Williams
2ad25b238e 2004-11-15 Dan Williams <dcbw@redhat.com>
Major rework of link detection code.  We now use DHCP
	as part of the link detection which proves to be much more robust,
	and also supports Open System authentication for wireless networks.

	We no longer use external DHCP client programs.  Instead, we use
	our own DHCP client, based on substantially reworked bits of 'dhcpcd'
	which was written by:
		Yoichi Hariguchi <yoichi@fore.com>
		Sergei Viznyuk <sv@phystech.com>
		http://www.phystech.com/download/
	It resides in the "dhcpcd" directory and was refactored into a general
	purpose DHCP client library by me.

	Also misc fixes (CPPFLAGS->AM_CPPFLAGS, move some stuff around),
	move src/backends/NetworkManagerSystem.h -> src/NetworkManagerSystem.h


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@314 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2004-11-16 02:41:53 +00:00