NetworkManager/include
Dan Williams fb62f395ea vpn: fix handling of connections with only system secrets
The core problem was the nm_connection_need_secrets() call in
nm-agent-manager.c's get_start() function; for VPN settings this
always returns TRUE.  Thus if a VPN connection had only system
secrets, when the agent manager checked if additional secrets
were required, they would be, and agents would be asked for
secrets they didn't have and couldn't provide.  Thus the
connection would fail.  nm_connection_need_secrets() simply
can't know if VPN secrets are really required because it
doesn't know anything about the internal VPN private data;
only the plugin itself can tell us if secrets are required.

If the system secrets are sufficient we shouldn't be asking any
agents for secrets at all.  So implement a three-step secrets
path for VPN connections.  First we retrieve existing system
secrets, and ask the plugin if these are sufficient.  Second we
request both existing system secrets and existing agent secrets
and again ask the plugin if these are sufficient.  If both those
fail, we ask agents for new secrets.
2011-06-15 12:19:47 -05:00
..
Makefile.am core: add nm-secrets-flags.h for secret agent flags typedef 2011-03-29 22:53:22 -05:00
NetworkManager.h core: add active connection state DEACTIVATING 2011-03-17 14:23:21 -05:00
NetworkManagerVPN.h vpn: let plugins forbid VPN connections from getting the default route (bgo #621698) 2010-08-12 23:53:42 -05:00
nm-dbus-glib-types.h libnm-util: add gateway member to IPv6 addresses 2010-04-17 10:26:53 -07:00
nm-glib-compat.h Use g_timeout_add_seconds() to reduce wakeups 2008-12-31 18:57:36 -05:00
nm-settings-flags.h vpn: fix handling of connections with only system secrets 2011-06-15 12:19:47 -05:00
nm-test-helpers.h test: whitespace cleanup 2009-05-09 23:58:13 -04:00
nm-version.h.in include: add NM_CHECK_VERSION define 2011-03-02 17:16:27 -06:00
wireless-helper.h License header and FSF address update 2008-12-20 09:46:41 -05:00