NetworkManager/src
Dan Williams d4b15684f3 wwan: rework connection flow to send PIN earlier and fix autoconnect
Modems often don't expose all the required properties until they have
been unlocked, and that includes the IP types supported by the modem.

With an autoconnect WWAN connection where the SIM requires a PIN, there
were two problems:

1) the PIN is a secret and we don't have it until it's explicitly requested
during the activation process, so we cannot gate GSM connection availability
on whether a PIN is present since this happens long before we request secrets

2) when the modem is locked it may not report the supported IP types, which
caused an auto-activation to fail early becuase IP compatibility is checked
before the PIN is sent to the modem

Rework connection activation flow into a series of concrete steps, where the
PIN is sent to the modem if required, and only after the modem is actually
unlocked does the connection proceed.  This does mean that any connection
marked 'autoconnect' can theoretically enable a PIN-locked modem even if
the connection has no PIN defined, but there's no good way around that.
NetworkManager would activate the connection

(cherry picked from commit cb751012a2)
2016-01-25 12:40:08 -06:00
..
devices wwan: rework connection flow to send PIN earlier and fix autoconnect 2016-01-25 12:40:08 -06:00
dhcp-manager dhcp: lifetimes are unsigned integers, use %u printf specifier (rh #1268911) 2015-12-03 15:29:51 +01:00
dns-manager build: fix missing <gio/gio.h> include for "nm-dns-manager.c" 2016-01-11 12:53:34 +01:00
dnsmasq-manager build: extract version macros from "nm-version.h" to new header file "nm-version-macros.h" 2015-09-30 23:35:52 +02:00
platform linux-platform: treat gadget devices as ethernet devices 2016-01-21 15:28:44 +01:00
ppp-manager ppp-manager: clear @ppp_watch_id upon pppd termination 2016-01-05 18:44:08 +01:00
rdisc build: extract version macros from "nm-version.h" to new header file "nm-version-macros.h" 2015-09-30 23:35:52 +02:00
settings core: declare nm_agent_manager_get() using NM_DEFINE_SINGLETON_GETTER() 2015-12-01 13:17:23 +01:00
supplicant-manager wifi: assert against returning cached NMSupplicantInterface instances 2016-01-21 15:05:03 +01:00
tests core: strip trailing dot from domain search list 2015-12-05 10:08:15 +01:00
vpn-manager core: declare nm_agent_manager_get() using NM_DEFINE_SINGLETON_GETTER() 2015-12-01 13:17:23 +01:00
main-utils.c core: don't handle SIGUSR1 and SIGUSR2 signals for pre 2.36.0 glib 2015-11-25 10:58:22 +01:00
main-utils.h config: pass signals to nm_config_reload() 2015-06-26 10:40:47 +02:00
main.c core: declare nm_supplicant_manager_get() using NM_DEFINE_SINGLETON_GETTER() 2015-12-01 13:16:58 +01:00
Makefile.am build: extract version macros from "nm-version.h" to new header file "nm-version-macros.h" 2015-09-30 23:35:52 +02:00
NetworkManagerUtils.c core: fix assuming a connection without S390 properties (rh #1276343) 2015-11-03 08:47:32 +01:00
NetworkManagerUtils.h core: fix builds with older gcc (like 4.4.x) 2015-11-10 11:12:33 -06:00
nm-activation-request.c core: list iptables sharing rules in the right order 2016-01-23 10:19:39 +01:00
nm-activation-request.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-active-connection.c logging: declare default logging macros in "nm-logging.h" 2015-08-20 18:05:43 +02:00
nm-active-connection.h nm-manager: add 'metered' property 2015-07-22 13:52:46 +02:00
nm-auth-manager.c logging: declare default logging macros in "nm-logging.h" 2015-08-20 18:05:43 +02:00
nm-auth-manager.h core: drop all remaining core-internal error domains 2014-10-22 08:29:10 -04:00
nm-auth-subject.c core: return parent pid from nm_utils_get_start_time_for_pid() 2015-07-01 11:40:40 +02:00
nm-auth-subject.h auth: support disabling POLKIT authentication entirely at compile time 2014-09-29 13:51:11 +02:00
nm-auth-utils.c auth-utils: memleak: free the key when we steal data 2015-02-18 18:16:31 +01:00
nm-auth-utils.h auth: rework polkit autorization to use DBUS interface directly 2014-09-29 13:51:11 +02:00
nm-config-data.c main: add argument --print-config to NetworkManager 2015-11-22 13:46:21 +01:00
nm-config-data.h main: add argument --print-config to NetworkManager 2015-11-22 13:46:21 +01:00
nm-config.c main: add argument --print-config to NetworkManager 2015-11-22 13:46:21 +01:00
nm-config.h config: fix wrong signature of class-method config_changed() for signal 2015-09-04 16:36:54 +02:00
nm-connection-provider.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-connection-provider.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-connectivity.c logging: declare default logging macros in "nm-logging.h" 2015-08-20 18:05:43 +02:00
nm-connectivity.h connectivity: make NMConnectivity independent of NMConfig 2015-05-05 16:50:10 +02:00
nm-dbus-manager.c core: replace g_test_initialized() by nm_utils_get_testing() 2015-07-03 09:24:02 +02:00
nm-dbus-manager.h dbus-manager: add nm_dbus_manager_setup() function for testing 2015-03-13 11:50:50 +01:00
nm-dcb.c core: use GUnixSignalWatchSource to simplify signal handling 2015-06-20 10:48:21 +02:00
nm-dcb.h core: drop all remaining core-internal error domains 2014-10-22 08:29:10 -04:00
nm-default-route-manager.c default-route: introduce _LOG2*() logging macros to log entry-messages 2015-11-20 15:24:25 +01:00
nm-default-route-manager.h default-route: add @out_is_never_default argument to has_default_route() 2015-06-19 13:42:21 +02:00
nm-dhcp4-config.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-dhcp4-config.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dhcp6-config.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-dhcp6-config.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-dispatcher.c dispatcher: don't abort when VPN connections have no IPv4 2015-11-13 16:15:01 +01:00
nm-dispatcher.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-firewall-manager.c core: declare nm_firewall_manager_get() using NM_DEFINE_SINGLETON_GETTER() 2015-12-01 13:14:01 +01:00
nm-firewall-manager.h firewall: make call handle an opaque pointer type 2014-11-19 12:58:36 +01:00
nm-iface-helper.c core: declare nm_dhcp_manager_get() using NM_DEFINE_SINGLETON_GETTER() 2015-12-01 13:07:05 +01:00
nm-ip4-config.c core: fix failure to configure routes due to wrong device-route for IPv4 peer-addresses 2016-01-05 10:16:41 +01:00
nm-ip4-config.h core: add @merge_flags argument to nm_ip4_config_merge() and nm_ip6_config_merge() 2015-08-06 18:00:44 +02:00
nm-ip6-config.c core: strip trailing dot from domain search list 2015-12-05 10:08:15 +01:00
nm-ip6-config.h core: add @merge_flags argument to nm_ip4_config_merge() and nm_ip6_config_merge() 2015-08-06 18:00:44 +02:00
nm-logging.c logging: coerce negative error values to positive errno 2015-09-24 10:55:37 +02:00
nm-logging.h logging: introduce an alternative set of logging macros 2015-11-20 15:24:25 +01:00
nm-manager.c manager: cleanup active connections upon exit 2016-01-23 10:19:43 +01:00
nm-manager.h core: fix NMManager in private-bus-only case 2015-08-12 16:27:14 +02:00
nm-multi-index.c all: fix additional compiler warningis about function declarations 2015-06-22 09:56:05 +02:00
nm-multi-index.h core: add NMMultiIndex class 2015-06-21 15:21:56 +02:00
nm-policy.c core: declare nm_dns_manager_get() using NM_DEFINE_SINGLETON_GETTER() 2015-12-01 13:01:37 +01:00
nm-policy.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-properties-changed-signal.c core: log ignored property notification with level TRACE 2015-03-11 17:07:55 +01:00
nm-properties-changed-signal.h core: make nm-properties-changed-signal always export the right properties 2013-05-20 16:38:33 -03:00
nm-rfkill-manager.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-rfkill-manager.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-route-manager.c logging: swap names of logging macros _LOGT() and _LOGt() 2015-11-06 14:21:11 +01:00
nm-route-manager.h route-manager: add argument to to only remove routes that were added by NMRouteManager 2015-07-14 13:44:56 +02:00
nm-session-monitor-ck.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-session-monitor-null.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-session-monitor-systemd.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-session-monitor.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-session-utils.c all: consistently include config.h 2014-11-13 17:18:42 -05:00
nm-session-utils.h core: drop all remaining core-internal error domains 2014-10-22 08:29:10 -04:00
nm-sleep-monitor-systemd.c core: declare nm_sleep_monitor_get() using NM_DEFINE_SINGLETON_GETTER() 2015-12-01 12:57:42 +01:00
nm-sleep-monitor-upower.c core: declare nm_sleep_monitor_get() using NM_DEFINE_SINGLETON_GETTER() 2015-12-01 12:57:42 +01:00
nm-sleep-monitor.h all: fix up multiple-include-guard defines 2014-08-16 10:17:14 -04:00
nm-types.h core: add @merge_flags argument to nm_ip4_config_merge() and nm_ip6_config_merge() 2015-08-06 18:00:44 +02:00
org.freedesktop.NetworkManager.conf dbus: add strongswan to the vpn plugin bus names 2015-10-23 18:21:59 +02:00