Age | Commit message (Collapse) | Author | Files |
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
|
|
* 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.
|
|
* 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.
|
|
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
|
|
* 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.
|
|
* 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
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
|
|
* 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__.
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
|
|
* 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.
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* pies/Makefile.am (LDADD): Add MF_PROCTITLE_LIBS
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
|
|
* 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.
|
|
|
|
* 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.
|
|
* 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.
|
|
|
|
* 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.
|
|
* 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.
|
|
* 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).
|
|
* pies/progman.c (prog_start): Bugfix.
* pmult/pmult.c (pmult_cfg_param): New configuration statement
pmilter-debug.
(main): Call sm_pmfi_setdbg.
|
|
* 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.
|
|
* 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.
|