summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-08-17 15:34:55 +0200
committerThomas Haller <thaller@redhat.com>2016-08-17 15:50:20 +0200
commit2cb18efaea0b0fd90c4633c2c0ff00864fad18b4 (patch)
treef72adc49dd610ced96a6fcef5e4e16129574d517
parentd070d7f47d2d5631f610c0cd58f18bbffa431f63 (diff)
downloadNetworkManager-2cb18efaea0b0fd90c4633c2c0ff00864fad18b4.tar.gz
permissions: properly add checkpoint-rollback permission
Fixes: a52d4654ec4d3afbbb0ef70ada55f4a5ddac92db
-rw-r--r--clients/cli/general.c2
-rw-r--r--libnm-glib/nm-client.c2
-rw-r--r--libnm-glib/nm-client.h4
-rw-r--r--libnm/nm-client.h4
-rw-r--r--libnm/nm-manager.c2
-rw-r--r--src/nm-manager.c2
6 files changed, 14 insertions, 2 deletions
diff --git a/clients/cli/general.c b/clients/cli/general.c
index b919ccb549..50e5eeb98c 100644
--- a/clients/cli/general.c
+++ b/clients/cli/general.c
@@ -437,6 +437,8 @@ permission_to_string (NMClientPermission perm)
return NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS;
case NM_CLIENT_PERMISSION_RELOAD:
return NM_AUTH_PERMISSION_RELOAD;
+ case NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK:
+ return NM_AUTH_PERMISSION_CHECKPOINT_ROLLBACK;
default:
return _("unknown");
}
diff --git a/libnm-glib/nm-client.c b/libnm-glib/nm-client.c
index bf3191f5be..a78c601a19 100644
--- a/libnm-glib/nm-client.c
+++ b/libnm-glib/nm-client.c
@@ -238,6 +238,8 @@ nm_permission_to_client (const char *nm)
return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS;
else if (!strcmp (nm, NM_AUTH_PERMISSION_RELOAD))
return NM_CLIENT_PERMISSION_RELOAD;
+ else if (!strcmp (nm, NM_AUTH_PERMISSION_CHECKPOINT_ROLLBACK))
+ return NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK;
return NM_CLIENT_PERMISSION_NONE;
}
diff --git a/libnm-glib/nm-client.h b/libnm-glib/nm-client.h
index 50a5c762d5..a5cfcca0f8 100644
--- a/libnm-glib/nm-client.h
+++ b/libnm-glib/nm-client.h
@@ -88,6 +88,7 @@ G_BEGIN_DECLS
* DNS configuration
* @NM_CLIENT_PERMISSION_RELOAD: controls access to Reload.
* persistent hostname can be changed
+ * @NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK: permission to create checkpoints.
* @NM_CLIENT_PERMISSION_LAST: a reserved boundary value
*
* #NMClientPermission values indicate various permissions that NetworkManager
@@ -108,8 +109,9 @@ typedef enum {
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME = 11,
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS = 12,
NM_CLIENT_PERMISSION_RELOAD = 13,
+ NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK = 14,
- NM_CLIENT_PERMISSION_LAST = 13,
+ NM_CLIENT_PERMISSION_LAST = 14,
} NMClientPermission;
/**
diff --git a/libnm/nm-client.h b/libnm/nm-client.h
index a496d9ad2e..e2a18b6172 100644
--- a/libnm/nm-client.h
+++ b/libnm/nm-client.h
@@ -97,6 +97,7 @@ G_BEGIN_DECLS
* @NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS: modify persistent global
* DNS configuration
* @NM_CLIENT_PERMISSION_RELOAD: controls access to Reload.
+ * @NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK: permission to create checkpoints.
* @NM_CLIENT_PERMISSION_LAST: a reserved boundary value
*
* #NMClientPermission values indicate various permissions that NetworkManager
@@ -117,8 +118,9 @@ typedef enum {
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME = 11,
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS = 12,
NM_CLIENT_PERMISSION_RELOAD = 13,
+ NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK = 14,
- NM_CLIENT_PERMISSION_LAST = 13,
+ NM_CLIENT_PERMISSION_LAST = 14,
} NMClientPermission;
/**
diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c
index 27bd4ca672..4156f651bf 100644
--- a/libnm/nm-manager.c
+++ b/libnm/nm-manager.c
@@ -232,6 +232,8 @@ nm_permission_to_client (const char *nm)
return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS;
else if (!strcmp (nm, NM_AUTH_PERMISSION_RELOAD))
return NM_CLIENT_PERMISSION_RELOAD;
+ else if (!strcmp (nm, NM_AUTH_PERMISSION_CHECKPOINT_ROLLBACK))
+ return NM_CLIENT_PERMISSION_CHECKPOINT_ROLLBACK;
return NM_CLIENT_PERMISSION_NONE;
}
diff --git a/src/nm-manager.c b/src/nm-manager.c
index e94659b029..88723e0298 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -4414,6 +4414,7 @@ get_permissions_done_cb (NMAuthChain *chain,
get_perm_add_result (self, chain, &results, NM_AUTH_PERMISSION_SETTINGS_MODIFY_HOSTNAME);
get_perm_add_result (self, chain, &results, NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS);
get_perm_add_result (self, chain, &results, NM_AUTH_PERMISSION_RELOAD);
+ get_perm_add_result (self, chain, &results, NM_AUTH_PERMISSION_CHECKPOINT_ROLLBACK);
g_dbus_method_invocation_return_value (context,
g_variant_new ("(a{ss})", &results));
@@ -4453,6 +4454,7 @@ impl_manager_get_permissions (NMManager *self,
nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_SETTINGS_MODIFY_HOSTNAME, FALSE);
nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS, FALSE);
nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_RELOAD, FALSE);
+ nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_CHECKPOINT_ROLLBACK, FALSE);
}
static void