Commit graph

1950 commits

Author SHA1 Message Date
Dan Williams
25527878c7 2008-03-20 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (nm_manager_update_state, manager_device_state_changed,
		   nm_manager_activate_device, connection_added_default_handler,
		   impl_manager_activate_connection, impl_manager_deactivate_connection):
			queue PropertyChanged singals when the active connections change



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3486 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-20 21:20:32 +00:00
Dan Williams
393685203f 2008-03-20 Dan Williams <dcbw@redhat.com>
* introspection/nm-manager.xml
	  introspection/nm-manager-client.xml
		- (ActivateConnection): return the object path of the active connection
			on success
		- (GetActiveConnections): remove
		- (DeactivateConnection): new function; deactivate a currently active
			connection
		- Add an ActiveConnections property which returns an array of
			active connection object paths

	* introspection/nm-device.xml
		- (Deactivate): remove

	* introspection/all.xml
		- Add ActiveConnection introspection

	* introspection/nm-active-connection.xml
		- Add the ActiveConnection object

	* include/NetworkManager.h
		- Add the Connection.Active D-Bus interface

	* src/nm-device-interface.c
		- (impl_device_deactivate): remove

	* src/nm-activation-request.c
	  src/nm-activation-request.c
	  src/Makefile.am
		- Implement the Connection.Active D-Bus interface

	* src/nm-manager.c
		- (get_property, nm_manager_class_init): add ACTIVE_CONNECTIONS property
		- (nm_manager_activate_device): return the active connection path
		- (connection_added_default_handler, impl_manager_activate_connection):
			return the active connection to the caller
		- (add_one_connection_element, impl_manager_get_active_connections):
			remove
		- (impl_manager_deactivate_connection): new function; deactivate an
			active connection

	* libnm-glib/nm-device.c
	  libnm-glib/nm-device.h
		- Remove Deactivate() function



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3484 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-20 19:56:12 +00:00
Dan Williams
fbb5062271 2008-03-19 Dan Williams <dcbw@redhat.com>
* introspection/nm-manager.xml
	  introspection/nm-manager-client.xml
		- Rename the ActivateDevice method to ActivateConnection to better
			reflect it's usage; it's arguments get reordered a bit too
		- Convert GetActiveConnections method return from a struct to a dict

	* include/NetworkManager.h
		- Define the dict keys for return value of GetActiveConnections

	* src/nm-manager.c
		- impl_manager_activate_device -> impl_manager_activate_connection
		- (add_one_connection_element): return a populated hash table, not
			a structure

	* libnm-glib/nm-client.c
	  libnm-glib/nm-client.h
		- nm_client_activate_device -> nm_client_activate_connection
		- nm_client_free_active_connection_element -> nm_client_free_active_connections_element
		- (nm_client_get_active_connections): return a GSList of GHashTables,
			instead of the custom structures.  Each element of the returned list
			must be freed with nm_client_free_active_connections_element()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3482 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-19 20:58:21 +00:00
Tambet Ingo
731cacc944 Author: Tambet Ingo <tambet@gmail.com>
Date:   Tue Mar 18 21:46:10 2008 -0600

    2008-03-18  Tambet Ingo  <tambet@gmail.com>

    	* src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Don't
    	print out username and password, it's supposed to be a secret.

    	* src/nm-device-802-3-ethernet.c (ppp_state_changed): Handle authentication
    	request and set the device state accordingly.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3481 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-19 15:27:59 +00:00
Dan Williams
37c767224a 2008-03-18 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/parser.c
	  system-settings/plugins/ifcfg-fedora/parser.h
	  system-settings/plugins/ifcfg-fedora/plugin.c
		- Read settings from /etc/sysconfig/network-scripts/ instead of using
			profiles.  DNS servers and searches must now be stored in the ifcfg
			files themselves



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3475 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-19 03:08:32 +00:00
Tambet Ingo
5ec18a31df 2008-03-18 Tambet Ingo <tambet@gmail.com>
* src/nm-device-802-3-ethernet.c: Implement wired 802.1x authentication.

	* libnm-util/nm-setting-wireless-security.h: Fix a typo.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3474 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-18 22:19:09 +00:00
Dan Williams
79491652e7 2008-03-18 Dan Williams <dcbw@redhat.com>
* src/vpn-manager/nm-vpn-connection.c
		- (get_secrets_cb): handle new GetSecrets return format



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3473 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-18 17:35:51 +00:00
Dan Williams
e117bad293 2008-03-18 Dan Williams <dcbw@redhat.com>
Adapt system settings service for split 802.1x.

	* system-settings/src/nm-system-config-interface.h
		- clarify return value of get_secrets()

	* system-settings/src/dbus-settings.c
		- (string_to_gvalue, destroy_gvalue, add_one_secret_to_hash): remove
		- (check_for_secrets): check if there actually secrets returned by a
			plugin
		- (exported_connection_get_secrets): just return the plugin-returned
			hash of settings' secrets if it looks valid

	* system-settings/plugins/ifcfg-fedora/plugin.c
		- (get_secrets): add split secrets with correct format to reply hash

	* system-settings/plugins/ifcfg-fedora/parser.c
	  system-settings/plugins/ifcfg-fedora/parser.h
		- (copy_one_cdata_secret, connection_data_copy_secrets,
		   connection_data_free, connection_data_add): keep secrets for
			different settings in different hashes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3472 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-18 15:30:50 +00:00
Tambet Ingo
76f418666b Author: Tambet Ingo <tambet@gmail.com>
Date:   Mon Mar 17 12:27:01 2008 -0600

    2008-03-17  Tambet Ingo  <tambet@gmail.com>

    	Clean up activating device deactivation.

    	* src/nm-device.c (real_activation_cancel_handler): Remove. The same thing
    	should be done whether the device activation gets cancelled or the device
    	is just getting deactivated.
    	(nm_device_activation_cancel): Remove.
    	(nm_device_deactivate_quickly): Handle the case where device is activating.

    	* src/nm-device-802-11-wireless.c (real_activation_cancel_handler): Remove.
    	It does the exact same thing as real_deactivate_quickly().


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3471 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-17 20:59:54 +00:00
Dan Williams
70e79d60dd 2008-03-17 Dan Williams <dcbw@redhat.com>
Split the 802.1x bits out of the wireless-security setting so they are
	generalized enough for wired 802.1x to use too.

	* introspection/nm-exported-connection.xml
		- GetSecrets now returns 'a{sa{sv}}' (a hash of settings hashes) instead
			of just a hash of the secrets for one setting

	* libnm-util/nm-setting-wireless-security.c
	  libnm-util/nm-setting-wireless-security.h
		- Remove 802.1x-specific stuff
		- Added leap-username and leap-password properties for old-school LEAP

	* src/nm-device.c
	  src/nm-device.h
		- (connection_secrets_updated_cb): take a list of updated settings names,
			not just one

	* src/supplicant-manager/nm-supplicant-config.c
	  src/supplicant-manager/nm-supplicant-config.h
		- (nm_supplicant_config_add_setting_wireless_security): remove 802.1x
			specific stuff; fix for updated LEAP bits; punt 802.1x stuff
			to nm_supplicant_config_add_setting_8021x()
		- (nm_supplicant_config_add_setting_8021x): add an 802-1x setting to
			the supplicant config

	* src/nm-device-802-11-wireless.c
		- (build_supplicant_config): pass in the 802.1x setting too, if any
		- (real_connection_secrets_updated): take a list of updated settings
			names, not just one

	* src/nm-device-802-3-ethernet.c
	  src/nm-cdma-device.c
	  src/nm-gsm-device.c
		- (real_connection_secrets_updated_cb): take a list of updated settings
			names, not just one

	* src/nm-activation-request.c
	  src/nm-activation-request.h
		- (nm_act_request_class_init): the 'connection-secrets-updated' signal
			now passes a list of updated settings names, not just one
		- (update_one_setting): new function; handle one updated setting
		- (get_secrets_cb): handle multiple settings returned from the
			settings service; have to be careful of ordering here as there are
			some dependencies between settings (ex. wireless-security and 802.1x
			in some cases)

	* src/marshallers/nm-marshal.list
		- new marshaller for connection-secrets-updated signal

	* libnm-util/nm-setting-8021x.c
		- Add back the 'pin' and 'psk' settings, for EAP-SIM and EAP-PSK auth
			methods
		- (verify): a valid 'eap' property is now required

	* libnm-util/nm-connection.c
		- (register_default_settings): add priorities to settings; there are
			some dependencies between settings, and during the need_secrets
			calls this priority needs to be respected.  For example, only the
			wireless-security setting knows whether or not the connection is
			going to use 802.1x or now, so it must be asked for secrets before
			any existing 802.1x setting is
		- (nm_connection_lookup_setting_type): expose

	* libnm-util/nm-setting-wireless.c
		- (verify): should verify even if all_settings is NULL; otherwise won't
			catch the case where there is missing security

	* libnm-util/nm-setting-wireless-security.c
		- Remove everything to do with 802.1x
		- Add old-school LEAP specific properties for username and password
		- (need_secrets): rework LEAP secrets checking
		- (verify): rework for LEAP and 802.1x verification



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3470 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-17 19:37:23 +00:00
Dan Williams
50fb976d6a 2008-03-17 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (auto_activate_device): always remove the current activation check
			from the pending activation list, otherwise when the policy gets
			destroyed on NM exit it will attempt to free the already freed
			activation check



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3469 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-17 13:28:36 +00:00
Tambet Ingo
040759fdbd Squashed commit of the following:
commit 5979484d01a27a37d2b221cf357e5c77dce4ff3d
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Mar 14 16:53:43 2008 -0600

    2008-03-14  Tambet Ingo  <tambet@gmail.com>

    	* src/backends/NetworkManagerSlackware.c
    	(nm_system_device_setup_static_ip4_config): Remove, it's unused.

    	* src/backends/NetworkManagerSuSE.c: Add missing includes.

commit de4e1e57541f62e610d5b622f2d38f5c84848daa
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Mar 14 16:38:48 2008 -0600

    2008-03-14  Tambet Ingo  <tambet@gmail.com>

    	* libnm-util/Makefile.am: Add new files to build.

    	* libnm-util/nm-connection.c: Register NMSetting8021x.

    	* libnm-util/nm-setting-8021x.c
    	* libnm-util/nm-setting-8021x.h: Implement.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3467 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 22:54:15 +00:00
Tambet Ingo
13e40f51ac commit de4e1e57541f62e610d5b622f2d38f5c84848daa
Author: Tambet Ingo <tambet@gmail.com>
Date:   Fri Mar 14 16:38:48 2008 -0600

    2008-03-14  Tambet Ingo  <tambet@gmail.com>

    	* libnm-util/Makefile.am: Add new files to build.

    	* libnm-util/nm-connection.c: Register NMSetting8021x.

    	* libnm-util/nm-setting-8021x.c
    	* libnm-util/nm-setting-8021x.h: Implement.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3466 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 22:40:35 +00:00
Dan Williams
59025105f8 it was actually me
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3465 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 22:05:44 +00:00
Tambet Ingo
4c9845b646 2008-03-14 Tambet Ingo <tambet@gmail.com>
* src/nm-manager.c
		- (nm_device_interface_get_iface): g_object_get() will return an
			allocated value, so this function must not return const
		- (nm_device_interface_activate): free returned iface



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3464 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 22:05:17 +00:00
Tambet Ingo
d26d505f81 2008-03-14 Tambet Ingo <tambet@gmail.com>
* src/NetworkManagerPolicy.c (auto_activate_device): Don't leak device and
	data.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3463 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 21:42:03 +00:00
Dan Williams
a90c522da9 2008-03-14 Dan Williams <dcbw@redhat.com>
* include/wireless-helper.h
	  include/Makefile.am
		- One place for all the junk needed for #including wireless.h

	* test/nm-tool.c
	  src/NetworkManagerAP.c
	  src/wpa.c
	  src/Makefile.am
	  libnm-util/nm-utils.c
	  libnm-util/nm-setting-wireless.c
	  libnm-glib/nm-device-802-11-wireless.c
	  libnm-glib/nm-access-point.c
	  libnm-glib/libnm-glib-test.c
		- include wireless-helper.h, not iwlib.h

	* configure.in
		- Don't need libiw really, just need to check for wireless.h

	* src/kernel-types.h
		- Remove; used types moved into wpa.c

	* src/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_update_signal_strength,
		   real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
		   nm_device_802_11_wireless_set_mode,
		   nm_device_802_11_wireless_get_frequency,
		   nm_device_802_11_wireless_get_ssid,
		   nm_device_802_11_wireless_set_ssid,
		   nm_device_802_11_wireless_get_bitrate,
		   nm_device_802_11_wireless_get_bssid,
		   nm_device_802_11_wireless_disable_encryption): use ioctl() directly
			instead of iwlib functions




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3462 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 21:12:03 +00:00
Dan Williams
013251281f 2008-03-14 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (impl_ppp_manager_need_secrets): since it's asynchronous now, it
			should only take the DBusGMethodInvocation argument, not user/pass
			too.  With dbus-glib, async functions only take 2 C arguments since
			the real dbus method arguments get passed back with
			dbus_g_method_return()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3455 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 18:49:34 +00:00
Tambet Ingo
24adb16ef6 2008-03-13 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/ifcfg-suse/plugin.c (update_default_routes):
	Adapt the changes of NMSettingIP4Config.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3453 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-13 22:07:51 +00:00
Dan Williams
fab1135d97 2008-03-13 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
		- (nm_ether_ntop): replacement for iw_ether_ntop()

	* src/NetworkManagerAP.c
	  src/nm-device-802-11-wireless.c
	  src/nm-device-802-3-ethernet.c
		- s/iw_ether_ntop/nm_ether_ntop/g



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3451 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-13 20:52:23 +00:00
Dan Williams
5fa56a8ba4 2008-03-13 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): never set the default route through an
			IPv4LL addressed device



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3449 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-13 20:25:06 +00:00
Dan Williams
6cfaab9c0c 2008-03-13 Dan Williams <dcbw@redhat.com>
* NetworkManagerUtils.c
	  NetworkManagerUtils.h
		- Remove NMSock stuff
		- Remove the completion stuff

	* nm-device.c
	  nm-device.h
	  NetworkManager.c
	  NetworkManagerSystem.c
	  autoip.c
	  nm-device-802-11-wireless.c
	  nm-device-802-3-ethernet.c
		- Remove NMSock and completion stuff
		- Remove nm_ioctl_info()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3448 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-13 19:31:08 +00:00
Dan Williams
3ba6495785 2008-03-12 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (merge_ip4_config): avoid duplicates



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3444 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-13 03:52:50 +00:00
Dan Williams
1cfb4db69f 2008-03-12 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Remove 'manual' and 'autoip' properties
		- Add 'method' property
		- (verify): fix verification with 'method'
		- (finalize): free 'method'
		- (set_property, get_property, nm_setting_ip4_config_class_init): fix
			up for 'method'

	* src/nm-device.c
		- (real_act_stage3_ip_config_start): check IP4Config method
		- (nm_device_new_ip4_autoip_config): add a note about not sucking in
			the future
		- (merge_ip4_config): IP settings are valid with DHCP too
		- (real_act_stage4_get_ip4_config): handle all IP4Config methods
		- (real_act_stage4_ip_config_timeout): don't do autoip on DHCP timeout

	* src/nm-device-802-11-wireless.c
		- (real_act_stage3_ip_config_start): remove; autoip only on demand
		- (real_act_stage4_get_ip4_config): just chain up to parent; autoip
			only on demand

	* system-settings/plugins/ifcfg-fedora/parser.c
	  system-settings/plugins/ifcfg-suse/parser.c
		- (make_ip4_setting): fix up for 'method'



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3443 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-13 03:11:02 +00:00
Dan Williams
d5efb7be6d 2008-03-12 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/parser.c
	  system-settings/plugins/ifcfg-fedora/parser.h
		- (get_ifcfg_name): ignore more file suffixes
		- (is_wireless_device): fix check for ifcfgs that have no TYPE



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3442 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 22:40:25 +00:00
Dan Williams
6f84428f56 2008-03-12 Dan Williams <dcbw@redhat.com>
* configure.in
		- Bring in the bits of gnome-common we actually use (all 15 lines)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3440 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 19:45:05 +00:00
Dan Williams
e5e813b63c 2008-03-12 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/plugin.c
		- (write_auto_wired_connection): new function; write out an auto
			wired connection file since the applet isn't doing it any more
		- (reload_all_connections): write out the auto wired connection file
			if there aren't any wired connections already
		- (init): don't leak a GError



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3435 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 18:32:46 +00:00
Dan Williams
c9315b44e9 2008-03-12 Dan Williams <dcbw@redhat.com>
* src/nm-device-interface.c
		- (nm_device_interface_activate): print the ID of the connection
			that's about to be activated



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3434 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 18:31:00 +00:00
Dan Williams
ea7fd7fffd 2008-03-12 Dan Williams <dcbw@redhat.com>
Harmonize the 802.11 bitrate API

	* introspection/nm-access-point.xml
		- 'Rate' -> 'MaxBitrate'; clarify units

	* introspection/nm-device-802-11-wireless.xml
		- Clarify units of 'Bitrate'

	* src/NetworkManagerAP.c
	  src/NetworkManagerAP.h
		- (set_property, get_property, nm_ap_class_init): rename 'rate'
			property to 'max-bitrate'
		- (foreach_property_cb): convert rate to Kb/s

	* src/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_get_bitrate): return rate in Kb/s

	* libnm-glib/nm-access-point.c
	  libnm-glib/nm-access-point.h
		- 'rate' -> 'max-bitrate'

	* test/nm-tool.c
	  libnm-glib/libnm-glib-test.c
		- Fix up for these changes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3432 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 17:44:39 +00:00
Dan Williams
7896d4552d 2008-03-12 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (nm_device_set_ip4_config): don't send property notifications when
			the ip4 config is set to NULL; it causes a PropertyChanged signal
			which dbus-glib can't parse because the value is NULL, which isn't
			a legal object path.  Setting the IP4 config to NULL is only
			valid when deactivating a device anyway, so the device state change
			will alert listeners that the ip4 config is invalid.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3431 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 17:08:59 +00:00
Dan Williams
a5a8aa0801 2008-03-12 Dan Williams <dcbw@redhat.com>
* src/nm-properties-changed-signal.c
		- (add_to_string): better handling of NULL objects



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3430 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 17:01:24 +00:00
Dan Williams
f30cf17bf7 2008-03-12 Dan Williams <dcbw@redhat.com>
Move the 'carrier' property from NMDevice to NMDevice8023Ethernet;
	convert the libnm-glib NMDevice8023Ethernet to cached properties

	* introspection/nm-device-802-3-ethernet.xml
		- New 'Carrier' property
		- New 'PropertiesChanged' signal

	* introspection/nm-device.xml
		- Remove 'Carrier' property
		- Remove 'CarrierChanged' signal

	* src/nm-device-interface.c
	  src/nm-device-interface.h
		- (nm_device_interface_init): remove 'carrier' property and
			'carrier-changed' signal

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_get_carrier, nm_device_set_carrier): remove
		- (nm_device_activate_stage5_ip_config_commit): don't bother updating
			the link here; wired device will handle that
		- (handle_dhcp_lease_change): don't bother updating link here
		- (get_property, nm_device_class_init): remove carrier property

	* src/nm-device-802-11-wireless.c
		- (real_update_link, nm_device_802_11_wireless_class_init): remove
			real_update_link(); wireless devices don't use carrier at all
		- (link_timeout_cb, supplicant_iface_state_cb_handler,
		   supplicant_iface_connection_state_cb_handler,
		   supplicant_mgr_state_cb_handler): remove anything to do with carrier

	* src/nm-device-802-3-ethernet.c
	  src/nm-device-802-3-ethernet.h
		- (nm_device_802_3_ethernet_carrier_on,
		   nm_device_802_3_ethernet_carrier_off, constructor): use set_carrier()
			instead of nm_device_set_carrier()
		- (device_state_changed): update link from sysfs on activation;
			replaces real_update_link()
		- (real_update_link): remove, replaced by device_state_changed()
		- (nm_device_802_3_ethernet_get_carrier, set_carrier): new functions
		- (nm_device_802_3_ethernet_get_speed): move up with other getters/setters
		- (real_get_generic_capabilities, real_can_interrupt_activation): use
			new get_carrier function
		- (get_property): add 'carrier' property
		- (nm_device_802_3_ethernet_class_init): add 'carrier' property and
			hook into property-changed signal helper

	* src/NetworkManagerPolicy.c
		- (device_carrier_changed): will only ever be called with a wired device
		- (device_added): only hook up to carrier-changed for wired devices

	* libnm-glib/nm-device.c
	  libnm-glib/nm-device.h
		- (constructor, nm_device_class_init): remove carrier-changed signal
		- (device_carrier_changed_proxy): remove; unused
		- (nm_device_get_carrier): remove; carrier a property of wired devices

	* libnm-glib/nm-device-802-3-ethernet.c
	  libnm-glib/nm-device-802-3-ethernet.h
		- Convert to cached properties like AP and Wireless objects
		- (nm_device_802_3_ethernet_get_hw_address): now returns a 'const char *'
			instead of a 'char *', return value should not be freed
		- (nm_device_802_3_ethernet_get_carrier): return current carrier status
		- (constructor): hook into properties-changed helper
		- (set_property, get_property): new functions
		- (nm_device_802_3_ethernet_class_init): export GObject properties

	* test/nm-tool.c
		- (detail_device): strdup the wired hardware address too since it's
			cached now

	* libnm-glib/libnm-glib-test.c
		- (dump_wired): strdup the wired hardware address too since it's
			cached now



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3428 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 16:12:39 +00:00
Dan Williams
763913b200 2008-03-12 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- (set_property, get_property, nm_setting_ip4_config_class_init): add
			the 'autoip' property from the spec



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3427 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 12:45:20 +00:00
Dan Williams
6103540d11 2008-03-11 Dan Williams <dcbw@redhat.com>
* src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
		- (nm_generic_device_get_use_dhcp): remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3426 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-12 02:28:11 +00:00
Dan Williams
3c0df72352 2008-03-11 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (nm_device_deactivate): don't need to munge DNS here; that gets done
			already in nm_device_set_ip4_config()
		- (handle_dhcp_lease_change): fail the device if setting the IP4Config
			due to a DHCP rebind fails
		- (nm_device_set_ip4_config): send property notifications when the
			ip4 config changes
		- (get_property): only report IP4Config property during valid states

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): ignore devices that don't have an ip4
			config; add parameter 'force_update' to allow callers to specify
			that changes should be made even if the default device doesn't change
		- (device_ip4_config_changed): update DNS and routing when the device's
			IP4Config changes, like for DHCP updates
		- (device_added): listen for ip4-config property changes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3425 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 22:26:46 +00:00
Dan Williams
5663f3ba40 2008-03-11 Dan Williams <dcbw@redhat.com>
Fix address handling as a result of DHCP rebind/renew/reboot.

	* src/NetworkManagerSystem.c
		- (check_one_address): delete an address if it doesn't match a given
			one for the same interface
		- (nm_system_device_set_from_ip4_config): don't flush the default route,
			be smarter about flushing addresses (only flush ones that don't
			match the one we're about to apply)

	* src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerSuSE.c
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGentoo.c
		- (nm_system_delete_default_route): remove

	* src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
		- (nm_generic_enable_loopback): fix the loopback device label
		- (nm_generic_delete_default_route): remove; no longer used



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3424 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 22:21:25 +00:00
Dan Williams
7009f91036 2008-03-11 Dan Williams <dcbw@redhat.com>
* src/nm-device-interface.h
		- Delimit property name words with '-', otherwise g_object_notify()
			doesn't work the way we expect



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3423 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 21:33:52 +00:00
Tambet Ingo
48f6638f3d 2008-03-11 Tambet Ingo <tambet@gmail.com>
* src/nm-hal-manager.c (create_device_and_add_to_list): Don't ignore USB devices.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3421 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 17:36:28 +00:00
Dan Williams
c39a038acd fix mis-merge
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3420 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 16:42:17 +00:00
Dan Williams
60da632512 2008-03-11 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): don't change anything if the default device
			hasn't changed; print something out when switching the default route
			and DNS



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3419 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 16:42:00 +00:00
Tambet Ingo
cc2675ebb1 Implement PPPoE.
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3418 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 16:37:41 +00:00
Dan Williams
d03bed314f 2008-03-10 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (handle_dhcp_lease_change): apply an IP4 config to a device in
			response to a DHCP lease change
		- (dhcp_state_changed): handle DHCP lease changes while activated
		- (nm_device_set_ip4_config): remove a previously set named config
			when setting an ip4 config



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3417 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-11 02:46:35 +00:00
Dan Williams
bf104fbc78 2008-03-10 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
		- (nm_serial_device_send_command): report errno on error
		- (get_reply_got_data): limit the size of the overall buffer
		- (wait_for_reply_info_destroy): destroy result string
		- (wait_for_reply_got_data): append received data to an overall buffer
			until timeout, filled buffer, or error instead of keeping a per-call
			buffer.  Some devices send data slowly enough that this function
			gets called multiple times for the same command stream.
		- (nm_serial_device_wait_for_reply): initialize overall buffer for
			wait_for_reply_got_data() here



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3415 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-10 21:34:42 +00:00
Dan Williams
e4bbf230d2 2008-03-10 Dan Williams <dcbw@redhat.com>
* src/nm-cdma-device.c
		- (do_dial, init_modem): handle errors from
			nm_serial_device_send_command_string()

	* src/nm-gsm-device.c
		- (do_dial, manual_registration, automatic_registration_get_network,
		   automatic_registration, enter_pin, check_pin, init_modem): handle
			errors from nm_serial_device_send_command_string()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3414 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-10 21:19:45 +00:00
Dan Williams
43fe2c90c4 2008-03-10 Dan Williams <dcbw@redhat.com>
Patch based on ideas suggested by Bas Zoetekouw <bas@debian.org>

	* src/named-manager/nm-named-manager.c
		- (compute_searches): prefer searches before domains
		- (compute_domain): new function
		- (rewrite_resolv_conf): write out the 'domain' and 'searches' options
		- (merge_one_ip4_config): if there are no searches in the source config,
			merge domains of the source config into the target config
		- (compute_nameservers): make formatting of resolv.conf a bit nicer



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3413 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-10 19:57:55 +00:00
Dan Williams
3f29628a42 2008-03-10 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
		- (get_reply_got_data): clean up indentation, shrink serial buffer
		- (wait_for_reply_got_data): try to handle slower serial devices where
			the reply is broken up into multiple reads by concatenating replies
			together until either an error is received or the search string is
			found



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3412 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-10 19:36:12 +00:00
Dan Williams
483b5f8ebd 2008-03-10 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (nm_device_bring_down): deactivate the device if it's activating too,
			not just if it's already activated.  This makes sure that everything
			from an association attempt is cleaned up (like DHCP for example)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3411 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-10 19:33:36 +00:00
Dan Williams
be4addd6ae 2008-03-10 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
		- (config_fd): report error from TCSETA
		- (nm_serial_device_open): fail when config_fd() fails



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3410 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-10 13:10:17 +00:00
Dan Williams
6ed1b8454a 2008-03-10 Dan Williams <dcbw@redhat.com>
* src/nm-ip4-config.c
		- (nm_ip4_config_init): allocate searches list
		- (finalize): free searches list



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3409 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-10 13:08:37 +00:00
Dan Williams
9a09a4b4d0 2008-03-09 Dan Williams <dcbw@redhat.com>
Patch from Bas Zoetekouw <bas@debian.org>

	* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_manager_get_ip4_config): handle domain-search option too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3403 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-09 05:15:12 +00:00