Commit graph

1896 commits

Author SHA1 Message Date
Dan Williams 4129798d51 2008-10-30 Dan Williams <dcbw@redhat.com>
* src/nm-device-ethernet.c
	  src/nm-device-wifi.c
	  src/nm-device.c
	  src/ppp-manager/nm-ppp-manager.c
		- Harmonize return checking of ioctl

	* system-settings/plugins/ifcfg-fedora/reader.c
		- (is_wireless_device): fall back to SIOCGIWNAME (rh #466340)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4236 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-30 05:52:20 +00:00
Dan Williams cbd88c9482 2008-10-30 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (nm_ppp_manager_start): if /dev/ppp doesn't exist, load the
			ppp_generic module to create it (bgo #533064)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4235 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-30 05:20:53 +00:00
Dan Williams b955a8197e 2008-10-30 Dan Williams <dcbw@redhat.com>
Patch from Alexander Sack <asac@canonical.com>

	Fix "ppp connections don't honour ip4 connection settings"

	* src/nm-device-ethernet.c
		- (real_act_stage4_get_ip4_config): merge ip4config settings
			with results from ppp manager

	* src/nm-serial-device.c
		- (real_act_stage4_get_ip4_config): merge ip4config settings
			with results from ppp manager



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4234 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-30 04:31:29 +00:00
Dan Williams bfb7243663 2008-10-29 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Make properties private and add accessor functions

	* callouts/nm-dispatcher-action.c
	  libnm-glib/libnm-glib-test.c
	  libnm-util/nm-utils.c
	  src/NetworkManagerPolicy.c
	  src/NetworkManagerSystem.c
	  src/NetworkManagerUtils.c
	  src/dhcp-manager/nm-dhcp-dhclient.c
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/dnsmasq-manager/nm-dnsmasq-manager.c
	  src/nm-device-wifi.c
	  src/nm-device.c
	  src/nm-hso-gsm-device.c
	  src/nm-ip4-config.c
	  src/nm-ip4-config.h
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifcfg-suse/plugin.c
	  system-settings/plugins/ifupdown/parser.c
	  test/nm-tool.c
	  vpn-daemons/vpnc/properties/nm-vpnc.c
		- Use IP4 accessor functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4233 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-29 14:35:25 +00:00
Tambet Ingo 8f6eb995f9 2008-10-29 Tambet Ingo <tambet@gmail.com>
Half of it by Dan Williams <dcbw@redhat.com>

	* libnm-util/libnm-util.ver
	libnm-util/nm-setting-vpn.c
	libnm-util/nm-setting-vpn.h
		- Make properties private and add accessor functions.

	* src/vpn-manager/nm-vpn-connection.c
	src/vpn-manager/nm-vpn-manager.c
	system-settings/plugins/keyfile/reader.c
	vpn-daemons/openvpn/properties/auth-helpers.c
	vpn-daemons/openvpn/properties/import-export.c
	vpn-daemons/openvpn/properties/nm-openvpn.c
	vpn-daemons/openvpn/src/nm-openvpn-service.c
	vpn-daemons/pptp/auth-dialog/main.c
	vpn-daemons/pptp/properties/advanced-dialog.c
	vpn-daemons/pptp/properties/nm-pptp.c
	vpn-daemons/pptp/src/nm-pptp-service.c
	vpn-daemons/vpnc/properties/nm-vpnc.c
	vpn-daemons/vpnc/src/nm-vpnc-service.c
		- Use VPN setting accessors.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4232 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-29 09:13:40 +00:00
Dan Williams 69713a8b93 2008-10-28 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-wireless.c
	  libnm-util/nm-setting-wireless.h
		- Make properties private and add accessor functions

	* src/NetworkManagerAP.c
	  src/nm-device-wifi.c
	  src/nm-manager.c
	  src/supplicant-manager/nm-supplicant-config.c
	  system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifupdown/parser.c
		- Use wireless setting accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4231 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-28 19:26:00 +00:00
Dan Williams 39467c7e33 2008-10-27 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
		- Make properties private and add accessor functions

	* src/ppp-manager/nm-ppp-manager.c
		- Use ppp setting accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4229 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 17:39:59 +00:00
Dan Williams c438326110 2008-10-27 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/nm-setting.h
	  libnm-util/nm-setting.c
		- Make properties private and add accessor functions

	* libnm-util/nm-connection.c
	  libnm-util/nm-setting-8021x.c
	  libnm-util/nm-setting-cdma.c
	  libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-gsm.c
	  libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip6-config.c
	  libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-pppoe.c
	  libnm-util/nm-setting-serial.c
	  libnm-util/nm-setting-template.c
	  libnm-util/nm-setting-vpn.c
	  libnm-util/nm-setting-wired.c
	  libnm-util/nm-setting-wireless-security.c
	  libnm-util/nm-setting-wireless.c
	  system-settings/plugins/keyfile/reader.c
	  system-settings/plugins/keyfile/writer.c
		- Use setting accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4228 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 17:36:18 +00:00
Dan Williams 519f8cd6c9 2008-10-27 Dan Williams <dcbw@redhat.com>
* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-connection.h
		- Add a 'read-only' property that indicates the connection cannot be
			modified

	* system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifupdown/parser.c
		- These plugins are read-only at the moment

	* system-settings/plugins/keyfile/reader.c
	  system-settings/plugins/keyfile/writer.c
		- Read-only shouldn't get saved out to files or read in from them



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4227 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 17:07:42 +00:00
Tambet Ingo efdf6bab77 2008-10-27 Tambet Ingo <tambet@gmail.com>
* src/nm-device-ethernet.c (nm_device_ethernet_get_speed): Implement
	correct speed reporting for fast devices (kernel >= 2.6.27).

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4226 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 10:50:21 +00:00
Dan Williams 494b3a662d 2008-10-26 Dan Williams <dcbw@redhat.com>
Attempt to compensate for modems that don't enable full AT parsing before
	the PIN has been entered.

	* src/nm-gsm-device.c
		- (init_modem): accept different init strings
		- (init_done): try different init strings on failure
		- (check_pin_done): on PIN success, do full modem init



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4222 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-27 02:19:57 +00:00
Dan Williams 7d723b54a4 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-connection.h
		- Make properties private and add accessor functions

	* src/NetworkManagerPolicy.c
	  src/nm-cdma-device.c
	  src/nm-device-ethernet.c
	  src/nm-device-interface.c
	  src/nm-device-wifi.c
	  src/nm-gsm-device.c
	  src/nm-manager.c
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-fedora/plugin.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/ifupdown/parser.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/keyfile/writer.c
	  system-settings/src/main.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4220 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:41:37 +00:00
Dan Williams 76c366b546 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-gsm.c
	  libnm-util/nm-setting-gsm.h
		- Make properties private and add accessor functions

	* src/nm-gsm-device.c
	  src/nm-hso-gsm-device.c
	  src/ppp-manager/nm-ppp-manager.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4219 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:23:37 +00:00
Dan Williams 41b0e05573 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-cdma.c
	  libnm-util/nm-setting-cdma.h
		- Make properties private and add accessor functions

	* src/nm-cdma-device.c
	  src/ppp-manager/nm-ppp-manager.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4218 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:21:01 +00:00
Dan Williams 55fd788e5a 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-pppoe.c
	  libnm-util/nm-setting-pppoe.h
		- Make properties private and add accessor functions

	* src/nm-device-ethernet.c
	  src/ppp-manager/nm-ppp-manager.c
		- Use those accesors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4217 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:08:58 +00:00
Dan Williams fff2e85bd6 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-wired.c
	  libnm-util/nm-setting-wired.h
		- Make properties private and add accessor functions

	* src/nm-device-ethernet.c
	  system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/src/main.c
		- Use those accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4215 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 17:02:05 +00:00
Dan Williams 3949779389 2008-10-26 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* libnm-util/libnm-util.ver
	  libnm-util/nm-setting-serial.c
	  libnm-util/nm-setting-serial.h
	  src/nm-serial-device.c
		- Make properties private and use accessors instead



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4214 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 16:54:17 +00:00
Dan Williams 1cb9bacaad 2008-10-26 Dan Williams <dcbw@redhat.com>
* 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
		- Add state-to-string conversion functions

	* src/nm-device-wifi.c
	  src/nm-device-ethernet.c
		- Normalize state info logging and use strings instead of numbers



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4213 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 16:32:29 +00:00
Dan Williams 6d86495f71 2008-10-26 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): ignore host routes when determining whether
			a VPN connection should own the default route (bgo #552594)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4212 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-26 15:48:00 +00:00
Dan Williams 0265bfe52d 2008-10-24 Dan Williams <dcbw@redhat.com>
* src/nm-gsm-device.c
		- (set_apn): remove erroneous spaces in AT+CGDCONT command (Jerone Young)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4211 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-24 15:15:06 +00:00
Dan Williams b7b5110d16 2008-10-23 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (create_pppd_cmd_line): pppd always parses /etc/ppp/options, so always
			add really important stuff to the command line to ensure that NM
			overrides /etc/ppp/options (bgo #556781)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4209 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-23 18:04:47 +00:00
Dan Williams 817deade70 2008-10-22 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerSystem.c
	  src/nm-device.c
		- Use the device's IP interface where appropriate (Per Hallsmark)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4206 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-22 16:32:13 +00:00
Dan Williams 08cb46aa8a 2008-10-22 Dan Williams <dcbw@redhat.com>
* src/nm-gsm-device.c
		- (schedule_automatic_registration_again): use a short timeout here
			instead of an idle handler to avoid using too much CPU polling for
			something we should be waiting a bit for anyway



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4205 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-22 15:22:17 +00:00
Dan Williams f029b6f4e9 2008-10-22 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
		- Add device state change reason for carrier changes

	* src/nm-device-ethernet.c
		- (set_carrier): use the carrier change reason when changing device
			state in response to carrier changes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4203 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-22 13:35:07 +00:00
Dan Williams 1a411fae81 2008-10-21 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_etc_hosts): don't leak errors, and ensure that
			g_file_set_contents() gets a valid error placeholder (rh #461933)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4201 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-21 17:56:46 +00:00
Dan Williams 0c8a2000cb 2008-10-21 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (free_get_settings_info): don't use the DBusGProxy which could be
			disposed of by the time the function is called
		- (internal_new_connection_cb): save connection scope
		- (connection_get_settings_cb): don't replace a connection unless it's
			actually different from the existing one; fixes an issue where
			killing the settings service wouldn't deactivate an active connection
			provided by that settings service, because it was using a connection
			that had already been replaced in the system or user hash



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4200 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-21 11:11:43 +00:00
Dan Williams 92e5e52019 2008-10-21 Dan Williams <dcbw@redhat.com>
* src/NetworkManager.c
		- (main): keep the DHCP manager around since it's a singleton; fixes
			a use-after-free exposed by r4196 since the DHCP manager singleton
			variable isn't cleared when the DHCP manager object is finalized



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4199 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-21 11:07:42 +00:00
Dan Williams 07541a1eb8 2008-10-20 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-wireless-security.c
		- (verify): accept 'none' as a pairwise cipher with Ad-Hoc WPA connections



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4198 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-20 21:39:56 +00:00
Dan Williams 049a5fa7ef 2008-10-20 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-config.c
		- (ADD_STRING_LIST_VAL): don't add empty values to the supplicant config



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4197 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-20 21:08:11 +00:00
Dan Williams 84387ad613 2008-10-20 Dan Williams <dcbw@redhat.com>
* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_manager_get): fix mismatched refcount; creating the dhcp
			manager object already refs it once
		- (nm_dhcp_manager_cancel_transaction_real): clear freed variables that
			also get cleaned up by nm_dhcp_device_destroy() to prevent
			double-frees



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4196 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-20 11:52:11 +00:00
Dan Williams 01a283d039 2008-10-20 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (initial_get_connections): use private dbus manager, don't keep
			ref-ing the singleton.  Fixes mismatched refcounts of the dbus
			manager object.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4194 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-20 11:49:00 +00:00
Dan Williams a525ceb802 2008-10-18 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-settings.c
	  libnm-glib/nm-settings.h
		- Rename the "get_secrets" virtual function "service_get_secrets" to
			clarify when it's used; NMExportedConnetion is a base-class for both
			the client and service side, which is sort of confusing, and
			get_secrets only makes sense on the service side.

	* libnm-glib/nm-dbus-connection.c
		- (get_secrets): remove, unused, and clients need to do extra work to
			get secrets anyway since the call can block on the remote side

	* system-settings/plugins/ifupdown/nm-ifupdown-connection.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
		- Fix up for get_secrets -> service_get_secrets



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4192 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-18 13:56:24 +00:00
Dan Williams e0319e24a2 2008-10-16 Dan Williams <dcbw@redhat.com>
* src/nm-device-wifi.c
		- (constructor): correctly determine encryption capabilities



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4185 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-16 17:06:35 +00:00
Dan Williams 0bb853b300 2008-10-15 Dan Williams <dcbw@redhat.com>
* src/nm-device-wifi.c
		- (wireless_qual_to_percent): fix quality calculation in a fallback case
			(Johannes Berg)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4184 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-15 22:47:38 +00:00
Dan Williams 38dbdae266 2008-10-15 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerSystem.c
		- (ip4_dest_in_same_subnet): tighter checks on subnet matching,
			if the ip4_dest is in a smaller subnet contained within a subnet
			the machine is currently on, the destination is in the same subnet
		- (nm_system_device_set_ip4_route): move subnet checks to callers
		- (add_vpn_gateway_route): check if the VPN gateway is in the same
			subnet as the parent device, and if so, don't add the direct
			host route via the parent device's gateway (bgo #481620)
		- (nm_system_apply_ip4_config): check whether the route to be added
			is contained within a subnet the device is already on



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4181 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-15 17:12:58 +00:00
Dan Williams f078992e4d 2008-10-11 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
	  include/NetworkManagerVPN.h
		- Add a few more state reasons for the device deactivated state

	* src/nm-device-interface.c
	  src/nm-device-interface.h
		- (nm_device_interface_deactivate): add a 'reason' argument

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
		- (nm_device_state_changed): pass the state change reason to
			nm_device_take_down()
		- (nm_device_set_managed): take a 'reason' argument, and pass it along
			to the state change function

	* src/nm-manager.c
	  src/nm-manager.h
		- (remove_one_device, handle_unmanaged_devices, sync_devices,
		   impl_manager_sleep): pass a reason code to nm_device_set_managed()
		- (nm_manager_deactivate_connection): add a 'reason' argument and pass
			something reasonable along to VPN deactivation

	* src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-manager.h
		- (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
			pass that along to nm_vpn_connection_disconnect()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4174 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-11 19:57:45 +00:00
Dan Williams 98f392b085 2008-10-11 Dan Williams <dcbw@redhat.com>
* src/nm-device-wifi.c
		- (can_scan): remove old madwifi hack for not scanning while connected



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4173 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-11 18:32:24 +00:00
Dan Williams 1c0a0ec4a8 2008-10-11 Dan Williams <dcbw@redhat.com>
Add support for VPN subnet gateways (bgo #549196)

	* include/NetworkManager.h
		- Add key for internal VPN subnet gateway

	* src/vpn-manager/nm-vpn-connection.c
		- (ip_address_to_string): return a const from a static buffer so we
			don't leak a lot of strings
		- (print_vpn_config): print internal VPN gateway as well
		- (nm_vpn_connection_ip4_config_get): grab internal VPN gateway from
			VPN service too
		- (nm_vpn_connection_get_ip4_internal_gateway): new function

	* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_device_replace_default_ip4_route): split into two, one for
			VPN connections and one for normal devices
		- (replace_default_ip4_route): break out route stuff into its own function
		- (nm_system_replace_default_ip4_route_vpn,
		   nm_system_replace_default_ip4_route): simplify by having two cases,
			one for VPNs and one for normal devices

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): simplify, use split default route replacement
			functions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4169 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-11 14:26:41 +00:00
Dan Williams ad7a46d867 2008-10-10 Dan Williams <dcbw@redhat.com>
Rework default route handling to consolidate decisions in the policy,
	and to take active VPN connections into account when changing the default
	route (bgo #545912)

	* src/NetworkManager.c
		- (main): pass the vpn_manager to the policy so it knows about active
			VPN connections; clean up the named manager which wasn't done before

	* src/NetworkManagerPolicy.c
	  src/NetworkManagerPolicy.h
		- (nm_policy_new): get a clue about the vpn_manager
		- (update_default_route): remove, fold into update_routing_and_dns()
		- (update_routing_and_dns): handle active VPN connections too; an
			active VPN connection becomes the default route if it does not have
			server-specified or user-specified custom routes.  Otherwise, the
			best active device gets the default route
		- (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
		   nm_policy_destroy): track VPN connection activation and deactivation
			and update the default route when appropriate

	* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
			in the VPN connection itself
		- (nm_system_vpn_device_set_from_ip4_config,
		   nm_system_device_set_from_ip4_config): merge together to make
			nm_system_apply_ip4_config()
		- (add_vpn_gateway_route): add a route to the VPN's external gateway
			via the parent device
		- (nm_system_apply_ip4_config): simplify
		- (add_ip4_route_to_gateway): new function; add a direct route to the
			gateway if needed
		- (nm_system_device_replace_default_ip4_route): simplify, break gateway
			route stuff out into add_ip4_route_to_gateway() for clarity

	* src/nm-device.c
		- (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()

	* src/vpn-manager/nm-vpn-connection.c
	  src/vpn-manager/nm-vpn-connection.h
		- (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
		   nm_vpn_connection_get_parent_device): add
		- (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
			device explicit
		- (connection_state_changed): update the named manager now that
			nm_system_vpn_device_unset_from_ip4_config() is gone; do something
			useful on errors

	* src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-manager.h
		- Add a 'connection-activated' signal
		- (nm_vpn_manager_get_active_connections): new function; mainly for the
			policy to find out about active VPN connections



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4167 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 23:05:45 +00:00
Tambet Ingo 9b82c1e92f 2008-10-10 Tambet Ingo <tambet@gmail.com>
* src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
	a daemon to prevent NM logging spew on console on startup and shutdown (due
	to dependency loop between NM and syslog).

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4166 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 12:05:04 +00:00
Alexander Sack e6644a699a 2008-10-10 Alexander Sack <asac@ubuntu.com>
Implement managed mode. We bind devices configured in /etc/network/interfaces
	to their connections by updating wired/wireless setting with the
	mac address of the device.

	* system-settings/plugins/ifupdown/plugin.c
		- (get_net_address_for_udi): implement function to retrieve MAC
			address of udi from hal in GByteArray format
		- (bind_device_to_connection): bind mac address of device to
			wired/wireless system connection
		- (hal_device_added_cb): call bind_device_to_connection for
			system connections with a matching interface.name
		- (hal_device_added_cb): ensure that all code paths
			properly free the "iface" string.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4165 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:25:53 +00:00
Alexander Sack da167bbcb1 2008-10-10 Alexander Sack <asac@ubuntu.com>
Parse nm-system-settings.conf and allow admins to either use managed and unmanaged
	mode of the ifupdown system config plugin.

	* system-settings/plugins/ifupdown/plugin.c
		- (SCPluginIfupdown_init): parse nm-system-settings.conf keyfile and set
			private unmanage_well_known state field accordingly



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4164 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:14:26 +00:00
Alexander Sack ab59790905 2008-10-10 Alexander Sack <asac@ubuntu.com>
Implement unmanaged mode that will prevent all devices in the
	well_known_udis set from being touched by NetworkManager

	* system-settings/plugins/ifupdown/plugin.c
		- (typedef struct SCPluginIfupdownPrivate): add gboolean
			unmanage_well_known field used to turn on/off unmanaged
			mode
		- (hal_device_added_cb,hal_device_remove_cb): emit |unmanaged-devices-changed|
			signal when well_known_udis get added/removed
		- (SCPluginIfupdown_get_unmanaged_devices): return all well_known_udis
			if we are in unmanaged mode



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4163 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:13:26 +00:00
Alexander Sack 0359c9a59b 2008-10-10 Alexander Sack <asac@ubuntu.com>
Add support to track network devices that have a configuration
	with a matching interface.name in /etc/network/interfaces

	* system-settings/plugins/ifupdown/plugin.c
		- (typedef struct SCPluginIfupdownPrivate): add hash table
			to track |well_known_udis|
		- (get_iface_for_udi): helper function to get interface.name
			for a udi
		- (hal_device_added_cb, hal_device_removed_cb): callbacks
			that add and remove devices to and from the well_known_udis
			set depending on whether their |interface.name| matches
			any interface definition in /etc/network/interfaces
		- (SCPluginIfupdown_init): connect callbacks from above with
			hal_mgr and setup well_known_udis hashtable
		- (GObject__dispose): destroy well_known_udis hashtable
		- (hal_device_added_cb2): implement wrapper callback with GFunc
			signature. user_data is supposed to be a triple (hal_mgr,
			config and devtype)
		- (SCPluginIfupdown_init): bootstrap wired and wifi devices for
			startup and call hal_device_added_cb2



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4162 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:12:05 +00:00
Alexander Sack 73dfd9643e 2008-10-10 Alexander Sack <asac@ubuntu.com>
Remove implementation for not used NMSystemConfigInterface callback functions
	in ifupdown plugin

	* system-settings/plugins/ifupdown/plugin.c
		- (SCPluginIfupdown_unmanaged_devices_changed): removed
		- (SCPluginIfupdown_connection_added): removed



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4161 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 11:10:19 +00:00
Dan Williams 1182e8579b 2008-10-08 Dan Williams <dcbw@redhat.com>
Add a 'hostname' dispatcher action triggered on hostname changes (bgo #552983)

	* src/NetworkManagerUtils.c
		- (nm_utils_call_dispatcher): add a 'hostname' action

	* src/NetworkManagerPolicy.c
		- (set_system_hostname): dispatch hostname changes

	* callouts/nm-dispatcher-action.c
		- (nm_dispatcher_action): handle 'hostname' actions



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4158 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-08 22:40:42 +00:00
Dan Williams b339761a91 2008-10-08 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerSystem.c
		- (find_route): ref the route so it doesn't get destroyed when the cache
			is cleared
		- (nm_system_device_set_priority): unref the route here after it's done
			being used



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4156 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-08 19:45:52 +00:00
Dan Williams 9068f0b6c1 2008-10-08 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
		- Turn on serial debugging when NM_SERIAL_DEBUG is set in the environment



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4155 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-08 16:14:01 +00:00
Tambet Ingo 1e741a298e 2008-10-08 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/keyfile/nm-keyfile-connection.c (update): Update the
	connection with new settings before saving it.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4154 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-08 14:51:06 +00:00
Dan Williams c468809b57 2008-10-06 Dan Williams <dcbw@redhat.com>
* src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- nm_ip4_config_is_exported -> nm_ip4_config_get_dbus_path

	* src/nm-device-interface.c
		- (nm_device_interface_init): make 'ip4-config' a boxed property of type
			DBUS_TYPE_G_OBJECT_PATH so that we can make it NULL when we need to
			by using '/' for the object path

	* src/nm-device.c
		- (src/nm-device.c): marshal missing/unexported ip4-config through
			dbus as '/' since dbus-glib can't handle NULL objects nor can
			dbus handle NULL object paths



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4152 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-06 19:30:59 +00:00