aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2010-08-23 23:19:53 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2010-08-23 23:19:53 +0300
commit50d046dac9846cb7fc11af82eb1a1daedd66b6c3 (patch)
treeac49ede2076f9bd673b5b10d1037abcaf52ad50d /src/main.c
parent4d488a2f7a8128b7d75eecb060065f9bffa8df86 (diff)
downloadmailfromd-50d046dac9846cb7fc11af82eb1a1daedd66b6c3.tar.gz
mailfromd-50d046dac9846cb7fc11af82eb1a1daedd66b6c3.tar.bz2
Bugfixes.
* lib/filenames.h (DEFAULT_PIDFILE): Remove. * lib/logger.c (loggertab): Add syslog_async_fdset method for syslog:async. * src/Makefile.am (mfd-dbgmod.h): Kik off libcallout_a_SOURCES. * src/calloutd.c (_log_setup, mf_server_log_setup): Remove. (main): Call mf_srvcfg_log_setup. Update call to mf_srvcfg_init. * src/engine.c (setprocid): New static function. (mfd_callout_session_server): New function. * src/lex.l (lex_new_source_0): Bugfux. * src/mailfromd.h (mfd_callout_session_server): New proto. * src/main.c (mf_diag_syslog_printer, _log_setup) (mf_server_log_setup): Remove. (main): Call mf_srvcfg_log_setup. Update call to mf_srvcfg_init. * src/savsrv.c: Include signal.h (vrfy_state): New enum. (vrfy_queue)<state>: New member. (verify): Use rc and qp->state to decide whether to process the entry. This still needs some more work, though. (addq): Initialize qp->state. (cmd_run): Update qp->state. (callout_session_server): Ignore SIGPIPE and SIGALRM. * src/srvcfg.c (srv_options): Remove 's' option. (srv_parse_opt): Logger options update optcache. (setdefpidfilename): New static function. (mf_srvcfg_init): Take program invocation name as the first argument. Construct pidfile name based on it, unless pidfile has already been initialized. Done update srvman_param.keepfds (see mf_srvcfg_log_setup). Initialize syslog_tag. (mf_diag_syslog_printer, mf_debug_syslog_printer): New functions. (mf_srvcfg_log_setup): New function. * src/srvcfg.h (mf_srvcfg_init): Change signature.
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c55
1 files changed, 5 insertions, 50 deletions
diff --git a/src/main.c b/src/main.c
index 1620fa2b..c7794061 100644
--- a/src/main.c
+++ b/src/main.c
@@ -135,15 +135,2 @@ mfd_gacopyz_log_printer(int level, char *fmt, va_list ap)
-int
-mf_diag_syslog_printer (void *data, mu_log_level_t level, const char *buf)
-{
- int len = strlen (buf);
- if (len > 0 && buf[len-1] == '\n') {
- len--;
- if (len > 0 && buf[len-1] == '\r')
- len--;
- }
- logmsg(mu_diag_level_to_syslog(level), "%-.*s", len, buf);
- return 0;
-}
-
void
@@ -1036,31 +1023,2 @@ mailfromd_show_defaults()
static void
-_log_setup(const char *tag, char *stream)
-{
- mu_debug_t debug;
-
- mu_diag_get_debug (&debug);
-
- if (logger_select(stream)) {
- mu_error(_("unsupported logger stream: %s"), stream);
- exit(EX_USAGE);
- }
- logger_open(tag, LOG_PID, mu_log_facility);
- gacopyz_set_logger(mfd_gacopyz_log_printer);
-
- /* FIXME */
- if (strcmp(stream, "stderr") == 0) {
- mu_debug_default_printer = mu_debug_stderr_printer;
- } else {
- mu_debug_set_print (debug, mf_diag_syslog_printer, NULL);
- mu_debug_default_printer = mu_debug_syslog_printer;
- }
-}
-
-void
-mf_server_log_setup(void)
-{
- _log_setup(syslog_tag, log_stream);
-}
-
-static void
version(FILE *stream, struct argp_state *state)
@@ -1128,3 +1086,3 @@ mf_server_function(const char *key, struct mf_srvcfg *cfg)
else if (strcmp(key, "callout") == 0) {
- cfg->server = callout_session_server;
+ cfg->server = mfd_callout_session_server;
if (cfg->defopt ||
@@ -1162,3 +1120,5 @@ main(int argc, char **argv)
mu_log_facility = DEFAULT_LOG_FACILITY;
- _log_setup(MU_LOG_TAG(), stderr_closed_p() ? "syslog" : "stderr");
+ gacopyz_set_logger(mfd_gacopyz_log_printer);
+ mf_srvcfg_log_setup(MU_LOG_TAG(),
+ stderr_closed_p() ? "syslog" : "stderr");
@@ -1180,3 +1140,3 @@ main(int argc, char **argv)
srvman_init();
- mf_srvcfg_init(N_("(milter | callout)"));
+ mf_srvcfg_init(argv[0], N_("(milter | callout)"));
@@ -1238,7 +1198,2 @@ main(int argc, char **argv)
- /* Make sure syslog_tag is properly set */
- /* FIXME: Move this to logger.c? */
- if (!syslog_tag)
- syslog_tag = (char*) MU_LOG_TAG();
-
if (script_dump_tree)

Return to:

Send suggestions and report system problems to the System administrator.