projects
/
paraslash.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vss: Fix computation of extra slices.
[paraslash.git]
/
daemon.c
diff --git
a/daemon.c
b/daemon.c
index 3bcb6e019a442ddf7a8709759937a7d2bd603bf6..011ece6d3d7689b34e793fb4b00f813afc324fc2 100644
(file)
--- a/
daemon.c
+++ b/
daemon.c
@@
-269,7
+269,11
@@
void drop_privileges_or_die(const char *username, const char *groupname)
exit(EXIT_FAILURE);
}
PARA_INFO_LOG("dropping root privileges\n");
exit(EXIT_FAILURE);
}
PARA_INFO_LOG("dropping root privileges\n");
- setuid(p->pw_uid);
+ if (setuid(p->pw_uid) < 0) {
+ PARA_EMERG_LOG("failed to set effective user ID (%s)",
+ strerror(errno));
+ exit(EXIT_FAILURE);
+ }
PARA_DEBUG_LOG("uid: %d, euid: %d\n", (int)getuid(), (int)geteuid());
}
PARA_DEBUG_LOG("uid: %d, euid: %d\n", (int)getuid(), (int)geteuid());
}
@@
-327,7
+331,7
@@
__printf_2_3 void para_log(int ll, const char* fmt,...)
FILE *fp;
struct tm *tm;
time_t t1;
FILE *fp;
struct tm *tm;
time_t t1;
- char *color
, str[MAXLINE] = ""
;
+ char *color;
ll = PARA_MIN(ll, NUM_LOGLEVELS - 1);
ll = PARA_MAX(ll, LL_DEBUG);
ll = PARA_MIN(ll, NUM_LOGLEVELS - 1);
ll = PARA_MAX(ll, LL_DEBUG);
@@
-338,11
+342,11
@@
__printf_2_3 void para_log(int ll, const char* fmt,...)
color = daemon_test_flag(DF_COLOR_LOG)? me->log_colors[ll] : NULL;
if (color)
fprintf(fp, "%s", color);
color = daemon_test_flag(DF_COLOR_LOG)? me->log_colors[ll] : NULL;
if (color)
fprintf(fp, "%s", color);
- if (daemon_test_flag(DF_LOG_TIME)) {
- /* date and time */
+ if (daemon_test_flag(DF_LOG_TIME)) {
/* print date and time */
+ char str[100];
time(&t1);
tm = localtime(&t1);
time(&t1);
tm = localtime(&t1);
- strftime(str,
MAXLINE
, "%b %d %H:%M:%S", tm);
+ strftime(str,
sizeof(str)
, "%b %d %H:%M:%S", tm);
fprintf(fp, "%s ", str);
}
if (daemon_test_flag(DF_LOG_HOSTNAME)) {
fprintf(fp, "%s ", str);
}
if (daemon_test_flag(DF_LOG_HOSTNAME)) {