Age | Commit message (Collapse) | Author | Files |
|
* NEWS: Update.
* .gitignore: Update.
|
|
* mfd/bi_db.m4: Add a new implementation of
the greylist function, proposed by Con Tassios.
In this implementation, the database keeps
the time the greylisting period is set to expire,
rather than the time the greylisting was activated.
This allows to implement is_greylisted function.
The implementation to use is selected by #pragma
greylist.
* tests/greylist-ct.at: New file. Testcase for Con Tassios
style greylist.
* tests/Makefile.am (TESTSUITE_AT): Add greylist-ct.at.
* tests/greylist.at: Update.
* tests/testsuite.at: Include greylist-ct.at.
* tests/etc/greylist-ct.rc: New file.
* tests/etc/Makefile.am (RCFILES): Add greylist-ct.rc.
* THANKS: Fix alphabetical ordering.
|
|
* mfd/tbf_rate.c: New file.
* gnulib.modules: Add inttypes.
* mfd/Makefile.am (mailfromd_SOURCES): Add tbf_rate.c.
* mfd/bi_other.m4 (tbf_rate): New function.
* mfd/mailfromd.h (tbf_rate_format): New global.
* mfd/main.c (db_format_setup): Set tbf_rate_format.
|
|
|
|
* mfd/bi_sa.m4 (write_822): New function to replace MU's "rfc822" filter,
which is a pile of junk (sorry). Improves performance, besides.
(spamd_send_stream): Use write_822 instead of the filter. See above.
* mfd/engine.c: Fix comment.
* mfd/mailfromd.h (mem_search): New proto.
* mfd/prog.c (env_capture_write): Use mem_search.
|
|
|
|
* mfd/prog.c (instr_restex): Bugfix. Use pop to restore catch
addresses. This also fixes the resulting tos value.
* mfd/bi_body.m4 (current_message): Use mf_stream_to_message
* mfd/bi_sa.m4 (spamd_send_stream): Return int. Recode delimiters to
"\r\n".
(sa): Check return from spamd_send_stream. Adjust reported stream size.
(clamav): Check return from spamd_send_stream.
* mfd/bi_sieve.m4 [MAILUTILS_VERSION_NUMBER < 1290]: Remove
* mfd/mailfromd.h (env_get_line_count, mf_stream_to_message): New functions.
* mfd/prog.c (struct eval_environ.line_count): New member.
(env_get_line_count): New function.
(env_capture_start): Init eval_environ.line_count
(env_capture_write): Recode "\r\n" -> "\r". Update eval_environ.line_count.
* mtasim/mtasim.c (send_body): New function.
(smtp): Use CRLF as line terminator in message body.
* pmult/pmult.c (collect_headers): strip off \r's.
|
|
|
|
* mfd/engine.c (check_mx_records): Propagate mf_failure, mf_temp_failure,
and mf_not_found returns to the caller.
(method_strict): Dismiss return mf_not_found from check_mx_records, if
there were no MXs.
|
|
* mfd/Makefile.am (mailfromd_SOURCES): Add pragma.c
* mfd/pragma.c: New file.
* mfd/bi_db.m4: New pragma `dbprop'.
(dbmap, dbget, dbput, dbdel): take database properties from dbprop settings.
(dbfirst): Open database for reading only.
* mfd/gram.y (pragma_regex, pragma_option, pragma_stacksize)
(pragma_database): Rewrite to match new pragma interface.
(pragma_setup): New function.
* mfd/mailfromd.h (SYM_PRAGMA): New symbol type.
(install_pragma, lookup_pragma): New protos.
(parse_pragma): Arg is const.
* mfd/main.c (main): Call pragma_setup.
* mfd/snarf.m4 (MF_PRAGMA): New define.
* mfd/symtab.c ((install_pragma, lookup_pragma): New functions.
* .gitignore, tests/.gitignore: Update.
|
|
* mfd/bi_db.m4 (greylist): Initialize greylist_seconds_left for expired records.
|
|
* Makefile.am (dist-hook): Create ChangeLog.
(ChangeLog): New rule.
* NEWS, README-alpha, README-hacking: Update
* gnulib.modules: Add gitlog-to-changelog
* ChangeLog: Rename to ChangeLog.svn
* tests/hasmx.at, tests/hostname.at, tests/ismx.at,
tests/poll.at, tests/poll01.at, tests/poll02.at,
tests/poll03.at, tests/rescname.at, tests/resolve.at,
tests/testsuite.at: Skip tests if the network is down.
|
|
|
|
* mtasim/mtasim.c (stop_mailfromd): Wait for the mailfromd child
to terminate and analyze its return status.
* mfd/bi_msg.m4 (bi_drop_current_message): New function.
* mfd/prog.c (env_capture_start): Call bi_drop_current_message if
the capture stream already exists (i.e. when starting processing
2nd or later message in a session).
* mfd/msg.h (bi_drop_current_message): New prototype.
* gacopyz/server.c (srv_connect): Retry attempts to connect
if they fail with ECONNREFUSED. Implement 5-second timeout.
* tests/testsuite.at (MAILFROMD_OPTIONS): New define.
(AT_MTA_TEST): Pass MAILFROMD_OPTIONS to mtasim invocation.
(AT_WITH_MAILFROMD_OPTIONS): New macro.
Include curmsg.at.
* tests/curmsg.at: New file
* tests/etc/Makefile.am (RCFILES): Add size.rc
* tests/etc/size.rc: New file
git-svn-id: file:///svnroot/mailfromd/trunk@1779 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/prog.c (env_get_macro, instr_symbol): Minor fixes
(env_capture_start): Seek to 0 after truncating the stream.
Mailutils should know better and do it automatically.
git-svn-id: file:///svnroot/mailfromd/trunk@1778 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/prog.c (env_capture_start): Do not create the stream if it
already exists. Bug reported by Con Tassios.
* mfd/bi_sieve.m4 (sieve): Don't free unexistend Sieve machines.
* THANKS: Update
* NEWS: Update
git-svn-id: file:///svnroot/mailfromd/trunk@1777 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1776 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/bi_io.m4 (write): Fix spurious runtime exceptions, raised if
the third argument was not given.
git-svn-id: file:///svnroot/mailfromd/trunk@1775 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/engine.c (mlfi_envfrom, mlfi_envrcpt): Fix second argument,
so that it does not include $1.
* THANKS: Update.
* mflib/sa.mf (sa_format_report_header): Improve formatting.
git-svn-id: file:///svnroot/mailfromd/trunk@1774 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/engine.c (mlfi_envfrom, mlfi_envrcpt): Fix second argument,
so that it does not include $1.
* THANKS: Update.
* mflib/sa.mf (sa_format_report_header): Improve formatting.
git-svn-id: file:///svnroot/mailfromd/trunk@1773 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/gram.y (state_parms): Fix number of arguments to
envfrom and envrcpt. Bug reported by Patrick Dalais
<patrick@depari.co.za>.
* tests/fromargs.at, tests/rcptargs.at: New tests.
* tests/testsuite.at, tests/Makefile.am: Add new tests.
* tests/etc/ack.rc: Increase stack allocation.
git-svn-id: file:///svnroot/mailfromd/trunk@1772 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* configure.ac, NEWS: Version 5.0.
* doc/mailfromd.texi, doc/pies.texi, doc/pmult.texi: Update.
* doc/Makefile.am (check-builtins): Account for
MF_DEFUN_VARARGS_NO_PROM.
git-svn-id: file:///svnroot/mailfromd/trunk@1771 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/symtab.c (va_builtin_install): Initialize flags to 0.
(va_builtin_install_ex): Remove capture and varargs, replace them
with flags.
* mfd/snarf.m4 (__mf_defun,MF_DEFUN_VARARGS): Reflect changes to
va_builtin_install_ex.
(MF_DEFUN_VARARGS_NO_PROM): New defun.
* mfd/gram.y (cast_arg_list): Add 4th argument, controlling
argument type promotion.
* mfd/drivers.c (code_type_builtin): Use builtin.flags.
* mfd/mailfromd.h (MFD_BUILTIN_*): New defines.
(struct builtin): Remove capture and varargs, replace them
with flags.
* mfd/bi_sprintf.m4: Define sprintf as MF_DEFUN_VARARGS_NO_PROM.
git-svn-id: file:///svnroot/mailfromd/trunk@1770 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1769 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1768 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.c, pies/progman.c, pies/meta1gram.y, pies/pies.h,
pies/meta1lex.l: Normalize output redirection terminology, fix the
debug levels.
* pmult/pmult.c: Fix error message
* doc/pies.texi: Document the configuration.
git-svn-id: file:///svnroot/mailfromd/trunk@1767 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.c, pies/progman.c, pies/meta1gram.y, pies/pies.h,
pies/meta1lex.l: Normalize output redirection terminology, fix the
debug levels.
* pmult/pmult.c: Fix error message
* doc/pies.texi: Document the configuration.
git-svn-id: file:///svnroot/mailfromd/trunk@1766 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
derived functions.
git-svn-id: file:///svnroot/mailfromd/trunk@1765 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* doc/mailfromd.texi: Document replbody. Use @WRITEME where appropriate.
* doc/rendition.texi (WRITEME): New macro.
(UNREVISED): Reword.
* doc/pies.texi, doc/smap.texi: Use @WRITEME
* doc/Makefile.am (check-writeme): New rule.
(all-check-docs): Depend on check-writeme.
* mfd/bi_body.m4 (replbody): Can be used in any handler.
* NEWS: Rearrange material.
git-svn-id: file:///svnroot/mailfromd/trunk@1764 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pmult/pmult.c (struct pmult_priv_data): New members hdrbuf and
body_itr. Remove body_off.
(pmult_append_body_chunk): Set bucket size to PMILTER_CHUNK_SIZE.
(pmult_clear): Free new pmult_priv_data members.
(pmult_free): Call pmult_clear first.
(pmult_eom): Initialize pmult_priv_data members for eventual body
replacement.
(pmult_msg_rplc): First send headers, then body.
git-svn-id: file:///svnroot/mailfromd/trunk@1763 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pmult/pmult.c: Remove obsolete comment.
* mfd/engine.c (run_msgmod): Ensure the message for gacopyz_replace_body
has \r\n endings.
git-svn-id: file:///svnroot/mailfromd/trunk@1762 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/engine.c (run_msgmod): Handle body_repl
* mfd/gram.y (msgmod_opcode_str): Likewise.
* mfd/mailfromd.h (enum msgmod_opcode): New constant body_repl.
* mfd/bi_body.m4 (replbody): New function (proof-of-concept).
* pmult/pmult.c (struct pmult_priv_data): New fields body_off,
body_chunks.
(pmult_append_body_chunk): New function.
(cb_reply): Handle SMFIR_REPLBODY
(pmult_std_reply): Likewise.
(pmult_clear): Destroy body_chunks
(pmult_eom): Request body replacement if body_chunks is not NULL.
(pmult_msg_rplc,pmult_msg_rplc_stat): New functions.
(pmilter): Register pmult_msg_rplc and pmult_msg_rplc_stat.
git-svn-id: file:///svnroot/mailfromd/trunk@1761 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
dependency.
* pies/pies.c (component_cfg_param): New statement settle-timeout.
* pies/progman.c (recompute_alarm): New static;
(prog_start): Start the component only if all of its prerequisites
are running.
(progman_recompute_alarm): New function.
(progman_start): Reset recompute_alarm to 0.
(check_stopping): New function.
(progman_wake_sleeping): Handle also status_stopping and
status_enabled. Recompute alarm before leaving.
(prog_start_prerequisites): Return 0 or 1 depending on whether all
prerequisites have been started.
(prog_stop): Raise recompute_alarm for stopping components.
(progman_cleanup): Force status_enabled before attepmting to
start a component.
(progman_cleanup): Add a \n after debugging message.
Run progman_wake_sleeping unlsess expect_term is set.
* pies/meta1gram.y (translate_node_list): Force settle-timeout =
1.
* pies/pies.h (struct component.settle_timeout): New member.
git-svn-id: file:///svnroot/mailfromd/trunk@1760 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.c (main): New options --force, --dump-prereq and
--dump-depmap.
Refuse to start if another instance is already running.
(pies_check_status): New function.
(pies_status): Rewrite using pies_check_status.
* pies/progman.c (component_fixup_depend): Bugfix: move
mu_list_append off the conditional.
(progman_dump_prereq, progman_dump_depmap): New functions.
* pies/meta1gram.y (yyerror): Return 0.
* pies/pies.h (progman_dump_prereq, progman_dump_depmap): New
protos.
(meta1_parser_set_debug, meta1lex, meta1error)
(meta1parse): Likewise.
git-svn-id: file:///svnroot/mailfromd/trunk@1759 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/progman.c (print_dep): New function.
(progman_build_depmap): Call print_dep to facilitate fixing cyclic
dependencies.
(prog_start_prerequisites): Fix debugging output.
Remove spurious second loop (was it a typo or copy-paste
leftover?)
(prog_stop_dependents): Fix debugging output.
(progman_dump_stats): Avoid race conditions between running and
querying instances.
git-svn-id: file:///svnroot/mailfromd/trunk@1758 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1757 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pmult/pmult.c (debug_level): Remove.
(struct pmult_priv_data): Remove debug. Use pmult_debug instead.
(macro_trans): Define Sendmail compatibility macros cn_issuer and
cn_subject.
(builtin_macros): Fix typo in "multiplexer".
(define_macros): Rewrite. The "define-macros" statement takes
exactly two arguments, each of which can be either a string or a
list of strings.
* doc/values.texi, doc/mailfromd.texi, doc/pmult.texi: Update.
* doc/Makefile.am (check-fixmes): Scan all texinfo documents.
git-svn-id: file:///svnroot/mailfromd/trunk@1756 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.c (main): Call progman_build_depmap and
progman_create_sockets before starting up components.
* pies/progman.c (struct prog): New member `retr'.
(destroy_prog): New function.
(retr_tag): Change signature. Fix erroneous condition for
xalloc_die.
(register_retr): Return prog. Make static. Initialize idx
with -1.
(update_retr): Register retranslator, if necessary.
(progman_register_retranslators): Remove.
(register_prog0): 2nd argument: index.
(register_prog): Do not create socket at once.
(prog_start): Remove debugging fprintf.
(progman_accept): Update call to register_prog0.
(progman_create_sockets): New function.
(progman_start): Remove calls to progman_register_retranslators
and progman_build_depmap. They must be done only once.
(prog_stop_retranslators): New function.
(prog_stop_dependents): Call prog_stop_retranslators.
(progman_cleanup): Remove dangling retranslators.
* pies/pies.h (progman_create_sockets): New prototype.
git-svn-id: file:///svnroot/mailfromd/trunk@1755 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.c (main): Call progman_build_depmap and
progman_create_sockets before starting up components.
* pies/progman.c (struct prog): New member `retr'.
(destroy_prog): New function.
(retr_tag): Change signature. Fix erroneous condition for
xalloc_die.
(register_retr): Return prog. Make static. Initialize idx
with -1.
(update_retr): Register retranslator, if necessary.
(progman_register_retranslators): Remove.
(register_prog0): 2nd argument: index.
(register_prog): Do not create socket at once.
(prog_start): Remove debugging fprintf.
(progman_accept): Update call to register_prog0.
(progman_create_sockets): New function.
(progman_start): Remove calls to progman_register_retranslators
and progman_build_depmap. They must be done only once.
(prog_stop_retranslators): New function.
(prog_stop_dependents): Call prog_stop_retranslators.
(progman_cleanup): Remove dangling retranslators.
* pies/pies.h (progman_create_sockets): New prototype.
git-svn-id: file:///svnroot/mailfromd/trunk@1754 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.h (create_socket): Change proto to 3 arguments.
* pies/socket.c (create_socket): Take two additional arguments.
Allow to configure ownership and mode of created UNIX sockets.
* pies/progman.c (register_prog, prog_start): Update calls to
create_socket.
git-svn-id: file:///svnroot/mailfromd/trunk@1753 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/bi_ctype.m4: New function.
* mfd/Makefile.am (inc_DATA): Add bi_ctype.m4.
* doc/Makefile.am (check-builtins): Update source sed expression.
* doc/mailfromd.texi, NEWS: Document ctype functions.
git-svn-id: file:///svnroot/mailfromd/trunk@1752 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* lib/libmf.h (struct mf_privs): New data type.
(get_user_groups, mf_priv_setup, mf_epriv_setup): New prototypes.
* lib/userprivs.c (get_user_groups, mf_priv_setup)
(mf_epriv_setup): New functions.
* smap/smap.c: If user is specified, switch to effective uid/gid,
in order for msrv to create files with right privileges, on one
hand, and to be able to create pidfile in root-owned directories
(e.g. /var/run), on the other hand. This requires todays snapshot
of Mailutils.
* pies/pies.h (struct pies_privs_data): Remove
(struct component): Change type of `privs' to struct mf_privs.
(priv_setup): Remove.
* pies/pies.c: Use mf_priv* stuff to manipulate privileges.
* pies/progman.c: Likewise.
* pies/meta1gram.y (list): allow for trailing comma.
git-svn-id: file:///svnroot/mailfromd/trunk@1751 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* mfd/bi_string.m4 (index) (rindex): Third argument (start index)
can equal string length.
git-svn-id: file:///svnroot/mailfromd/trunk@1750 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/Makefile.am (LDADD): Add MF_PROCTITLE_LIBS
git-svn-id: file:///svnroot/mailfromd/trunk@1749 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* lib/proctitle.c (mf_proctitle_format):
* pies/progman.c (progman_register_retranslators): Register
retranslators only for retr_syslog.
(open_retranslator): Do not prepend program name to the proctitle.
It is done automatically by the library.
* lib/proctitle.c: Declare environ.
Define __progname if not defined in libc.
(mf_proctitle_init): Set __progname.
(mf_proctitle_format): Prepend program name to the proctitle.
git-svn-id: file:///svnroot/mailfromd/trunk@1748 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.h (enum retr_type): New constants.
(struct retranslator): New type.
(struct component): Change type of retr to struct retranslator.
All uses updated.
* pies/pies.c (_cb_retr): Takes two arguments:
redirection type and file name or syslog priority.
(make_full_name): New function.
(component_verify): Check retr file names.
* pies/progman.c (redirect_to_file): New function.
(open_retranslator): Handle file redirects.
(prog_start): Open /dev/null in wronly mode.
* pies/meta1gram.y (create_retr_node): New function.
(translate_node_list): Create default "stderr" statement.
git-svn-id: file:///svnroot/mailfromd/trunk@1747 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* am: New directory.
* am/aggr.m4, am/debug.m4: New files (from acinclude.m4)
* am/proctitle.m4: New file.
* acinclude.m4: Removed.
* configure.ac: Call MF_PROCTITLE.
* lib/libmf.h (mf_proctitle_format): New prototype.
* lib/proctitle.c: New file.
* lib/Makefile.am (libmf_a_SOURCES): Add proctitle.c.
* Makefile.am (ACLOCAL_AMFLAGS): Add -I am
* pies/pies.c (main): Call mf_proctitle_init.
* pies/progman.c (retr_tag): Rewrite in a safer way.
(open_retranslator): Set program title in child.
git-svn-id: file:///svnroot/mailfromd/trunk@1746 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.c (component_verify): New function.
(component_section_parser): Call component_verify.
(_cm_include_meta1): Reduce the tree at once.
(parse_meta1_conf): Not needed any more.
* pies/progman.c (progman_register_retranslators): New function.
(pies/progman.c): Do not register retranslators: wait until the
entire config is parsed and do that in progman_start.
(progman_start): Call progman_register_retranslators.
git-svn-id: file:///svnroot/mailfromd/trunk@1745 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
git-svn-id: file:///svnroot/mailfromd/trunk@1744 7a8a7f39-df28-0410-adc6-e0d955640f24
|
|
* pies/pies.c (component_cfg_param): Rename "depend" to
"prerequisites". Add new keyword "dependents".
(pies_cfg_param): New keyword "limits".
* pies/progman.c (struct prog): Rename "depend" to "prereq".
(prog_start_dependencies): Rename to prog_start_prerequisites
(register_prog0): Do not fill prereq. This will be done later,
when all dependencies are resolved.
(prog_rebuild_prerequisites): New function.
(prog_start): Per-component limitis override system-wide ones.
(component_fixup_depend, fixup_prerequisites)
(rebuild_prerequisites): New functions.
(progman_build_depmap): Call fixup_prerequisites and
rebuild_prerequisites.
(prog_stop_dependent): Rename to prog_stop_dependents.
* pies/meta1gram.y: Implement restart_dependencies.
* pies/pies.h (struct component): Rename "depend" to "prereq". Add
new member "depend".
(pies_limits): New extern.
git-svn-id: file:///svnroot/mailfromd/trunk@1743 7a8a7f39-df28-0410-adc6-e0d955640f24
|