aboutsummaryrefslogtreecommitdiff
path: root/data/unity-greeter-session-broadcast-session.conf
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2013-08-30 19:50:10 +0000
committerTarmac <Unknown>2013-08-30 19:50:10 +0000
commit598003c711072f89a86b3021d3b829f6a8b199ae (patch)
tree9b1479fa5bad9d17b6336a87bcb919005f2ec1a1 /data/unity-greeter-session-broadcast-session.conf
parent9ecfe061ca5446d46f9b8a820c9ea6569ba0e64c (diff)
parentfc67bcd5aaa0823862951dc05a9c844c833e074b (diff)
downloadayatana-greeter-session-broadcast-598003c711072f89a86b3021d3b829f6a8b199ae.tar.gz
ayatana-greeter-session-broadcast-598003c711072f89a86b3021d3b829f6a8b199ae.tar.bz2
ayatana-greeter-session-broadcast-598003c711072f89a86b3021d3b829f6a8b199ae.zip
Get name owner and make sure it matches the sender.
Approved by Michael Terry, PS Jenkins bot.
Diffstat (limited to 'data/unity-greeter-session-broadcast-session.conf')
-rw-r--r--data/unity-greeter-session-broadcast-session.conf28
1 files changed, 26 insertions, 2 deletions
diff --git a/data/unity-greeter-session-broadcast-session.conf b/data/unity-greeter-session-broadcast-session.conf
index 0e92905..db2425c 100644
--- a/data/unity-greeter-session-broadcast-session.conf
+++ b/data/unity-greeter-session-broadcast-session.conf
@@ -6,6 +6,30 @@ task
emits application-start
#TODO: Check GSettings Key
-start on dbus-system SIGNAL="StartApplication" INTERFACE="com.canonical.Unity.Greeter.Broadcast" SENDER="com.canonical.Unity.Greeter.Broadcast" PATH="/com/canonical/Unity/Greeter/Broadcast" ARG0=${USER}
+start on dbus BUS=system SIGNAL="StartApplication" INTERFACE="com.canonical.Unity.Greeter.Broadcast" PATH="/com/canonical/Unity/Greeter/Broadcast"
-exec initctl emit application-start APP_ID=${ARG1}
+pre-start script
+ PATH="/bin:/usr/bin:/sbin:/usr/sbin"
+
+ if [ -z $ARG0 ] ; then
+ stop
+ exit 1
+ fi
+ if [ $ARG0 != $USER ] ; then
+ stop
+ exit 1
+ fi
+
+ OWNER=`gdbus call --system --dest org.freedesktop.DBus --object-path / --method org.freedesktop.DBus.GetNameOwner com.canonical.Unity.Greeter.Broadcast | cut -d "'" -f 2`
+
+ if [ -z $OWNER ] ; then
+ stop
+ exit 1
+ fi
+ if [ $OWNER != $SENDER ] ; then
+ stop
+ exit 1
+ fi
+end script
+
+exec /sbin/initctl emit application-start APP_ID=${ARG1}