NetworkManager/src
Dan Williams cb751012a2 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
2015-11-18 15:50:53 +01:00
..
devices wwan: rework connection flow to send PIN earlier and fix autoconnect 2015-11-18 15:50:53 +01:00
dhcp-manager exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00
dns-manager logging: swap names of logging macros _LOGT() and _LOGt() 2015-11-06 14:16:41 +01:00
dnsmasq-manager platform: properly handle IPv4 peer-addresses 2015-11-02 13:57:01 +01:00
platform platform/tests: fix fake-platform test running in debug-mode 2015-11-18 14:01:15 +01:00
ppp-manager platform: properly handle IPv4 peer-addresses 2015-11-02 13:57:01 +01:00
rdisc rdisc/tests: initialize iid passed to nm_rdisc_set_iid() 2015-11-03 22:25:19 +01:00
settings libnm/wwan: add GSM setting device-id, sim-id, and sim-operator-id properties 2015-11-18 15:50:52 +01:00
supplicant-manager wifi: enable mac-address-randomization by default for new connections 2015-11-18 15:37:42 +01:00
systemd build: add backward compatibility define for missing CLOCK_BOOTTIME 2015-11-13 17:19:40 +01:00
tests build: add backward compatibility define for missing CLOCK_BOOTTIME 2015-11-13 17:19:40 +01:00
vpn-manager core: explicitly unexport objects when we're done with them 2015-11-10 18:12:12 +01:00
main-utils.c all: drop includes to <glib/gi18n.h> for "nm-default.h" 2015-08-05 15:35:51 +02:00
main-utils.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
main.c core: fix failed assertion when D-Bus service is already taken 2015-11-13 18:01:33 +01:00
Makefile.am lldp: add test case 2015-11-10 14:25:05 +01:00
NetworkManagerUtils.c build: avoid invalid compiler warning 2015-11-10 15:31:49 +01:00
NetworkManagerUtils.h core: fix builds with older gcc (like 4.4.x) 2015-11-10 11:10:03 -06:00
nm-activation-request.c core: use NM_UTILS_ERROR_CANCELLED_DISPOSING error reason 2015-09-25 10:34:02 +02:00
nm-activation-request.h core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-active-connection.c core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-active-connection.h core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-audit-manager.c core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-audit-manager.h core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-auth-manager.c core: use NM_UTILS_ERROR_CANCELLED_DISPOSING error reason 2015-09-25 10:34:02 +02:00
nm-auth-manager.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-auth-subject.c core: final gdbus porting 2015-08-10 09:41:26 -04:00
nm-auth-subject.h core: final gdbus porting 2015-08-10 09:41:26 -04:00
nm-auth-utils.c auth-utils: some refactoring in nm-auth-utils.c 2015-09-18 14:31:31 +02:00
nm-auth-utils.h manager: export DNS global configuration D-Bus property 2015-10-01 09:05:08 +02:00
nm-bus-manager.c exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00
nm-bus-manager.h exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00
nm-config-data.c config: drop global-dns.enable option in favor of .config.enable 2015-10-05 17:12:50 +02:00
nm-config-data.h manager: export DNS global configuration D-Bus property 2015-10-01 09:05:08 +02:00
nm-config.c config: drop global-dns.enable option in favor of .config.enable 2015-10-05 17:12:50 +02:00
nm-config.h keyfile: make the keyfile location configurable 2015-10-14 20:23:38 +02:00
nm-connection-provider.c core: fix interface type names 2015-09-10 13:43:47 -04:00
nm-connection-provider.h core: fix interface type names 2015-09-10 13:43:47 -04:00
nm-connectivity.c logging: declare default logging macros in "nm-logging.h" 2015-08-20 11:15:13 +02:00
nm-connectivity.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-dcb.c all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-dcb.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-default-route-manager.c platform: add buffer argument to platform to-string functions 2015-11-01 17:28:08 +01:00
nm-default-route-manager.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-dhcp4-config.c core: fix wrongly exporting object before instance is fully constructed 2015-11-10 18:12:12 +01:00
nm-dhcp4-config.h core: port NMDhcp4Config/NMDhcp6Config to GVariant 2015-07-24 13:25:47 -04:00
nm-dhcp6-config.c core: fix wrongly exporting object before instance is fully constructed 2015-11-10 18:12:12 +01:00
nm-dhcp6-config.h core: port NMDhcp4Config/NMDhcp6Config to GVariant 2015-07-24 13:25:47 -04:00
nm-dispatcher.c dispatcher: don't abort when VPN connections have no IPv4 2015-11-13 16:13:40 +01:00
nm-dispatcher.h core: separate active and applied connection 2015-09-18 17:32:11 +02:00
nm-exported-object.c exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00
nm-exported-object.h exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00
nm-firewall-manager.c firewall-manager: handle bus connection failure 2015-09-30 16:02:48 +02:00
nm-firewall-manager.h firewall: always take a reference to NMFirewallManager during asynchronous operations 2015-09-25 10:34:03 +02:00
nm-iface-helper.c exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00
nm-ip4-config.c platform: properly handle IPv4 peer-addresses 2015-11-02 13:57:01 +01:00
nm-ip4-config.h ip4-config: let the IPv4 device route depend on the peer-address 2015-11-02 13:57:01 +01:00
nm-ip6-config.c platform: add buffer argument to platform to-string functions 2015-11-01 17:28:08 +01:00
nm-ip6-config.h core: add @merge_flags argument to nm_ip4_config_merge() and nm_ip6_config_merge() 2015-08-06 17:52:55 +02:00
nm-logging.c logging: properly use current domains when setting logging 2015-10-09 14:58:03 +02:00
nm-logging.h logging: swap names of logging macros _LOGT() and _LOGt() 2015-11-06 14:16:41 +01:00
nm-manager.c exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00
nm-manager.h manager: export DNS global configuration D-Bus property 2015-10-01 09:05:08 +02:00
nm-multi-index.c all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-multi-index.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-policy.c policy: fix looping through list while removing elements (rh #1175446) 2015-11-05 12:51:17 +01:00
nm-policy.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-rfkill-manager.c manager: remove WiMAX rfkill flag from NMManger 2015-08-13 10:06:42 +02:00
nm-rfkill-manager.h core: skip generating gtype for rfkill enums 2015-08-19 13:49:33 +02:00
nm-route-manager.c logging: swap names of logging macros _LOGT() and _LOGt() 2015-11-06 14:16:41 +01:00
nm-route-manager.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-session-monitor.c session-monitor: explicitly use singleton instance 2015-08-13 10:06:42 +02:00
nm-session-monitor.h session-monitor: explicitly use singleton instance 2015-08-13 10:06:42 +02:00
nm-sleep-monitor-systemd.c sleep-monitor: add support for ConsoleKit2 inhibit 2015-08-07 11:45:57 +02:00
nm-sleep-monitor-upower.c all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-sleep-monitor.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-types.h platform: promise that the link lnk is an immutable NMPObject and expose it 2015-11-02 13:57:02 +01:00
org.freedesktop.NetworkManager.conf exported-object: add support for DBus ObjectManager interface 2015-11-18 15:15:05 +01:00