version 1.9, 2015/10/02 09:21:46 |
version 1.10, 2015/10/02 09:36:24 |
|
|
uid = geteuid(); |
uid = geteuid(); |
if (uid == 0) { |
if (uid == 0) { |
mask = 022; |
mask = 022; |
snprintf(base, PATH_MAX, SOCKPATH_DIR); |
snprintf(base, SOCKPATH_MAX, SOCKPATH_DIR); |
} else { |
} else { |
mask = 077; |
mask = 077; |
snprintf(base, PATH_MAX, SOCKPATH_DIR "-%u", uid); |
snprintf(base, SOCKPATH_MAX, SOCKPATH_DIR "-%u", uid); |
} |
} |
if (mkdir(base, 0777 & ~mask) < 0) { |
if (mkdir(base, 0777 & ~mask) < 0) { |
if (errno != EEXIST) |
if (errno != EEXIST) |
|
|
{ |
{ |
int c, background, unit; |
int c, background, unit; |
int pmin, pmax, rmin, rmax; |
int pmin, pmax, rmin, rmax; |
char base[PATH_MAX], path[PATH_MAX]; |
char base[SOCKPATH_MAX], path[SOCKPATH_MAX]; |
unsigned int mode, dup, mmc, vol; |
unsigned int mode, dup, mmc, vol; |
unsigned int hold, autovol, bufsz, round, rate; |
unsigned int hold, autovol, bufsz, round, rate; |
const char *str; |
const char *str; |
|
|
mode, vol, mmc, dup); |
mode, vol, mmc, dup); |
} |
} |
getbasepath(base, sizeof(base)); |
getbasepath(base, sizeof(base)); |
snprintf(path, PATH_MAX, "%s/%s%u", base, SOCKPATH_FILE, unit); |
snprintf(path, SOCKPATH_MAX, "%s/%s%u", base, SOCKPATH_FILE, unit); |
listen_new_un(path); |
listen_new_un(path); |
if (geteuid() == 0) |
if (geteuid() == 0) |
privdrop(); |
privdrop(); |