aboutsummaryrefslogtreecommitdiff
path: root/x11/slim
diff options
context:
space:
mode:
authorMartin Wilke <miwi@FreeBSD.org>2009-10-29 22:26:14 +0000
committerMartin Wilke <miwi@FreeBSD.org>2009-10-29 22:26:14 +0000
commit7ef681b5df310b9d129bceb822653020ec764f37 (patch)
treed8b5ccd61d52413ea8c05f9b82bfea9b7ed7ccb3 /x11/slim
parentf8625babefb609f58f7f29281cfd6cb22a361673 (diff)
downloadports-7ef681b5df310b9d129bceb822653020ec764f37.tar.gz
ports-7ef681b5df310b9d129bceb822653020ec764f37.zip
- Fix setlogin()
- Pass maintainership to submitter note: x11/slim, does not setlogin(). Some software use getlogin() to decide the user name, so when user is using slim as the login manager, those software would get wrong results, and some programs refuse to start PR: 139594 Submitted by: Henry Hu <henry.hu.sh@gmail.com> Approved by: maintainer
Notes
Notes: svn path=/head/; revision=243494
Diffstat (limited to 'x11/slim')
-rw-r--r--x11/slim/Makefile4
-rw-r--r--x11/slim/files/patch-switchuser.cpp13
2 files changed, 15 insertions, 2 deletions
diff --git a/x11/slim/Makefile b/x11/slim/Makefile
index e97ac960703c..0ee655397dd5 100644
--- a/x11/slim/Makefile
+++ b/x11/slim/Makefile
@@ -7,13 +7,13 @@
PORTNAME= slim
PORTVERSION= 1.3.1
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_BERLIOS} \
http://depot.fsck.ch/mirror/distfiles/
MASTER_SITE_SUBDIR=slim
-MAINTAINER= ports@fsck.ch
+MAINTAINER= henry.hu.sh@gmail.com
COMMENT= Graphical login manager for X11, derived from Login.app
LIB_DEPENDS= jpeg.10:${PORTSDIR}/graphics/jpeg \
diff --git a/x11/slim/files/patch-switchuser.cpp b/x11/slim/files/patch-switchuser.cpp
new file mode 100644
index 000000000000..056a134359f6
--- /dev/null
+++ b/x11/slim/files/patch-switchuser.cpp
@@ -0,0 +1,13 @@
+--- switchuser.cpp 2009-10-14 16:28:20.000000000 +0800
++++ switchuser.cpp 2009-10-14 16:34:23.000000000 +0800
+@@ -38,6 +38,8 @@
+
+ void SwitchUser::SetUserId() {
+ if( (Pw == 0) ||
++ (setsid() == -1) ||
++ (setlogin(Pw->pw_name) != 0) ||
+ (initgroups(Pw->pw_name, Pw->pw_gid) != 0) ||
+ (setgid(Pw->pw_gid) != 0) ||
+ (setuid(Pw->pw_uid) != 0) ) {
+
+