Patrick Monnerat 12fecfd
diff -Naur openca-ocspd-1.7.0.orig/configure.in openca-ocspd-1.7.0.new/configure.in
Patrick Monnerat 12fecfd
--- openca-ocspd-1.7.0.orig/configure.in	2013-11-05 11:35:16.362736109 +0100
Patrick Monnerat 12fecfd
+++ openca-ocspd-1.7.0.new/configure.in	2013-11-05 12:13:46.949198675 +0100
Patrick Monnerat 12fecfd
@@ -45,6 +45,10 @@
Patrick Monnerat 12fecfd
 	[AC_MSG_ERROR([pthread library is needed!])]
Patrick Monnerat 12fecfd
 )
Patrick Monnerat 12fecfd
 
Patrick Monnerat 12fecfd
+AC_CHECK_FUNC(setgroups,
Patrick Monnerat 12fecfd
+	[AC_DEFINE([HAVE_SETGROUPS], 1, [setgroups() function])]
Patrick Monnerat 12fecfd
+)
Patrick Monnerat 12fecfd
+
Patrick Monnerat 12fecfd
 if test x$arch = xlinux ; then
Patrick Monnerat 12fecfd
   AC_DEFINE(OCSPD_TARGET_LINUX, 1, [Linux])
Patrick Monnerat 12fecfd
 fi
Patrick Monnerat 12fecfd
diff -Naur openca-ocspd-1.7.0.orig/src/support.c openca-ocspd-1.7.0.new/src/support.c
Patrick Monnerat 12fecfd
--- openca-ocspd-1.7.0.orig/src/support.c	2008-11-10 21:14:06.000000000 +0100
Patrick Monnerat 12fecfd
+++ openca-ocspd-1.7.0.new/src/support.c	2013-11-05 11:59:56.344162745 +0100
Patrick Monnerat 12fecfd
@@ -275,6 +275,10 @@
Patrick Monnerat 12fecfd
 		return 0;
Patrick Monnerat 12fecfd
 	}
Patrick Monnerat 12fecfd
 
Patrick Monnerat 12fecfd
+#ifdef HAVE_SETGROUPS
Patrick Monnerat 12fecfd
+	setgroups(1, &gr->gr_gid);
Patrick Monnerat 12fecfd
+#endif
Patrick Monnerat 12fecfd
+
Patrick Monnerat 12fecfd
 	if (setuid (pw->pw_uid) == -1) {
Patrick Monnerat 12fecfd
 		syslog(LOG_ERR,"Error setting user %d (%s)", 
Patrick Monnerat 12fecfd
 						pw->pw_uid, conf->user );