Commit graph

1951 commits

Author SHA1 Message Date
Dan Williams
ff0468d23b 2008-05-11 Dan Williams <dcbw@redhat.com>
Update Fedora system-settings plugin to support latest API and use
	GFileMonitor rather than home-rolled inotify code.

	* system-settings/plugins/ifcfg-fedora/Makefile.am
	  system-settings/plugins/ifcfg-fedora/common.h
	  system-settings/plugins/ifcfg-fedora/plugin.c
		- Update to latest system settings plugin API; use GIO instead of
			custom inotify code; use NMIfcfgConnection objects instead of
			ConnectionData structures tacked onto NMConnection objects

	* system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
	  system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.h
		- Implement an NMExportedConnection subclass mapping ifcfg files to
			connections

	* system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-fedora/reader.h
		- Move ifcfg parsing bits here from parser.c

	* system-settings/plugins/ifcfg-fedora/parser.c
	  system-settings/plugins/ifcfg-fedora/parser.h
		- Remove; most code moved to reader.c



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3656 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-11 20:20:52 +00:00
Dan Williams
d7eafc71b1 2008-05-11 Dan Williams <dcbw@redhat.com>
* configure.in
	  Makefile.am
	  gfilemonitor/*
		- Add a private copy of the GIO GFileMonitor code, with a custom GFile
			implementation, so that the same change monitoring code can be used
			on systems without glib-2.14 (like Fedora 8)

	* system-settings/plugins/keyfile/Makefile.am
	  system-settings/plugins/keyfile/plugin.c
	  system-settings/plugins/ifcfg-suse/Makefile.am
	  system-settings/plugins/ifcfg-suse/plugin.c
		- Use private gfilemonitor code if GIO is not present



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3654 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-11 20:12:18 +00:00
Tambet Ingo
6ddd48f0f6 2008-05-09 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/ifcfg-suse/nm-suse-connection.c: Implement
	NMExportedConnection's 'update' and 'delete' and return error with
	descriptive message.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3648 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-09 09:30:03 +00:00
Tambet Ingo
d2cf6fa75c 2008-05-08 Tambet Ingo <tambet@gmail.com>
Use PolicyKit to authorize the system settings' AddConnection method
    	and the system settings connections' Update and Delete methods.

    	* libnm-glib/nm-settings.c (impl_exported_connection_update)
    	(impl_exported_connection_delete, nm_exported_connection_update)
    	(nm_exported_connection_delete): Return boolean and fill GError
    	to notify the callers of the reasons why it might have failed.

    	* libnm-glib/nm-dbus-settings-system.c
    	(nm_dbus_settings_system_add_connection): Return the error from dbus
    	call so that the callers can see why it failed.

    	* libnm-glib/nm-dbus-connection.c (update, delete): Update the
    	signatures.

    	* system-settings/src/nm-polkit-helpers.[ch]: Implement.

    	* system-settings/src/nm-sysconfig-connection.[ch]: Implement. New
    	abstract base class that checks PolicyKit permissions.

    	* system-settings/src/dbus-settings.c:
    	(impl_settings_add_connection): Check the policy before carring out
    	the request.

    	* system-settings/plugins/keyfile/nm-keyfile-connection.c:
    	Inherit from NMSysconfigConnection, check the policies before
    	allowing updating or removing.

    	* system-settings/plugins/ifcfg-suse/nm-suse-connection.c:
    	Inherit from NMSysconfigConnection.

    	* introspection/nm-exported-connection.xml: Annotate "Update" and
    	"Delete" methods with async flag so that the implementations can get
    	access to DBusGMethodInvocation.

    	* system-settings/src/dbus-settings.c
    	(settings_add_connection_check_privileges): Implement.
    	(impl_settings_add_connection): Check the privileges before adding a new
    	connection. Improve error reporting.

    	* introspection/nm-settings-system.xml: Make the 'AddConnection' method
    	async so that the implementation can access DBusGMethodInvocation.

    	* configure.in: Check for PolicyKit.

    	* policy/org.freedesktop.network-manager-settings.system.policy:
    	New file.

    	* policy/Makefile.am: Install the policy file.

    	* configure.in: Add 'policy' subdir.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3646 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-09 06:33:30 +00:00
Dan Williams
e01dfa43b3 2008-05-08 Dan Williams <dcbw@redhat.com>
Patch from Markus Becker <mab@comnets.uni-bremen.de>

	* src/nm-gsm-device.c
	  src/nm-cdma-device.c
		- (real_get_best_auto_connection): implement; allow autoconnection
			to GSM & CDMA devices



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3645 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-08 18:13:28 +00:00
Tambet Ingo
8928b8dbe7 2008-05-08 Tambet Ingo <tambet@gmail.com>
Rewrite the suse system settings plugin.

	* system-settings/plugins/ifcfg-suse/plugin.c: Rewrite.

	* system-settings/plugins/ifcfg-suse/parser.c: Rewrite.

	* system-settings/plugins/ifcfg-suse/nm-suse-connection.[ch]: Implement.

	* system-settings/plugins/ifcfg-suse/Makefile.am: Add new files to build.

	* system-settings/src/dbus-settings.c: Fix connection reference counting.

	* system-settings/src/main.c (load_plugins): Improve error reporting.

	* system-settings/src/sha1.[ch] Add.

	* system-settings/src/Makefile.am: Add sha1[ch] to build.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3644 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-08 07:20:02 +00:00
Dan Williams
9559a7a260 2008-05-07 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/keyfile/reader.c
		- (read_one_setting_value): handle IP address items separately
		- (read_array_of_uint): read IPv4 DNS option as a string array
		- (read_array_of_array_of_uint): read IPv4 address tuples as a string
			array

	* system-settings/plugins/keyfile/writer.c
		- (write_setting_value): handle IP address items separately
		- (write_array_of_uint): handle IPv4 DNS option as a string array,
			not an array of uint, so that it's user-editable
		- (write_array_of_array_of_uint): handle IPv4 address tuples as string
			arrays, so they are user-editable



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3643 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-08 01:02:42 +00:00
Dan Williams
16877b0672 2008-05-07 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/keyfile/Makefile.am
		- Change location of the keyfile plugin settings to
			/etc/NetworkManager/system-connections



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3642 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-08 00:56:36 +00:00
Tambet Ingo
898c29cce2 2008-05-05 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/keyfile/nm-keyfile-connection.[ch]: Implement.

	* system-settings/plugins/keyfile/plugin.c: Work with
	NMKeyfileConnections.

	* system-settings/src/dbus-settings.c: Remove NMSysconfigExportedConnection.
	Plugins are supposed to return NMExportedConnections now and handle the
	updated(), removed(), and GetSecrets().
	Store the internal list of connections in hash table to make it easier
	to find duplicates.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3640 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-07 09:48:12 +00:00
Tambet Ingo
97668fc7d6 2008-05-07 Tambet Ingo <tambet@gmail.com>
* src/backends/NetworkManagerSuSE.c (nm_system_set_hostname): Update
	for multiple IP addresses.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3639 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-07 09:36:55 +00:00
Tambet Ingo
bbaf9e2bfc 2008-05-07 Tambet Ingo <tambet@gmail.com>
Patch from André Lemos.

	* libnm-glib/nm-dbus-settings.c (fetch_connections_done): Fix a memory
	corruption.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3638 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-07 09:21:44 +00:00
Dan Williams
51503b2d5f 2008-05-06 Dan Williams <dcbw@redhat.com>
* src/dhcp-manager/nm-dhcp-manager.c
		- (nm_dhcp_manager_get_ip4_config): clean up; update for changes to
			NMIP4Config to support multiple IP addresses

	* src/NetworkManagerUtils.c
		- (nm_utils_merge_ip4_config): update for multiple IP addresses

	* src/nm-ip4-config.c
	  src/nm-ip4-config.h
		- Store a list of IPv4 address/netmask/gateway tuples
		- (nm_ip4_config_get_gateway, nm_ip4_config_set_gateway,
		   nm_ip4_config_get_netmask, nm_ip4_config_set_netmask,
		   nm_ip4_config_get_broadcast, nm_ip4_config_set_broadcast,
		   nm_ip4_config_set_address): remove
		- (nm_ip4_config_take_address, nm_ip4_config_add_address,
		   nm_ip4_config_replace_address, nm_ip4_config_get_num_addresses):
			new functions; handle multiple IPv4 addresses

	* src/nm-device.c
	  src/ppp-manager/nm-ppp-manager.c
	  src/vpn-manager/nm-vpn-connection.c
	  src/NetworkManagerPolicy.c
	  test/nm-tool.c
	  libnm-glib/libnm-glib-test.c
		- update for changes to NMIP4Config for multiple IPv4 addresses

	* src/NetworkManagerSystem.c
		- (nm_system_device_set_ip4_route): don't add the route if any address
			is on the same subnet as the destination
		- (check_one_address): ignore the exact match, just match family and
			interface index
		- (add_ip4_addresses): add all IPv4 addresses in an NMIP4Config to
			an interface
		- (nm_system_device_set_from_ip4_config): use add_ip4_addresses()
		- (nm_system_vpn_device_set_from_ip4_config): use add_ip4_addresses()

	* introspection/nm-ip4-config.xml
		- Remove 'address', 'gateway', 'netmask', and 'broadcast' properties
		- Add 'addresses' property which is an array of (uuu) tuples of
			address/netmask/gateway

	* libnm-util/nm-setting-ip4-config.c
		- (set_property): use ip-address <-> GValue converters from nm-utils.c

	* libnm-glib/nm-ip4-config.c
	  libnm-glib/nm-ip4-config.h
		- Handle D-Bus interface changes to support multiple IP addresses



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3637 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-06 21:53:22 +00:00
Tambet Ingo
5b2aea3d63 2008-05-06 Tambet Ingo <tambet@gmail.com>
* libnm-glib/nm-dbus-settings.c (fetch_connections_done): Don't leak
	the returned connection paths.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3633 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-06 07:59:30 +00:00
Tambet Ingo
17f26b8d31 2008-05-05 Tambet Ingo <tambet@gmail.com>
* libnm-glib/nm-dbus-settings.c (constructor): Fix the
	"PropertiesChanged" signal signature.

	* libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
	defined in nm-dbus-glib-types.h.
	Don't register the connection on dbus, we're a proxy class to
	communicate with an already registered connection over dbus.

2008-04-30  Tambet Ingo  <tambet@gmail.com>

	Implement new subclasses of NMSettings and NMExportedConnection to make
	it easier for the applet to access and modify system settings.

	* libnm-glib/nm-dbus-connection.[ch]:
	* libnm-glib/nm-dbus-settings.[ch]:
	* libnm-glib/nm-dbus-settings-system.[ch]: Implement.

	* libnm-glib/Makefile.am: Add the new files to build, generate some more
	bindings and glue.

	* include/NetworkManager.h: Define the system settings DBus interface.

2008-04-30  Tambet Ingo  <tambet@gmail.com>

	Implement additional C API for exported connections to make them identical
	with the DBus API. Change the (list_connections) virtual function to be
	more usable from C - instead of requiring implementers to return a GPtrArray
	of dbus paths, return a list of connections.

	* libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
	(nm_settings_list_connections):
	(nm_exported_connection_new):
	(nm_exported_connection_update):
	(nm_exported_connection_delete): Implement.

	(impl_settings_list_connections):
	(impl_exported_connection_update):
	(impl_exported_connection_delete): Use the new public functions to make
	sure the C and dbus interfaces stay in sync.

	* system-settings/src/dbus-settings.c (list_connections): Return a list of
	connections.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3630 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-05 07:07:44 +00:00
Dan Williams
9fdd6fb123 2008-05-02 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/plugin.c
		- (dispose): use right unref call on the DBusGConnection



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3629 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-02 16:22:39 +00:00
Dan Williams
302114db36 2008-05-02 Dan Williams <dcbw@redhat.com>
* src/nm-serial-device.c
		- (find_terminator): don't compare the whole line, just the size of the
			terminator, since some modems put stuff after the terminator, like
			"CONNECT 9600"



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3628 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-02 15:59:44 +00:00
Dan Williams
c39d6e32d8 2008-05-01 Dan Williams <dcbw@redhat.com>
Patch from Michael Biebl <biebl@debian.org>

	* callouts/Makefile.am
	  callouts/org.freedesktop.nm_dispatcher.service.in
	  system-settings/src/Makefile.am
	  system-settings/src/org.freedesktop.NetworkManagerSystemSettings.service.in
		- use the right install location for dbus-activated stuff



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3624 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-01 10:11:14 +00:00
Dan Williams
9c5d7e916b 2008-04-30 Dan Williams <dcbw@redhat.com>
* src/nm-gsm-device.c
		- (enter_pin): fix setting name passed to applets when asking for a GSM
			PIN or PUK



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3623 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-30 19:19:50 +00:00
Dan Williams
1813185dcc 2008-04-30 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
		- (nm_manager_error_get_type): remove erroneous NULL enum from table



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3622 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-30 15:39:11 +00:00
Dan Williams
ff16205dcb 2008-04-30 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-3-ethernet.c
	  src/nm-device-802-11-wireless.c
		- (real_is_up): return true instead of chaining up to unimplemented
			parent method



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3621 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-30 13:48:35 +00:00
Dan Williams
a12c9d6667 2008-04-30 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_device_is_up, nm_system_device_is_up_with_iface): new
			functions to check device flags for IFF_UP

	* src/nm-serial-device.c
		- (real_is_up): remove; NMDevice now returns TRUE if the subclass doesn't
			implement is_up

	* src/nm-device-802-3-ethernet.c
	  src/nm-device-802-11-wireless.c
		- (real_hw_is_up): call nm_system_device_is_up()

	* src/nm-device.c
		- (real_hw_is_up): move to nm_system_device_is_up_with_iface()
		- (real_is_up): remove; nm_device_is_up() returns TRUE if subclass
			does not implement



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3620 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-30 12:54:00 +00:00
Dan Williams
079f2bd560 2008-04-29 Dan Williams <dcbw@redhat.com>
Handle HAL dropouts better; allow NM to start up even if HAL isn't up yet.

	* marshallers/nm-marshal.list
		- Add marshaller

	* src/NetworkManager.c
		- (main): let the NMManager handle the NMHalManager

	* src/nm-hal-manager.c
	  src/nm-hal-manager.h
		- convert to a GObject, and emit singals when stuff changes.  Let the
			NMManager handle the signals, instead of the NMHalManager calling
			into the NMManager.  

	* src/nm-manager.c
	  src/nm-manager.h
		- (remove_one_device): consolidate device removals here
		- (dispose): use remove_one_device()
		- (nm_manager_get_device_by_udi): make static
		- (deferred_hal_manager_query_devices): idle handler to query the HAL
			manager for devices at startup or wakeup time
		- (nm_manager_new): create and monitor the HAL manager
		- (hal_manager_udi_added_cb): new function; do what
			nm_manager_add_device() used to do when signalled by the hal manager
		- (hal_manager_udi_removed_cb): new function; do what
			nm_manager_remove_device() used to do when signalled by the hal
			manager
		- (hal_manager_rfkill_changed_cb): handle rfkill changes from the
			hal manager
		- (hal_manager_hal_reappeared_cb): when HAL comes back, remove devices
			in our device list that aren't known to HAL
		- (impl_manager_sleep): on wakeup, re-add devices from an idle handler;
			see comments on nm-hal-manager.c::nm_manager_state_changed() a few
			commits ago
		- (nm_manager_get_device_by_path, nm_manager_is_udi_managed,
		   nm_manager_activation_pending, nm_manager_wireless_enabled,
		   nm_manager_wireless_hardware_enabled,
		   nm_manager_set_wireless_hardware_enabled): remove, unused



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3619 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-29 23:03:00 +00:00
Dan Williams
9be3804c7f 2008-04-28 Dan Williams <dcbw@redhat.com>
Fix the device up/down ambiguities.  Up/down state used to be a
	conglomeration of hardware state (IFF_UP) and any device-specific things
	(supplicant, periodic timers, etc) that the device used to indicate
	readiness.  Unfortunately, if the hardware was already IFF_UP for some
	reason, then the device specific stuff wouldn't get run, and the device
	would be stuck.

	* src/nm-device.c
	  src/nm-device.h
		- Create hw_is_up, hw_bring_up, and hw_take_down
		- Rename bring_down -> take_down
		- (real_hw_is_up): check interface flags for IFF_UP
		- (nm_device_hw_is_up): let subclasses figure out their own HW state
		- (nm_device_is_up): make static; only used locally
		- (nm_device_hw_bring_up): update the hardware and IPv4 addresses even
			if the device is already up; if the device isn't up, bring it up
		- (nm_device_hw_take_down): just take down hardware
		- (nm_device_bring_up): bring up HW first, then device specific stuff
		- (nm_device_take_down): always deactivate device when called; always
			try to take hardware down too
		- (nm_device_state_changed): take device down when entering unmanaged
			state from a higher state

	* src/nm-device-802-11-wireless.c
		- (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
			check IFF_UP really
		- (real_take_down, supplicant_iface_state_cb_handler, 
		   supplicant_iface_connection_state_cb_handler,
		   supplicant_mgr_state_cb_handler): fix some messages

	* src/nm-device-802-3-ethernet.c
		- (real_hw_is_up, real_hw_bring_up, real_hw_take_down): implement; just
			check IFF_UP really



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3618 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-29 15:36:29 +00:00
Dan Williams
982abb9f79 2008-04-28 Dan Williams <dcbw@redhat.com>
* src/nm-manager.c
	  src/nm-manager.h
		- (nm_manager_error_get_type): add new error
		- (nm_manager_remove_device): don't bother taking down the device here,
			the state change from unmanaging the device will do it
		- (impl_manager_sleep): move nm_manager_sleep() here since nothing else
			uses it; when going to sleep, just unmanage the device instead of
			taking it down, because stuff will cleaned up correctly when the
			device gets unmanaged



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3617 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-29 15:19:31 +00:00
Dan Williams
fe72d85cf1 2008-04-28 Dan Williams <dcbw@redhat.com>
* src/nm-hal-manager.c
		- (add_initial_devices): convert to a GSourceFunc prototype
		- (nm_manager_state_changed): when coming out of sleep, punt the
			device re-addition to an idle handler to let D-Bus events go out
			first, fixing a potential dbus-glib assert if the old device was
			not yet disposed (due to references held while emitting the D-Bus
			signals) but the new device was found, because the mainloop didn't
			run between signal emission and add_initial_devices()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3616 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-29 15:15:42 +00:00
Dan Williams
d1fcfe9474 2008-04-27 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* initscript/paldo/NetworkManager.in
	  initscript/SUSE/networkmanager.in
		- Remove last bits of dhcdbd



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3615 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-28 04:29:03 +00:00
Dan Williams
083c36b7b1 2008-04-27 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
		- (link_timeout_cb): don't ask for secrets when disconnected during
			association/authentication phase, drivers are still just too crappy



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3613 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-28 00:26:25 +00:00
Dan Williams
03194ce96d 2008-04-27 Dan Williams <dcbw@redhat.com>
* Makefile.am
	  configure.in
	  dispatcher-daemon/Makefile.am
	  dispatcher-daemon/NetworkManagerDispatcher.c
	  initscript/Arch/Makefile.am
	  initscript/Arch/networkmanager-dispatcher.in
	  initscript/Gentoo/Makefile.am
	  initscript/Gentoo/NetworkManagerDispatcher.in
	  initscript/Mandriva/Makefile.am
	  initscript/Mandriva/networkmanagerdispatcher.in
	  initscript/RedHat/Makefile.am
	  initscript/RedHat/NetworkManagerDispatcher.in
	  initscript/SUSE/Makefile.am
	  initscript/SUSE/networkmanager-dispatcher.in
	  initscript/Slackware/Makefile.am
	  initscript/Slackware/rc.networkmanager-dispatcher.in
	  initscript/paldo/Makefile.am
	  initscript/paldo/NetworkManagerDispatcher.in
	  man/Makefile.am
	  man/NetworkManagerDispatcher.8.in
		- Remove the dispatcher daemon



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3608 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 15:22:10 +00:00
Dan Williams
74e56e23e8 2008-04-27 Dan Williams <dcbw@redhat.com>
* callouts/Makefile.am
	  callouts/nm-dispatcher-action.c
	  callouts/nm-dispatcher-action.h
	  callouts/nm-dispatcher.conf
	  callouts/nm-dispatcher.xml
	  callouts/org.freedesktop.nm_dispatcher.service
		- Re-implement the dispatcher as a system-bus activated service that
			NM calls on-demand, rather than an always running daemon

	* src/Makefile.am
		- Add callouts dir to includes to pick up dispatcher defines

	* src/nm-device.c
		- (nm_device_state_changed): call dispatcher on device activated/
			deactivated

	* src/vpn-manager/nm-vpn-connection.c
		- (nm_vpn_connection_set_vpn_state): call dispatcher when VPN connections
			go up and down

	* src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
		- (nm_utils_call_dispatcher): helper to call dispatcher



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3607 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 14:30:06 +00:00
Dan Williams
6fbc29779a 2008-04-27 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
		- remove unneeded includes
		- (nm_null_safe_strcmp, nm_ethernet_addresses_are_equal,
		   nm_utils_inet_ip4_address_as_string, nm_timeval_has_passed,
		   nm_timeval_cmp, nm_timeval_add): remove, unused
		- clean up formatting
		- (nm_spawn_process): de-uglify

	* src/nm-device-802-11-wireless.c
		- (get_active_ap): use memcmp() not nm_ethernet_addresses_are_equal()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3603 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 12:23:17 +00:00
Saleem Abdulrasool
6dc89ddc9d fix starting of the daemon
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3602 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-27 00:24:58 +00:00
Dan Williams
d42eed2b81 2008-04-25 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.c
		- (nm_system_device_set_ip4_route): reimplement using libnl, not ioctls



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3598 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-25 19:35:27 +00:00
Dan Williams
ad96e82e8b 2008-04-25 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.c
		- (nm_system_device_replace_default_ip4_route): new function; a libnl
			implementation of nm_system_device_replace_default_route()

	* src/NetworkManagerPolicy.c
		- (update_default_route): use nm_system_device_replace_default_ip4_route()

	* 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_device_replace_default_route): remove



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3597 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-25 19:30:05 +00:00
Dan Williams
00461c208b 2008-04-25 Dan Williams <dcbw@redhat.com>
Patch from Benoit Boissinot <bboissin+networkmanager@gmail.com>

	* src/NetworkManagerSystem.c
		- (validate_ip4_route): remove; use nl_addr_parse() instead
		- (nm_system_device_add_ip4_route_via_device_with_iface): new function,
			replace nm_system_device_add_route_via_device_with_iface() in the
			backends

	* 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_device_add_route_via_device_with_iface()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3596 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-25 19:22:32 +00:00
Dan Williams
2a5f40f955 2008-04-25 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/parser.c
		- (GET_ONE_DNS): fix parsing of DNS2 & DNS3



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3595 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-25 16:07:08 +00:00
Dan Williams
f774d202a8 2008-04-24 Dan Williams <dcbw@redhat.com>
* dispatcher-daemon/NetworkManagerDispatcher.c
		- (nmd_execute_scripts): execute scripts in order as sorted by strcmp()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3593 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-24 19:33:36 +00:00
Dan Williams
805187cb87 2008-04-22 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): when checking for a gateway, look at the
			composite IP4 config, not the connection's ip4-config setting, which
			doesn't include DHCP-returned information



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3589 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-23 01:46:36 +00:00
Tambet Ingo
e6a5d0be51 2008-04-22 Tambet Ingo <tambet@gmail.com>
Implement GKeyFile system settings plugin.
	Implement writing system settings (currently supported only by GKeyFile plugin).

	* system-settings/src/main.c:
	* system-settings/src/dbus-settings.c: Move the communication with plugins
	from main.c to dbus-settings.c. Makes it possible to talk to all registered
	plugins for adding/updating/removing connections.

	* system-settings/src/nm-system-config-interface.c
	(nm_system_config_interface_add_connection): Implement
	(nm_system_config_interface_update_connection): Implement.
	(nm_system_config_interface_remove_connection): Implement.

	* system-settings/plugins/keyfile/Makefile.am:
	* system-settings/plugins/keyfile/plugin.[ch]:
	* system-settings/plugins/keyfile/writer.[ch]:
	* system-settings/plugins/keyfile/reader.[ch]: Implement.

	* system-settings/plugins/Makefile.am: Add GKeyFile plugin.

	* configure.in: Generate GKeyFile Makefile.

	* libnm-glib/nm-settings.c (impl_exported_connection_get_id): Fix a memory
	corruption, need to duplicate the returned string.
	(impl_exported_connection_update): Implement.
	(impl_exported_connection_delete): Implement.

	* introspection/nm-settings-system.xml: Add "AddConnection" method.

	* introspection/nm-exported-connection.xml: Add "Update" and "Delete" methods.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3587 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 14:48:02 +00:00
Dan Williams
bfa6b28b59 2008-04-22 Dan Williams <dcbw@redhat.com>
Patch from Charles R. Anderson (cra@wpi.edu)

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): don't select devices without a gateway
			as having the default route (rh #437338)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3586 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 14:28:52 +00:00
Dan Williams
095da180c8 2008-04-21 Dan Williams <dcbw@redhat.com>
* src/nm-activation-request.c
	  src/nm-activation-request.h
		- (dispose): ensure to disconnect from the device's state-changed signal
			when appropriate so the signal doesn't get handled by an already
			disposed NMActRequest
		- (device_state_changed): update is_default here too just to make sure
			default is only True when the child device is activated
		- (nm_act_request_set_default): new function

	* src/NetworkManagerPolicy.c
		- (update_routing_and_dns): set 'default' on the active connection which
			has the default route and DNS



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3584 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 02:40:47 +00:00
Dan Williams
d74967e1b6 2008-04-21 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerPolicy.c
		- (device_state_changed): update routing and DNS when a device goes
			into unmanaged or unavailable states too (like rfkill or carrier loss)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3583 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 02:38:05 +00:00
Dan Williams
675d12263a 2008-04-21 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add NMActiveConnectionState enum

	* introspection/nm-active-connection.xml
	  introspection/nm-vpn-connection.xml
		- Add 'State' property for overall active connection state
		- Add 'Default' property, when True means this active connection
			has the default route
		- Add PropertyChanged signals so changes actually go out over the bus

	* src/nm-active-connection.h
		- Add defines for State & Default properties

	* src/nm-activation-request.c
		- Add 'state' and 'default' properties, hook up to device 'state-changed'
			signal to determine active connection state

	* src/vpn-manager/nm-vpn-connection.c
	  src/vpn-manager/nm-vpn-connection.h
	  src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-service.c
		- Rename old 'state' to 'vpn-state'
		- Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
		- Add 'state' and 'default' properties, hook up to the vpn connection's
			'vpn-state-changed' signal

	* libnm-glib/nm-active-connection.c
	  libnm-glib/nm-active-connection.h
		- Add new 'state' and 'default' properties and accessors

	* libnm-glib/nm-vpn-connection.c
	  libnm-glib/nm-vpn-connection.h
		- Rename old 'state' property to 'vpn-state'
		- Add new 'state' and 'default' properties and accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3582 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 00:28:02 +00:00
Dan Williams
c961481677 2008-04-21 Dan Williams <dcbw@redhat.com>
* src/nm-ip4-config.c
		- (nm_ip4_config_to_rtnl_addr): fill in the broadcast address if it's
			not specified (rh #443474)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3581 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-21 20:31:23 +00:00
Dan Williams
78e86f91fe 2008-04-20 Dan Williams <dcbw@redhat.com>
* src/NetworkManagerUtils.c
	  src/NetworkManagerUtils.h
		- (nm_utils_merge_ip4_config): new function; merge settings from an
			NMSettingIP4Config to an NMIP4Config object

	* src/nm-device.c
		- (merge_ip4_config): move to NetworkManagerUtils.c

	* src/vpn-manager/nm-vpn-connection.c
		- (nm_vpn_connection_ip4_config_get): merge in user-specified settings
			too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3580 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-21 03:02:32 +00:00
Dan Williams
bab390a897 2008-04-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
		- Add 'no-vj-comp' option for TCP header compression
		- baud, mru, mtu, lcp_echo_failure, and lcp_echo_interval are really
			uint32



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3578 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-19 01:25:44 +00:00
Dan Williams
a99508edb1 2008-04-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
	  src/ppp-manager/nm-ppp-manager.c
		- Add 'refuse-pap' and 'refuse-mschapv2' options



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3577 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-18 17:55:38 +00:00
Dan Williams
5e3121cee8 2008-04-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
	  src/ppp-manager/nm-ppp-manager.c
		- Remove the 'usepeerdns' option and always request DNS servers from
			the PPP server; the connection chooses to use/override/ignore the
			DNS servers returned from the PPP server



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3576 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-18 16:48:56 +00:00
Dan Williams
a8f9a8d38e 2008-04-18 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-ppp.c
	  libnm-util/nm-setting-ppp.h
	  src/ppp-manager/nm-ppp-manager.c
		- Remove the 'require-mppc' option, because pppd doesn't support it and
			it seems to have been an erroneous addition to the PPTP plugin in
			the first place (from which the ppp-manager is derived)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3575 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-18 16:37:35 +00:00
Dan Williams
d37629c6ca 2008-04-17 Dan Williams <dcbw@redhat.com>
* libnm-util/nm-setting-pppoe.c
		- (verify): require a PPP setting too

	* src/ppp-manager/nm-ppp-manager.c
		- (nm_ppp_manager_start): fail if no PPP setting is present instead of
			segfaulting



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3574 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-17 23:21:27 +00:00
Dan Williams
208864fcf5 2008-04-17 Dan Williams <dcbw@redhat.com>
* src/nm-device.c
		- (nm_device_state_changed): do deactivation and and promotion to
			unavailable here, so that the device gets cleaned up before the
			manager runs and starts emitting signals; do the
			FAILED->DISCONNECTED transition from an idle handler rather than
			immediately to guard against recursion
		- (nm_device_deactivate_quickly, nm_device_dispose): stop the
			FAILED->DISCONNECTED handler if it's scheduled



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3573 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-17 23:04:34 +00:00