Commit graph

135 commits

Author SHA1 Message Date
Dan Williams
46e854c006 2008-06-30 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.c
		- (request_scan_results, nm_supplicant_interface_dispose,
		   wpas_iface_query_scan_results): cleanup; scan_results_timeout is now
			the id of the timeout, not a GSource



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3784 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-30 17:12:11 +00:00
Dan Williams
b0cf66eda8 2008-06-26 Dan Williams <dcbw@redhat.com>
* Update FSF address in license headers (Michael Biebl <biebl@debian.org>)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3775 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-26 18:31:52 +00:00
Tambet Ingo
d95e330f96 2008-06-05 Tambet Ingo <tambet@gmail.com>
Fix memory leaks.

	* system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
	Free data returned from dbus method call.

	* system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
	dbus_g_method_get_sender() returns a duplicated string, free it
	when done.
	(check_polkit_privileges): Looks like policykit sometimes returns
	error and non-null return value, don't leak errors in that case.

	* system-settings/src/main.c (find_plugin): Don't leak existing
	plugin names.
	(load_stuff): Don't leak device list and list items.
	(have_connection_for_device): Don't leak connection list.

	* system-settings/plugins/keyfile/reader.c (read_one_setting_value):
	Free the data received from g_keyfile_get_*.

	* system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
	the key when the security object is updated.

	* src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
	Free data returned from dbus method call.
	(iface_state_cb): Ditto.
	(add_network_cb): Ditto.
	(nm_supplicant_interface_add_cb): Don't make another copy of already
	duplicated object path.
	(nm_supplicant_interface_add_to_supplicant): Free the driver GValue
	when done.

	* src/supplicant-manager/nm-supplicant-config.c
	(ADD_STRING_LIST_VAL): Fix a memory leak.

	* src/nm-manager.c (free_get_settings_info): Free the allocated
	memory slice.
	(list_connections_cb): Free data returned from dbus method call.
	(system_settings_get_unmanaged_devices_cb): Ditto.

	* src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.

	* system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile):
	* system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile):
	* src/backends/shvar.c (svCloseFile): Free the duplicated content
	of the GList.

	* libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
	arguments after the object is created.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3721 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-05 13:16:02 +00:00
Dan Williams
6fc5e8143f 2008-03-29 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-8021x.c
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-vpn-properties.c
	  libnm-util/nm-setting-vpn.c
	  libnm-util/nm-setting-wireless-security.c
	  libnm-util/nm-setting-wireless.c
	  libnm-util/nm-utils.c
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/nm-activation-request.c
	  src/nm-ip4-config.c
	  src/nm-manager.c
	  src/nm-properties-changed-signal.c
	  src/ppp-manager/nm-pppd-plugin.c
	  src/supplicant-manager/nm-supplicant-interface.c
	  src/vpn-manager/nm-vpn-connection.c
		- consistently use nm-dbus-glib-types.h



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3514 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-29 21:35:41 +00:00
Dan Williams
eda2d662cd 2007-12-07 Dan Williams <dcbw@redhat.com>
Noticed by Christian Persch <chpe@gnome.org>

	Always chain up to parent object in dispose and finalize handlers.
		(gnome.org #433112)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3154 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-12-07 15:32:45 +00:00
Dan Williams
6076621fd0 2007-11-26 Dan Williams <dcbw@redhat.com>
* Fix warnings so everything compiles with --enable-more-warnings



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3108 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-11-26 16:59:47 +00:00
Dan Williams
36650e4a24 Print out ap-scan value for easier debugging
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3103 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-11-21 05:57:54 +00:00
Dan Williams
6a58b25532 2007-10-24 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.c
		- (blob_free): correctly free blob data after use
		- (call_set_blobs): use the right D-Bus interfaace for setBlobs



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3018 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-24 19:25:55 +00:00
Dan Williams
e55072d9bb Warning fixes
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2994 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-22 03:29:54 +00:00
Dan Williams
41cb03a3dd 2007-10-20 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-config.h
	  src/supplicant-manager/nm-supplicant-config.c
		- (nm_supplicant_config_init, nm_supplicant_config_finalize): add a hash
			table to store blobs
		- (nm_supplicant_config_add_blob): new function; add blob to internal
			blob hash table
		- (nm_supplicant_config_get_blobs): new function; get stored blobs
		- (nm_supplicant_config_add_setting_wireless_security): handle
			options that use certificates (ie, blobs)

	* src/nm-device-802-11-wireless.c
		- (build_supplicant_config): pass a UID (just use the connection path)
			to the supplicant config as now required

	* src/supplicant-manager/nm-supplicant-interface.c
		- (add_network_cb, call_set_blobs, set_blobs_cb, call_set_network): if
			there are any blobs to send to wpa_supplicant, send those first
			before sending the network configuration



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2990 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-20 20:31:29 +00:00
Tambet Ingo
18d372272c 2007-10-10 Tambet Ingo <tambet@gmail.com>
Move ppp-manager over to dbus-glib. The big deal is that it was
the last piece of
        code that used NM's own version of dbus signal handling and
custom dictionary
        marshalling/unmarshalling. With this change, all that obsolete
code can disappear
        and we get to maintain over 2000 lines less code.

        * libnm-util/dbus-dict-helpers.c:
        * libnm-util/dbus-dict-helpers.h: Remove.

        * src/ppp-manager/nm-pppd-plugin.c: Convert it to use dbus-glib.

        * src/ppp-manager/nm-pppd-plugin.xml: Implement.

        * src/ppp-manager/nm-ppp-manager.c: Use dbus-glib instead of
        * home-brewed dbus signal
        handlers.

        * src/nm-dbus-manager.c: Remove all the manual dbus signal
        * handling.

        * configure.in: Remove test/libnm-util/Makefile creation.

        * test/Makefile.am: Remove libnm-util from SUBDIRS.

        * test/libnm-util/: Remove the whole directory.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2965 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-10 14:36:31 +00:00
Dan Williams
1fec30ad86 Ignore 'BSSID invalid' error when getting BSSID properties
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2963 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-09 21:51:55 +00:00
Dan Williams
7cdada8ed2 2007-10-01 Dan Williams <dcbw@redhat.com>
* configure.in
	  src/marshallers/Makefile.am
	  src/marshallers/nm-marshal.list
	  src/marshallers/nm-marshal-main.c
		- Consolidate glib marshallers into one place

	* src/dhcp-manager/Makefile.am
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/supplicant-manager/Makefile.am
	  src/supplicant-manager/nm-supplicant-manager.c
	  src/supplicant-manager/nm-supplicant-interface.c
	  src/ppp-manager/Makefile.am
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/Makefile.am
	  src/vpn-manager/nm-vpn-connection.c
	  src/Makefile.am
		- Use consolidated marshallers

	* src/dhcp-manager/nm-dhcp-marshal.list
	  src/dhcp-manager/nm-dhcp-marshal-main.c
	  src/supplicant-manager/nm-supplicant-marshal-main.c
	  src/supplicant-manager/nm-supplicant-marshal.list
	  src/nm-marshal-main.c
	  src/nm-marshal.list
	  src/ppp-manager/nm-ppp-marshal-main.c
	  src/ppp-manager/nm-ppp-marshal.list
	  src/vpn-manager/nm-vpn-marshal-main.c
	  src/vpn-manager/nm-vpn-marshal.list
		- Remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2920 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-01 21:26:13 +00:00
Dan Williams
7d0e13919c 2007-09-12 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.c
	  src/supplicant-manager/nm-supplicant-marshal.list
		- (nm_supplicant_interface_class_init): fix stupid mistake, the
			"connection-error" signal arguments should be STRING not CHAR



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2795 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-12 04:48:16 +00:00
Dan Williams
f7ca6ded56 2007-08-20 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.c
		- (interface_disconnect_done): don't try to dispose of the net proxy
			when it may already have been disposed of



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2719 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-21 01:52:19 +00:00
Dan Williams
f5ff2b6ca3 2007-08-15 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.c
		- (try_remove_iface): new function, ask wpa_supplicant to remove
			an interface
		- (nm_supplicant_interface_dispose): call try_remove_iface() when
			disposing of the NMSupplicantInterface.  Otherwise weird stuff
			happens on hotplug if wpa_supplicant doesn't tear down and readd
			the interface internally



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2699 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-15 19:55:04 +00:00
Dan Williams
d4fb095dd7 Quiet warning
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2463 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-03-12 04:24:32 +00:00
Tambet Ingo
352caa34c6 2007-03-02 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
	We get signalled when it changes.

	* libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
	when it changes.

	* libnm-glib/nm-device.c: Cache the device state property.

	* libnm-glib/nm-access-point.c: Cache the strength property.

	* src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
	The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
	and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
	until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
	the device is down, activating, or activated (in case of A/B/G cards).
	Remove some old dead ifdef'ed out code that used to configure wireless devices,
	it's all done through supplicant now.

	* src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
	counting issues with pending calls which caused leaks and crashes when
	interface was removed (now that the interface actually gets removed).

	* src/nm-call-store.c: Make a copy of data before running a foreach
	with user callback on it - The most common usage pattern is to cancel
	(and thus remove) all pending calls with foreach which would modify
	the hash table we're iterating over.

	* src/nm-manager.c: When a device is added, make sure it is "up". When
	it's removed or disabled due to disabling wireless or networking, bring
	it down.

	* include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.

	* src/nm-device-802-11-wireless.c: 
	* src/nm-device-802-3-ethernet.c: 
	* src/nm-device.c:
		- Remove "init" virtual function, all gobjects have a place for that
		  already (constructor).
		- Replace "start" virtual function with "bring_up", devices can be
		  brought up and down more than just on startup now.
		- Add "is_up" virtual function.
		- Implement one way to bring a device down instead of previous 4 different
		  ways, each of witch did something different.

	* src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
	all it needs is the device interface.

	Get rid of NMData.dev_list (3 members to go).
	Get rif of NMData in a lot of places.

	* gnome/libnm_glib/libnm_glib.c: Make it compile again.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2395 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-03-02 09:30:48 +00:00
Tambet Ingo
b6680375d1 2007-02-05 Tambet Ingo <tambet@ximian.com>
* src/nm-device-802-11-wireless.c (supplicant_iface_scan_result_cb): 
	* src/supplicant-manager/nm-supplicant-interface.h
	* src/supplicant-manager/nm-supplicant-interface.c
	(nm_supplicant_interface_class_init): Change the "scan-result" signal's
	argument to boolean from enum.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2287 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-05 16:21:25 +00:00
Tambet Ingo
a88e1dd3a2 2007-02-05 Tambet Ingo <tambet@ximian.com>
Make NMDevice abstract class, remove almost all references to it's
	subclasses (the last place gets removed with new policy manager). Add
	NMDeviceInterface (which NMDevice implements) so that when we have
	NMDevice exported over DBUS, there's a common NMDevice interface which
	all instances have, plus there's a device specific interface for each
	specific type.
	Remove functions (nm_device_is_802_3_ethernet) and
	(nm_device_is_802_11_wireless). There are already standard GObject macros
	for type safe checks.
	Use the updated supplican manager API.

	* src/nm-device-interface.h: 
	* src/nm-device-interface.c: 
	* src/nm-call-store.h: 
	* src/nm-call-store.c: Implement.

	* src/supplicant-manager/nm-supplicant-interface.c:
	* src/supplicant-manager/nm-supplicant-interface.h:
	* src/supplicant-manager/nm-supplicant-manager.c:
	* src/supplicant-manager/nm-supplicant-manager.h:
		- Remove all private data type references from public header files.
		- Remove all references to other NM classes, this class is just a
		  proxy between wpa_supplicant and NM so it doesn't have to know
		  any internals.
		- Convert to dbus-glib bindings.
		- Type safe checks for public methods' arguments.
		- Store pending DBUS call ids to NMCallStore.

	* src/supplicant-manager/nm-supplicant-config.c:
		- Store config values in a GHashTable instead of GSList.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2285 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-05 12:14:09 +00:00
Dan Williams
0df1e42c39 2007-01-04 Dan Williams <dcbw@redhat.com>
Threading removal related cleanups:

	- Use the glib default main context.  Remove the device main context
		member from NMDevice, and the main_context member from NMData.  Change
		all the idle and timeout scheduler functions to use plain
		g_idle_add() and g_timeout_add().

	- As a side-effect of the first change, nm_dbus_manager_get() no longer
		takes an argument; fix that up too.

	- Remove all locking, which is useless since we no longer use threads.  For
		example, nm_get_device_by_iface_locked() has been removed.  The global
		device list lock, the AP List lock, and all static locks in
		NetworkManagerPolicy.c have been removed.  The locking utility functions
		in NetworkManagerUtils.c have also been removed.

	- Other cleanups in spacing and code style



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2205 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-01-04 12:06:26 +00:00
Dan Williams
c430ba3336 2007-01-01 Dan Williams <dcbw@redhat.com>
Found by Bill Moss:

	* src/supplicant-manager/nm-supplicant-interface.c
		- (nm_supplicant_interface_disconnect): fix cleanup logic when
			the supplicant interface wasn't already disconnected.  Always
			call removeNetwork and disconnect unless the supplicant interface
			is in the DISCONNECTED or INACTIVE state.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2202 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-01-02 05:01:07 +00:00
Dan Williams
a6f5833cb3 2006-12-19 Dan Williams <dcbw@redhat.com>
Big wpa_supplicant + dbus update; need latest wpa_supplicant from CVS
	plus a few other patches from wpa_supplicant bugzilla.

	* src/Makefile.am
	  src/NetworkManagerPolicy.c
	  src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
	  src/nm-ap-security-leap.c
	  src/nm-ap-security-wep.c
	  src/nm-ap-security-wpa-eap.c
	  src/nm-ap-security-wpa-psk.c
	  src/nm-ap-security.c
	  src/nm-ap-security.h
	  src/nm-device-802-11-wireless.c
	  src/nm-device-802-11-wireless.h
	  src/supplicant-manager/nm-supplicant-config.c
	  src/supplicant-manager/nm-supplicant-config.h
	  src/supplicant-manager/nm-supplicant-interface.c
	  src/supplicant-manager/nm-supplicant-interface.h
	  src/supplicant-manager/nm-supplicant-marshal.list
	  src/supplicant-manager/nm-supplicant-settings-verify.c
	  src/supplicant-manager/nm-supplicant-settings-verify.h
		- Move all connection management and association handling to
			wpa_supplicant over dbus, rather than spawning a private copy


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2192 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-19 19:15:31 +00:00
Dan Williams
bcd251672e 2006-12-11 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.c
		- (iface_state_cb, wpas_iface_get_state): new functions; query initial
			wpa_supplicant interface state
		- (nm_supplicant_interface_add_cb): query initial wpa_supplicant interface
			state before transitioning to READY state


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2181 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-12 03:27:35 +00:00
Dan Williams
4ad549a2ab Zero out signal handler ID on dispose
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2168 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-05 03:13:47 +00:00
Dan Williams
4b647c97a8 2006-12-04 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.c
		- (nm_supplicant_interface_set_property): track signal handler ID
		- (nm_supplicant_interface_dispose): remove signal handler on dispose


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2162 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-04 20:33:06 +00:00
Dan Williams
a2b8e034fe Fix erroneous g_return_val_if_fail check for state before scanning
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2161 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-04 20:05:14 +00:00
Dan Williams
bcf29cf7a5 2006-12-04 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.[ch]
		- (nm_supplicant_interface_get_state): new function


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2160 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-04 19:09:44 +00:00
Dan Williams
d9e7b0082a 2006-12-04 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.c
		- (bssid_properties_cb): don't treat DBus errors as valid
			scanned AP messages


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2159 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-04 19:07:22 +00:00
Dan Williams
ad9c4eb950 2006-12-04 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-interface.[ch]
		- (nm_supplicant_interface_get_connection_state): new function
		- define new supplicant connection states
		- send a signal when the supplicant connection state changes


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2157 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-04 05:45:05 +00:00
Dan Williams
141af10189 2006-12-03 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/Makefile.am
	  src/supplicant-manager/nm-supplicant-connection.h
	  src/supplicant-manager/nm-supplicant-connection.c
	  src/supplicant-manager/nm-supplicant-config.h
	  src/supplicant-manager/nm-supplicant-config.c
	  src/supplicant-manager/nm-supplicant-types.h
	  src/supplicant-manager/nm-supplicant-interface.h
	  src/supplicant-manager/nm-supplicant-interface.c
		- Rename NMSupplicantConnection -> NMSupplicantConfig


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2154 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-12-03 20:04:11 +00:00
Tambet Ingo
6edc3f81c8 2006-11-29 Tambet Ingo <tambet@ximian.com>
Patch by Timo Hoenig <thoenig@suse.de>:
	* src/nm-dbus-manager.c (nm_dbus_manager_start_service): Make it work with
	DBUS-1.0.

	* src/supplicant-manager/Makefile.am: Add nm-supplicant-marshal here, since
	we can't use the one from the main source directory.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2133 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-11-29 11:00:22 +00:00
Dan Williams
56621e5f66 2006-11-26 Dan Williams <dcbw@redhat.com>
Scan using wpa_supplicant over DBus.

	* src/nm-device-802-11-wireless.c
		- remove wireless extensions netlink event handler bits
			(wireless_event_helper, nm_device_802_11_wireless_event)
		- remove wireless extensions scan event handler bits
			(process_scan_results, add_new_ap_to_device_list, hexstr2bin,
			hex2byte, hex2num, request_and_convert_scan_results,
			free_process_scan_cb_data, scan_results_timeout,
			schedule_scan_results_timeout, cancel_scan_results_timeout)
		- Rename nm_device_802_11_wireless_scan() -> request_wireless_scan()
			and request scans from the supplicant interface rather than directly
		- Move functionality of convert_scan_results() to cull_scan_list() and
			supplicant_iface_scanned_ap_cb()
		- (supplicant_iface_scan_result_cb): new function; schedule a new scan
			at the scan interval when the current scan has finished
		- (supplicant_iface_state_cb): start scanning when the supplicant
			interface enters the READY state, and stop scanning when it
			enters the DOWN state
		- (cull_scan_list): weed out old access points from the scan list
		- (supplicant_iface_scanned_ap_cb): convert a supplicant scanned access
			point into an NMAccessPoint and merge it into the device's scan list

	* src/supplicant-manager/nm-supplicant-interface.c
	  src/supplicant-manager/nm-supplicant-interface.h
		- Add a new signal "scan-result" which is issued when the supplicant
			notifies NM that a scan has completed
		- Add a new signal "scanned-ap" that notifies listeners of a new access
			point found in the scan.  Called once for each access point that
			the supplicant interface object receives from the supplicant as a
			result of the "scanResults" method call
		- (wpas_iface_query_scan_results): don't wait 4s before querying
			for the initial scan results
		- (scan_request_cb): new function; send listeners the result
			(success, error) of a wireless scan request
		- (nm_supplicant_interface_request_scan): new function; ask the
			supplicant to perform an immediate wireless scan


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2128 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-11-26 20:49:48 +00:00
Dan Williams
8fd7082b66 2006-11-25 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/Makefile.am
		- Since we're including NetworkManagerMain.h in nm-supplicant-interface.c,
			add HAL cflags/includes and named-manager includes directory

	* src/supplicant-manager/nm-supplicant-interface.h
		- New state STARTING to handle transition from INIT to READY where
			the addInterface pending call is still outstanding

	* src/supplicant-manager/nm-supplicant-interface.c
		- track pending calls differently since we may have more than one
			going on at any given time
		- request scan results from wpa_supplicant; but don't do it more often
			than every 4 seconds.  Drivers that do background scanning
			(like the 'ipw' drivers) send a continuous stream of scan completion
			notifications, so we don't want to hammer the supplicant or dbus
			with requests for all scan results every time we get a completion
			notification.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2126 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-11-25 18:23:06 +00:00
Dan Williams
4bc25ba3bf 2006-11-25 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-types.h
		- new file; move all supplicant manager object typedefs here for
			#include sanity

	* src/supplicant-manager/nm-supplicant-interface.c
	  src/supplicant-manager/nm-supplicant-interface.h
		- new file; an object that interfaces an NMDevice object to the
			supplicant and handles signals from the supplicant.  This object
			does all necessary DBus communication with wpa_supplicant.

	* src/supplicant-manager/nm-supplicant-manager.c
	  src/supplicant-manager/nm-supplicant-manager.h
		- Actually do something.  Track the state of the wpa_supplicant service
			and deal with its comings & goings.  Handle life events of
			supplicant interfaces too.
		- Move NMSupplicantManager typedef to nm-supplicant-types.h

	* src/supplicant-manager/nm-supplicant-connection.h
		- Move NMSupplicantConnection typedef to nm-supplicant-types.h

	* src/supplicant-manager/Makefile.am
		- Add new files to build, and add libnm-util to includes

	* src/nm-marshal.list
		- New marshaler type: VOID:UINT,UINT

	* src/nm-device-802-3-ethernet.c
		- (real_init): grab a supplicant interface
		- (nm_device_802_3_ethernet_dispose): release the supplicant interface
		- (supplicant_iface_state_cb): new function, stub for handling
			supplicant interface state changes

	* src/nm-device-802-11-wireless.c
		- (real_init): grab a supplicant interface
		- (nm_device_802_11_wireless_dispose): release the supplicant interface
		- (supplicant_iface_state_cb): new function, stub for handling
			supplicant interface state changes

	* src/NetworkManager.c
		- (main): create and keep the supplicant manager around for the lifetime
			of NetworkManager

	* src/Makefile.am
		- Link to the supplicant manager sub-library and use the supplicant
			manager includes


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2125 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-11-25 15:41:04 +00:00