summaryrefslogtreecommitdiff
path: root/policy
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2016-05-30 15:42:44 +0200
committerThomas Haller <thaller@redhat.com>2016-06-01 19:06:34 +0200
commit1d0e0eeffd92f53d6682cd8f4b3e1ba90997e4c5 (patch)
treef0689ea8feef067115bb293a5f42a04a4c70c6b9 /policy
parent89135853972710ce0f720acba4b3c12910e3cebc (diff)
downloadNetworkManager-1d0e0eeffd92f53d6682cd8f4b3e1ba90997e4c5.tar.gz
manager: add Reload() D-Bus command
Add new Reload D-Bus command to reload NetworkManager configuration. For now, this is like sending SIGHUP to the process. There are several advantages here: - it is guarded via PolicyKit authentication while signals can only be sent by root. - the user can wait for the reload to be complete instead of sending an asynchronous signal. For now, we operation completes after nm_config_reload() returns, but later we could delay the response further until specific parts are fully reloaded. - SIGHUP reloads everything including re-reading configuration from disk while SIGUSR1 reloads just certain parts such as writing out DNS configuration anew. Now, the Reload command has a flags argument which is more granular in selecting parts which are to be reloaded. For example, via signals the user can: 1) send SIGUSR1: this writes out the DNS configuration to resolv.conf and possibly reloads other parts without re-reading configuration and without restarting the DNS plugin. 2) send SIGHUP: this reloads configuration from disk, writes out resolv.conf and restarts the DNS plugin. There is no way, to only restart the DNS plugin without also reloading everything else.
Diffstat (limited to 'policy')
-rw-r--r--policy/org.freedesktop.NetworkManager.policy.in.in10
1 files changed, 10 insertions, 0 deletions
diff --git a/policy/org.freedesktop.NetworkManager.policy.in.in b/policy/org.freedesktop.NetworkManager.policy.in.in
index 4df6d7e133..94d5cb8201 100644
--- a/policy/org.freedesktop.NetworkManager.policy.in.in
+++ b/policy/org.freedesktop.NetworkManager.policy.in.in
@@ -18,6 +18,16 @@
</defaults>
</action>
+ <action id="org.freedesktop.NetworkManager.reload">
+ <_description>Reload NetworkManager configuration</_description>
+ <_message>System policy prevents reloading NetworkManager</_message>
+ <defaults>
+ <allow_any>auth_admin_keep</allow_any>
+ <allow_inactive>auth_admin_keep</allow_inactive>
+ <allow_active>auth_admin_keep</allow_active>
+ </defaults>
+ </action>
+
<action id="org.freedesktop.NetworkManager.sleep-wake">
<_description>Put NetworkManager to sleep or wake it up (should only be used by system power management)</_description>
<_message>System policy prevents putting NetworkManager to sleep or waking it up</_message>