[sr-dev] git:master:df92a532: core: don't do initgroups() if started by same user as -u

Ovidiu Sas osas at voipembedded.com
Sat Jan 3 04:04:39 CET 2015


Module: kamailio
Branch: master
Commit: df92a532f82a25f0b1ea0cb18cb800562d7f7a97
URL: https://github.com/kamailio/kamailio/commit/df92a532f82a25f0b1ea0cb18cb800562d7f7a97

Author: Ovidiu Sas <osas at voipembedded.com>
Committer: Ovidiu Sas <osas at voipembedded.com>
Date: 2015-01-02T22:03:22-05:00

core: don't do initgroups() if started by same user as -u
 - closing FS#473

---

Modified: daemonize.c

---

Diff:  https://github.com/kamailio/kamailio/commit/df92a532f82a25f0b1ea0cb18cb800562d7f7a97.diff
Patch: https://github.com/kamailio/kamailio/commit/df92a532f82a25f0b1ea0cb18cb800562d7f7a97.patch

---

diff --git a/daemonize.c b/daemonize.c
index 63d96be..f8992d7 100644
--- a/daemonize.c
+++ b/daemonize.c
@@ -465,12 +465,12 @@ int do_suid()
 			LM_CRIT("user lookup failed: %s\n", strerror(errno));
 			goto error;
 		}
-		if(initgroups(pw->pw_name, pw->pw_gid)<0){
-			LM_CRIT("cannot set supplementary groups: %s\n", 
-							strerror(errno));
-			goto error;
-		}
 		if(uid!=getuid()) {
+			if(initgroups(pw->pw_name, pw->pw_gid)<0){
+				LM_CRIT("cannot set supplementary groups: %s\n", 
+							strerror(errno));
+				goto error;
+			}
 			if(setuid(uid)<0){
 				LM_CRIT("cannot change uid to %d: %s\n", uid, strerror(errno));
 				goto error;




More information about the sr-dev mailing list