summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-10-25 22:17:47 +0200
committerThomas Haller <thaller@redhat.com>2017-10-31 19:35:33 +0100
commit3828ba3b0e3ab9868372b3df143ffa11613a99b9 (patch)
treeeba9535effbd9b4857b8c27923fd1562d7e56908
parent1a9d4869edeef2784e96c2337e8b9f57ed9510e0 (diff)
downloadNetworkManager-3828ba3b0e3ab9868372b3df143ffa11613a99b9.tar.gz
policy: inline can_autoconnect check in auto_activate_device()
-rw-r--r--src/nm-policy.c42
1 files changed, 15 insertions, 27 deletions
diff --git a/src/nm-policy.c b/src/nm-policy.c
index acd731a236..7472dd54f7 100644
--- a/src/nm-policy.c
+++ b/src/nm-policy.c
@@ -146,32 +146,6 @@ static void schedule_activate_check (NMPolicy *self, NMDevice *device);
/*****************************************************************************/
-static gboolean
-_autocnct_can_autoconnect (NMSettingsConnection *connection)
-{
- NMSettingConnection *s_con;
- const char *permission;
-
- if ( !nm_settings_connection_is_visible (connection)
- || nm_settings_connection_autoconnect_retries_get (connection) == 0
- || nm_settings_connection_autoconnect_blocked_reason_get (connection) != NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_NONE)
- return FALSE;
-
- s_con = nm_connection_get_setting_connection (NM_CONNECTION (connection));
- if (!nm_setting_connection_get_autoconnect (s_con))
- return FALSE;
-
- permission = nm_utils_get_shared_wifi_permission (NM_CONNECTION (connection));
- if (permission) {
- if (nm_settings_connection_check_permission (connection, permission) == FALSE)
- return FALSE;
- }
-
- return TRUE;
-}
-
-/*****************************************************************************/
-
typedef struct {
NMPlatformIP6Address prefix;
NMDevice *device; /* The requesting ("uplink") device */
@@ -1261,9 +1235,23 @@ auto_activate_device (NMPolicy *self,
best_connection = NULL;
for (i = 0; i < len; i++) {
NMSettingsConnection *candidate = NM_SETTINGS_CONNECTION (connections[i]);
+ NMSettingConnection *s_con;
+ const char *permission;
- if (!_autocnct_can_autoconnect (candidate))
+ if ( !nm_settings_connection_is_visible (candidate)
+ || nm_settings_connection_autoconnect_retries_get (candidate) == 0
+ || nm_settings_connection_autoconnect_blocked_reason_get (candidate) != NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_NONE)
continue;
+
+ s_con = nm_connection_get_setting_connection (NM_CONNECTION (candidate));
+ if (!nm_setting_connection_get_autoconnect (s_con))
+ continue;
+
+ permission = nm_utils_get_shared_wifi_permission (NM_CONNECTION (candidate));
+ if ( permission
+ && !nm_settings_connection_check_permission (candidate, permission))
+ continue;
+
if (nm_device_can_auto_connect (device, (NMConnection *) candidate, &specific_object)) {
best_connection = candidate;
break;