Blame SOURCES/0001-data-Disable-network-configuration-on-login-screen.patch

4ee558
From b840bedd919eb321f2cefd8b9620af5bc28a28b6 Mon Sep 17 00:00:00 2001
4ee558
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
4ee558
Date: Tue, 8 Jun 2021 20:45:00 +0200
4ee558
Subject: [PATCH] data: Disable network configuration on login screen
4ee558
4ee558
---
4ee558
 data/meson.build            | 10 ++++++++++
4ee558
 data/org.gnome.gdm.rules.in |  8 ++++++++
4ee558
 2 files changed, 18 insertions(+)
4ee558
 create mode 100644 data/org.gnome.gdm.rules.in
4ee558
4ee558
diff --git a/data/meson.build b/data/meson.build
4ee558
index 7c5222ea..20d39a36 100644
4ee558
--- a/data/meson.build
4ee558
+++ b/data/meson.build
4ee558
@@ -157,6 +157,16 @@ gdm_rules = configure_file(
4ee558
   install_dir: udev_dir,
4ee558
 )
4ee558
 
4ee558
+# Polkit rules
4ee558
+polkit_rules = configure_file(
4ee558
+  input: 'org.gnome.gdm.rules.in',
4ee558
+  output: '@BASENAME@',
4ee558
+  configuration: {
4ee558
+    'GDM_USERNAME': get_option('user'),
4ee558
+  },
4ee558
+  install_dir: get_option('datadir') / 'polkit-1' / 'rules.d',
4ee558
+)
4ee558
+
4ee558
 # DBus service files
4ee558
 service_config = configuration_data()
4ee558
 service_config.set('sbindir', gdm_prefix / get_option('sbindir'))
4ee558
diff --git a/data/org.gnome.gdm.rules.in b/data/org.gnome.gdm.rules.in
4ee558
new file mode 100644
4ee558
index 00000000..09544f11
4ee558
--- /dev/null
4ee558
+++ b/data/org.gnome.gdm.rules.in
4ee558
@@ -0,0 +1,8 @@
4ee558
+polkit.addRule(function(action, subject) {
4ee558
+    if (action.id == "org.freedesktop.NetworkManager.network-control" &&
4ee558
+        subject.user == "@GDM_USERNAME@") {
4ee558
+            return polkit.Result.NO;
4ee558
+    }
4ee558
+
4ee558
+    return polkit.Result.NOT_HANDLED;
4ee558
+});
4ee558
-- 
4ee558
2.31.1
4ee558