Age | Commit message (Collapse) | Author | Files |
|
* Makefile.am (SUBDIRS): Use mflib after src, so that make check uses
the freshly built version of mailfromd.
* lib/userprivs.c: Use mu_list_foreach instead of mu_list_do
* mtasim/mtasim.c: Likewise.
* pmult/pmult.c: Likewise.
* src/builtin/mbox.bi: Likewise.
* src/builtin/msg.bi: Likewise.
* src/engine.c: Likewise.
* src/gram.y: Likewise.
* src/main.c: Likewise.
* src/pp.c: Likewise.
|
|
* configure.ac (DEFAULT_DB_TYPE): New variable.
Use mu info to determine which DBM is supported.
* lib/Makefile.am (noinst_LIBRARIES): Remove libdbm.a
* lib/mf-dbm.c: remove.
* lib/mf-dbm.h: remove.
* lib/cache.c: Use libmu_dbm functions.
* lib/db.c: Likewise.
* lib/dbcfg.c: Likewise.
* lib/greylist.c: Likewise.
* lib/rate.c: Likewise.
* lib/tbf_rate.c: Likewise.
* src/builtin/db.bi: Likewise.
* src/savsrv.c: Likewise.
* src/srvcfg.c (srv_cfg_param) <database-type>: New statement.
* lib/libmf.h (config_cb_ignore): New proto.
* lib/mfdb.h (db_item_printer_t): Change signature.
* lib/utils.c (config_cb_ignore): New function.
* po/POTFILES.in: Update.
* src/Makefile.am (mailfromd_LDADD)
(calloutd_LDADD): Remove libdbm.a.
* src/calloutd.c: Update.
* src/main.c (mf_cfg_param): lock-retry-count and
lock-retry-timeout are no-op now.
* src/mfdbtool.c: Likewise.
|
|
current one).
* NEWS: Updated.
* doc/functions.texi: Reflect changes in sieve, clamav
and sa (spamc) functions.
* mflib/Makefile.am: Build sa.h
* mflib/sa.mf (SA_SYMBOLS, SA_REPORT)
(SA_LEARN_SPAM,SA_LEARN_HAM,SA_FORGET): New constants.
(sa): Wrapper over spamc for backward compatibility.
* src/builtin/Makefile.am (builtin.h): Depends on builtin.def
* src/builtin/body.bi (current_message): Use MF_STREAM_TO_MESSAGE.
* src/builtin/builtin.c: Add more includes.
(_builtin_stream_cleanup): New function.
(_builtin_mu_stream_to_message): New function.
* src/builtin/builtin.def (_builtin_stream_cleanup)
(_builtin_mu_stream_to_message): New protos.
* src/builtin/dspam.bi: Use _builtin_stream_cleanup for
stream cleanups.
* src/builtin/msg.bi (message_from_stream): Use MF_STREAM_TO_MESSAGE.
* src/builtin/sa.bi (open_connection): Register returned stream
for cleanup.
(sa): Rewrite as spamc function.
(clamav): Take message descriptor as the first argument.
* src/builtin/sieve.bi (sieve): Take message descriptor as the first argument.
Use cleanups.
* src/builtin/snarf.m4 (MF_STREAM_TO_MESSAGE): New macro.
* src/main.c (options): Remove "debug" option, handled by srvcfg.c
* tests/bctx00.at: Use current_message function.
* tests/bctx01.at: Likewise.
* tests/fctx00.at: Likewise.
* tests/fctx01.at: Likewise.
|
|
* configure.ac: Check for dspam
* mflib/.gitignore: Add dspam.h
* mflib/Makefile.am: Build dspam.h
Install dspam.mf
* mflib/dspam.mf: New file.
* src/Makefile.am (mailfromd_LDADD): Add DSPAM_LIBS
(INCLUDES): Add DSPAM_CFLAGS
* src/builtin/Makefile.am (BI_FILES): Add dspam.bi.
(INCLUDES): Add DSPAM_CFLAGS
* src/builtin/dspam.bi: New file.
* src/main.c (mailfromd_show_defaults): Reflect dspam support.
|
|
check succeeds.
* lib/libmf.h (mf_server_lint_option): New extern.
* lib/server.c (mf_server_lint_option): New global
variable.
(sig_restart): Don't call mfd_srvman_stop.
(run_lint,server_idle_hook): New functions.
(mf_server_start): Install idle hook.
HUP restarts the program only if syntax check succeeds.
Close fds above 2 if using stderr for error output,
and from 1 if using syslog.
* src/calloutd.c (main): Call mu_stdstream_setup.
Set mf_server_lint_option.
* src/main.c (main): Check whether stderr is open as early as possible.
Update call to mu_stdstream_setup (needs MU 5e1d982ec).
Set mf_server_lint_option.
* src/srvcfg.c (srv_parse_opt): Make sure --syslog takes effect
at once.
|
|
* lib/syslog_async.c (find_percent_m): Fix endless loop.
|
|
* src/main.c (mf_trace_stream): New static var.
(open_trace_stream): New static function.
(trace): Print to mf_trace_stream.
|
|
* lib/mf-dbm.h (lock_retry_timeout_option): New extern.
* lib/libmf.h (mf_option_time_t, config_cb_time_t): New protos.
* lib/optcache.c (mf_option_time_t): New function.
* lib/utils.c (config_cb_time_t): New function.
* src/main.c (mf_cfg_param): Restore lock-retry-count
and lock-retry-timeout statements.
(cb_timeout): Remove. Use config_cb_timeout instead
* mfdbtool.c (options, parse_opt): Enable --lock-retry-count
and --lock-retry-timeout options,
(option_cache): Define lock-retry-count and lock-retry-timeout
caches.
* TODO: Update
|
|
* src/main.c (parse_opt) <OPTION_MTASIM>: Rollback c0535e8e.
(mtasim_option): Move to srvcfg.c.
* src/srvcfg.c (server_section_parser) <mu_cfg_section_end>: If
mtasim_option is set, ignore the server statements.
|
|
Jan Rafaj reported that the use of mtasim -Xauto may result in
the subordinate mailfromd removing the UNIX communication sockets
of the main running process. This can happen if: (1) there is
a mailfromd process running on the box where mtasim is run and
(2) the user does not supply --no-site-config option to the subordinate.
* src/main.c (parse_opt) <OPTION_MTASIM>: Inhibit
loading of the default configuration files.
|
|
|
|
* NEWS: Update.
* doc/functions.texi: Document new built-in and most library
functions.
* doc/upgrade.texi: Update.
* src/builtin/debug.bi (debug_level): Fix the use of modname.
(debug_spec): Remove the minlevel parameter.
* src/builtin/io.bi: Remove misleading comment.
* src/main.c: Restore the --debug option.
|
|
* src/main.c (main): Call mf_server_log_setup only for
mode==MAILFROMD_DAEMON.
(parse_opt): Allocate strings appended to args->trace_modules.
* src/prog.c (instr_xmemstk): Adjust stack before pushing to it.
(dump_catch): Print exception names.
|
|
* po/POTFILES.in: Remove appinit.c (See e473ab7d).
* src/Makefile.am: Restore incdir, needed for AM_CPPFLAGS. Was
accidentally removed in 01ad06fca.
* src/builtin/sa.bi (sa): Restore initialization of msize. Accidentally
removed in bcd64af9.
* src/main.c: Call mf_server_log_setup after compiling the sources, so
that --lint spits out its diagnostics on stderr (initially placed here
in e75c9a39).
|
|
The bug was spotted by Brian Kroth.
* src/gram.y (deferred_decl) <locus>: New member.
(defer_initialize_variable): Use string_alloc
instead of literal_lookup. Take additional argument (ptr to locus). All
uses updated.
(apply_deferred_init): Pass a ptr to the actual locus to initialize_variable.
* src/mailfromd.h (defer_initialize_variable): Change signature.
* src/main.c (cb_set_variable): Deduce definition location from
mu_strerr.
* THANKS: Update.
* tests/setvar.at: New testcase.
* tests/Makefile.am (TESTSUITE_AT): Add setvar.at.
* tests/testsuite.at: Include setvar.at.
* tests/invcidr.at: Update experr.
* tests/invcidr2.at: Likewise.
|
|
* lib/appinit.c: Remove.
* lib/Makefile.am (libmf_a_SOURCES): Remove appinit.c
* lib/libmf.h (mu_app_rcfile, mfd_app_init): Remove.
* src/calloutd.c (main): Use mu_app_init. Set mu_site_rcfile beforehand.
* src/main.c (main): Likewise.
* src/mfdbtool.c (main): Likewise.
|
|
* src/main.c (cb_set_variable): Fix argument cast.
|
|
* src/mf-status.c: Remove.
* src/exclist.c: New file.
* src/Makefile.am (mailfromd_SOURCES): Remove mf-status.c,
add exclist.c.
* src/gram.y (exdecl): Call define_exception.
(dataseg_layout): Create table of exception names in dataseg.
* src/mailfromd.h (define_constant): Change return value.
(string_to_exception): Remove.
(define_exception,enumerate_exceptions)
(free_exceptions): New protos.
* src/main.c (main): Call free_exceptions.
* src/prog.c (exception_count): Move declaration to exclist.c
(instr_throw): Add trace print.
(dump_throw): Print exception number along with its symbolic value.
(env_throw_0): Reword default message.
* src/prog.h (EXTABIND): New macro.
* src/symbols.c (define_constant): Return pointer to the allocated
struct constant.
* tests/eof.at: Reflect changes to env_throw_0.
* tests/hdr-gete.at: Likewise.
* mflib/mfex.awk: Simplify.
|
|
|
|
|
|
* lib/debug.c: Remove.
* lib/debug.h: Remove.
* lib/Makefile.am (noinst_HEADERS): Remove debug.h
(libmf_a_SOURCES): Remove debug.c
* lib/appinit.c: Use new mu_stream_* calls.
* lib/libmf.h (config_array_to_argv,config_array_to_string): Change
signatures.
(config_cb_timeout): Likewise.
(logger)<log_print>: Remove.
<log_open>: Change signature.
(logger_open): Change signature.
(vlogmsg,logmsg): Rewrite as macros.
* lib/logger.c: Rewrite logging support using MU3 streams.
* lib/utils.c (config_array_to_argv)
(config_array_to_string, config_cb_timeout): Rewrite.
* lib/server.c (mf_server_start): Call mu_onexit_run.
* lib/version.c (version_etc_copyright): Rename to avoid name
clash.
* lib/dbcfg.c: Rewrite callbacks. Use MU3 configuration framework.
* lib/cache.c: Use mu_debug for debugging.
* lib/db.c: Likewise.
* lib/dns.c: Likewise.
* lib/greylist.c: Likewise.
* lib/mf-dbm.c: Likewise.
* lib/rate.c: Likewise.
* lib/srvman.c: Likewise.
* lib/tbf_rate.c: Likewise.
* src/builtin/snarf.m4: Likewise.
* src/calloutd.c: Likewise.
* src/engine.c: Likewise.
* src/spf.c: Likewise.
* src/Makefile.am (mfd-dbgmod.h): Offset the indices by the value of
mfd_debug_handle.
* src/builtin/body.bi (current_message): Use mu_stream_to_message.
* src/builtin/curhdr.bi: Use MU3 API.
* src/builtin/db.bi: Likewise.
* src/builtin/io.bi: Likewise.
* src/builtin/mail.bi: Likewise.
* src/builtin/msg.bi: Likewise.
* src/builtin/mudebug.bi: Likewise.
* src/builtin/sieve.bi: Likewise.
* src/lex.l: Likewise.
* src/savsrv.c: Likewise.
* src/srvcfg.c: Likewise.
* src/builtin/other.bi (debug_level): Rewrite using mu_debug_category_level
(debug_spec): Rewrite using mu_debug_format_spec.
(debug): Rewrite using mu_debug_parse_spec.
* src/callout.c (smtp_io_data) <send_off, recv_off>: Remove. All uses
updated.
(smtp_io_free, smtp_send, smtp_recvline)
(smtp_io_close, callout_host, callout_mx)
(libcallout_init): Use new stream and debugging API.
* src/mailfromd.h (mfd_debug_handle): New extern.
(add_legacy_milter_port): Change signature.
* src/main.c (mf_strecho): New global.
(mfd_gacopyz_log_printer): Remove.
(read_domain_file): Change signature.
(cb_milter_timeout, cb_timeout, cb_set_variable)
(cb_include_path, cb_trace_program, cb_relayed_domain_file): Rewrite.
(mfd_debug_handle): New variable.
(open_strecho): New function.
(main): Revise logging support initialization.
* src/mfdbtool.c: Use new MU API.
* src/pp.c: Likewise.
* src/pragma.c: Likewise.
* src/prog.c: Use new MU API.
(instr_echo): Send output to mf_strecho.
* src/prog.h (mf_strecho): New extern.
* src/builtin/msg.h (mf_message) <mstr, bstr>: New members.
* src/builtin/sa.bi: Rewrite using new stream functions.
* pmult/.gitignore: Remove pdbg.h.
* pmult/pdbg.hm4: Remove.
* pmult/debugdef.m4: Remove.
* pmult/Makefile.am (EXTRA_DIST): Remove pdbg.hm4 and debugdef.m4
(pmult_SOURCES): Remove pdbg.h
* pmult/pmult.c: Redo logging, debugging and configuration support.
* tests/hdr-gete.at: Update.
* tests/testsuite.at (AT_MTA_TEST): Filter out info prefix from the
'echo' output.
|
|
* lib/dns.c (_dnsbase_init): Rename to dnsbase_init, now extern.
(all functions): Remove calls to _dnsbase_init.
* lib/libmf.h (dnsbase_init): New proto.
* src/calloutd.c (main): Call dnsbase_init.
* src/savsrv.c (cmd_run): Bugfix.
(callout_session_server): Bugfix.
* src/main.c (main): Call dnsbase_init.
|
|
* 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.
|
|
callout_server_url.
* mflib/callout.mf4 (callout_server_url): New variable.
(begin): Provide a default for callout_server_url.
(__callout_open_default): Return the fd.
(callout): Use return from __callout_open_default as
the first argument to callout_do.
* mflib/poll.mf (__make_extra_arg): New static function.
(_pollhost, _pollmx, stdpoll, strictpoll): Use return from
__callout_open_default as the first argument to callout_do.
Construct the rest of arguments using __make_extra_arg.
* src/builtin/callout.bi (callout_server_url): Remove.
(default_callout_server_url): New function.
(MF_INIT): Remove initialization of callout_server_url.
* src/mailfromd.h (default_callout_url): Rename to
callout_server_url.
* src/main.c (default_callout_url): Rename to
callout_server_url.
(provide_default_callout_server): Rewrite the condition.
Don't try to reset the callout_server_url MFL variable: it
is useless after compilation is finished.
(mf_server_function): Fix the use of mu_list_locate.
(main): Fix a typo in the server section label.
* src/srvcfg.c (server_section_parser): Move the call to
mf_server_function to the mu_cfg_section_end branch.
|
|
* src/srvcfg.h: Add copyleft header.
(DEFAULT_PIDFILE): Move to lib/filenames.h.
(mf_srvcfg): New struct.
(mf_server_function): New proto.
(parse_milter_url): New proto.
* lib/filenames.h: Add copyleft header.
(DEFAULT_PIDFILE): New define.
* src/gram.y: Use mf_list_compare_string comparator.
(initialize_variable): Avoid coredump if locus==NULL.
* mailfromd.h (default_callout_url): New extern.
(compare_string): Remove proto.
* src/main.c (default_callout_url): New function.
(compare_string): Remove function. All callers use
mf_list_compare_string instead.
(mf_cfg_param): Remove ehlo-domain and mail-from-address
statements (duplicated in srvcfg.c)
Restore the callout-url statement.
(mf_server_function): Change signature.
Check for "option default" for callout servers.
(main): Move call to mf_srvcfg_flush several lines up,
before processing the filter script.
* src/srvcfg.c (parse_milter_url): Remove static qualifier.
(mf_srvcfg_add, server_section_parser): Use the new calling scheme
of mf_server_function.
(server_config_stmt): Remove struct.
(server_config_stmt):Change type struct mf_srvcfg.
(server_section_param) <option>: New statement.
<default>: Restore statement.
* src/calloutd.c (mf_server_function): Change signature.
* lib/libmf.h (mf_list_compare_string): New function.
* lib/utils.c: Likewise.
* mflib/callout.mf4 (ehlo_domain, mailfrom_address): Comment out. See
callout.bi.
(callout_open): Comment out sending the SET commands.
* mflib/spf.mf: Remove dependency on phased-out mydomain.mf.
(check_host): Revert to using ehlo_domain.
* src/builtin/callout.bi (ehlo_domain, mailfrom_address): Define here
(again).
(MF_INIT): Initialize callout_server_url, ehlo_domain
and mailfrom_address.
|
|
|
|
* src/dbgmod.awk: Use optional `offset' variable.
* src/main.c (main): Call libcallout_init.
* src/calloutd.c: Likewise.
* lib/db.c (db_format_install): Register format (not database file) name.
* lib/debug.c (debug_next_handle): New function.
(debug_init): Register "all" only once.
* lib/debug.h (debug_next_handle): New proto.
* src/Makefile.am (callout-dbgmod.h): Offset handles by
callout_debug_handle.
* src/callout.c (libcallout_init): New function.
* src/callout.h (callout_debug_handle): New extern.
(libcallout_init): New proto.
* etc/mailfromd.mf: Minor change.
|
|
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1612 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* src/db.c, src/bi_sprintf.m4, src/prog.c, src/bi_db.m4,
src/engine.c: Fix format arguments (ported from
branches/gmach@{2008-01-28 and 2008-01-09).
* src/main.c, src/mtasim.c: Include locale.h
git-svn-id: file:///svnroot/mailfromd/trunk@1603 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* NEWS: Update.
* doc/mailfromd.texi: Updated.
* configure.ac: Version 4.3 (preparing for the release).
git-svn-id: file:///svnroot/mailfromd/trunk@1585 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* src/gram.y (DELETE string): Initialize hdr.value.
* src/drivers.c (code_type_header): Value can be NULL.
Fix compatibility with MU CVS:
* src/main.c: Use mu_log_facility.
* src/mtasim.c [MAILUTILS_VERSION_NUMBER > 1290]: Include
gettext.h, define _ and N_.
* configure.ac: Check for mu_log_facility.
git-svn-id: file:///svnroot/mailfromd/trunk@1569 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1539 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1538 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1534 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* tests/atlocal.in (MFOPTS): Ignore site-wide and per-user
configuration files.
* doc/mailfromd.texi: Document sieve interface.
git-svn-id: file:///svnroot/mailfromd/trunk@1533 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* src/bi_sieve.m4: New file.
* src/mailfromd.h (vlogmsg): New proto.
* src/main.c (capa): Request "common" capability.
(main): Register all mailbox formats (needed for sieve).
* src/Makefile.am (M4_FILES): Add bi_sieve.m4
* src/mtasim.c (process_header): chop trailing newline.
* mflib/sieve.mfh: New file.
* mflib/Makefile.am (inc_DATA): Add sieve.mfh.
* configure.ac: Set patchlevel 90.
(AM_GNU_MAILUTILS): Request 'all' and 'sieve' link flags.
* doc/mailfromd.texi: Document 3rd argument of write.
* NEWS: Update.
git-svn-id: file:///svnroot/mailfromd/trunk@1530 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
not exist.
* src/mailfromd.h: Add argp.h
* src/bi_sa.m4: Minor fixes.
* src/main.c: Support for Mailutils CVS HEAD.
* configure.ac: Likewise.
git-svn-id: file:///svnroot/mailfromd/trunk@1527 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1520 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1510 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1498 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1495 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1471 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
functions.
If a builtin takes optional arguments, the actual number of arguments is
passed in a hidden first argument. This allows to discern between zero
arguments (emtpy strings) and absent arguments.
git-svn-id: file:///svnroot/mailfromd/trunk@1461 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1456 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1441 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1434 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1431 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1428 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1419 7a8a7f39-df28-0410-adc6-e0d955640f24
|