changeset 317:ebe24524a3f7

Manual pages
author mmj
date Mon, 06 Sep 2004 07:31:20 +1000
parents 6c832431db78
children b8362a112b24
files ChangeLog Makefile.am man/mlmmj-bounce.1 man/mlmmj-maintd.1 man/mlmmj-make-ml.1 man/mlmmj-process.1 man/mlmmj-recieve.1 man/mlmmj-send.1 man/mlmmj-sub.1 man/mlmmj-unsub.1
diffstat 10 files changed, 356 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Sep 06 03:14:57 2004 +1000
+++ b/ChangeLog	Mon Sep 06 07:31:20 2004 +1000
@@ -1,3 +1,4 @@
+ o Add manual pages. Thanks Soeren Boll for the initial ones
  o Make random numbers lowercase hex since gmail is lowercasing the address
    it replies to.
  o Also make sanity check in mlmmj-maintd to ensure it's invoke either
--- a/Makefile.am	Mon Sep 06 03:14:57 2004 +1000
+++ b/Makefile.am	Mon Sep 06 07:31:20 2004 +1000
@@ -2,10 +2,14 @@
 
 AUTOMAKE_OPTIONS = foreign dist-bzip2
 EXTRA_DIST = include VERSION LICENSE UPGRADE listtexts src/log_error.c FAQ \
-	     TUNABLES README.access contrib
+	     TUNABLES README.access contrib man
 CLEANFILES = *~ mlmmj-*.tar.*
 
 dist-hook:
 	rm -rf `find $(distdir)/ -name CVS`
 
+man1_MANS = man/mlmmj-bounce.1 man/mlmmj-make-ml.1 man/mlmmj-recieve.1 \
+	    man/mlmmj-sub.1 man/mlmmj-maintd.1 man/mlmmj-process.1 \
+	    man/mlmmj-send.1 man/mlmmj-unsub.1
+
 SUBDIRS = src
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mlmmj-bounce.1	Mon Sep 06 07:31:20 2004 +1000
@@ -0,0 +1,40 @@
+.TH mlmmj-bounce "1" "September 2004" mlmmj-bounce
+.SH NAME
+mlmmj-bounce \- bounce handling utility for mlmmj
+.SH SYNOPSIS
+.B mlmmj-bounce
+\fI-L /path/to/list -a john=doe.org \fR[\fI-n num | -p\fR]
+.HP
+\fB\-a\fR: Address string that bounces
+.HP
+\fB\-h\fR: This help
+.HP
+\fB\-L\fR: Full path to list directory
+.HP
+\fB\-n\fR: Message number in the archive that bounced
+.HP
+\fB\-p\fR: Send out a probe
+.HP
+\fB\-V\fR: Print version
+.SH DESCRIPTION
+mlmmj-bounce is used to handle mails that are bouncing. When a mail arrives to
+the system, mlmmj-bounce will register in <listdir>/bounce/<addrstring> info
+about which number that bounced at what time. An example of such a line could
+be:
+.LP
+109:1094409801 # Sun Sep  5 20:43:21 2004
+
+The above shows that message number 109 bounced 1094409801 seconds after epoch
+which is in human date stamps is Sunday September 5th 20:43:21 2004.
+
+The last bounce mail recieved to the address is saved in <listdir>/bounce/<addrstring>.lastmsg.
+
+When the \fB\-p\fR option is used it sends out a probe email including info
+that it's a bounce probe and a list of the bounced message numbers. The
+existance of a <listdir>/bounce/<addrstring>.probe file indicates that a probe have been sent out.
+.SH AUTHORS
+This manual page was written by the following persons:
+.HP
+Søren Boll Overgaard <boll@debian.org> (based on html2man output)
+.HP
+Mads Martin Jørgensen <mmj@mmj.dk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mlmmj-maintd.1	Mon Sep 06 07:31:20 2004 +1000
@@ -0,0 +1,35 @@
+.TH mlmmj-maintd "1" "September 2004" mlmmj-maintd
+.SH NAME
+mlmmj-maintd \- maintenance for mlmmj maintained lists
+.SH SYNOPSIS
+.B mlmmj-maintd
+\fI-L /path/to/listdir \fR[\fI-F\fR]
+.HP
+\fB\-L\fR: Full path to list directory
+.HP
+\fB\-F\fR: Don't fork, performing one maintenance run only.
+.SH DESCRIPTION
+This is the program doing the maintenance for an mlmmj based mailing list. It
+will unsubscribe people who have bounced for long enough, send out bounce
+probes, resend mails that couldn't be delivered to relayhost, clean out stale
+requests for e.g. subscription, resend list mails and clean up leftover files
+etc.
+
+It will run as a daemon, unless the \fB\-F\fR switch is specified, in which
+case it just runs once.  The \fB\-F\fR  option should be used when one wants to
+avoid running another daemon, and use e.g. cron to control it instead. In case
+cron is used, mlmmj-maintd should be run every 2 hours or so. An example
+crontab entry:
+
+.LP
+0 */2 * * * /usr/bin/mlmmj-maintd -F -L /path/to/list
+.SH BUGS
+It's not yet possible to tell mlmmj-maintd to perform maintenance on all
+lists (directories) in a directory yet. It's a high priority TODO item, so
+expect it soonish.
+.SH AUTHORS
+This manual page was written by the following persons:
+.HP
+Søren Boll Overgaard <boll@debian.org> (based on html2man output)
+.HP
+Mads Martin Jørgensen <mmj@mmj.dk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mlmmj-make-ml.1	Mon Sep 06 07:31:20 2004 +1000
@@ -0,0 +1,27 @@
+.TH mlmmj-make-ml "1" "September 2004" mlmmj-make-ml
+.SH NAME
+mlmmj-make-ml \- create a mailing list for mlmmj
+.SH SYNOPSIS
+.B mlmmj-make-ml
+\fI[OPTIONS]
+.HP
+\fB\-h\fR: Display help
+.HP
+\fB\-L\fR: The name of the mailing list
+.HP
+\fB\-s\fR: The spool directory, if different from /var/spool/mlmmj
+.HP
+\fB\-a\fR: Create the needed entries in /etc/aliases
+.HP
+\fB\-z\fR: Do nothing for now.
+.SH DESCRIPTION
+This is an interactive script which creates the mailing list directory and thus
+the list itself for being run by mlmmj.
+.SH BUGS
+It's not possible to create a mailinglist entirely on the command line.
+.SH AUTHORS
+This manual page was written by the following persons:
+.HP
+Søren Boll Overgaard <boll@debian.org> (based on html2man output)
+.HP
+Mads Martin Jørgensen <mmj@mmj.dk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mlmmj-process.1	Mon Sep 06 07:31:20 2004 +1000
@@ -0,0 +1,66 @@
+.TH mlmmj-process "1" "September 2004" mlmmj-process
+.SH NAME
+mlmmj-process \- process mail for an mlmmj managed mailinglist
+.SH SYNOPSIS
+.B mlmmj-process
+\fI-L /path/to/list -m /path/to/mail \fR[\fI-h\fR] [\fI-P\fR] [\fI-V\fR]
+.HP
+\fB\-h\fR: This help
+.HP
+\fB\-L\fR: Full path to list directory
+.HP
+\fB\-m\fR: Full path to mail file
+.HP
+\fB\-P\fR: Don't execute mlmmj-send (debugging only)
+.HP
+\fB\-V\fR: Print version
+.SH DESCRIPTION
+This is the binary which processes a mail. Examples of what such processing
+is:
+.RS 0
+.IP \(bu 4
+.B
+Access control
+
+Using the access rules specified in <listdir>/control/access to perform access
+control to the list. This is done before headers are stripped, so one can
+create allow rules based on headers that are later stripped.
+.IP \(bu 4
+.B
+Header stripping
+
+Headers specified in <listdir>/control/delheaders are deleted from the mail.
+.IP \(bu 4
+.B
+Header addition
+
+Headers specified in <listdir>/control/customheaders are added to the mail.
+This could be headers like List-ID: or Reply-To:
+.IP \(bu 4
+.B
+List control
+
+In case there's a mail with a recipient delimiter it's not a regular list mail.
+Processing of these happens in mlmmj-recieve as well. Examples of such are
+subscription requests, mails to owner etc.
+It will base it's recipient delimiter detection on the Delivered-To: header if
+present. If not, the To: header is used.
+.IP \(bu 4
+.B
+Moderation
+
+If the list is moderated, it will happen in mlmmj-process.
+.RE
+
+When processing is done, it will invoke the needed binary according to whatever
+mail it is. If it's a subscription request it will invoke mlmmj-sub, if it's a
+regular list mail it will invoke mlmmj-send.
+.SH "SEE ALSO"
+The file TUNABLES from the mlmmj source distribution or in the documentation
+directory of the operating system distribution.
+.SH AUTHORS
+This manual page was written by the following persons:
+.HP
+Søren Boll Overgaard <boll@debian.org> (based on html2man output)
+.HP
+Mads Martin Jørgensen <mmj@mmj.dk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mlmmj-recieve.1	Mon Sep 06 07:31:20 2004 +1000
@@ -0,0 +1,41 @@
+.TH mlmmj-recieve "1" "September 2004" mlmmj-recieve
+.SH NAME
+mlmmj-recieve \- recieve mails for an mlmmj managed mailinglist
+.SH SYNOPSIS
+.B mlmmj-recieve
+\fI-L /path/to/listdir \fR[\fI-h\fR] [\fI-V\fR] [\fI-P\fR] [\fI-F\fR]
+.HP
+\fB\-h\fR: This help
+.HP
+\fB\-F\fR: Don't fork in the background (debugging only)
+.HP
+\fB\-L\fR: Full path to list directory
+.HP
+\fB\-P\fR: Don't execute mlmmj-process (debugging only)
+.HP
+\fB\-V\fR: Print version
+.SH DESCRIPTION
+The mlmmj-recieve binary is the one specified in the mailserver configuration
+file (aliases file), which writes the mail to the <listdir>/incoming directory
+and invokes mlmmj-process unless the \fB\-P\fR option is specified. On systems
+using mailservers supporting the \fB/etc/aliases\fR file, a line to activate
+an mlmmj managed mailinglist would look like this:
+.LP
+list: "|/usr/bin/mlmmj-recieve -L /var/spool/mlmmj/list/"
+
+It's very important to specify the full path to the binary, or the mailinglist
+will not function.
+
+When the \fB\-F\fR option is used, it will not fork in the background. The
+reason it forks is that if delivery of a mail takes longer time than the mail
+server will allow a command to be idle before presumed dead, the mail server
+would kill it.
+
+.SH "SEE ALSO"
+mlmmj-process(1)
+.SH AUTHORS
+This manual page was written by the following persons:
+.HP
+Søren Boll Overgaard <boll@debian.org> (based on html2man output)
+.HP
+Mads Martin Jørgensen <mmj@mmj.dk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mlmmj-send.1	Mon Sep 06 07:31:20 2004 +1000
@@ -0,0 +1,67 @@
+.TH mlmmj-send "1" "September 2004" mlmmj-send
+.SH NAME
+mlmmj-send \- send mail to a mailinglist or similar
+.SH SYNOPSIS
+.B mlmmj-send
+[\fI-L\fR /path/to/list | \fI-l\fR listctrl] \fI\-m\fR /path/to/mail
+[\fI-a\fR] [\fI-D\fR] [\fI-F\fR] [\fI-h\fR] [\fI-r\fR] [\fI-R\fR] [\fI-s\fR]
+[\fI-T\fR] [\fI-V\fR]
+.HP
+\fB\-a\fR: Don't archive the mail
+.HP
+\fB\-D\fR: Don't delete the mail after it's sent
+.HP
+\fB\-F\fR: What to use as MAIL FROM:
+.HP
+\fB\-h\fR: This help
+.HP
+\fB\-l\fR: List control variable.
+.HP
+\fB\-L\fR: Full path to list directory
+.HP
+\fB\-m\fR: Full path to mail file
+.HP
+\fB\-r\fR: Relayhost IP address (defaults to 127.0.0.1)
+.HP
+\fB\-R\fR: What to use as Reply-To: header
+.HP
+\fB\-s\fR: Subscribers file name
+.HP
+\fB\-T\fR: What to use as RCPT TO:
+.HP
+\fB\-V\fR: Print version
+.SH DESCRIPTION
+This binary is used to send all kinds of mail to mlmmj managed mailinglists,
+but can potentially be used standalone for sending mails.
+
+The only option that is not self explanatory is the \fB\-l\fR list control
+option:
+.IP
+\&'1' means 'send a single mail'
+
+This is used together with \fB\-F\fR and \fB\-T\fR to send one mail to one
+recipient.
+
+\&'2' means 'mail to moderators'
+
+Used for sending mails to the moderators of a list.
+
+\&'3' means 'resend failed list mail'
+
+\&'4' means 'send to file with recipients'
+
+\&'5' means 'bounceprobe'
+
+\&'6' means 'single listmail to single recipient'
+
+.SH BUGS
+This manual page is very scarce documentation of the mlmmj-send binary. The
+reason for this is that it's really not supposed to be used by any human, but
+only supposed to be invoked from other mlmmj binaries. So in case more
+documentation is needed, please read the source.
+.SH AUTHORS
+This manual page was written by the following persons:
+.HP
+Søren Boll Overgaard <boll@debian.org> (based on html2man output)
+.HP
+Mads Martin Jørgensen <mmj@mmj.dk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mlmmj-sub.1	Mon Sep 06 07:31:20 2004 +1000
@@ -0,0 +1,40 @@
+.TH mlmmj-sub "1" "September 2004" mlmmj-sub
+.SH NAME
+mlmmj-sub \- subscribe address to a mailinglist run by mlmmj
+.SH SYNOPSIS
+.B mlmmj-sub
+\fI-L /path/to/list -a john@doe.org \fR[\fI-c\fR | \fI-C\fR] [\fI-h\fR]
+[\fI-U\fR] [\fI-V\fR]
+.HP
+\fB\-a\fR: Email address to subscribe
+.HP
+\fB\-c\fR: Send welcome mail
+.HP
+\fB\-C\fR: Request mail confirmation
+.HP
+\fB\-h\fR: This help
+.HP
+\fB\-L\fR: Full path to list directory
+.HP
+\fB\-U\fR: Don't switch to the user id of the listdir owner
+.HP
+\fB\-V\fR: Print version
+.SH DESCRIPTION
+This utility is used to subscribe people to the specified mailinglist. It will
+write the email address in a file with the name of the beginning letter of the
+email address getting subscribed in the <listdir>/subscribers.d/ directory.
+
+Unless the \fB\-U\fR switch is used it will switch its user id to the user id
+owning the list directory. This is done to make sure that new files created are
+having correct permissions.
+
+When neither \fB\-c\fR nor \fB\-C\fR are specified, subscription silently
+happens.
+.SH "SEE ALSO"
+mlmmj-unsub(1), setuid(2)
+.SH AUTHORS
+This manual page was written by the following persons:
+.HP
+Søren Boll Overgaard <boll@debian.org> (based on html2man output)
+.HP
+Mads Martin Jørgensen <mmj@mmj.dk>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/man/mlmmj-unsub.1	Mon Sep 06 07:31:20 2004 +1000
@@ -0,0 +1,34 @@
+.TH mlmmj-unsub "1" "September 2004" mlmmj-unsub
+.SH NAME
+mlmmj-unsub \- manual page for mlmmj-unsub
+.SH SYNOPSIS
+.B mlmmj-sub
+\fI-L /path/to/list -a john@doe.org \fR[\fI-c\fR | \fI-C\fR] [\fI-h\fR]
+[\fI-V\fR]
+.HP
+\fB\-a\fR: Email address to unsubscribe
+.HP
+\fB\-c\fR: Send goodbye mail
+.HP
+\fB\-C\fR: Request mail confirmation
+.HP
+\fB\-h\fR: This help
+.HP
+\fB\-L\fR: Full path to list directory
+.HP
+\fB\-V\fR: Print version
+.SH DESCRIPTION
+This utility is used to unsubscribe people from the specified mailinglist. It
+will remove the specified email address from every file in the
+<listdir>/subscribers.d/ directory.
+
+When neither \fB\-c\fR nor \fB\-C\fR are specified, unsubscription silently
+happens.
+.SH "SEE ALSO"
+mlmmj-sub(1)
+.SH AUTHORS
+This manual page was written by the following persons:
+.HP
+Søren Boll Overgaard <boll@debian.org> (based on html2man output)
+.HP
+Mads Martin Jørgensen <mmj@mmj.dk>