Commit graph

1890 commits

Author SHA1 Message Date
Dan Williams 57ed51e2fe 2008-10-02 Dan Williams <dcbw@redhat.com>
Patch from Alexander Sack <asac ubuntu com>

	* system-settings/plugins/ifupdown/parser.c
		- Implement more graceful ip4 config parsing for cases where
		  /etc/network/interfaces omits basic ip4 settings, such as gateway etc
		  by using default values



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4139 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-02 13:48:41 +00:00
Dan Williams 64f8dfa0af 2008-10-02 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (device_state_changed): when marking a connection invalid, clear its
			secrets too so that fresh secrets get requested the next time



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4138 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-02 13:21:14 +00:00
Dan Williams d83cc33a7f 2008-10-01 Dan Williams <dcbw@redhat.com>
* system-settings/src/dbus-settings.c
		- (nm_sysconfig_settings_init): cache system hostname on startup as
			a fallback if no plugin provides a hostname
		- (get_property): fall back to cached hostname if no plugin provides
			a hostname



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4136 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-01 22:59:21 +00:00
Dan Williams 95798eb451 2008-10-01 Dan Williams <dcbw@redhat.com>
Fix setting value comparison issue that caused some settings to look the
	same when they were really different (rh #464417)

	* libnm-util/nm-param-spec-specialized.c
		- (type_is_fixed_size): return fundamental size of the fixed type too
		- (nm_gvalues_compare_collection): use the fundamental fixed type size
			in the comparison so that the _entire_ fixed type collection gets
			compared rather than just the first 'len1' bytes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4134 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-01 21:38:23 +00:00
Dan Williams 97f6070cfd 2008-09-30 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (lookup_thread_worker): don't store the idle handler ID becuase the
			idle handler could have already run and freed the LookupThread
			structure



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4126 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-30 16:48:16 +00:00
Tambet Ingo 50f3ec27a2 2008-09-30 Tambet Ingo <tambet@gmail.com>
* src/nm-device.c (nm_device_get_priority): Implement.
	(nm_device_set_ip4_config): Send the device priority to system ip4
	config setter.

	* src/NetworkManagerSystem.c (nm_system_device_set_from_ip4_config):
	Add priority argument and if it's >= 0, set the priority of the network
	route added automatically by netlink (or kernel?).
	(nm_system_device_set_priority): Implement.

	* src/NetworkManagerPolicy.c (get_best_device): Use
	nm_device_get_priority() instead of home-grown version. Revert the
	meaning, best priority is the lowest one.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4125 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-30 15:04:10 +00:00
Dan Williams 453940a799 2008-09-29 Dan Williams <dcbw@redhat.com>
Handle ipw3945 suspend/resume by retrying the GIWRANGE request a few times
	when it returns EAGAIN (rh #362421)

	* src/nm-device-wifi.c
		- (wireless_get_range): try GIWRANGE a few times until the card responds
		- (real_get_generic_capabilities, constructor): use wireless_get_range()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4120 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-29 11:50:43 +00:00
Dan Williams f1a41c0a8e 2008-09-28 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
	  src/nm-serial-device.h
		- (nm_serial_device_close): stop PPP manager here so that PPP gets
			cleaned at the right times when subclasses close the serial port too
		- (nm_serial_device_send_command): use a default send delay; don't
			spin forever on EAGAIN
		- (get_reply_done, get_reply_got_data, nm_serial_device_get_reply):
			remove, no longer used
		- (find_response): return the matched response if any
		- (nm_serial_device_wait_reply_blocking): wait for a reply but block
			while doing so
		- (wait_for_reply_done): pass the matched response to the callback
		- (wait_for_reply_got_data): save the matched response; simplify timeout
			handling
		- (nm_serial_device_wait_for_reply): make 'responses' and 'terminators'
			const since they never get modified
		- (cleanup_device): split out common cleanup stuff to a new function
		- (real_deactivate_quickly, finalize): use cleanup_device()

	* src/nm-gsm-device.c
		- (modem_get_reply): remove, unused
		- (set_apn): give the card a bit more time to respond
		- (manual_registration_again, schedule_manual_registration_again,
		   manual_registration_response, manual_registration): handle manual
			registration timeouts better by retrying registration a few times
			because cards are a bit slow after CFUN=1
		- (automatic_registration_get_network, get_network_response): use
			modem_wait_for_reply() because it interacts better with the serial
			buffer and does more intelligent matching; need to wait for 'OK'
			rather than just matching terminators
		- (schedule_automatic_registration_again,
		   automatic_registration_response, automatic_registration): retry
			registration a few times on timeout or "searching" because cards
			take a bit to find a network after being powered up with CFUN=1
		- (power_up_response, power_up, init_full_done, enter_pin,
		   check_pin_done): power up the card with CFUN=1 before trying to
			register with the network
		- (init_modem_full, init_modem): use more standard 3G init strings

	* src/nm-hso-gsm-device.c
		- (modem_get_reply): remove, unused
		- (hso_ip4_config_response, real_act_stage3_ip_config_start): use
			modem_wait_for_reply() to match actual responses instead of single
			termination characters; it doesn't leave stuff in the serial buffer
			that might confuse later calls
		- (real_deactivate_quickly): use nm_serial_device_wait_reply_blocking()
			to ensure that the call is really disconnected and not leave extra
			stuff in the serial buffer

	* src/nm-cdma-device.c
		- (power_up_response, power_up, init_done): try Sierra-style modem
			power up before attempting to connect



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4119 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-28 22:55:40 +00:00
Dan Williams 33110acba8 2008-09-27 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-gsm.c
		- (verify): verify GSM network ID



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4118 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-28 03:17:09 +00:00
Dan Williams dbd1e23f13 2008-09-25 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-gsm.c
	  libnm-util/nm-setting-gsm.h
		- Fix up NM_GSM_NETWORK_* constants to accurately reflect the network
			technology terms (bgo #551361)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4106 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-25 16:16:52 +00:00
Dan Williams 79256975d1 2008-09-25 Dan Williams <dcbw@redhat.com>
Fix bgo #549401 (inspired by patch from Alexander Sack)

	* src/nm-device-ethernet.c
		- (finish_supplicant_task): clean up scheduled tasks and free memory
		- (remove_supplicant_interface_error_handler): remove the supplicant
			error idle callback too
		- (supplicant_interface_release): rename from supplicant_interface_clean
			to match nm-device-wifi.c; clean up supplicant interface-related
			state tasks when the supplicant interface is disposed of
		- (schedule_state_handler): add scheduled tasks to a list so they can
			be cleaned up later
		- (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
		   supplicant_iface_connection_state_cb_handler): use
			finish_supplicant_task() to clean up each completed task
		- (supplicant_iface_connection_error_cb_handler,
		   supplicant_connection_timeout_cb): clear source id when the task is
			complete
		- (supplicant_iface_connection_error_cb): save scheduled task id for
			later cleanup
		- (nm_device_ethernet_dispose): clean up any pending supplicant state
			tasks

	* src/nm-device-wifi.c
		- (finish_supplicant_task): clean up scheduled tasks and free memory
		- (remove_supplicant_interface_error_handler): remove the supplicant
			error idle callback too
		- (supplicant_interface_release): clean up supplicant interface-related
			state tasks when the supplicant interface is disposed of
		- (schedule_state_handler): add scheduled tasks to a list so they can
			be cleaned up later
		- (supplicant_mgr_state_cb_handler, supplicant_iface_state_cb_handler,
		   supplicant_iface_connection_state_cb_handler): use
			finish_supplicant_task() to clean up each completed task
		- (supplicant_iface_connection_error_cb_handler): clear source id when
			the task is complete
		- (supplicant_iface_connection_error_cb): save scheduled task id for
			later cleanup
		- (nm_device_wifi_dispose): clean up any pending supplicant state tasks



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4105 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-25 10:02:28 +00:00
Tambet Ingo 7faa88681b 2008-09-24 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/keyfile/plugin.c: Implement unmanaged_devices
	method and get/set hostname property.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4094 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-24 15:03:33 +00:00
Tambet Ingo 6ac525267b 2008-09-24 Tambet Ingo <tambet@gmail.com>
* src/supplicant-manager/nm-supplicant-interface.c
	(nm_supplicant_interface_disconnect): Don't increment the reference
	count when disconnecting. The problem is on shutdown, when the replies
	to these commands do not arrive before NM exits, resulting on never
	calling supplicant interface's dispose(), which removes the interface
	from supplicant.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4093 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-24 11:45:44 +00:00
Tambet Ingo 0f418a3509 2008-09-24 Tambet Ingo <tambet@gmail.com>
* libnm-glib/nm-vpn-plugin-ui-interface.c: Add type checking to
	all the public function arguments.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4089 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-24 07:19:17 +00:00
Tambet Ingo b37fc86385 2008-09-22 Tambet Ingo <tambet@gmail.com>
* src/vpn-manager/nm-vpn-connection.c: Add a signal handler for the
	"Failure" signal from VPN plugins, store the failure reason, and
	use it when the state is changed to failure.

	* introspection/nm-vpn-plugin.xml: Fix the "Failure" signal's type
	description.

	* include/NetworkManagerVPN.h (NMVPNConnectionStateReason): Add a new
	reason to the end of the list to not break the API.
	(NMVPNPluginFailure): Move it here (from libnm-glib/nm-vpn-plugin.h)
	so it can be shared by plugins and daemon.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4088 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-22 15:29:00 +00:00
Dan Williams 8d19530da2 2008-09-18 Dan Williams <dcbw@redhat.com>
Patch from Alexander Sack <asac@ubuntu.com>

	* configure.in
	  system-settings/plugins/Makefile.am
	  system-settings/plugins/ifupdown/Makefile.am
	  system-settings/plugins/ifupdown/interface_parser.c
	  system-settings/plugins/ifupdown/interface_parser.h
	  system-settings/plugins/ifupdown/nm-ifupdown-connection.c
	  system-settings/plugins/ifupdown/nm-ifupdown-connection.h
	  system-settings/plugins/ifupdown/parser.c
	  system-settings/plugins/ifupdown/parser.h
	  system-settings/plugins/ifupdown/plugin.c
	  system-settings/plugins/ifupdown/plugin.h
		- Implement a Debian/Ubuntu legacy network configuration plugin
			(gnome.org #551941)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4078 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-18 15:29:59 +00:00
Dan Williams 9d5a2291f7 2008-09-18 Dan Williams <dcbw@redhat.com>
Implement support for honoring configured and automatic hostnames, and for
	setting the configured hostname.

	* introspection/nm-ip4-config.xml
	  src/nm-ip4-config.c
	  src/nm-ip4-config.h
	  src/dhcp-manager/nm-dhcp-manager.c
		- Remove useless hostname property; it's not really part of the IPv4
			config

	* introspection/nm-settings-system.xml
	  libnm-glib/nm-dbus-settings-system.c
	  libnm-glib/nm-dbus-settings-system.h
		- Add SetHostname() call to system settings D-Bus interface
		- Add Hostname property to system settings D-Bus interface
		- (nm_dbus_settings_system_save_hostname,
		   nm_dbus_settings_system_get_hostname): implement

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_get_dhcp4_config): implement

	* src/nm-manager.c
	  src/nm-manager.h
		- Fetch and track system settings service hostname changes, and proxy
			the changes via a GObject property of the manager

	* system-settings/src/nm-system-config-interface.c
	  system-settings/src/nm-system-config-interface.h
		- Replace nm_system_config_interface_supports_add() with a capabilities
			bitfield

	* system-settings/src/nm-system-config-error.c
	  system-settings/src/nm-system-config-error.h
		- Add additional errors

	* system-settings/src/dbus-settings.c
	  system-settings/src/dbus-settings.h
		- (get_property, nm_sysconfig_settings_class_init): add hostname
			property; first plugin returning a hostname wins
		- (impl_settings_add_connection): use plugin capabilities instead of
			nm_system_config_interface_supports_add()
		- (impl_settings_save_hostname): implement hostname saving

	* src/NetworkManagerPolicy.c
		- (lookup_thread_run_cb, lookup_thread_worker, lookup_thread_new,
		   lookup_thread_die): implement an asynchronous hostname lookup thread
			which given an IPv4 address tries to look up the hostname for that
			address with reverse DNS
		- (get_best_device): split out best device code from
			update_routing_and_dns()
		- (update_etc_hosts): update /etc/hosts with the machine's new hostname
			to preserve the 127.0.0.1 reverse mapping that so many things require
		- (set_system_hostname): set a given hostname
		- (update_system_hostname): implement hostname policy; a configured
			hostname (from the system settings service) is used if available,
			otherwise an automatically determined hostname from DHCP, VPN, etc.
			If there was no automatically determined hostname, reverse DNS of
			the best device's IP address will be used, and as a last resort the
			hostname 'localhost.localdomain' is set.
		- (update_routing_and_dns): use get_best_device(); update the system
			hostname when the network config changes
		- (hostname_changed): update system hostname if the system settings
			service signals a hostname change
		- (nm_policy_new): list for system settings service hostname changes
		- (nm_policy_destroy): ensure that an in-progress hostname lookup thread
			gets told to die

	* system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/ifcfg-suse/plugin.c
		- (get_property, sc_plugin_ifcfg_class_init): implement hostname and
			capabilities properties

	* system-settings/plugins/ifcfg-fedora/shvar.c
		- (svOpenFile): re-enable R/W access of ifcfg files since the plugin
			writes out /etc/sysconfig/network now

	* system-settings/plugins/ifcfg-fedora/plugin.c
		- (plugin_get_hostname): get hostname from /etc/sysconfig/network
		- (plugin_set_hostname): save hostname to /etc/sysconfig/network
		- (sc_network_changed_cb): handle changes to /etc/sysconfig/network
		- (sc_plugin_ifcfg_init): monitor /etc/sysconfig/network for changes
		- (get_property, set_property, sc_plugin_ifcfg_class_init): implement
			hostname get/set and capabilities get



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4077 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-18 15:16:44 +00:00
Dan Williams 410a0cf5e3 2008-09-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-wireless.c
		- (nm_setting_wireless_ap_security_compatible): only verify pairwise and
			group ciphers if the wireless-security setting explicitly specified
			them, effectively making the default be "all ciphers"  (idea from
			Alexander Sack)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4076 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-18 14:59:37 +00:00
Dan Williams 0b82d7b681 2008-09-15 Dan Williams <dcbw@redhat.com>
Patch from Alexander Sack <asac@ubuntu.com>

	* src/named-manager/nm-named-manager.c
		- (dispatch_resolvconf): respect resolvconf exit code



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4069 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-15 14:41:17 +00:00
Tambet Ingo 2f5ed47908 2008-09-12 Tambet Ingo <tambet@gmail.com>
* src/named-manager/nm-named-manager.c (dispatch_netconfig): Make it compile
	again. Add some debugging.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4060 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-12 11:22:06 +00:00
Dan Williams 485b73cee9 2008-09-11 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/keyfile/plugin.c
		- (update_connection_settings): update connection manually, since
			nm_exported_connection_update() does authentication
		- (dir_changed): update_connection_settings() doesn't need to return
			an error



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4057 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-11 09:43:21 +00:00
Dan Williams a2cbab1624 2008-09-09 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-vpn-plugin-ui-interface.c
	  libnm-glib/nm-vpn-plugin-ui-interface.h
	  libnm-glib/libnm_glib_vpn.ver
		- (nm_vpn_plugin_ui_interface_delete_connection): called when the plugin
			should clean up resources related to the connection (like keyring
			secrets)
		- (nm_vpn_plugin_ui_widget_interface_save_secrets): called when the plugin
			should save user-scope secrets (like to the keyring)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4052 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-09 20:25:01 +00:00
Dan Williams 796829ce62 2008-09-08 Dan Williams <dcbw@redhat.com>
Patch from Alexander Sack <asac@ubuntu.com>

	* libnm-util/crypto_gnutls.c
	  libnm-util/crypto_nss.c
		- (crypto_init, crypto_deinit): just use a boolean instead of a refcount

	* libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
	  libnm-util/libnm-util.ver
		- (nm_utils_init): initialize libnm-util
		- (nm_utils_deinit): de-initialize libnm-util and clean up resources

	* libnm-util/nm-setting-8021x.c
		- (nm_setting_802_1x_class_init): init libnm-util when needed



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4047 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-08 18:35:21 +00:00
Dan Williams 0760152f9f 2008-09-05 Dan Williams <dcbw@redhat.com>
Patch from Roy Marples <roy@marples.name> and others

	* configure.in
	  src/named-manager/nm-named-manager.c
		- Add support for resolvconf; use --with-resolvconf at configure time
			to enable it



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4043 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-05 18:57:07 +00:00
Dan Williams bb6b79a2a6 2008-09-05 Dan Williams <dcbw@redhat.com>
* libnm-util/crypto_nss.c
	  libnm-util/crypto_gnutls.c
	  libnm-util/crypto.h
		- (crypto_init): return error when init fails



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4042 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-05 18:10:39 +00:00
Dan Williams a5a782991f 2008-09-05 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device-wifi.c
		- (access_point_removed_proxy): clean up the active access point too
			just in case the active ap changed signal didn't come through yet
		- (clean_up_aps): be sure to set priv->active_ap to NULL when cleaning up



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4040 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-05 15:16:29 +00:00
Dan Williams f44da15bdf 2008-09-05 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-client.c
		- (constructor): get initial state after we know whether NM is running
			or not



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4039 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-05 15:11:34 +00:00
Dan Williams cfd7014c9d 2008-09-05 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-ip4-config.c
	  libnm-glib/nm-dhcp4-config.c
		- (finalize): clean up the DBusGProxy



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4038 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-05 15:10:52 +00:00
Dan Williams 178148a2c5 2008-09-04 Dan Williams <dcbw@redhat.com>
* src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- (nm_ip4_config_new): don't export over D-Bus here
		- (nm_ip4_config_export): new function; export the config over D-Bus
		- (nm_ip4_config_is_exported): new function

	* src/nm-device.c
		- (nm_device_activate_stage5_ip_config_commit): fix leak of IP4Config
			objects by balancing the IP4Config constructor; the device holds
			a reference to the IP4Config already
		- (nm_device_set_ip4_config): export the IP4Config when needed



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4037 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-05 02:55:40 +00:00
Dan Williams 147d3293fd 2008-09-04 Dan Williams <dcbw@redhat.com>
* src/supplicant-manager/nm-supplicant-settings-verify.c
		- Allow WPA-NONE key management for Ad-Hoc WPA connections



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4035 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-04 17:26:19 +00:00
Dan Williams ba15ee5f50 2008-09-04 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-vpn.c
	  libnm-util/nm-setting-vpn.h
		- Split VPN secrets from VPN data so that settings services can actually
			figure out that they are secrets and store them accordingly

	* system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/plugins/keyfile/reader.c
	  system-settings/plugins/keyfile/reader.h
	  system-settings/plugins/keyfile/writer.c
		- Store VPN secrets separately from VPN data so that they can be fetched
			on demand
		- Implement the get_secrets() call so that (a) secrets don't leak out
			to unprivileged callers, and (b) secrets can be sent to privileged
			callers when needed

	* vpn-daemons/vpnc/src/nm-vpnc-service.c
		- Handle split VPN secrets



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4031 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-09-04 14:32:14 +00:00
Dan Williams b7f8b8f800 2008-08-27 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/reader.c
		- (make_ip4_setting): use DOMAIN not SEARCH (rh #459370)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4022 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-27 19:43:15 +00:00
Dan Williams 7466136be2 2008-08-27 Dan Williams <dcbw@redhat.com>
Ensure zombie children get cleaned up.  To get notifications when children
	die abnormally, g_spawn_async() requires G_SPAWN_DO_NOT_REAP_CHILD, but
	that requires calling waitpid() yourself if you've removed the child watch
	handler before the process has actually died, which NM needs to do in a few
	places.  So ensure that everything uses G_SPAWN_DO_NOT_REAP_CHILD and also
	cleans up after the child when required.  Should fix problems trying to
	activate mobile broadband connections after a previous failure.

	* src/dhcp-manager/nm-dhcp-dhclient.c
	  src/dhcp-manager/nm-dhcp-dhcpcd.c
		- Use G_SPAWN_DO_NOT_REAP_CHILD

	* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_device_destroy): ensure child is cleaned up
		- (nm_dhcp_client_stop, nm_dhcp_manager_cancel_transaction_real): always
			block on child quitting, since the non-blocking functionality was
			never actually used

	* src/dnsmasq-manager/nm-dnsmasq-manager.c
		- (dm_watch_cb): child is already reaped here
		- (ensure_killed, nm_dnsmasq_manager_stop): block until child is dead

	* src/nm-device.c
		- (aipd_cleanup): block until child is dead

	* src/named-manager/nm-named-manager.c
		- (run_netconfig): don't use G_SPAWN_DO_NOT_REAP_CHILD if we aren't
			event bothering to watch the child

	* src/ppp-manager/nm-ppp-manager.c
		- (ppp_watch_cb): child is already reaped here
		- (ensure_killed, nm_ppp_manager_stop): block until child is dead

	* src/vpn-manager/nm-vpn-service.c
		- (vpn_service_watch_cb): child is already reaped here
		- (nm_vpn_service_daemon_exec): use G_SPAWN_DO_NOT_REAP_CHILD so that
			status of the child is actually tracked
		- (ensure_killed, finalize): block until child is dead



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4020 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-27 17:22:32 +00:00
Dan Williams 3d70bc42bf 2008-08-26 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/keyfile/nm-keyfile-connection.c
		- (update): Update filename of the connection if the connection id
			was changed

	* system-settings/plugins/keyfile/plugin.c
		- (dir_changed): first pass at handling connection renames correctly

	* system-settings/plugins/keyfile/writer.c
	  system-settings/plugins/keyfile/writer.h
		- (write_connection): replace '/' with '*' when writing out the filename
			from the connection id



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4018 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-27 03:09:14 +00:00
Dan Williams 81f8f39920 2008-08-26 Dan Williams <dcbw@redhat.com>
Add connection UUIDs, since connection names can be changed, and since
	old-style connection IDs could change over the life of the connection.  The
	UUID should be assigned at connection creation time, be stable for a given
	connection, and should be unique among all connections for a given settings
	service.

	* configure.in
	  libnm-util/Makefile.am
		- Require libuuid

	* introspection/nm-exported-connection.xml
		- Remove "GetID" method

	* libnm-glib/nm-dbus-connection.c
	  libnm-glib/nm-settings.c
	  libnm-glib/nm-settings.h
		- Remove id-related stuff

	* libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
	  libnm-util/libnm-util.ver
		- (nm_utils_uuid_generate, nm_utils_uuid_generate_from_string): Add
			utility functions to generate UUIDs

	* libnm-util/nm-setting-connection.c
	  libnm-util/nm-setting-connection.h
		- Add 'uuid' member to the connection setting
		- (verify): require valid 'uuid' for a valid connection

	* system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/nm-suse-connection.c
	  system-settings/plugins/ifcfg-suse/parser.c
	  system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/src/main.c
		- Remove id-related stuff
		- Give connections UUIDs where needed



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4013 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-27 02:57:21 +00:00
Dan Williams 1e379db07c 2008-08-25 Dan Williams <dcbw@redhat.com>
* libnm-util/crypto_gnutls.c
	  libnm-util/crypto_nss.c
		- (crypto_init, crypto_deinit): refcount init/deinit
		- (crypto_md5_hash): allow NULL salt



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4011 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-26 03:29:18 +00:00
Michael Biebl a4bc5d1c43 Fix test-crypto binary
The crypto functions are no longer part of the public API/ABI.
Make sure test-crypto compiles all necessary sources and links against the
crypto libraries.

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3996 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-22 11:32:37 +00:00
Michael Biebl 430e898e9f Add the actual version scripts
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3995 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-22 11:32:31 +00:00
Dan Williams ce8639f3bd 2008-08-19 Dan Williams <dcbw@redhat.com>
* configure.in
	  test/Makefile.am
		- Don't build test/test-common
		- Remove unused stuff

	* test/nm-set-fallback
	  test/nmtestdevices.c
	  test/test-common/.cvsignore
	  test/test-common/Makefile.am
	  test/test-common/test-common.c
	  test/test-common/test-common.h
		- delete



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3988 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-19 13:49:39 +00:00
Dan Williams 0b4d557319 2008-08-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
		- (nm_utils_garray_to_string): remove; NM was the only user and doesn't
			export anything that needs to be converted with this function

	* src/dhcp-manager/nm-dhcp-manager.c
		- (garray_to_string): convert a byte array to a UTF-8 string with
			minimal validation; the DHCP client sends it in ASCII anyway
		- (get_option, copy_option): use garray_to_string()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3985 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-18 21:24:31 +00:00
Dan Williams 728dccd92c 2008-08-18 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
		- Add a "missing firmware" device state reason

	* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_device_set_up_down): add a no_firmware argument
		- (nm_system_device_set_up_down_with_iface): if the result of setting
			IFF_UP is ENOENT, that almost always means missing firmware

	* src/backends/NetworkManagerGeneric.c
	  src/nm-device-ethernet.c
	  src/nm-device-private.h
	  src/nm-device-wifi.c
	  src/nm-device.c
	  src/nm-device.h
	  src/nm-hso-gsm-device.c
	  src/vpn-manager/nm-vpn-connection.c
		- Pass no_firmware along; check it where appropriate



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3983 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-18 18:29:47 +00:00
Dan Williams 725a9825a7 2008-08-18 Dan Williams <dcbw@redhat.com>
Patch from Robert Buchholz <rbu@gentoo.org>

	* autogen.sh
	  configure.in
		- Change to automake 1.9 and 'ustar' tar format defined by POSIX
			1003.1-1988, allowing for file names longer than 99 characters



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3982 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-18 15:29:21 +00:00
Dan Williams afe47b8d3a 2008-08-17 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
	  src/nm-gsm-device.c
		- Finer-grained GSM registration failure error codes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3978 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-17 23:41:41 +00:00
Dan Williams a419bdfb9e 2008-08-17 Dan Williams <dcbw@redhat.com>
* callouts/Makefile.am
	  src/Makefile.am
		- Move dispatcher directory creation to callouts/Makefile.am

	* system-settings/plugins/keyfile/Makefile.am
		- Create keyfile connections directory in DESTDIR (bgo #546833)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3976 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-17 22:54:49 +00:00
Dan Williams f09559504b update bug #
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3970 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-15 15:38:16 +00:00
Dan Williams 02b28e6cd2 2008-08-15 Dan Williams <dcbw@redhat.com>
Do connection sharing in a cleaner manner; all required iptables rules
	are now stored in the activation request and pertain only to the device
	which is being shared to other computers.

	* src/nm-activation-request.c
	  src/nm-activation-request.h
		- (nm_act_request_add_share_rule): new function; add a sharing rule to
			the activation request which will get torn down automatically when
			the activation request dies
		- (nm_act_request_set_shared): push sharing rules to iptables when sharing
			is started, and tear them down when sharing is stopped

	* src/nm-device.c
		- (start_sharing): start up sharing by doing the required iptables magic
		- (share_init): poke the right bits of the kernel and load the right
			modules for NAT
		- (nm_device_activate_stage5_ip_config_commit): start NAT-ing this
			connection if it's a 'shared' connection

	* src/NetworkManagerPolicy.c
		- Remove all sharing stuff; done in the device code itself



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3969 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-15 15:34:28 +00:00
Dan Williams d682f35bf0 2008-08-15 Dan Williams <dcbw@redhat.com>
* src/dnsmasq-manager/nm-dnsmasq-manager.c
		- (create_dm_cmd_line): send the right router address



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3968 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-15 15:06:44 +00:00
Dan Williams 8f1066ea35 2008-08-15 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (pppd_timed_out): ensure timeouts fail the connection



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3967 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-15 12:49:54 +00:00
Dan Williams 680259ef68 2008-08-14 Dan Williams <dcbw@redhat.com>
* src/nm-properties-changed-signal.c
	  src/nm-properties-changed-signal.h
		- Add a property spec flag for "don't export this property" in
			property changed signals

	* src/nm-hso-gsm-device.c
	  src/nm-gsm-device.c
	  src/nm-cdma-device.c
		- Don't export monitor interface or netdev interface properties



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3966 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-14 20:02:06 +00:00
Dan Williams 5fe8f48237 2008-08-14 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): 'hso' devices can be default even if they
			don't have a gateway



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3964 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-14 18:59:58 +00:00
Dan Williams 7069202c90 2008-08-14 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (nm_device_deactivate_quickly): tear down activation request after
			calling device-specific deactivation

	* src/nm-hso-gsm-device.c
		- (real_deactivate_quickly): terminate connection when deactivating



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3963 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-14 17:45:47 +00:00
Dan Williams b3d2fb40e6 2008-08-14 Dan Williams <dcbw@redhat.com>
* src/nm-activation-request.h
		- Add HSO secrets caller

	* src/nm-gsm-device.c
	  src/nm-gsm-device.h
		- (modem_wait_for_reply): add a 'user_data' argument so callers can pass
			something to the callback function
		- (set_apn, set_apn_done): call class dial function, not a static one
		- (nm_gsm_device_class_init): add a class 'dial' function

	* src/nm-hal-manager.c
		- (get_hso_netdev): find the hso-driven hardware's net device
		- (modem_device_creator): recognize hso-driven hardware and create the
			right type of device object for it

	* src/Makefile.am
	  src/nm-hso-gsm-device.c
	  src/nm-hso-gsm-device.h
		- Implement support for devices driven by the 'hso' driver as a subclass
			of NMGsmDevice



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3961 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-14 17:03:12 +00:00
Dan Williams c247c3d49a 2008-08-14 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerSystem.c
		- (nm_system_device_is_up_with_iface): ensure ifreq is cleared before using
		- (nm_system_device_set_up_down_with_iface): cleanups; only return
			success if the operation really was successful



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3960 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-14 16:52:13 +00:00
Dan Williams cb79727fa2 2008-08-14 Dan Williams <dcbw@redhat.com>
* src/nm-netlink-monitor.c
	  src/nm-netlink-monitor.h
	  src/nm-device-ethernet.c
		- (nm_netlink_monitor_request_status): return an error on failure
		- (constructor): don't segfault on missing error



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3958 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-14 15:47:26 +00:00
Dan Williams 9ac5baeb92 2008-08-13 Dan Williams <dcbw@redhat.com>
* callouts/nm-dispatcher-action.c
		- Add IP4 config info to script environment



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3947 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-13 11:45:28 +00:00
Dan Williams 56053fb87d 2008-08-12 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (nm_device_set_ip4_config): don't touch hostnames here; distros
			that want to use DHCP hostnames should use dispatcher scripts
			for that

	* src/NetworkManagerSystem.h
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- Remove nm_system_set_hostname(), no longer used
	  
	* src/backends/Makefile.am
	  src/backends/shvar.c
	  src/backends/shvar.h
		- Remove shvar.*; no longer used



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3946 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 22:40:27 +00:00
Dan Williams 5611f4c4d0 2008-08-12 Dan Williams <dcbw@redhat.com>
Revert most of the 'hostname' patch.  Too much stuff still breaks when
	hostname is updated at runtime.  Distros or users who want hostname updates
	can use dispatcher scripts to update the hostname if they need it.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3945 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 22:37:08 +00:00
Dan Williams a3be3b6e90 2008-08-12 Dan Williams <dcbw@redhat.com>
* introspection/nm-settings-system.xml
	  system-settings/src/dbus-settings.c
	  system-settings/src/dbus-settings.h
		- Add a 'Hostname' property (rw) which represents the configured
			hostname and domain of the system, if any

	* system-settings/src/nm-system-config-error.c
	  system-settings/src/nm-system-config-error.h
	  system-settings/src/nm-system-config-interface.c
	  system-settings/src/nm-system-config-interface.h
		- Add a 'hostname' property to the plugin interface
		- Add a method to send updated hostname to plugins to save in their
			backing configuration store

	* system-settings/plugins/keyfile/nm-keyfile-connection.c
	  system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/keyfile/writer.c
	  system-settings/plugins/keyfile/writer.h
	  system-settings/plugins/ifcfg-suse/plugin.c
		- Add minimal hostname support

	* system-settings/plugins/ifcfg-fedora/plugin.c
		- Add support for updating system hostname in /etc/sysconfig/network



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3941 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 18:39:03 +00:00
Dan Williams 1cb8b4a101 2008-08-12 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/shvar.c
	  system-settings/plugins/ifcfg-fedora/shvar.c
		- Fix double-free caused by svSetValue() followed by svCloseFile()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3940 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 17:47:21 +00:00
Tambet Ingo 09294555c0 2008-08-12 Tambet Ingo <tambet@gmail.com>
* Makefile.am: Fix distcheck.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3935 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 13:41:29 +00:00
Tambet Ingo 0dfa8e9caf 2008-08-12 Tambet Ingo <tambet@gmail.com>
* libnm-glib/*.c. Document some more.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3934 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 12:59:33 +00:00
Tambet Ingo 0f534a9f8f 2008-08-12 Tambet Ingo <tambet@gmail.com>
Start documenting libnm-glib public API using gtk-doc.

	* libnm-glib/nm-serial-device.c:
	* libnm-glib/nm-object.c:
	* libnm-glib/nm-gsm-device.c:
	* libnm-glib/nm-device.c:
	* libnm-glib/nm-device-wifi.c:
	* libnm-glib/nm-device-ethernet.c:
	* libnm-glib/nm-client.c:
	* libnm-glib/nm-cdma-device.c: Document the public API.

	* docs/libnm-glib/libnm-glib.types: Implement.

	* docs/libnm-glib/Makefile.am: Implement.

	* autogen.sh:
	* configure.in:
	* Makefile.am: Add gtk-doc support.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3932 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 08:05:21 +00:00
Tambet Ingo c29ae2d003 2008-08-12 Tambet Ingo <tambet@gmail.com>
* src/backends/*: Get rid of nm_system_should_modify_resolv_conf().

	* src/named-manager/nm-named-manager.c (rewrite_resolv_conf): Calculate
	the composite result of all the IP4 configurations and call a distro
	specific update_resolv_conf().
	(update_resolv_conf): Implement one for directly writing to
	/etc/resolv.conf and one for opensuse to call netconfig.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3931 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-12 08:05:16 +00:00
Dan Williams 0200a2d3eb 2008-08-11 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (impl_ppp_manager_need_secrets): pass interface as required



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3930 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-11 19:51:24 +00:00
Dan Williams 9886706ebe 2008-08-11 Dan Williams <dcbw@redhat.com>
Merge the vpn-properties setting with the vpn setting since it was pointless
	to keep both of them around.  Convert the vpn 'data' hash table to a hash
	of string:string (instead of string:variant) so that system settings plugins
	can have an easier time dealing with the arbitrary key/value pairs.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3924 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-11 17:15:16 +00:00
Dan Williams 84176fa20b 2008-08-11 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-utils.c
		- (nm_utils_register_value_transformations): add value transform for
			a hash table of string:string



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3922 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-11 14:54:39 +00:00
Dan Williams 1807f545b5 2008-08-10 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-vpn-plugin.c
		- (nm_vpn_plugin_connect): stop plugin after connection failure from
			an idle handler so the Connect reply gets delivered before the
			stop StateChanged signal



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3920 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-11 01:47:09 +00:00
Dan Williams 0758aa478e 2008-08-10 Dan Williams <dcbw@redhat.com>
* src/nm-ip4-config.c
		- (get_property): use common ip4 address/route conversion functions
		- (nm_ip4_config_replace_address, nm_ip4_config_replace_route): should
			copy the new route here, not take ownership



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3919 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-10 22:37:21 +00:00
Tambet Ingo e79775a057 2008-08-08 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/ifcfg-suse/parser.c (make_ip4_setting):
	Update the IP4 setting's method name.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3913 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-08 09:16:26 +00:00
Dan Williams bcae312905 2008-08-07 Dan Williams <dcbw@redhat.com>
* introspection/nm-ip4-config.xml
	  libnm-glib/libnm-glib-test.c
	  libnm-glib/nm-ip4-config.c
	  libnm-glib/nm-ip4-config.h
	  src/NetworkManagerSystem.h
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
	  src/dhcp-manager/nm-dhcp-manager.c
	  src/nm-device.c
	  src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- Remove NIS logic; should be done from dispatcher scripts instead



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3909 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-07 19:22:23 +00:00
Dan Williams 1fa6715103 2008-08-07 Dan Williams <dcbw@redhat.com>
* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_manager_get_ip4_config): fix regression which caused
			mis-handling of DHCP responses that returned more than one router
			(found by Grant Williamson)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3908 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-07 17:59:16 +00:00
Dan Williams 641a7072b8 2008-08-07 Dan Williams <dcbw@redhat.com>
* callouts/nm-dispatcher-action.c
		- (nm_dispatcher_action): grab device path and create the device; pass
			the device's DHCP4 config to script caller
		- (dispatch_scripts): dump the DHCP4 config to the environment of called
			scripts

	* libnm-glib/nm-dhcp4-config.c
	  libnm-glib/nm-dhcp4-config.h
		- (nm_dhcp4_config_get_options): expose
		- (nm_dhcp4_config_get_one_option): renamed from nm_dhcp4_config_get_option



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3907 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-07 17:47:08 +00:00
Dan Williams 881370ab2c 2008-08-07 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add the DHCP4Config D-Bus interface

	* libnm-glib/Makefile.am
	  libnm-glib/nm-dhcp4-config.c
	  libnm-glib/nm-dhcp4-config.h
		- Handle DHCP4 config objects exported by NM over D-Bus

	* libnm-glib/nm-device.c
	  libnm-glib/nm-device.h
		- Add a 'dhcp4-config' property

	* libnm-glib/libnm-glib-test.c
		- Print out DHCP4 config for devices
		- Fix some crashes when no connections are active

	* src/nm-device-interface.c
	  src/nm-device.c
	  src/nm-dhcp4-config.c
	  src/nm-dhcp4-config.h
		- Treat dhcp4-config object as an object path at the D-Bus interface so
			that when it doesn't exist we can proxy it as "/" which dbus-glib
			doesn't let us do when the property type is G_TYPE_OBJECT



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3905 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-07 15:26:32 +00:00
Dan Williams 762d57fab1 2008-08-07 Dan Williams <dcbw@redhat.com>
* src/NetworkManager.c
	  src/NetworkManagerSystem.h
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGeneric.c
	  src/backends/NetworkManagerGeneric.h
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- (nm_system_init, nm_system_kill_all_dhcp_daemons): remove, unused



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3903 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-07 14:07:14 +00:00
Dan Williams 2c31b5499b 2008-08-06 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-ip4-config.c
	  libnm-glib/nm-ip4-config.h
		- Add 'routes' property

	* libnm-util/nm-setting-vpn.c
	  libnm-util/nm-setting-vpn.h
		- Remove 'routes' property

	* libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- 'ignore-dhcp-dns' renamed to 'ignore-auto-dns'
		- Add 'ignore-auto-routes' property
		- 'routes' exposed over D-Bus is now an array of array of uint (4) to 
			accomodate route metrics
		- 'routes' exposed in C is now a list of NMSettingIP4Route structures

	* libnm-util/nm-utils.c
	  libnm-util/nm-utils.h
		- Add helpers for marshalling IP4 routes

	* src/NetworkManagerUtils.c
		- (nm_utils_merge_ip4_config): handle property renames and new route
			structure

	* src/NetworkManagerSystem.c
		- (nm_system_device_set_ip4_route, nm_system_device_set_from_ip4_config,
		   nm_system_vpn_device_set_from_ip4_config): respect route metrics

	* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_manager_get_ip4_config): handle new route structure

	* system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-fedora/writer.c
		- Handle routes separately from addresses now that routes have a different
			format

	* introspection/nm-ip4-config.xml
	  src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- Rename internal routing functions
		- 'static-routes' renamed to 'routes'



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3898 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-06 22:23:48 +00:00
Dan Williams 2f3820c624 2008-08-04 Dan Williams <dcbw@redhat.com>
Patch from Sjoerd Simons <sjoerd.simons@collabora.co.uk>

	* src/NetworkManager.c
	  src/nm-manager.c
	  src/nm-manager.h
		- More explicitly make the NMManager a singleton



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3896 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-04 22:24:58 +00:00
Dan Williams fb74207755 2008-08-04 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-connection.c
	  libnm-util/nm-connection.h
		- (nm_connection_verify): return error on missing 'connection' setting
			(found by Sjoerd Simons)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3895 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-04 22:16:08 +00:00
Dan Williams 369299271a 2008-08-04 Dan Williams <dcbw@redhat.com>
Handle multiple concurrent PPP connections.

	* src/ppp-manager/nm-ppp-manager.c
	  src/ppp-manager/nm-ppp-manager.h
		- (constructor): only PPP Manager request bus name once; each
			NMPPPManager object gets a unique object path
		- (nm_ppp_manager_class_init, get_property, set_property,
		   nm_ppp_manager_new, nm_ppp_manager_start): pass parent interface in
			at construct time
		- (impl_ppp_manager_need_secrets, impl_ppp_manager_set_state): don't
			remove timeout until PPP manager gets an IP4 config
		- (create_pppd_cmd_line): pass dbus object path as 'ipparam' so that
			the plugin can call back to this specific PPP manager instance

	* src/nm-device-ethernet.c
	  src/nm-serial-device.c
		- Pass parent device in nm_ppp_manager_new()

	* src/nm-gsm-device.c
	  src/nm-cdma-device.c
	  	- (device_state_changed): don't close serial device on NEED_AUTH
	  		state changed, that's not a failure case like the rest are

	* src/ppp-manager/nm-pppd-plugin.c
		- (nm_ip_up): always use index 0 into the ipcp options, because NM always
			binds one interface to any pppd process, thus the correct index
			is always 0; send PHASE_DEAD on error to alert NM immediately of
			problems; try harder to get a peer address in spite of pppd
		- (plugin_init): use 'ipparam' as the object path back to our specific
			PPP manager instance



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3894 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-04 21:37:11 +00:00
Dan Williams 9ee4038c96 2008-08-04 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (impl_ppp_manager_need_secrets): rework to handle secrets better;
			since the GSM and CDMA settings now implement need_secrets, we can
			rely on them to do the right thing.  Where secrets are not required,
			just pass empty strings back to the pppd plugin.
		- (nm_ppp_manager_update_secrets): leak fix; don't need to dup the strings
		- (impl_ppp_manager_set_ip4_config): clear the secrets tries counter
			on successful IP4 config receipt



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3893 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-04 19:28:28 +00:00
Dan Williams e2aa087281 2008-08-04 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-cdma.c
	  libnm-util/nm-setting-gsm.c
		- (verify): validate username & password if they exist
		- (need_secrets): if username given, require a password too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3892 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-04 19:17:10 +00:00
Dan Williams 4f0d00c8cc 2008-08-04 Dan Williams <dcbw@redhat.com>
* src/dnsmasq-manager/nm-dnsmasq-manager.c
		- (create_dm_cmd_line): really don't listen on lo, despite what the
			manpage says about --listen-address without --interface
			(bgo #546033)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3890 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-04 15:11:58 +00:00
Dan Williams 6f334cff8f 2008-08-01 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device.c
		- (proxy_get_string): util function for querying a HAL property
		- (get_ancestor_device): split out from get_product_and_vendor()
		- (get_product_and_vendor): simplify; get more accurate pid & vid info
			from PCI devices by querying subsys properties
		- (nm_device_update_description): simplify



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3883 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-01 20:32:21 +00:00
Dan Williams 0d85411ed4 2008-08-01 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ip4-config.c
	  libnm-util/nm-setting-ip4-config.h
		- Make IPv4 methods reflect their usage; 'dhcp' -> 'auto' and
			'autoip' -> 'link-local'.  VPN & PPP connections can also have IPv4
			settings, and they don't necessarily use DHCP.

	* src/NetworkManagerPolicy.c
	  src/nm-device.c
	  system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-suse/parser.c
		- Fixup for method changes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3882 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-01 14:27:47 +00:00
Dan Williams 9599502e38 2008-07-31 Dan Williams <dcbw@redhat.com>
* src/nm-activation-request.c
	  src/vpn-manager/nm-vpn-connection.c
		- Correct GetSecrets D-Bus pending call usage; the GetSecrets call
			itself should be attached to the activation request or the VPN
			connection, not the NMConnection object, since the call is not
			expected to live as long as the NMConnection itself



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3880 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-31 21:57:03 +00:00
Dan Williams 501c7d0947 2008-07-31 Dan Williams <dcbw@redhat.com>
* src/nm-device-wifi.c
		- (real_act_stage2_config): fix issue where association would continue
			even though secrets were needed; 'goto out' was in wrong scope and
			result of handle_auth_or_fail() should have been dumped directly to
			'ret' to ensure that the association was postponed until secrets
			are available



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3879 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-31 21:31:12 +00:00
Dan Williams b2d92c4d17 2008-07-31 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/plugin.c
	  system-settings/plugins/ifcfg-fedora/reader.c
		- Don't ignore unmanaged devices if their ifcfg file doesn't make a
			valid NM connection



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3878 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-31 16:19:28 +00:00
Dan Williams fa45b93a8e 2008-07-29 Dan Williams <dcbw@redhat.com>
* src/nm-gsm-device.c
		- (automatic_registration_response, automatic_registration): recognize
			denied registration and reorder responses



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3872 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-29 20:27:09 +00:00
Dan Williams 87209e98d7 2008-07-29 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
		- (nm_serial_device_wait_for_reply): fix timeout calculation.  Since
			time(2) is used for current time, which returns seconds, we shouldn't
			be multiplying by 1000.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3871 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-29 20:25:02 +00:00
Dan Williams 3ac7f4755c 2008-07-28 Dan Williams <dcbw@redhat.com>
Patch from Fabrice Bellet <fabrice@bellet.info>

	* src/NetworkManagerSystem.c
		- (route_in_same_subnet): mask addresses and compare them so that the
			function actually does what it says it's going to do (rh #456685)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3868 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-28 14:38:34 +00:00
Dan Williams 7b55ca0dde 2008-07-27 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ip6-config.c
		- (set_property): add missing break that caused routes to be overwritten
			with addresses

	* libnm-util/nm-setting-ip6-config.c
		- (verify): validate routes and return GError everywhere on invalid setting
		- (finalize): don't leak routes
		- (set_property): add missing break that caused routes to be overwritten
			with addresses



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3865 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-27 21:24:55 +00:00
Dan Williams 281791ac77 2008-07-27 Dan Williams <dcbw@redhat.com>
* libnm-util/*
		- Relicense to LGPLv2+



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3859 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-27 20:03:46 +00:00
Dan Williams fab2416151 2008-07-27 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/reader.c
		- (make_ip4_setting): fix parsing automatic configs



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3858 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-27 20:00:13 +00:00
Dan Williams 65d5338384 2008-07-27 Dan Williams <dcbw@redhat.com>
* src/dnsmasq-manager/nm-dnsmasq-manager.c
	  src/nm-device.c
	  src/ppp-manager/nm-ppp-manager.c
		- Ensure child process gets reaped.  The child watch function may be
			removed from the mainloop before the child gets killed, so we have
			to make sure the child is reaped when it's told to die intentionally



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3857 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-27 19:42:54 +00:00
Dan Williams 5ddab8fa89 2008-07-27 Dan Williams <dcbw@redhat.com>
Patch from Roy Marples <roy@marples.name>

	* src/dhcp-manager/nm-dhcp-dhcpcd.c
		- (nm_dhcp_client_start): fixup for latest dhcpcd 4.0 RC



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3856 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-27 19:15:20 +00:00
Dan Williams 67aeafaead 2008-07-27 Dan Williams <dcbw@redhat.com>
* src/nm-gsm-device.c
		- (init_modem_full): send "ATZ E0" after CPIN, because apparently some
			Huawei devices turn echo back on after CPIN (rh #456770)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3855 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-27 18:52:57 +00:00
Tambet Ingo bbb1f2eafd 2008-07-24 Tambet Ingo <tambet@gmail.com>
* src/ppp-manager/nm-ppp-manager.c (nm_ppp_manager_update_secrets): Add
	format argument to g_set_error() call.

	* src/backends/interface_parser.[ch]: Remove.

	* src/backends/Makefile.am: Remove unused files interface_parser.[ch].


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3845 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-24 08:07:33 +00:00
Dan Williams 22deeaf37a 2008-07-21 Dan Williams <dcbw@redhat.com>
* src/ppp-manager/nm-ppp-manager.c
		- (create_pppd_cmd_line): send 'noipdefault' on non-PPPoE connections
			to prevent pppd from picking up some random local address from an
			interface that doesn't have anything to do with the one we're
			interested in (rh #455348)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3842 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-21 16:45:19 +00:00
Dan Williams 06efa3f7b1 2008-07-17 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-utils.c
		- (string_to_utf8): general function for conversion to UTF-8 assisted
			by locale
		- (nm_utils_ssid_to_utf8): use string_to_utf8()
		- (nm_utils_garray_to_string): ensure returned string is UTF-8 safe



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3830 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-17 17:15:38 +00:00
Dan Williams edda4463bc 2008-07-17 Dan Williams <dcbw@redhat.com>
* introspection/Makefile.am
	  introspection/nm-device.xml
	  introspection/nm-dhcp4-config.xml
		- Add bits for the DHCP4Config property of the device, and the DHCP4Config
			itself
	* src/nm-device-interface.c
	  src/nm-device-interface.h
		- Add the DHCP4Config property

	* src/nm-device.c
		- Keep track of DHCP4 options via a new DHCP4Config property and notify
			D-Bus clients when it changes

	* src/nm-dhcp4-config.c
	  src/nm-dhcp4-config.h
		- Simple object to store DHCP4 options, export them over D-Bus, and
			notify when they change

	* src/dhcp-manager/nm-dhcp-manager.c
	  src/dhcp-manager/nm-dhcp-manager.h
		- (nm_dhcp_manager_set_dhcp4_config, copy_dhcp4_config_option): copy and
			filter server-returned DHCP options into an NMDHCP4Config object



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3829 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-17 17:04:13 +00:00
Dan Williams f4f0752ca3 2008-07-16 Dan Williams <dcbw@redhat.com>
* introspection/nm-device.xml
		- Add device state reasons



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3828 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-17 15:22:12 +00:00