aboutsummaryrefslogtreecommitdiffstats
path: root/x11
diff options
context:
space:
mode:
authornork <nork@FreeBSD.org>2003-07-22 23:58:06 +0800
committernork <nork@FreeBSD.org>2003-07-22 23:58:06 +0800
commit7a2c08ee1f6d4a8a3cee12739eada435e36cec3e (patch)
tree1c8b6a1ada2d4a938e2552e63b40c96cd0fa686f /x11
parente35b184b558c15481e6305a2ecdf10d5ead47b18 (diff)
downloadfreebsd-ports-gnome-7a2c08ee1f6d4a8a3cee12739eada435e36cec3e.tar.gz
freebsd-ports-gnome-7a2c08ee1f6d4a8a3cee12739eada435e36cec3e.tar.zst
freebsd-ports-gnome-7a2c08ee1f6d4a8a3cee12739eada435e36cec3e.zip
Set the user's credentials: uid, gid, groups, environment
variables, resource limits, and umask. Pointed out by: kan Submitted by: Ports Fury Approved by: maintainer implicitly
Diffstat (limited to 'x11')
-rw-r--r--x11/wdm/Makefile1
-rw-r--r--x11/wdm/files/patch-src::wdm::session.c27
2 files changed, 28 insertions, 0 deletions
diff --git a/x11/wdm/Makefile b/x11/wdm/Makefile
index 9d6941796c7b..23d212d732d4 100644
--- a/x11/wdm/Makefile
+++ b/x11/wdm/Makefile
@@ -7,6 +7,7 @@
PORTNAME= wdm
PORTVERSION= 1.25
+PORTREVISION= 1
CATEGORIES= x11 windowmaker
MASTER_SITES= http://voins.program.ru/wdm/ \
http://www.de.freebsd.org/de/gif/bsd/ \
diff --git a/x11/wdm/files/patch-src::wdm::session.c b/x11/wdm/files/patch-src::wdm::session.c
new file mode 100644
index 000000000000..884b5e7d664b
--- /dev/null
+++ b/x11/wdm/files/patch-src::wdm::session.c
@@ -0,0 +1,27 @@
+--- src/wdm/session.c.orig Fri Jun 6 23:48:46 2003
++++ src/wdm/session.c Tue Jul 22 20:32:23 2003
+@@ -534,6 +534,7 @@
+ int pid;
+ #ifdef HAS_SETUSERCONTEXT
+ struct passwd* pwd;
++ extern char **environ;
+ #endif
+ #ifdef USE_PAM
+ pam_handle_t *pamh = thepamh();
+@@ -613,6 +614,8 @@
+ * Set the user's credentials: uid, gid, groups,
+ * environment variables, resource limits, and umask.
+ */
++ /* destroy user environment before calling setusercontext */
++ environ = verify->userEnviron;
+ pwd = getpwnam(name);
+ if (pwd)
+ {
+@@ -622,6 +625,7 @@
+ errno);
+ return (0);
+ }
++ verify->userEnviron = environ;
+ endpwent();
+ }
+ else