aboutsummaryrefslogtreecommitdiff
path: root/jabberd/main.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-06-03 12:38:34 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-06-03 12:38:34 +0000
commit9fdf3a2c68b139d6ff33400fc5d900476cdb7ea7 (patch)
treee35b755a9fba61bb5ef04854bd4d96574a57dc78 /jabberd/main.c
parented8e810630bd1cc8595576aed11e5cffb0880de9 (diff)
downloadgsc-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.c25
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;
29int x_argc; 29int x_argc;
30char **x_argv; 30char **x_argv;
31char *pidfile; 31char *pidfile;
32unsigned long shutdown_timeout = 3; 32unsigned long shutdown_timeout = 5;
33mode_t jabberd_umask = 037;
33 34
34void 35void
35syslog_printer (int prio, const char *fmt, va_list ap) 36syslog_printer (int prio, const char *fmt, va_list ap)
@@ -148,8 +149,8 @@ usage ()
148 149
149struct kw_int 150struct kw_int
150{ 151{
151 char *name; 152 char *name;
152 int tok; 153 int tok;
153}; 154};
154 155
155int 156int
@@ -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
356void 358void
359cfg_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
370void
357cfg_prog (struct cfg_file *file, char *kw, char *val, void *unused) 371cfg_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 {

Return to:

Send suggestions and report system problems to the System administrator.