diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-06-03 12:38:34 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-06-03 12:38:34 +0000 |
commit | 9fdf3a2c68b139d6ff33400fc5d900476cdb7ea7 (patch) | |
tree | e35b755a9fba61bb5ef04854bd4d96574a57dc78 /jabberd/main.c | |
parent | ed8e810630bd1cc8595576aed11e5cffb0880de9 (diff) | |
download | gsc-9fdf3a2c68b139d6ff33400fc5d900476cdb7ea7.tar.gz gsc-9fdf3a2c68b139d6ff33400fc5d900476cdb7ea7.tar.bz2 |
Document jabberd
git-svn-id: file:///svnroot/gsc/trunk@252 d2de0444-eb31-0410-8365-af798a554d48
Diffstat (limited to 'jabberd/main.c')
-rw-r--r-- | jabberd/main.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/jabberd/main.c b/jabberd/main.c index e92c492..e2a00ac 100644 --- a/jabberd/main.c +++ b/jabberd/main.c | |||
@@ -29,7 +29,8 @@ int log_facility = LOG_LOCAL7; | |||
29 | int x_argc; | 29 | int x_argc; |
30 | char **x_argv; | 30 | char **x_argv; |
31 | char *pidfile; | 31 | char *pidfile; |
32 | unsigned long shutdown_timeout = 3; | 32 | unsigned long shutdown_timeout = 5; |
33 | mode_t jabberd_umask = 037; | ||
33 | 34 | ||
34 | void | 35 | void |
35 | syslog_printer (int prio, const char *fmt, va_list ap) | 36 | syslog_printer (int prio, const char *fmt, va_list ap) |
@@ -148,8 +149,8 @@ usage () | |||
148 | 149 | ||
149 | struct kw_int | 150 | struct kw_int |
150 | { | 151 | { |
151 | char *name; | 152 | char *name; |
152 | int tok; | 153 | int tok; |
153 | }; | 154 | }; |
154 | 155 | ||
155 | int | 156 | int |
@@ -175,7 +176,8 @@ str_to_facility (char *str, int *pfacility) | |||
175 | static struct kw_int kw_facility[] = { | 176 | static struct kw_int kw_facility[] = { |
176 | { "USER", LOG_USER }, | 177 | { "USER", LOG_USER }, |
177 | { "DAEMON", LOG_DAEMON }, | 178 | { "DAEMON", LOG_DAEMON }, |
178 | { "AUTH", LOG_AUTH }, | 179 | { "AUTH", LOG_AUTH }, |
180 | { "AUTHPRIV",LOG_AUTHPRIV }, | ||
179 | { "LOCAL0", LOG_LOCAL0 }, | 181 | { "LOCAL0", LOG_LOCAL0 }, |
180 | { "LOCAL1", LOG_LOCAL1 }, | 182 | { "LOCAL1", LOG_LOCAL1 }, |
181 | { "LOCAL2", LOG_LOCAL2 }, | 183 | { "LOCAL2", LOG_LOCAL2 }, |
@@ -354,6 +356,18 @@ cfg_pidfile (struct cfg_file *file, char *kw, char *val, void *unused) | |||
354 | } | 356 | } |
355 | 357 | ||
356 | void | 358 | void |
359 | cfg_umask (struct cfg_file *file, char *kw, char *val, void *unused) | ||
360 | { | ||
361 | char *p; | ||
362 | unsigned long n = strtoul (val, &p, 8); | ||
363 | if (*p) | ||
364 | logmsg(LOG_ERR, "%s:%u: invalid umask; stopped near `%s'", config_file, | ||
365 | file->line, p); | ||
366 | else | ||
367 | jabberd_umask = (mode_t) n; | ||
368 | } | ||
369 | |||
370 | void | ||
357 | cfg_prog (struct cfg_file *file, char *kw, char *val, void *unused) | 371 | cfg_prog (struct cfg_file *file, char *kw, char *val, void *unused) |
358 | { | 372 | { |
359 | char *prog = val; | 373 | char *prog = val; |
@@ -468,6 +482,7 @@ struct kw_handler kw_handler[] = { | |||
468 | { "user", cfg_user }, | 482 | { "user", cfg_user }, |
469 | { "group", cfg_group }, | 483 | { "group", cfg_group }, |
470 | { "pidfile", cfg_pidfile }, | 484 | { "pidfile", cfg_pidfile }, |
485 | { "umask", cfg_umask }, | ||
471 | { "prog", cfg_prog }, | 486 | { "prog", cfg_prog }, |
472 | { "exec", cfg_exec }, | 487 | { "exec", cfg_exec }, |
473 | { "shutdown-timeout", cfg_shutdown_timeout }, | 488 | { "shutdown-timeout", cfg_shutdown_timeout }, |
@@ -799,7 +814,7 @@ main(int argc, char **argv) | |||
799 | logmsg (LOG_NOTICE, "jabberd not started as an absolute pathname; SIGHUP will not work"); | 814 | logmsg (LOG_NOTICE, "jabberd not started as an absolute pathname; SIGHUP will not work"); |
800 | 815 | ||
801 | priv_setup (); | 816 | priv_setup (); |
802 | umask (037); | 817 | umask (jabberd_umask); |
803 | logmsg (LOG_NOTICE, "jabberd started"); | 818 | logmsg (LOG_NOTICE, "jabberd started"); |
804 | if (!foreground && daemon (0, 0) == -1) | 819 | if (!foreground && daemon (0, 0) == -1) |
805 | { | 820 | { |