diff options
-rw-r--r-- | data/meson.build | 10 | ||||
-rw-r--r-- | data/org.gnome.gdm.rules.in | 8 |
2 files changed, 18 insertions, 0 deletions
diff --git a/data/meson.build b/data/meson.build index 7c5222ea..20d39a36 100644 --- a/data/meson.build +++ b/data/meson.build @@ -157,6 +157,16 @@ gdm_rules = configure_file( install_dir: udev_dir, ) +# Polkit rules +polkit_rules = configure_file( + input: 'org.gnome.gdm.rules.in', + output: '@BASENAME@', + configuration: { + 'GDM_USERNAME': get_option('user'), + }, + install_dir: get_option('datadir') / 'polkit-1' / 'rules.d', +) + # DBus service files service_config = configuration_data() service_config.set('sbindir', gdm_prefix / get_option('sbindir')) diff --git a/data/org.gnome.gdm.rules.in b/data/org.gnome.gdm.rules.in new file mode 100644 index 00000000..09544f11 --- /dev/null +++ b/data/org.gnome.gdm.rules.in @@ -0,0 +1,8 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.NetworkManager.network-control" && + subject.user == "@GDM_USERNAME@") { + return polkit.Result.NO; + } + + return polkit.Result.NOT_HANDLED; +}); |