Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/395299
Upstream: http://bugzilla.gnome.org/show_bug.cgi?id=587750
-diff -urN gdm-2.29.92/common/gdm-settings.c gdm-2.29.92.new//common/gdm-settings.c
---- gdm-2.29.92/common/gdm-settings.c 2010-03-08 22:53:57.000000000 +0100
-+++ gdm-2.29.92.new//common/gdm-settings.c 2010-03-14 21:01:32.864403121 +0100
+--- gdm-3.1.90/data/Makefile.am.wiget 2011-08-31 02:04:37.000000000 +0200
++++ gdm-3.1.90/data/Makefile.am 2011-09-05 21:46:13.070224232 +0200
+@@ -45,6 +45,8 @@ schemasdir = $(pkgdatadir)
+ schemas_in_files = gdm.schemas.in
+ schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
+
++@INTLTOOL_POLICY_RULE@
++
+ gdm.schemas.in: $(srcdir)/gdm.schemas.in.in
+ sed -e 's,[@]GDMPREFETCHCMD[@],$(GDMPREFETCHCMD),g' \
+ -e 's,[@]GDM_CUSTOM_CONF[@],$(GDM_CUSTOM_CONF),g' \
+@@ -84,11 +86,18 @@ localealias_DATA = locale.alias
+ sessiondir = $(datadir)/gnome-session/sessions
+ session_DATA = gdm-fallback.session gdm-shell.session
+
++polkitdir = $(datadir)/polkit-1/actions
++polkit_in_files = gdm.policy.in
++polkit_DATA = $(polkit_in_files:.policy.in=.policy)
++check:
++ $(POLKIT_POLICY_FILE_VALIDATE) $(polkit_DATA)
++
+ EXTRA_DIST = \
+ $(schemas_in_files) \
+ $(schemas_DATA) \
+ $(dbusconf_in_files) \
+ $(localealias_DATA) \
++ $(polkit_in_files) \
+ gdm.schemas.in.in \
+ gdm.conf-custom.in \
+ Xsession.in \
+@@ -118,6 +127,7 @@ CLEANFILES = \
+
+ DISTCLEANFILES = \
+ $(dbusconf_DATA) \
++ $(polkit_DATA) \
+ gdm-shell.session \
+ gdm.schemas \
+ dconf-override-db \
+--- gdm-3.1.90/data/gdm.conf.in.wiget 2011-08-09 22:08:42.000000000 +0200
++++ gdm-3.1.90/data/gdm.conf.in 2011-09-05 21:44:39.831640332 +0200
+@@ -34,8 +34,6 @@
+ <deny send_destination="org.gnome.DisplayManager"
+ send_interface="org.gnome.DisplayManager.LocalDisplayFactory"/>
+ <deny send_destination="org.gnome.DisplayManager"
+- send_interface="org.gnome.DisplayManager.Settings"/>
+- <deny send_destination="org.gnome.DisplayManager"
+ send_interface="org.gnome.DisplayManager.Slave"/>
+ <deny send_destination="org.gnome.DisplayManager"
+ send_interface="org.gnome.DisplayManager.Session"/>
+@@ -44,6 +42,10 @@
+ <allow send_destination="org.gnome.DisplayManager"
+ send_interface="org.freedesktop.DBus.Introspectable"/>
+
++ <!-- Controlled by PolicyKit -->
++ <allow send_destination="org.gnome.DisplayManager"
++ send_interface="org.gnome.DisplayManager.Settings"/>
++
+ <allow send_destination="org.gnome.DisplayManager"
+ send_interface="org.gnome.DisplayManager.Display"
+ send_member="GetId"/>
+--- gdm-3.1.90/data/gdm.policy.in.wiget 2011-09-05 21:44:39.831640332 +0200
++++ gdm-3.1.90/data/gdm.policy.in 2011-09-05 21:44:39.831640332 +0200
+@@ -0,0 +1,18 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<!DOCTYPE policyconfig PUBLIC
++ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
++ "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
++<policyconfig>
++ <vendor>The GNOME Project</vendor>
++ <vendor_url>http://www.gnome.org/</vendor_url>
++ <icon_name>gdm</icon_name>
++
++ <action id="org.gnome.displaymanager.settings.write">
++ <description>Change login screen configuration</description>
++ <message>Privileges are required to change the login screen configuration.</message>
++ <defaults>
++ <allow_inactive>no</allow_inactive>
++ <allow_active>auth_admin_keep</allow_active>
++ </defaults>
++ </action>
++</policyconfig>
+--- gdm-3.1.90/common/Makefile.am.wiget 2011-08-09 22:08:42.000000000 +0200
++++ gdm-3.1.90/common/Makefile.am 2011-09-05 21:44:39.831640332 +0200
+@@ -99,6 +99,7 @@ libgdmcommon_la_CFLAGS = \
+ $(NULL)
+
+ libgdmcommon_la_LIBADD = \
++ $(COMMON_LIBS) \
+ $(NULL)
+
+ libgdmcommon_la_LDFLAGS = \
+--- gdm-3.1.90/common/gdm-settings.c.wiget 2011-08-09 22:08:42.000000000 +0200
++++ gdm-3.1.90/common/gdm-settings.c 2011-09-05 21:44:39.831640332 +0200
@@ -36,6 +36,7 @@
#define DBUS_API_SUBJECT_TO_CHANGE
#include <dbus/dbus-glib.h>
#include "gdm-settings.h"
#include "gdm-settings-glue.h"
-@@ -110,6 +111,90 @@
+@@ -108,6 +109,90 @@ gdm_settings_get_value (GdmSettings *set
return res;
}
/*
dbus-send --system --print-reply --dest=org.gnome.DisplayManager /org/gnome/DisplayManager/Settings org.gnome.DisplayManager.Settings.SetValue string:"xdmcp/Enable" string:"false"
*/
-@@ -118,26 +203,30 @@
+@@ -116,26 +201,30 @@ gboolean
gdm_settings_set_value (GdmSettings *settings,
const char *key,
const char *value,
}
static gboolean
-diff -urN gdm-2.29.92/common/gdm-settings.h gdm-2.29.92.new//common/gdm-settings.h
---- gdm-2.29.92/common/gdm-settings.h 2010-03-08 22:53:57.000000000 +0100
-+++ gdm-2.29.92.new//common/gdm-settings.h 2010-03-14 21:01:32.864403121 +0100
+--- gdm-3.1.90/common/gdm-settings.xml.wiget 2011-04-25 17:55:04.000000000 +0200
++++ gdm-3.1.90/common/gdm-settings.xml 2011-09-05 21:44:39.831640332 +0200
+@@ -5,7 +5,12 @@
+ <arg name="key" direction="in" type="s"/>
+ <arg name="value" direction="out" type="s"/>
+ </method>
++ <method name="Unlock">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
++ <arg name="is_unlocked" direction="out" type="b"/>
++ </method>
+ <method name="SetValue">
++ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="key" direction="in" type="s"/>
+ <arg name="value" direction="in" type="s"/>
+ </method>
+--- gdm-3.1.90/common/gdm-settings.h.wiget 2011-04-25 17:55:04.000000000 +0200
++++ gdm-3.1.90/common/gdm-settings.h 2011-09-05 21:44:39.831640332 +0200
@@ -23,6 +23,7 @@
#define __GDM_SETTINGS_H
G_BEGIN_DECLS
-@@ -70,10 +71,12 @@
+@@ -70,10 +71,12 @@ gboolean gdm_settings_get_val
const char *key,
char **value,
GError **error);
G_END_DECLS
-diff -urN gdm-2.29.92/common/gdm-settings.xml gdm-2.29.92.new//common/gdm-settings.xml
---- gdm-2.29.92/common/gdm-settings.xml 2010-03-08 22:53:57.000000000 +0100
-+++ gdm-2.29.92.new//common/gdm-settings.xml 2010-03-14 21:01:32.864403121 +0100
-@@ -5,7 +5,12 @@
- <arg name="key" direction="in" type="s"/>
- <arg name="value" direction="out" type="s"/>
- </method>
-+ <method name="Unlock">
-+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
-+ <arg name="is_unlocked" direction="out" type="b"/>
-+ </method>
- <method name="SetValue">
-+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
- <arg name="key" direction="in" type="s"/>
- <arg name="value" direction="in" type="s"/>
- </method>
-diff -urN gdm-2.29.92/common/Makefile.am gdm-2.29.92.new//common/Makefile.am
---- gdm-2.29.92/common/Makefile.am 2010-03-08 22:53:57.000000000 +0100
-+++ gdm-2.29.92.new//common/Makefile.am 2010-03-14 21:01:32.867730975 +0100
-@@ -110,6 +110,7 @@
- $(NULL)
-
- libgdmcommon_la_LIBADD = \
-+ $(COMMON_LIBS) \
- $(NULL)
-
- libgdmcommon_la_LDFLAGS = \
-diff -urN gdm-2.29.92/configure.ac gdm-2.29.92.new//configure.ac
---- gdm-2.29.92/configure.ac 2010-03-08 23:09:47.000000000 +0100
-+++ gdm-2.29.92.new//configure.ac 2010-03-14 21:03:28.747726327 +0100
-@@ -40,6 +40,7 @@
+--- gdm-3.1.90/configure.ac.wiget 2011-08-30 20:24:43.000000000 +0200
++++ gdm-3.1.90/configure.ac 2011-09-05 21:45:16.999745584 +0200
+@@ -56,6 +56,7 @@ dnl - Dependencies
dnl ---------------------------------------------------------------------------
DBUS_GLIB_REQUIRED_VERSION=0.74
+POLKIT_GOBJECT_REQUIRED_VERSION=0.92
- GLIB_REQUIRED_VERSION=2.27.4
+ GLIB_REQUIRED_VERSION=2.29.3
GTK_REQUIRED_VERSION=2.91.1
PANGO_REQUIRED_VERSION=1.3.0
-@@ -60,6 +61,7 @@
+@@ -78,6 +79,7 @@ AC_SUBST(GTHREAD_LIBS)
PKG_CHECK_MODULES(COMMON,
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
gio-2.0 >= $GLIB_REQUIRED_VERSION
)
-@@ -68,6 +70,7 @@
+@@ -86,6 +88,7 @@ AC_SUBST(COMMON_LIBS)
PKG_CHECK_MODULES(DAEMON,
dbus-glib-1 >= $DBUS_GLIB_REQUIRED_VERSION
+ polkit-gobject-1 >= $POLKIT_GOBJECT_REQUIRED_VERSION
gobject-2.0 >= $GLIB_REQUIRED_VERSION
gio-2.0 >= $GLIB_REQUIRED_VERSION
- )
-diff -urN gdm-2.29.92/data/gdm.conf.in gdm-2.29.92.new//data/gdm.conf.in
---- gdm-2.29.92/data/gdm.conf.in 2010-03-08 22:53:57.000000000 +0100
-+++ gdm-2.29.92.new//data/gdm.conf.in 2010-03-14 21:01:32.867730975 +0100
-@@ -34,8 +34,6 @@
- <deny send_destination="org.gnome.DisplayManager"
- send_interface="org.gnome.DisplayManager.LocalDisplayFactory"/>
- <deny send_destination="org.gnome.DisplayManager"
-- send_interface="org.gnome.DisplayManager.Settings"/>
-- <deny send_destination="org.gnome.DisplayManager"
- send_interface="org.gnome.DisplayManager.Slave"/>
- <deny send_destination="org.gnome.DisplayManager"
- send_interface="org.gnome.DisplayManager.Session"/>
-@@ -44,6 +42,10 @@
- <allow send_destination="org.gnome.DisplayManager"
- send_interface="org.freedesktop.DBus.Introspectable"/>
-
-+ <!-- Controlled by PolicyKit -->
-+ <allow send_destination="org.gnome.DisplayManager"
-+ send_interface="org.gnome.DisplayManager.Settings"/>
-+
- <allow send_destination="org.gnome.DisplayManager"
- send_interface="org.gnome.DisplayManager.Display"
- send_member="GetId"/>
-diff -urN gdm-2.29.92/data/gdm.policy.in gdm-2.29.92.new//data/gdm.policy.in
---- gdm-2.29.92/data/gdm.policy.in 1970-01-01 01:00:00.000000000 +0100
-+++ gdm-2.29.92.new//data/gdm.policy.in 2010-03-14 21:01:32.867730975 +0100
-@@ -0,0 +1,18 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<!DOCTYPE policyconfig PUBLIC
-+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
-+ "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
-+<policyconfig>
-+ <vendor>The GNOME Project</vendor>
-+ <vendor_url>http://www.gnome.org/</vendor_url>
-+ <icon_name>gdm</icon_name>
-+
-+ <action id="org.gnome.displaymanager.settings.write">
-+ <description>Change login screen configuration</description>
-+ <message>Privileges are required to change the login screen configuration.</message>
-+ <defaults>
-+ <allow_inactive>no</allow_inactive>
-+ <allow_active>auth_admin_keep</allow_active>
-+ </defaults>
-+ </action>
-+</policyconfig>
-diff -urN gdm-2.29.92/data/Makefile.am gdm-2.29.92.new//data/Makefile.am
---- gdm-2.29.92/data/Makefile.am 2010-03-08 22:53:57.000000000 +0100
-+++ gdm-2.29.92.new//data/Makefile.am 2010-03-14 21:06:01.074377153 +0100
-@@ -46,6 +46,8 @@
- schemas_in_files = gdm.schemas.in
- schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
-
-+@INTLTOOL_POLICY_RULE@
-+
- gdm.schemas.in: $(srcdir)/gdm.schemas.in.in
- sed -e 's,[@]GDMPREFETCHCMD[@],$(GDMPREFETCHCMD),g' \
- -e 's,[@]GDM_CUSTOM_CONF[@],$(GDM_CUSTOM_CONF),g' \
-@@ -78,11 +80,18 @@
- localealiasdir = $(datadir)/gdm
- localealias_DATA = locale.alias
-
-+polkitdir = $(datadir)/polkit-1/actions
-+polkit_in_files = gdm.policy.in
-+polkit_DATA = $(polkit_in_files:.policy.in=.policy)
-+check:
-+ $(POLKIT_POLICY_FILE_VALIDATE) $(polkit_DATA)
-+
- EXTRA_DIST = \
- $(schemas_in_files) \
- $(schemas_DATA) \
- $(dbusconf_in_files) \
- $(localealias_DATA) \
-+ $(polkit_in_files) \
- gdm.schemas.in.in \
- gdm.conf-custom.in \
- Xsession.in \
-@@ -105,7 +114,8 @@
- $(NULL)
-
- DISTCLEANFILES = \
-- $(dbusconf_DATA) \
-+ $(dbusconf_DATA) \
-+ $(polkit_DATA) \
- gdm.schemas \
- $(NULL)
-
+ accountsservice >= $ACCOUNTS_SERVICE_REQUIRED_VERSION