Commit Graph

21 Commits

Author SHA1 Message Date
Dan Williams
7a8f33aa3d 2007-08-28 Dan Williams <dcbw@redhat.com>
Remove NMAPSecurity objects, they are replaced with flags on the APs for
	each AP's capabilities, and by NMConnection/NMSettings objects for user
	defined connections.

	* include/NetworkManager.h
		- Redefine 802.11 security properties.  There are now device capabilities
			and AP flags and AP security flags.  It was way to unclear before.

	* src/Makefile.am
	  src/nm-ap-security-leap.h
	  src/nm-ap-security-leap.c
	  src/nm-ap-security-wpa-eap.c
	  src/nm-ap-security-wpa-eap.h
	  src/nm-ap-security-private.h
	  src/nm-ap-security-wpa-psk.c
	  src/nm-ap-security-wpa-psk.h
	  src/nm-ap-security-wep.c
	  src/nm-ap-security-wep.h
	  src/nm-ap-security.c
	  src/nm-ap-security.h
		- Removed, to be replaced with NMConnection/NMSettings objects

	* src/nm-dbus-nmi.c
	  src/nm-dbus-nmi.h
		- Removed, to be replaced by code that talks to the new info daemon
			interface and gets NMConnection/NMSettings objects

	* src/backends/NetworkManagerSuSE.c
		- Remove usage of NMAPSecurity; should be replaced by a system-level
			info-daemon that does the same thing but talks the new info-daemon
			D-Bus interface

	* src/NetworkManagerAP.h
	  src/NetworkManagerAP.c
	  src/NetworkManagerAPList.c
	  libnm-glib/libnm-glib-test.c
		- Remove usage of NMAPSecurity objects and adjust to new flags for
			WPA/RSN

	* libnm-glib/nm-access-point.c
	  libnm-glib/nm-access-point.h
	  introspection/nm-access-point.xml
	  test/nm-tool.c
		- Adjust to new flags for AP security

	* utils/nm-utils.c
	  utils/nm-utils.h
	  src/vpn-manager/nm-dbus-vpn.c
		- Remove D-Bus pending call stuff from nm-utils and put it in the VPN
			stuff which is the only place it's used

	* src/nm-device-interface.c
	  src/nm-device-interface.h
	  introspection/nm-device.xml
	  src/nm-activation-request.c
	  src/nm-activation-request.h
	  src/nm-device.c
		- Add a new 'specific_object' argument that hints to NM what actual
			AP or other device-specific thing the connection should apply to.
			NMConnection objects can apply to more than one actual device/AP.

	* libnm-util/nm-connection.c
	* libnm-util/nm-connection.h
		- Add 'have_secrets" call stubs

	* libnm-util/cipher.h
		- Move NM_AUTH_TYPE_* defines here for now

	* src/nm-device-802-11-wireless.c
		- Remove usage of NMAPSecurity, to be replaced with NMConnection/
			NMSettings objects

	* src/NetworkManagerDbus.c
	* src/NetworkManagerPolicy.c
		- Remove usage of update_allowed_networks, should be pushing data in
			a different manner



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2738 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-28 14:47:31 +00:00
Dan Williams
386998c983 2007-08-25 Dan Williams <dcbw@redhat.com>
It's 2007. Remove support for drivers that don't support wireless scanning.

	* test/nm-tool.c
	  include/NetworkManager.h
	  src/NetworkManagerUtils.c
	  src/NetworkManagerPolicy.c
	  src/nm-device-802-11-wireless.c
		- Remove special handling for non-scanning devices and mark them
			as unsupported/unhandled



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2726 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-25 15:07:23 +00:00
Rodrigo Moya
3cd8398aee 2007-08-13 Rodrigo Moya <rodrigo@gnome-db.org>
* include/NetworkManager.h: added DBus path for connection settings.

	* libnm-glib/nm-settings.[ch] (nm_settings_signal_new_connection,
	nm_connection_settings_signal_updated,
	nm_connection_settings_signal_removed): new functions to wrap the
	objects' signals.
	(nm_connection_settings_init): register GObject with DBus.
	(nm_connection_settings_get_dbus_object_path): new function.

	* libnm-glib/Makefile.am: added libnmutil to link flags.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2672 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-08-13 13:07:33 +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
537b30f99e 2007-02-20 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
	"network-removed" signals.

	* libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.

	* libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
	when receiving the signal from dbus.

	* src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
	property.

	* src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
	deactivation of the previously activated device working again.

	* src/nm-activation-request.c: Remove NMActStage property and it's getter
	and setter.

	* src/nm-device.c (nm_device_is_activated): Remove.
	state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.

	* include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
	NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
	NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
	NM_DBUS_SIGNAL_STATE_CHANGE signal.
	Remove NMNetworkStatus and NMActStage enums.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2345 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-20 15:24:42 +00:00
Tambet Ingo
8a4c57f631 2007-02-12 Tambet Ingo <tambet@ximian.com>
Totally break NetworkManager. Please use 0.6 branch until futher notice.

	* src/:
		- Remove old low-level dbus interface implementations and replace them
		  with dbus-glib one.

	* configure.in:
		- Require dbus-glib >= 0.72.
		- Plug in new sources to build.

	* libnm-glib/:
		- Implement GObject wrappers on top of DBUS glib auto-generated bindings
		  to make it more convenient to use from GObject based programs.

	* introspection/:
		- Implement DBUS XML introspection files, used by both NM and libnm-glib.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2309 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-12 09:23:43 +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
3c10e4401f 2006-07-13 Dan Williams <dcbw@redhat.com>
Patch from Thiago Bauermann <thiago.bauermann@gmail.com>
	* gnome/applet/applet.glade
	  gnome/applet/Makefile.am
	  gnome/applet/nm-gconf-wso.c
	  gnome/applet/nm-gconf-wso-leap.c
	  gnome/applet/nm-gconf-wso-leap.h
	  gnome/applet/wireless-security-manager.c
	  gnome/applet/wso-leap.c
	  gnome/applet/wso-leap.h
	  include/NetworkManager.h
	  libnm-util/dbus-helpers.c
	  libnm-util/dbus-helpers.h
	  src/Makefile.am
	  src/NetworkManagerAP.c
	  src/nm-ap-security.c
	  src/nm-ap-security-leap.c
	  src/nm-ap-security-leap.h
		- Add LEAP authentication support


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1881 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-07-13 17:03:31 +00:00
Robert Love
7301a244b2 2006-02-25 Robert Love <rml@novell.com>
Add WPA Enterprise support:
	* gnome/applet/Makefile.am: Build the files nm-gconf-wso-wpa-eap.c and
	  nm-gconf-wso-wpa-eap.h.
	* gnome/applet/nm-gconf-wso-wpa-eap.c,
	  gnome/applet/nm-gconf-wso-wpa-eap.h:  Add WPA Enterprise Gconf
	  serialization and deserialization.
	* gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
	  gnome/applet/wireless-security-option.c, gnome/applet/wso-wpa-psk.c,
	  gnome/applet/wso-wpa-psk.h: Clean up, support new defines.
	* gnome/applet/wireless-applet.glade: Add UI for configurating security
	  settings related to WPA Enterprise.
	* gnome/applet/wireless-security-manager.c: Invoke wso_wpa_eap_new() to
	  instantiate WPA Enterprise wireless-security-option.
	* gnome/applet/wso-wpa-eap.c, gnome/applet/wso-wpa-eap.h: New files.
	  Implement WPA Enterprise wireless-security-option object.
	* include/NetworkManager.h: Add new NM_AUTH_TYPE_* and NM_EAP_METHOD_*
	  defines.  Cleanup.
	* libnm-util/cipher-wpa-psk-hex.c,
	  libnm-util/cipher-wpa-psk-passphrase.c: Cleanup.
	* libnm-util/dbus-helpers.c, libnm-util/dbus-helpers.h: Add
	  nmu_security_serialize_wpa_eap() to serialize input to DBUS method,
	  nmu_security_serialize_wpa_eap_with_cipher() to serialize input
	  including the cipher to DBUS method, and
	  nmu_security_deserialize_wpa_eap() to deserialize from DBUS return
	  to output.
	* src/Makefile.am: Build the files nm-ap-security-wpa-eap.c and
	  nm-ap-security-wpa-eap.h
	* src/NetworkManagerAP.c: Add NM_AUTH_TYPE_WPA_EAP to
	  NM_802_11_CAP_KEY_MGMT_802_1X cipher to capability mapping.
	* src/nm-ap-security-wpa-eap.c, src/nm-ap-security-wpa-eap.h: New
	  files.  Implement NMAPSecurityWPA_EAP object.
	* src/nm-ap-security-wpa-psk.c: Cleanup.
	* src/nm-ap-security.c: Support NM_AUTH_TYPE_EAP cipher and instantiate
	  an NMAPSecurityWPA_EAP object via the method
	  nm_ap_security_wpa_eap_new_deserialize().
	* src/nm-dbus-nm.c: Cleanup.
	* test/nm-tool.c: Display "Enterprise" for wireless networks providing
	  WPA Enterprise support.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1493 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-26 02:16:53 +00:00
Robert Love
569693ce2d 2006-01-30 Robert Love <rml@novell.com>
* gnome/applet/nm-gconf-wso-wpa-psk.c, gnome/applet/nm-gconf-wso.c,
	  gnome/applet/wireless-security-option.c, include/NetworkManager.h,
	  libnm-util/cipher-wpa-psk-hex.c, src/nm-ap-security-wpa-psk.c,
	  libnm-util/cipher-wpa-psk-passphrase.c, src/nm-ap-security.c: Add
	  support for "Automatic" pairwise and group cipher configuration by
	  letting wpa_supplicant handle the details.  Add UI elements, new
	  cipher type NM_AUTH_CIPHER_AUTO, and backend support.  Works like a
	  charm.  Note this does more than add a nice feature, it fixes a bug.
	  Apparently, some people have AP's where the pairwise cipher does not
	  match the group cipher.  Insane, but true.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1407 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-30 19:40:10 +00:00
Dan Williams
2fa716d42d 2006-01-08 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add NMI_DBUS_USER_KEY_CANCELED_ERROR as a constant for
			applet/info-daemons

	* gnome/applet/passphrase-dialog.c
		- Use the constant.  Fixes a bug where the arguments to
			dbus_message_new_error() were incorrect

	* src/nm-dbus-nmi.c
		- Use the constant


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1289 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-08 16:55:03 +00:00
Dan Williams
2588e28c21 2005-12-29 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add NM_802_11_CAP_PROTO_NONE since we need to recognize
			between networks that don't have any encryption at all


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1241 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-29 17:09:52 +00:00
Dan Williams
f003ba8ef7 2005-12-17 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Finally kill NMEncKeyType

	* gnome/applet/applet-dbus-info.c
		- (nmi_save_network_info): convert to NMGConfWSO

	* gnome/applet/nm-gconf-wso-*.c
		- Implement gconf serialization functions

	* src/NetworkManagerPolicy.c
		- (nm_policy_activation_finish): fix up meaning of
			automatic/user_requested


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1211 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-17 21:39:19 +00:00
Dan Williams
7ae6819f31 2005-12-14 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  src/NetworkManagerWireless.c
		- Rearrange 802.11 wireless-specific capabilities again

	* src/Makefile.am
		- Forgot to add wpa.c/wpa.h to the makefiles

	* src/NetworkManagerAP.[ch]
		- Implement access point capabilities and parse the
			WPA/RSN IEs into the capability bitfield
		- Switch the "encrypted" attribute to utilize the bitfield
			and capabilities rather than being independent

	* src/NetworkManagerDevice.c
		- (nm_device_wireless_get_activation_ap): break it horribly
			until we can push NMAPSecurity objects into access point
			objects and through the activation chain
		- Stuff WPA & RSN IEs into AP capabilities

	* src/nm-dbus-nm.c
		- Take a shot at actually making setActiveDevice work

	* src/wpa.[ch]
		- Make the API a bit saner


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1191 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-14 20:48:08 +00:00
Dan Williams
423383c0e5 2005-12-14 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add 802.11-specific capability for 802.1x key
			management

	* src/wpa.[ch]
		- Pull in WPA IE and RSN IE parsing code from
			wpa_supplicant so we can determine access point
			capabilities
		- Move WPA-related constants here from NetworkManagerAP.h
			and NetworkManagerDevice.c

	* src/NetworkManagerDevice.c
	  src/NetworkManagerAP.[ch]
		- Use WPA-related constants from wpa.h


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1190 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-14 19:12:20 +00:00
Dan Williams
a00992c902 2005-12-14 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Update and split 802.11 wireless-specific capabilities from
			generic device capabilities

	* src/NetworkManagerDevice.c
	  src/NetworkManagerDevicePrivate.h
		- (nm_device_wireless_discover_capabilities): Move 802.11
			wireless-specific capability checks to
			NetworkManagerWireless.c
		- Rename NMDeviceWirelessOptions -> NMDevice80211WirelessOptions
		- Rename NMDeviceWiredOptions -> NMDevice80211EthernetOptions

	* src/NetworkManagerWireless.[ch]
		- (nm_802_11_wireless_discover_capabilities): Check extended
			802.11 wireless-specific capabilities of the driver


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1188 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-14 17:56:35 +00:00
Robert Love
9674539f15 2005-12-08 Robert Love <rml@novell.com>
* include/NetworkManager.h: add WPA capabilities constants
	* src/NetworkManagerDevice.c: detect if wireless devices support WPA
	  or WPA2 and add the capabilities bits as appropriate.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1150 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-08 21:48:41 +00:00
Robert Love
231c04097c 2005-12-07 Robert Love <rml@novell.com>
* gnome/applet/applet-dbus-info.c, include/NetworkManager.h,
	  src/NetworkManagerAP.c, src/NetworkManagerAP.h,
	  src/NetworkManagerAPList.c, src/NetworkManagerDbus.c,
	  src/NetworkManagerDevice.c, src/NetworkManagerDevice.h,
	  src/nm-dbus-nm.c: Convert NM_DEVICE_AUTH_METHOD_* to use the
	  wireless-tools constants directly.  UNKNOWN is now -1 and NONE is
	  zero.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1144 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-07 20:21:29 +00:00
Dan Williams
eff693f386 2005-12-07 Dan Williams <dcbw@redhat.com>
* Convert NETWORK_MODE_* constants to IW_MODE_*
	* Make all the get_mode/set_mode functions take and return 'int'
	* Convert D-BUS calls that pass mode to DBUS_TYPE_INT32 rather than UINT32


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1142 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-07 17:40:37 +00:00
Dan Williams
bfae8891a7 2005-12-06 Dan Williams <dcbw@redhat.com>
* Change naming of NMDeviceType to something more sensible:
		NM_DEVICE_TYPE_DONT_KNOW -> NM_DEVICE_TYPE_UNKNOWN
		NM_DEVICE_TYPE_WIRED_ETHERNET -> NM_DEVICE_TYPE_802_3_ETHERNET
		NM_DEVICE_TYPE_WIRELESS_ETHERNET -> NM_DEVICE_TYPE_802_11_WIRELESS


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1131 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-07 00:22:52 +00:00
Dan Williams
6bcf90acf2 2005-12-06 Dan Williams <dcbw@redhat.com>
* Move NetworkManager.h -> include/NetworkManager.h
	* Split out VPN stuff to include/NetworkManagerVPN.h
	* Fix up makefiles to include new location
	* Fix up sources to include NetworkManagerVPN.h


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1130 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2005-12-06 23:37:09 +00:00