1. 17 Dec, 2012 2 commits
  2. 24 Sep, 2012 1 commit
    • Jiří Klimeš's avatar
      core: VPN autoconnect feature (bgo #560471) (rh #483120) · ece5e209
      Jiří Klimeš authored
      We go through the SECONDARIES state where we check if there are some secondary
      (VPN or other) UUIDs that are to be activated before progressing to ACTIVATED.
      In case of an error with a secondary UUID or its activation, the base connection
      can't activate successfully.
      ece5e209
  3. 29 Jun, 2012 1 commit
    • Dan Williams's avatar
      vpn: restore VpnStateChanged D-Bus signal API · 815a0b18
      Dan Williams authored
      The DNS change frequency reduction patches mistakenly changed the signature
      of the VpnStateChanged signal.  Fix that, since we try really really
      hard not to break the D-Bus API in stable branches.  My bad...
      815a0b18
  4. 14 Jun, 2012 1 commit
  5. 13 Jun, 2012 1 commit
  6. 12 Jun, 2012 1 commit
  7. 01 Mar, 2012 1 commit
  8. 15 Feb, 2012 1 commit
    • Dan Winship's avatar
      Use glib-mkenums to generate enum types · 839eab55
      Dan Winship authored
      Rather than generating enum classes by hand (and complaining in each
      file that "this should really be standard"), use glib-mkenums.
      
      Unfortunately, we need a very new version of glib-mkenums in order to
      deal with NM's naming conventions and to fix a few other bugs, so just
      import that into the source tree temporarily.
      
      Also, to simplify the use of glib-mkenums, import Makefile.glib from
      https://bugzilla.gnome.org/654395.
      
      To avoid having to run glib-mkenums for every subdirectory of src/,
      add a new "generated" directory, and put the generated enums files
      there.
      
      Finally, use Makefile.glib for marshallers too, and generate separate
      ones for libnm-glib and NetworkManager.
      839eab55
  9. 09 Feb, 2012 1 commit
  10. 06 Dec, 2011 1 commit
  11. 29 Sep, 2011 1 commit
    • Jiří Klimeš's avatar
      vpn: fix 'SpecificObject' path for active VPN connections on D-Bus · a4305b3c
      Jiří Klimeš authored
      Active VPN connections exported their own active path instead of active path of
      base connection in 'SpecificObject' property. It's a regression caused by commit
      bc6fc7b9 that split VPN connections to
      NMVPNConnectionBase and NMVPNConnection.
      Previously, specific object used to be obtained from NMActRequest of parent
      connection. The NMActRequest object served also for getting secrets. Commits
      0e6a5365 and 832e64f8
      removed NMActRequest from VPN connection because it's not necessary any more.
      This commit fixes the issue by passing specific object path explicitly.
      a4305b3c
  12. 15 Sep, 2011 1 commit
  13. 13 Apr, 2011 1 commit
  14. 24 Mar, 2011 1 commit
    • Dan Williams's avatar
      vpn: fix memory leaks · 7da9e2f6
      Dan Williams authored
      Two problems here:
      
      1) code	that called nm_vpn_service_get_active_connections() wasn't freeing
      the returned list, leaking it
      
      2) No real reason to reference each item in the returned list in
      nm_vpn_manager_get_active_connections(), it just makes it easier to
      forget to unref things later
      7da9e2f6
  15. 19 Mar, 2011 1 commit
  16. 27 Jan, 2011 1 commit
    • Dan Williams's avatar
      agents: filter agents by UID for user-requested connections · 4427774d
      Dan Williams authored
      When a user makes an explicit request for secrets via GetSecrets
      or activates a device, don't ask other users' agents for secrets.
      Restrict secrets request to agents owned by the user that made the
      initial activate or GetSecrets request.
      
      Automatic activations still request secrets from any available agent.
      4427774d
  17. 17 Aug, 2010 1 commit
  18. 04 Jun, 2010 1 commit
  19. 06 Apr, 2010 1 commit
  20. 11 Jun, 2009 1 commit
  21. 04 Nov, 2008 1 commit
  22. 29 Oct, 2008 1 commit
    • Tambet Ingo's avatar
      2008-10-29 Tambet Ingo <tambet@gmail.com> · 8f6eb995
      Tambet Ingo authored
      	Half of it by Dan Williams <dcbw@redhat.com>
      
      	* libnm-util/libnm-util.ver
      	libnm-util/nm-setting-vpn.c
      	libnm-util/nm-setting-vpn.h
      		- Make properties private and add accessor functions.
      
      	* src/vpn-manager/nm-vpn-connection.c
      	src/vpn-manager/nm-vpn-manager.c
      	system-settings/plugins/keyfile/reader.c
      	vpn-daemons/openvpn/properties/auth-helpers.c
      	vpn-daemons/openvpn/properties/import-export.c
      	vpn-daemons/openvpn/properties/nm-openvpn.c
      	vpn-daemons/openvpn/src/nm-openvpn-service.c
      	vpn-daemons/pptp/auth-dialog/main.c
      	vpn-daemons/pptp/properties/advanced-dialog.c
      	vpn-daemons/pptp/properties/nm-pptp.c
      	vpn-daemons/pptp/src/nm-pptp-service.c
      	vpn-daemons/vpnc/properties/nm-vpnc.c
      	vpn-daemons/vpnc/src/nm-vpnc-service.c
      		- Use VPN setting accessors.
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4232 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      8f6eb995
  23. 11 Oct, 2008 1 commit
    • Dan Williams's avatar
      2008-10-11 Dan Williams <dcbw@redhat.com> · f078992e
      Dan Williams authored
      	* include/NetworkManager.h
      	  introspection/nm-device.xml
      	  include/NetworkManagerVPN.h
      		- Add a few more state reasons for the device deactivated state
      
      	* src/nm-device-interface.c
      	  src/nm-device-interface.h
      		- (nm_device_interface_deactivate): add a 'reason' argument
      
      	* src/nm-device.c
      	  src/nm-device.h
      		- (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
      		- (nm_device_state_changed): pass the state change reason to
      			nm_device_take_down()
      		- (nm_device_set_managed): take a 'reason' argument, and pass it along
      			to the state change function
      
      	* src/nm-manager.c
      	  src/nm-manager.h
      		- (remove_one_device, handle_unmanaged_devices, sync_devices,
      		   impl_manager_sleep): pass a reason code to nm_device_set_managed()
      		- (nm_manager_deactivate_connection): add a 'reason' argument and pass
      			something reasonable along to VPN deactivation
      
      	* src/vpn-manager/nm-vpn-manager.c
      	  src/vpn-manager/nm-vpn-manager.h
      		- (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
      			pass that along to nm_vpn_connection_disconnect()
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4174 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      f078992e
  24. 10 Oct, 2008 1 commit
    • Dan Williams's avatar
      2008-10-10 Dan Williams <dcbw@redhat.com> · ad7a46d8
      Dan Williams authored
      	Rework default route handling to consolidate decisions in the policy,
      	and to take active VPN connections into account when changing the default
      	route (bgo #545912)
      
      	* src/NetworkManager.c
      		- (main): pass the vpn_manager to the policy so it knows about active
      			VPN connections; clean up the named manager which wasn't done before
      
      	* src/NetworkManagerPolicy.c
      	  src/NetworkManagerPolicy.h
      		- (nm_policy_new): get a clue about the vpn_manager
      		- (update_default_route): remove, fold into update_routing_and_dns()
      		- (update_routing_and_dns): handle active VPN connections too; an
      			active VPN connection becomes the default route if it does not have
      			server-specified or user-specified custom routes.  Otherwise, the
      			best active device gets the default route
      		- (vpn_connection_activated, vpn_connection_deactivated, nm_policy_new,
      		   nm_policy_destroy): track VPN connection activation and deactivation
      			and update the default route when appropriate
      
      	* src/NetworkManagerSystem.c
      	  src/NetworkManagerSystem.h
      		- (nm_system_vpn_device_unset_from_ip4_config): remove, put functionality
      			in the VPN connection itself
      		- (nm_system_vpn_device_set_from_ip4_config,
      		   nm_system_device_set_from_ip4_config): merge together to make
      			nm_system_apply_ip4_config()
      		- (add_vpn_gateway_route): add a route to the VPN's external gateway
      			via the parent device
      		- (nm_system_apply_ip4_config): simplify
      		- (add_ip4_route_to_gateway): new function; add a direct route to the
      			gateway if needed
      		- (nm_system_device_replace_default_ip4_route): simplify, break gateway
      			route stuff out into add_ip4_route_to_gateway() for clarity
      
      	* src/nm-device.c
      		- (nm_device_set_ip4_config): update for nm_system_apply_ip4_config()
      
      	* src/vpn-manager/nm-vpn-connection.c
      	  src/vpn-manager/nm-vpn-connection.h
      		- (nm_vpn_connection_get_ip4_config, nm_vpn_connection_get_ip_iface,
      		   nm_vpn_connection_get_parent_device): add
      		- (nm_vpn_connection_ip4_config_get): make the requirement of a tunnel
      			device explicit
      		- (connection_state_changed): update the named manager now that
      			nm_system_vpn_device_unset_from_ip4_config() is gone; do something
      			useful on errors
      
      	* src/vpn-manager/nm-vpn-manager.c
      	  src/vpn-manager/nm-vpn-manager.h
      		- Add a 'connection-activated' signal
      		- (nm_vpn_manager_get_active_connections): new function; mainly for the
      			policy to find out about active VPN connections
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4167 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      ad7a46d8
  25. 26 Aug, 2008 1 commit
  26. 26 May, 2008 1 commit
  27. 22 Apr, 2008 1 commit
    • Dan Williams's avatar
      2008-04-21 Dan Williams <dcbw@redhat.com> · 675d1226
      Dan Williams authored
      	* 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
      675d1226
  28. 31 Mar, 2008 1 commit
  29. 26 Mar, 2008 1 commit
    • Dan Williams's avatar
      2008-03-26 Dan Williams <dcbw@redhat.com> · ec89663e
      Dan Williams authored
      	Rework VPN connection handling for a more consistent D-Bus API.  The
      	VPNManager object has been removed, and active VPN connections are now the
      	same as any other active connection.  The Manager object's ActivateConnection
      	and DeactivateConnection methods are used to start and stop a VPN connection,
      	and the VPNConnection objects are subclasses of the ActiveConnection objects.
      	When activating a VPN connection, pass the path of the active connection
      	to which the VPN connection is tied in the 'specific_object' argument.
      
      	Consequently, the libnm-glib API has been reworked to match this arrangement,
      	with the VPNManager object removed, and the NMVPNConnection objects now
      	being subclasses of NMActiveConnection.
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3504 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      ec89663e
  30. 20 Feb, 2008 1 commit
    • Dan Williams's avatar
      2008-02-20 Dan Williams <dcbw@redhat.com> · fd0ab916
      Dan Williams authored
      	* Global rename of NMConnectionSettings -> NMExportedConnection to cut down
      		on confusing names
      
      	* Add 'path' and 'scope' properties to NMConnection since both NM and the
      		applet were having to hack this in anyway.  Remove the 'path' stuff from
      		NMExportedConnection
      
      	* Internally rename NMConnectionType -> NMConnectionScope
      
      	* Provide default implementations of the 'get_id' and 'get_settings' methods
      		of NMExportedConnection
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3334 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      fd0ab916
  31. 27 Nov, 2007 1 commit
  32. 07 Nov, 2007 1 commit
    • Tambet Ingo's avatar
      2007-11-07 Tambet Ingo <tambet@gmail.com> · 6b79d40a
      Tambet Ingo authored
              Rework NMSetting structures: Move each setting to it's own file.
              Convert to GObject. Remove home grown setting types and use
      GTypes.
              Use GObject property introspection for hash conversion,
      enumerating
              properties, etc.
      
              * libnm-util/nm-setting-connection.[ch]
              * libnm-util/nm-setting-ip4-config.[ch]
              * libnm-util/nm-setting-ppp.[ch]
              * libnm-util/nm-setting-vpn.[ch]
              * libnm-util/nm-setting-vpn-properties.[ch]
              * libnm-util/nm-setting-wired.[ch]
              * libnm-util/nm-setting-wireless.[ch]
              * libnm-util/nm-setting-wireless-security.[ch]
      
              New files, each containing a setting.
      
              * libnm-util/nm-setting-template.[ch]: A template for creating
              * new
              settings. To use it, just replace 'template' with the new
      setting
              name, and you're half-way done.
      
              * libnm-util/nm-setting.c: Convert to GObject and use GObject
              introspection instead of internal types and tables.
      
              * libnm-util/nm-connection.c: Adapt the new NMSetting work.
      
              * libnm-util/nm-param-spec-specialized.[ch]: Implement. Handles
              GValue types defined by dbus-glib for composed types like
      collections,
              structures and maps.
      
              * src/*: The API of NMSetting and NMConnection changed a bit:
              * Getting
              a setting from connection takes the setting type now. Also,
      since
              the settings are in multiple files, include relevant settings.
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3068 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      6b79d40a
  33. 02 Oct, 2007 1 commit
  34. 01 Oct, 2007 1 commit
    • Tambet Ingo's avatar
      2007-09-28 Tambet Ingo <tambet@gmail.com> · 485bcfe5
      Tambet Ingo authored
              * src/nm-manager.c:
              * src/nm-manager.h:
              Implement device activation through NMManager.
              Implement "pending device activation" here - If the connection
      isn't found,
              we try to wait for up to 5 seconds for the connection to be
      provided.
              Add NMConnectionType argument to "connection-added" and
      "connection-removed"
              signals.
              (nm_manager_get): Remove. Finally.
      
              * src/nm-activation-request.c: 
              * src/nm-activation-request.h: 
              Remove all the deferred activation code.
      
              * src/nm-device.c: Remove all the deferred activation code. Once
              * the device
              activation is started, it's started. Update the activation
      virtual function
              signature.
      
              * src/nm-device-interface.c:
              * src/nm-device-interface.h:
              Device activation now takes only NMActRequest argument.
              Don't expose device activation directly on dbus, it's supposed
      to go through
              NMManager now.
      
              * src/NetworkManagerPolicy.c (nm_policy_device_change_check):
              * Make the code
              a bit more compact.
              Use the new device activation methods through NMManager.
      
              * introspection/nm-manager-client.xml: 
              * introspection/nm-manager.xml: 
              * libnm-glib/nm-client.c:
              * libnm-glib/nm-client.h:
              Add device activation method.
              
              * libnm-glib/nm-device.c: 
              * libnm-glib/nm-device.h: 
              * introspection/nm-device.xml: 
              Remove device activation method. It's done through NMManager
      now.
      
              * src/vpn-manager/nm-vpn-manager.c (impl_vpn_manager_connect):
              * Use the shiny
              new (nm_manager_get_device_by_path) function, get rid of our own
      )find_device).
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2915 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      485bcfe5
  35. 27 Sep, 2007 1 commit
  36. 26 Sep, 2007 1 commit
    • Tambet Ingo's avatar
      2007-09-26 Tambet Ingo <tambet@gmail.com> · 95e0ef09
      Tambet Ingo authored
              * src/nm-manager.c (manager_device_state_changed): Listen to
              * device' NEED_AUTH
              state and try to get the secrets.
      
              * src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device):
              * Get the list of
              connections from NMManager and let the device to choose the best
      from the list.
              Since the connection list is sorted by system ones first and
      user ones later,
              the devices still prefer system connections like they did
      before.
              (deactivate_old_device): Implement. When a device starts
      activation, we have a
              policy (for now at least) to deactivate any other device that
      might be either
              active or still activating.
      
              * src/vpn-manager/nm-vpn-manager.c: Add NMManager back to the
              * private structure.
              It's set on construction, there will be no other way to access
      it.
      
              * src/nm-device-802-11-wireless.c: Don't touch NMManager,
              * NMManager can listen to
              device events and drive the device, not the other way around.
      
              * src/nm-device-802-3-ethernet.c: Ditto.
      
              * src/nm-device.c (nm_device_get_best_connection): The
              * connections list is now
              sent along, pass it on to virtual functions.
      
              * src/nm-device-interface.c (nm_device_interface_get_iface):
              * Implement. It's static
              for now, but should really be public instead of
      nm_device_get_iface() since iface
              is a property of the DeviceInterface, not Device.
              (impl_device_activate): Don't touch NMManager!
      
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2889 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      95e0ef09
  37. 25 Sep, 2007 2 commits
  38. 20 Sep, 2007 1 commit
    • Tambet Ingo's avatar
      2007-09-20 Tambet Ingo <tambet@gmail.com> · 67463194
      Tambet Ingo authored
              * libnm-util/nm-connection.c (register_default_creators): Use
              * defined
              setting names. Register NMSettingVPN and NMSettingVPNProperties.
      
              * libnm-util/nm-setting.c: Define property name strings, use
              * them.
              Implement NMSettingVPN and NMSettingVPNProperties settings.
              Implement NM_S_TYPE_GVALUE_HASH.
              (nm_setting_populate_from_hash): Handle NM_S_TYPE_GVALUE_HASH.
              (setting_connection_verify): Rename 'devtype' property to
      'type'.
      
              * introspection/nm-vpn-manager.xml: Use NMConnection for VPN
              * service
              properties.
      
              * src/vpn-manager/nm-vpn-service.c: Ditto.
      
              * src/vpn-manager/nm-vpn-connection.c: Ditto.
      
              * src/vpn-manager/nm-vpn-manager.c (nm_vpn_manager_connect):
              * Ditto.
              (nm_vpn_manager_new): Remove NMManager argument, it's easy
      enough to get.
      
              * src/nm-device-802-11-wireless.c (find_best_connection): Use
              * defined setting
              names. NMSettingConnection->devtype got renamed to 'type'.
      
              * src/nm-device-802-3-ethernet.c (find_best_connection):
              (real_get_best_connection): Ditto.
      
              * src/NetworkManager.c (main): Update the vpn manager creation
              * arguments.
      
              * libnm-glib/nm-vpn-manager.[ch]: Update.
      
      
      
      git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2826 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
      67463194