Skip to content

Commit

Permalink
(drop_privileges): Removed. Adjust caller.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ulrich Drepper committed Jan 18, 2002
1 parent 82a2eb4 commit bc30e47
Showing 1 changed file with 0 additions and 41 deletions.
41 changes: 0 additions & 41 deletions nscd/nscd.c
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,9 @@
#include <assert.h>
#include <errno.h>
#include <error.h>
#include <grp.h>
#include <libintl.h>
#include <locale.h>
#include <pthread.h>
#include <pwd.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
Expand Down Expand Up @@ -63,15 +61,13 @@ int do_shutdown;
int disabled_passwd;
int disabled_group;
int go_background = 1;
const char *server_user;

int secure[lastdb];
int secure_in_use;
static const char *conffile = _PATH_NSCDCONF;

static int check_pid (const char *file);
static int write_pid (const char *file);
static void drop_privileges (void);

/* Name and version of program. */
static void print_version (FILE *stream, struct argp_state *state);
Expand Down Expand Up @@ -169,10 +165,6 @@ main (int argc, char **argv)
/* Init databases. */
nscd_init (conffile);

/* Change to unprivileged UID if specifed in config file */
if(server_user && !secure_in_use)
drop_privileges ();

/* Handle incoming requests */
start_threads ();

Expand Down Expand Up @@ -373,36 +365,3 @@ write_pid (const char *file)

return 0;
}

/* Look up the uid and gid associated with the user we are supposed to run
the server as, and then call setgid(), setgroups(), and setuid().
Otherwise, abort- we should not run as root if the configuration file
specifically tells us not to. */

static void
drop_privileges (void)
{
int buflen = 256;
char *buffer = alloca (buflen);
struct passwd resultbuf;
struct passwd *pwd;

while (__getpwnam_r (server_user, &resultbuf, buffer, buflen, &pwd) != 0
&& errno == ERANGE)
{
errno = 0;
buflen += 256;
buffer = alloca (buflen);
}

if(!pwd)
{
dbg_log (_("Failed to look up user '%s' to run server as"),
server_user);
exit(1);
}

setgroups (0, NULL);
setgid (pwd->pw_gid);
setuid (pwd->pw_uid);
}

0 comments on commit bc30e47

Please sign in to comment.