summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-06-01 12:54:05 +0200
committerThomas Haller <thaller@redhat.com>2016-06-01 13:13:13 +0200
commit22beb8b17bc7f874614acfa49e4bb1a2c09b5440 (patch)
treecfc4453397353b425e1816861151b9ef07d49421
parent6d6f906a362d721c7145601910583ee8aa2c3023 (diff)
downloadNetworkManager-22beb8b17bc7f874614acfa49e4bb1a2c09b5440.tar.gz
libnm: implement missing NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS
-rw-r--r--clients/cli/general.c4
-rw-r--r--libnm-glib/nm-client.c3
-rw-r--r--libnm-glib/nm-client.h5
-rw-r--r--libnm/nm-client.h5
-rw-r--r--libnm/nm-manager.c3
-rwxr-xr-xtools/test-networkmanager-service.py4
6 files changed, 20 insertions, 4 deletions
diff --git a/clients/cli/general.c b/clients/cli/general.c
index 0704688ff5..04c51c4849 100644
--- a/clients/cli/general.c
+++ b/clients/cli/general.c
@@ -398,6 +398,7 @@ show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_fl
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_SYSTEM "org.freedesktop.NetworkManager.settings.modify.system"
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_OWN "org.freedesktop.NetworkManager.settings.modify.own"
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_HOSTNAME "org.freedesktop.NetworkManager.settings.modify.hostname"
+#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS "org.freedesktop.NetworkManager.settings.modify.global-dns"
static const char *
permission_to_string (NMClientPermission perm)
@@ -425,6 +426,8 @@ permission_to_string (NMClientPermission perm)
return NM_AUTH_PERMISSION_SETTINGS_MODIFY_OWN;
case NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME:
return NM_AUTH_PERMISSION_SETTINGS_MODIFY_HOSTNAME;
+ case NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS:
+ return NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS;
default:
return _("unknown");
}
@@ -433,7 +436,6 @@ permission_to_string (NMClientPermission perm)
static const char *
permission_result_to_string (NMClientPermissionResult perm_result)
{
-
switch (perm_result) {
case NM_CLIENT_PERMISSION_RESULT_YES:
return _("yes");
diff --git a/libnm-glib/nm-client.c b/libnm-glib/nm-client.c
index 20112d69c1..68fb24fe17 100644
--- a/libnm-glib/nm-client.c
+++ b/libnm-glib/nm-client.c
@@ -219,6 +219,7 @@ register_properties (NMClient *client)
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_SYSTEM "org.freedesktop.NetworkManager.settings.modify.system"
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_OWN "org.freedesktop.NetworkManager.settings.modify.own"
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_HOSTNAME "org.freedesktop.NetworkManager.settings.modify.hostname"
+#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS "org.freedesktop.NetworkManager.settings.modify.global-dns"
static NMClientPermission
nm_permission_to_client (const char *nm)
@@ -245,6 +246,8 @@ nm_permission_to_client (const char *nm)
return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN;
else if (!strcmp (nm, NM_AUTH_PERMISSION_SETTINGS_MODIFY_HOSTNAME))
return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME;
+ else if (!strcmp (nm, NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS))
+ return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS;
return NM_CLIENT_PERMISSION_NONE;
}
diff --git a/libnm-glib/nm-client.h b/libnm-glib/nm-client.h
index 39af321ebe..8ab5f69389 100644
--- a/libnm-glib/nm-client.h
+++ b/libnm-glib/nm-client.h
@@ -84,6 +84,8 @@ G_BEGIN_DECLS
* owned by the current user can be modified
* @NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME: controls whether the
* persistent hostname can be changed
+ * @NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS: modify persistent global
+ * DNS configuration
* @NM_CLIENT_PERMISSION_LAST: a reserved boundary value
*
* #NMClientPermission values indicate various permissions that NetworkManager
@@ -102,8 +104,9 @@ typedef enum {
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM = 9,
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN = 10,
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME = 11,
+ NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS = 12,
- NM_CLIENT_PERMISSION_LAST = NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME
+ NM_CLIENT_PERMISSION_LAST = 12,
} NMClientPermission;
/**
diff --git a/libnm/nm-client.h b/libnm/nm-client.h
index 66ec9ea5bb..bdd7c46310 100644
--- a/libnm/nm-client.h
+++ b/libnm/nm-client.h
@@ -92,6 +92,8 @@ G_BEGIN_DECLS
* owned by the current user can be modified
* @NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME: controls whether the
* persistent hostname can be changed
+ * @NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS: modify persistent global
+ * DNS configuration
* @NM_CLIENT_PERMISSION_LAST: a reserved boundary value
*
* #NMClientPermission values indicate various permissions that NetworkManager
@@ -110,8 +112,9 @@ typedef enum {
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_SYSTEM = 9,
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN = 10,
NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME = 11,
+ NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS = 12,
- NM_CLIENT_PERMISSION_LAST = NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME
+ NM_CLIENT_PERMISSION_LAST = 12,
} NMClientPermission;
/**
diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c
index a6c1f3f954..66755e1394 100644
--- a/libnm/nm-manager.c
+++ b/libnm/nm-manager.c
@@ -213,6 +213,7 @@ init_dbus (NMObject *object)
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_SYSTEM "org.freedesktop.NetworkManager.settings.modify.system"
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_OWN "org.freedesktop.NetworkManager.settings.modify.own"
#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_HOSTNAME "org.freedesktop.NetworkManager.settings.modify.hostname"
+#define NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS "org.freedesktop.NetworkManager.settings.modify.global-dns"
static NMClientPermission
nm_permission_to_client (const char *nm)
@@ -239,6 +240,8 @@ nm_permission_to_client (const char *nm)
return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_OWN;
else if (!strcmp (nm, NM_AUTH_PERMISSION_SETTINGS_MODIFY_HOSTNAME))
return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_HOSTNAME;
+ else if (!strcmp (nm, NM_AUTH_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS))
+ return NM_CLIENT_PERMISSION_SETTINGS_MODIFY_GLOBAL_DNS;
return NM_CLIENT_PERMISSION_NONE;
}
diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py
index 4f81500a79..f2e1553bd3 100755
--- a/tools/test-networkmanager-service.py
+++ b/tools/test-networkmanager-service.py
@@ -783,7 +783,9 @@ class NetworkManager(ExportedObj):
"org.freedesktop.NetworkManager.wifi.share.open": "yes",
"org.freedesktop.NetworkManager.settings.modify.own": "yes",
"org.freedesktop.NetworkManager.settings.modify.system": "yes",
- "org.freedesktop.NetworkManager.settings.modify.hostname": "yes" }
+ "org.freedesktop.NetworkManager.settings.modify.hostname": "yes",
+ "org.freedesktop.NetworkManager.settings.modify.global-dns": "no",
+ }
@dbus.service.method(dbus_interface=IFACE_NM, in_signature='ss', out_signature='')
def SetLogging(self, level, domains):