summaryrefslogtreecommitdiff
path: root/privs.c
blob: ac4ad25c337b2db978b5a9e76cefc2218e7eb07f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <unistd.h>
#include <sys/types.h>

#include "privs.h"
#include "die.h"

void drop_privileges(bool enforce, uid_t uid, gid_t gid)
{
	if (enforce) {
		if (uid == getuid())
			panic("Uid cannot be the same as the current user!\n");
		if (gid == getgid())
			panic("Gid cannot be the same as the current user!\n");
	}
	if (setgid(gid) != 0)
		panic("Unable to drop group privileges: %s!\n", strerror(errno));
	if (setuid(uid) != 0)
		panic("Unable to drop user privileges: %s!\n", strerror(errno));
}
245f4'>logplain -rw-r--r--emu10k1_main.c69872logplain -rw-r--r--emu10k1_patch.c6273logplain -rw-r--r--emu10k1_synth.c3161logplain -rw-r--r--emu10k1_synth_local.h1535logplain -rw-r--r--emu10k1x.c48876logplain -rw-r--r--emufx.c101572logplain -rw-r--r--emumixer.c68824logplain -rw-r--r--emumpu401.c11428logplain -rw-r--r--emupcm.c58692logplain -rw-r--r--emuproc.c21057logplain -rw-r--r--io.c16190logplain -rw-r--r--irq.c6754logplain -rw-r--r--memory.c16163logplain -rw-r--r--p16v.c29109logplain -rw-r--r--p16v.h14922logplain