1. 28 May, 2013 1 commit
    • Dan Williams's avatar
      settings: implement ability to add connections without saving them to disk · 8a79fb1d
      Dan Williams authored
      We don't always want to immediately write new connections to disk, to
      facilitate "runtime" or "temporary" connections where an interface's
      runtime config isn't backed by on-disk config.  Also, just because
      an interface's configuration is changed doesn't necessarily mean
      that new configuration should be written to disk either.
      
      Add D-Bus methods for adding new connections and for updating existing
      connections that don't immediately save the connection to disk.
      
      Also add infrastructure to indicate to plugins that the new connection
      shouldn't be immediately saved if the connection was added with the
      new method.
      8a79fb1d
  2. 03 Apr, 2013 1 commit
  3. 16 Nov, 2011 1 commit
  4. 01 Feb, 2011 2 commits
  5. 26 Jan, 2011 1 commit
  6. 29 Oct, 2010 1 commit
  7. 28 Oct, 2010 1 commit
  8. 07 Aug, 2010 1 commit
    • Daniel Gnoutcheff's avatar
      remove nm-settings-connection-interface · 7f8dc06d
      Daniel Gnoutcheff authored
      NMSettingsConnectionInterface was created to allow the daemon and NM
      clients to have common code that handled both system and user
      connections. It's no longer needed now that user settings services are
      gone.
      
      This concludes the flattening of libnm-glib.
      7f8dc06d
  9. 18 Jun, 2010 1 commit
  10. 27 May, 2010 1 commit
  11. 26 May, 2010 1 commit
  12. 23 Jul, 2009 1 commit
    • Dan Williams's avatar
      libnm-glib: implement new settings interfaces · 0d69dfe3
      Dan Williams authored
      The old NMExportedConnection was used for both client and server-side classes,
      which was a mistake and made the code very complicated to follow.  Additionally,
      all PolicyKit operations were synchronous, and PK operations can block for a
      long time (ie for user input) before returning, so they need to be async.  But
      NMExportedConnection and NMSysconfigConnection didn't allow for async PK ops
      at all.
      
      Use this opportunity to clean up the mess and create GInterfaces that both
      server and client objects implement, so that the connection editor and applet
      can operate on generic objects like they did before (using the interfaces) but
      can perform specific operations (like async PK verification of callers) depending
      on whether they are local or remote or whatever.
      0d69dfe3
  13. 11 Jun, 2009 1 commit
  14. 03 Nov, 2008 1 commit
  15. 18 Sep, 2008 1 commit
    • Dan Williams's avatar
      2008-09-18 Dan Williams <dcbw@redhat.com> · 9d5a2291
      Dan Williams authored
      	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
      9d5a2291
  16. 12 Aug, 2008 2 commits
    • Dan Williams's avatar
      2008-08-12 Dan Williams <dcbw@redhat.com> · 5611f4c4
      Dan Williams authored
      	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
      5611f4c4
    • Dan Williams's avatar
      2008-08-12 Dan Williams <dcbw@redhat.com> · a3be3b6e
      Dan Williams authored
      	* 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
      a3be3b6e
  17. 16 Jul, 2008 1 commit
    • Tambet Ingo's avatar
      2008-07-16 Tambet Ingo <tambet@gmail.com> · 5262883e
      Tambet Ingo authored
      	* system-settings/src/nm-system-config-interface.c
      	(nm_system_config_interface_supports_add): Implement.
      	(nm_system_config_interface_add_connection): Return a boolean to notify
      	of errors.
      
      	* system-settings/src/nm-polkit-helpers.c:
      	* system-settings/src/nm-polkit-helpers.h: Move error declarations to
      	a separate file.
      
      	* system-settings/src/dbus-settings.c (impl_settings_add_connection):
      	Return an error when none of the plugins support add or if addition
      	failed for some reason.
      
      	* system-settings/src/nm-system-config-error.h:
      	* system-settings/src/nm-system-config-error.c: New files, mostly moved
      	here from nm-polkit-helpers.[ch].
      
      	* system-settings/src/Makefile.am: Build new files.
      
      	* system-settings/plugins/keyfile/reader.c
      	(read_array_of_array_of_uint): Make it more general so that it would
      	work for routes as well.
      
      	* system-settings/plugins/keyfile/writer.c
      	(write_array_of_array_of_uint): Ditto.
      	Fix the netmask/prefix writing.
      
      	* system-settings/plugins/keyfile/plugin.c (add_connection): Return
      	boolean to notify errors.
      
      	* system-settings/plugins/ifcfg-suse/nm-suse-connection.c (update):
      	Return more specific error.
      	(delete): Ditto.
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3821 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      5262883e
  18. 26 Jun, 2008 1 commit
  19. 07 May, 2008 1 commit
    • Tambet Ingo's avatar
      2008-05-05 Tambet Ingo <tambet@gmail.com> · 898c29cc
      Tambet Ingo authored
      	* 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
      898c29cc
  20. 22 Apr, 2008 1 commit
    • Tambet Ingo's avatar
      2008-04-22 Tambet Ingo <tambet@gmail.com> · e6a5d0be
      Tambet Ingo authored
      	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
      e6a5d0be
  21. 08 Apr, 2008 1 commit
    • Dan Williams's avatar
      2008-04-07 Dan Williams <dcbw@redhat.com> · 67149b36
      Dan Williams authored
      	* 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
      67149b36
  22. 18 Mar, 2008 1 commit
    • Dan Williams's avatar
      2008-03-18 Dan Williams <dcbw@redhat.com> · e117bad2
      Dan Williams authored
      	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
      e117bad2
  23. 12 Feb, 2008 1 commit
    • Dan Williams's avatar
      2008-02-12 Dan Williams <dcbw@redhat.com> · 5b87ceab
      Dan Williams authored
      	* system-settings/src/nm-system-config-interface.c
      	  system-settings/src/nm-system-config-interface.h
      		- (load_connections): get_connections() should now return an allocated
      			GSList that the system settings service will free
      
      	* system-settings/plugins/ifcfg-fedora/plugin.c
      	  system-settings/plugins/ifcfg-fedora/parser.h
      	  system-settings/plugins/ifcfg-fedora/parser.c
      		- Fix up inotify issues; handle keys-* files, handle new files appearing
      			in the profile directory, handle resolv.conf file changes
      
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3309 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      5b87ceab
  24. 07 Feb, 2008 1 commit
  25. 29 Nov, 2007 1 commit
    • Dan Williams's avatar
      2007-11-29 Dan Williams <dcbw@redhat.com> · 89a39c73
      Dan Williams authored
      	* system-settings/src/nm-system-config-interface.h
      	  system-settings/src/nm-system-config-interface.c
      		- (nm_system_config_interface_init,
      		   nm_system_config_interface_get_connections): add
      
      	* system-settings/src/main.c
      		- (load_plugins, load_connections, main): use a GSList for plugins
      			to ensure priority ordering
      
      	* system-settings/plugins/ifcfg/parser.c
      		- (ifcfg_error_quark): move to plugin.c, and rename
      
      	* system-settings/plugins/ifcfg/plugin.h
      	  system-settings/plugins/ifcfg/plugin.c
      		- (ifcfg_plugin_error_quark): move here from parser.c
      		- rework connection loading and initialization
      		- Add preliminary inotify support for network profile config file
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3117 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      89a39c73
  26. 27 Nov, 2007 1 commit
  27. 26 Nov, 2007 1 commit