diff options
author | Thomas Haller <thaller@redhat.com> | 2018-04-12 11:19:06 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2018-04-18 07:55:15 +0200 |
commit | 7fcdca29b6443083703f1350bacf70199b6b6eb7 (patch) | |
tree | 003054dc562acbbd633c8a09c857bf0bcb3ef67f | |
parent | bdc622fd31b7da46e36c0416b022c9d86e34d653 (diff) | |
download | NetworkManager-7fcdca29b6443083703f1350bacf70199b6b6eb7.tar.gz |
manager: add _connection_is_vpn() helper to unify checks for VPN type
-rw-r--r-- | src/nm-manager.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c index d71e7b4abb..fff4fc412f 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -339,6 +339,23 @@ static NM_CACHED_QUARK_FCN ("autoconnect-root", autoconnect_root_quark) /*****************************************************************************/ static gboolean +_connection_is_vpn (NMConnection *connection) +{ + const char *type; + + type = nm_connection_get_connection_type (connection); + if (type) + return nm_streq (type, NM_SETTING_VPN_SETTING_NAME); + + /* we have an incomplete (invalid) connection at hand. That can only + * happen during AddAndActivate. Determine whether it's VPN type based + * on the existance of a [vpn] section. */ + return !!nm_connection_get_setting_vpn (connection); +} + +/*****************************************************************************/ + +static gboolean concheck_enabled (NMManager *self, gboolean *out_changed) { NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); @@ -4036,7 +4053,7 @@ _new_active_connection (NMManager *self, specific_object = nm_utils_dbus_normalize_object_path (specific_object); - is_vpn = nm_connection_is_type (NM_CONNECTION (connection), NM_SETTING_VPN_SETTING_NAME); + is_vpn = _connection_is_vpn (NM_CONNECTION (connection)); if (NM_IS_SETTINGS_CONNECTION (connection)) settings_connection = (NMSettingsConnection *) connection; @@ -4252,9 +4269,7 @@ validate_activation_request (NMManager *self, error)) return NULL; - if ( nm_connection_get_setting_vpn (connection) - || nm_connection_is_type (connection, NM_SETTING_VPN_SETTING_NAME)) - is_vpn = TRUE; + is_vpn = _connection_is_vpn (connection); if (*out_device) { device = *out_device; |