1 diff -urb lldpd-0.3.orig/src/priv.c lldpd-0.3/src/priv.c
2 --- lldpd-0.3.orig/src/priv.c 2008-12-30 07:35:28.000000000 +0100
3 +++ lldpd-0.3/src/priv.c 2008-12-30 07:40:55.000000000 +0100
5 fatal("[priv]: unable to create socket pair for privilege separation");
9 if ((user = getpwnam(PRIVSEP_USER)) == NULL)
10 fatal("[priv]: no " PRIVSEP_USER " user for privilege separation");
12 if ((group = getgrnam(PRIVSEP_GROUP)) == NULL)
13 fatal("[priv]: no " PRIVSEP_GROUP " group for privilege separation");
17 /* Spawn off monitor */
18 if ((monitored = fork()) < 0)
22 /* We are in the children, drop privileges */
23 - if (chroot(chrootdir) == -1)
24 - fatal("[priv]: unable to chroot");
25 - if (chdir("/") != 0)
26 + /*if (chroot(chrootdir) == -1)
27 + fatal("[priv]: unable to chroot");*/
28 + if (chdir("/tmp") != 0)
29 fatal("[priv]: unable to chdir");
31 - if (setresgid(gid, gid, gid) == -1)
32 + /*if (setresgid(gid, gid, gid) == -1)
33 fatal("[priv]: setresgid() failed");
34 if (setgroups(1, gidset) == -1)
35 fatal("[priv]: setgroups() failed");
36 if (setresuid(uid, uid, uid) == -1)
37 - fatal("[priv]: setresuid() failed");
38 + fatal("[priv]: setresuid() failed");*/