projects
/
freeradius.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Signed / unsigned fixes and function prototypes
[freeradius.git]
/
src
/
main
/
radiusd.c
diff --git
a/src/main/radiusd.c
b/src/main/radiusd.c
index
3104d02
..
cffb826
100644
(file)
--- a/
src/main/radiusd.c
+++ b/
src/main/radiusd.c
@@
-57,7
+57,7
@@
RCSID("$Id$")
* Global variables.
*/
const char *progname = NULL;
* Global variables.
*/
const char *progname = NULL;
-c
onst c
har *radius_dir = NULL;
+char *radius_dir = NULL;
const char *radacct_dir = NULL;
const char *radlog_dir = NULL;
const char *radlib_dir = NULL;
const char *radacct_dir = NULL;
const char *radlog_dir = NULL;
const char *radlib_dir = NULL;
@@
-174,6
+174,12
@@
int main(int argc, char *argv[])
}
mainconfig.log_file = strdup(optarg);
mainconfig.radlog_dest = RADLOG_FILES;
}
mainconfig.log_file = strdup(optarg);
mainconfig.radlog_dest = RADLOG_FILES;
+ mainconfig.radlog_fd = open(mainconfig.log_file,
+ O_WRONLY | O_APPEND | O_CREAT, 0640);
+ if (mainconfig.radlog_fd < 0) {
+ fprintf(stderr, "radiusd: Failed to open log file %s: %s\n", mainconfig.log_file, strerror(errno));
+ exit(1);
+ }
break;
case 'i':
break;
case 'i':
@@
-304,10
+310,12
@@
int main(int argc, char *argv[])
dup2(devnull, STDIN_FILENO);
if (mainconfig.radlog_dest == RADLOG_STDOUT) {
mainconfig.radlog_fd = dup(STDOUT_FILENO);
dup2(devnull, STDIN_FILENO);
if (mainconfig.radlog_dest == RADLOG_STDOUT) {
mainconfig.radlog_fd = dup(STDOUT_FILENO);
+ setlinebuf(stdout);
}
dup2(devnull, STDOUT_FILENO);
if (mainconfig.radlog_dest == RADLOG_STDERR) {
mainconfig.radlog_fd = dup(STDERR_FILENO);
}
dup2(devnull, STDOUT_FILENO);
if (mainconfig.radlog_dest == RADLOG_STDERR) {
mainconfig.radlog_fd = dup(STDERR_FILENO);
+ setlinebuf(stdout);
}
dup2(devnull, STDERR_FILENO);
close(devnull);
}
dup2(devnull, STDERR_FILENO);
close(devnull);
@@
-366,7
+374,9
@@
int main(int argc, char *argv[])
exit(0);
}
exit(0);
}
+#ifdef WITH_STATS
radius_stats_init(0);
radius_stats_init(0);
+#endif
/*
* Only write the PID file if we're running as a daemon.
/*
* Only write the PID file if we're running as a daemon.
@@
-396,8
+406,9
@@
int main(int argc, char *argv[])
* Process requests until HUP or exit.
*/
while ((rcode = radius_event_process()) == 0x80) {
* Process requests until HUP or exit.
*/
while ((rcode = radius_event_process()) == 0x80) {
+#ifdef WITH_STATS
radius_stats_init(1);
radius_stats_init(1);
- radlog(L_INFO, "Received HUP.");
+#endif
hup_mainconfig();
}
hup_mainconfig();
}