aboutsummaryrefslogtreecommitdiff
path: root/ntpd/ntpd.c
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2015-02-05 20:53:33 +0000
committerCy Schubert <cy@FreeBSD.org>2015-02-05 20:53:33 +0000
commitf7cba3a80d9ebefc57776fffd17a4ae68f72e494 (patch)
treedc1c5074828f0c5fafe2fb8f5599339dfdc5bc97 /ntpd/ntpd.c
parent44a728f815af203cd7a91db83b06325818433463 (diff)
downloadsrc-f7cba3a80d9ebefc57776fffd17a4ae68f72e494.tar.gz
src-f7cba3a80d9ebefc57776fffd17a4ae68f72e494.zip
Vendor import ntp-4.2.8p1.vendor/ntp/4.2.8p1
Approved by: roberto
Notes
Notes: svn path=/vendor/ntp/dist/; revision=278284 svn path=/vendor/ntp/4.2.8p1/; revision=278285; tag=vendor/ntp/4.2.8p1
Diffstat (limited to 'ntpd/ntpd.c')
-rw-r--r--ntpd/ntpd.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ntpd/ntpd.c b/ntpd/ntpd.c
index ef1baa7037a1..c017ef34d7db 100644
--- a/ntpd/ntpd.c
+++ b/ntpd/ntpd.c
@@ -168,8 +168,8 @@ int root_dropped;
char *user; /* User to switch to */
char *group; /* group to switch to */
const char *chrootdir; /* directory to chroot to */
-int sw_uid;
-int sw_gid;
+uid_t sw_uid;
+gid_t sw_gid;
char *endp;
struct group *gr;
struct passwd *pw;
@@ -937,6 +937,10 @@ getgroup:
msyslog(LOG_ERR, "Cannot setegid() to group `%s': %m", group);
exit (-1);
}
+ if (group)
+ setgroups(1, &sw_gid);
+ else
+ initgroups(pw->pw_name, pw->pw_gid);
if (user && setuid(sw_uid)) {
msyslog(LOG_ERR, "Cannot setuid() to user `%s': %m", user);
exit (-1);