Commit Graph

84 Commits

Author SHA1 Message Date
Dan Williams
403ab8c332 Move system settings daemon config file to /etc/NetworkManager (Michael Biebl)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3758 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-17 17:54:19 +00:00
Dan Williams
05e9de9402 2008-06-12 Dan Williams <dcbw@redhat.com>
Add a GError argument to nm_connection_verify() and nm_setting_verify(),
	and add error enums to each NMSetting subclass.  Each NMSetting subclass now
	returns a descriptive GError when verification fails.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3751 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-12 23:58:08 +00:00
Dan Williams
2b00116361 2008-06-10 Dan Williams <dcbw@redhat.com>
The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3741 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-10 15:54:23 +00:00
Dan Williams
a7f2b61cdf 2008-06-06 Dan Williams <dcbw@redhat.com>
* system-settings/src/nm-polkit-helpers.c
		- (create_polkit_context): in PolicyKit 0.6, polkit_context_init() will
			unref the context if the initialization fails; also avoid spew when
			the error isn't set



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3731 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-06 19:28:53 +00:00
Tambet Ingo
d95e330f96 2008-06-05 Tambet Ingo <tambet@gmail.com>
Fix memory leaks.

	* system-settings/src/nm-system-config-hal-manager.c (get_type_for_udi):
	Free data returned from dbus method call.

	* system-settings/src/nm-polkit-helpers.c (check_polkit_privileges):
	dbus_g_method_get_sender() returns a duplicated string, free it
	when done.
	(check_polkit_privileges): Looks like policykit sometimes returns
	error and non-null return value, don't leak errors in that case.

	* system-settings/src/main.c (find_plugin): Don't leak existing
	plugin names.
	(load_stuff): Don't leak device list and list items.
	(have_connection_for_device): Don't leak connection list.

	* system-settings/plugins/keyfile/reader.c (read_one_setting_value):
	Free the data received from g_keyfile_get_*.

	* system-settings/plugins/ifcfg-suse/parser.c (READ_WEP_KEY): Free
	the key when the security object is updated.

	* src/supplicant-manager/nm-supplicant-interface.c (scan_results_cb):
	Free data returned from dbus method call.
	(iface_state_cb): Ditto.
	(add_network_cb): Ditto.
	(nm_supplicant_interface_add_cb): Don't make another copy of already
	duplicated object path.
	(nm_supplicant_interface_add_to_supplicant): Free the driver GValue
	when done.

	* src/supplicant-manager/nm-supplicant-config.c
	(ADD_STRING_LIST_VAL): Fix a memory leak.

	* src/nm-manager.c (free_get_settings_info): Free the allocated
	memory slice.
	(list_connections_cb): Free data returned from dbus method call.
	(system_settings_get_unmanaged_devices_cb): Ditto.

	* src/nm-device-802-11-wireless.c (device_cleanup): Free ssid.

	* system-settings/plugins/ifcfg-suse/shvar.c (svCloseFile):
	* system-settings/plugins/ifcfg-fedora/shvar.c (svCloseFile):
	* src/backends/shvar.c (svCloseFile): Free the duplicated content
	of the GList.

	* libnm-util/nm-setting.c (nm_setting_from_hash): Free the constructor
	arguments after the object is created.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3721 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-05 13:16:02 +00:00
Tambet Ingo
89aaffef8c 2008-05-29 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/ifcfg-suse/nm-suse-connection.c
	(file_changed): Fix a bug where suse system settings plugin didn't
	update the connections automatically when the files changed.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3700 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-29 07:57:52 +00:00
Tambet Ingo
f812251afc 2008-05-26 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/ifcfg-suse/plugin.c (get_unamanged_devices_cb):
	Fix a typo.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3693 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-26 13:25:22 +00:00
Dan Williams
eccd0e3101 2008-05-23 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/reader.c
		- (make_ip4_setting): honor PEERDNS setting



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3688 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-23 10:40:41 +00:00
Dan Williams
ef08d804ad 2008-05-20 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/reader.c
		- (add_one_wep_key): handle ASCII WEP keys too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3677 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-20 21:27:33 +00:00
Dan Williams
5e184c707d 2008-05-19 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/reader.c
		- (make_ip4_setting): get a fallback gateway from /etc/sysconfig/network
			if the ifcfg doesn't specify one



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3675 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-19 16:44:07 +00:00
Dan Williams
6c79f46f13 2008-05-19 Dan Williams <dcbw@redhat.com>
Make the system settings service exit when the bus goes away.  Since it's
	a bus-activated service, it's lifetime is limited to the bus that activated
	it (rh #444976).

	* system-settings/src/Makefile.am
	  system-settings/src/nm-system-config-hal-manager-private.h
		- Remove nm-system-config-hal-manager-private.h

	* system-settings/src/nm-system-config-hal-manager.c
		- (nm_system_config_hal_manager_reinit_dbus,
		   nm_system_config_hal_manager_deinit_dbus): remove

	* system-settings/src/main.c
		- (dbus_reconnect): remove
		- (dbus_cleanup): don't tell the HAL manager to deinit dbus
		- (destroy_cb): just quit when the bus goes away
		- (start_dbus_service, dbus_init): simplify
		- (main): destroy the wired devices hash table after destroying
			the HAL manager so we don't have to disconnect signals from the
			HAL manager



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3674 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-19 16:13:31 +00:00
Tambet Ingo
40a69f986c 2008-05-15 Tambet Ingo <tambet@gmail.com>
Move crypto functions from nm-applet to libnm-util.

	* libnm-util/nm-setting-8021x.c (nm_setting_802_1x_set_ca_cert)
	(nm_setting_802_1x_set_client_cert)
	(nm_setting_802_1x_set_phase2_ca_cert)
	(nm_setting_802_1x_set_phase2_client_cert)
	(nm_setting_802_1x_set_private_key)
	(nm_setting_802_1x_set_phase2_private_key): Implement. Given a certificate
	file (or private key and it's password), read the certificate data.

	* libnm-util/crypto_nss.c:
	* libnm-util/crypto_gnutls.c:
	* libnm-util/crypto.[ch]: Move here from nm-applet.

	* configure.in: Check for NSS and gnutls here (moved here from nm-applet).

	* system-settings/plugins/ifcfg-suse/parser.c (read_wpa_eap_settings):
	Imlement WPA-EAP configuration reading from sysconfig.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3673 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-19 07:43:13 +00:00
Dan Williams
e868d1cef6 Print something when re-managing an ifcfg connection
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3665 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-13 17:48:01 +00:00
Dan Williams
4ce69835f5 2008-05-13 Dan Williams <dcbw@redhat.com>
* marshallers/nm-marshal.list
		- Add VOID:POINTER,STRING marshaller for ifcfg-fedora plugin

	* system-settings/plugins/ifcfg-fedora/Makefile.am
	  system-settings/plugins/ifcfg-fedora/nm-inotify-helper.c
	  system-settings/plugins/ifcfg-fedora/nm-inotify-helper.h
		- Implement a minimal inotify helper for watch paths for IN_CLOSE_WRITE
			events.  Solely for use watching ifcfg files to pick up changes
			to their hardlinks, since GIO doesn't support this yet (bgo #532815)

	* system-settings/plugins/ifcfg-fedora/nm-ifcfg-connection.c
		- (nm_ifcfg_connection_class_init): new 'ifcfg-changed' signal when the
			file contents change
		- (finalize): clean up inotify watches
		- (nm_ifcfg_connection_new): store keyfile; inotify watch the keyfile
			and the connection ifcfg for changes on their hardlinks
		- (files_changed_cb): proxy the changed signal back out to listeners

	* system-settings/plugins/ifcfg-fedora/plugin.c
		- (dir_changed): 
		- (connection_ifcfg_changed): re-read the connection when the ifcfg
			changes
		- (read_one_connection): connect to change signals on the new connection
		- (dir_changed, connection_changed_handler,
		   handle_connection_remove_or_new): break out connection change
			handling and connection new/remove handling so it can be used from
			both the GFileMonitor callback and the NMIfcfgConnection changed
			signals

	* system-settings/plugins/ifcfg-fedora/reader.c
	  system-settings/plugins/ifcfg-fedora/reader.h
		- (connection_from_file): return the keyfile path the connection would use



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3663 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-13 16:53:50 +00:00
Tambet Ingo
b8df4e8217 2008-05-13 Tambet Ingo <tambet@gmail.com>
* system-settings/src/nm-polkit-helpers.c (create_polkit_context): Use a
	single PolKitContext which is shared by all. PolKitContext::unref leaks
	just about everything, including all open file descriptiors and results
	in 99% cpu usage when data arrives to any of the fds that don't belong
	to any context anymore.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3662 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-13 10:16:41 +00:00
Dan Williams
775a80ad5a 2008-05-11 Dan Williams <dcbw@redhat.com>
* configure.in
		- record PolicyKit version

	* system-settings/src/nm-polkit-helpers.c
		- (check_polkit_privileges): use polkit_context_can_caller_do_action()
			with PolicyKit <= 0.6



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3658 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-12 02:49:54 +00:00
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
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
Dan Williams
fcb725e296 Don't complain if system settings service exits before connections are read
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3641 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-08 00:55:21 +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
Dan Williams
81065a342b Add missing library
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3634 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-06 15:22:13 +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
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
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
06a8e93105 Don't ingore return value of chown
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3590 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-23 03:00:37 +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
1ca3da1cd0 Fix free of error (found by Tambet)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3566 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-16 14:33:12 +00:00
Tambet Ingo
3923ddc618 2008-04-10 Tambet Ingo <tambet@gmail.com>
* system-settings/plugins/ifcfg-suse/parser.c (make_wireless_security_setting):
	Make it compile again by commenting out broken code that at first didn't work and
	now didn't compile either.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3550 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-10 07:57:43 +00:00
Dan Williams
9a49506152 2008-04-08 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-object-cache.c
	  libnm-glib/nm-settings.c
	  src/dhcp-manager/nm-dhcp-manager.c
	  system-settings/plugins/ifcfg-fedora/plugin.c
	  system-settings/plugins/ifcfg-suse/plugin.c
	  system-settings/src/nm-system-config-hal-manager.c
	  libnm-util/nm-utils.c
		- Remove usage of GStaticMutex since gcc-4.3 hates it and because we're
			not threadsafe anyway



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3548 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 21:15:45 +00:00
Dan Williams
c066672f6a 2008-04-08 Dan Williams <dcbw@redhat.com>
* system-settings/src/main.c
		- (load_stuff, device_added_cb, device_removed_cb): device added/removed
			callbacks take a device type too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3546 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 17:55:52 +00:00
Dan Williams
0825542f26 2008-04-08 Dan Williams <dcbw@redhat.com>
The system settings service will now create a new default DHCP connection
	for wired devices that have no existing applicable connection.

	* system-settings/src/nm-system-config-hal-manager.c
	  system-settings/src/nm-system-config-hal-manager.h
		- (nm_system_config_hal_manager_get_type_for_udi): new function

	* system-settings/src/dbus-settings.c
	  system-settings/src/dbus-settings.h
		- (nm_sysconfig_settings_get_connections): new function
		- (nm_sysconfig_settings_is_device_managed): new function

	* system-settings/src/main.c
		- (load_stuff): check for wired devices that need a default connection
		- (get_details_for_udi): get interface and MAC address from HAL
		- (add_default_dhcp_connection): add a default connection for a wired
			device if needed
		- (device_added_cb, device_removed_cb): do the right thing with
			wired devices and their default connections on HAL device events



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3544 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 14:57:17 +00:00
Dan Williams
5ba11eecab 2008-04-07 Dan Williams <dcbw@redhat.com>
* system-settings/src/main.c
		- (unmanaged_devices_changed_cb, register_plugin): proxy changes from
			plugins to the dbus settings object
		- (load_stuff): start the dbus service after grabbing unmanaged devices
		- (dbus_reconnect, dbus_cleanup): make HAL manager aware of dbus events
		- (log_handler, logging_setup, logging_shutdown): log output to syslog
		- (main): switch default logging to syslog with a 'debug' option to
			output to console; start up the HAL manager



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3538 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 01:41:49 +00:00
Dan Williams
67149b36f4 2008-04-07 Dan Williams <dcbw@redhat.com>
* introspection/nm-settings-system.xml
	  introspection/Makefile.am
		- Define the unmanaged devices interface for the system settings service

	* system-settings/src/nm-system-config-hal-manager.c
	  system-settings/src/nm-system-config-hal-manager.h
	  system-settings/src/nm-system-config-hal-manager-private.h
	  system-settings/src/Makefile.am
		- Add a lightweight HAL manager object for tracking network devices for
			the purpose of determining unmanaged devices and which devices need
			the default DHCP connections

	* system-settings/src/nm-system-config-interface.c
	  system-settings/src/nm-system-config-interface.h
		- (nm_system_config_interface_init): add the HAL manager as an argument
		- (nm_system_config_interface_get_unmanaged_devices): implement
		- Define 'unmanaged-devices-changed' signal

	* system-settings/src/dbus-settings.c
	  system-settings/src/dbus-settings.h
		- Implement the unmanaged devices interface; some cleanups

	* system-settings/plugins/ifcfg-suse/plugin.c
		- Fixup for plugin interface changes

	* system-settings/plugins/ifcfg-fedora/plugin.c
		- (get_ether_device_udi): new function; find the device that has
			a specified MAC address and return its UDI
		- (get_udi_for_connection): new function; try to find the specific
			device a connection is locked to, if any
		- (device_added_cb, device_removed_cb): update unmanaged device list in
			response to HAL events
		- (get_unmanaged_devices): new function; return unmanaged device list
		- (build_one_connection): set the connection's locked device, if any
		- (write_auto_wired_connection): remove
		- (kill_old_auto_wired_file): remove the ifcfg-Auto Wired file if found
		- (handle_connection_changed): alert listeners that the unmanaged device
			list has changed
		- (init): fixup for plugin interface changes, implement unmanaged devices

	* system-settings/plugins/ifcfg-fedora/parser.c
	  system-settings/plugins/ifcfg-fedora/parser.h
		- (connection_data_free): clean up connection UDI



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3537 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 01:36:39 +00:00
Dan Williams
dcbfae2c1e 2008-04-07 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/parser.c
		- (make_ip4_setting): fix parsing of DNS servers



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3536 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-07 22:57:29 +00:00
Dan Williams
8650747fa7 Look for secrets in the right place for static WEP connections
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3534 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-07 13:28:31 +00:00
Dan Williams
ebccea23f9 2008-04-02 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/parser.c
		- (read_mac_address): new function; read in MAC address and stuff it
			into the connection
		- (add_one_wep_key): remove debug spew
		- (make_wireless_security_setting): validate the default TX key; don't
			add the wireless-security setting if the connection doesn't need
			security; don't leak the keys shvarFile on error cases
		- (make_wireless_setting, make_wired_setting): populate device's MAC
			address



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3526 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-02 17:39:35 +00:00
Dan Williams
e9e6f3124c 2008-04-01 Dan Williams <dcbw@redhat.com>
Patch from Per Øyvind Karlsen <peroyvind@mandriva.org>

	* configure.in
	  initscript/Makefile.am
	  initscript/Mandriva/Makefile.am
	  initscript/Mandriva/networkmanager.in
	  initscript/Mandriva/networkmanagerdispatcher.in
	  src/backends/Makefile.am
	  src/backends/NetworkManagerMandriva.c
	  system-settings/plugins/Makefile.am
		- Add Mandriva support



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3523 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-01 21:26:09 +00:00
Dan Williams
d98c159e6b 2008-03-29 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/parser.c
		- Fix parsing of WEP keys; ifcfg files use indexes [1...4] rather than
			[0...3]; also handle KEY correctly in combination with DEFAULTKEY



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3509 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-29 12:57:44 +00:00
Dan Williams
c1aaea48ff 2008-03-29 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/parser.c
		- (get_one_wep_key, make_wireless_security_setting): handle "KEY" too



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3508 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-29 12:01:25 +00:00
Dan Williams
0daef72c82 Fix parameter for DNS search stuff from ifcfg files
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3476 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-19 03:32:58 +00:00
Dan Williams
37c767224a 2008-03-18 Dan Williams <dcbw@redhat.com>
* system-settings/plugins/ifcfg-fedora/parser.c
	  system-settings/plugins/ifcfg-fedora/parser.h
	  system-settings/plugins/ifcfg-fedora/plugin.c
		- Read settings from /etc/sysconfig/network-scripts/ instead of using
			profiles.  DNS servers and searches must now be stored in the ifcfg
			files themselves



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

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

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

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

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



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


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

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

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

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



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3443 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-13 03:11:02 +00:00