e9fca5f492
git-svn-id: svn://svn.openwrt.org/openwrt/packages@13770 3c298f89-4303-0410-b956-a3cf2f4a3e73
42 lines
1.4 KiB
Diff
42 lines
1.4 KiB
Diff
diff -urb lldpd-0.3.orig/src/priv.c lldpd-0.3/src/priv.c
|
|
--- lldpd-0.3.orig/src/priv.c 2008-12-30 07:35:28.000000000 +0100
|
|
+++ lldpd-0.3/src/priv.c 2008-12-30 07:40:55.000000000 +0100
|
|
@@ -522,12 +522,14 @@
|
|
fatal("[priv]: unable to create socket pair for privilege separation");
|
|
|
|
/* Get users */
|
|
+ /*
|
|
if ((user = getpwnam(PRIVSEP_USER)) == NULL)
|
|
fatal("[priv]: no " PRIVSEP_USER " user for privilege separation");
|
|
uid = user->pw_uid;
|
|
if ((group = getgrnam(PRIVSEP_GROUP)) == NULL)
|
|
fatal("[priv]: no " PRIVSEP_GROUP " group for privilege separation");
|
|
gid = group->gr_gid;
|
|
+ */
|
|
|
|
/* Spawn off monitor */
|
|
if ((monitored = fork()) < 0)
|
|
@@ -535,17 +537,17 @@
|
|
switch (monitored) {
|
|
case 0:
|
|
/* We are in the children, drop privileges */
|
|
- if (chroot(chrootdir) == -1)
|
|
- fatal("[priv]: unable to chroot");
|
|
- if (chdir("/") != 0)
|
|
+ /*if (chroot(chrootdir) == -1)
|
|
+ fatal("[priv]: unable to chroot");*/
|
|
+ if (chdir("/tmp") != 0)
|
|
fatal("[priv]: unable to chdir");
|
|
gidset[0] = gid;
|
|
- if (setresgid(gid, gid, gid) == -1)
|
|
+ /*if (setresgid(gid, gid, gid) == -1)
|
|
fatal("[priv]: setresgid() failed");
|
|
if (setgroups(1, gidset) == -1)
|
|
fatal("[priv]: setgroups() failed");
|
|
if (setresuid(uid, uid, uid) == -1)
|
|
- fatal("[priv]: setresuid() failed");
|
|
+ fatal("[priv]: setresuid() failed");*/
|
|
remote = pair[0];
|
|
close(pair[1]);
|
|
priv_ping();
|