summaryrefslogtreecommitdiffstats
path: root/x11/gdm/files/gdm.in
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2011-06-02 19:58:25 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2011-06-02 19:58:25 +0800
commite8bf40e496dbf74e2ee91a95bf04886ad32a23f4 (patch)
tree26558e38dafffdf2318eb68bd26e54a98fb1d67a /x11/gdm/files/gdm.in
parent6c90da75235f2adc2c2cf2c590fb85459cdde03a (diff)
downloadmarcuscom-ports-e8bf40e496dbf74e2ee91a95bf04886ad32a23f4.tar.gz
marcuscom-ports-e8bf40e496dbf74e2ee91a95bf04886ad32a23f4.tar.zst
marcuscom-ports-e8bf40e496dbf74e2ee91a95bf04886ad32a23f4.zip
Backport fix for CVE-2011-1709 from the 2.32.2 release.
As I understand it this only happens with GLib 2.28. git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@16019 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'x11/gdm/files/gdm.in')
-rw-r--r--x11/gdm/files/gdm.in62
1 files changed, 62 insertions, 0 deletions
diff --git a/x11/gdm/files/gdm.in b/x11/gdm/files/gdm.in
new file mode 100644
index 000000000..bfcb961fe
--- /dev/null
+++ b/x11/gdm/files/gdm.in
@@ -0,0 +1,62 @@
+#!/bin/sh
+# $FreeBSD: ports/x11/gdm/files/gdm.in,v 1.20 2010/07/25 19:35:05 kwm Exp $
+# $MCom: ports-stable/x11/gdm/files/gdm.in,v 1.5 2010/07/21 13:50:46 kwm Exp $
+
+# PROVIDE: gdm
+# REQUIRE: LOGIN cleanvar moused syscons dbus
+#
+# Add the following to /etc/rc.conf to start GDM at boot time:
+#
+# gdm_enable="YES"
+#
+
+. /etc/rc.subr
+. %%GNOME_SUBR%%
+
+gdm_enable=${gdm_enable-${gnome_enable}}
+gdm_preserve_base_pam_conf=${gdm_preserve_base_pam_conf-NO}
+gdm_lang=${gdm_lang-${LANG}}
+
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin:%%LOCALBASE%%/bin:%%LOCALBASE%%/sbin
+
+name="gdm"
+rcvar=`set_rcvar`
+command="%%PREFIX%%/sbin/${name}"
+pidfile="/var/run/${name}.pid"
+procname="%%PREFIX%%/sbin/gdm-binary"
+start_cmd="gdm_start"
+
+gdm_start()
+{
+ if ! checkyesno gdm_enable ; then
+ return 0
+ fi
+ echo "Starting ${name}."
+
+ # make sure there is no pam configuration for gdm service in base system
+ if ! checkyesno gdm_preserve_base_pam_conf && [ -f /etc/pam.d/gdm ]; then
+ cp -p /etc/pam.d/gdm /etc/pam.d/gdm_disabled
+ rm -f /etc/pam.d/gdm
+ fi
+
+ ( iter=0
+ while ! ps -axoargs | grep "^/usr/libexec/getty " | grep -qv grep >/dev/null 2>&1; do
+ if [ ${iter} -eq 60 ]; then
+ break
+ fi
+ sleep 1
+ iter=$(expr ${iter} + 1)
+ done
+ iter=0
+ while ! %%LOCALBASE%%/bin/lshal >/dev/null 2>&1 ; do
+ if [ ${iter} -eq 60 ]; then
+ break
+ fi
+ sleep 1
+ iter=$(expr ${iter} + 1)
+ done
+ LANG=${gdm_lang} ${command} ${gdm_flags} ) &
+}
+
+load_rc_config ${name}
+run_rc_command "$1"