X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Ftincd.c;h=95872c343342d8ae7b2b93f98203c89aa83b6959;hb=789146757ca0bc630492bf31ae48ede42b7b437a;hp=d8ab0ac06e40c70ed8ce6ba791389a647b79e536;hpb=7208397398f7e08d741bfa83594a88e5d01b6220;p=tinc diff --git a/src/tincd.c b/src/tincd.c index d8ab0ac0..95872c34 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -48,14 +48,11 @@ #endif #include "conf.h" -#include "control.h" #include "crypto.h" -#include "device.h" #include "event.h" #include "logger.h" #include "names.h" #include "net.h" -#include "netutl.h" #include "process.h" #include "protocol.h" #include "utils.h" @@ -316,7 +313,9 @@ static bool drop_privs(void) { uid = pw->pw_uid; - if(initgroups(switchuser, pw->pw_gid) != 0 || + // The second parameter to initgroups on macOS requires int, + // but __gid_t is unsigned int. There's not much we can do here. + if(initgroups(switchuser, pw->pw_gid) != 0 || // NOLINT(bugprone-narrowing-conversions) setgid(pw->pw_gid) != 0) { logger(DEBUG_ALWAYS, LOG_ERR, "System call `%s' failed: %s", "initgroups", strerror(errno)); @@ -508,8 +507,12 @@ int main(int argc, char **argv) { return 1; } - if(!debug_level) { - get_config_int(lookup_config(config_tree, "LogLevel"), &debug_level); + if(debug_level == DEBUG_NOTHING) { + int level = 0; + + if(get_config_int(lookup_config(config_tree, "LogLevel"), &level)) { + debug_level = level; + } } #ifdef HAVE_LZO