AgeCommit message (Collapse)AuthorFiles
2009-10-13Bugfixes.Sergey Poznyakoff6
* README: Update. * configure.ac: Change bug-reporting address. * doc/pies.texi: Minor fixes. * src/pies.c: New configuration statements: mailer-program and mailer-command-line. (mailer_program, mailer_command_line) (mailer_argc, mailer_argv): New globals. * src/pies.h (mailer_program, mailer_command_line) (mailer_argc, mailer_argv): New globals. * src/progman.c (destroy_prog): Bugfix: update master program when destroying a retranslator. (send_msg): Several bugfixes. Use mailer_argc, mailer_argv instead of hardcoding sendmail command line. Remove invalid recipient addresses from the resulting command line.
2009-10-12Fix make distcheck and check-docs.Sergey Poznyakoff17
* doc/Makefile.am: Fix `check-*' goals. * doc/pies.texi: Update and rearrange material. Document new configuration. * lib/Makefile.am (libpies_a_SOURCES): Remove nls.c * src/Makefile.am (EXTRA_DIST): Remove pies.rc, add pp-setup. (INCLUDES): Add $(top_builddir)/gnu * src/pies.c: Minor changes. * src/progman.c: Minor changes. * README-hacking: New file.
2009-10-12Do not require Mailutils. Provide missing functions.Sergey Poznyakoff24
* Makefile.am (ACLOCAL_AMFLAGS): Add grecs/am * bootstrap.conf: Skip po. Initialize submodule. * configure.ac: Mailutils no longer needed. (AC_CONFIG_FILES): Add new subdirs. * gnulib.modules: Add more modules. Arrange entries alphabetically. * lib/Makefile.am: Rename library to libpies. * lib/libpies.h (mf_privs) (switch_to_privs, get_user_groups) (mf_priv_setup, mf_epriv_setup): Move to src/pies.h (config_array_to_argv, config_array_to_string) (config_cb_timeout): Remove. (tokendef): New struct. (strtotok_len, strtotok_len_ci) (strtotok, strtotok_ci, toktostr): New prototypes. * lib/nls.c: Remove call to mu_init_nls. * src/acl.c: New file. * src/addrfmt.c: New file. * src/diag.c: New file. * src/meta.c: New file. * src/url.c: New file. * src/userprivs.c: New file. * src/acl.h: New file. * src/pp-setup: New file. * src/Makefile.am (pies_SOURCES): Add acl.c, addrfmt.c, diag.c, meta.c, url.c, userprivs.c. (noinst_HEADERS): Add acl.h. (inc_DATA): Add pp-setup. * src/limits.c, src/meta1gram.y, src/meta1lex.h, src/meta1lex.l, src/pies.c, src/pies.h, src/progman.c, src/socket.c, src/userprivs.c: Remove calls to functions from Mailutils.
2009-09-15Branch off from the Mailfromd project into a separate repository.Sergey Poznyakoff38
2009-09-03Improve the upgrade conversion script. Update docs.Sergey Poznyakoff1
* NEWS: Update. * doc/Makefile.am (check-config, check-sub-config): New goals. (all-check-docs): Depend on the above. * doc/mailfromd.texi: Document syslog-async configuration statement. * doc/pragma-option.texi: Move the ignore block to doc/mailfromd.texi. * doc/upgrade.texi (5x0-600): Describe the changes and the proposed conversion procedure. * mfd/main.c (rename_legacy_file): new variable. (close_change_conf): Improve the created script. (cb_db_expire_interval): Bugfix. (database_section_param): File statement is mu_cfg_callback. (main): Set rename_legacy_file if necessary.
2009-09-03Define the `database' configuration statement. Document new configuration.Sergey Poznyakoff1
* doc/pragma-option.texi: New file. * doc/pragma-database.texi: New file. * doc/Makefile.am (mailfromd_TEXINFOS): Add new files. * doc/mailfromd.texi: Document configuration file. * doc/upgrade.texi (5x0-600): New section. * mfd/gram.y (pragma_database): Add calls to write_db_config. * mfd/main.c (write_db_config): New function. (close_change_conf): Handle 'G' records. (cb_relay_file): Remove duplicate function. (cb_db_expire_interval, cb_db_positive_expire_interval) (cb_db_negative_expire_interval): New functions. (database_section_param): New configuration file statement: "database". (database_cfg_init): New function. (main): Call database_cfg_init. * mfd/mailfromd.h (write_db_config): New prototype.
2009-08-27Fix diagnostic and help messages.Sergey Poznyakoff2
1. Option descriptions in `--help' output do not constitute conceptual sentences. Therefore, they should not begin with a capital letter, nor end with a final point. 2. According to standards.texi, a diagnostic message in a non-interactive program "should not begin with a capital letter when it follows a program name and/or file name, because that isn't the beginning of a sentence. (The sentence conceptually starts at the beginning of the line.) Also, it should not end with a period." Affected files: * gacopyz/gacopyz.c * gacopyz/proc.c * gacopyz/server.c * gacopyz/smfi.c * mfd/bi_db.m4 * mfd/bi_dns.m4 * mfd/bi_io.m4 * mfd/bi_ipaddr.m4 * mfd/bi_mail.m4 * mfd/bi_other.m4 * mfd/bi_poll.m4 * mfd/bi_sa.m4 * mfd/bi_string.m4 * mfd/cache.c * mfd/db.c * mfd/dnscache.c * mfd/drivers.c * mfd/engine.c * mfd/gram.y * mfd/lex.l * mfd/main.c * mfd/mu_dbm.c * mfd/optab.opc * mfd/prog.c * mfd/rate.c * mfd/symtab.c * mtasim/mtasim.c * mtasim/openat-die.c * pies/pies.c * pies/progman.c * pmult/pmult.c * smap/smap.c * tests/ashadow.at * tests/bctx00.at * tests/fctx00.at * tests/hdr-gete.at * tests/invcidr.at * tests/invcidr2.at * tests/shadow.at
2009-08-27Minor fixes.Sergey Poznyakoff2
* mfd/main.c (parse_opt): Add missing break. (cb_include_path): Fix use of improper variable in MU_CFG_LIST branch. * am/aggr.m4 (IU_CHECK_MEMBER): Remove improper use of dnl. * doc/Makefile.am (check-builtins, check-mflib): Do not split sed expressions over multiple lines: Makefile format cannot handle it properly. * doc/mailfromd.texi: Update. * bootstrap: Do not apply `silentize' to gnu/gnulib.mk. Latest gnulib takes care of it itself.
2009-08-18Implement getpw.* interfacesSergey Poznyakoff1
* mfd/bi_getpw.m4: New file. * mfd/Makefile.am (M4_FILES): Add bi_getpw.m4 * doc/Makefile.am (check-builtins): Take into account @deftypefnx * NEWS, doc/mailfromd.texi: Update
2009-06-17Bugfixes.Sergey Poznyakoff1
* pies/pies.c (main): Change main loop to do..while, otherwise a signal arriving before entering the loop might cause the program to terminate. * pmult/pmult.c (internal_macro_p): New function. (collect_stage_symbols): Do not report internal macros as untranslatable. * mfd/gram.y (register_macro): Copy macro name to allocated storage.
2009-06-14Fix and improve termination actions in pies.Sergey Poznyakoff4
* pies/pies.h (MAX_RETURN_CODE): Remove. (STATUS_SIG_BIT, STATUS_CODE): New defines (struct action): New fields next, nstat, status, command. (struct component): Keep singly-linked list of termination actions. * pies/progman.c (run_command): New function. (progman_cleanup): Redo iteration over termination actions. * pies/pies.c (return_code_cfg_param): Pass offsets in struct component. (create_action): Accept signal numbers (SIG.* or SIG\+[0-9]+) in tag. (return_code_section_parser): Update. (pies_check_status): Set *pid before returning pies_status_stale. * doc/pies.texi: Document changes. * NEWS: Updated.
2009-06-04MeTA1-related improvements.Sergey Poznyakoff1
* configure.ac: Check for pmilter_S.pmfi_thrmax_[sh]. Requires 28/0009-pmilter-configurable-maxthr.diff. * pmult/pmult.c: New configuration statements: max-threads-soft and max-threads-hard. * pies/pies.c (_cm_include_meta1): Fix coredump on syntax errors in meta1.conf.
2009-05-21More work on `silent rules' modeSergey Poznyakoff3
* bootstrap (silent_rules_prog): Preserve leading whitespace verbatim, when inserting the AM_V variables. Suggested by Ralf Wildenhues. Optionally insert the definitions of AM_DEFAULT_VERBOSITY, AM_V_GEN and AM_V_at: useful for po/Makefile.in.in (silentize): New function. (slurp): Call silentize Call silentize on po/Makefile.in.in. * doc/Makefile.am, etc/Makefile.am, pies/Makefile.am, pmult/Makefile.am, tests/Makefile.am, tests/etc/Makefile.am: Add silent rule markers.
2009-05-21Switch to `silent rules' modeSergey Poznyakoff1
* bootstrap (slurp): Convert gnulib Makefile.am to support silent rules. * configure.ac (AM_INIT_AUTOMAKE): Add silent-rules. Enable silent rules by default. * gacopyz/Makefile.am, mfd/Makefile.am: Add silent rules markers.
2009-05-13Minor changeSergey Poznyakoff1
* mfd/bi_db.m4: Fix comment. * pies/progman.c: Use _exit in child processes. This is a work over a fault in MU design: it registers the pidfile removal function via atexit.
2009-05-09Fix the docsSergey Poznyakoff1
2009-05-06Minor changes.Sergey Poznyakoff2
* NEWS: Update. * doc/mailfromd.texi: Reorder material. * doc/upgrade.texi: New file. * doc/fdl.texi, doc/gacopyz.texi, doc/strftime.texi: Move sectioning commands to the main source. * etc/mailfromd.rc: Reflect recent changes. * mfd/lex.l: Change semantics of __statedir__ and __preproc__. Introduce __defstatedir__ and __defpreproc__.
2009-03-13Finish migration to Git.Sergey Poznyakoff1
* 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.
2009-03-13Add .gitignoresSergey Poznyakoff1
2008-12-26Version 5.0Sergey Poznyakoff2
* 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.
2008-12-01UpdateSergey Poznyakoff1
2008-12-01UpdateSergey Poznyakoff1
2008-12-01Documentation and minor fixes.Sergey Poznyakoff6
* 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.
2008-11-28Bugfixes/improvements.Sergey Poznyakoff3
* 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.
2008-11-21Pies: ensure all prereqs are started in right order before starting a ↵Sergey Poznyakoff4
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.
2008-11-21Improve pies.Sergey Poznyakoff4
* 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.
2008-11-21Improve pies.Sergey Poznyakoff1
* 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.
2008-11-17Add pies.texi and smap.texiSergey Poznyakoff2
2008-11-17Document and improve pmult.Sergey Poznyakoff1
* 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.
2008-11-17Fix handling of retranslators.Sergey Poznyakoff3
* 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.
2008-11-16Improve pies.Sergey Poznyakoff3
* 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.
2008-11-16Implement ctype functions.Sergey Poznyakoff1
* 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.
2008-11-15Improve handling of program privileges.Sergey Poznyakoff4
* 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.
2008-11-13Bugfix.Sergey Poznyakoff1
* pies/Makefile.am (LDADD): Add MF_PROCTITLE_LIBS
2008-11-13Bugfix.Sergey Poznyakoff1
* 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.
2008-11-13Implement file output redirection.Sergey Poznyakoff5
* 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.
2008-11-13Implement setproctitle functionality for pies.Sergey Poznyakoff2
* 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.
2008-11-13Allow to complement existing components (useful for MeTA1 includes).Sergey Poznyakoff2
* 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.
2008-11-12Optonal semicolon after a simple statementSergey Poznyakoff1
2008-11-12Implement dependencies/prerequisites in MeTA1.Sergey Poznyakoff4
* 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.
2008-11-12* pies/pies.rcin: UpdateSergey Poznyakoff1
2008-11-12Implement MeTA1 configuration file parser. Sergey Poznyakoff7
* configure.ac: Require Mailutils 1.9.93 * doc/mailfromd.texi, NEWS: Update. * pies/pies.c (_cb_depend): Accept list argument. (component_cfg_param): New statement: program. (pies_cfg_param): New statements: include-meta1 and meta1-queue-dir. (parse_meta1_conf, pies_cfg_verifier): New functions. (main): Set mu_app_cfg_verifier. Call parse_meta1_conf. * pies/progman.c (progman_lookup_component): New function. (prog_start): Pass program name (eventually differing from argv[0]). * pies/pies.h (struct component): New member `program'. (progman_lookup_component): New prototype. * pies/meta1gram.y, pies/meta1lex.h, pies/meta1lex.l: New files. * pies/Makefile.am (pies_SOURCES): Add meta1gram.y and pies/meta1lex.h. (noinst_HEADERS, AM_YFLAGS, AM_LFLAGS): New variables.
2008-11-11BugfixesSergey Poznyakoff4
* pies/pies.c (component_cfg_param, pies_cfg_param): New keyword: allgroups. (pies_add_allgroups): New function. * pies/limits.c: Fix debug statements. * pies/progman.c (build_depmap): Rename to progman_build_depmap. Make extern, for future use. All callers updated. * pies/pies.h (progman_build_depmap): New proto.
2008-11-11pies: rename open_socket to create_socketSergey Poznyakoff3
2008-11-11BugfixesSergey Poznyakoff2
* pies/pies.c: Fix ACTION_COMPRELOAD * pies/progman.c (open_retranslator): (child) close all open sockets, except p[0] (pipe input). (prog_start): Bugfix: mark sleeping components with status_sleeping. (prog_start): stdout retranslation works for pies_comp_pass_fd. Mark started processes with status_enabled. (progman_start): Start enabled processes if pid is 0. (progman_stop_component): Correctly handle various status types. (progman_dump_stats): Mark processes being stopped.
2008-11-11BugfixesSergey Poznyakoff3
* pies/pies.c (component_cfg_param): Bugfix. (component_section_parser): Initialize comp->pass_fd_socket * pies/progman.c (prog_start): Listen on the socket, if in pass_fd mode. Avoid closing it. (prog_stop_all): Kill programs being stopped. * pies/socket.c (pass_fd): Check return from open_unix_socket.
2008-11-10Rewrite pies to incorporate into it the functionality of inetd and mcp.Sergey Poznyakoff6
* pies/pies.c (pmult_debug): Rename to pies_debug. (pies_acl): New global. (component_cfg_param): New statements: mode, socket, pass-fd-socket, acl, limits. (component_section_parser): Allocate comp. Check its consistency on mu_cfg_section_end. (pies_cfg_param): New statement: acl. (main): Call mu_acl_cfg_init. Use pies_pause instead of pause. * pies/limits.c: New file. * pies/progman.c (enum prog_status): New status: status_listener. (struct prog): Keep a pointer to the original struct component, instead of copying its fields (except for depend, which is copied anyway). All uses updated. (prog_lookup_by_socket, unlink_prog, register_prog0): New functions. (prog_start, progman_cleanup, progman_stop_component): Rewrite to take into account various component modes. (pies_check_acl): New function. (progman_accept): New function. * pies/pies.h (limits_record_t): New typedef. (enum pies_comp_mode): New constants. (struct component): New members: mode, limits, socket_url, pass_fd_socket, acl. (progman_accept): New proto. (pies_pause, register_listener, pass_fd, open_socket) (parse_limits, set_limits): New protos. * pies/Makefile.am (pies_SOURCES): Add limits.c and socket.c * pies/socket.c: New file. * configure.ac: Check for msg_control and msg_accrights in struct msghdr. * acinclude.m4 (IU_CHECK_MEMBER, IU_CHECK_MEMBERS): New macros (from inetutils).
2008-11-10Minor fixes.Sergey Poznyakoff1
* pies/progman.c (prog_start): Bugfix. * pmult/pmult.c (pmult_cfg_param): New configuration statement pmilter-debug. (main): Call sm_pmfi_setdbg.
2008-11-03Improvements.Sergey Poznyakoff1
* mflib/verp.mf (verp_extract_user): Pass email as the first argument. * doc/mailfromd.texi: Update. * doc/Makefile.am: Add pmult.texi * doc/pmult.texi: New file. * mfd/lex.l: %% and $$ in quoted strings are replaced by single % and $, correspondingly. * NEWS: Update.
2008-10-31Allow to configure which macros to pass to the filter.Sergey Poznyakoff2
* gnulib.modules: Add inttostr * smap/smap.c, pies/progman.c, pies/pies.h: Use umaxtostr, instead of mu_umaxtostr. * pmult/pmult.c (struct pmult_priv_data): New members: argc, argv. (macro_trans, meta_stage_trans, macrotab, macronames): New globals. (translate_macros0, translate_macros): New functions. (define_macros, define_macros_iter): New functions. (_cb_define, request_auth_macros): New functions. (pmult_cfg_param): New keyword `define-macro'. (pmult_free): Free argv. (pmult_negotiate): Use sm_pmfi_setmacs, if available. (pmult_connect, pmult_helo, pmult_mail, pmult_rcpt) (pmult_data, process_headers, pmult_eom): Use translate_macros. (main): Handle want_auth_macros. * configure.ac: Check for sm_pmfi_setmacs. This function should appear in meta1-1.0.PreAlpha28.0.

Return to:

Send suggestions and report system problems to the System administrator.