aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS26
-rw-r--r--doc/Makefile.am6
-rw-r--r--doc/calloutd.texi247
-rw-r--r--doc/functions.texi92
-rw-r--r--doc/mailfromd.texi75
-rw-r--r--doc/upgrade.texi45
-rw-r--r--etc/Makefile.am2
-rw-r--r--lib/mfgetopt.c4
-rw-r--r--mflib/Makefile.am2
-rw-r--r--src/main.c175
-rw-r--r--tests/atlocal.in2
-rw-r--r--tests/shellmagic.at2
12 files changed, 584 insertions, 94 deletions
diff --git a/NEWS b/NEWS
index c96c0307..a875321b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
1Mailfromd NEWS -- history of user-visible changes. 2016-10-30 1Mailfromd NEWS -- history of user-visible changes. 2016-11-02
2Copyright (C) 2005-2016 Sergey Poznyakoff 2Copyright (C) 2005-2016 Sergey Poznyakoff
3See the end of file for copying conditions. 3See the end of file for copying conditions.
4 4
@@ -7,14 +7,23 @@ Please send Mailfromd bug reports to <bug-mailfromd@gnu.org.ua>
7 7
8Version 7.99.97, (Git) 8Version 7.99.97, (Git)
9 9
10This version is highly experimental and lacks documentation. 10This version is a major rewrite. Main changes:
11Use `git log' for a detailed description of changes.
12 11
13* Requires Mailutils 3.0 12* Requires Mailutils 3.0
14 13
15* New utility mfdbtool
16* New daemon calloutd 14* New daemon calloutd
17 15
16The calloutd utility is a stand-alone callout daemon. It allows you
17to run sender address verification from a separate server. See the
18section 'Milter and Callout servers' below, for a detailed explanation.
19
20* New utility mfdbtool
21
22In previous versions database management tasks were performed by
23mailfromd itself when it was called with appropriate options (--list,
24--delete, --expire). Now these options are gone, and all database
25management tasks are carried out by a stand alone utility mfdbtool.
26
18* Changes to mailfromd configuration 27* Changes to mailfromd configuration
19 28
20** enable-vrfy 29** enable-vrfy
@@ -65,7 +74,7 @@ must be invoked with some additional option passed to mailfromd (say
65--no-user-conf), it can now be written as: 74--no-user-conf), it can now be written as:
66 75
67 #!/bin/sh 76 #!/bin/sh
68 exec /usr/sbin/mailfromd --no-user-conf --run $0 $@ 77 exec /usr/sbin/mailfromd --no-config --run $0 $@
69 !# 78 !#
70 79
71 func main(...) 80 func main(...)
@@ -503,10 +512,9 @@ following sub-statement:
503When arg is `yes', this server is marked as the default callout server 512When arg is `yes', this server is marked as the default callout server
504for all milter servers declared in the configuration. 513for all milter servers declared in the configuration.
505 514
506Alternatively, you may use a remote callout server, i.e. a separate 515Alternatively, you may use a remote callout server run by a separate
507instance of mailfromd, dedicated for that purpose. In that case, 516daemon 'calloutd'. In that case, the URL of a callout server is
508the address of a callout server is declared using the `callout-url' 517declared using the `callout-url' statement:
509statement:
510 518
511 callout-url <url: string>; 519 callout-url <url: string>;
512 520
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 9a9b6116..d97a2141 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -47,7 +47,7 @@ check-options: check-mailfromd-options check-calloutd-options check-mfdbtool-opt
47 47
48check-mailfromd-options: 48check-mailfromd-options:
49 @$(CHECK_DOCS) "mailfromd options" \ 49 @$(CHECK_DOCS) "mailfromd options" \
50 '/argp_option options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg;/argp_option srv_options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \ 50 '/mu_option options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg;/mu_option srv_options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \
51 's/@opindex *\([^@,]*\), --.*mailfromd option.*/\1/p' \ 51 's/@opindex *\([^@,]*\), --.*mailfromd option.*/\1/p' \
52 $(top_srcdir)/src/main.c $(top_srcdir)/src/srvcfg.c -- \ 52 $(top_srcdir)/src/main.c $(top_srcdir)/src/srvcfg.c -- \
53 $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \ 53 $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \
@@ -55,7 +55,7 @@ check-mailfromd-options:
55 55
56check-calloutd-options: 56check-calloutd-options:
57 @$(CHECK_DOCS) "calloutd options" \ 57 @$(CHECK_DOCS) "calloutd options" \
58 '/argp_option options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg;/argp_option srv_options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \ 58 '/mu_option options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg;/mu_option srv_options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \
59 's/@opindex *\([^@,]*\), --.*calloutd option.*/\1/p' \ 59 's/@opindex *\([^@,]*\), --.*calloutd option.*/\1/p' \
60 $(top_srcdir)/src/calloutd.c $(top_srcdir)/src/srvcfg.c -- \ 60 $(top_srcdir)/src/calloutd.c $(top_srcdir)/src/srvcfg.c -- \
61 $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \ 61 $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \
@@ -63,7 +63,7 @@ check-calloutd-options:
63 63
64check-mfdbtool-options: 64check-mfdbtool-options:
65 @$(CHECK_DOCS) "mfdbtool options" \ 65 @$(CHECK_DOCS) "mfdbtool options" \
66 '/argp_option options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \ 66 '/mu_option options\[\] = /,/^}/s/[ \t]*{ *"\([^,"]*\)".*/\1/pg' \
67 's/@opindex *\([^@,]*\), --.*mfdbtool option.*/\1/p' \ 67 's/@opindex *\([^@,]*\), --.*mfdbtool option.*/\1/p' \
68 $(top_srcdir)/src/mfdbtool.c -- \ 68 $(top_srcdir)/src/mfdbtool.c -- \
69 $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \ 69 $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir) -E - \
diff --git a/doc/calloutd.texi b/doc/calloutd.texi
index 67597fe4..9e1c9ce2 100644
--- a/doc/calloutd.texi
+++ b/doc/calloutd.texi
@@ -5,9 +5,9 @@
5@pindex calloutd 5@pindex calloutd
6 Usually callout verification is performed by a special instance of 6 Usually callout verification is performed by a special instance of
7@command{mailfromd} (@pxref{callout server}). However, it is also 7@command{mailfromd} (@pxref{callout server}). However, it is also
8possible to set up callout server on a separate machine. You can 8possible to set up a dedicated callout server on a separate machine.
9choose to do so, for instance, in order to reduce the load on the 9You can choose to do so, for instance, in order to reduce the load on
10server running @command{mailfromd}. 10the server running @command{mailfromd}.
11 11
12 This stand-alone callout facility is provided by the 12 This stand-alone callout facility is provided by the
13@command{calloutd} daemon. 13@command{calloutd} daemon.
@@ -26,8 +26,249 @@ server running @command{mailfromd}.
26@section Calloutd Command-Line Options 26@section Calloutd Command-Line Options
27@WRITEME 27@WRITEME
28 28
29@subheading Server configuration modifiers
30@table @option
31@opsummary{foreground, calloutd}
32@item --foreground
33Stay in foreground. When given this option, @command{calloutd} will
34not disconnect itself from the controlling terminal and will run in
35the foreground.
36
37@opsummary{group, calloutd}
38@item -g @var{name}
39@itemx --group=@var{name}
40
41Retain the group @var{name} when switching to user
42privileges. @xref{Starting and Stopping}.
43
44@opsummary{pidfile, calloutd}
45@item --pidfile=@var{file}
46Set pidfile name. Overrides the @code{pidfile} configuration
47statement, which you are advised to use instead (@pxref{conf-base, pidfile}).
48
49@opsummary{source-ip, calloutd}
50@item -S @var{ip}
51@itemx --source-ip=@var{ip}
52Set source address for @acronym{TCP} connections. Overrides the
53@samp{source-ip} configuration statement, which you are advised to use
54instead (@pxref{conf-base, source-ip}).
55
56@opsummary{single-process, calloutd}
57@item --single-process
58Do not fork sub-processes to serve requests. This option is meant to
59assist in debugging @command{calloutd}. Don't use it for anything
60else but for debugging, as it terribly degrades performance!
61
62@opsummary{state-directory, calloutd}
63@item --state-directory=@var{dir}
64Set new program state directory. @xref{statedir, Local state directory}, for
65the description of this directory and its purposes.
66
67@opsummary{user, calloutd}
68@item -u @var{name}
69@itemx --user @var{name}
70Switch to this user's privileges after startup. Overrides the @code{user}
71configuration file statement, which you are advised to use instead
72(@pxref{conf-priv, user}). Default user is
73@samp{@value{DEFAULT_USER}}.
74@end table
75
76@subheading Logging and debugging options
77@table @option
78@opsummary{debug, calloutd}
79@item -d @var{string}
80@itemx --debug=@var{string}
81Set debugging level. @xref{Logging and Debugging}.
82
83@opsummary{log-facility, calloutd}
84@item --log-facility=@var{facility}
85Output logs to syslog @var{facility}.
86
87@opsummary{log-tag, calloutd}
88@item --log-tag=@var{string}
89Tag syslog entries with the given @var{string}, instead of the program name.
90
91@opsummary{logger, calloutd}
92@item --logger=@var{mech}
93Set logger mechanism (@var{mech} is one of @samp{stderr},
94@samp{syslog}, @samp{syslog:async}). @xref{Logging and Debugging}.
95
96@opsummary{syslog, calloutd}
97@item --syslog
98Selects default syslog mechanism for diagnostic output.
99
100@opsummary{stderr, calloutd}
101@item --stderr
102Directs all logging to standard output. Similar to @option{--logger=stderr}.
103
104@opsummary{source-ip, calloutd}
105@item -S @var{ip}
106@itemx --source-ip=@var{ip}
107Set source address for @acronym{TCP} connections. Overrides the
108@samp{source-ip} configuration statement, which you are advised to use
109instead (@pxref{conf-base, source-ip}).
110
111@opsummary{debug-level, calloutd}
112@item --debug-level=@var{level}
113Set Mailutils debugging level. See
114@uref{http://mailutils.org/wiki/Debug_level}, for a detailed
115discussion of @var{level} argument.
116
117@opsummary{source-info, calloutd}
118@item --source-info
119@itemx --no-source-info
120Include @sc{c} source information in debugging messages. This is
121similar to setting @code{line-info yes} in the @code{debug}
122configuration block (@FIXME-pxref{debug configuration}).
123
124The @option{--no-source-info} can be used to cancel the effect of the