mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-21 06:23:52 +00:00
Switch user before starting plugin server
This commit is contained in:
+11
-11
@@ -1927,6 +1927,17 @@ main(int argc, char **argv)
|
||||
ev_signal_start(EV_DEFAULT, &sigchld_watcher);
|
||||
#endif
|
||||
|
||||
#ifndef __MINGW32__
|
||||
// setuid
|
||||
if (user != NULL && !run_as(user)) {
|
||||
FATAL("failed to switch user");
|
||||
}
|
||||
|
||||
if (geteuid() == 0) {
|
||||
LOGI("running from root user");
|
||||
}
|
||||
#endif
|
||||
|
||||
// setup keys
|
||||
LOGI("initializing ciphers... %s", method);
|
||||
crypto = crypto_init(password, key, method);
|
||||
@@ -2086,17 +2097,6 @@ main(int argc, char **argv)
|
||||
ev_timer_init(&block_list_watcher, block_list_clear_cb, UPDATE_INTERVAL, UPDATE_INTERVAL);
|
||||
ev_timer_start(EV_DEFAULT, &block_list_watcher);
|
||||
|
||||
#ifndef __MINGW32__
|
||||
// setuid
|
||||
if (user != NULL && !run_as(user)) {
|
||||
FATAL("failed to switch user");
|
||||
}
|
||||
|
||||
if (geteuid() == 0) {
|
||||
LOGI("running from root user");
|
||||
}
|
||||
#endif
|
||||
|
||||
// init block list
|
||||
init_block_list();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user