summaryrefslogtreecommitdiffstats
path: root/source/l/ConsoleKit/pam-foreground-compat.ck
diff options
context:
space:
mode:
Diffstat (limited to 'source/l/ConsoleKit/pam-foreground-compat.ck')
-rw-r--r--source/l/ConsoleKit/pam-foreground-compat.ck16
1 files changed, 16 insertions, 0 deletions
diff --git a/source/l/ConsoleKit/pam-foreground-compat.ck b/source/l/ConsoleKit/pam-foreground-compat.ck
new file mode 100644
index 000000000..979127272
--- /dev/null
+++ b/source/l/ConsoleKit/pam-foreground-compat.ck
@@ -0,0 +1,16 @@
+#!/bin/sh
+TAGDIR=/var/run/console
+
+[ -n "${CK_SESSION_USER_UID}" ] || exit 1
+
+TAGFILE="${TAGDIR}/$(getent passwd ${CK_SESSION_USER_UID} | cut -f 1 -d:)"
+
+if [ "$1" = "session_added" ]; then
+ mkdir -p "${TAGDIR}"
+ echo "${CK_SESSION_ID}" >> "$TAGFILE"
+fi
+
+if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then
+ sed -i "\%^$CK_SESSION_ID\$%d" "${TAGFILE}"
+ [ -s "${TAGFILE}" ] || rm -f "${TAGFILE}"
+fi