[Pkg-mailman-hackers] Pkg-mailman commit - rev 328 - in trunk/debian: . patches

Paul Wise pabs-guest at costa.debian.org
Tue Aug 15 12:24:13 UTC 2006


Author: pabs-guest
Date: 2006-08-15 12:23:03 +0000 (Tue, 15 Aug 2006)
New Revision: 328

Added:
   trunk/debian/patches/00_stolen_from_HEAD.patch
   trunk/debian/patches/01_defaults.debian.patch
   trunk/debian/patches/03_documentation_source.patch
   trunk/debian/patches/07_snooze.patch
   trunk/debian/patches/10_wrapper_uid.patch
   trunk/debian/patches/11_handle_propfind.patch
   trunk/debian/patches/12_savannah_wrapper.patch
   trunk/debian/patches/15_mailmanctl_daemonize.patch
   trunk/debian/patches/16_update_debian.patch
   trunk/debian/patches/20_qmail_to_mailman.debian.patch
   trunk/debian/patches/21_newlist_help.patch
   trunk/debian/patches/30_pipermail_threads.patch
   trunk/debian/patches/32_MIME_fixup.patch
   trunk/debian/patches/51_nocompile.pyc.patch
   trunk/debian/patches/52_check_perms_lstat.patch
   trunk/debian/patches/53_disable_addons.patch
   trunk/debian/patches/56_fix_de_broken_links.patch
   trunk/debian/patches/58_fix_translations.patch
   trunk/debian/patches/59_fix_missing_language_crash.patch
   trunk/debian/patches/61_fix_ru_siteowner.patch
   trunk/debian/patches/62_new_list_bad_pending_requests.patch
   trunk/debian/patches/63_update_default_server_language.patch
   trunk/debian/patches/64_correct_html_nesting.patch
   trunk/debian/patches/65_handle_templates_directories.patch
   trunk/debian/patches/66_donot_let_cache_html_pages.patch
   trunk/debian/patches/67_update_handle_old_versions.patch
   trunk/debian/patches/68_translation_update_nl.patch
   trunk/debian/patches/70_invalid_utf8_dos.patch
   trunk/debian/patches/71_date_overflows.patch
   trunk/debian/patches/73_list-id_strict_rfc.patch
   trunk/debian/patches/74_admin_non-ascii_emails.patch
   trunk/debian/patches/77_header_folding_in_attachments.patch
   trunk/debian/patches/78_DeprecationWarning.patch
   trunk/debian/patches/79_archiver_slash.patch
   trunk/debian/patches/80_fix_string_search.patch
   trunk/debian/patches/99_js_templates.patch
   trunk/debian/patches/series
Removed:
   trunk/debian/patches/00_stolen_from_HEAD.dpatch
   trunk/debian/patches/00list
   trunk/debian/patches/01_defaults.debian.dpatch
   trunk/debian/patches/03_documentation_source.dpatch
   trunk/debian/patches/07_snooze.dpatch
   trunk/debian/patches/10_wrapper_uid.dpatch
   trunk/debian/patches/11_handle_propfind.dpatch
   trunk/debian/patches/12_savannah_wrapper.dpatch
   trunk/debian/patches/15_mailmanctl_daemonize.dpatch
   trunk/debian/patches/16_update_debian.dpatch
   trunk/debian/patches/20_qmail_to_mailman.debian.dpatch
   trunk/debian/patches/21_newlist_help.dpatch
   trunk/debian/patches/30_pipermail_threads.dpatch
   trunk/debian/patches/32_MIME_fixup.dpatch
   trunk/debian/patches/51_nocompile.pyc.dpatch
   trunk/debian/patches/52_check_perms_lstat.dpatch
   trunk/debian/patches/53_disable_addons.dpatch
   trunk/debian/patches/56_fix_de_broken_links.dpatch
   trunk/debian/patches/58_fix_translations.dpatch
   trunk/debian/patches/59_fix_missing_language_crash.dpatch
   trunk/debian/patches/61_fix_ru_siteowner.dpatch
   trunk/debian/patches/62_new_list_bad_pending_requests.dpatch
   trunk/debian/patches/63_update_default_server_language.dpatch
   trunk/debian/patches/64_correct_html_nesting.dpatch
   trunk/debian/patches/65_handle_templates_directories.dpatch
   trunk/debian/patches/66_donot_let_cache_html_pages.dpatch
   trunk/debian/patches/67_update_handle_old_versions.dpatch
   trunk/debian/patches/68_translation_update_nl.dpatch
   trunk/debian/patches/70_invalid_utf8_dos.dpatch
   trunk/debian/patches/71_date_overflows.dpatch
   trunk/debian/patches/73_list-id_strict_rfc.dpatch
   trunk/debian/patches/74_admin_non-ascii_emails.dpatch
   trunk/debian/patches/77_header_folding_in_attachments.dpatch
   trunk/debian/patches/78_DeprecationWarning.dpatch
   trunk/debian/patches/79_archiver_slash.dpatch
   trunk/debian/patches/80_fix_string_search.dpatch
   trunk/debian/patches/99_js_templates.dpatch
Modified:
   trunk/debian/changelog
   trunk/debian/control
   trunk/debian/rules
Log:
* Switch from dpatch to quilt and regenerate all patches

Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/changelog	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,5 +1,9 @@
 mailman (1:2.1.8-3) UNRELEASED; urgency=low
 
+  [ Paul Wise ]
+  * Switch from dpatch to quilt and regenerate all patches
+
+  [ Thijs Kinkhorst ]
   * Use LSB output functions in init script.
 
  -- Thijs Kinkhorst <thijs at debian.org>  Tue, 15 Aug 2006 13:49:48 +0200

Modified: trunk/debian/control
===================================================================
--- trunk/debian/control	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/control	2006-08-15 12:23:03 UTC (rev 328)
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Mailman for Debian <pkg-mailman-hackers at lists.alioth.debian.org>
 Uploaders: Tollef Fog Heen <tfheen at debian.org>, Lionel Elie Mamane <lmamane at debian.org>, Thijs Kinkhorst <thijs at debian.org>, Hector Garcia Alvarez <hector at debian.org>
-Build-Depends: debhelper (>= 5), autoconf, python-dev, dpatch (>= 2.0.9)
+Build-Depends: debhelper (>= 5), autoconf, python-dev, quilt (>= 0.40)
 Standards-Version: 3.7.2
 
 Package: mailman

Deleted: trunk/debian/patches/00_stolen_from_HEAD.dpatch
===================================================================
--- trunk/debian/patches/00_stolen_from_HEAD.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/00_stolen_from_HEAD.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,35 +0,0 @@
-#! /bin/sh -e
-## 00_stolen_from_HEAD.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Handle empty queue files.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/Mailman/Handlers/Scrubber.py
-+++ mailman-2.1.4/Mailman/Handlers/Scrubber.py
-@@ -316,6 +316,8 @@
-                     t = u.encode('ascii', 'replace')
-                 try:
-                     # Should use HTML-Escape, or try generalizing to UTF-8
-+                    if len(charset) == 0:
-+                        charset = 'us-ascii'
-                     t = t.encode(charset, 'replace')
-                 except (UnicodeError, LookupError, ValueError):
-                     t = t.encode(lcset, 'replace')

Copied: trunk/debian/patches/00_stolen_from_HEAD.patch (from rev 326, trunk/debian/patches/00_stolen_from_HEAD.dpatch)
===================================================================
--- trunk/debian/patches/00_stolen_from_HEAD.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/00_stolen_from_HEAD.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: 00_stolen_from_HEAD.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Handle empty queue files.
+Index: Mailman/Handlers/Scrubber.py
+===================================================================
+--- Mailman/Handlers/Scrubber.py.orig	2006-08-15 15:12:19.000000000 +0800
++++ Mailman/Handlers/Scrubber.py	2006-08-15 15:14:15.000000000 +0800
+@@ -370,6 +370,8 @@
+                     t = u.encode('ascii', 'replace')
+                 try:
+                     # Should use HTML-Escape, or try generalizing to UTF-8
++                    if len(charset) == 0:
++                        charset = 'us-ascii'
+                     t = t.encode(charset, 'replace')
+                 except (UnicodeError, LookupError, ValueError):
+                     t = t.encode(lcset, 'replace')

Deleted: trunk/debian/patches/00list
===================================================================
--- trunk/debian/patches/00list	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/00list	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,35 +0,0 @@
-00_stolen_from_HEAD
-01_defaults.debian
-03_documentation_source
-07_snooze
-10_wrapper_uid
-11_handle_propfind
-12_savannah_wrapper
-15_mailmanctl_daemonize
-16_update_debian
-20_qmail_to_mailman.debian
-21_newlist_help
-30_pipermail_threads
-32_MIME_fixup
-51_nocompile.pyc
-52_check_perms_lstat
-53_disable_addons
-56_fix_de_broken_links
-58_fix_translations
-59_fix_missing_language_crash
-61_fix_ru_siteowner
-62_new_list_bad_pending_requests
-63_update_default_server_language
-64_correct_html_nesting
-65_handle_templates_directories
-66_donot_let_cache_html_pages
-67_update_handle_old_versions
-68_translation_update_nl
-70_invalid_utf8_dos.dpatch
-71_date_overflows.dpatch
-74_admin_non-ascii_emails.dpatch
-77_header_folding_in_attachments
-78_DeprecationWarning
-79_archiver_slash
-80_fix_string_search
-99_js_templates

Deleted: trunk/debian/patches/01_defaults.debian.dpatch
===================================================================
--- trunk/debian/patches/01_defaults.debian.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/01_defaults.debian.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,54 +0,0 @@
-#! /bin/sh -e
-## 01_defaults.debian.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Set sane defaults in Defaults.py.in
-## DP: 
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/Mailman/Defaults.py.in
-+++ mailman-2.1.4/Mailman/Defaults.py.in
-@@ -54,7 +54,7 @@
- # disable Mailman's logo footer altogther, hack
- # Mailman/htmlformat.py:MailmanLogo(), which also contains the hardcoded links
- # and image names.
--IMAGE_LOGOS = '/icons/'
-+IMAGE_LOGOS = '/doc/mailman/images/'
- 
- # The name of the Mailman favicon
- SHORTCUT_ICON = 'mm-icon.png'
-@@ -85,7 +85,7 @@
- # because otherwise the default mappings won't be correct.
- DEFAULT_EMAIL_HOST = '@MAILHOST@'
- DEFAULT_URL_HOST = '@URLHOST@'
--DEFAULT_URL_PATTERN = 'http://%s/mailman/'
-+DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman/'
- 
- # DEFAULT_HOST_NAME has been replaced with DEFAULT_EMAIL_HOST, however some
- # sites may have the former in their mm_cfg.py files.  If so, we'll believe
-@@ -1247,7 +1247,7 @@
- MAILDIR_DIR     = os.path.join(QUEUE_DIR, 'maildir')
- 
- # Other useful files
--PIDFILE = os.path.join(DATA_DIR, 'master-qrunner.pid')
-+PIDFILE = "/var/run/mailman/mailman.pid"
- SITE_PW_FILE = os.path.join(DATA_DIR, 'adm.pw')
- LISTCREATOR_PW_FILE = os.path.join(DATA_DIR, 'creator.pw')
- 

Copied: trunk/debian/patches/01_defaults.debian.patch (from rev 326, trunk/debian/patches/01_defaults.debian.dpatch)
===================================================================
--- trunk/debian/patches/01_defaults.debian.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/01_defaults.debian.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,34 @@
+Patch: 01_defaults.debian.dpatch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Set sane defaults in Defaults.py.in
+Index: Mailman/Defaults.py.in
+===================================================================
+--- Mailman/Defaults.py.in.orig	2006-08-15 15:12:19.000000000 +0800
++++ Mailman/Defaults.py.in	2006-08-15 15:14:18.000000000 +0800
+@@ -54,7 +54,7 @@
+ # disable Mailman's logo footer altogther, hack
+ # Mailman/htmlformat.py:MailmanLogo(), which also contains the hardcoded links
+ # and image names.
+-IMAGE_LOGOS = '/icons/'
++IMAGE_LOGOS = '/doc/mailman/images/'
+ 
+ # The name of the Mailman favicon
+ SHORTCUT_ICON = 'mm-icon.png'
+@@ -85,7 +85,7 @@
+ # because otherwise the default mappings won't be correct.
+ DEFAULT_EMAIL_HOST = '@MAILHOST@'
+ DEFAULT_URL_HOST = '@URLHOST@'
+-DEFAULT_URL_PATTERN = 'http://%s/mailman/'
++DEFAULT_URL_PATTERN = 'http://%s/cgi-bin/mailman/'
+ 
+ # DEFAULT_HOST_NAME has been replaced with DEFAULT_EMAIL_HOST, however some
+ # sites may have the former in their mm_cfg.py files.  If so, we'll believe
+@@ -1300,7 +1300,7 @@
+ MAILDIR_DIR     = os.path.join(QUEUE_DIR, 'maildir')
+ 
+ # Other useful files
+-PIDFILE = os.path.join(DATA_DIR, 'master-qrunner.pid')
++PIDFILE = "/var/run/mailman/mailman.pid"
+ SITE_PW_FILE = os.path.join(DATA_DIR, 'adm.pw')
+ LISTCREATOR_PW_FILE = os.path.join(DATA_DIR, 'creator.pw')
+ 

Deleted: trunk/debian/patches/03_documentation_source.dpatch
===================================================================
--- trunk/debian/patches/03_documentation_source.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/03_documentation_source.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,7108 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 03_documentation_source.dpatch by  <lionel at mamane.lu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Sources of documentation from upstream CVS
-
- at DPATCH@
-diff -urNad mailman-2.1.8rc1~/doc/mailman-admin.tex mailman-2.1.8rc1/doc/mailman-admin.tex
---- mailman-2.1.8rc1~/doc/mailman-admin.tex	1970-01-01 01:00:00.000000000 +0100
-+++ mailman-2.1.8rc1/doc/mailman-admin.tex	2006-04-11 22:32:46.837866286 +0200
-@@ -0,0 +1,1402 @@
-+\documentclass{howto}
-+
-+\title{GNU Mailman - List Administration Manual}
-+
-+% Increment the release number whenever significant changes are made.
-+% The author and/or editor can define 'significant' however they like.
-+\release{1.0}
-+
-+% At minimum, give your name and an email address.  You can include a
-+% snail-mail address if you like.
-+\author{Barry A. Warsaw}
-+%\authoraddress{barry at zope.com}
-+
-+\date{\today}			% XXX update before tagging release!
-+\release{2.1}			% software release, not documentation
-+\setreleaseinfo{}		% empty for final release
-+\setshortversion{2.1}		% major.minor only for software
-+
-+\begin{document}
-+\maketitle
-+
-+% This makes the Abstract go on a separate page in the HTML version;
-+% if a copyright notice is used, it should go immediately after this.
-+%
-+\ifhtml
-+\chapter*{Front Matter\label{front}}
-+\fi
-+
-+% Copyright statement should go here, if needed.
-+% ...
-+
-+% The abstract should be a paragraph or two long, and describe the
-+% scope of the document.
-+\begin{abstract}
-+\noindent
-+This document describes the list administrator's interface for GNU
-+Mailman 2.1.  It contains information a list owner would need to
-+configure their list, either through the web interface or through
-+email.  It also covers the moderator's interface for approving held
-+messages and subscription notices, and the web interface for creating
-+new mailing lists.  In general, it does not cover the command line
-+interface to Mailman, installing Mailman, or interacting with Mailman
-+from the point of view of the user.  That information is covered in
-+other manuals.
-+\end{abstract}
-+
-+\tableofcontents
-+
-+\section{Introduction to GNU Mailman}
-+
-+GNU Mailman is software that lets you manage electronic mailing lists.
-+It supports a wide range of mailing list types, such as general
-+discussion lists and announce-only lists.  Mailman has extensive
-+features for controlling the privacy of your lists, distributing your
-+list as personalized postings or digests, gatewaying postings to and
-+from Usenet, and providing automatic bounce detection.  Mailman
-+provides a built-in archiver, multiple natural languages, as well as
-+advanced content and topic filtering.
-+
-+Mailman provides several interfaces to its functionality.  Most list
-+administrators will primarily use the web interface to customize their
-+lists.  There is also a limited email command interface to the
-+administrative functions, as well as a command line interface if you
-+have shell access on the Mailman server.  This document does not cover
-+the command line interface; see the GNU Mailman site administrator's
-+manual for more details.
-+
-+\subsection{A List's Email Addresses}
-+
-+Every mailing list has a set of email addresses that messages can be
-+sent to.  There's always one address for posting messages to the list,
-+one address that bounces will be sent to, and addresses for processing
-+email commands.  For example, for a mailing list called
-+\var{mylist at example.com}, you'd find these addresses:
-+
-+\begin{itemize}
-+\item mylist at example.com -- this is the email address people should
-+      use for new postings to the list.
-+
-+\item mylist-join at example.com -- by sending a message to this address,
-+      a new member can request subscription to the list.  Both the
-+      \mailheader{Subject} header and body of such a message are
-+      ignored.  Note that mylist-subscribe at example.com is an alias for
-+      the -join address.
-+
-+\item mylist-leave at example.com -- by sending a message to this address,
-+      a member can request unsubscription from the list.  As with the
-+      -join address, the \mailheader{Subject} header and body of the
-+      message is ignored.  Note that mylist-unsubscribe at example.com is
-+      an alias for the -leave address.
-+
-+\item mylist-owner at example.com -- This address reaches the list owner
-+      and list moderators directly.
-+
-+\item mylist-request at example.com -- This address reaches a mail robot
-+      which processes email commands that can be used to set member
-+      subscription options, as well as process other commands.
-+
-+\item mylist-bounces at example.com -- This address receives bounces from
-+      members who's addresses have become either temporarily or
-+      permanently inactive.  The -bounces address is also a mail robot
-+      that processes bounces and automatically disables or removes
-+      members as configured in the bounce processing settings.  Any
-+      bounce messages that are either unrecognized, or do not seem to
-+      contain member addresses, are forwarded to the list
-+      administrators.
-+
-+\item mylist-confirm at example.com -- This address is another email
-+      robot, which processes confirmation messages for subscription
-+      and unsubscription requests.
-+\end{itemize}
-+
-+There's also an -admin address which also reaches the list
-+administrators, but this address only exists for compatibility with
-+older versions of Mailman.
-+
-+\subsection{Administrative Roles}
-+
-+There are two primary administrative roles for each mailing list, a
-+list owner and a list moderator.  A list owner is allowed to change
-+various settings of the list, such as the privacy and archiving
-+policies, the content filtering settings, etc.  The list owner is also
-+allowed to subscribe or invite members, unsubscribe members, and
-+change any member's subscription options.
-+
-+The list moderator on the other hand, is only allowed to approve or
-+reject postings and subscription requests.  The list moderator can
-+also do things like clear a member's moderation flag, or add an
-+address to a list of approved non-member posters.
-+
-+Normally, the list owner and list moderator are the same person.  In
-+fact, the list owner can always do all the tasks a list moderator can
-+do.  Access to both the owner's configuration pages, and the
-+moderation pages are protected by the same password.  However, if the
-+list owner wants to delegate posting and subscription approval
-+authority to other people, a separate list moderator password can be
-+set, giving moderators access to the approval pages, but not the
-+configuration pages.  In this setup, list owners can still moderate
-+the list, of course.
-+
-+In the sections that follow, we'll often use the terms list owner and
-+list administrator interchangably, meaning both roles.  When
-+necessary, we'll distinguish the list moderator explicitly.
-+
-+\subsection{A List's Web Pages}
-+
-+Every mailing list is also accessible by a number of web pages.  Note
-+that the exact urls is configurable by the site administrator, so they
-+may be different than what's described below.  We'll describe the most
-+common default configuration, but check with your site administrator
-+or hosting service for details.
-+
-+Mailman provides a set of web pages that list members use to get
-+information about the list, or manage their membership options.  There
-+are also list archive pages, for browsing an online web-based archive
-+of the list traffic.  These are described in more detail in the GNU
-+Mailman user's manual.
-+
-+Mailman also provides a set of pages for configuring an individual
-+list, as well as a set of pages for disposing of posting and
-+subscription requests.
-+
-+For a mailing list called \var{mylist} hosted at the domain
-+\var{lists.example.com}, you would typically access the administrative
-+pages by going to \code{http://lists.example.com/mailman/admin/mylist}.
-+The first time you visit this page, you will be presented with a login
-+page, asking for the list owner's password.  When you enter the
-+password, Mailman will store a session cookie in your browser, so you
-+don't have to re-authenticate for every action you want to take.  This
-+cookie is stored only until you exit your browser.
-+
-+To access the administrative requests page, you'd visit
-+\code{http://lists.example.com/mailman/admindb/mylist} (note the
-+\emph{admindb} url as opposed to the \emph{admin} url).  Again, the
-+first time you visit this page, you'll be presented with a login page,
-+on which you can enter either the list moderator password or the list
-+owner password.  Again, a session cookie is dropped in your browser.
-+Note also that if you've previously logged in as the list owner, you
-+do not need to re-login to access the administrative requests page.
-+
-+\subsection{Basic Architectural Overview}
-+
-+This section will outline the basic architecture of GNU Mailman, such
-+as how messages are processed by the sytem.  Without going into lots
-+of detail, this information will help you understand how the
-+configuration options control Mailman's functionality.
-+
-+When mail enters the system from your mail server, it is dropped into
-+one of several Mailman \emph{queues} depending on the address the
-+message was sent to.  For example, if your system has a mailing list
-+named \var{mylist} and your domain is \var{example.com}, people can
-+post messages to your list by sending them to
-+\var{mylist at example.com}.  These messages will be dropped into the
-+\emph{incoming} queue, which is also colloquially called the
-+\emph{moderate-and-munge} queue.  The incoming queue is where most of
-+the approval process occurs, and it's also where the message is
-+prepared for sending out to the list membership.
-+
-+There are separate queues for the built-in archiver, the bounce
-+processor, the email command processor, as well as the outgoing email
-+and news queues.  There's also a queue for messages generated by the
-+Mailman system.  Each of these queues typically has one \emph{queue
-+runner} (or ``qrunner'') that processes messages in the queue.  The
-+qrunners are idle when there are no messages to process.
-+
-+Every message in the queues are represented by two files, a message
-+file and a metadata file.  Both of these files share the same base
-+name, which is a combination of a unique hash and the Unix time that
-+the message was received.  The metadata file has a suffix of
-+\file{.db} and the message file has a suffix of either \file{.msg} if
-+stored in plain text, or \file{.pck} if stored in a more efficient
-+internal representation\footnote{Specifically, a Python pickle}.
-+
-+As a message moves through the incoming queue, it performs various
-+checks on the message, such as whether it matches one of the
-+moderation criteria, or contains disallowed MIME types.  Once a
-+message is approved for sending to the list membership, the message is
-+prepared for sending by deleting, adding, or changing message headers,
-+adding footers, etc.  Messages in the incoming queue may also be
-+stored for appending to digests.
-+
-+\section{The List Configuration Pages}
-+
-+After logging into the list configuration pages, you'll see the
-+configuration options for the list, grouped in categories.  All the
-+administrative pages have some common elements.  In the upper section,
-+you'll see two columns labeled ``Configuration Categories''.  Some
-+categories have sub-categories which are only visible when you click
-+on the category link.  The first page you see after logging in will be
-+the ``General Options'' category.  The specific option settings for
-+each category are described below.
-+
-+On the right side of the top section, you'll see a column labeled
-+``Other Administrative Activities''.  Here you'll find some other
-+things you can do to your list, as well as convenient links to the
-+list information page and the list archives.  Note the big ``Logout''
-+link; use this if you're finished configuring your list and don't want
-+to leave the session cookie active in your browser.
-+
-+Below this common header, you'll find a list of this category's
-+configuration variables, arranged in two columns.  In the left column
-+is a brief description of the option, which also contains a
-+``details'' link.  For many of the variables, more details are
-+available describing the semantics of the various available settings,
-+or information on the interaction between this setting and other list
-+options.  Clicking on the details link brings up a page which contains
-+only the information for that option, as well as a button for
-+submitting your setting, and a link back to the category page.
-+
-+On the right side of the two-column section, you'll see the variable's
-+current value.  Some variables may present a limited set of values,
-+via radio button or check box arrays.  Other variables may present
-+text entry boxes of one or multiple lines.  Most variables control
-+settings for the operation of the list, but others perform immediate
-+actions (these are clearly labeled).
-+
-+At the bottom of the page, you'll find a ``Submit'' button and a
-+footer with some more useful links and a few logos.  Hitting the
-+submit button commits your list settings, after they've been
-+validated.  Any invalid values will be ignored and an error message
-+will be displayed at the top of the resulting page.  The results page
-+will always be the category page that you submitted.
-+
-+\subsection{The General Options Category}
-+
-+The General Options category is where you can set a variety of
-+variables that affect basic behavior and public information.  In the
-+descriptions that follow, the variable name is given first, along with
-+an overview and a description of what that variable controls.
-+
-+\subsubsection{General list personality}
-+
-+These variables, grouped under the general list personality section,
-+control some public information about the mailing list.
-+
-+\begin{description}
-+\item[real_name]
-+    Every mailing list has both a \emph{posting name} and a \emph{real
-+    name}.  The posting name shows up in urls and in email addresses,
-+    e.g. the \code{mylist} in \code{mylist at example.com}.  The posting
-+    name is always presented in lower case, with alphanumeric
-+    characters and no spaces.  The list's real name is used in some
-+    public information and email responses, such as in the general
-+    list overview.  The real name can differ from the posting name by
-+    case only.  For example, if the posting name is \code{mylist}, the
-+    real name can be \code{Posting}.
-+
-+\item[owner]
-+    This variable contains a list of email addresses, one address per
-+    line, of the list owners.  These addresses are used whenever the
-+    list owners need to be contacted, either by the system or by end
-+    users.  Often, these addresses are used in combination with the
-+    \code{moderator} addresses (see below).
-+
-+\item[moderator]
-+    This variable contains a list of email addresses, one address per
-+    line, of the list moderators.  These addresses are often used in
-+    combination with the \code{owner} addresses.  For example, when
-+    you email \code{mylist-owner at example.com}, both the owner and
-+    moderator addresses will receive a copy of the message.
-+
-+\item[description]
-+    In the general list overview page, which shows you every available
-+    mailing list, each list is displayed with a short description.
-+    The contents of this variable is that description.  Note that in
-+    emails from the mailing list, this description is also used in the
-+    comment section of the \mailheader{To} address.  This text should
-+    be relatively short and no longer than one line.
-+
-+\item[info]
-+    This variable contains a longer description of the mailing list.
-+    It is included at the top of the list's information page, and it
-+    can contain HTML.  However, blank lines will be automatically
-+    converted into paragraph breaks.  Preview your HTML though,
-+    because unclosed or invalid HTML can prevent display of parts of
-+    the list information page.
-+
-+\item[subject_prefix]
-+    This is a string that will be prepended to the
-+    \mailheader{Subject} header of any message posted to the list.
-+    For example, if a message is posted to the list with a
-+    \mailheader{Subject} like:
-+
-+    \begin{verbatim}
-+    Subject: This is a message
-+    \end{verbatim}
-+
-+    and the \code{subject_prefix} is \code{[My List] } (note the
-+    trailing space!), then the message will be received like so:
-+
-+    \begin{verbatim}
-+    Subject: [My List] This is a message
-+    \end{verbatim}
-+
-+    If you leave \code{subject_prefix} empty, no prefix will be added
-+    to the \mailheader{Subject}.  Mailman is careful not to add a
-+    prefix when the header already has one, as is the case in replies
-+    for example.  The prefix can also contain characters in the list's
-+    preferred language.  In this case, because of vagarities of the
-+    email standards, you may or may not want to add a trailing space.
-+
-+\item[anonymous_list]
-+    This variable allows you to turn on some simple anonymizing
-+    features of Mailman.  When you set this option to \emph{Yes},
-+    Mailman will remove or replace the \mailheader{From},
-+    \mailheader{Sender}, and \mailheader{Reply-To} fields of any
-+    message posted to the list.
-+
-+    Note that this option is simply an aid for anonymization, it
-+    doesn't guarantee it.  For example, a poster's identity could be
-+    evident in their signature, or in other mail headers, or even in
-+    the style of the content of the message.  There's little Mailman
-+    can do about this kind of identity leakage.
-+\end{description}
-+
-+\subsubsection{Reply-To header munging}
-+
-+This section controls what happens to the \mailheader{Reply-To}
-+headers of messages posted through your list.
-+
-+Beware!  \mailheader{Reply-To} munging is considered a religious issue
-+and the policies you set here can ignite some of the most heated
-+off-topic flame wars on your mailing lists.  We'll try to stay as
-+agnostic as possible, but our biases may still peak through.
-+
-+\mailheader{Reply-To} is a header that is commonly used to redirect
-+replies to messages.  Exactly what happens when your uses reply to
-+such a message depends on the mail readers your users use, and what
-+functions they provide.  Usually, there is both a ``reply to sender''
-+button and a ``reply to all'' button.  If people use these buttons
-+correctly, you will probably never need to munge
-+\mailheader{Reply-To}, so the default values should be fine.
-+
-+Since an informed decision is always best, here are links to two
-+articles that discuss the opposing viewpoints in great detail:
-+
-+\begin{itemize}
-+
-+\item \ulink{Reply-To Munging Considered
-+      Harmful}{http://www.unicom.com/pw/reply-to-harmful.html}
-+\item \ulink{Reply-To Munging Considered
-+      Useful}{http://www.metasystema.org/essays/reply-to-useful.mhtml}
-+
-+\end{itemize}
-+
-+The three options in this section work together to provide enough
-+flexibility to do whatever \mailheader{Reply-To} munging you might
-+(misguidingly :) feel you need to do.
-+
-+\begin{description}
-+
-+\item[first_strip_reply_to]
-+    This variable controls whether any \mailheader{Reply-To} header
-+    already present in the posted message should get removed before
-+    any other munging occurs.  Stripping this header will be done
-+    regardless of whether or not Mailman will add its own
-+    \mailheader{Reply-To} header to the message.
-+
-+    If this option is set to \emph{No}, then any existing
-+    \mailheader{Reply-To} header will be retained in the posted
-+    message.  If Mailman adds its own header, it will contain
-+    addresses which are the union of the original header and the
-+    Mailman added addresses.  The mail standards specify that a
-+    message may only have one \mailheader{Reply-To} header, but that
-+    that header may contain multiple addresses.
-+
-+\item[reply_goes_to_list]
-+    This variable controls whether Mailman will add its own
-+    \mailheader{Reply-To} header, and if so, what the value of that
-+    header will be (not counting original header stripping -- see
-+    above).
-+
-+    When you set this variable to \emph{Poster}, no additional
-+    \mailheader{Reply-To} header will be added by Mailman.  This
-+    setting is strongly recommended.
-+
-+    When you set this variable to \emph{This list}, a
-+    \mailheader{Reply-To} header pointing back to your list's posting
-+    address will be added.
-+
-+    When you set this variable to \emph{Explicit address}, the value
-+    of the variable \code{reply_to_address} (see below) will be
-+    added.  Note that this is one situation where
-+    \mailheader{Reply-To} munging may have a legitimate purpose.  Say
-+    you have two lists at your site, an announce list and a discussion
-+    list.  The announce list might allow postings only from a small
-+    number of approved users; the general list membership probably
-+    can't post to this list.  But you want to allow comments on
-+    announcements to be posted to the general discussion list by any
-+    list member.  In this case, you can set the \mailheader{Reply-To}
-+    header for the announce list to point to the discussion list's
-+    posting address.
-+
-+\item[reply_to_address]
-+    This is the address that will be added in the
-+    \mailheader{Reply-To} header if \code{reply_goes_to_list} is set
-+    to \emph{Explicit address}.
-+
-+\end{description}
-+
-+\subsubsection{Umbrella list settings}
-+
-+TBD.  Note that umbrella lists are deprecated and will be replace with
-+a better mechanism for Mailman 3.0.
-+
-+\subsubsection{Notifications}
-+
-+Mailman sends notifications to the list administrators or list members
-+under a number of different circumstances.  Most of these
-+notifications can be configured in this section, but see the Bounce
-+Processing and Auto-responder categories for other notifications that
-+Mailman can send.
-+
-+\begin{description}
-+\item[send_reminders]
-+    By default Mailman sends all list members a monthly password
-+    reminder.  This notice serves two purposes.  First, it reminds
-+    people about all the lists they may be subscribed to on this
-+    domain, including the lists where their subscription may be
-+    disabled.  Second, it reminds people about their passwords for
-+    these lists, as well as the url for their personal options pages,
-+    so that they can more easily configure their subscription options.
-+
-+    Some people get annoyed with these monthly reminders, and they can
-+    disable the reminders via their subscription options page.  For
-+    some lists, the monthly reminders aren't appropriate for any of
-+    the members, so you can disable them list-wide by setting the
-+    \code{send_reminders} variable to \emph{No}.
-+
-+\item[welcome_msg]
-+    When new members are subscribed to the list, either by their own
-+    action, or the action of a list administrator, a welcome message
-+    can be sent to them.  The welcome message contains some common
-+    boilerplate information, such as the name of the list,
-+    instructions for posting to the list, and the member's
-+    subscription password.  You can add additional information to the
-+    welcome message by typing the text into the \code{welcome_msg}
-+    text box.  Note that because this text is sent as part of an
-+    email, it should \strong{not} contain HTML.
-+
-+\item[send_welcome_msg]
-+    This flag controls whether or not the welcome message is sent to
-+    new subscribers.
-+
-+\item[goodbye_msg]
-+    Like the \code{welcome_msg}, a ``goodbye'' message can be sent to
-+    members when they unsubscribe from the list.  Unlike the welcome
-+    message, there's no boilerplate for the goodbye message.  Enter
-+    the entire goodbye message you'd like unsubscribing members to
-+    receive into the \code{goodbye_msg} text box.
-+
-+\item[send_goodbye_msg]
-+    This flag controls whether or not the goodbye message is sent to
-+    unsubscribing members.
-+
-+\item[admin_immed_notify]
-+    List moderators get notifications of pending administrative
-+    actions, such as subscription or unsubscription requests that
-+    require moderator approval, or posted messages that are being held
-+    for moderator approval.  List moderators will always get a daily
-+    summary of such pending requests, but they can also get immediate
-+    notifications when such a request is made.  The
-+    \code{admin_immed_notify} variable controls whether these
-+    immediate notifications are sent or not.  It's generally a good
-+    idea to leave this set to \emph{Yes}.
-+
-+\item[admin_notify_mchanges]
-+    This variable controls whether the list administrators should get
-+    notifications when members join or leave the list.
-+
-+\item[respond_to_post_requests]
-+    This variable controls whether the original sender of a posting
-+    gets a notice when their message is held for moderator approval.
-+
-+\end{description}
-+
-+\subsubsection{Additional settings}
-+
-+This section contains some miscellaneous settings for your mailing
-+list.
-+
-+\begin{description}
-+\item[emergency]
-+    When this option is enabled, all list traffic is emergency
-+    moderated, i.e. held for moderation.  Turn this option on when
-+    your list is experiencing a flamewar and you want a cooling off
-+    period.
-+
-+\item[new_member_options]
-+    Each member has a set of subscription options which they can use
-+    to control how they receive messages and otherwise interact with
-+    the list.  While the members can change these settings by logging
-+    into their personal options page, you might want to set the
-+    default for a number of the member options.  You can do that with
-+    this variable, but see also the other categories for other member
-+    defaults you can set.
-+
-+    This variable presents a set of checkboxes which control the
-+    defaults for some of the member options.  \emph{Conceal the
-+    member's address} specifies whether or not the address is
-+    displayed in the list roster.  \emph{Acknowledge the member's
-+    posting} controls whether or not Mailman sends an acknowledgement
-+    to a member when they post a message to the list.  \emph{Do not
-+    send a copy of a member's own post} specifies whether a member
-+    posting to the list will get a copy of their own posting.
-+    \emph{Filter out duplicate messages to list members (if possible)}
-+    specifies whether members who are explicitly listed as a recipient
-+    of a message (e.g. via the \mailheader{Cc} header) will also get a
-+    copy from Mailman.
-+
-+    Of course, members can always override these defaults by making
-+    changes on their membership options page.
-+
-+\item[administrivia]
-+    This option specifies whether Mailman will search posted messages
-+    for \emph{admimistrivia}, in other words, email commands which
-+    usually should be posted to the \code{-request} address for the
-+    list.  Setting this to \emph{Yes} helps prevent such things as
-+    unsubscribe messages getting erroneously posted to the list.
-+
-+    If a message seems to contain administrivia, it is held for
-+    moderator approval.
-+
-+\item[max_message_size]
-+    This option specifies a maximum message size, in kilobytes, over
-+    which the message will be held for moderator approval.
-+
-+\item[host_name]
-+    This option specifies the host name part of email addresses used
-+    by this list.  For example, this is the \code{example.com} part of
-+    the posting address \code{mylist at example.com}.
-+
-+    It's generally not a good idea to change this value, since its
-+    default value is specified when the mailing list is created.
-+    Changing this to an incorrect value could make it difficult to
-+    contact your mailing list.  Also not that the url used to visit
-+    the list's pages is not configurable through the web interface.
-+    This is because if you messed it up, you'd have to have the site
-+    administrator fix it.
-+
-+\item[include_rfc2369_headers]
-+    \rfc{2369} is an internet standard that describes a bunch of
-+    headers that mailing list managers should add to messages to make
-+    it easier for people to interact with the list.  Mail reading
-+    programs which support this standard may provide buttons for easy
-+    access to the list's archives, or for subscribing and
-+    unsubscribing to the list.  It's generally a good idea to enable
-+    these headers as it provides for an improved user experience.
-+    These headers are often called the \code{List-*} headers.
-+
-+    However, not all mail readers are standards compliant yet, and if
-+    you have a large number of members who are using non-compliant
-+    mail readers, they may be annoyed at these headers.  You should
-+    first try to educate your members as to why these headers exist,
-+    and how to hide them in their mail clients.  As a last resort you
-+    can disable these headers, but this is not recommended.
-+
-+\item[include_list_post_header]
-+    The \mailheader{List-Post} header is one of the headers
-+    recommended by \rfc{2369}.  However for some announce-only mailing
-+    lists, only a very select group of people are allowed to post to
-+    the list; the general membership is usually not allowed to post to
-+    such lists.  For lists of this nature, the \mailheader{List-Post}
-+    header is misleading.  Select \emph{No} to disable the inclusion
-+    of this header. (This does not affect the inclusion of the other
-+    \code{List-*} headers.)
-+\end{description}
-+
-+\subsection{The Passwords Category}
-+As mentioned above, there are two primary administrative roles for
-+mailing lists.  In this category you can specify the password for
-+these roles.
-+
-+The list owner has total control over the configuration of their
-+mailing list (within some bounds as specified by the site
-+administrator).  Note that on this page, for historical reasons, the
-+list owner role is described here as the \emph{list administrator}.
-+You can set the list owner's password by entering it in the password
-+field on the left.  You must type it twice for confirmation.  Note
-+that if you forget this password, the only way for you to get back
-+into your list's administrative pages is to ask the site administrator
-+to reset it for you (there's no password reminders for list owners).
-+
-+If you want to delegate list moderation to someone else, you can enter
-+a different moderator password in the field on the right (typed twice
-+for confirmation).  Note that if you aren't going to delegate
-+moderation, and the same people are going to both configure the list
-+and moderate postings to the list, don't enter anything into the
-+moderator password fields.  If you do enter a separate moderator
-+password, be sure to fill in the \code{moderator} variable in the
-+\emph{General options} category page. 
-+
-+\subsection{The Language Options Category}
-+Mailman is multilingual and internationalized, meaning you can set up
-+your list so that members can interact with it in any of a number of
-+natural languages.  Of course, Mailman won't translate list
-+postings. :)
-+
-+However, if your site administrator has enabled its support, you can
-+set your list up to support any of about two dozen languages, such as
-+German, Italian, Japanese, or Spanish.  Your list members can then
-+choose any of your supported languages as their \emph{preferred
-+language} for interacting with the list.  Such things as their member
-+options page will be displayed in this language.  Each mailing list
-+also has its own \emph{preferred language} which is the language the
-+list supports if no other language context is known.
-+
-+These variables control the language settings for your mailing list:
-+
-+\begin{description}
-+\item[preferred_language]
-+    This is the list's preferred language, which is the language that
-+    the list administrative pages will be displayed in.  Also any
-+    messages sent to the list owners by Mailman will be sent in this
-+    language.  This option is presented as a drop-down list containing
-+    the language enabled in the \code{available_languages} variable.
-+
-+\item[available_languages]
-+    This set of checkboxes contains all the natural languages that
-+    your site administrator has made available to your mailing lists.
-+    Select any language that you'd either like your members to be able
-+    to view the list in, or that you'd like to be able to use in your
-+    list's \code{preferred_language} variable.
-+
-+\item[encode_ascii_prefixes]
-+    If your mailing list's preferred language uses a non-ASCII
-+    character set and the \code{subject_prefix} contains non-ASCII
-+    characters, the prefix will always be encoded according to the
-+    relevant standards.  However, if your subject prefix contains only
-+    ASCII characters, you may want to set this option to \emph{Never}
-+    to disable prefix encoding.  This can make the subject headers
-+    slightly more readable for users with mail readers that don't
-+    properly handle non-ASCII encodings.
-+
-+    Note however, that if your mailing list receives both encoded and
-+    unencoded subject headers, you might want to choose \emph{As
-+    needed}.  Using this setting, Mailman will not encode ASCII
-+    prefixes when the rest of the header contains only ASCII
-+    characters, but if the original header contains non-ASCII
-+    characters, it will encode the prefix.  This avoids an ambiguity
-+    in the standards which could cause some mail readers to display
-+    extra, or missing spaces between the prefix and the original
-+    header.
-+\end{description}
-+
-+\subsection{The Membership Management Category}
-+
-+The \emph{Membership Management} category is unlike the other
-+administrative categories.  It doesn't contain configuration variables
-+or list settings.  Instead, it presents a number of pages that allow
-+you to manage the membership of you list.  This includes pages for
-+subscribing and unsubscribing members, and for searching for members,
-+and for changing various member-specific settings.
-+
-+More details on membership management are described in the Membership
-+Management section.
-+
-+\subsection{The Non-digest Options Category}
-+
-+Mailman delivers messages to users via two modes.  List members can
-+elect to receive postings in bundles call \emph{digests} one or a few
-+times a day, or they can receive messages immediately whenever the
-+message is posted to the list.  This latter delivery mode is also
-+called \emph{non-digest delivery}.  There are two administrative
-+categories available for separately controlling digest and non-digest
-+delivery.  You can even disable one or the other forms of delivery
-+(but not both).
-+
-+Both kinds of delivery can have list-specific headers and footers
-+added to them which can contain other useful information you want your
-+list members to see.  For example, you can include instructions for
-+unsubscribing, or a url to the lists digest, or any other information.
-+
-+Non-digest deliveries can also be \emph{personalized} which means
-+certain parts of the message can contain information tailored to the
-+member receiving the message.  For example, the \mailheader{To} header
-+will contain the address of the member when deliveries are
-+personalized.  Footers and headers can contain personalized
-+information as well, such as a link to the individual user's options
-+page.
-+
-+In addition, personalized messages will contain extra information that
-+Mailman can use to unambiguously track bounces from members.
-+Ordinarily, Mailman does some pattern recognition on bounce messages
-+to determine list members whose addresses are no longer valid, but
-+because of the vagaries of mail systems, and the countless forwards
-+people can put in place, it's often the case that bounce messages
-+don't contain any useful information in them.  Personalized messages
-+avoid this problem by encoding information in certain headers that
-+unambiguously identify the recipient of a message.  If that message
-+bounces, Mailman will know exactly which member it was intended for.
-+
-+Note that because personalization requires extra system resources, it
-+must be enabled by the site administrator before you can choose it.
-+
-+Here are the variables which control non-digest delivery:
-+
-+\begin{description}
-+\item[nondigestable]
-+    This option controls whether members can receive immediate
-+    delivery or not.  If not, they will be forced to receive messages
-+    in digests.  You can't disable non-digest delivery if digests are
-+    already disabled.
-+
-+\item[personalize]
-+    This option turns on message personalization.
-+
-+\item[msg_header]
-+    This text box lets you enter information that will be included in
-+    the header of every non-digest message sent through the
-+    list.
-+
-+    See below for more information on what can go in the headers and
-+    footers.  If you leave this text box empty, no header will be
-+    added.
-+
-+\item[msg_footer]
-+    Just like with the header, you can add a footer to every message.
-+    The same rules apply to footers as apply to headers.
-+\end{description}
-+
-+Headers and footers can contain any text you want.  For non-English
-+lists, the headers and footers can contain any character in the
-+character set of the list's preferred language.  The headers and
-+footers can also contain \emph{substitution variables} which Mailman
-+will fill in with information taken from the mailing list.  These
-+substitutions are in Python string interpolation format, where
-+something like \code{\%(list_name)s} is substituted with he name of
-+the mailing list.  Note that the trailing \samp{s} is
-+required\footnote{The site administrator can configure lists to use a
-+simpler interpolation format, where \code{\$list_name} or
-+\code{\$\{list_name\}} would be substituted with the mailing list's
-+name.  Ask your site administrator if the've configured your list this
-+way.}.
-+
-+For example, a footer containing the following text:
-+
-+\begin{verbatim}
-+This is the \%(list_name)s mailing list
-+Description: \%(description)s
-+\end{verbatim}
-+
-+might get attached to postings like so:
-+
-+\begin{verbatim}
-+This is the Example mailing list
-+Description: An example of Mailman mailing lists
-+\end{verbatim}
-+
-+Here is the list of substitution variables available for your headers
-+and footers:
-+
-+\begin{description}
-+\item[real_name]
-+    This is the value of the \code{real_name} configuration variable
-+    in the General options category.
-+
-+\item[list_name]
-+    This is the canonical name of the mailing list.  In other words
-+    it's the posting address of the list\footnote{For backward
-+    compatibility, the variable \code{_internal_name} is
-+    equivalent.}.
-+
-+\item[host_name]
-+    This is the domain name part of the email address for this list.
-+
-+\item[web_page_url]
-+    This is the base url for contacting the list via the web.  It can
-+    be appended with \code{listinfo/\%(list_name)s} to yield the
-+    general list information page for the mailing list.
-+
-+\item[description]
-+    The brief description of the mailing list.
-+
-+\item[info]
-+    This is the full description of the mailing list.
-+
-+\item[cgiext]
-+    This is the extension added to CGI scripts.  It might be the empty
-+    string, \code{.cgi}, or something else depending on how your site
-+    is configured.
-+\end{description}
-+
-+Note that \code{real_name}, \code{host_name}, \code{description}, and
-+\code{info} substitution variables take their values from the list
-+configuration variables of the same name.
-+
-+When personalization is enabled, the following substitution variables
-+are also available:
-+
-+\begin{description}
-+\item[user_address]
-+    The address of the recipient of the message, coerced to lower case.
-+
-+\item[user_delivered_to]
-+    The case-preserved address that the user subscribed to the mailing
-+    list with\footnote{Usually it makes no difference which of
-+    \code{user_address} and \code{user_delivered_to} is used, but it's
-+    important to remember that they can be different.  When they're
-+    different, Mailman always uses the lower case address as the key
-+    to the member's subscription information, but it always delivers
-+    messages to the case-preserved version.}.
-+
-+\item[user_password]
-+    The user's password, in clear text.
-+
-+\item[user_name]
-+    The user's full name.
-+
-+\item[user_optionsurl]
-+    The url to the user's personal options page.
-+\end{description}
-+
-+\subsection{The Digest Options Category}
-+
-+Digest delivery is a way to bundle many articles together into one
-+package, which can be delivered once per day (if there were any posted
-+articles), or whenever the package is bigger than a specified limit.
-+Some users may prefer this style of delivery for higher traffic lists
-+since they will receive fewer messages.
-+
-+Mailman supports two standard digest formats, and if digests are
-+enabled, users can select which of the two formats they receive.  One
-+is MIME digests, where each message is an attachment inside a
-+\mimetype{multipart/digest}.  This format also contains a summary
-+table of contents, and of course the an optional header and footer,
-+and it retains most of the headers of the original messages.
-+
-+The second type is called ``plaintext'' digests because they are
-+readable in mail readers that don't support MIME.  Actually, they
-+adhere to the \rfc{1153} digest standard.  The retain some, but not
-+all of the original messages, but can also include a summary and
-+headers and footers.
-+
-+Like non-digest delivery, you can enable or disable digest delivery,
-+but you cannot disable both types of delivery.  You can specify
-+different headers and footers for digest and non-digest deliveries.
-+You cannot personalize digest deliveries.
-+
-+As list administrator, you may want to send an urgent message to all
-+list members, bypassing the normal digest bundling.  To do this, send
-+the message with a \mailheader{Urgent} header, where the value of the
-+header is the list administrator's password.  Non-digest members will
-+receive the message like normal, but digest members will receive the
-+message immediately\footnote{They'll also receive the message in the
-+digest.}.
-+
-+Here are the variables which control digest delivery:
-+
-+\begin{description}
-+\item[digestable]
-+    The option controls whether members can receive digest deliveries
-+    or not.  If not, they will be forced to receive immediate
-+    deliveries.  You can't disable digests if non-digests are already
-+    disabled.
-+
-+\item[digest_is_default]
-+    Controls which style of delivery is the default for new members.
-+    You can choose \emph{Regular} (non-digest) or \emph{Digest}
-+    delivery.
-+
-+\item[mime_is_default_digest]
-+    If a member is allowed to choose digests, this variable controls
-+    which is the default digest style they will receive.  \emph{Plain}
-+    digests are \rfc{1153} format as described above.
-+
-+\item[digest_size_threshold]
-+    Normally, digest members get at least one message per day, if
-+    there have been any messages posted to the list.  However, for
-+    high volume lists, you may want to send out digests when the size
-+    has reached a certain threshold, otherwise, the one digest they
-+    receive could be huge.  This variable controls the size threshold
-+    by specifying the maximum digest size in kilobytes.  Note that
-+    this threshold isn't exact.  Set this variable to zero to specify
-+    that there is no size threshold, in which case no more than one
-+    digest will be sent out per day.
-+
-+\item[digest_send_periodic]
-+    This variable actually controls whether or not a digest is sent
-+    daily when the size threshold has not yet been met.  If set to
-+    \emph{No}, then digests will only be sent when they are bigger
-+    than \code{digest_size_threshold}.
-+
-+\item[digest_header]
-+    This text box lets you enter information that will be included in
-+    the header of every digest message sent through the list.  The
-+    same information can go in this header as can go in the
-+    \code{msg_header}, except for the personalization variables.
-+
-+\item[digest_footer]
-+    Just like with the header, you can add a footer to every message.
-+    The same rules apply to digest footers as apply to digest headers.
-+    
-+\item[digest_volume_frequency]
-+    Each digest is numbered with a volume and an issue.  This variable
-+    controls how often a new digest volume is sent.  When the digest
-+    volume number is incremented, the issue number is reset to 1.
-+
-+\item[_new_volume]
-+    This is an action variable, which forces an increment of the
-+    volume number as soon as you submit the form.
-+
-+\item[_send_digest_now]
-+    This is another action variable.  Select \emph{Yes}, submit the
-+    form, and the current digest is packaged up and sent to digest
-+    members, regardless of size (well, there has to be at least one
-+    message in the digest).
-+\end{description}
-+
-+\subsection{The Privacy Options Category}
-+
-+The Privacy category lets you control how much of the list's
-+information is public, as well as who can send messages to your list.
-+It also contains some spam detection filters.  Note that this section
-+is not used to control whether your list's archives are public or
-+private; for that, use the \ref{Archiving options} category.
-+
-+There are four sub-categories:
-+\begin{itemize}
-+\item Subscription rules -- i.e. the rules for joining and leaving
-+      your mailing list
-+
-+\item Sender filters -- the rules for who may post messages to your
-+      list
-+
-+\item Recipient filters -- moderation rules based on the recipient of
-+      the message
-+
-+\item Spam filters -- some regular expression based rules for header
-+      matching
-+\end{itemize}
-+
-+The sender, recipient, and spam filtering rules are part of the
-+general list moderation features of Mailman.  When a message is posted
-+to the list, it is matched against a number of criteria, the outcome
-+of which determines whether the message is reflected to the membership
-+or not.  In general, the outcome is one of four states:
-+
-+\begin{itemize}
-+\item Approved or Accepted -- the message may be sent on to the
-+      members of the mailing list.
-+
-+\item Hold -- the message will be held for moderator approval.  The
-+      list owners and moderators will then have to explicitly approve
-+      the message before the list members will see it.
-+
-+\item Reject -- the message is bounced back to the original sender,
-+      often with a notice containing the reason the message was
-+      rejected.  The list members never see rejected messages.
-+
-+\item Discard -- the message is simply thrown away without further
-+      processing.
-+\end{itemize}
-+
-+Many of the fields in this section are text boxes accepting addresses,
-+one per line.  Unless otherwise noted, these also accept regular
-+expressions which will be matched against an address, if the line
-+begins with a \^ (caret) character.
-+
-+\subsubsection{Subscription rules}
-+
-+This subcategory controls the rules for exposing the existance of this
-+list, and for what new members must do in order to subscribe to the
-+list.
-+
-+\begin{description}
-+\item[advertised]
-+    This option controls whether this list will show up in the list
-+    overview for the site.  Normally, an overview contains the name
-+    and short description of every mailing list in the virtual
-+    domain.  By setting this variable to \emph{No}, it will not show
-+    up in this overview, nor will it show up in the administrative
-+    overview.  The only way then to find the list is to guess (or
-+    know!) its name.
-+
-+\item[subscribe_policy]
-+    This option controls the steps that a new member must take to join
-+    the list.  The available options may differ based on some defaults
-+    that the site administrator chooses.  They are:
-+
-+    \begin{itemize}
-+    \item None -- No verification is done on the subscribing
-+          member. This is also called \emph{open subscriptions} and is
-+          generally disabled by default.  The site administrator must
-+          allow list admins to choose this option; if not, this option
-+          will not be presented to you.
-+
-+    \item Confirm -- An email confirmation step is required before the
-+          address is added to the list.  When a member requests
-+          subscription, either via the web page or by sending a
-+          message to \var{yourlist}\code{-join at example.com}, Mailman
-+          will send a confirmation message to the requesting address.
-+          This mail-back confirmation contains a unique identifier,
-+          which the requester can present to Mailman in order to
-+          confirm their subscription.  This can be done either by
-+          replying to the mail-back, or by visiting the url in the
-+          mail-back message.  The url points to a page that lets the
-+          user either discard or confirm their request.
-+
-+    \item Require approval -- All subscription requests are held for
-+          approval of the list moderator.  No mail-back confirmation
-+          is sent, but the list admins will recieve a message
-+          indicating that approval is pending.
-+
-+    \item Confirm and approve -- Here, a mail-back notice must first
-+          be confirmed by the requester.  Once confirmed, the list
-+          moderator must then approve the request.  This is the most
-+          secure method for users to subscribe since it both verifies
-+          the requesting address, and forces the list moderators to
-+          approve the request.
-+
-+    \end{itemize}
-+
-+\item[unsubscribe_policy]
-+    Specifies whether the list moderator's approval is required for
-+    unsubscription requests.  \emph{No} is highly recommended, since
-+    it is exceedingly impolite to not allow people to leave a mailing
-+    list whenever they want (i.e. opt-out).  \emph{Yes} is useful in
-+    some specialized contexts; e.g. you may not want to allow
-+    employees to unsubscribe from the company newsletter.
-+
-+\item[ban_list]
-+    This contains a list of addresses (or regular expressiosn), one
-+    per line, that are banned from ever subscribing to your mailing
-+    list.  If a match occurs during the subscription process, the
-+    request will be automatically rejected, and the requester will get
-+    a rejection notice.  You can use this to permanently ban
-+    troublesome posters to a members-only list.
-+
-+\item[private_roster]
-+    This specifies who is allowed to view the roster of member
-+    addresses.  If you choose \emph{Anyone}, then the list membership
-+    is completely public.  You can limit exposure of the roster to
-+    just list members, or just to the list administrators.  In the
-+    former case, a user must enter a valid member's address and
-+    password before they can view the roster.  In the latter case, a
-+    list administrator's password must be enter; if a matching admin
-+    password is entered, address field is ignored.
-+
-+\item[obscure_addresses]
-+    Controls whether some simple obfuscation of addresses is used when
-+    member addresses are included on web pages.  This should reduce
-+    the opportunity for email address harvesting by spammers, although
-+    it probably doesn't eliminate it.
-+\end{description}
-+
-+\subsubsection{Sender filters}
-+
-+When a message is posted to the list, a series of moderation criteria are
-+applied to determine the disposition of the message.  This section
-+contains the modeation controls for postings from both members and
-+non-members.
-+
-+\begin{description}
-+\item[default_member_moderation]
-+    Member postings are held for moderation if their \emph{moderation
-+    flag} is turned on.  Note that only the list administrators can
-+    change the value of a member's moderation flag.
-+
-+    You can control whether new members get their moderation flag
-+    turned on or off by default when they subscribe to the list.  By
-+    turning this flag off by default, postings by members will be
-+    allowed without further intervention (barring other restrictions
-+    such as size or implicit recipient lists -- see below).  By
-+    turning the flag on, you can quarantine new member postings to
-+    make sure that they meet your criteria for netiquette, topicality,
-+    etc.  Once you determine that the new member understands the
-+    community's posting rules, you can turn off their moderation flag
-+    and let their postings go through unstopped.
-+
-+    E-newsletter style lists can also be set up by using the
-+    moderation flag.  By setting the \code{member_moderation_action}
-+    to \emph{Reject}, and by turning off the moderation flag for just
-+    the few approved senders, your list will operate in essentially a
-+    one-way direction.  Note that you'd also need to reject or discard
-+    postings from non-members.
-+
-+\item[member_moderation_action]
-+    This is the action to take for postings from a member who's
-+    moderation flag is set.  For typical discussion lists, you'll
-+    likely set this to \emph{Hold} so that the list moderator will get
-+    a chance to manually approve, reject, or discard the message.  For
-+    e-newsletter and announcement lists, you might want to set this to
-+    \emph{Reject} or \emph{Discard}.
-+
-+    Note that when a moderated member posts to your list, and the
-+    \code{member_moderation_action} is set to \emph{Hold}, the message
-+    will appear on the administrative requests page.  When you dispose
-+    of the message, you will be given an opportunity to clear the
-+    moderation flag at the same time.   If you're quarantining new
-+    posts, this makes it very convenient to both approve a new
-+    member's post and de-moderate them at the same time.
-+
-+\item[member_moderation_notice]
-+    When a member's moderation flag is turned on and
-+    \code{member_moderation_action} is \emph{Reject}, this variable
-+    contains the text sent in the rejection notice.
-+\end{description}
-+
-+The next batch of variables controls what happens when non-members
-+post messages to the list.  Each of these accepts one email address
-+per line; regular expressions are allowed if the line starts with the
-+\^ (caret) character.  These address lists are always consulted in the
-+order in which they're presented on this page (i.e. accepts first,
-+followed by holds, rejections, and discards).
-+
-+\begin{description}
-+\item[accept_these_nonmembers]
-+    Postings from non-members whose addresses match this list are
-+    accepted, barring other list restrictions due to size, implicit
-+    recipients, etc.  You might want to add alternative addresses of
-+    approved posters to this list.
-+
-+\item[hold_these_nonmembers]
-+    Postings from non-members whose addresses match this list are
-+    held for moderator approval.
-+
-+\item[reject_these_nonmembers]
-+    Postings from non-members whose addresses match this list are
-+    rejected, i.e. bounced back to the original sender.  There
-+    currently is no way to add additional text to the rejection
-+    message.
-+
-+\item[discard_these_nonmembers]
-+    Postings from non-members whose addresses match this list are
-+    discarded, with no bounce back message.  You might want to add the
-+    addresses of known spammers to this list.
-+
-+\item[generic_nonmember_action]
-+    This variable controls what happens to non-member posts when the
-+    address of the sender doesn't match any of the above four lists.
-+    If you set this to \emph{Hold}, the posting will appear on the
-+    administrative requests page, and you will be given an opportunity
-+    to add the non-member to one of the above four lists at the same
-+    time you dispose of the held message.
-+
-+\item[forward_auto_discards]
-+    When messages from non-members are discarded, either because the
-+    sender address matched \code{discard_these_nonmembers}, or because
-+    \code{generic_nonmember_action} is \emph{Discard}, you can choose
-+    whether such messages are forwarded to the lsit administrators or
-+    not.
-+\end{description}
-+
-+\subsubsection{Recipient Filters}
-+
-+The variables in this section control various filters based on the
-+recipient of the message.
-+
-+\begin{description}
-+\item[require_explicit_destination]
-+    This controls whether the mailing list posting address must be
-+    explicitly named in the \mailheader{To} or \mailheader{Cc}
-+    recipient lists.  The main reason why it wouldn't is if the
-+    message was blind-carbon-copied (i.e. \mailheader{Bcc}'d) to the
-+    list.  Spammers like to do this, but sometimes legitimate messages
-+    are forwarded to the list this way.
-+
-+    If the list is not explicitly addressed and this setting is turned
-+    on, the message will be held for moderator approval.
-+
-+\item[acceptable_aliases]
-+    This is the list of alternative addresses that are acceptable as a
-+    list posting address when \code{require_explicit_destination} is
-+    enabled.  This is useful for when there aliases for the main
-+    posting address (e.g. \code{help at example.com} may be an alias for
-+    \code{help-list at example.com}).
-+
-+\item[max_num_recipients]
-+    This is the maximum number of explicit recipients that are allowed
-+    on the posted message.  Spammers sometimes send messages with lots
-+    of explicit recipients, so setting this number to a reasonable
-+    value may cut down on spam.
-+\end{description}
-+
-+\subsubsection{Spam Filters}
-+
-+This section provides some adjuncts to spam fighting tools; it
-+doesn't replace dedicated anti-spam tools such as SpamAssassin or
-+Spambayes.
-+
-+\begin{description}
-+\item[bounce_matching_headers]
-+    This variable contains header regular expressions, one per line,
-+    and if any of a message's headers matches one of these patterns,
-+    it will be held for moderation.  The format is a colon separated
-+    header and value, where the header is case insensitive and the
-+    value is any valid Python regular expression.  Lines that start
-+    with \# are ignored.
-+
-+    This variable can be used to catch known spammers by writing
-+    regexps that match against \mailheader{To} or \mailheader{Cc}
-+    lines, or known-bad \mailheader{Message-ID}s.  Perhaps more useful
-+    though are patterns that match headers added by spam detection
-+    tools higher up in the tool chain.  For example, you might
-+    configure SpamAssassin to add an \mailheader{X-Spam-Score} header
-+    with between zero and 5 stars depending on the spam score.  Then
-+    you can add a line to this variable like:
-+
-+    \begin{verbatim}
-+    X-Spam-Score: [*]{3,5}
-+    \end{verbatim}
-+
-+    This line will match from 3 to 5 stars in the value of this
-+    field.
-+\end{description}
-+
-+\subsection{The Bounce Processing Category}
-+
-+These policies control the automatic bounce processing system in
-+Mailman.  Here's an overview of how it works:
-+
-+When a bounce is received, Mailman tries to extract two pieces of
-+information from the message: the address of the member the message
-+was intended for, and the severity of the problem causing the bounce.
-+The severity can be either \emph{hard} for fatal errors, or
-+\emph{soft} for transient errors.  When in doubt, a hard severity is
-+used.
-+
-+If no member address can be extracted from the bounce, then the bounce
-+message is usually discarded.  Every member has a \emph{bounce score},
-+initialized at zero, and every time we encounter a bounce from a
-+member we increment that member's score.  Hard bounces increment by 1
-+while soft bounces increment by 0.5.  We only increment the bounce
-+score once per day, so even if we receive ten hard bounces from a
-+member per day, their score will increase by only 1 for that day.
-+
-+When a member's bounce score is greater than the \emph{bounce score
-+threshold} (see below), the member's subscription is disabled.  Once
-+disabled, the member will not receive any postings from the list until
-+their membership is explicitly re-enabled, either by the list
-+administrator or the user.  However, they will receive occasional
-+reminders that their membership has been disabled, and these reminders
-+will include information about how to re-enable their membership.  You
-+can control both the number of reminders the member will receive and
-+the frequency with which these reminders are sent.
-+
-+There is one other important configuration variable; after a certain
-+period of time -- during which no bounces from the member are received
-+-- the bounce information is considered stale and discarded.  Thus by
-+adjusting this value, and the score threshold, you can control how
-+quickly bouncing members are disabled.  You should tune both of these
-+to the frequency and traffic volume of your list.
-+
-+\begin{description}
-+
-+\item[bounce_processing]
-+    Specifies whether or not this list should do automatic bounce
-+    processing.
-+
-+\item[bounce_score_threshold]
-+    This is the bounce score above which a member's subscription will
-+    be automatically disabled.  When the subscription is re-enabled,
-+    their bounce score will be reset to zero.  This value can be a
-+    floating point number.
-+
-+\item[bounce_info_stale_after]
-+    Thenumber of days after which a member's bounce information is
-+    considered stale.  If no new bounces have been received in the
-+    interrim, the bounce score is reset to zero.  This value must be
-+    an integer.
-+
-+\item[bounce_you_are_disabled_warnings]
-+    The number of notices a disabled member will receive before their
-+    address is removed from the mailing list's roster.  Set this to 0
-+    to immediately remove an address from the list once their bounce
-+    score exceeds the threshold.  This value must be an integer.
-+
-+\item[bounce_you_are_disabled_warnings_interval]
-+    The number of days between each disabled notification.
-+
-+\item[bounce_unrecognized_goes_to_list_owner]
-+    This variable controls whether unrecognized bounces are discarded,
-+    or forwarded on the list administrator.  The bounce detector isn't
-+    perfect, although personalization can make it much more accurate.
-+    The list owner may want to receive unrecognized bounces so that
-+    they can manually disable or remove such members.
-+
-+\item[bounce_notify_owner_on_disable]
-+    This option controls whether or not the list owner is notified
-+    when a member's subscription is automatically disabled due to
-+    their bounce threshold being reached.
-+
-+\item[bounce_notify_owner_on_removal]
-+    This option controls whether or not the list owner is notified
-+    when a member is removed from the list after their disabled
-+    notifications have been exhausted.
-+\end{description}
-+
-+\subsection{The Archiving Options Category}
-+
-+Mailman comes with a built-in web-based archiver called
-+\emph{Pipermail}, although it can be configured to use external,
-+third party archivers.
-+
-+\begin{description}
-+
-+\item[archive]
-+    This option tells Mailman whether to archive messages it receives
-+    or not, regardless of whether Pipermail or a third party archiver
-+    is used.  Turn this off if you don't want to archive messages.
-+
-+    Note that senders can control whether their own posts are
-+    archived, on an individual per-message basis.  If the posted
-+    message has a \mailheader{X-No-Archive} header (regardless of
-+    value), or a \mailheader{X-Archive} header with a value of
-+    \code{No} (case insensitive), then the message will not be
-+    archived, although it will be treated as normal in all other
-+    ways.
-+
-+\item[archive_private]
-+    Controls whether Pipermail archives are private or public.
-+    Private archives require a valid member address and password, or a
-+    list administrator password in order to access them.  This
-+    option has no effect when a third party archiver is used.
-+
-+\item[archive_volume_frequency]
-+    Controls how Pipermail splits messages in the archive.  The most
-+    common option is \emph{Monthly} meaning a new archive volume is
-+    started every month.  Very high volume lists may want a shorter
-+    frequency (e.g. \emph{Weekly} or \emph{Daily}) where as lower
-+    volume lists may want a longer frequency (e.g. \emph{Yearly}).
-+    This option has no effect when a third party archiver is used.
-+\end{description}
-+
-+\subsection{The Mail/News Gateway Category}
-+
-+Mailman has a sophisticated mail-to-news gateway feature.  It can
-+independently gate messages from news to mail and vice versa, and can
-+even be used to manage moderated newsgroups.
-+
-+\subsection{The Auto-responder Category}
-+\subsection{The Content Filtering Category}
-+\subsection{The Topics Category}
-+
-+\section{Membership Management}
-+\section{Tending to Pending Moderator Requests}
-+\section{Editing the Public HTML Pages}
-+\section{Deleting the Mailing List}
-+
-+\appendix
-+
-+\section{This is an Appendix}
-+
-+To create an appendix in a Python HOWTO document, use markup like
-+this:
-+
-+\begin{verbatim}
-+\appendix
-+
-+\section{This is an Appendix}
-+
-+To create an appendix in a Python HOWTO document, ....
-+
-+
-+\section{This is another}
-+
-+Just add another \section{}, but don't say \appendix again.
-+\end{verbatim}
-+
-+
-+\end{document}
-diff -urNad mailman-2.1.8rc1~/doc/mailman-install.tex mailman-2.1.8rc1/doc/mailman-install.tex
---- mailman-2.1.8rc1~/doc/mailman-install.tex	1970-01-01 01:00:00.000000000 +0100
-+++ mailman-2.1.8rc1/doc/mailman-install.tex	2006-04-11 22:32:46.838866146 +0200
-@@ -0,0 +1,1804 @@
-+\documentclass{howto}
-+
-+\title{GNU Mailman - Installation Manual}
-+\author{Barry Warsaw}
-+\authoraddress{\email{barry(at)python.org}}
-+
-+\date{\today}
-+\release{2.1}                   % software release, not documentation
-+\setreleaseinfo{}               % empty for final release
-+\setshortversion{2.1}           % major.minor only for software
-+
-+\begin{document}
-+
-+\maketitle
-+
-+% This makes the Abstract go on a separate page in the HTML version;
-+% if a copyright notice is used, it should go immediately after this.
-+%
-+\ifhtml
-+\chapter*{Front Matter\label{front}}
-+\fi
-+
-+\begin{abstract}
-+\noindent
-+This document describes how to install GNU Mailman on a POSIX-based system
-+such as \UNIX{}, MacOSX, or GNU/Linux.  It will cover basic installation
-+instructions, as well as guidelines for integrating Mailman with your web and
-+mail servers.
-+
-+\noindent
-+The GNU Mailman website is at \url{http://www.list.org}
-+\end{abstract}
-+
-+% The ugly "%begin{latexonly}" pseudo-environment supresses the table
-+% of contents for HTML generation.
-+%
-+%begin{latexonly}
-+\tableofcontents
-+%end{latexonly}
-+
-+
-+\section{Installation Requirements}
-+
-+GNU Mailman works on most POSIX-based systems such as \UNIX{}, MacOSX, or
-+GNU/Linux.  It does not currently work on Windows.  You must have a mail
-+server that you can send messages to, and a web server that supports the
-+CGI/1.1 API.  \ulink{Apache}{http://httpd.apache.org} makes a fine choice for
-+web server, and mail servers such as
-+\ulink{Postfix}{http://www.postfix.org},
-+\ulink{Exim}{http://www.exim.org},
-+\ulink{Sendmail}{http://www.sendmail.org}, and
-+\ulink{qmail}{http://cr.yp.to/qmail.html} should
-+work just fine.
-+
-+To install Mailman from source, you will need an ANSI C compiler to build
-+Mailman's security wrappers.  The
-+\ulink{GNU C compiler gcc}{http://gcc.gnu.org} 2.8.1 or later is known
-+to work well.
-+
-+You must have the \ulink{Python}{http://www.python.org} interpreter installed
-+somewhere on your system.  Mailman 2.1 requires Python 2.1 or newer, although
-+Python 2.3 or newer is recommended.
-+
-+\section{Set up your system}
-+
-+Before installing Mailman, you need to prepare your system by adding certain
-+users and groups.  You will need to have root privileges to perform the steps
-+in this section.
-+
-+\subsection{Add the group and user}
-+
-+Mailman requires a unique user and group name which will own its files, and
-+under which its processes will run.  Mailman's basic security is based on
-+group ownership permissions, so it's important to get this step
-+right\footnote{You will be able to check and repair your permissions after
-+installation is complete.}.  Typically, you will add a new user and a new
-+group, both called \code{mailman}.  The \code{mailman} user must be a member
-+of the \code{mailman} group.  Mailman will be installed under the
-+\code{mailman} user and group, with the set-group-id (setgid) bit enabled.
-+
-+If these names are already in use, you can choose different user and group
-+names, as long as you remember these when you run \program{configure}.  If you
-+choose a different unique user name, you will have to specify this with
-+\program{configure}'s \longprogramopt{with-username} option, and if you choose
-+a different group name, you will have to specify this with
-+\program{configure}'s \longprogramopt{with-groupname} option.
-+
-+On Linux systems, you can use the following commands to create these
-+accounts.  Check your system's manual pages for details:
-+
-+\begin{verbatim}
-+    % groupadd mailman
-+    % useradd -c''GNU Mailman'' -s /no/shell -d /no/home -g mailman mailman
-+\end{verbatim}
-+
-+\subsection{Create the installation directory\label{create-install-dir}}
-+Typically, Mailman is installed into a single directory, which includes both
-+the Mailman source code and the run-time list and archive data.  It is
-+possible to split the static program files from the variable data files and
-+install them in separate directories.  This section will describe the
-+available options.
-+
-+The default is to install all of Mailman to
-+\file{/usr/local/mailman}\footnote{This is the default for Mailman 2.1.
-+Earlier versions of Mailman installed everything under \file{/home/mailman} by
-+default.}.  You can change this base installation directory (referred to here
-+as \var{\$prefix}) by specifying the directory with the
-+\longprogramopt{prefix} \program{configure} option.  If you're upgrading from
-+a previous version of Mailman, you may want to use the \longprogramopt{prefix}
-+option unless you move your mailing lists.
-+
-+\begin{notice}[warning]
-+You cannot install Mailman on a filesystem that is mounted with the
-+\code{nosuid} option.  This will break Mailman, which relies on setgid
-+programs for its security.  If this describes your environment, simply install
-+Mailman in a location that allows setgid programs.
-+\end{notice}
-+
-+Make sure the installation directory is set to group \code{mailman} (or
-+whatever you're going to specify with \longprogramopt{with-groupname}) and has
-+the setgid bit set\footnote{BSD users should see the \ref{bsd-issues} section
-+for additional information.}.  You probably also want to guarantee that this
-+directory is readable and executable by everyone.  For example, these shell
-+commands will accomplish this:
-+
-+\begin{verbatim}
-+    % cd $prefix
-+    % chgrp mailman .
-+    % chmod a+rx,g+ws .
-+\end{verbatim}
-+
-+You are now ready to configure and install the Mailman software.
-+
-+\section{Build and install Mailman\label{building}}
-+
-+\subsection{Run \program{configure}}
-+
-+Before you can install Mailman, you must run \program{configure} to set
-+various installation options your system might need.
-+
-+\begin{notice}[note]
-+Take special note of the \longprogramopt{with-mail-gid} and
-+\longprogramopt{with-cgi-gid} options below.  You will probably need to use
-+these.
-+\end{notice}
-+
-+You should \strong{not} be root while performing the steps in this section.
-+Do them under your own login, or whatever account you typically use to install
-+software.  You do not need to do these steps as user \code{mailman}, but you
-+could.  However, make sure that the login used is a member of the
-+\code{mailman} group as that that group has write permissions to the
-+\var{\$prefix} directory made in the previous step.  You must also have
-+permission to create a setgid file in the file system where it resides (NFS
-+and other mounts can be configured to inhibit setgid settings).
-+
-+If you've installed other GNU software, you should be familiar with the
-+\program{configure} script.  Usually you can just \program{cd} to the
-+directory you unpacked the Mailman source tarball into, and run
-+\program{configure} with no arguments:
-+
-+\begin{verbatim}
-+  % cd mailman-<version>
-+  % ./configure
-+  % make install
-+\end{verbatim}
-+
-+The following options allow you to customize your Mailman
-+installation.
-+
-+\begin{description}
-+\item[\longprogramopt{prefix}=\var{dir}]
-+    Standard GNU configure option which changes the base directory that
-+    Mailman is installed into.  By default \var{\$prefix} is
-+    \file{/usr/local/mailman}.  This directory must already exist, and be set
-+    up as described in \ref{create-install-dir}.
-+
-+\item[\longprogramopt{exec-prefix}=\var{dir}]
-+    Standard GNU configure option which lets you specify a different
-+    installation directory for architecture dependent binaries.
-+
-+\item[\longprogramopt{with-var-prefix}=\var{dir}]
-+    Store mutable data under \var{dir} instead of under the \var{\$prefix} or
-+    \var{\$exec_prefix}.  Examples of such data include the list archives and
-+    list settings database.
-+
-+\item[\longprogramopt{with-python}=\file{/path/to/python}]
-+    Specify an alternative Python interpreter to use for the wrapper programs.
-+    The default is to use the interpreter found first on your shell's
-+    \var{\$PATH}.
-+
-+\item[\longprogramopt{with-username}=\var{username-or-uid}]
-+    Specify a different username than \code{mailman}.  The value of this
-+    option can be an integer user id or a user name.  Be sure your
-+    \var{\$prefix} directory is owned by this user.
-+
-+\item[\longprogramopt{with-groupname}=\var{groupname-or-gid}]
-+    Specify a different groupname than \code{mailman}.  The value of this
-+    option can be an integer group id or a group name.  Be sure your
-+    \var{\$prefix} directory is group-owned by this group.
-+
-+\item[\longprogramopt{with-mail-gid}=\var{group-or-groups}]
-+    Specify an alternative group for running scripts via the mail wrapper.
-+    \var{group-or-groups} can be a list of one or more integer group ids or
-+    symbolic group names.  The first value in the list that resolves to an
-+    existing group is used.  By default, the value is the list \code{mailman},
-+    \code{other}, \code{mail}, and \code{daemon}.
-+
-+    \begin{notice}[note]
-+    This is highly system dependent and you must get this right, because the
-+    group id is compiled into the mail wrapper program for added security.  On
-+    systems using \program{sendmail}, the \file{sendmail.cf} configuration
-+    file designates the group id of \program{sendmail} processes using the
-+    \var{DefaultUser} option.  (If commented out, it still may be indicating
-+    the default...)
-+    \end{notice}
-+
-+    Check your mail server's documentation and configuration files to find the
-+    right value for this switch.
-+
-+\item[\longprogramopt{with-cgi-gid}=\var{group-or-groups}]
-+    Specify an alternative group for running scripts via the CGI wrapper.
-+    \var{group-or-groups} can be a list of one or more integer group ids or
-+    symbolic group names.  The first value in the list that resolves to an
-+    existing group is used.  By default, the value is the the list
-+    \code{www}, \code{www-data}, and \code{nobody}.
-+
-+    \begin{notice}[note]
-+    The proper value for this is dependent on your web server configuration.
-+    You must get this right, because the group id is compiled into the CGI
-+    wrapper program for added security, and no Mailman CGI scripts will run if
-+    this is incorrect.
-+    \end{notice}
-+
-+    If you're using Apache, check the values for the \var{Group} option in
-+    your \file{httpd.conf} file.
-+
-+\item[\longprogramopt{with-cgi-ext}=\var{extension}]
-+    Specify an extension for cgi-bin programs.  The CGI wrappers placed in
-+    \file{\var{\$prefix}/cgi-bin} will have this extension (some web servers
-+    require an extension).  \var{extension} must include the leading dot.
-+
-+\item[\longprogramopt{with-mailhost}=\var{hostname}]
-+    Specify the fully qualified host name part for outgoing email.  After the
-+    installation is complete, this value can be overriden in
-+    \file{\var{\$prefix}/Mailman/mm_cfg.py}.
-+
-+\item[\longprogramopt{with-urlhost}=\var{hostname}]
-+    Specify the fully qualified host name part of urls.  After the
-+    installation is complete, this value can be overriden in
-+    \file{\var{\$prefix}/Mailman/mm_cfg.py}.
-+
-+\item[\longprogramopt{with-gcc}=no]
-+    Don't use gcc, even if it is found.  In this case, \program{cc} must be
-+    found on your \var{\$PATH}.
-+
-+\end{description}
-+
-+\subsection{Make and install}
-+
-+Once you've run \program{configure}, you can simply run \program{make}, then
-+\program{make install} to build and install Mailman.
-+
-+\section{Check your installation}
-+
-+After you've run \program{make install}, you should check that your
-+installation has all the correct permissions and group ownerships by running
-+the \program{check_perms} script.  First change to the installation
-+(i.e. \var{\$prefix}) directory, then run the \program{bin/check_perms}
-+program.  Don't try to run bin/check_perms from the source directory; it will
-+only run from the installation directory.
-+
-+If this reports no problems, then it's very likely <wink> that your
-+installation is set up correctly.  If it reports problems, then you can either
-+fix them manually, re-run the installation, or use \program{bin/check_perms}
-+to fix the problems (probably the easiest solution):
-+
-+\begin{itemize}
-+\item You need to become the user that did the installation, and that owns all
-+      the files in \var{\$prefix}, or root.
-+
-+\item Run \program{bin/check_perms -f}
-+
-+\item Repeat previous step until no more errors are reported!
-+\end{itemize}
-+
-+\begin{notice}[warning]
-+If you're running Mailman on a shared multiuser system, and you have mailing
-+lists with private archives, you may want to hide the private archive
-+directory from other users on your system.  In that case, you should drop the
-+other execute permission (o-x) from the \file{archives/private} directory.
-+However, the web server process must be able to follow the symbolic link in
-+public directory, otherwise your public Pipermail archives will not work.  To
-+set this up, become root and run the following commands:
-+
-+\begin{verbatim}
-+# cd <prefix>/archives
-+# chown <web-server-user> private
-+# chmod o-x private
-+\end{verbatim}
-+
-+You need to know what user your web server runs as.  It may be \code{www},
-+\code{apache}, \code{httpd} or \code{nobody}, depending on your server's
-+configuration.
-+\end{notice}
-+
-+\section{Set up your web server}
-+
-+Congratulations!  You've installed the Mailman software.  To get everything
-+running you need to hook Mailman up to both your web server and your mail
-+system.
-+
-+If you plan on running your mail and web servers on different machines,
-+sharing Mailman installations via NFS, be sure that the clocks on those two
-+machines are synchronized closely.  You might take a look at the file
-+\file{Mailman/LockFile.py}; the constant \var{CLOCK_SLOP} helps the locking
-+mechanism compensate for clock skew in this type of environment.
-+
-+This section describes some of the things you need to do to connect Mailman's
-+web interface to your web server.  The instructions here are somewhat geared
-+toward the Apache web server, so you should consult your web server
-+documentation for details.
-+
-+You must configure your web server to enable CGI script permission in the
-+\file{\var{\$prefix}/cgi-bin} to run CGI scripts.  The line you should add
-+might look something like the following, with the real absolute directory
-+substituted for \var{\$prefix}, of course:
-+
-+\begin{verbatim}
-+    Exec        /mailman/*      $prefix/cgi-bin/*
-+\end{verbatim}
-+% $ - emacs turd
-+
-+  or:
-+
-+\begin{verbatim}
-+    ScriptAlias /mailman/       $prefix/cgi-bin/
-+\end{verbatim}
-+% $ - emacs turd
-+
-+\begin{notice}[warning]
-+You want to be very sure that the user id under which your CGI scripts run is
-+\strong{not} in the \code{mailman} group you created above, otherwise private
-+archives will be accessible to anyone.
-+\end{notice}
-+
-+Copy the Mailman, Python, and GNU logos to a location accessible to your web
-+server.  E.g. with Apache, you've usually got an \file{icons} directory that
-+you can drop the images into.  For example:
-+
-+\begin{verbatim}
-+    % cp $prefix/icons/*.{jpg,png} /path/to/apache/icons
-+\end{verbatim}
-+
-+You then want to add a line to your \file{\var{\$prefix}/Mailman/mm_cfg.py}
-+file which sets the base URL for the logos.  For example:
-+
-+\begin{verbatim}
-+  IMAGE_LOGOS = '/images/'
-+\end{verbatim}
-+
-+The default value for \var{IMAGE_LOGOS} is \file{/icons/}.  Read the comment
-+in \file{Defaults.py.in} for details.
-+
-+Configure your web server to point to the Pipermail public mailing list
-+archives.  For example, in Apache:
-+
-+\begin{verbatim}
-+    Alias   /pipermail/     $varprefix/archives/public/
-+\end{verbatim}
-+% $ - emacs turd
-+
-+where \var{\$varprefix} is usually \var{\$prefix} unless you've used the
-+\longprogramopt{with-var-prefix} option to \program{configure}.  Also be
-+sure to configure your web server to follow symbolic links in this directory,
-+otherwise public Pipermail archives won't be accessible.  For Apache users,
-+consult the \var{FollowSymLinks} option.
-+
-+If you're going to be supporting internationalized public archives, you will
-+probably want to turn off any default charset directive for the Pipermail
-+directory, otherwise your multilingual archive pages won't show up correctly.
-+Here's an example for Apache, based on the standard installation directories:
-+
-+\begin{verbatim}
-+    <Directory "/usr/local/mailman/archives/public/">
-+        AddDefaultCharset Off
-+    </Directory>
-+\end{verbatim}
-+
-+Now restart your web server.
-+
-+\section{Set up your mail server\label{mail-server}}
-+
-+This section describes some of the things you need to do to connect Mailman's
-+email interface to your mail server.  The instructions here are different for
-+each mail server; if your mail server is not described in the following
-+subsections, try to generalize from the existing documentation, and consider
-+contributing documentation updates to the Mailman developers.
-+
-+\subsection{Using the Postfix mail server}
-+
-+Mailman should work pretty much out of the box with a standard Postfix
-+installation.  It has been tested with various Postfix versions up to and
-+including Postfix 2.1.5.
-+
-+In order to support Mailman's optional VERP delivery, you will want to disable
-+\code{luser_relay} (the default) and you will want to set
-+\code{recipient_delimiter} for extended address semantics.  You should comment
-+out any \code{luser_relay} value in your \file{main.cf} and just go with the
-+defaults.  Also, add this to your \file{main.cf} file:
-+
-+\begin{verbatim}
-+    recipient_delimiter = +
-+\end{verbatim}
-+
-+Using \samp{+} as the delimiter works well with the default values for
-+\var{VERP_FORMAT} and \var{VERP_REGEXP} in \file{Defaults.py}.
-+
-+When attempting to deliver a message to a non-existent local address, Postfix
-+may return a 450 error code.  Since this is a transient error code, Mailman
-+will continue to attempt to deliver the message for
-+\var{DELIVERY_RETRY_PERIOD} -- 5 days by default.  You might want to set
-+Postfix up so that it returns permanent error codes for non-existent local
-+users by adding the following to your \file{main.cf} file:
-+
-+\begin{verbatim}
-+    unknown_local_recipient_reject_code = 550
-+\end{verbatim}
-+
-+Finally, if you are using Postfix-style virtual domains, read the section on
-+virtual domain support below.
-+
-+\subsubsection{Integrating Postfix and Mailman}
-+
-+You can integrate Postfix and Mailman such that when new lists are created, or
-+lists are removed, Postfix's alias database will be automatically updated.
-+The following are the steps you need to take to make this work.
-+
-+In the description below, we assume that you've installed Mailman in the
-+default location, i.e. \file{/usr/local/mailman}.  If that's not the case,
-+adjust the instructions according to your use of \program{configure}'s
-+\longprogramopt{prefix} and \longprogramopt{with-var-prefix} options.
-+
-+\begin{notice}[note]
-+If you are using virtual domains and you want Mailman to honor your virtual
-+domains, read the \ref{postfix-virtual} section below first!
-+\end{notice}
-+
-+\begin{itemize}
-+\item Add this to the bottom of the \file{\var{\$prefix}/Mailman/mm_cfg.py}
-+      file:
-+
-+      \begin{verbatim}
-+        MTA = 'Postfix'
-+      \end{verbatim}
-+
-+      The MTA variable names a module in the \file{Mailman/MTA} directory
-+      which contains the mail server-specific functions to be executed when a
-+      list is created or removed.
-+
-+\item Look at the \file{Defaults.py} file for the variables
-+      \var{POSTFIX_ALIAS_CMD} and \var{POSTFIX_MAP_CMD} command.  Make sure
-+      these point to your \program{postalias} and \program{postmap} programs
-+      respectively.  Remember that if you need to make changes, do it in
-+      \file{mm_cfg.py}.
-+
-+\item Run the \program{bin/genaliases} script to initialize your
-+      \file{aliases} file.
-+
-+      \begin{verbatim}
-+        % cd /usr/local/mailman
-+        % bin/genaliases
-+      \end{verbatim}
-+
-+      Make sure that the owner of the \file{data/aliases} and
-+      \file{data/aliases.db} file is \code{mailman}, that the group owner
-+      for those files is \code{mailman}, or whatever user and group you used
-+      in the configure command, and that both files are group writable:
-+
-+      \begin{verbatim}
-+        % su
-+        % chown mailman:mailman data/aliases*
-+        % chmod g+w data/aliases*
-+      \end{verbatim}
-+
-+\item Hack your Postfix's \file{main.cf} file to include the following path in
-+      your \var{alias_maps} variable:
-+
-+      \begin{verbatim}
-+          /usr/local/mailman/data/aliases
-+      \end{verbatim}
-+
-+      Note that there should be no trailing \code{.db}.  Do not include this
-+      in your \var{alias_database} variable.  This is because you do not want
-+      Postfix's \program{newaliases} command to modify Mailman's
-+      \file{aliases.db} file, but you do want Postfix to consult
-+      \file{aliases.db} when looking for local addresses.
-+
-+      You probably want to use a \code{hash:} style database for this entry.
-+      Here's an example:
-+
-+      \begin{verbatim}
-+        alias_maps = hash:/etc/postfix/aliases,
-+            hash:/usr/local/mailman/data/aliases
-+      \end{verbatim}
-+
-+\item When you configure Mailman, use the
-+      \longprogramopt{with-mail-gid=mailman} switch; this will be the default
-+      if you configured Mailman after adding the \code{mailman} owner.
-+      Because the owner of the \file{aliases.db} file is \code{mailman},
-+      Postfix will execute Mailman's wrapper program as uid and gid
-+      \code{mailman}.
-+
-+\end{itemize}
-+
-+That's it!  One caveat: when you add or remove a list, the \file{aliases.db}
-+file will updated, but it will not automatically run \program{postfix reload}.
-+This is because you need to be root to run this and suid-root scripts are not
-+secure.  The only effect of this is that it will take about a minute for
-+Postfix to notice the change to the \file{aliases.db} file and update its
-+tables.
-+
-+\subsubsection{Virtual domains\label{postfix-virtual}}
-+
-+Postfix 2.0 supports ``virtual alias domains'', essentially what used to be
-+called ``Postfix-style virtual domains'' in earlier Postfix versions.  To make
-+virtual alias domains work with Mailman, you need to do some setup in both
-+Postfix and Mailman.  Mailman will write all virtual alias mappings to a file
-+called, by default, \file{/usr/local/mailman/data/virtual-mailman}.  It will
-+also use \program{postmap} to create the \program{virtual-mailman.db} file
-+that Postfix will actually use.
-+
-+First, you need to set up the Postfix virtual alias domains as described in
-+the Postfix documentation (see Postfix's \code{virtual(5)} manpage).  Note
-+that it's your responsibility to include the \code{virtual-alias.domain
-+anything} line as described manpage; Mailman will not include this line in
-+\file{virtual-mailman}.  You are highly encouraged to make sure your virtual
-+alias domains are working properly before integrating with Mailman.
-+
-+Next, add a path to Postfix's \var{virtual_alias_maps} variable, pointing to
-+the virtual-mailman file, e.g.:
-+
-+\begin{verbatim}
-+    virtual_alias_maps = <your normal virtual alias files>,
-+        hash:/usr/local/mailman/data/virtual-mailman
-+\end{verbatim}
-+
-+assuming you've installed Mailman in the default location.  If you're using an
-+older version of Postfix which doesn't have the \var{virtual_alias_maps}
-+variable, use the \var{virtual_maps} variable instead.
-+
-+Next, in your \file{mm_cfg.py} file, you will want to set the variable
-+\var{POSTFIX_STYLE_VIRTUAL_DOMAINS} to the list of virtual domains that Mailman
-+should update.  This may not be all of the virtual alias domains that your
-+Postfix installation supports!  The values in this list will be matched
-+against the \var{host_name} attribute of mailing lists objects, and must be an
-+exact match.
-+
-+Here's an example.  Say that Postfix is configured to handle the virtual
-+domains \code{dom1.ain}, \code{dom2.ain}, and \code{dom3.ain}, and further
-+that in your \file{main.cf} file you've got the following settings:
-+
-+\begin{verbatim}
-+    myhostname = mail.dom1.ain
-+    mydomain = dom1.ain
-+    mydestination = $myhostname, localhost.$mydomain
-+    virtual_alias_maps =
-+        hash:/some/path/to/virtual-dom1,
-+        hash:/some/path/to/virtual-dom2,
-+        hash:/some/path/to/virtual-dom2
-+\end{verbatim}
-+
-+If in your \file{virtual-dom1} file, you've got the following lines:
-+
-+\begin{verbatim}
-+    dom1.ain  IGNORE
-+    @dom1.ain @mail.dom1.ain
-+\end{verbatim}
-+
-+this tells Postfix to deliver anything addressed to \code{dom1.ain} to the
-+same mailbox at \code{mail.dom1.com}, its default destination.
-+
-+In this case you would not include \code{dom1.ain} in
-+\var{POSTFIX_STYLE_VIRTUAL_DOMAINS} because otherwise Mailman will write
-+entries for mailing lists in the dom1.ain domain as
-+
-+\begin{verbatim}
-+    mylist at dom1.ain         mylist
-+    mylist-request at dom1.ain mylist-request
-+    # and so on...
-+\end{verbatim}
-+
-+The more specific entries trump your more general entries, thus breaking the
-+delivery of any \code{dom1.ain} mailing list.
-+
-+However, you would include \code{dom2.ain} and \code{dom3.ain} in
-+\file{mm_cfg.py}:
-+
-+\begin{verbatim}
-+    POSTFIX_STYLE_VIRTUAL_DOMAINS = ['dom2.ain', 'dom3.ain']
-+\end{verbatim}
-+
-+Now, any list that Mailman creates in either of those two domains, will have
-+the correct entries written to \file{/usr/local/mailman/data/virtual-mailman}.
-+
-+As above with the \file{data/aliases*} files, you want to make sure that both
-+\file{data/virtual-mailman} and \file{data/virtual-mailman.db} are user and
-+group owned by \code{mailman}.
-+
-+\subsubsection{An alternative approach}
-+
-+Fil \email{fil at rezo.net} has an alternative approach based on virtual maps and
-+regular expressions, as described at:
-+
-+\begin{itemize}
-+\item (French)  \url{http://listes.rezo.net/comment.php}
-+\item (English) \url{http://listes.rezo.net/how.php}
-+\end{itemize}
-+
-+This is a good (and simpler) alternative if you don't mind exposing an
-+additional hostname in the domain part of the addresses people will use to
-+contact your list.  I.e. if people should use \code{mylist at lists.dom.ain}
-+instead of \code{mylist at dom.ain}.
-+
-+\subsection{Using the Exim mail server}
-+
-+\begin{notice}[note]
-+This section is derived from Nigel Metheringham's ``HOWTO - Using Exim and
-+Mailman together'', which covers Mailman 2.0.x and Exim 3.  It has been
-+updated to cover Mailman 2.1 and Exim 4.  The original document is here:
-+\url{http://www.exim.org/howto/mailman.html}.
-+\end{notice}
-+
-+There is no Mailman configuration needed other than the standard options
-+detailed in the Mailman install documentation.  The Exim configuration is
-+transparent to Mailman.  The user and group settings for Mailman must match
-+those in the config fragments given below.
-+
-+\subsubsection{Exim configuration}
-+
-+The Exim configuration is built so that a list created within Mailman
-+automatically appears to Exim without the need for defining any additional
-+aliases.
-+
-+The drawback of this configuration is that it will work poorly on systems
-+supporting lists in several different mail domains.  While Mailman handles
-+virtual domains, it does not yet support having two distinct lists with the
-+same name in different virtual domains, using the same Mailman installation.
-+This will eventually change.  (But see below for a variation on this scheme
-+that should accommodate virtual domains better.)
-+
-+The configuration file excerpts below are for use in an already functional
-+Exim configuration, which accepts mail for the domain in which the list
-+resides.  If this domain is separate from the others handled by your Exim
-+configuration, then you'll need to:
-+
-+\begin{itemize}
-+\item add the list domain, ``my.list.domain'' to \var{local_domains}
-+
-+\item add a ``domains=my.list.domain'' option to the director (router) for the
-+      list
-+
-+\item (optional) exclude that domain from your other directors (routers)
-+\end{itemize}
-+
-+\begin{notice}[note]
-+The instructions in this document should work with either Exim 3 or Exim 4.
-+In Exim 3, you must have a \var{local_domains} configuration setting; in Exim
-+4, you most likely have a \var{local_domains} domainlist.  If you don't, you
-+probably know what you're doing and can adjust accordingly.  Similarly, in
-+Exim 4 the concept of ``directors'' has disappeared -- there are only routers
-+now.  So if you're using Exim 4, whenever this document says ``director'',
-+read ``router''.
-+\end{notice}
-+
-+Whether you are using Exim 3 or Exim 4, you will need to add some macros to
-+the main section of your Exim config file.  You will also need to define one
-+new transport.  With Exim 3, you'll need to add a new director; with Exim 4, a
-+new router plays the same role.
-+
-+Finally, the configuration supplied here should allow co-habiting Mailman 2.0
-+and 2.1 installations, with the proviso that you'll probably want to use
-+\code{mm21} in place of \code{mailman} -- e.g., \var{MM21_HOME},
-+\var{mm21_transport}, etc.
-+
-+\subsubsection{Main configuration settings}
-+
-+First, you need to add some macros to the top of your Exim config file.  These
-+just make the director (router) and transport below a bit cleaner.  Obviously,
-+you'll need to edit these based on how you configured and installed Mailman.
-+
-+\begin{verbatim}
-+    # Home dir for your Mailman installation -- aka Mailman's prefix
-+    # directory.
-+    MAILMAN_HOME=/usr/local/mailman
-+    MAILMAN_WRAP=MAILMAN_HOME/mail/mailman
-+
-+    # User and group for Mailman, should match your --with-mail-gid
-+    # switch to Mailman's configure script.
-+    MAILMAN_USER=mailman
-+    MAILMAN_GROUP=mailman
-+\end{verbatim}
-+
-+\subsubsection{Transport for Exim 3\label{exim3-transport}}
-+
-+Add this to the transports section of your Exim config file,
-+i.e. somewhere between the first and second ``end'' line:
-+
-+\begin{verbatim}
-+  mailman_transport:
-+    driver = pipe
-+    command = MAILMAN_WRAP \
-+              '${if def:local_part_suffix \
-+                    {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
-+                    {post}}' \
-+              $local_part
-+    current_directory = MAILMAN_HOME
-+    home_directory = MAILMAN_HOME
-+    user = MAILMAN_USER
-+    group = MAILMAN_GROUP
-+\end{verbatim}
-+
-+\subsubsection{Director for Exim 3}
-+
-+If you're using Exim 3, you'll need to add the following director to your
-+config file (directors go between the second and third ``end'' lines).  Also,
-+don't forget that order matters -- e.g. you can make Mailman lists take
-+precedence over system aliases by putting this director in front of your
-+aliasfile director, or vice-versa.
-+
-+\begin{verbatim}
-+  # Handle all addresses related to a list 'foo': the posting address.
-+  # Automatically detects list existence by looking
-+  # for lists/$local_part/config.pck under MAILMAN_HOME.
-+  mailman_director:
-+    driver = smartuser
-+    require_files = MAILMAN_HOME/lists/$local_part/config.pck
-+    suffix_optional
-+    suffix = -bounces : -bounces+* : \
-+             -confirm+* : -join : -leave : \
-+             -owner : -request : -admin
-+    transport = mailman_transport
-+\end{verbatim}
-+
-+\subsubsection{Router for Exim 4}
-+
-+In Exim 4, there's no such thing as directors -- you need to add a new router
-+instead.  Also, the canonical order of the configuration file was changed so
-+routers come before transports, so the router for Exim 4 comes first here.
-+Put this router somewhere after the ``begin routers'' line of your config
-+file, and remember that order matters.
-+
-+\begin{verbatim}
-+  mailman_router:
-+    driver = accept
-+    require_files = MAILMAN_HOME/lists/$local_part/config.pck
-+    local_part_suffix_optional
-+    local_part_suffix = -bounces : -bounces+* : \
-+                        -confirm+* : -join : -leave : \
-+                        -owner : -request : -admin
-+    transport = mailman_transport
-+\end{verbatim}
-+% $ - emacs turds
-+
-+\subsubsection{Transports for Exim 4}
-+
-+The transport for Exim 4 is the same as for Exim 3 (see \ref{exim3-transport};
-+just copy the transport given above to somewhere under the ``begin
-+transports'' line of your Exim config file.
-+
-+\subsubsection{Additional notes}
-+
-+Exim should be configured to allow reasonable volume -- e.g. don't set
-+\var{max_recipients} down to a silly value -- and with normal degrees of
-+security -- specifically, be sure to allow relaying from 127.0.0.1, but pretty
-+much nothing else.  Parallel deliveries and other tweaks can also be used if
-+you like; experiment with your setup to see what works.  Delay warning
-+messages should be switched off or configured to only happen for non-list
-+mail, unless you like receiving tons of mail when some random host is down.
-+
-+\subsubsection{Problems}
-+
-+\begin{itemize}
-+
-+\item Mailman will send as many \code{MAIL FROM}/\code{RCPT TO} as it needs.
-+      It may result in more than 10 or 100 messages sent in one connection,
-+      which will exceed the default value of Exim's
-+      \var{smtp_accept_queue_per_connection} value.  This is bad because it
-+      will cause Exim to switch into queue mode and severely delay delivery of
-+      your list messages.  The way to fix this is to set Mailman's
-+      \var{SMTP_MAX_SESSIONS_PER_CONNECTION} (in
-+      \file{\var{\$prefix}/Mailman/mm_cfg.py}) to a smaller value than Exim's
-+      \var{smtp_accept_queue_per_connection}.
-+
-+\item Mailman should ignore Exim delay warning messages, even though Exim
-+      should never send this to list messages.  Mailman 2.1's general bounce
-+      detection and VERP support should greatly improve the bounce detector's
-+      hit rates.
-+
-+\item List existence is determined by the existence of a \file{config.pck}
-+      file for a list.  If you delete lists by foul means, be aware of this.
-+
-+\item If you are getting Exim or Mailman complaining about user ids when you
-+      send mail to a list, check that the \var{MAILMAN_USER} and
-+      \var{MAILMAN_GROUP} match those of Mailman itself (i.e. what were used
-+      in the \program{configure} script).  Also make sure you do not have
-+      aliases in the main alias file for the list.
-+\end{itemize}
-+
-+\subsubsection{Receiver Verification}
-+
-+Exim's receiver verification feature is very useful -- it lets Exim reject
-+unrouteable addresses at SMTP time.  However, this is most useful for
-+externally-originating mail that is addressed to mail in one of your local
-+domains.  For Mailman list traffic, mail originates on your server, and is
-+addressed to random external domains that are not under your control.
-+Furthermore, each message is addressed to many recipients
-+-- up to 500 if you use Mailman's default configuration and don't tweak
-+\var{SMTP_MAX_RCPTS}.
-+
-+Doing receiver verification on Mailman list traffic is a recipe for trouble.
-+In particular, Exim will attempt to route every recipient addresses in
-+outgoing Mailman list posts.  Even though this requires nothing more than a
-+few DNS lookups for each address, it can still introduce significant delays.
-+Therefore, you should disable recipient verification for Mailman traffic.
-+
-+Under Exim 3, put this in your main configuration section:
-+
-+\begin{verbatim}
-+    receiver_verify_hosts = !127.0.0.1
-+\end{verbatim}
-+
-+Under Exim 4, this is probably already taken care of for you by the default
-+recipient verification ACL statement (in the \code{RCPT TO} ACL):
-+
-+\begin{verbatim}
-+  accept  domains       = +local_domains
-+          endpass
-+          message       = unknown user
-+          verify        = recipient
-+\end{verbatim}
-+
-+which only does recipient verification on addresses in your domain.  (That's
-+not exactly the same as doing recipient verification only on messages coming
-+from non-127.0.0.1 hosts, but it should do the trick for Mailman.)
-+
-+\subsubsection{SMTP Callback}
-+
-+Exim's SMTP callback feature is an even more powerful way to detect bogus
-+sender addresses than normal sender verification.  Unfortunately, lots of
-+servers send bounce messages with a bogus address in the header, and there are
-+plenty that send bounces with bogus envelope senders (even though they're
-+supposed to just use an empty envelope sender for bounces).
-+
-+In order to ensure that Mailman can disable/remove bouncing addresses, you
-+generally want to receive bounces for Mailman lists, even if those bounces are
-+themselves not bounceable.  Thus, you might want to disable SMTP callback on
-+bounce messages.
-+
-+With Exim 4, you can accomplish this using something like the following in
-+your \code{RCPT TO} ACL:
-+
-+\begin{verbatim}
-+  # Accept bounces to lists even if callbacks or other checks would fail
-+  warn     message      = X-WhitelistedRCPT-nohdrfromcallback: Yes
-+           condition    = \
-+           ${if and {{match{$local_part}{(.*)-bounces\+.*}} \
-+                     {exists {MAILMAN_HOME/lists/$1/config.pck}}} \
-+                {yes}{no}}
-+                {yes}{no}}
-+
-+  accept   condition    = \
-+           ${if and {{match{$local_part}{(.*)-bounces\+.*}} \
-+                     {exists {MAILMAN_HOME/lists/$1/config.pck}}} \
-+                {yes}{no}}
-+                {yes}{no}}
-+
-+  # Now, check sender address with SMTP callback.
-+  deny   !verify = sender/callout=90s
-+\end{verbatim}
-+
-+If you also do SMTP callbacks on header addresses, you'll want something like
-+this in your \code{DATA} ACL:
-+
-+\begin{verbatim}
-+  deny   !condition = $header_X-WhitelistedRCPT-nohdrfromcallback:
-+         !verify = header_sender/callout=90s
-+\end{verbatim}
-+% $ - emacs turd
-+
-+\subsubsection{Doing VERP with Exim and Mailman}
-+
-+VERP will send one email, with a separate envelope sender (return path), for
-+each of your subscribers -- read the information in
-+\file{\var{\$prefix}/Mailman/Defaults.py} for the options that start with VERP.
-+In a nutshell, all you need to do to enable VERP with Exim is to add these lines to \file{\var{\$prefix}/Mailman/mm_cfg.py}:
-+
-+\begin{verbatim}
-+    VERP_PASSWORD_REMINDERS = Yes
-+    VERP_PERSONALIZED_DELIVERIES = Yes
-+    VERP_DELIVERY_INTERVAL = Yes
-+    VERP_CONFIRMATIONS = Yes
-+\end{verbatim}
-+
-+(The director (router) above is smart enough to deal with VERP bounces.)
-+
-+\subsubsection{Virtual Domains}
-+
-+One approach to handling virtual domains is to use a separate Mailman
-+installation for each virtual domain.  Currently, this is the only way to have
-+lists with the same name in different virtual domains handled by the same
-+machine.
-+
-+In this case, the \var{MAILMAN_HOME} and \var{MAILMAN_WRAP} macros are useless
-+-- you can remove them.  Change your director (router) to something like this:
-+
-+\begin{verbatim}
-+  require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.pck
-+\end{verbatim}
-+% $ - emacs turd
-+
-+and change your transport like this:
-+
-+\begin{verbatim}
-+  command = /virtual/${domain}/mailman/mail/mailman \
-+            ${if def:local_part_suffix \
-+                 {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}}
-+                 {post}} \
-+              $local_part
-+  current_directory = /virtual/${domain}/mailman
-+  home_directory = /virtual/${domain}/mailman
-+\end{verbatim}
-+% $ - emacs turd
-+
-+\subsubsection{List Verification}
-+
-+This is how a set of address tests for the Exim lists look on a working
-+system.  The list in question is \email{quixote-users at mems-exchange.org}, and
-+these commands were run on the \code{mems-exchange.org} mail server ("\% "
-+indicates the Unix shell prompt):
-+
-+\begin{verbatim}
-+  % exim -bt quixote-users
-+  quixote-users at mems-exchange.org
-+    router = mailman_main_router, transport = mailman_transport
-+
-+  % exim -bt quixote-users-request
-+  quixote-users-request at mems-exchange.org
-+    router = mailman_router, transport = mailman_transport
-+
-+  % exim -bt quixote-users-bounces
-+  quixote-users-bounces at mems-exchange.org
-+    router = mailman_router, transport = mailman_transport
-+
-+  % exim -bt quixote-users-bounces+luser=example.com
-+  quixote-users-bounces+luser=example.com at mems-exchange.org
-+    router = mailman_router, transport = mailman_transport
-+\end{verbatim}
-+
-+If your \program{exim -bt} output looks something like this, that's a start:
-+at least it means Exim will pass the right messages to the right Mailman
-+commands.  It by no means guarantees that your Exim/Mailman installation is
-+functioning perfectly, though!
-+
-+\subsubsection{Document History}
-+
-+Originally written by Nigel Metheringham \email{postmaster at exim.org}.  Updated
-+by Marc Merlin \email{marc_soft at merlins.org} for Mailman 2.1, Exim 4.
-+Overhauled/reformatted/clarified/simplified by Greg Ward
-+\email{gward at python.net}.
-+
-+\subsection{Using the Sendmail mail server}
-+
-+\begin{notice}[warning]
-+You may be tempted to set the \var{DELIVERY_MODULE} configuration variable in
-+\file{mm_cfg.py} to \code{'Sendmail'} when using the Sendmail mail server.
-+\strong{Don't}.  The \file{Sendmail.py} module is misnamed -- it's really a
-+command line based message handoff scheme as opposed to the SMTP scheme used
-+in \file{SMTPDirect.py} (the default).  \file{Sendmail.py} has known security
-+holes and is provided as a proof-of-concept only\footnote{In fact, in later
-+versions of Mailman, this module is explicitly sabotaged.  You have to know
-+what you're doing in order to re-enable it.}.  If you are having problems
-+using \file{SMTPDirect.py} fix those instead of using \file{Sendmail.py}, or
-+you may open your system up to security exploits.
-+\end{notice}
-+
-+\subsubsection{Sendmail ``smrsh'' compatibility}
-+
-+Many newer versions of Sendmail come with a restricted execution utility
-+called ``smrsh'', which limits the executables that Sendmail will allow to be
-+used as mail programs.  You need to explicitly allow Mailman's wrapper program
-+to be used with smrsh or Mailman will not work.  If mail is not getting
-+delivered to Mailman's wrapper program and you're getting an ``operating
-+system error'' in your mail syslog, this could be your problem.
-+
-+One good way of enabling this is:
-+
-+\begin{itemize}
-+    \item Find out where your Sendmail executes its smrsh wrapper
-+
-+          \begin{verbatim}
-+            % grep smrsh /etc/mail/sendmail.cf
-+          \end{verbatim}
-+
-+    \item Figure out where smrsh expects symlinks for allowable mail
-+          programs.  At the very beginning of the following output you will
-+          see a full path to some directory, e.g. \file{/var/adm/sm.bin} or
-+          similar:
-+
-+          \begin{verbatim}
-+            % strings $path_to_smrsh | less
-+          \end{verbatim}
-+
-+    \item cd into \file{/var/adm/sm.bin}, or where ever it happens to reside
-+          on your system -- alternatives include \file{/etc/smrsh},
-+          \file{/var/smrsh} and \file{/usr/local/smrsh}.
-+
-+          \begin{verbatim}
-+            % cd /var/adm/sm.bin
-+          \end{verbatim}
-+
-+    \item Create a symbolic link to Mailman's wrapper program:
-+
-+          \begin{verbatim}
-+            % ln -s /usr/local/mailman/mail/mailman mailman
-+          \end{verbatim}
-+\end{itemize}
-+
-+\subsubsection{Integrating Sendmail and Mailman}
-+
-+David Champion has contributed a recipe for more closely integrating Sendmail
-+and Mailman, such that Sendmail will automatically recognize and deliver to
-+new mailing lists as they are created, without having to manually edit alias
-+tables.
-+
-+In the \file{contrib} directory of Mailman's source distribution, you will
-+find four files:
-+
-+\begin{itemize}
-+\item \file{mm-handler.readme} - an explanation of how to set everything up
-+\item \file{mm-handler}        - the mail delivery agent (MDA)
-+\item \file{mailman.mc}        - a toy configuration file sample
-+\item \file{virtusertable}     - a sample for RFC 2142 address exceptions
-+\end{itemize}
-+
-+\subsubsection{Performance notes}
-+
-+One of the surest performance killers for Sendmail users is when Sendmail is
-+configured to synchronously verify the recipient's host via DNS.  If it does
-+this for messages posted to it from Mailman, you will get horrible
-+performance.  Since Mailman usually connects via \code{localhost}
-+(i.e. 127.0.0.1) to the SMTP port of Sendmail, you should be sure to configure
-+Sendmail to \strong{not} do DNS verification synchronously for localhost
-+connections.
-+
-+\subsection{Using the Qmail mail server\label{qmail-issues}}
-+
-+There are some issues that users of the qmail mail transport agent have
-+encountered.  None of the core maintainers use qmail, so all of this
-+information has been contributed by the Mailman user community, especially
-+Martin Preishuber and Christian Tismer, with notes by Balazs Nagy (BN) and
-+Norbert Bollow (NB).
-+
-+\begin{itemize}
-+\item You might need to set the mail-gid user to either \code{qmail},
-+      \code{mailman}, or \code{nofiles} by using the
-+      \longprogramopt{with-mail-gid} \program{configure} option.
-+
-+      \emph{BN:} it highly depends on your mail storing policy.  For example
-+      if you use the simple \file{\~{}alias/.qmail-*} files, you can use
-+      \program{`id -g alias`}.  But if you use \file{/var/qmail/users}, the
-+      specified mail gid can be used.
-+
-+      If you are going to be directing virtual domains directly to the
-+      \code{mailman} user (using ``virtualdomains'' on a list-only domain, for
-+      example), you will have to use \longprogramopt{with-mail-gid}=\var{gid
-+      of mailman user's group}.  This is incompatible with having list aliases
-+      in \file{\~{}alias}, unless that alias simply forwards to
-+      \code{mailman-listname*}.
-+
-+\item If there is a user \code{mailman} on your system, the alias
-+      \code{mailman-owner} will work only in \file{\~{}mailman}.  You have to do
-+      a \program{touch .qmail-owner} in \file{\~{}mailman} directory to create
-+      this alias.
-+
-+      \emph{NB:} An alternative, IMHO better solution is to \program{chown
-+      root \~{}mailman}, that will stop qmail from considering \code{mailman} to
-+      be a user to whom mail can be delivered.  (See ``man 8 qmail-getpw''.)
-+
-+\item In a related issue, if you have any users with the same name as one of
-+      your mailing lists, you will have problems if list names contain
-+      \samp{-} in them.  Putting \file{.qmail} redirections into the user's
-+      home directory doesn't work because the Mailman wrappers will not get
-+      spawned with the proper GID.  The solution is to put the following lines
-+      in the \file{/var/qmail/users/assign} file:
-+
-+\begin{verbatim}
-+  +zope-:alias:112:11:/var/qmail/alias:-:zope-:
-+  .
-+\end{verbatim}
-+
-+      where in this case the listname is e.g. \code{zope-users}.
-+
-+      \emph{NB:} Alternatively, you could host the lists on a virtual domain,
-+      and use the \file{/var/qmail/control/virtualdomains} file to put the
-+      \code{mailman} user in charge of this virtual domain.
-+
-+\item \emph{BN:}If inbound messages are delivered by another user than
-+      \code{mailman}, it's necessary to allow it to access \file{\~{}mailman}.
-+      Be sure that \file{\~{}mailman} has group writing access and setgid bit is
-+      set.  Then put the delivering user to \code{mailman} group, and you can
-+      deny access to \file{\~{}mailman} to others.  Be sure that you can do the
-+      same with the WWW service.
-+
-+      By the way the best thing is to make a virtual mail server to handle all
-+      of the mail.  \emph{NB:} E.g. make an additional "A" DNS record for the
-+      virtual mailserver pointing to your IP address, add the line
-+      \code{lists.kva.hu:mailman} to \file{/var/qmail/control/virtualdomains}
-+      and a \code{lists.kva.hu} line to \file{/var/qmail/control/rcpthosts}
-+      file.  Don't forget to HUP the qmail-send after modifying
-+      ``virtualdomains''.  Then every mail to lists.kva.hu will arrive to
-+      mail.kva.hu's mailman user.
-+
-+      Then make your aliases:
-+
-+\begin{verbatim}
-+          .qmail              => mailman at ...'s letters
-+          .qmail-owner        => mailman-owner's letters
-+\end{verbatim}
-+
-+      For list aliases, you can either create them manually:
-+
-+\begin{verbatim}
-+          .qmail-list         => posts to the 'list' list
-+          .qmail-list-admin   => posts to the 'list's owner
-+          .qmail-list-request => requests to 'list'
-+          etc
-+\end{verbatim}
-+
-+      or for automatic list alias handling (when using the lists.kva.hu
-+      virtual as above), see \file{contrib/qmail-to-mailman.py} in the Mailman
-+      source distribution.  Modify the \file{\~{}mailman/.qmail-default} to
-+      include:
-+
-+\begin{verbatim}
-+          |preline /path/to/python /path/to/qmail-to-mailman.py
-+\end{verbatim}
-+
-+      and new lists will automatically be picked up.
-+
-+\item You have to make sure that the localhost can relay.  If you start qmail
-+      via inetd and tcpenv, you need some line the following in your
-+      \file{/etc/hosts.allow} file:
-+
-+\begin{verbatim}
-+      tcp-env: 127. 10.205.200. : setenv RELAYCLIENT
-+\end{verbatim}
-+
-+      where 10.205.200. is your IP address block.  If you use tcpserver, then
-+      you need something like the following in your \file{/etc/tcp.smtp} file:
-+
-+\begin{verbatim}
-+      10.205.200.:allow,RELAYCLIENT=""
-+      127.:allow,RELAYCLIENT=""
-+\end{verbatim}
-+
-+\item \emph{BN:} Bigger \file{/var/qmail/control/concurrencyremote} values
-+      work better sending outbound messages, within reason.  Unless you know
-+      your system can handle it (many if not most cannot) this should not be
-+      set to a value greater than 120.
-+
-+\item More information about setting up qmail and relaying can be found in the
-+      qmail documentation.
-+\end{itemize}
-+
-+\emph{BN:} Last but not least, here's a little script to generate aliases to
-+your lists (if for some reason you can/will not have them automatically picked
-+up using \file{contrib/qmail-to-mailman.py}):
-+
-+This script is for the Mailman 2.0 series:
-+
-+\begin{verbatim}
-+#!/bin/sh
-+if [ $# = 1 ]; then
-+    i=$1
-+    echo Making links to $i in the current directory...
-+    echo "|preline /home/mailman/mail/mailman post $i" > .qmail-$i
-+    echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-$i-admin
-+    echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-$i-owner
-+    echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-owner-$i
-+    echo "|preline /home/mailman/mail/mailman mailcmd $i" > .qmail-$i-request
-+fi
-+\end{verbatim}
-+% $ - emacs turd
-+
-+\begin{notice}[note]
-+This is for a new Mailman 2.1 installation.  Users upgrading from
-+Mailman 2.0 would most likely change \file{/usr/local/mailman} to
-+\file{/home/mailman}.  If in doubt, refer to the \longprogramopt{prefix}
-+option passed to \program{configure} during compile time.
-+\end{notice}
-+
-+\begin{verbatim}
-+#!/bin/sh
-+if [ $# = 1 ]; then
-+    i=$1
-+    echo Making links to $i in the current directory...
-+    echo "|preline /usr/local/mailman/mail/mailman post $i" > .qmail-$i
-+    echo "|preline /usr/local/mailman/mail/mailman admin $i" > .qmail-$i-admin
-+    echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bounces
-+    # The following line is for VERP
-+    # echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bounces-default
-+    echo "|preline /usr/local/mailman/mail/mailman confirm $i" > .qmail-$i-confirm
-+    echo "|preline /usr/local/mailman/mail/mailman join $i" > .qmail-$i-join
-+    echo "|preline /usr/local/mailman/mail/mailman leave $i" > .qmail-$i-leave
-+    echo "|preline /usr/local/mailman/mail/mailman owner $i" > .qmail-$i-owner
-+    echo "|preline /usr/local/mailman/mail/mailman request $i" > .qmail-$i-request
-+    echo "|preline /usr/local/mailman/mail/mailman subscribe $i" > .qmail-$i-subscribe
-+    echo "|preline /usr/local/mailman/mail/mailman unsubscribe $i" > .qmail-$i-unsubscribe
-+fi
-+\end{verbatim}
-+% $ - emacs turd
-+
-+\subsubsection{Information on VERP}
-+
-+You will note in the alias generating script for 2.1 above, there is a line
-+for VERP that has been commented out.  If you are interested in VERP there are
-+two options.  The first option is to allow Mailman to do the VERP formatting.
-+To activate this, uncomment that line and add the following lines to your
-+\file{mm_cfg.py} file:
-+
-+\begin{verbatim}
-+    VERP_FORMAT = '%(bounces)s-+%(mailbox)s=%(host)s'
-+    VERP_REGEXP = r'^(?P<bounces>.*?)-\+(?P<mailbox>[^=]+)=(?P<host>[^@]+)@.*$'
-+\end{verbatim}
-+% $ - emacs turd
-+
-+The second option is a patch on SourceForge located at:
-+
-+\url{http://sourceforge.net/tracker/?func=detail\&atid=300103\&aid=645513\&group_id=103}
-+
-+This patch currently needs more testing and might best be suitable for
-+developers or people well familiar with qmail.  Having said that, this patch
-+is the more qmail-friendly approach resulting in large performance gains.
-+
-+\subsubsection{Virtual mail server}
-+
-+As mentioned in the \ref{qmail-issues} section for a virtual mail server, a
-+patch under testing is located at:
-+
-+\url{http://sf.net/tracker/index.php?func=detail\&aid=621257\&group_id=103\&atid=300103}
-+
-+Again, this patch is for people familiar with their qmail installation.
-+
-+\subsubsection{More information}
-+
-+You might be interested in some information on modifying footers that Norbert
-+Bollow has written about Mailman and qmail, available here:
-+
-+    \url{http://mailman.cis.to/qmail-verh/}
-+
-+\section{Review your site defaults\label{customizing}}
-+
-+Mailman has a large number of site-wide configuration options which you should
-+now review and change according to your needs.  Some of the options control
-+how Mailman interacts with your environment, and other options select defaults
-+for newly created lists\footnote{In general, changing the list defaults
-+described in this section will not affect any already created lists.  To make
-+changes after a list has been created, use the web interface or the command
-+line scripts, such as \program{bin/withlist} and \program{bin/config_list}.}.
-+There are system tuning parameters and integration options.
-+
-+The full set of site-wide defaults lives in the
-+\file{\var{\$prefix}/Mailman/Defaults.py} file, however you should
-+\strong{never} modify this file!  Instead, change the \file{mm_cfg.py} file in
-+that same directory.  You only need to add values to \file{mm_cfg.py} that are
-+different than the defaults in \file{Defaults.py}, and future Mailman upgrades
-+are guaranteed never to touch your \file{mm_cfg.py} file.
-+
-+The \file{Defaults.py} file is documented extensively, so the options are not
-+described here.  The \file{Defaults.py} and \file{mm_cfg.py} are both
-+\ulink{Python}{http://www.python.org} files so valid Python syntax must be
-+maintained or your Mailman installation will break.
-+
-+\begin{notice}[note]
-+Do \strong{not} change the \var{HOME_DIR} or \var{MAILMAN_DIR} variables.
-+These are set automatically by the \program{configure} script, and you will
-+break your Mailman installation by if you change these.
-+\end{notice}
-+
-+You should make any changes to \file{mm_cfg.py} using the account you
-+installed Mailman under in the \ref{building} section.
-+
-+\section{Create a site-wide mailing list}
-+
-+After you have completed the integration of Mailman and your mail server, you
-+need to create a ``site-wide'' mailing list.  This is the one that password
-+reminders will appear to come from, and it is required for proper Mailman
-+operation.  Usually this should be a list called \code{mailman}, but if you
-+need to change this, be sure to change the \var{MAILMAN_SITE_LIST} variable in
-+\file{mm_cfg.py}.  You can create the site list with this command, following
-+the prompts:
-+
-+\begin{verbatim}
-+    % bin/newlist mailman
-+\end{verbatim}
-+
-+Now configure your site list.  There is a convenient template for a generic
-+site list in the installation directory, under \file{data/sitelist.cfg} which
-+can help you with this.  You should review the configuration options in the
-+template, but note that any options not named in the \file{sitelist.cfg} file
-+won't be changed.
-+
-+The template can be applied to your site list by
-+running:
-+
-+\begin{verbatim}
-+    % bin/config_list -i data/sitelist.cfg mailman
-+\end{verbatim}
-+
-+After applying the \file{sitelist.cfg} options, be sure you review the
-+site list's configuration via the admin pages.
-+
-+You should also subscribe yourself to the site list.
-+
-+\section{Set up cron}
-+
-+Several Mailman features occur on a regular schedule, so you must set up
-+\program{cron} to run the right programs at the right time\footnote{Note that
-+if you're upgrading from a previous version of Mailman, you'll want to install
-+the new crontab, but be careful if you're running multiple Mailman
-+installations on your site!  Changing the crontab could mess with other
-+parallel Mailman installations.}.
-+
-+If your version of crontab supports the \programopt{-u} option, you must be
-+root to do this next step.  Add \file{\var{\$prefix}/cron/crontab.in} as a
-+crontab entry by executing these commands:
-+
-+\begin{verbatim}
-+    % cd $prefix/cron
-+    % crontab -u mailman crontab.in
-+\end{verbatim}
-+
-+If you used the \longprogramopt{with-username} option, use that user name
-+instead of \code{mailman} for the \programopt{-u} argument value.  If your
-+crontab does not support the \programopt{-u} option, try these commands:
-+
-+\begin{verbatim}
-+    % cd $prefix/cron
-+    % su - mailman
-+    % crontab crontab.in
-+\end{verbatim}
-+
-+\section{Start the Mailman qrunner}
-+
-+Mailman depends on a process called the ``qrunner'' to delivery all
-+email messages it sees.  You must start the qrunner by executing the following
-+command from the \var{\$prefix} directory:
-+
-+\begin{verbatim}
-+    % bin/mailmanctl start
-+\end{verbatim}
-+
-+You probably want to start Mailman every time you reboot your system.  Exactly
-+how to do this depends on your operating system.  If your OS supports the
-+\program{chkconfig} command (e.g. RedHat and Mandrake Linuxes) you can
-+do the following (as root, from the Mailman install directory):
-+
-+\begin{verbatim}
-+    % cp scripts/mailman /etc/init.d/mailman
-+    % chkconfig --add mailman
-+\end{verbatim}
-+
-+Note that \file{/etc/init.d} may be \file{/etc/rc.d/init.d} on some systems.
-+
-+On Gentoo Linux, you can do the following:
-+
-+\begin{verbatim}
-+    % cp scripts/mailman /etc/init.d/mailman
-+    % rc-update add mailman default
-+\end{verbatim}
-+
-+On Debian, you probably want to use:
-+
-+\begin{verbatim}
-+    % update-rc.d mailman defaults
-+\end{verbatim}
-+
-+For \UNIX{}es that don't support \program{chkconfig}, you might try the
-+following set of commands:
-+
-+\begin{verbatim}
-+    % cp scripts/mailman /etc/init.d/mailman
-+    % cp misc/mailman /etc/init.d
-+    % cd /etc/rc.d/rc0.d
-+    % ln -s ../init.d/mailman K12mailman
-+    % cd ../rc1.d
-+    % ln -s ../init.d/mailman K12mailman
-+    % cd ../rc2.d
-+    % ln -s ../init.d/mailman S98mailman
-+    % cd ../rc3.d
-+    % ln -s ../init.d/mailman S98mailman
-+    % cd ../rc4.d
-+    % ln -s ../init.d/mailman S98mailman
-+    % cd ../rc5.d
-+    % ln -s ../init.d/mailman S98mailman
-+    % cd ../rc6.d
-+    % ln -s ../init.d/mailman K12mailman
-+\end{verbatim}
-+
-+\section{Check the hostname settings}
-+
-+You should check the values for \var{DEFAULT_EMAIL_HOST} and
-+\var{DEFAULT_URL_HOST} in \file{Defaults.py}.  Make any necessary changes in
-+the \file{mm_cfg.py} file, \strong{not} in the \file{Defaults.py} file.  If you
-+change either of these two values, you'll want to add the following afterwards
-+in the \file{mm_cfg.py} file:
-+
-+\begin{verbatim}
-+    add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
-+\end{verbatim}
-+
-+You will want to run the \program{bin/fix_url.py} to change the domain of any
-+existing lists.
-+
-+\section{Create the site password}
-+
-+There are two site-wide passwords that you can create from the command line,
-+using the \program{bin/mmsitepass} script.  The first is the ``site password''
-+which can be used anywhere a password is required in the system.  The site
-+password will get you into the administration page for any list, and it can be
-+used to log in as any user.  Think \code{root} for a Unix system, so pick this
-+password wisely!
-+
-+The second password is a site-wide ``list creator'' password.  You can use
-+this to delegate the ability to create new mailing lists without providing all
-+the privileges of the site password.  Of course, the owner of the site
-+password can also create new mailing lists, but the list creator password is
-+limited to just that special role.
-+
-+To set the site password, use this command:
-+
-+\begin{verbatim}
-+    % $prefix/bin/mmsitepass <your-site-password>
-+\end{verbatim}
-+
-+To set the list creator password, use this command:
-+
-+\begin{verbatim}
-+    % $prefix/bin/mmsitepass -c <list-creator-password>
-+\end{verbatim}
-+
-+It is okay not to set a list creator password, but you probably do want a site
-+password.
-+
-+\section{Create your first mailing list}
-+
-+For more detailed information about using Mailman, including creating and
-+configuring mailing lists, see the Mailman List Adminstration Manual.  These
-+instructions provide a quick guide to creating your first mailing list via the
-+web interface:
-+
-+\begin{itemize}
-+\item Start by visiting the url \code{http://my.dom.ain/mailman/create}.
-+
-+\item Fill out the form as described in the on-screen instructions, and in the
-+      ``List creator's password'' field, type the password you entered in
-+      section \ref{customizing}.  Type your own email address for the
-+      ``Initial list owner address'', and select ``Yes'' to notify the list
-+      administrator.
-+
-+\item Click on the ``Create List'' button.
-+
-+\item Check your email for a message from Mailman informing you that your new
-+      mailing list was created.
-+
-+\item Now visit the list's administration page, either by following the link
-+      on the confirmation web page or clicking on the link from the email
-+      Mailman just sent you.  Typically the url will be something like
-+      \code{http://my.dom.ain/mailman/admin/mylist}.
-+
-+\item Type in the list's password and click on ``Let me in...''
-+
-+\item Click on ``Membership Management'' and then on ``Mass Subscription''.
-+
-+\item Enter your email address in the big text field, and click on ``Submit
-+      Your Changes''.
-+
-+\item Now go to your email and send a message to \code{mylist at my.dom.ain}.
-+      Within a minute or two you should see your message reflected back to you
-+      via Mailman.
-+\end{itemize}
-+
-+Congratulations!  You've just set up and tested your first Mailman mailing
-+list.  If you had any problems along the way, please see the
-+\ref{troubleshooting} section.
-+
-+\section{Troubleshooting\label{troubleshooting}}
-+
-+If you encounter problems with running Mailman, first check the question and
-+answer section below.  If your problem is not covered there, check the
-+\ulink{online help}{http://www.list.org/help.html}, including the
-+\ulink{FAQ}{http://www.list.org/faq.html} and the
-+\ulink{interactive FAQ wizard}{http://www.python.org/cgi-bin/faqw-mm.py}.
-+
-+Also check for errors in your syslog files, your mail and web server log files
-+and in Mailman's \file{\var{\$prefix}/logs/error} file.  If you're still
-+having problems, you should send a message to the
-+\email{mailman-users at python.org} mailing list\footnote{You must subscribe to
-+this mailing list in order to post to it, but the mailing list's archives are
-+publicly visible.}; see
-+\url{http://mail.python.org/mailman/listinfo/mailman-users} for more
-+information.
-+
-+Be sure to including information on your operating system, which version of
-+Python you're using, and which version of Mailman you're installing.
-+
-+Here is a list of some common questions and answers:
-+
-+\begin{itemize}
-+
-+\item \strong{Problem:} All Mailman web pages give a 404 File not found
-+      error.
-+
-+      \strong{Solution:} Your web server has not been set up properly for
-+      handling Mailman's CGI programs.  Make sure you have:
-+
-+      \begin{enumerate}
-+      \item configured the web server to give permissions to
-+            \file{\var{\$prefix}/cgi-bin}
-+
-+      \item restarted the web server properly.
-+      \end{enumerate}
-+
-+      Consult your web server's documentation for instructions on how to do
-+      check these issues.
-+
-+\item \strong{Problem:} All Mailman web pages give an "Internal Server
-+      Error".
-+
-+      \strong{Solution:} The likely problem is that you are using the wrong
-+      user or group for the CGI scripts.  Check your web server's log files.
-+      If you see a line like
-+
-+      \begin{verbatim}
-+            Attempt to exec script with invalid gid 51, expected 99
-+      \end{verbatim}
-+
-+      you will need to reinstall Mailman, specifying the proper CGI group id,
-+      as described in the \label{building} section.
-+
-+\item \strong{Problem:} I send mail to the list, and get back mail saying the
-+       list is not found!
-+
-+      \strong{Solution:} You probably didn't add the necessary aliases to the
-+      system alias database, or you didn't properly integrate Mailman with
-+      your mail server.  Perhaps you didn't update the alias database, or your
-+      system requires you to run \program{newaliases} explicitly.  Refer to
-+      your server specific instructions in the \ref{mail-server} section.
-+
-+\item \strong{Problem:} I send mail to the list, and get back mail saying,
-+      ``unknown mailer error''.
-+
-+      \strong{Solution:} The likely problem is that you are using the wrong
-+      user or group id for the mail wrappers.  Check your mail server's log
-+      files; if you see a line like
-+
-+      \begin{verbatim}
-+            Attempt to exec script with invalid gid 51, expected 99
-+      \end{verbatim}
-+
-+      you will need to reinstall Mailman, specifying the proper mail group id
-+      as described in the \label{building} section.
-+
-+\item \strong{Problem:} I use Postfix as my mail server and the mail wrapper
-+      programs are logging complaints about the wrong GID.
-+
-+      \strong{Solution:} Make sure the \file{\var{\$prefix}/data/aliases.db}
-+      file is user owned by \code{mailman} (or whatever user name you used
-+      in the \program{configure} command).  If this file is not user owned by
-+      \code{mailman}, Postfix will not run the mail programs as the correct
-+      user.
-+
-+\item \strong{Problem:} I use Sendmail as my mail server, and when I send mail
-+      to the list, I get back mail saying, ``sh: mailman not available for
-+      sendmail programs''.
-+
-+      \strong{Solution:} Your system uses the Sendmail restricted shell
-+      (smrsh). You need to configure smrsh by creating a symbolic link from
-+      the mail wrapper (\file{\var{\$prefix}/mail/mailman}) to the directory
-+      identifying executables allowed to run under smrsh.
-+
-+      Some common names for this directory are \file{/var/admin/sm.bin},
-+      \file{/usr/admin/sm.bin} or \file{/etc/smrsh}.
-+
-+      Note that on Debian Linux, the system makes \file{/usr/lib/sm.bin},
-+      which is wrong, you will need to create the directory
-+      \file{/usr/admin/sm.bin} and add the link there.  Note further any
-+      aliases \program{newaliases} spits out will need to be adjusted to point
-+      to the secure link to the wrapper.
-+
-+\item \strong{Problem:}  I messed up when I called \program{configure}.  How
-+      do I clean things up and re-install?
-+
-+      \strong{Solution:}
-+
-+      \begin{verbatim}
-+        % make clean
-+        % ./configure --with-the-right-options
-+        % make install
-+      \end{verbatim}
-+
-+\end{itemize}
-+
-+\section{Platform and operating system notes}
-+
-+Generally, Mailman runs on any POSIX-based system, such as Solaris, the
-+various BSD variants, Linux systems, MacOSX, and other generic \UNIX{}
-+systems.  It doesn't run on Windows.  For the most part, the generic
-+instructions given in this document should be sufficient to get Mailman
-+working on any supported platform.  Some operating systems have additional
-+recommended installation or configuration instructions.
-+
-+\subsection{GNU/Linux issues}
-+
-+Linux seems to be the most popular platform for running Mailman.  Here are
-+some hints on getting Mailman to run on Linux:
-+
-+\begin{itemize}
-+\item If you are getting errors with hard link creations and/or you are using
-+      a special secure kernel (securelinux/openwall/grsecurity), see the file
-+      \file{contrib/README.check_perms_grsecurity} in the Mailman source
-+      distribution.
-+
-+      Note that if you are using Linux Mandrake in secure mode, you are
-+      probably concerned by this.
-+
-+\item Apparently Mandrake 9.0 changed the permissions on gcc, so if you build
-+      as the \code{mailman} user, you need to be sure \code{mailman} is in the
-+      \code{cctools} group.
-+
-+\item If you installed Python from your Linux distribution's package manager
-+      (e.g. .rpms for Redhat-derived systems or .deb for Debian), you must
-+      install the ``development'' package of Python, or you may not get
-+      everything you need.
-+
-+      For example, using Python 2.2 on Debian, you will need to install the
-+      \code{python2.2-dev} package.  On Redhat, you probably need the
-+      \code{python2-devel} package.
-+
-+      If you install Python from source, you should be fine.
-+
-+      One symptom of this problem, although for unknown reasons, is that you
-+      might get an error such as this during your install:
-+
-+      \begin{verbatim}
-+          Traceback (most recent call last):
-+            File "bin/update", line 44, in ?
-+              import paths
-+          ImportError: No module named paths
-+          make: *** [update] Error 1
-+      \end{verbatim}
-+
-+      If this happens, install the Python development package and try
-+      \program{configure} and \program{make install} again.  Or install the
-+      latest version of Python from source, available from
-+      \url{http://www.python.org}.
-+
-+      This problem can manifest itself in other Linux distributions in
-+      different ways, although usually it appears as \code{ImportErrors}.
-+\end{itemize}
-+
-+\subsection{BSD issues\label{bsd-issues}}
-+
-+Vivek Khera writes that some BSDs do nightly security scans for setuid file
-+changes.  setgid directories also come up on the scan when they change.  Also,
-+the setgid bit is not necessary on BSD systems because group ownership is
-+automatically inherited on files created in directories.  On other \UNIX{}es,
-+this only happens when the directory has the setgid bit turned on.
-+
-+To install without turning on the setgid bit on directories, simply pass in
-+the \var{DIRSETGID} variable to \program{make}, after you've run
-+\program{configure}:
-+
-+\begin{verbatim}
-+    % make DIRSETGID=: install
-+\end{verbatim}
-+
-+This disables the \program{chmod g+s} command on installed directories.
-+
-+\subsection{MacOSX issues}
-+
-+Many people run Mailman on MacOSX.  Here are some pointers that have been
-+collected on getting Mailman to run on MacOSX.
-+
-+\begin{itemize}
-+\item Jaguar (MacOSX 10.2) comes with Python 2.2.  While this isn't the very
-+      latest stable version of Python, it ought to be sufficient to run
-+      Mailman 2.1.
-+
-+\item David B. O'Donnell has a web page describing his configuration of
-+      Mailman 2.0.13 and Postfix on MacOSX Server.
-+
-+      \url{http://www.afp548.com/Articles/mail/python-mailman.html}
-+
-+\item Kathleen Webb posted her experiences in getting Mailman running on
-+      Jaguar using Sendmail.
-+
-+      \url{http://mail.python.org/pipermail/mailman-users/2002-October/022944.html}
-+
-+\item Panther server (MacOSX 10.3) comes with Mailman; Your operating system
-+      should contain documentation that will help you, and Apple has a tech
-+      document about a problem you might encounter running Mailman on Mac OS X
-+      Server 10.3:
-+
-+      \url{http://docs.info.apple.com/article.html?artnum=107889}
-+\end{itemize}
-+
-+Terry Allen provides the following detailed instructions on running Mailman on
-+the 'client' version of OSX, or in earlier versions of OSX:
-+
-+Mac OSX 10.3 and onwards has the basics for a successful Mailman installation.
-+Users of earlier versions of Mac OSX contains Sendmail and those users should
-+look at the Sendmail installation section for tips.  You should follow the
-+basic installation steps as described earlier in this manual, substituting as
-+appropriate, the steps outlined in this section.
-+
-+By default, Mac OSX 10.3 'client' version does not have a fully functional
-+version of Postfix.  Setting up a working MTA such as Postfix is beyond the
-+scope of this guide and you should refer to \url{http://www.postfix.org} for
-+tips on getting Postfix running.  An easy way to set Postfix up is to install
-+and run Postfix Enabler, a stand-alone tool for configuring Postfix on Mac
-+OSX, available from 
-+\url{http://www.roadstead.com/weblog/Tutorials/PostfixEnabler.html}.
-+
-+Likewise, Mac OSX 'client' version from 10.1 onwards includes a working Apache
-+webserver.  This is switched on using the System Preferences control panel
-+under the 'Sharing tab'.  A useful tool for configuring the Apache on Mac OSX
-+is Webmin, which can be obtained from
-+\url{http://www.webmin.com}.
-+
-+Webmin can also perform configuration for other system tasks, including
-+Postfix, adding jobs to your crontab, adding user and groups, plus adding
-+startup and shutdown jobs.
-+
-+In a stock installation of OSX, the requirement for Mailman is to have Python
-+installed.  Python is not installed by default, so it is advised that you
-+install the developer's tools package, which may have been provided with your
-+system.  It can also be downloaded from the Apple developer site at
-+\url{http://connect.apple.com}.  Not only is the developer tools package an
-+essential requirement for installing Mailman, but it will come in handy at a
-+later date should you need other tools.  The developer's tools are also know
-+by the name XCode tools.
-+
-+As a minimum, the Python version should be 2.2, but 2.3 is recommended.
-+
-+If you wish to add a user and group using the command line in OSX instead of
-+via Webmin or another GUI interface, open your terminal application and follow
-+the commands as indicated below - do not type the comments following the
-+\samp{\#} since they are just notes:
-+
-+\begin{verbatim}
-+sudo tcsh
-+niutil -create / /users/mailman
-+niutil -createprop / /users/mailman name mailman
-+# Note that xxx is a free user ID number on your system
-+niutil -createprop / /users/mailman uid xxx
-+niutil -createprop / /users/mailman home /usr/local/mailman
-+mkdir -p /usr/local/mailman
-+niutil -createprop / /users/mailman shell /bin/tcsh
-+passwd mailman
-+# To prevent malicious hacking, supply a secure password here
-+niutil -create / /groups/mailman
-+niutil -createprop / /groups/mailman name mailman
-+# Note that xxx is a free group ID number on your system
-+niutil -createprop / /groups/mailman gid xxx
-+niutil -createprop / /groups/mailman passwd '*'
-+niutil -createprop / /groups/mailman users 'mailman'
-+chown mailman:mailman /usr/local/mailman
-+cd /usr/local/mailman
-+chmod a+rx,g+ws .
-+exit
-+su mailman
-+\end{verbatim}
-+
-+For setting up Apache on OSX to handle Mailman, the steps are almost identical
-+and the configuration file on a stock Mac OSX Client version is stored in the
-+nearly standard location of \file{/etc/httpd/httpd.conf}.
-+
-+The \ulink{AFP548.com}{http://www.afp548.com} site has a time-saving automated startup item creator for
-+Mailman, which can be found at 
-+\url{http://www.afp548.com/Software/MailmanStartup.tar.gz}
-+
-+To install it, copy it into your \file{/Library/StartupItems} directory. As
-+the root or superuser, from the terminal, enter the following:
-+
-+\begin{verbatim}
-+gunzip MailmanStartup.tar.gz
-+tar xvf MailmanStartup.tar
-+\end{verbatim}
-+
-+It will create the startup item for you so that when you reboot, Mailman will
-+start up.
-+
-+\end{document}
-diff -urNad mailman-2.1.8rc1~/doc/mailman-member-es.tex mailman-2.1.8rc1/doc/mailman-member-es.tex
---- mailman-2.1.8rc1~/doc/mailman-member-es.tex	1970-01-01 01:00:00.000000000 +0100
-+++ mailman-2.1.8rc1/doc/mailman-member-es.tex	2006-04-11 22:32:46.838866146 +0200
-@@ -0,0 +1,1635 @@
-+% Complete documentation on the extended LaTeX mark up used for Python
-+% documentation is available in ``Documenting Python'', which is part
-+% of the standard documentation for Python.  It may be found online
-+% at:
-+%
-+%     http://www.python.org/doc/current/doc/doc.html
-+
-+\documentclass{howto}
-+
-+% This is a template for short or medium-size Python-related documents, 
-+% mostly notably the series of HOWTOs, but it can be used for any
-+% document you like.   
-+
-+% The title should be descriptive enough for people to be able to find
-+% the relevant document. 
-+\title{GNU~Mailman Manual~del~Suscriptor~de~Listas}
-+
-+% Increment the release number whenever significant changes are made.
-+% The author and/or editor can define 'significant' however they like.
-+\release{0.03}
-+% CHANGELOG
-+% 0.03 Proofreading changes 
-+% 0.02 Proofreading changes
-+%   - proofread by Margaret McCarthy and Jason Walton 
-+% 0.01 First draft of document
-+
-+% At minimum, give your name and an email address.  You can include a
-+% snail-mail address if you like.
-+\author{Terri Oda}
-+\authoraddress{terri(en)zone12.com}
-+% Translated by "Pablo Chamorro C." pchamorro(en)ingeomin.gov.co    
-+
-+\date{\today}        % XXX update before tagging release!
-+\release{2.1}        % software release, not documentation
-+\setreleaseinfo{}    % empty for final release
-+\setshortversion{2.1}      % major.minor only for software
-+
-+\usepackage[spanish]{babel}
-+\usepackage[latin1]{inputenc}
-+\hyphenation{listinfo listinfo}
-+\hyphenation{NOMBRELISTA NOMBRELISTA}
-+\hyphenation{private private}
-+\hyphenation{digest digest}
-+\hyphenation{password password}
-+\renewcommand{\note}{\bf Nota: \rm}
-+\renewcommand{\warning}{\bf Advertencia: \rm}
-+
-+\begin{document}
-+\maketitle
-+
-+% This makes the Abstract go on a separate page in the HTML version;
-+% if a copyright notice is used, it should go immediately after this.
-+%
-+\ifhtml
-+\chapter*{Prefacio\label{front}}
-+\fi
-+
-+% Copyright statement should go here, if needed.
-+% ...
-+
-+% The abstract should be a paragraph or two long, and describe the
-+% scope of the document.
-+\begin{abstract}
-+\noindent
-+Este documento describe el interfaz del suscriptor de listas GNU Mailman 2.1.
-+Este manual contiene instrucciones para suscripción, desuscripción, consulta
-+de los archivos de la lista, edición de opciones de suscriptor, obtención de
-+recordatorios de contraseñas y otras tareas a nivel del suscriptor.  También
-+responde algunas preguntas comunes de interés para miembros de listas Mailman.
-+\end{abstract}
-+
-+\tableofcontents
-+
-+% ============================================================================
-+\section{Introducci\'on}
-+Este documento tiene como prop\'{o}sito ayudar a los miembros de una lista de correo
-+Mailman 2.1 a aprender a usar las características de este software, disponibles
-+para ellos.  Este cubre el uso de los interfaces web y de correo electrónico para
-+suscribipción y desuscripción, cambio de opciones de suscriptor y otras tareas a
-+nivel de suscriptor.  También responde algunas preguntas comunes de interés para 
-+miembros de listas Mailman.
-+
-+La información para administradores de listas y de sitio se proporciona en
-+otros documentos.
-+
-+Este documento se debe leer en orden.  Si usted simplemente está buscando una 
-+respuesta a una pregunta específica, consulte la sección o subsección que
-+necesite, donde encuentrará referencias a otras secciones, en caso de ser
-+necesario o de potencial utilidad.
-+
-+\note{Para los propósitos de este documento, se asume que el lector está
-+familiarizado con términos comunes relacionados con correo electrónico (por
-+ejemplo: Línea de Asunto, cuerpo del mensaje) y sitios web (por ejemplo:
-+cuadro de lista desplegable, botón), o los puede consultar.  También se asume
-+que el lector ya puede usar lo suficientemente bien su programa de correo
-+electrónico y navegador web, de tal forma que sean claras las instrucciones
-+tales como ``envíe correo electrónico a esta dirección'' o ``visite esta
-+página web'' o ``rellene el formulario proporcionado''.  Si usted no está
-+familiarizado con estas acciones, usted puede desear consultar otra
-+documentación para aprender como hacer estas cosas con su configuración
-+particular.} 
-+
-+% ----------------------------------------------------------------------------
-+\subsection{Reconocimientos}
-+
-+Varias secciones de este documento se tomaron del Manual de Administrador de
-+Listas del CVS de Mailman, escritas por Barry A. Warsaw, y también de la ayuda
-+integrada de Mailman 2.1.
-+
-+El resto de este manual fue escrito por Terri Oda.  Terri ha estado manteniendo
-+listas de correo desde el año que ella alcanzó la edad para votar en Canada,
-+aunque las dos cosas no están relacionadas.  Ella actualmente administra las
-+listas de correo de Linuxchix.org, así como tambien varios servidores más
-+pequeños.  En el mundo ajeno a la administración de listas, Terri está haciendo
-+un trabajo con un detector de spam de vida artificial, y realmente es más una
-+programadora que una escritora de temas técnicos.
-+
-+Gracias a Margaret McCarthy, Jason Walton y Barry Warsaw por su ayuda en la
-+revisión y mejoramiento de este manual.
-+
-+Gracias también a Ikeda Soji, quien hizo una traducción Japonesa de este
-+documento.
-+
-+%WRITEME: More here.  Do we need a license statement here?
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Qué es una lista de correo?}
-+
-+Una lista de correo es simplemente una lista de direcciones a las cuales se
-+envía la misma información.  Si usted fuera un editor de una revista, usted
-+tendría una lista de direcciones de correo postal de todos los suscriptores
-+de la revista.  En el caso de las listas de correo electrónico, se usa una
-+una lista de direcciones de correo electrónico de gente interesada en
-+escuchar o discutir acerca de un tema dado.
-+
-+Dos tipos comunes de listas de correo electrónico son las listas de anuncios 
-+y las listas de discusión.
-+
-+Las listas de anuncios sirven para que una o más personas puedan enviar
-+anuncios a un grupo de personas, en forma similar a la manera cómo hace un
-+editor de una revista que utiliza su lista de direcciones postales para 
-+enviar las revistas.  Por ejemplo, una banda musical podría usar una lista de
-+anuncios para facilitar que sus seguidores estén al tanto de sus conciertos 
-+futuros.
-+
-+Una lista de discusión permite a un grupo de personas discutir temáticas entre
-+ellos mismos, pudiendo cada uno enviar correo a la lista y hacer que se
-+distribuya a todos los integrantes del grupo.  Esta discusión también se puede
-+moderar, de tal manera que sólo los mensajes seleccionados se envien al grupo
-+como un todo, o que únicamente se le permita enviar al grupo a ciertas
-+personas.  Por ejemplo, un grupo de entusiastas de modelos de aviones podrían
-+usar una lista de discusión para compartir consejos útiles sobre la 
-+construcción de modelos y aviación.
-+
-+Algunos términos comunes:
-+\begin{itemize}
-+	\item Un ``envío'' típicamente denota un mensaje que se envía a una lista
-+	de correo.  (Piense en poner un mensaje en un tablero de anuncios.)
-+	\item A las personas que son parte de una lista de correo electrónico
-+	normalmente se las llama ``miembros'' de la lista o ``suscriptores.''
-+	\item  ``Los administradores de las listas'' son personas encargadas de,
-+	precisamente, mantener esas listas.   Las listas pueden tener uno o más
-+	administradores.
-+	\item Una lista puede tener también personas encargadas de leer los
-+	mensajes enviados a la lista y decidir si ellos deberían ser enviados a
-+	todos los suscriptores.  A estas personas se las llama moderadores de las
-+	listas.  \item A menudo varias listas de correo electrónico utilizan el
-+	mismo software.  A la persona que mantiene el software gracias al cual
-+	funcionan las listas se le llama el ``administrador del sitio.''  A
-+	menudo el administrador del sitio también administra listas individuales.
-+\end{itemize}
-+% ----------------------------------------------------------------------------
-+\subsection{GNU Mailman}
-+
-+GNU Mailman es software que le permite administrar listas de correo electrónico,
-+con soporte para un rango amplio de tipos de listas de correo, tales como listas
-+de discusión general y listas de sólo anuncios.  Mailman tiene características
-+extensivas que lo hacen bueno para listas de suscriptores, tales como facilidad
-+en la suscripción y desuscripción, opciones de privacidad, y la capacidad de
-+detener temporalmente la recepción de los envíos a la lista.  En este documento
-+se incluye sobre las características de los miembros de las listas.
-+
-+Mailman también tiene muchas características que lo hacen atractivo a 
-+administradores de listas y administradores de sitio.  Estas características 
-+están cubiertas en los manuales del administrador de listas y del sitio.
-+
-+% ============================================================================
-+\section{Pasando de nuestros ejemplos a las listas reales}
-+
-+A menudo es más fácil, simplemente dar un ejemplo que explicar exactamente
-+como encontrar la dirección de una lista específica.  Por ello, aquí
-+frecuentemente se darán ejemplos para una lista ficticia llamada
-+\email{NOMBRELISTA at DOMINIO} cuya página de información se puede encontrar en
-+\url{http://SERVIDORWEB/mailman/listinfo/NOMBRELISTA}.
-+
-+Ninguna de estas direcciones es real, pero muestran la forma típica de las
-+direcciones de las listas.  Las letras máyusculas utilizadas para las partes
-+específicas a las listas de cada dirección debería hacerlo más fácil para
-+mirar lo que se debería cambiar para cada lista.  Aunque las configuraciones
-+específicas para las listas pueden ser diferentes, usted probablemente podrá
-+simplemente reemplazar las palabras dadas en letras mayúsculas con los
-+valores apropiados para una lista real:
-+
-+\begin{description}
-+	\item [NOMBRELISTA] El nombre de su lista.
-+	\item [DOMINIO] El nombre del servidor de correo que gestiona la lista. 
-+	\item [SERVIDORWEB] El nombre del servidor web que gestiona el interfaz web de la lista.  Este puede ser el mismo utilizado como DOMINIO, y a menudo se refiere a la misma máquina, pero no tiene que ser idéntico. 
-+\end{description}
-+
-+Como ejemplo de la vida real, si usted está interesado en la lista de usuarios
-+mailman (mailman-users), usted realizaría las siguientes sustituciones:
-+NOMBRELISTA=mailman-users, DOMINIO=python.org, SERVIDORWEB=mail.python.org.
-+De esta forma, para la lista de correo \email{mailman-users at python.org},
-+la página de información de esa lista se encontraría en la dirección URL
-+\url{http://mail.python.org/mailman/listinfo/mailman-users} (estas, a
-+diferencia de la mayoría de ejemplos datos en este documento, son direcciones
-+reales).
-+
-+La mayoría de las listas tendrán esta información almacenada en las cabeceras
-+\mailheader{List-*}.  Muchos programs de correo ocultarán estas cabeceras por
-+omisión, así que usted tiene que seleccionar mirar todas las cabeceras antes
-+que pueda mirar estas cabeceras informativas.
-+
-+% ============================================================================
-+\section{Interfaces de Mailman}
-+Mailman tiene dos interfaces diferentes para los suscriptores de las listas:
-+la interfaz web y la interfaz de correo electrónico.  La mayoría de suscriptores
-+de las listas de discusión usan el interfaz de correo electrónico, ya que ésta
-+incluye las direcciones de correo electrónico que usted utiliza para enviar
-+correo a todos los suscriptores de esa lista.
-+
-+La interfaz que usted use para cambiar las opciones es cuestión de preferencia,
-+ya que la mayoría de (pero no todas) las opciones que se pueden cambiar utilizando
-+la interfaz web también se pueden cambiar por correo electrónico.  Usualmente es
-+más fácil utilizar la interfaz web para cambiar opciones, ya que la interfaz web
-+proporciona instrucciones como parte de las mismas páginas, pero hay ocasiones en
-+las cuales las personas prefieren la interfaz de correo electrónico, así que las
-+dos se proporcionan y son útiles.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{El interfaz web\label{sec:web}}
-+Para mucha gente, el interfaz web de Mailman es su punto más destacable
-+ya que lo hace mucho más fácil para suscriptores y administradores mirar
-+que opciones están disponibles y lo que hacen estas opciones.
-+
-+Cada lista de correo también está accesible desde un número de páginas web.
-+Note que las direcciones URL exactas son configurables por el administrador
-+del sitio, así que ellas pueden ser diferentes a las que se describen abajo.
-+Nosotros describiremos la configuración más común, pero consulte los
-+detalles con su administrador de sitio o proveedor del servicio.
-+
-+\hyphenchar\font=-1
-+\begin{description}
-+	\item [Página de información de la lista (listinfo)]
-+		\begin{itemize}
-+			\item Usualmente se encuentra en
-+			\url{http://SERVIDORWEB/mailman /listinfo/NOMBRELISTA}
-+			(por ejemplo, 
-+			\url{http://listas.ejemplo.com/mailman/listinfo/milista}).
-+
-+			\item La página listinfo es el punto de inicio del interfaz
-+			del suscriptor.  Como uno podría asumir por el nombre dado, ésta
-+			contiene información acerca de la lista NOMBRELISTA.  Usualmente
-+			todas las otras páginas del suscriptor se pueden acceder desde
-+			este punto, así que realmente usted sólo necesita conocer esta
-+			dirección.
-+
-+		\end{itemize}
-+
-+	\item [Página de opciones del suscriptor]
-+		\begin{itemize}
-+			\item Usualmente se encuentra en 
-+			\url{http://SERVIDOR/mailman/options /NOMBRELISTA/DIRECCIONCORREO}
-+			(por ejemplo, 
-+			\url{http://listas.ejemplo.com/mailman/options/milista
-+			/maria at aqui.com}).
-+
-+			\item También se puede acceder a esta página yendo a la página
-+			listinfo y entrando su dirección de correo en el cuadro de texto
-+			junto al botón marcado ``Opciones de Edición y Desuscripción''
-+			(este está cerca del final de la página).
-+
-+			\item La página de opciones de suscriptor le permite a usted
-+			entrar/salir y cambiar la configuración de sus opciones, así como
-+			también desuscribirse u obtener una copia de su contraseña por
-+			correo electrónico.
-+
-+			\item \textbf{Para ingresar en su página de opciones de
-+			suscriptor}:  Si usted aún no ha ingresado, encontrará un cuadro
-+			de texto cerca a la parte superior de la página para introducir
-+			su contraseña (si usted no conoce su contraseña, mire la
-+			seccion \ref{sec:getpassword} para más información sobre cómo
-+			obtener su contraseña).  Entre su contraseña en el cuadro de texto
-+			mencionado y haga clic en el botón ``Cambiar''.
-+
-+			\item Una vez usted esté adentro, podrá mirar y cambiar toda la 
-+			configuración personal de su lista.
-+
-+		\end{itemize}
-+	\item [Archivos de la Lista] 
-+		\begin{itemize}
-+			\item Usualmente los encontrará en
-+			\url{http://SERVIDORWEB/pipermail/NOMBRELISTA} si la lista se archiva
-+			públicamente, y 
-+			\url{http://SERVIDORWEB/mailman/private/NOMBRELISTA} si la lista se
-+			archiva en forma privada (por ejemplo,
-+			\url{http://listas.ejemplo.com/pipermail/milista} o
-+			\url{http://listas.ejemplo.com/mailman/private/milista}).
-+
-+			\item Las páginas de los archivos de la lista disponen de una copia de
-+			los mensajes enviados a la lista de correo, usualmente agrupados por
-+			mes.  En cada grupo mensual, los envíos se indexan por autor, fecha,
-+			hilo, y asunto.
-+
-+			\item \note{Pipermail es el nombre del archivador predeterminado que
-+			viene con Mailman.  Otros programas de archivado están disponibles.}
-+
-+			\item Si el archivo es privado, usted necesitará suministrar su
-+			dirección de correo de suscriptor y su contraseña para ingresar
-+			(mire la Sección~\ref{sec:getpassword} para mayor información sobre la
-+			obtención de su contraseña).
-+		\end{itemize}
-+\end{description}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{El interfaz de correo electrónico\label{sec:email}}
-+
-+Toda lista de correo tiene un conjunto de direcciones de correo electrónico
-+a las cuales se pueden enviar los mensajes.  Siempre hay una dirección
-+para enviar los mensajes a la lista, una dirección a a la cual se envían
-+los mensajes devueltos y direcciones para procesar órdenes de correo.
-+Para una lista de correo ficticia llamada
-+\email{milista at ejemplo.com}, usted encontraría estas direcciones:
-+
-+\begin{itemize}
-+\item \email{milista at ejemplo.com} -- esta es la dirección de correo que la gente
-+      debería usar para los nuevos envíos a la lista.
-+
-+\item \email{milista-join at ejemplo.com} -- enviando un mensaje a esta dirección,
-+      un nuevo miembro puede solicitar suscripción a la lista.  Tanto la cabecera
-+      de \mailheader{Asunto} como el cuerpo de tal mensaje son ignorados.  Note
-+      que milista-subscribe at ejemplo.com es un alias para la dirección -join.
-+
-+\item \email{milista-leave at ejemplo.com} -- enviando un mensaje a esta dirección
-+      un miembro puede solicitar desuscripción de la lista.  Igual que con la
-+      dirección -join, la cabecera \mailheader{Asunto} y el cuerpo del mensaje
-+      son ignorados.  Note que milista-unsubscribe at ejemplo.com es un alias para
-+      la dirección -leave.
-+
-+\item \email{milista-owner at ejemplo.com} -- Con esta dirección se llega
-+      directamente al propietario y moderador de la lista.  Esta es la
-+      dirección que usted usa si necesita contactar a la persona o
-+      personas encargadas de la lista.
-+
-+\item \email{milista-request at ejemplo.com} -- Esta dirección alcanza un robot
-+      de correo que procesa órdenes de correo electrónico que se pueden usar
-+      para definir opciones de suscripción de los miembros, así como también
-+      para procesar otros comandos.  En el Apéndice~\ref{a:commands} se
-+      proporciona una lista de órdenes de correo electrónico de miembros de
-+      listas.
-+
-+\item \email{milista-bounces at ejemplo.com} -- Esta dirección se usa para
-+      procesamiento automático de mensajes devueltos de Mailman.
-+
-+\item \email{milista-confirm at ejemplo.com} -- Esta dirección se usa para
-+      procesar mensajes de confirmación de solicitudes de suscripción y
-+      desuscripción.
-+\end{itemize}
-+
-+También hay una dirección -admin con la cual también se llega a los
-+administradores de listas, pero esta dirección solamente existe por
-+compatibilidad con las versiones más antigüas de Mailman.
-+
-+Para cambiar las opciones, se usa la dirección \email{NOMBRELISTA-request}
-+(por ejemplo, \email{milista-request at ejemplo.com}).
-+
-+Las órdenes pueden aparecer en la línea de asunto o en el cuerpo del mensaje.
-+Cada comando debería ir en una línea separada. Si su programa de correo
-+adiciona automáticamente una firma a sus mensajes, usted podría desear colocar
-+la palabra ``\var{end}'' (sin las comillas) en una línea separada después de sus
-+otras órdenes.  La orden \var{end} le dice a Mailman que no procese el correo
-+electrónico después de ese punto.
-+
-+La órden más importante es probablemente la orden ``\var{help}'', ya que
-+ésta hace que Mailman devuelva un mensaje completo de información útil sobre
-+las órdenes de correo y direcciones para uso del interfaz web.
-+
-+En los Apéndices \ref{a:commands} y \ref{a:options} se proporcionan referencias
-+rápidas a las órdenes de suscriptor (éstas se han adaptado ligeramente de la
-+salida de la orden \var{help}.)
-+
-+% ============================================================================
-+\section{¡Necesito hablar con un humano!\label{sec:human}}
-+Si usted tiene problemas con cualquiera de estas órdenes, usted siempre puede
-+contactar a la persona o personas encargadas de las listas utilizando las
-+direcciones administrativas de las listas.  Los administradores de las listas
-+pueden ayudar a resolver como hacer algo, suscribirlo/desuscribirlo, o cambiar
-+su configuración si usted no puede cambiarla por alguna razón.  Por favor
-+recuerde que muchos administradores de listas de correo son voluntarios quienes
-+están donando su tiempo libre para administrar la lista y ellos pueden ser gente
-+muy ocupada.
-+
-+La dirección de correo del administrador de una lista tiene la forma 
-+\email{NOMBRELISTA-owner at DOMINIO}, donde NOMBRELISTA es el nombre de la lista
-+(por ejemplo: usuarios-mailman) y DOMINIO es el nombre del servidor (por ejemplo:
-+python.org).  Esta dirección de correo, junto con las direcciones de correo
-+electrónico de administradores específicos, están dadas en la parte inferior de
-+las páginas de información de cada lista.  Mire en la Sección~\ref{sec:web}
-+mayor información sobre cómo encontrar la página de información de su lista.
-+
-+% ============================================================================
-+\section{Suscripción y desuscripción}
-+Dado que suscribirse (unirse) o desuscribirse (salirse) son a menudo las únicas 
-+cosas que un miembro de lista necesita conocer, con Mailman éstas se pueden hacer
-+opcionalmente sin necesidad de que usted conozca una contraseña.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo me uno a la lista? (subscribe)\label{sec:subscribe}}
-+
-+Hay dos formas comunes para que usted se suscriba a una lista de correo Mailman.
-+
-+Usando el interfaz web:
-+\begin{enumerate}
-+	\item Vaya a la página de información de la lista a la cual usted desea
-+	suscribirse (esta será probablemente similar a
-+	\url{http://SERVIDORWEB/mailman/listinfo/NOMBRELISTA}).
-+	\item Mire la sección identificada como ``Suscribirse a NOMBRELISTA''
-+	y rellene en los cuadros de texto.  Usted puede introducir lo siguiente:
-+	\begin{itemize}
-+		\item Usted \emph{debe} entrar su dirección de correo electrónico.
-+		\item Usted puede suministrar su nombre real.
-+		\item Usted puede seleccionar una contraseña.  Si no selecciona una,
-+		Mailman generará una para usted.
-+
-+		\warning{NO use una contraseña valiosa, ya que eventualmente esta
-+		contraseña se enviará por correo electrónico como texto plano.}
-+		\item Si la lista soporta más de un idioma, usted puede seleccionar
-+		su idioma preferido.  \note{Este cambio no afecta los 
-+		envíos a la lista, solamente a los textos Mailman que vienen con
-+		el software de la listas, tal como su página de opciones de 
-+		suscriptor.}
-+	\end{itemize}
-+	\item Haga clic en el botón subscribe.  Una nueva página debería aparecer
-+	diciéndole que se ha recibido su solicitud de suscripción.  Esta página
-+	le proporcionará instrucciones adicionales, tales como la necesidad de
-+	esperar y responder a un mensaje de confirmación, dependiendo de las 
-+	políticas de suscripción de la lista.
-+\end{enumerate}
-+
-+Usando el interfaz de correo electrónico:
-+\begin{enumerate}
-+	\item Abra un programa de correo que le permita enviar correo desde la
-+	dirección que usted desea suscribir.
-+	\item Envíe un correo a la dirección de suscripción de la lista, la cual
-+	estará en la forma \email{NOMBRELISTA-join at DOMINIO}.  El asunto y cuerpo
-+	del mensaje se ignorarán, así que no importa lo que usted coloque ahí.
-+\end{enumerate}
-+
-+Después de seguir uno de los dos procedimientos (¡usted no necesita llevar
-+a cabo los dos!), hay unos pocas posibilidades dependiendo de la configuración
-+de la lista:
-+\begin{itemize}
-+	\item Usted puede recibir un mensaje de correo de confirmación que
-+	usted realmente desea suscribirse a la lista.  Esto es para prevenir
-+	que cualquier otra persona lo suscriba a la lista sin su permiso.
-+	Siga las instrucciones dadas en el mensaje para confirmar su deseo de
-+	estar suscrito.
-+	\item Un moderador también puede necesitar confirmar su suscripción
-+	si usted se está suscribiendo a una lista cerrada.
-+	\item O usted puede tener que esperar a un moderador \textit{y}
-+	seguir las instrucciones en el correo de confirmación.
-+\end{itemize}
-+
-+Una vez hecho esto, usted muy probablemente recibirá otro mensaje, dándole la
-+bienvenida a la lista.  Este mensaje contiene información útil, incluyendo su
-+contraseña de la lista y algunos enlaces directos para el cambio de sus
-+opciones, de manera que usted puede desear guardarlo para referencia posterior.
-+
-+\note{La suscripción también se puede realizar de otras maneras.  Mire en el
-+Apéndice~\ref{a:commands} las órdenes de suscripción por correo electrónico
-+más avanzadas.}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo dejo la lista? (unsubscribe)\label{sec:unsubscribe}}
-+
-+¿Ya no desea estar en una lista?  Si usted sólo va a salir de vacaciones o
-+está demasiado ocupado para leer correos y desea suspender temporalmente
-+la recepción de esos mensajes, usted puede desear detener la entrega de
-+correo en lugar de desuscribirse.  Esto significa que usted mantendrá su
-+contraseña y configuración personal de manera que usted pueda aún, por
-+ejemplo, aún tener acceso a los archivos privados de la lista.  Si esto es
-+lo que usted desea, mire en la Sección~\ref{sec:nomail} las instrucciones
-+para inhabilitar temporalmente la entrega de correo.
-+
-+Si usted realmente desea dejar la lista, hay dos formas para que usted se
-+desuscriba de una lista de correo Mailman.
-+
-+Usando el interfaz web:
-+\begin{enumerate}
-+	\item Vaya a la página de información de la lista que usted desea dejar
-+	(la dirección de esa página probablemente será similar a 
-+	\url{http://SERVIDORWEB/mailman/listinfo/NOMBRELISTA}).
-+	\item Ubique la sección identificada como ``suscriptores de NOMBRELISTA''
-+	(usualmente se encuentra cerca de la parte inferior de la página).
-+	\item Debería haber un botón etiquetado ``Desuscribirse o Editar Opciones.''
-+	Introduzca su dirección de correo electrónico en el cuadro de texto que se
-+	encuentra junto a ese botón y haga clic en el.
-+	\item Usted debería observar en pantalla una nueva página con un botón de
-+	``Desuscribir''.  Haga clic en él para desuscribirse y siga las
-+	instrucciones dadas.
-+\end{enumerate}
-+
-+Usando el interfaz de correo electrónico:
-+\begin{enumerate}
-+	\item Abra un programa de correo que le permita enviar correo desde la
-+	dirección que usted desee desuscribir.
-+	\item Envíe un correo a la dirección de desuscripción de la lista, la cual
-+	tendrá la forma \email{NOMBRELISTA-leave at DOMINIO}.  El asunto y cuerpo
-+	del mensaje serán ignorados, así que no importa lo que usted coloque ahí.
-+\end{enumerate}
-+
-+Después de seguir alguno de estos procedimientos (¡usted no necesitará llevar
-+a cabo los dos!), a usted se le enviará un correo de confirmación, siendo
-+necesario que usted siga las instrucciones dadas en ese correo para completar
-+la desuscripción.  Esto es neceario para evitar que otras personas lo
-+desuscriban sin su permiso.  En adición, un moderador puede necesitar aprobar
-+su desuscripción (son poco comunes las desuscripciones aprobadas por un
-+administrador).
-+
-+Si usted no recibe ese correo de confirmación con las instrucciones incluidas,
-+asegúrese de haber escrito correctamente la dirección de correo electrónico
-+(si usted está usando el interfaz web para desuscribirse) y que la dirección
-+que usted trató de dar de baja, está de hecho, realmente suscrita a la lista.
-+Por razones de seguridad, Mailman genera la misma página de opciones de
-+suscriptor independientemente de si la dirección entrada está o no suscrita.
-+Esto significa que la gente no puede usar esta parte del interfaz web para
-+averiguar si alguien está suscrito a la lista, pero también significa que
-+es difícil decir si usted solamente cometió un error al teclear.
-+
-+Una vez que se haya procesado su desuscripción, usted probablemente recibirá
-+otro mensaje confirmando su desuscripción de la lista, y en ese punto usted
-+debería dejar de recibir mensajes.
-+
-+Si usted desea saltarse el proceso de confirmación (por ejemplo, podría estar
-+desuscribiendo una dirección que ya no trabaja), es posible omitirlo utilizando
-+su contraseña en su lugar, ya sea, ingresando a su página de opciones usando su
-+contraseña (ver Sección~\ref{sec:web}), o enviar la contraseña con sus órdenes
-+de correo a NOMBRELISTA-request (mire en el Apéndice~\ref{a:commands} las
-+órdenes avanzadas de suscripción por correo electrónico).  Mire en la
-+Sección~\ref{sec:getpassword} más información sobre obtención de su contraseña.
-+
-+% ============================================================================
-+\section{Contraseñas\label{sec:password}}
-+Cuando usted se suscribió, usted seleccionó su contraseña o Mailman se la
-+generó.  Usted probablemente tiene una copia de ella en el mensaje de
-+bienvenida que se le envío a usted cuando se unió a la lista, y puede también
-+recibir un recordatorio de ella cada mes.  Esta se usa para verificar su
-+identidad ante Mailman, de manera que sólo quien tenga la contraseña (¡usted!)
-+y los administradores puedan mirar y cambiar su configuración.
-+
-+\warning{No use contraseñas valiosas con Mailman, ya que éstas eventualmente
-+se envían en formato de texto plano.}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo obtengo mi contraseña?\label{sec:getpassword}}
-+Si usted ha olvidado su contraseña y no ha grabado el mensaje de bienvenida o
-+cualquier mensaje recordatorio, usted siempre puede obtener un recordatorio a
-+través del interfaz web:
-+
-+\begin{enumerate}
-+	\item Vaya a la página de información de la lista de la cual usted desea
-+	obtener su contraseña (esta probablemente será similar a
-+	\url{http://SERVIDORWEB/mailman/listinfo/NOMBRELISTA}).
-+	\item Ubique la sección identificada como ``Suscriptores de NOMBRELISTA''
-+	(esta sección usualmente se encuentra cerca de la parte inferior de la
-+	página).
-+	\item Debería haber un botón etiquetado ``Desuscribir o Editar Opciones.''
-+	Introduzca su dirección de correo electrónico en el cuadro de texto que se
-+	encuentra junto a ese botón y haga clic en él.
-+	\item Usted debería observar en pantalla una nueva página que tiene una
-+	sección identificada como ``Recordatorio de Contraseña''.  Haga clic en el
-+	botón ``Recordar'' para hacer que se le envíe su contraseña por correo
-+	electrónico.
-+\end{enumerate}
-+
-+Si usted no recibe el recordatorio de contraseña por correo electrónico después
-+de hacer esto, asegúrese de haber escrito correctamente su dirección de correo
-+electrónico y que la dirección que utilizó está, efectivamente, realmente
-+suscrita a la lista.  Por razones de seguridad, Mailman genera la misma página
-+de opciones de suscriptor independientemente de si la dirección entrada está o
-+no suscrita.  Esto significa que la gente no puede usar esta parte del interfaz
-+web para averiguar si alguien está suscrito a la lista, pero también significa
-+que es difícil decir si usted solamente cometió un error al teclear.
-+
-+Usted también puede obtener un recordatorio utilizando el interfaz de correo
-+electrónico:
-+\begin{enumerate}
-+	\item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
-+	\var{password}
-+
-+	Los comandos pueden aparecer ya sea en el cuerpo o en la línea de asunto
-+	del mensaje (mire en la Sección~\ref{sec:email} mayor información sobre
-+	envío de órdenes de correo).
-+
-+	Si usted no está enviando correo desde la dirección suscrita, también
-+	puede especificar esta dirección enviando la orden
-+	\nolinebreak{\var{password~address=$<$DIRECCIÓN$>$}}.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo cambio mi contraseña?}
-+		\warning{NO use una contraseña valiosa, ya que esta contraseña
-+		se puede enviar por correo como texto plano.}
-+
-+Desde el interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (Mire en la
-+	Section~\ref{sec:web} las instrucciones de cómo hacer esto).
-+
-+	\item Ubique los cuadros de texto de cambio de contraseña en el lado
-+	derecho de la página e introduzca allí su nueva contraseña, luego haga
-+	clic en el botón etiquetado ``Cambiar mi contraseña''.
-+\end{enumerate}
-+
-+Esto también se puede cambiar para múltiples listas al mismo tiempo si usted
-+está suscrito a más de una lista en el mismo dominio.  Mire en la
-+Sección~\ref{sec:global} la información sobre cambios globales de
-+configuración.
-+
-+Desde el interfaz de correo electrónico:
-+\begin{enumerate}
-+	\item Envíe un correo a la dirección de correo 
-+        \email{NOMBRELISTA-request at DOMINIO} con la orden 
-+	{\var{password~$<$CONTRASEÑA~-~ANTERIOR$>$~$<$CONTRASEÑA~-~NUEVA$>$}}.
-+
-+	Las órdenes pueden aparecer ya sea en cuerpo o en la línea de asunto
-+	del mensaje (mire en la Sección~\ref{sec:email} la información sobre
-+	el envío de órdenes de correo).
-+
-+	Si usted no está enviando correo desde su dirección de membresía, usted
-+	puede también especificar esta dirección con
-+	\var{address=$<$DIRECCIÓN$>$} después de $<$CONTRASEÑA-NUEVA$>$.
-+	
-+	Por ejemplo, si \email{maria at micasa.com} deseaba cambiar su contraseña
-+	de la lista \var{milista}, de \var{zirc} a \var{miko}, pero ella estaba
-+	enviando correo desde la dirección de la oficina 
-+	\email{maria at trabajo.com}, podría enviar un mensaje a 
-+	\email{milista-request at ejemplo.com} con la línea de asunto 
-+	{\var{password~zirc~miko~address=maria at micasa.com}}.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo activo/desactivo los recordatorios de contraseñas? (opción
-+reminders)}
-+Si usted no desea recibir recordatorios de contraseña cada mes, puede
-+desactivarlos desde la página de opciones del suscriptor (usted siempre puede
-+conseguir que se le envíe la contraseña por correo cuando realmente lo desee.
-+Mire las instrucciones en la Sección~\ref{sec:getpassword}).
-+
-+Usando el interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la
-+	Sección~\ref{sec:web} las instrucciones de cómo hacer esto).
-+	\item Ubique la sección identificada como ``Obtener recordatorio de
-+	contraseña para esta lista'' y cambie el valor en forma apropiada.
-+\end{enumerate}
-+
-+Esto también se puede cambiar para múltiples listas al mismo tiempo si usted
-+está suscrito a más de una lista en el mismo dominio.  Mire en la
-+Sección~\ref{sec:global} la información sobre cambios globales de
-+configuración.
-+
-+Usando el interfaz de correo electrónico:
-+\begin{enumerate}
-+   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO}
-+   con la orden \var{set~reminders~on} o \var{set~reminders~off}.
-+
-+   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto del
-+   mensaje.  Mire en la Sección~\ref{sec:email} la información sobre el envío
-+   de órdenes de correo.
-+   \item Seleccione ``on'' para recibir recordatorios y ``off'' para dejar de
-+   recibir los recordatorios.
-+\end{enumerate}
-+
-+% ============================================================================
-+\section{Cambiando la entrega del correo}
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo activo o desactivo la entrega de correo? 
-+	(opción delivery)\label{sec:nomail}}
-+
-+Usted puede desear dejar de recibir temporalmente los mensajes de la lista sin
-+necesidad de darse de baja.  Si usted desactiva la entrega de correo, ya no
-+podrá recibir mensajes, pero aún será un suscriptor y como tal retendrá su
-+contraseña y su configuración.
-+
-+Esto puede ser práctico en muchos casos diferentes.  Por ejemplo, usted podría
-+salir de vacaciones o necesitar un descanso de la lista porque está demasiado
-+ocupado para leer cualquier correo extra.
-+
-+También, muchas listas de correo únicamente permiten a los suscriptores enviar
-+mensajes a la lista, así que si usted comunmente envía correo desde más de una
-+dirección (por ejemplo, una dirección para la casa y otra para cuando está
-+viajando), podría tener más de una cuenta suscrita, pero hacer que solamente
-+una de ellas realmente reciba correo.
-+
-+Usted también puede usar su suscripción como un medio para leer archivos 
-+privados, inclusive en una lista que pueda ser demasiado ocupada para que
-+usted haga enviar los mensajes directamente a su buzón de correo.  Todo lo
-+que necesita hacer es suscribirse, desactivar la entrega de correo, y usar
-+su contraseña y dirección de correo electrónico para acceder a los archivos.
-+
-+Para desactivar/activar la entrega de correo usando el interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones (mire las instrucciones en la
-+	Sección~\ref{sec:web}).
-+	\item Ubique la sección identificada como ``Entrega de correo'' y
-+	seleccione ``Desactivar'' para detener la recepción de correo, y
-+	``Activar'' para iniciar a recibir el correo.
-+\end{enumerate}
-+
-+Esto también se puede cambiar para múltiples listas al mismo tiempo, si
-+usted está suscrito a más de una lista en el mismo dominio.  Mire en la
-+Sección~\ref{sec:global} la información acerca de cambios globales de
-+configuración.
-+
-+Para activar/desactivar la entrega de correo usando el interfaz de correo
-+electrónico:
-+\begin{enumerate}
-+   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
-+   \var{set~delivery~off} o \var{set~delivery~on}.
-+
-+   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto
-+   del mensaje (mire en la Sección~\ref{sec:email} más información sobre
-+   envío de órdenes de correo).
-+   \item Seleccione ``off'' para parar la recepción de los envíos, y ``on''
-+   para iniciar a recibirlos otra vez.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo puedo evitar recibir mensajes duplicados? (opción duplicates)
-+\label{sec:nodupes}}
-+
-+Mailman no puede impedir completamente que usted reciba mensajes duplicados,
-+pero puede ayudar.  Una razón común para que la gente reciba múltiples copias
-+de un correo es que el remitente haya usado una función ``responder al grupo''
-+para enviar correo tanto a la lista como a algún número de individuos.  Si
-+usted desea evitar recibir estos mensajes, se puede configurar Mailman para
-+que revise y mire si usted está en las líneas \mailheader{To} o \mailheader{Cc}
-+del mensaje.  Si su dirección aparece ahí, entonces se le puede indicar a
-+Mailman que no le envíe otra copia.  Esto significa que usted recibirá
-+solamente la copia enviada por el remitente, y no una copia que haya sido
-+alterada por Mailman (incluir cabeceras y piés, borrar adjuntos, etc.).
-+
-+Para activar/desactivar esta opción usando el interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la
-+	Sección~\ref{sec:web} los detalles de cómo hacer esto).
-+	\item Ubique en la parte inferior de la página la sección identificada
-+	como ``¿Evitar copias de mensajes duplicados?'' y cambie el valor
-+	según corresponda.
-+\end{enumerate}
-+
-+Esto también se puede cambiar para múltiples listas al mismo tiempo si usted
-+está suscrito a más de una lista en el mismo dominio.  Mire en la
-+Sección~\ref{sec:global} la información sobre cambios globales de configuración. 
-+
-+Para activar/desactivar esto usando el interfaz de correo electrónico:
-+\begin{enumerate}
-+   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
-+   \var{set~duplicates~on} o \var{set~duplicates~off}.
-+
-+   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto
-+   del mensaje (mire en la Sección~\ref{sec:email} más información sobre
-+   envío de órdenes de correo). 
-+   \item Seleccione ``on'' para recibir copias de los mensajes que ya le
-+   hayan enviado, seleccione ``off'' para evitar recibir esos duplicados.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo cambio mi dirección de suscripción?\label{sec:changeaddress}}
-+
-+Para cambiar su dirección de suscripción:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la
-+	Sección~\ref{sec:web} más detalles de cómo hacer esto).
-+	\item Introduzca su nueva dirección en la sección identificada como
-+	``Cambiando su información de membresía de NOMBRELISTA''.
-+	\item Si usted desea cambiar su dirección para todas sus suscripciones
-+	usando la dirección antigüa, habilite la opción ``Cambiar
-+	globalmente''.  Si uste tiene suscripciones desde otras direcciones o
-+	suscripciones a listas en un dominio diferente, estas tendrán que
-+	hacerse por separado.  Mire en la Sección~\ref{sec:global} más
-+	información sobre cambios globales de configuración.
-+\end{enumerate}
-+
-+Mailman le enviará un mensaje de confirmación a su nueva dirección, pero el
-+cambio no tendrá efecto hasta que usted confirme el cambio siguiendo las
-+instrucciones dadas en ese mensaje.
-+
-+No hay una forma especial de hacer esto desde el interfaz de correo
-+electrónico, pero usted puede suscribirse y desuscribirse para conseguir más o
-+menos el mismo efecto (mire en las Secciones~\ref{sec:subscribe} y
-+\ref{sec:unsubscribe} más información sobre suscripción y desuscripción).
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo hago para dejar de o iniciar a recibir copias de mis propios
-+        envíos? (opción myposts)\label{sec:getown}}
-+
-+Por omisión en Mailman, usted recibe una copia de todos los mensajes que 
-+usted envía a la lista.  A algunas personas les gusta esto ya que les 
-+permite saber que el envío ha alcanzado su destino y así ellas tienen una
-+copia de sus propias palabras con el resto de una discusión, pero otros no
-+desean molestarse recibiendo copias de sus propios envíos.
-+
-+\note{Esta opción no tiene efecto si usted está recibiendo mensajes agrupados}
-+
-+Usted también puede desear mirar la Sección~\ref{sec:getack}, la cual discute
-+sobre los correos electrónicos de acuso de recibo de los mensajes que se
-+envían a la lista.
-+
-+Para hacer esto usando el interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la
-+	Sección~\ref{sec:web} las instrucciones de cómo hacer esto).
-+	\item Ubique la sección identificada como ``¿Recibir sus propios
-+	envíos a la lista?'', seleccione ``Si'' para recibir copias de sus
-+	propios mensajes, y ``No'' para evitar recibirlos.
-+\end{enumerate}
-+
-+Para hacer esto usando el interfaz de correo:
-+\begin{enumerate}
-+   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
-+   \var{set~myposts~on} o \var{set~myposts~off}.
-+   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto del
-+   mensaje.  Mire en la Sección~\ref{sec:email} más información sobre el envío
-+   de órdenes de correo.
-+   \item Seleccione ``on'' para recibir copias de sus propios mensajes, y 
-+   ``off'' para evitar recibirlos.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo puedo hacer para que Mailman me diga cuando mi envío ha
-+sido recibido por la lista? (opción ack)\label{sec:getack}}
-+
-+En la mayoría de las listas, usted simplemente recibirá una copia de su
-+correo cuando éste se haya ido, no obstante, esta opción puede ser útil
-+para usted, si esta opción está desactivada (ver Section~\ref{sec:getown}),
-+su entrega de correo está desactivada (ver Section~\ref{sec:nomail}),
-+usted no está suscrito a ese tema (ver Section~\ref{sec:sometopic}) o usted
-+simplemente desea una confirmación de mensaje recibido extra del sistema.
-+
-+\note{Si usted no está suscrito a la lista, no se puede usar esta opción.
-+Usted debe, ya sea, revisar los archivos por su cuenta (si la lista tiene
-+archivos públicos), preguntarle a alguien que esté suscrito a la lista, o
-+suscribirse para usar esta opción.}
-+
-+Para utilizar esta opción usando el interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la
-+	Sección~\ref{sec:web} mayores detalles de cómo hacer esto).
-+	\item Ubique la sección identficada como ``¿Recibir correos de acuso
-+	de rebibo cuando usted envía correo a la lista?''  Seleccione ``Si''
-+	para recibir un correo haciéndole saber que se ha recibido su envío
-+	y ``No'' para evitar recibir tal mensaje de acuso de recibo.
-+\end{enumerate}
-+
-+Para utilizar esta opción usando el interfaz de correo electrónico:
-+\begin{enumerate}
-+   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
-+   \var{set~ack~on} o \var{set~ack~off}.
-+
-+   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto del
-+   mensaje.  Mire en la Sección~\ref{sec:email} más información sobre el envío
-+   de órdenes de correo.
-+   \item Seleccione ``on'' si usted desea recibir correo haciéndole saber que
-+   se ha recibido su envío y ``off'' para evitar recibir tal mensaje de acuso
-+   de recibo.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{Parece que no estoy recibiendo correo de las listas. ¿Qué debería
-+	hacer?}
-+
-+Hay pocas razones comunes para que esto ocurra:
-+\begin{itemize}
-+	\item Durante un cierto lapso de tiempo nadie ha enviado correo a la
-+	lista o listas en las cuales usted está suscrito.
-+
-+	Para revisar si este es el caso, intente accediendo a los archivos de
-+	la lista (asumiendo que la lista tiene archivos).  Si la lista no
-+	tiene archivos, puede preguntar a otro suscriptor (mire en la
-+	Sección~\ref{sec:web} la ayuda para encontrar los archivos de una
-+	lista).
-+
-+	\note{Generalmente se considera descortés envíar mensajes de prueba a
-+	la lista entera.  Si usted siente la necesidad de probar que la lista
-+	está trabajando y por alguna razón usted no puede simplemente redactar
-+	un mensaje regular a la lista, es menos perturbador solicitar un
-+	mensaje de ayuda a la dirección administrativa de la lista
-+	(NOMBRELISTA-request at DOMINIO) para mirar si trabaja, o contactar al
-+	administrador de la lista para preguntarle si la lista está operando
-+	normalmente.}
-+
-+	\item Su dirección de correo está causando mensajes devueltos y por
-+	ello el software de la lista le ha deshabilitado la entrega de correo
-+	(temporalmente).
-+
-+	Si su proveedor de correo ``devuelve'' demasiados mensajes (es decir,
-+	si le dice a Mailman que el mensaje no se pudo enviar), Mailman 
-+	eventualmente ya no intenta enviarle correo.  Esta característica
-+	permite a Mailman manipular con gusto direcciones que ya no existen
-+	(por ejemplo, cuando un suscriptor encuentra un nuevo servicio de
-+	Internet y olvida darse de baja de la dirección antigüa), así como
-+	también direcciones que están temporalmente fuera de servicio (por
-+	ejemplo, cuando el suscriptor ha utilizado todo el espacio asignado de
-+	su cuenta de correo, o cuando el proveedor de correo del suscriptor
-+	está experimentando dificultades).
-+
-+	Aún si usted no está enterado de cualquier dificultad con su proveedor
-+	de correo, es una buena idea revisar esto.  Algunos proveedores
-+	populares de correo basado en web y servidores de Internet no son tan
-+	confiables como uno podría asumir, ni tampoco lo es el Internet como
-+	un todo.  Usted también puede desear enviarse usted mismo un mensaje
-+	de prueba desde otra cuenta o pedirle a un amigo que le envíe un
-+	mensaje de prueba para asegurarse que su dirección suscrita está
-+	trabajando.
-+
-+	Para revisar si esta puede ser la razón por la cual usted no está
-+	recibiendo mensajes, ingrese a su página de opciones (consulte en la
-+	Sección~\ref{sec:web} más detalles de cómo hacer esto) y mire sus
-+	opciones.  Si se ha desactivado su suscripción o si Mailman ha
-+	recibido mensajes devueltos provenientes de su dirección de correo,
-+	usted encontrará un gran mensaje en la parte superior de esta página.
-+
-+	Para reactivar la entrega de correo, ubique una opción identificada
-+	como ``Entrega del correo'' y seleccione ``Habilitar'' para iniciar
-+	de nuevo a recibir el correo.  Para deshacerse de su puntaje de
-+	mensajes devueltos, usted puede desactivar y luego volver a activar
-+	la entrega.  Más instrucciones sobre la desactivación o activación
-+	de la entrega del correo se encuentran en la Sección~\ref{sec:nomail}.
-+
-+	\note{Aún si usted no estuviera inhabilitado en el momento en que
-+	revisa, usted podría estar recibiendo mensajes devueltos y no haber
-+	alcanzado el límite para que su suscripción se desactive.  Usted puede
-+	necesitar revisar de nuevo.}
-+
-+	\item Hay un retardo o interrupción en las redes existentes entre
-+	usted y el servidor de listas.
-+
-+	Por mucho que nos gustaría, Internet no es 100\% confiable ni siempre
-+	es rápida.  Algunas veces los mensajes simplemente demoran mucho
-+	tiempo en llegar.  Trate de ser paciente, especialmente si el servidor
-+	está alejado (en términos de redes, no geográficamente, aunque a
-+	menudo lo uno implica lo otro) de su proveedor de servicio de
-+	Internet.
-+
-+	Para revisar si esta podría ser la causa de su problema, usted puede
-+	probar realizando un ping al servidor de la lista o trazar la ruta
-+	entre usted y él (las instrucciones de cómo hacer esto varía de una
-+	plataforma a otra, así que usted puede desear usar un motor de
-+	búsqueda para encontrar aquellas más apropiadas para usted).
-+
-+	\item El servidor de correo o Mailman podrían no estar funcionando
-+	correctamente.  Esto puede ocurrir si el sistema está sobrecargado con
-+	virus o spam y el sistema de correo que aloja Mailman tiene problemas
-+	al procesarlos.
-+	
-+	Para revisar si este es el caso, pruebe utilizando el interfaz web de
-+	la lista y trate de enviar un mensaje a
-+	\email{NOMBRELISTA-request at DOMINIO} con la orden ``\var{help}'' (sin
-+	las comillas) en la línea de \mailheader{Asunto}.  Si nada de esto
-+	funciona después de un razonable lapso de tiempo, ese puede ser el
-+	problema.  Usted puede desear contactar al administrador de la lista
-+	o al administrador del sitio.
-+\end{itemize}
-+
-+% ============================================================================
-+\section{Envíos agrupados}
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo puedo iniciar o dejar de recibir los mensajes enviados a la
-+lista agrupados en un correo de gran tamaño? (opción digest)\label{sec:digest}}
-+
-+Los grupos de envíos se llaman ``digests'' en Mailman.  En lugar de recibir
-+los mensajes de uno en uno, usted puede recibir los mensajes agrupados (digests).
-+En una lista bastante ocupada, esto típicamente significa que usted recibe
-+un correo por día, aunque podría ser más o menos frecuente dependiendo de la
-+lista.
-+
-+Usted también puede desear mirar la Sección~\ref{sec:MIME} que trata sobre
-+los envíos agrupados en formato MIME y texto plano. 
-+
-+Para activar o desactivar los envíos en modo agrupado usando la interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la 
-+	Sección~\ref{sec:web} más detalles de cómo hacer esto).
-+	\item Ubique la sección identificada como ``Activar envíos agrupados''  
-+
-+	Seleccione ``On'' para recibir los envíos agrupados.  Seleccione
-+	``Off'' para recibir por separado cada uno de los envíos.
-+\end{enumerate}
-+
-+Para activar o desactivar los envíos en modo agrupado usando el interfaz de
-+correo electrónico:
-+\begin{enumerate} 
-+   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
-+   \var{set~digest~plain} o \var{set~digest~mime} o \var{set~digest~off}.
-+   
-+   Las órdenes pueden aparecer ya sea en el cuerpo o el la línea de asunto
-+   de un mensaje (ver en la Sección~\ref{sec:email} más información sobre el
-+   envío de órdenes de correo).
-+   
-+   \item Seleccione ``off'' si usted desea recibir los mensajes cada uno por
-+   separado y seleccione ``plain'' o ``mime'' para recibir los mensajes
-+   agrupados en un gran correo, en forma periódica.  Mire en la
-+   Sección~\ref{sec:MIME} más información sobre envíos agrupados en formato
-+   MIME versus texto plano.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Qué son los Envíos Agrupados MIME o de Texto Plano?  ¿Cómo puedo
-+decidir cuales recibir? (opción digest)\label{sec:MIME}}
-+
-+MIME es la sigla de Multipurpose Internet Mail Extensions (Extensiones 
-+Multipropósito de Correo de Internet).  Se usa para enviar por correo
-+electrónico cosas que no necesariamente son simple texto plano (por
-+ejemplo, se podría usar MIME si usted fuera a enviar una fotografía de
-+su perro a un amigo).
-+
-+Un envío agrupado en formato MIME contiene cada mensaje como un adjunto dentro
-+del mensaje, junto con un resumen de la tabla de contenido.
-+
-+Un envío agrupado en formato texto plano es una forma más simple de envío
-+agrupado, el cual debería ser legible aún en los lectores de correo que no
-+soportan MIME.  Los mensajes se ponen simplemente uno después de otro en un
-+gran mensaje de texto.
-+
-+Los programas de correo más modernos soportan MIME, así que usted sólo
-+necesita seleccionar envíos agrupados en formato de texto plano si
-+está teniendo problemas al leer los que están en formato MIME.
-+
-+\note{Esta opción no tiene efecto si usted no está recibiendo correo
-+en modo agrupado (mire en la Sección~\ref{sec:digest} más información
-+sobre recepción del correo en modo agrupado).}
-+
-+Para seleccionar el tipo de envíos agrupados a recibir, usando el interfaz
-+web:
-+\begin{enumerate}
-+   \item Ingrese a su página de opciones de suscriptor (mire en la
-+   Sección~\ref{sec:web} más detalles de cómo hacer esto).
-+   \item Ubique la sección identificada como ``¿Recibir envíos agrupados MIME
-+   o de texto plano?''
-+
-+   Seleccione ``MIME'' para recibir los envíos agrupados en formato MIME, o
-+   ``Plain text'' para recibir los envíos agrupados en formato de texto plano.
-+\end{enumerate}
-+
-+Esto también se puede cambiar para múltiples listas al mismo tiempo si
-+usted está suscrito a más de una lista en el mismo dominio.  Mire en la
-+Sección~\ref{sec:global} la información sobre cambios globales de
-+configuración.
-+
-+Para seleccionar su tipo de envíos agrupados a recibir, usando el interfaz
-+de correo electrónico:
-+\begin{enumerate}
-+   \item Envíe un correo electrónico a \email{NOMBRELISTA-request at DOMINIO}
-+   con la orden \var{set~digest~plain} o \var{set~digest~mime}.
-+
-+   Los comandos pueden aparecer ya sea en el cuerpo o en la línea de
-+   asunto del mensaje (mire en la Sección~\ref{sec:email} más información
-+   sobre envío de órdenes de correo).
-+
-+   \item Seleccione ``plain'' para recibir los envíos agrupados en formato
-+   de texto plano, o ``mime'' para recibir los envíos agrupados en formato
-+   MIME.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\section{Temas de listas de correo\label{sec:topics}}
-+
-+Algunas listas están configuradas para que Mailman maneje diferentes temas.
-+Por ejemplo, la lista de cursos en Linuxchix.org es una lista de discusión
-+para cursos que se están dictando para miembros de linuxchix, y a menudo, hay
-+varios cursos que se están dictando al mismo tiempo (por ejemplo, redes para
-+principiantes, programación en C, etiquetado de documentos \LaTeX).
-+
-+Cada uno de estos cursos que se están dictando está asociado con un tema
-+diferente en la lista de manera que la gente puede escoger que curso o cursos
-+tomar.  El administrador debe configurar los temas, pero es responsabilidad
-+de cada suscriptor asegurarse que cada envío tenga el tema correcto.
-+Usualmente, ello requiere adicionar una palabra o etiqueta de algún tipo a
-+la línea de asunto (por ejemplo: [Redes] ¿Qué tipos de cables necesito?)
-+o asegurarse que la línea \mailheader{Palabras claves} tiene la información
-+correcta (por omisión, usted puede poner una sección \mailheader{Palabras
-+claves} en el comienzo del cuerpo de su mensaje, pero esto lo puede configurar
-+su administrador de la lista).  Note que estas etiquetas no son sensibles a
-+minúsculas/mayúsculas.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo puedo asegurarme que mis envíos tienen el tema apropiado?
-+	\label{sec:posttopic}}
-+
-+Cuando un administrador de lista define un tema, puede definir tres cosas:
-+\begin{itemize}
-+	\item un nombre de tema
-+	\item una expresión regular (regexp)
-+	\item una descripción
-+\end{itemize}
-+
-+Usted puede mirar esta información ingresando a su página de opciones de
-+suscriptor (ver en la Sección~\ref{sec:web} más detalles de cómo hacer esto)
-+y haciendo clic en el enlace ``Detalles'' de cualquiera de los temas que le
-+interesen.
-+
-+Para enviar un mensaje sobre un determinado tema, usted necesita asegurarse
-+que las \mailheader{Palabras claves} o las cabeceras de \mailheader{Asunto}
-+de su mensaje concuerdan con la \emph{expresión regular} de ese tema.  Una
-+expresión regular es un patrón que puede coincidir con más de una cosa.
-+Realmente las expresiones regulares pueden ser mucho más complejas, así que
-+usted puede sencillamente preguntar al administrador de la lista si usted no
-+sabe como crear cabeceras o colas de una expresión dada.
-+
-+Si realmente usted desea saber más sobre expresiones regulares, siga leyendo,
-+pero para la mayor parte, su administador de la lista debería incluir en la
-+descripción del tema, lo que usted necesita adicionar a sus Palabras Claves o
-+línea de Asunto para que coincida con el patrón del tema.
-+
-+La mayoría de expresiones de temas Mailman corresponderan a expresiones
-+regulares bastante simples, así que en este documento simplemente se darán
-+algunos ejemplos comunes.  Las expresiones regulares son un poquito complejas
-+para enseñar aquí en unas pocas líneas, así que si usted realmente desea
-+entender como trabajan, usted debería encontrar un instructivo o referencia en
-+otro lado (por ejemplo, DevShed tiene un buen instructivo en
-+\url{http://www.devshed.com/Server_Side/Administration/RegExp/})  
-+
-+Aquí hay algunos ejemplos de posibles expresiones regulares y líneas concordantes:
-+\begin{tableii}{l|l}{}{Expresión Regular}{Líneas concordantes}
-+	\lineii{zuff}{Palabras Claves: zuff}
-+	\lineii{zuff}{Palabras Claves: ZUFF}
-+	\lineii{zuff}{Palabras Claves: Zuff}
-+	\lineii{zuff}{Palabras Claves: amarilis, zuff, puré de manzana}
-+	\lineii{zuff}{Asunto: [zuff] ¿Tienes lo necesario para el zuff?}
-+	\lineii{zuff}{Asunto: ¿Tienes lo apropiado para el zuff?}
-+	\lineii{zuff}{Asunto: ¿Qué es zuff?}
-+\hline
-+	\lineii{\textbackslash[zuff\textbackslash]}{Palabras Claves: [zuff]}
-+	\lineii{\textbackslash[zuff\textbackslash]}{Asunto: [zuff]    ¿Tienes lo necesario?}
-+	\lineii{\textbackslash[zuff\textbackslash]}{Asunto: Tutoriales en línea de zuff (Re: [zuff] ¿Qué es zuff?)}
-+\end{tableii}
-+
-+Unas pocas notas:
-+\begin{itemize}
-+	\item Las concordancias no son sensibles a mayúsculas/minúsculas, así
-+	que si concuerda zuff, lo hará ZUFF, zuFF, y cualquier otra variación
-+	en el uso de las mayúsculas/minúsculas.
-+	\item Algunos caracteres tienen un significado especial en una
-+	expresión regular, así que para concordar específicamente con esos
-+	caracteres, ellos deben ser ``escapados'' con una diagonal inversa
-+	(\textbackslash).  Como usted puede ver en los ejemplos de arriba,
-+	los paréntesis rectangulares ([ y ]) son unos de esos caracteres
-+	(otros incluyen ``.'', ``?'', y ``*'').  La diagonal inversa también
-+	se usa para otras cosas (no es broma la complejidad de las expresiones
-+	regulares: consulte en otra documentación los detalles sobre otros
-+	usos del caracter de diagonal inversa), pero este es el uso más
-+	probable en una expresión de tema.
-+\end{itemize}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo me suscribo a algunos o a todos los temas de una lista?
-+	\label{sec:sometopic}}
-+
-+Si el administrador de su lista configuró temas, usted puede elegir
-+suscribirse solamente a una parte de la lista seleccionado los temas que usted
-+desee recibir.
-+
-+Si usted desea recibir todos los mensajes enviados a la lista, asegúrese que
-+usted no está suscrito a ninguno de los temas.
-+
-+Probablemente usted también desdea mirar la Sección~\ref{sec:notopic} la cual
-+discute el cambio de su configuración para mensajes que no tienen temas
-+definidos.
-+
-+Para seleccionar los temas que desea recibir, utilizado el interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la 
-+	Sección~\ref{sec:web} más detalles de cómo hacer esto).
-+	\item Ubique la sección identificada como ``¿A qué temas le gustaría
-+	suscribirse?''
-+
-+	Si algún tema está definido, usted puede seleccionar aquelos que
-+	desee.  Si usted no selecciona ningún tema de interés, usted recibirá
-+	todos los mensajes enviados a la lista.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo logro o evito recibir mensajes sin tema definido?
-+\label{sec:notopic}}
-+Algunos mensajes no corresponderán con ninguno de los patrones de temas
-+definidos.  Usted puede escoger recibir o ignorar tales mensajes que no
-+coinciden.  Si usted desea recibir todos los mensajes enviados a la lista,
-+asegúrse que usted no está suscrito a ningún tema específico (ver 
-+Sección~\ref{sec:sometopic}).
-+
-+Si usted únicamente está suscrito a algunos temas, usted puede elegir si
-+recibe o no recibe mensajes sin tema definido, de la misma forma cómo
-+usted puede seleccionar suscribirse únicamente a ciertos temas.
-+
-+Para cambiar esta opción:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la 
-+	Sección~\ref{sec:web} los detalles de cómo hacer esto).
-+	\item Ubique la sección identificado como ``¿Desea recibir
-+	mensajes que no concuerden con algún filtro de tema?''
-+
-+	Si usted desea recibir mensajes sin tema definido, seleccione ``Si''.
-+	Si usted no desea recibir tales mensajes, seleccione ``No''.
-+\end{enumerate}
-+
-+This setting has no effect if you are not subscribed to any topics.
-+Este cambio no tiene efecto si usted no está suscrito a algún tema
-+de las listas.
-+
-+% ============================================================================
-+\section{Definiendo otras opciones}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cambiar Globalmente?  ¿Definir Globalmente? ¿Qué significa esto?
-+	\label{sec:global}}
-+
-+Para algunas de las opciones dadas en su página de opciones de suscriptor, hay
-+una casilla de verificación que dice ``Cambiar globalmente'' o ``Aplicar
-+globalmente''.   Esto significa que si usted cambia esta opción, también se
-+hará el cambio para todas las suscripciones que usted tenga en el mismo
-+dominio.  Esto puede ser práctico si, por ejemplo, usted desea utilizar una
-+misma contraseña para todas sus listas, o si usted sale de vacaciones y desea
-+suspender la entrega de correo de todas las listas.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo cambio el nombre que registré en Mailman?
-+	\label{sec:changename}}
-+
-+Para cambiar su nombre de suscripción:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la
-+	Sección~\ref{sec:web} más detalles de cómo hacer esto).
-+	\item En la sección ``Cambio de su información de suscriptor de
-+	NOMBRELISTA'', entre su nuevo nombre en el cuadro de texto apropiado.
-+\end{enumerate}
-+
-+Esto también se puede cambiar para múltiples listas al mismo tiempo si usted está
-+suscrito a más de una lista en el mismo dominio.  Mire en la Sección~\ref{sec:global}
-+información sobre cambios globales de configuración.
-+
-+\note{Usted no necesita tener un nombre de suscriptor definido.}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo selecciono mi idioma preferido?}
-+
-+Mailman es multilingüe, lo que quiere decir que su interfaz se ha traducido a
-+muchos idiomas diferentes.  El administrador de su lista puede habilitar
-+varios idiomas para su uso cuando se interactúa con Mailman.  (Para obtener
-+un listado completo de los idiomas disponibles mire
-+\url{http://www.list.org/i18n.html}).  Si su lista tiene otros idiomas
-+habilitados, usted puede utilizar el interfaz web y el interfaz de correo
-+electrónico, en un idioma de su elección.
-+
-+\note{Esto no significa que los mensajes enviados a la lista estarán en el
-+idioma que haya seleccionado.  Únicamente las plantillas y otros textos
-+propios de Mailman, serán afectados por esta configuración.  Los envíos se
-+hacen en el idioma que escriban los suscriptores.} 
-+
-+Su idioma preferido se define cuando usted se suscribe (mire la
-+Sección\ref{sec:subscribe}), pero se puede cambiar posteriormente si la lista
-+soporta más de un idioma.
-+
-+Para cambiar su idioma preferido en Mailman:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la
-+	Sección~\ref{sec:web} las instrucciones sobre cómo hacer esto).
-+	\item Vaya a la sección identificada como ``¿Qué idioma prefiere?''
-+	y escoja el idioma apropiado de la lista desplegable.  Si no hay una
-+	lista de idiomas, probablemente la lista en que se encuentra sólo
-+	soporta un idioma.
-+\end{enumerate}
-+
-+Si su lista no soporta el idioma que usted preferiría usar, puede contactar
-+al administrador de la lista (NOMBRELISTA-owner at DOMINIO) para mirar si se
-+puede adicionar, pero recuerde que esto puede representar mayor trabajo y el
-+administrador de la lista o del sitio pueden no tener el tiempo necesario o
-+la capacidad de hacerlo.
-+
-+Si el idioma de su elección no está disponible porque no existe traducción
-+para Mailman, por favor considere ofrecer su tiempo como traductor voluntario.
-+Para mayor información, usted puede desear consultar la lista de correo
-+mailman-i18n en \url{http://mail.python.org/mailman/listinfo/mailman-i18n}.
-+Información sobre el estado actual de los esfuerzos de internacionalización
-+se encuentra en \url{http://www.list.org/i18n.html}.
-+
-+\note{i18n en una abreviatura para ``internationalization'' ya que la palabra
-+comienza con una i, termina con una n, y tiene 18 letras entre ellas.  Si
-+usted musita un poco, i18n inclusive suena un tanto como
-+``internationalization''.}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo evito que mi nombre aparezca en la lista de suscriptores?
-+	(opción hide)\label{sec:nolist}}
-+
-+Si usted por alguna razón no desea que su dirección de correo aparezca en la
-+lista de suscriptores, puede optar por tenerla oculta.
-+
-+Las razones comunes para hacer esto incluyen el evitar correo basura no
-+solicitado (spam).  Por omisión la lista de suscriptores se oculta para
-+bloquear a recolectores de spam, pero si usted siente que esto es
-+insuficiente, es bastante fácil eliminar su dirección de la lista de
-+de suscriptores dada en las páginas de información o mediante una solicitud
-+de correo electrónico (note que esto no oculta su dirección de los
-+administradores de la lista).  Si usted desea mire en la 
-+Sección~\ref{sec:antispam} más información sobre lo que Mailman hace para
-+ayudar a evitar el spam.
-+
-+Para cambiar esta opción utilizando el interfaz web:
-+\begin{enumerate}
-+	\item Ingrese a su página de opciones de suscriptor (mire en la
-+	Sección~\ref{sec:web} instrucciones sobre cómo hacer esto). 
-+	\item Vaya a la sección identificada como ``¿Ocultarse de la lista
-+	de suscriptores?'' y escoja ``Si'' para ocultar su nombre de la
-+	lista, o ``No'' para permitir que su nombre aparezca en la lista.
-+\end{enumerate}
-+
-+Para cambiar esta opción utilizando el interfaz de correo electrónico:
-+\begin{enumerate} 
-+   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la órden
-+   \var{set~hide~on} o \var{set~hide~off}.
-+
-+   Las órdenes puede aparecer ya sea en el cuerpo o en la línea de asunto del
-+   mensaje (mire en la Sección~\ref{sec:email} más información sobre el envío
-+   de órdenes de correo.
-+   \item Seleccione ``on'' para ocultar su dirección de correo electrónico de
-+   la lista de membresía, u ``off'' para dejar de ocultar su dirección.
-+\end{enumerate}
-+
-+% ============================================================================
-+\section{Otras preguntas comunes}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Cómo puedo consultar los archivos de la lista?}
-+
-+Si la lista se está archivando, los mensajes previamente enviados se pueden
-+ver yendo a las páginas web del archivo, un enlace al cual se encuentra en la
-+página de información de la lista y en la cabecera \mailheader{List-Archive}
-+de todo mensaje enviado (a menos que el administración de su lista haya
-+desactivado tales cabeceras).  Muchos programas de correo ocultan la cabecera
-+de correo \mailheader{List-Archive}, así que usted primero necesita hacer que
-+su programa de correo le muestre las cabeceras completas antes de que usted
-+pueda mirar esa cabecera.
-+
-+Los archivos públicos usualmente tienen direcciones de la forma
-+\url{http://SERVIDORWEB/pipermail/NOMBRELISTA/}, mientras que los archivos
-+privados usualmente tienen direcciones de la forma
-+\url{http://SERVIDORWEB/mailman /private/NOMBRELISTA}.
-+
-+Mire en la Sección~\ref{sec:web} más información sobre búsqueda de
-+direcciones de una lista.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{¿Qué hace Mailman para ayudar a protegerme de correo basura no
-+solicitado (spam)?\label{sec:antispam}}
-+
-+Los archivos de una lista técnica pueden incluir respuestas a un rango de
-+preguntas diferentes.  A menudo, la gente que ha enviado estas respuestas
-+estaría gustoso de ayudar a alguien que no entiende completamente la
-+respuesta, y no le preocuparía dar su dirección para ese propósito.  Pero
-+aunque sería maravilloso si todos nos puedieramos contactar unos a otros con
-+facilidad, también queremos asegurarnos que la gente que envía spam no abuse
-+de la lista ni de los archivos de la lista.
-+
-+Para hacer que un rango de opciones esté disponible a los administradores de
-+listas, Mailman permite una variedad de configuraciones para ayudar a proteger
-+las direcciones de correo.  Muchos de estas configuraciones son opcionales
-+para el administrador de la lista, así que su lista particular puede estar
-+configurada en forma diferente.  Los administradores de listas deben encontrar
-+un punto de equilibrio entre proteger a suscriptores y hacerlo difícil para que
-+la gente se ponga en contacto.
-+
-+\begin{itemize}
-+	\item Lista de suscriptores
-+		\begin{itemize}
-+			\item El administrador de la lista puede seleccionar entre tener
-+			la lista de suscriptores pública, visible únicamente a miembros
-+			de la lista, o visible únicamente a administradores de la lista.
-+			\item La lista de suscriptores se muestra con las direcciones
-+			disimuladas para que a los recolectores de spam se les dificulte
-+			obtener su dirección.
-+			\item Usted puede mantener su dirección oculta de la lista de
-+			suscriptores (mire más información en la Sección~\ref{sec:nolist}).
-+			\item \note{La lista entera de suscriptores siempre está
-+			disponible a los administradores de la lista.}
-+		\end{itemize}
-+
-+	\item Archivos de la lista
-+		\begin{itemize}
-+			\item El administrador de la lista pueden elegir que los archivos
-+			sean públicos, visibles únicamente a suscriptores (privados), o
-+			completamente no disponibles.
-+			\item Los archivos HTML que son creados por Pipermail (el programa
-+			de archivado que viene incluido por omisión con Mailman) contienen
-+			únicamente direcciones disimuladas.  Existen otros programas de
-+			archivado que modifican las direcciones en diferentes grados para
-+			que permanezcan menos legibles.
-+			\item Si usted desea estar más seguro, puede definir la cabecera
-+			de correo ``\mailheader{X-No-archive} yes'' y Mailman no
-+			archivará sus envíos.  Similarmente, puede definir la cabecera de
-+			correo ``\mailheader{X-Archive} no'' para inhabilitar el
-+			archivado.
-+
-+			\warning{Esto no evita que otros suscritores reenvíen sus mensajes,
-+			posiblemente aún, incluyendo su dirección de correo electrónico.}
-+		\end{itemize}
-+
-+	\item Envíos limitados a las listas
-+		\begin{itemize}
-+			\item El administrador de la lista puede elegir quien puede
-+			envíar a la lista.  La mayoría de las listas, se moderan
-+			(un moderador o administrador revisa cada envío), se configuran
-+			para que solamente los suscriptores puedan enviar a la lista, o
-+			se permite que cualquier persona pueda enviar a la lista.
-+			\item Permitiendo que solamente los suscriptores puedan enviar
-+			a la lista, Mailman a menudo bloquea todo el spam y algunos
-+			virus que se envían a la lista.  Como tal, esta es una
-+			configuración bastante común utilizada por los administradores
-+			de listas.
-+		\end{itemize}
-+
-+	\item Listas anónimas
-+		\begin{itemize}
-+			\item Las listas también se pueden volver completamente anónimas:
-+			toda la información que identifique al remitente se elimina de
-+			la cabecera antes de enviar un mensaje.
-+			\item Esto no es tipicamente usado  como medida anti-spam (tiene
-+			otros usos), pero se podría usar en esa forma si se quisiera.
-+		\end{itemize}
-+\end{itemize}
-+
-+Por supuesto, muchos métodos para disimular direcciones pueden ser burlados por
-+determinadas personas, así que sea consciente de que las protecciones usadas
-+pueden no ser suficientes.
-+
-+% ============================================================================
-+\appendix
-+% ----------------------------------------------------------------------------
-+\section{Referencia rápida de órdenes de correo electrónico\label{a:commands}}
-+\begin{list}{}{}
-+	\item confirm $<$CADENA-DE-CONFIRMACIÓN$>$
-+		\begin{list}{}{}
-+			\item
-+	Confirma una acción.  La cadena de confirmación es obligatoria y se 
-+	debería enviar en la respuesta al mensaje de confirmación enviado por
-+	Mailman.
-+		\end{list}
-+
-+   \item end
-+		\begin{list}{}{}
-+			\item
-+	Termina el procesamiento de órdenes.  Utilice esta orden si su programa
-+	de correo añade automáticamente un archivo de firma.
-+		\end{list}
-+
-+   \item help
-+		\begin{list}{}{}
-+			\item
-+	Recibe una copia del mensaje de ayuda.
-+		\end{list}
-+
-+   \item info
-+		\begin{list}{}{}
-+			\item
-+	Obtiene información acerca de la lista.
-+		\end{list}
-+
-+   \item lists
-+		\begin{list}{}{}
-+			\item
-+	Obtiene una listado de las listas de correo (cuyos nombres se muestran
-+	públicamente), del servidor GNU Mailman.
-+		\end{list}
-+
-+    \item {password [$<$CONTRASEÑA-ANTERIOR$>$ $<$CONTRASEÑA-NUEVA$>$] [address=$<$DIRECCIÓN$>$]}
-+		\begin{list}{}{}
-+			\item
-+	Obtiene o cambia su contraseña.  Sin argumentos, devuelve su contraseña actual.
-+	Usted puede cambiar su contraseña indicando los argumentos
-+	$<$CONTRASEÑA-ANTERIOR$>$ y $<$CONTRASEÑA-NUEVA$>$
-+		\end{list}
-+
-+    \item set ...
-+		\begin{list}{}{}
-+			\item
-+	Cambia o muestra sus opciones de membresía.
-+
-+	Use `set help' (sin las comillas) para obtener una lista más detallada de
-+	las opciones que puede cambiar.  Esta lista también se presenta en el
-+        Apéndice~\ref{a:options}.
-+
-+        Use `set show' (sin las comillas) para mirar la configuración actual de
-+	sus opciones.
-+		\end{list}
-+
-+    \item{subscribe [$<$CONTRASEÑA$>$] [digest|nodigest] [address=$<$DIRECCIÓN$>$]}
-+		\begin{list}{}{}
-+			\item
-+	Suscribirse a la lista de correo.  Usted debe proporcionar su
-+	contraseña para desuscribirse o cambiar sus opciones, pero si omite
-+	la contraseña, Mailman le generará una.  Usted puede obtener recordatorios
-+	de su contraseña periódicamente.
-+
-+	El siguiente parámetro puede ser ya sea: `nodigest' o `digest' (sin
-+	comillas).  Si usted desea suscribir una dirección diferente de la
-+	dirección desde donde está enviando esta solicitud, puede especificar
-+	`address=$<$DIRECCIÓN$>$' (sin paréntesis angulares ni comillas).
-+		\end{list}
-+
-+    \item {unsubscribe [$<$CONTRASEÑA$>$] [address=$<$DIRECCIÓN$>$]}
-+		\begin{list}{}{}
-+			\item
-+	Desuscribirse de la lista de correo.  Si usted suministra una contraseña,
-+	ésta debe concordar con su contraseña actual.  Si se omite, el sistema
-+	le enviará un mensaje de confirmación para desuscribir la dirección.
-+	Si usted desea desuscribir una dirección diferente a la dirección desde
-+	donde envía esta solicitud, puede especificar `address=$<$DIRECCIÓN$>$' 
-+	(sin paréntesis angulares ni comillas).
-+		\end{list}
-+
-+    \item {who [$<$CONTRASEÑA$>$] [address=$<$DIRECCIÓN$>$]}
-+		\begin{list}{}{}
-+			\item
-+	Muestra quien pertenece a la lista de correo.  La lista está limitada
-+	únicamente a los suscriptores, y usted debe proporcionar su contraseña
-+	de membresía para obtenerla.  Si usted está enviando desde una dirección
-+	diferente a su dirección de membresía, especifique su dirección de
-+	membresía con `address=$<$DIRECCIÓN$>$' (sin paréntesis angulares ni
-+	comillas).
-+		\end{list}
-+\end{list}
-+
-+% ----------------------------------------------------------------------------
-+\section{Referencia rápida de opciones del suscriptor\label{a:options}}
-+
-+\begin{list}{}{}
-+   \item set help
-+		\begin{list}{}{}
-+	        \item Muestra esta ayuda detallada.
-+		\end{list}
-+
-+   \item {set show [address=$<$DIRECCIÓN$>$]}
-+		\begin{list}{}{}
-+        \item Muestra la configuración actual de sus opciones.  Si usted está
-+	enviando desde una dirección diferente de su dirección de membresía,
-+	especifique su dirección de membresía con `address=$<$DIRECCIÓN$>$'
-+	(sin paréntesis angulares ni comillas).
-+		\end{list}
-+
-+   \item {set authenticate $<$CONTRASEÑA$>$ [address=$<$DIRECCIÓN$>$]}
-+		\begin{list}{}{}
-+        \item Para cambiar cualquiera de sus opciones, usted debe incluir este
-+	comando primero, junto con su contraseña de membresía.  Si usted está
-+	enviando desde una dirección diferente de su dirección de membresía,
-+	especifique su dirección de membresía con `address=$<$DIRECCIÓN$>$'
-+	(sin paréntesis angulares ni comillas).
-+		\end{list}
-+
-+   \item set ack on\\
-+    set ack off
-+		\begin{list}{}{}
-+			\item
-+        Cuando se activa la opción `ack', usted recibirá un mensaje de
-+	acuso de recibo cada vez que usted envíe un mensaje a la lista.
-+		\end{list}
-+
-+   \item set digest plain\\
-+    set digest mime\\
-+    set digest off
-+		\begin{list}{}{}
-+			\item
-+	Cuando la opción `digest' está desactivada, usted recibirá los mensajes  
-+        inmediatamente cuando ellos se envían.  Use `set digest plain' si en
-+	su lugar desea recibir los mensajes agrupados en formato texto plano
-+	(p.e. envíos agrupados RFC 1153).  Use `set digest mime' si en su lugar
-+	desea recibir los mensajes agrupados en formato MIME.
-+		\end{list}
-+
-+   \item set delivery on\\
-+    set delivery off
-+		\begin{list}{}{}
-+			\item
-+	Activa o desactiva la entrega.  Esta opción no lo desuscribe, en lugar
-+	de ello, hace que Mailman deje de entregarle mensajes.  Esto puede ser
-+	útil si usted sale de vacaciones.  ¡Asegúrese de usar `set delivery on'
-+	cuando regrese de vacaciones!
-+		\end{list}
-+
-+   \item set myposts on\\
-+    set myposts off
-+		\begin{list}{}{}
-+			\item
-+        Use `set myposts off' para evitar recibir copias de los mensajes que
-+	usted envía a la lista.  Esto no tiene efecto si usted está recibiendo
-+	envíos agrupados.
-+		\end{list}
-+
-+    \item set hide on\\
-+    set hide off
-+		\begin{list}{}{}
-+			\item
-+        Use `set hide on' para ocultar su dirección de correo electrónico cuando
-+	la gente solicite la lista de suscriptores.
-+		\end{list}
-+
-+    \item set duplicates on\\
-+    set duplicates off
-+		\begin{list}{}{}
-+			\item
-+        Use `set duplicates off' si usted desea que Mailman no le envíe 
-+	mensajes si su dirección está explicitamente en los campos To: o
-+	Cc: del mensaje.  Esto puede reducir el número de envíos duplicados
-+	que usted recibe.
-+		\end{list}
-+
-+    \item set reminders on\\
-+    set reminders off
-+		\begin{list}{}{}
-+        \item Use `set reminders off' si usted desea desactivar el recordatorio
-+	mensual de contraseña para la lista de correo.
-+		\end{list}
-+\end{list}
-+
-+\end{document}
-diff -urNad mailman-2.1.8rc1~/doc/mailman-member.tex mailman-2.1.8rc1/doc/mailman-member.tex
---- mailman-2.1.8rc1~/doc/mailman-member.tex	1970-01-01 01:00:00.000000000 +0100
-+++ mailman-2.1.8rc1/doc/mailman-member.tex	2006-04-11 22:32:46.838866146 +0200
-@@ -0,0 +1,1505 @@
-+% Complete documentation on the extended LaTeX mark up used for Python
-+% documentation is available in ``Documenting Python'', which is part
-+% of the standard documentation for Python.  It may be found online
-+% at:
-+%
-+%     http://www.python.org/doc/current/doc/doc.html
-+
-+\documentclass{howto}
-+
-+%  This is a template for short or medium-size Python-related documents, 
-+% mostly notably the series of HOWTOs, but it can be used for any
-+% document you like.   
-+
-+% The title should be descriptive enough for people to be able to find
-+% the relevant document. 
-+\title{GNU Mailman - List Member Manual}
-+
-+% Increment the release number whenever significant changes are made.
-+% The author and/or editor can define 'significant' however they like.
-+\release{0.03}
-+% CHANGELOG
-+% 0.03 Proofreading changes 
-+% 0.02 Proofreading changes
-+%   - proofread by Margaret McCarthy and Jason Walton 
-+% 0.01 First draft of document
-+
-+% At minimum, give your name and an email address.  You can include a
-+% snail-mail address if you like.
-+\author{Terri Oda}
-+\authoraddress{terri(at)zone12.com}
-+
-+\date{\today}        % XXX update before tagging release!
-+\release{2.1}        % software release, not documentation
-+\setreleaseinfo{}    % empty for final release
-+\setshortversion{2.1}      % major.minor only for software
-+
-+\begin{document}
-+\maketitle
-+
-+% This makes the Abstract go on a separate page in the HTML version;
-+% if a copyright notice is used, it should go immediately after this.
-+%
-+\ifhtml
-+\chapter*{Front Matter\label{front}}
-+\fi
-+
-+% Copyright statement should go here, if needed.
-+% ...
-+
-+% The abstract should be a paragraph or two long, and describe the
-+% scope of the document.
-+\begin{abstract}
-+\noindent
-+This document describes the list member interface for GNU
-+Mailman 2.1.  It contains instructions for subscribing, unsubscribing, 
-+viewing the archives, editing user options, getting password reminders,
-+and other subscriber-level tasks.  It also answers some common questions
-+of interest to Mailman list members.
-+\end{abstract}
-+
-+\tableofcontents
-+
-+% ============================================================================
-+\section{Introduction}
-+
-+This document is intended to help the members of a Mailman 2.1 mailing list
-+learn to use the features available to them.  It covers the use of the
-+web and email interfaces for subscribing and unsubscribing, changing 
-+member options, getting password reminders and other subscriber-level
-+tasks.  It also answers some common questions of interest to Mailman list
-+members.
-+
-+Information for list and site administrators is provided in
-+other documents.
-+
-+This document need not be read in order.  If you are simply looking for
-+an answer to a specific question, jump to the appropriate place and 
-+references to other sections will be provided if necessary or potentially 
-+helpful.
-+
-+\note{For the purposes of this document, 
-+we assume that the reader is familiar with common terms related to email (eg:
-+Subject line, body of the message) and web sites (eg: drop-down box, button) or
-+can look them up.  We also assume that the reader can already use his or her
-+email program and web browser well enough that instructions such as "send email
-+to this address" or "visit this web page" or "fill in the form provided" are
-+clear.  If you are not familiar with these actions, you may want to consult
-+other documentation to learn how to do these things with your particular
-+setup.} 
-+
-+% ----------------------------------------------------------------------------
-+\subsection{Acknowledgements}
-+
-+Sections of this document have been borrowed from the List Administrator Manual
-+found in Mailman CVS, which was written by Barry A. Warsaw, and from the in-line
-+help for Mailman 2.1.  
-+
-+The rest of this manual has been written by Terri Oda.
-+Terri has been maintaining mailing lists since the year she attained 
-+voting age in Canada, although the two are not related.  She currently 
-+oversees the mailing lists at Linuxchix.org, as well as several smaller 
-+servers.  In the world outside of list administration, Terri is doing 
-+work with an artificial life spam detector, and is actually more of a 
-+programmer than technical writer.
-+
-+Proofreading thanks go to Margaret McCarthy and Jason Walton.
-+
-+%WRITEME: More here.  Do we need a license statement here?
-+
-+% ----------------------------------------------------------------------------
-+\subsection{What is a mailing list?}
-+
-+A mailing list is simply a list of addresses to which the same information
-+is being sent.  If you were a magazine publisher, you would have a list of
-+the mailing addresses of all the subscribers to the magazine.  In the case
-+of an electronic mailing list, we use a list of email addresses from people
-+interested in hearing about or discussing a given topic.  
-+
-+Two common types of email mailing lists are announcement lists and discussion 
-+lists.  
-+
-+Announcement lists are are used so that one person or group can send
-+announcements to a group of people, much like a magazine publisher's mailing
-+list is used to send out magazines.  For example, a band may use a mailing list
-+to let their fan base know about their upcoming concerts.
-+
-+
-+A discussion list is used to allow a group of people to discuss topics amongst
-+themselves, with everyone able to send mail to the list and have it distributed
-+to everyone in the group.  This discussion may also be moderated, so only
-+selected posts are sent on to the group as a whole, or only certain people are
-+allowed to send to the group.  For example, a group of model plane enthusiasts
-+might use a mailing list to share tips about model construction and flying.
-+
-+Some common terms:
-+\begin{itemize}
-+	\item A "post" typically denotes a message sent to a mailing list.  
-+	(Think of posting a message on a bulletin board.)
-+	\item People who are part of an electronic mailing list are usually called 
-+	the list's "members" or "subscribers."  
-+	\item  "List administrators" are the people in charge of maintaining that 
-+	one list.  Lists may have one or more administrators.
-+	\item A list may also have people in charge of reading posts and deciding
-+	if they should be sent on to all subscribers.  These people are called
-+	list moderators.
-+	\item Often more than one electronic mailing list will be run using the same
-+	piece of software.  The person who maintains the software which runs
-+	the lists is called the "site administrator."  Often the site administrator
-+	also administrates individual lists.
-+\end{itemize}
-+% ----------------------------------------------------------------------------
-+\subsection{GNU Mailman}
-+
-+GNU Mailman is software that lets you manage electronic mailing lists. It
-+supports a wide range of mailing list types, such as general discussion
-+lists and announce-only lists.  Mailman has extensive features which make it
-+good for list subscribers, such as easy subscription and unsubscription, 
-+privacy options, and the ability to temporarily stop getting posts from the 
-+list.  The list member features are covered in this document.
-+
-+Mailman also has many features which make it attractive to list and site 
-+administrators.  These features are covered in the list and site administrator
-+manuals.
-+
-+% ============================================================================
-+\section{Translating from our examples to real lists}
-+
-+Often, it's easier to simply give an example than explain exactly how
-+to find the address for your specific list.  As such, we'll frequently 
-+give examples for a fictional list called 
-+\email{LISTNAME at DOMAIN} whose list information page can be found at
-+\url{http://WEBSERVER/mailman/listinfo/LISTNAME}.  
-+
-+Neither of these are
-+real addresses, but they show the form of a typical list address.
-+The capital letters used for the list-specific parts of each address should 
-+make it easier to see what should be changed for each
-+list. Although specific list configurations may be different, you will
-+probably be able to just replace the words given in capital letters with the
-+appropriate values for a real list:
-+
-+\begin{description}
-+	\item [LISTNAME] The name of your list.
-+	\item [DOMAIN] The name of the mail server which handles that list. 
-+	\item [WEBSERVER] The name of the web server which handles the list web interface.  This may be the same as DOMAIN, and often refers to the same machine, but does not have to be identical. 
-+\end{description}
-+
-+As a real-life example, if you are interested in the mailman-users list, you'd 
-+make the following substitutions: LISTNAME=mailman-users, DOMAIN=python.org, WEBSERVER=mail.python.org.  As such, for the 
-+\email{mailman-users at python.org}
-+mailing list, the list information page can be found at the URL
-+\url{http://mail.python.org/mailman/listinfo/mailman-users}.  (These, unlike 
-+most of the examples given in this document, are real addresses.)
-+
-+Most lists will have this information stored in the \mailheader{List-*} 
-+headers.  Many
-+mail programs will hide these by default, so you may have to choose to view
-+full headers before you can see these informational headers.  
-+
-+% ============================================================================
-+\section{Mailman's interfaces}
-+Mailman has two different interfaces for the list subscriber: the web 
-+interface and the email interface.  Most discussion list subscribers use 
-+the email interface, since this includes the email address you use to send 
-+mail to all the subscribers of that list.
-+
-+The interface you use for changing options is largely
-+a matter of preference, since most (but not all) of the options which can 
-+be changed from the web interface can also be changed by email.
-+ Usually it is easier to use the web interface for 
-+changing options, since the web interface provides instructions as you go, but
-+there are times when people may prefer the email interface, so both are 
-+provided.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{The web interface\label{sec:web}}
-+The web interface of Mailman is its selling point for many administrators,
-+since it makes it much easier for subscribers and administrators to see 
-+which options are available, and what these options do.  
-+
-+Every mailing list is also accessible by a number of web pages.  Note that
-+the exact URLs are configurable by the site administrator, so they may be
-+different than what's described below.  We'll describe the most common
-+configuration, but check with your site administrator or hosting
-+service for details.
-+
-+\begin{description}
-+	\item [List information (listinfo) page]
-+		\begin{itemize}
-+			\item Usually found at \url{http://WEBSERVER/mailman/listinfo/LISTNAME}
-+			 (for example, \url{http://lists.example.com/mailman/listinfo/mylist})
-+
-+			\item The listinfo page is the starting point for the subscriber
-+			interface.  As one would assume from the name it's given, it 
-+			contains information about the LISTNAME list.
-+			Usually all the other subscriber pages can be accessed from this
-+			point, so you really only need to know this one address.
-+
-+		\end{itemize}
-+
-+	\item [Member options page]
-+		\begin{itemize}
-+			\item Usually found at \url{http://WEBSERVER/mailman/options/LISTNAME/EMAIL}
-+			(For example, \url{http://lists.example.com/mailman/options/mylist/kathy@here.com})
-+
-+			\item This page can also be accessed by going to the listinfo page
-+			and entering your email address into the box beside the button
-+			marked "Unsubscribe or Edit Options" (this is near the bottom of the
-+			page).
-+
-+			\item The member options page allows you to log in/out and change your 
-+			list settings, as well as unsubscribe or get a copy of your password
-+			mailed to you. 
-+
-+			\item \textbf{To log in to your member options page}: 
-+			If you are not already logged in, there will be a box near the top for
-+			you to enter your password.  (If you do not know your password, see 
-+			Section~\ref{sec:getpassword} for more information on getting your 
-+			password.)  Enter your password in the box and press the button.
-+
-+			\item Once you are logged in, you will be able to view and change
-+			all your list settings.
-+
-+		\end{itemize}
-+	\item [List Archives] 
-+		\begin{itemize}
-+			\item Usually found at \url{http://WEBSERVER/pipermail/LISTNAME} if the 
-+			list is publicly archived, and 
-+			\url{http://WEBSERVER/mailman/private/LISTNAME} if the list is privately
-+			archives.  (For example, 
-+			\url{http://lists.example.com/pipermail/mylist} or
-+			\url{http://lists.example.com/mailman/private/mylist})
-+
-+			\item The list archive pages have copies of the posts sent to the
-+			mailing list, usually grouped by month.  In each monthly group, the
-+			posts are usually indexed by author, date, thread, and subject.
-+
-+			\item \note{Pipermail is the name of the default archiver that
-+			comes with Mailman.  Other archive programs are available.}
-+
-+			\item If the archive is private, you will need to supply your
-+			subscribed email address and your password to log in.  (See
-+			Section~\ref{sec:getpassword} for more information on getting
-+			your password.)
-+		\end{itemize}
-+\end{description}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{The email interface\label{sec:email}}
-+Every mailing list has a set of email addresses to which messages can be 
-+sent.  There's always one address for posting messages to the list, one
-+address to which bounces are sent, and addresses for processing email
-+commands.  For a fictional mailing list called
-+\email{mylist at example.com}, you'd find these addresses:
-+
-+\begin{itemize}
-+\item \email{mylist at example.com} -- this is the email address people should
-+      use for new postings to the list.
-+
-+\item \email{mylist-join at example.com} -- by sending a message to this address,
-+      a new member can request subscription to the list.  Both the
-+      \mailheader{Subject} header and body of such a message are
-+      ignored.  Note that mylist-subscribe at example.com is an alias for
-+      the -join address.
-+
-+\item \email{mylist-leave at example.com} -- by sending a message to this address,
-+      a member can request unsubscription from the list.  As with the
-+      -join address, the \mailheader{Subject} header and body of the
-+      message is ignored.  Note that mylist-unsubscribe at example.com is
-+      an alias for the -leave address.
-+
-+\item \email{mylist-owner at example.com} -- This address reaches the list owner
-+      and list moderators directly.  This is the address you use if 
-+		you need to contact the person or people in charge.
-+
-+\item \email{mylist-request at example.com} -- This address reaches a mail robot
-+      which processes email commands that can be used to set member
-+      subscription options, as well as process other commands.
-+      A list of members' email commands is provided in 
-+		Appendix~\ref{a:commands}.
-+
-+\item \email{mylist-bounces at example.com} -- This address receives bounces from
-+      members whose addresses have become either temporarily or
-+      permanently inactive.  The -bounces address is also a mail robot
-+      that processes bounces and automatically disables or removes
-+      members as configured in the bounce processing settings.  Any
-+      bounce messages that are either unrecognized, or do not seem to
-+      contain member addresses, are forwarded to the list
-+      administrators.
-+
-+\item \email{mylist-confirm at example.com} -- This address is another email
-+      robot, which processes confirmation messages for subscription
-+      and unsubscription requests.
-+\end{itemize}
-+
-+There's also an -admin address which also reaches the list administrators,
-+but this address only exists for compatibility with older versions of
-+Mailman.
-+
-+For changing options, we use the \email{LISTNAME-request}
-+address (for example, \email{mylist-request at example.com}).
-+
-+Commands can appear in the subject line or the body of the message.  Each 
-+command should be on a separate line.  If your mail program automatically
-+appends a signature to your messages, you may want to put the word
-+"\var{end}" (without the quotes) on a separate line after your other commands. 
-+The \var{end} command tells Mailman not to process the email after that
-+point.
-+
-+The most important command is probably the "\var{help}" command, since it 
-+makes Mailman return a message full of useful information about the
-+email commands and directions to the web interface.
-+
-+Quick references to the subscriber commands have been provided in 
-+Appendices \ref{a:commands} and \ref{a:options}. (These have been slightly
-+adapted from the output of the \var{help} command.)
-+
-+
-+% ============================================================================
-+\section{I need to talk to a human!\label{sec:human}}
-+
-+If you have any trouble with any of these commands, you can always reach the
-+person or people in charge of a list by using the list administrator email address. 
-+The list administrators can help you figure out
-+how to do something, subscribe/unsubscribe you, or change your 
-+settings if you are unable to change them yourself for some reason.  Please
-+remember that many mailing list administrators are volunteers who are donating
-+their spare time to run the list, and they may be very busy people.
-+
-+This list administrator email address is in the form \email{LISTNAME-owner at DOMAIN}, where LISTNAME is the name of the list (eg: mailman-users) and DOMAIN is
-+the name of the server (eg: python.org).  
-+This email address, 
-+along with the email addresses of specific administrators, is given on the 
-+bottom of the list information pages. See Section~\ref{sec:web} for more 
-+information on finding the list information page for your list
-+
-+% ============================================================================
-+\section{Subscribing and unsubscribing}
-+Since subscribing (joining) and unsubscribing (leaving) lists are often the 
-+only things a list member needs to know, these can both be done without 
-+requiring you to know a password.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I join a list? (subscribe)\label{sec:subscribe}}
-+
-+There are two common ways you can subscribe to a Mailman mailing list. 
-+
-+Using the web interface:
-+\begin{enumerate}
-+	\item Go to the list information page for the list you want to join. 
-+	(This will probably be something like 
-+	\url{http://WEBSERVER/mailman/listinfo/LISTNAME})
-+	\item Look for the section marked "Subscribing to LISTNAME" and fill in the 
-+	boxes.  You can fill in the following:
-+	\begin{itemize}
-+		\item You \emph{must} enter your email address.
-+		\item You may choose to supply your real name.
-+		\item You may choose a password.   If you do not choose one, Mailman will
-+		 generate one for you.  
-+
-+		\warning{Do NOT use a valuable password, since this 
-+		password may be mailed to you in plain text.  }
-+		\item If the list supports more than one language, you may be able to 
-+		choose your preferred language.  \note{This setting does not affect
-+		posts to the list, only pre-prepared Mailman texts such as your member
-+		options page.}
-+	\end{itemize}
-+	\item Press the subscribe button.  A new page should appear telling you 
-+	that your request has been sent.
-+\end{enumerate}
-+
-+Using the email interface:
-+\begin{enumerate}
-+	\item Open a mail program which sends mail from the address you want to
-+	subscribe.
-+	\item Send a mail to the list subscription address, which will be in the 
-+	form \email{LISTNAME-join at DOMAIN}.  The subject and body
-+	of the message will be ignored, so it doesn't matter what you put there.
-+\end{enumerate}
-+
-+After following one of these sets of instructions (you don't need to do
-+both!), there are a few possible outcomes depending upon the settings for
-+that list. 
-+\begin{itemize}
-+	\item You may receive an email message asking for confirmation that you 
-+really want to be subscribed to the list.  This is to prevent anyone from
-+subscribing you to lists without your permission.  Follow the instructions
-+given in the message to confirm your wish to be subscribed.
-+	\item A moderator may also need
-+to confirm your subscription if you are subscribing to a limited list.  
-+	\item Or
-+you may have to wait for a moderator \textit{and} follow the instructions in
-+the confirmation mail.
-+\end{itemize}
-+
-+Once this is done, you will likely receive another message welcoming you to
-+the list.  This message contains some useful information including your list
-+password and some quick links for changing your options, so you may want to
-+save it for later reference.
-+
-+\note{Subscribing can be done in other ways as well.  See 
-+Appendix~\ref{a:commands} for more advanced email subscribing commands.}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I leave a list? (unsubscribe)\label{sec:unsubscribe}}
-+
-+Don't want to be on a list any more?  If you're just going on vacation or
-+are too busy to read mails and want to temporarily turn them off, you may want
-+to stop mail delivery rather than unsubscribing.  This means you keep your
-+password and other settings so you can, for example, still have access to 
-+private list archives.  If this is what you'd
-+prefer, see Section~\ref{sec:nomail} for instructions on disabling mail
-+delivery temporarily.
-+
-+If you actually want to leave the list, there are two common ways you can
-+unsubscribe from a Mailman mailing list.
-+
-+Using the web interface:
-+\begin{enumerate}
-+	\item Go to the list information page for the list you want to leave.
-+	(This will probably be something like 
-+	\url{http://WEBSERVER/mailman/listinfo/LISTNAME})
-+	\item Look for the section marked "LISTNAME subscribers" (usually found 
-+	near the bottom of the page).
-+	\item There should be a button marked "Unsubscribe or Edit Options."  
-+	Enter your email address in the box beside this button and press the
-+	button.
-+	\item You should be brought to a new page which has an "Unsubscribe"
-+	button.  Press it to unsubscribe and follow the instructions given.
-+\end{enumerate}
-+
-+Using the email interface:
-+\begin{enumerate}
-+	\item Open a mail program which sends mail from the address you want to 
-+	unsubscribe.
-+	\item Send a mail to the list unsubscribe address, which will be of the form
-+	\email{LISTNAME-leave at DOMAIN}.  
-+	The subject and body
-+	of this message will be ignored, so it doesn't matter what you put there.
-+\end{enumerate}
-+
-+After following one of these sets of instructions (you don't need to do
-+both!), you will be sent a confirmation mail and must follow the
-+instructions given in that mail to complete the unsubscription.  This is to
-+stop people from unsubscribing you without your permission.  In addition, a
-+moderator may need to approve your unsubscription.
-+
-+If you do not receive this confirmation mail with instructions, make sure
-+that you typed your email address correctly (if you were using the web 
-+interface to unsubscribe) and that the address you tried
-+to unsubscribe is, indeed, actually subscribed to that list.  For security
-+reasons, Mailman generates the same member options page regardless of
-+whether the address entered is subscribed or not.  This means that people
-+cannot use this part of the web interface to find out if someone is
-+subscribed to the list, but it also means that it's hard to tell if you just
-+made a typo.
-+
-+Once your unsubscription has been processed, you will will probably receive
-+another message confirming your unsubscription from the list, and at that
-+point you should stop receiving messages.
-+
-+If you wish to skip the confirmation process (for example, you might be
-+unsubscribing an address which no longer works), it is possible to bypass it by
-+using your password instead and either logging in to your options page using
-+it (See Section~\ref{sec:web}), or sending it with your email commands to
-+LISTNAME-request (See Appendix~\ref{a:commands} for advanced email 
-+unsubscription commands). See Section~\ref{sec:getpassword} for more 
-+information on getting your password.
-+
-+% ============================================================================
-+\section{Passwords\label{sec:password}}
-+Your password was either set by you or generated by Mailman when you
-+subscribed. 
-+You probably got a copy of it in a
-+welcome message sent when you joined the list, and you may also receive a
-+reminder of it every month.  It is used to verify your identity to Mailman
-+so that only the holder of the password (you!) and the administrators
-+can view and change your settings.  
-+
-+\warning{Do NOT use a valuable password for Mailman, since it can be
-+sent in plain text to you.}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I get my password?\label{sec:getpassword}}
-+If you've forgotten your password and haven't saved the welcome message or 
-+any reminder messages, you can always get a reminder through the web interface:
-+
-+\begin{enumerate}
-+	\item Go to the list information page for the list from which you wish to 
-+	get your password
-+	(This will probably be something like 
-+	\url{http://WEBSERVER/mailman/listinfo/LISTNAME})
-+	\item Look for the section marked "LISTNAME subscribers" 
-+	(this section is usually found near the bottom of the page).
-+	\item There should be a button marked "Unsubscribe or Edit Options."  
-+	Enter your email address in the box beside this button and press the
-+	button.
-+	\item You should be brought to a new page which has an "Password 
-+	Reminder" section.  Press the "Remind" button to have your password
-+	emailed to you.
-+\end{enumerate}
-+
-+If you do not receive the password reminder email after doing this, make sure 
-+that you typed your
-+email address correctly and that the address you used is, indeed, actually
-+subscribed to that list.  For security reasons, Mailman generates the same
-+member options page regardless of whether the address entered is subscribed
-+or not.  This means that people cannot use this part of the web interface to
-+find out if someone is subscribed to the list, but it also means that it's
-+hard to tell if you just made a typo.
-+
-+You can also get a reminder using the email interface, 
-+\begin{enumerate}
-+	\item Send a mail to \email{LISTNAME-request at DOMAIN} with the command 
-+	\var{password}
-+
-+	Commands can appear
-+	in either the body or the subject of the message.  (See 
-+	Section~\ref{sec:email} for more information about sending mail
-+	commands.)  
-+
-+	If you are not sending mail from your subscribed address, you can also
-+	specify this address by sending the command \nolinebreak{\var{password~address=$<$ADDRESS$>$}}.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I change my password?}
-+		\warning{Do NOT use a valuable password, since this 
-+		password may be mailed to you in plain text.  }
-+
-+From the web interface:
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} for 
-+   instructions on how to do this.)
-+
-+	\item Look for the password changing boxes on the right-hand side of the
-+	page and enter your new password in the appropriate boxes, then press the
-+	button marked "Change My Password."
-+\end{enumerate}
-+
-+This can also be changed for multiple lists at the same time if you are subscribed to 
-+more than one list on the same domain.  See Section~\ref{sec:global} for 
-+information about changing settings globally.
-+
-+
-+From the email interface:
-+\begin{enumerate}
-+	\item Send a mail to \email{LISTNAME-request at DOMAIN} with the command 
-+	\nolinebreak{\var{password~$<$OLDPASSWORD$>$~$<$NEWPASSWORD$>$}}.  
-+
-+	Commands can appear
-+	in either the body or the subject of the message.  (See 
-+	Section~\ref{sec:email} for more information about sending mail
-+	commands.)  
-+
-+	If you are not sending mail from your membership address, you can also
-+	specify this address with \var{address=$<$ADDRESS$>$} after $<$NEWPASSWORD$>$.
-+	
-+	For example, if \email{kathy at here.com} wanted to change her \var{mylist}
-+	password from \var{zirc} to \var{miko}, but she was sending mail from 
-+	her work address \email{kathy at work.com}, she could send a message
-+	to \email{mylist-request at example.com} with the subject set to 
-+	\nolinebreak{\var{password~zirc~miko~address=kathy at here.com}}.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I turn password reminders on or off? (reminders option)}
-+If you don't wish to the reminder email including your password every month, 
-+you can disable it from the member options page.  (You can always get the
-+password mailed out when you actually want it.  See 
-+Section~\ref{sec:getpassword} for instructions.)
-+
-+Using the web interface:
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} for 
-+	instructions on how to do this.)
-+	\item Look for the section marked "Get password reminder email for this
-+	list?" and change the value accordingly.
-+\end{enumerate}
-+
-+This can also be changed for multiple lists at the same time if you are subscribed to 
-+more than one list on the same domain.  See Section~\ref{sec:global} for 
-+information about changing settings globally.
-+
-+Using the email interface:
-+\begin{enumerate}
-+   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
-+   \var{set~reminders~on} or \var{set~reminders~off}.
-+
-+   Commands can appear
-+   in either the body or the subject of the message.  (See
-+   Section~\ref{sec:email} for more information about sending mail
-+   commands.)
-+	\item Set it to "on" to receive reminders, and "off" to stop receiving
-+	reminders.
-+\end{enumerate}
-+
-+
-+% ============================================================================
-+\section{Changing mail delivery}
-+% ----------------------------------------------------------------------------
-+\subsection{How do I turn mail delivery on or off? 
-+	(delivery option)\label{sec:nomail}}
-+
-+You may wish to temporarily stop getting messages from the 
-+list without having to unsubscribe.
-+If you disable mail delivery, you will no longer receive messages, but will
-+still be a subscriber and will retain your password and other settings.  
-+
-+This can be handy in a many different cases.  For example, you could be 
-+going on vacation or need a break from the list because you're too busy to 
-+read any extra mail. 
-+Many mailing lists also allow only subscribers to post to the list, so if you
-+commonly send mail from more than one address (eg, one address for at home
-+and another for when you're travelling), you may want to have more than
-+one subscribed account, but have only one of them actually receive mail.
-+You can also use this as a way to read private archives even on a list which
-+may be too busy for you to have sent directly to your mailbox.  All you need to do is subscribe, disable mail delivery, and use your password and email to 
-+log in to the archives.
-+
-+To disable/enable mail delivery using the web interface:
-+\begin{enumerate}
-+	\item Log in to your options page. (See Section~\ref{sec:web} for instructions.)
-+	\item Go down to the section marked "Mail delivery" and select "Disabled"
-+		to stop receiving mail, and "Enabled" to start receiving mail.
-+\end{enumerate}
-+
-+This can also be changed for multiple lists at the same time if you are subscribed to 
-+more than one list on the same domain.  See Section~\ref{sec:global} for 
-+information about changing settings globally.
-+
-+To disable/enable mail delivery using the email interface:
-+\begin{enumerate}
-+   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
-+   \var{set~delivery~off} or \var{set~delivery~on}.
-+
-+   Commands can appear
-+   in either the body or the subject of the message.  (See
-+   Section~\ref{sec:email} for more information about sending mail
-+   commands.) 
-+	\item Set it to "off" to stop receiving posts, and "on" to start
-+	receiving them again.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How can I avoid getting duplicate messages? (duplicates option)
-+\label{sec:nodupes}}
-+
-+Mailman can't completely stop you from getting duplicate messages, but it 
-+can help.  One common reason people get multiple copies of a mail is that 
-+the sender has used a "group reply" function to send mail to both the list and 
-+some number of individuals.  If you want to avoid getting these messages,
-+Mailman can be set to check and see if you are in the \mailheader{To} or
-+\mailheader{CC} lines of the message.  If your address appears there,
-+then Mailman can be told not to deliver another copy to you.
-+
-+To turn this on or off using the web interface:
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} 
-+	for more details on how to do this.)
-+	\item Scroll down to the bottom of the page to the section marked
-+	"Avoid duplicate copies of messages?" and change the value accordingly.
-+\end{enumerate}
-+
-+This can also be changed for multiple lists at the same time if you are subscribed to 
-+more than one list on the same domain.  See Section~\ref{sec:global} for 
-+information about changing settings globally.
-+
-+To turn this on or off using the email interface:
-+\begin{enumerate}
-+   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
-+   \var{set~duplicates~on} or \var{set~duplicates~off}.
-+
-+   Commands can appear
-+   in either the body or the subject of the message.  (See
-+   Section~\ref{sec:email} for more information about sending mail
-+   commands.)
-+	\item Set it to "on" to receive list copies of messages already sent
-+	to you, set it to "off" to avoid receiving these duplicates.
-+\end{enumerate}
-+
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I change my subscription address?\label{sec:changeaddress}}
-+To change your subscription address, 
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} 
-+	for more details on how to do this.)
-+	\item In the section marked "Changing your LISTNAME membership information,"
-+	enter your new address.
-+	\item If you wish to change your address for all subscriptions using the 
-+	old address, select the "Change globally" box.  If you have subscriptions
-+	under another address or for lists on a different domain, these will have
-+	to be done separately. See Section~\ref{sec:global} for more
-+	information about changing settings globally.
-+\end{enumerate}
-+
-+There is no special way to do this from the email interface, but you can 
-+subscribe and unsubscribe for more or less the same effect.  (See 
-+Sections~\ref{sec:subscribe} and \ref{sec:unsubscribe} for more information
-+on subscribing and unsubscribing.)
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I stop or start getting copies of my own posts? (myposts
-+	option)\label{sec:getown}}
-+By default in Mailman, you get a copy of every post you send to the list.  
-+Some people like this since it lets them know when the post has gone through
-+and means they have a copy of their own words with the rest of a discussion, 
-+but others don't want to bother downloading copies of their own posts.
-+
-+\note{This option has no effect if you are receiving digests.}
-+
-+You may also want to see Section~\ref{sec:getack}, which discusses 
-+acknowledgement emails for posts sent to the list.
-+
-+To set this using the web interface:
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} 
-+	for more details on how to do this.)
-+	\item Look for the section marked "Receive your own posts to the list?"  
-+	Set it to "Yes" to receive copies of your own posts, and  "No" to avoid
-+	receiving them.
-+\end{enumerate}
-+
-+To set this using the email interface:
-+\begin{enumerate}
-+   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
-+   \var{set~myposts~on} or \var{set~myposts~off}.
-+
-+   Commands can appear
-+   in either the body or the subject of the message.  (See
-+   Section~\ref{sec:email} for more information about sending mail
-+   commands.)
-+	\item Set it to "on" to receive copies of your own posts, and "off"
-+	to avoid receiving them.
-+\end{enumerate}
-+
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How can I get Mailman to tell me when my post has been received
-+by the list? (ack option)\label{sec:getack}}
-+
-+On most lists, you will simply receive a copy of your mail when it has gone
-+through the list software, but if this is disabled (See 
-+Section~\ref{sec:getown}), your list mail delivery is disabled (See
-+Section~\ref{sec:nomail}), you are not subscribed to that topic (See
-+Section~\ref{sec:sometopic}) or you
-+simply want an extra acknowledgement from the system, this option may
-+be useful to you.
-+
-+\note{If you are not subscribed to the list, this option cannot be used.  
-+You must either check the archives yourself (if the list has public archives),
-+ask someone who is subscribed to the list, or subscribe to use this option.}
-+
-+To set this using the web interface:
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} 
-+	for more details on how to do this.)
-+	\item Look for the section marked "Receive acknowledgement mail when you
-+	send mail to the list?"  
-+	Set it to "Yes" to receive a mail letting you know your post has been
-+	received, and  "No" to avoid receiving such an acknowledgement.
-+\end{enumerate}
-+
-+To set this using the email interface:
-+\begin{enumerate}
-+   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
-+   \var{set~ack~on} or \var{set~ack~off}.
-+
-+   Commands can appear
-+   in either the body or the subject of the message.  (See
-+   Section~\ref{sec:email} for more information about sending mail
-+   commands.)
-+	\item Set it to "on" if you wish to receive mail letting you know your 
-+	post has been received, and  "off" to avoid receiving such an 
-+	acknowledgement.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{I don't seem to be getting mail from the lists.  What should
-+	I do?}
-+There are a few common reasons for this:
-+\begin{itemize}
-+	\item No one has sent any mail to the list(s) you're on for a little while.
-+
-+	To check if this is the case, try visiting the archives of the list 
-+	(assuming that the list has archives).  If the list has no archives, you
-+	may have to ask another subscriber.  (See Section~\ref{sec:web} for help
-+	in finding the list archives.)
-+
-+	\note{Generally, it is considered 
-+	impolite to send test messages to the entire list.
-+	If you feel a need to test that the list is working and for some reason you
-+	cannot simply compose a regular message to the list, it is less disruptive 
-+	to send a help message to
-+	the list request address (LISTNAME-request at DOMAIN) to see if that works,
-+	or to contact the list 
-+	administrator (LISTNAME-owner at DOMAIN) to ask if the list is working.}
-+
-+	\item You were bouncing mail and have had mail delivery (temporarily) 
-+	disabled by the list software.
-+
-+	If your mail provider "bounces" too many messages (that is, it tells
-+	Mailman that the message could not be delivered)
-+	Mailman eventually stops trying to send you mail.  This feature allows
-+	Mailman to gracefully handle addresses which no longer exist (for example,
-+	the subscriber has found a new internet service provider and forgot to 
-+	unsubscribe the old address), as well
-+	as addresses which are temporarily out-of-service (for example, the 
-+	subscriber has used up all of the allotted space for his or her email
-+	account, or the subscriber's mail provider is experiencing difficulties).
-+
-+	Even if you are unaware of any difficulties with your mail provider, it 
-+	is a good idea to check this.  Some popular webmail providers and 
-+	internet servers are not as reliable as one might assume, nor is the
-+	internet as a whole.  You may want to also send yourself a test message
-+	from another account or ask a friend to send you a test message to make
-+	sure your subscribed address is working.
-+
-+	To check if this may be the reason you are not receiving messages, log in 
-+	to the your options page (See
-+	Section~\ref{sec:web} for more details on how to do this) and 
-+	look at your options.  There should be one marked "Mail Delivery" --
-+	if it is set to "Disabled," set it to "Enabled" to start receiving mail
-+	again. (For more instructions on disabling or enabling mail delivery,
-+	see Section~\ref{sec:nomail}.)
-+
-+	\note{Even if you have not been disabled at the time you check, you could be
-+	bouncing messages and not have reached the threshold for your 
-+	subscription to be disabled.  You may need to check again.}
-+
-+	\item There is a delay or break in the networks between you and the 
-+	list server.
-+
-+	No matter what many of us would like, the internet is not 100\% 
-+	reliable, nor is it always fast.  Sometimes, messages simply take a long 
-+	time to get to you.  Try to be patient, especially if the server is far 
-+	(in terms of networks, not geography, although often one implies the other)
-+	from your internet service provider.
-+
-+	To check if this might be causing your problem, you can try pinging
-+	the list server or tracing the route between you and it.  (Instructions
-+	on how to do this varies from platform to platform, so you may want to 
-+	use a search engine to find those appropriate for you.)
-+
-+	\item The Mailman installation on the list server is not functioning or
-+	not functioning properly.
-+	
-+	To test if this is a case, try visiting the list's web interface and 
-+	try sending a message to \email{LISTNAME-request at DOMAIN} with the command 
-+	"\var{help}" (without the quotes) in the \mailheader{Subject}.  If 
-+	neither of these works after a reasonable length of time, this may be
-+	the problem.  You may wish to contact either the list or site 
-+	administrator(s).
-+\end{itemize}
-+
-+
-+% ============================================================================
-+\section{Digests}
-+% ----------------------------------------------------------------------------
-+\subsection{How can I start or stop getting the list posts grouped into one 
-+big email? (digest option)\label{sec:digest}}
-+
-+Groups of posts are called "digests" in Mailman.  Rather than get messages
-+one at a time, you can get messages grouped together.  On a moderately busy
-+list, this typically means you get one email per day, although it may be
-+more or less frequent depending upon the list.
-+
-+You may also want to look at Section~\ref{sec:MIME} which discusses MIME
-+and plain text digests.
-+
-+To turn digest mode on or off using the web interface,
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} 
-+	for more details on how to do this.)
-+	\item Look for the section marked "Set Digest Mode."  
-+
-+	Set it to "On" to 
-+	receive messages bundled together in digests.  Set it to "Off" to 
-+	receive posts separately.
-+\end{enumerate}
-+
-+To turn digest mode on or off using the email interface,
-+\begin{enumerate} 
-+   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
-+   \var{set~digest~plain} or \var{set~digest~mime} or \var{set~digest~off}.
-+   
-+   Commands can appear
-+   in either the body or the subject of the message.  (See
-+   Section~\ref{sec:email} for more information about sending mail
-+   commands.)
-+   \item Set it to "off" if you wish to receive individual posts separately,
-+	and to "plain" or "mime" to receive posts grouped into one large mail.
-+	See Section~\ref{sec:MIME} for more information on plain versus MIME
-+	digests.
-+\end{enumerate}
-+
-+
-+% ----------------------------------------------------------------------------
-+\subsection{What are MIME and Plain Text Digests?  How do I change which one
-+I get? (digest option)\label{sec:MIME}}
-+
-+MIME is short for Multipurpose Internet Mail Extensions.  It is used to 
-+send things by email which are not necessarily simple plain text.  (For 
-+example, MIME would be used if you were sending a picture of your dog to 
-+a friend.)  
-+
-+A MIME digest has each message as an attachment inside the message, along
-+with a summary table of contents.  
-+
-+A plain text digest is a simpler form of digest, which should be readable 
-+even in mail readers which don't support MIME.  The messages are simply put 
-+one after the other into one large text message.
-+
-+Most modern mail programs do support MIME, so you only need to choose 
-+plain text digests if you are having trouble reading the MIME ones.
-+
-+\note{This option has no effect if you are not receiving mail bunched
-+as digests.  (See Section~\ref{sec:digest} for more information on 
-+receiving mail as digests.)}
-+
-+To set your digest type using the web interface:
-+\begin{enumerate}
-+   \item Log in to your member options page.  (See Section~\ref{sec:web}
-+   for more details on how to do this.)
-+   \item Look for the section marked "Get MIME or Plain Text Digests?."
-+
-+	Set it to "MIME" to receive digests in MIME format, or "Plain text" to 
-+	receive digests in plain text format. 
-+\end{enumerate}
-+
-+This can also be changed for multiple lists at the same time if you are subscribed to 
-+more than one list on the same domain.  See Section~\ref{sec:global} for 
-+information about changing settings globally.
-+
-+To set your digest type using the email interface,
-+\begin{enumerate}
-+   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
-+   \var{set~digest~plain} or \var{set~digest~mime}.
-+
-+   Commands can appear
-+   in either the body or the subject of the message.  (See
-+   Section~\ref{sec:email} for more information about sending mail
-+   commands.)
-+   \item Set it to "plain" to get posts bundled into a plain text digest,
-+	or "mime" to get posts bundled together into a MIME digest.
-+\end{enumerate}
-+
-+% ----------------------------------------------------------------------------
-+\section{Mailing list topics\label{sec:topics}}
-+
-+Some lists are set up so that different topics are handled by Mailman.
-+For example, the courses list on Linuxchix.org is a discussion list for
-+courses being run by linuxchix members, and often there are several courses
-+being run at the same time.  
-+(eg: Networking for beginners, C programming, \LaTeX ~document mark up.)  
-+Each of the courses being run is a separate topic on the list so that people
-+can choose only to receive the course they want to take.
-+
-+These
-+topics must be configured by the list administrator, but it is the
-+responsibility of each poster to make sure that their post is put with 
-+the correct topic.  Usually, this means adding a tag of some type to the 
-+subject line (eg: [Networking] What type of cables do I need?) or making
-+sure the \mailheader{Keywords} line has the right information.  (By default, 
-+you can put a \mailheader{Keywords} section in the beginning of the body
-+of your message, but this can be configured by your list administrator.)
-+Note that these tags are case-insensitive.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I make sure that my post has the right 
-+	topic?\label{sec:posttopic}}
-+
-+When a list administrator defines a topic, he or she sets three things:
-+\begin{itemize}
-+	\item a topic name
-+	\item a regular expression (regexp)
-+	\item a description
-+\end{itemize}
-+
-+You can view this information by logging in to your member options page. 
-+ (See Section~\ref{sec:web} for more details on how to do this.) and 
-+clicking on the "details" link for any topic that interests you.
-+
-+To post on a given topic, you need to make sure that the 
-+\mailheader{Keywords} or \mailheader{Subject} headers in a message  
-+match the \emph{regular expression} for that topic.  
-+Regular expressions can actually be fairly complex, so you may want to 
-+just ask the list administrator if you don't know how to make
-+heads or tails of the expression given.  
-+
-+Most Mailman topic expressions will be fairly simple regular expressions, so 
-+in this document we will simply give you some common examples.  Regular 
-+expressions are a bit too complex to teach in a few lines here, so if you
-+really want to understand how the regular expressions work, you should
-+find a tutorial or reference elsewhere.  (For example, DevShed has a decent
-+tutorial at 
-+\url{http://www.devshed.com/Server_Side/Administration/RegExp/})  
-+
-+Here are some examples of possible regular expressions and matching lines:
-+
-+\begin{tableii}{l|l}{}{Regular expression}{Matching lines}
-+	\lineii{zuff}{Keywords: zuff}
-+	\lineii{zuff}{Keywords: ZUFF}
-+	\lineii{zuff}{Keywords: Zuff}
-+	\lineii{zuff}{Keywords: amaryllis, zuff, applesauce}
-+	\lineii{zuff}{Subject: [zuff] Do you have the right stuff for zuff?}
-+	\lineii{zuff}{Subject: Do you have the right stuff for zuff?}
-+	\lineii{zuff}{Subject: What is zuff?}
-+\hline
-+	\lineii{\textbackslash[zuff\textbackslash]}{Keywords: [zuff]}
-+	\lineii{\textbackslash[zuff\textbackslash]}{Subject: [zuff]	Do you have the right stuff?}
-+	\lineii{\textbackslash[zuff\textbackslash]}{Subject: Online zuff tutorials (was Re: [zuff] What is zuff?)}
-+\end{tableii}
-+
-+A few notes:
-+\begin{itemize}
-+	\item The matching is case-insensitive, so if zuff matches, so will ZUFF,
-+	 zuFF, and any other variations in capitalization.
-+	\item Some characters have special meaning in a regular expression, so
-+	to match those characters specifically, they must be "escaped" with a 
-+	backslash (\textbackslash).  As you can see in the above example, 
-+	[ and ] are such characters.  (Others include ".", "?", and "*").  
-+	The backslash is also used for other things (I wasn't kidding about 
-+	regular expressions being complex: consult other documentation
-+	for details about other uses of the backslash character), but this 
-+	is the most likely use in a topic expression.
-+\end{itemize}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I subscribe to all or only some topics on a 
-+	list?\label{sec:sometopic}}
-+
-+If topics have been set up by your mailing list administrator, you can 
-+choose to subscribe to only part of a list by selecting the topics you
-+want to receive.
-+
-+If you wish to get all messages sent to the list, make sure you 
-+are not subscribed to any topics.
-+
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} 
-+	for more details on how to do this.)
-+	\item Look for the section marked "Which topic categories would you like 
-+	to subscribe to?" 
-+
-+	If any topics are defined, you can select those you wish.  If you do
-+	not select any topics of interest, you will receive all posts 
-+	sent to the list.
-+\end{enumerate}
-+
-+You probably also want to look at Section~\ref{sec:notopic} which discusses
-+changing your settings for messages where no topic is set.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I get or avoid getting messages with no topic set?
-+\label{sec:notopic}}
-+If you wish to get all messages sent to the list, make sure you are 
-+not subscribed to any specific topic.  (See Section~\ref{sec:sometopic}.)  
-+
-+If you are only subscribed to some topics, you can either choose to either
-+receive or not receive messages with no topic set, much the way you can 
-+choose to subscribe only to certain topics.
-+
-+To change this setting,
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} 
-+	for more details on how to do this.)
-+	\item Look for the section marked "Do you want to receive message that do 
-+	not match any topic filter?"
-+
-+	If you wish to receive messages with no topic set, select "Yes."  If you
-+	do not wish to receive such messages, choose "No."
-+\end{enumerate}
-+
-+This setting has no effect if you are not subscribed to any topics.
-+
-+% ============================================================================
-+\section{Setting other options}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{Change Globally?  Set Globally? What does that mean?
-+	\label{sec:global}}
-+
-+For some of the options given in your member options page, there is a 
-+tick-box which says "Change Globally" or "Set Globally."  
-+This means that if you change this
-+option, you can also have the change made for all your other list 
-+subscriptions with the same address to lists on the same domain.  
-+This can be handy if, for example, you 
-+want to make sure all your passwords are the same, or you are going on 
-+vacation and want to turn off mail delivery from all the lists.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I change my name as Mailman knows it?
-+	\label{sec:changename}}
-+
-+To change your subscription name, 
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} 
-+	for more details on how to do this.)
-+	\item In the section marked "Changing your LISTNAME membership information,"
-+	enter your new name in the appropriate box.
-+\end{enumerate}
-+
-+This can also be changed for multiple lists at the same time if you are subscribed to 
-+more than one list on the same domain.  See Section~\ref{sec:global} for 
-+information about changing settings globally.
-+
-+\note{You do not need to have a subscription name set.}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I set my preferred language?}
-+
-+Mailman is available with many different languages.
-+(For a complete listing see \url{http://mailman.sourceforge.net/i18n.html}.)  This means that, if your list has
-+other languages enabled, you may be able to have the web interface, etc. in a 
-+language of your choice.  
-+
-+\note{This does NOT necessarily mean that all the posts sent to the list will 
-+be in the language you selected.  Only the pre-prepared texts presented by 
-+Mailman will be affected by this setting.  Posts are in whatever language the
-+poster uses.}
-+
-+Your preferred language is set when you subscribe (see 
-+Section\ref{sec:subscribe}), and can be changed later if the list supports
-+more than one language.  
-+
-+To change your preferred language in Mailman,
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} for 
-+   instructions on how to do this.)
-+	\item Go to the section marked "What language do you prefer?" and choose
-+	the appropriate language from the drop-down list.  If there is no
-+	drop-down list of languages, the list you are on probably only supports
-+	one language.  
-+\end{enumerate}
-+
-+If your list does not support the language you would prefer to use, you may
-+contact the list administrator (LISTNAME-owner at DOMAIN) to see if it can be 
-+added, but remember that this may mean some work that the list and/or site 
-+administrator(s) do not have time or the ability to do.  
-+
-+If your language of choice is not available because no translation
-+exists for Mailman, please consider volunteering your time as a translator.
-+For more information you may want to consult the mailman-i18n mailing 
-+list at \url{http://mail.python.org/mailman/listinfo/mailman-i18n}.
-+(i18n is a common short-hand for "internationalization" because the word starts 
-+with an i, ends with an n, and has 18 letters in between.  If you mumble a bit,
-+i18n even sounds a bit like "internationalization.")
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I avoid having my name appear on the subscribers list?
-+	(the hide option)\label{sec:nolist}}
-+
-+If you do not want to have your email address show up on the subscriber list
-+for any reason, you can opt to have it concealed.
-+
-+Common reasons for doing this include avoiding unsolicited bulk email (spam).  
-+By default, the subscribers list is obscured to hinder spam harvesters,
-+but if you feel this is insufficient it's easy enough to remove address
-+from the subscriber list given in the information pages or by email request.
-+(Note that this does not conceal your address from the list administrators.)
-+You may wish to see Section~\ref{sec:antispam} for more information on what
-+Mailman can do to help avoid spam.  
-+
-+To change this setting using the web interface:
-+\begin{enumerate}
-+	\item Log in to your member options page.  (See Section~\ref{sec:web} for 
-+   instructions on how to do this.)
-+	\item Go to the section marked "Conceal yourself from subscriber list?" and
-+	choose "Yes" to hide your name from the list, or "No" to allow your name
-+	to appear on the list.
-+\end{enumerate}
-+
-+To change this setting using the email interface:
-+\begin{enumerate} 
-+   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
-+   \var{set~hide~on} or \var{set~hide~off}.
-+
-+   Commands can appear 
-+   in either the body or the subject of the message.  (See
-+   Section~\ref{sec:email} for more information about sending mail
-+   commands.)
-+   \item Set it to "on" to conceal your email address from the membership
-+	list, or "off" to stop concealing your address.
-+\end{enumerate}
-+
-+% ============================================================================
-+\section{Other common questions}
-+
-+% ----------------------------------------------------------------------------
-+\subsection{How do I view the list archives?}
-+If the list has archives, they can be viewed by going to a web page address.
-+This address usually linked from the list information page and can be found in 
-+the \mailheader{List-Archive} of every list message unless your list 
-+administrator has disabled these headers.  (Many mail programs hide the 
-+\mailheader{List-Archive} mail header, so you may have to tell your 
-+mail program to allow you to view full headers before you will be able to 
-+see it.)
-+
-+Public archives usually have addresses of the form 
-+\url{http://WEBSERVER/pipermail/LISTNAME/} and private archives usually
-+have addresses of the form \url{http://WEBSERVER/mailman/private/LISTNAME}.
-+
-+See Section~\ref{sec:web} for more information on finding the addresses of a
-+list.
-+
-+% ----------------------------------------------------------------------------
-+\subsection{What does Mailman do to help protect me from unsolicited bulk email
-+(spam)?\label{sec:antispam}}
-+
-+A technical list's archives may include answers to a range of
-+different questions.  Often, the people who have posted these answers would
-+be happy to help someone who doesn't quite understand the answer, and don't
-+mind giving their address out for that purpose.  But
-+although it would be wonderful if everyone could contact each other easily,
-+we also want to make sure that the list and list archives are not abused by 
-+people who send spam.  
-+
-+To make a range of options available to list administrators, Mailman allows
-+a variety of configurations to help protect email addresses.  
-+Many of these settings are optional to the list administrator, so your
-+particular list may be set up in many ways.  List administrators 
-+must walk a fine line between protecting subscribers and making it difficult
-+for people to get in touch.  
-+
-+\begin{itemize}
-+	\item Subscriber lists
-+		\begin{itemize}
-+			\item The list administrator can choose to have the subscriber list
-+			public, viewable only to list members, or viewable only to list 
-+			administrators.
-+			\item The subscriber list is shown with the addresses obscured to
-+			make it difficult for spam harvesters to collect your address.
-+			\item You can choose to have your address hidden from the subscriber
-+			list.  (See Section~\ref{sec:nolist} for more information.) 
-+			\item \note{The entire subscriber list is always available to the
-+			list administrators.}
-+		\end{itemize}
-+
-+	\item List archives
-+		\begin{itemize}
-+			\item The list administrator can choose for the archives to be public,
-+			viewable only to members (private), or completely unavailable.
-+			\item The HTML archives which are created by Pipermail (the 
-+			archiving program which comes default with Mailman) contain only
-+			obscured addresses.  Other archiving programs are available and can
-+			do different levels of obfuscation to make addresses less readable.
-+			\item If you wish to be more sure, you can set the mail header
-+			\mailheader{X-no-archive} and Mailman will not archive your posts.
-+			\warning{This does not stop other members from quoting your posts,
-+			possibly even including your email address.}
-+		\end{itemize}
-+
-+	\item Limited posting to the lists
-+		\begin{itemize}
-+			\item The list administrator can choose who can post to the list.
-+			Most lists are either moderated (a moderator or administrator
-+			reviews each posting), set so only subscribers may post to the list,
-+			or allow anyone to post to the list.
-+			\item By allowing only subscribers to post to a list, Mailman often 
-+			blocks all spam and some viruses from being sent through the list.
-+			As such, this is a fairly common setting used by list administrators.
-+		\end{itemize}
-+
-+	\item Anonymous lists
-+		\begin{itemize}
-+			\item Lists can also be made fully anonymous: all identifying
-+			information about the sender is stripped from the header before the
-+			message is sent on.  
-+			\item This is not typically used for anti-spam measures (it has
-+			other uses), but it could be used in that way if desired.
-+		\end{itemize}
-+\end{itemize}
-+
-+Of course, many address-obscuring methods can be circumvented by determined 
-+people, so be aware that the protections used may not be enough.
-+
-+% ============================================================================
-+\appendix
-+% ----------------------------------------------------------------------------
-+\section{Email commands quick reference\label{a:commands}}
-+\begin{list}{}{}
-+	\item confirm $<$CONFIRMATION-STRING$>$
-+		\begin{list}{}{}
-+			\item
-+        Confirm an action.  The confirmation-string is required and should be
-+        supplied within a mailback confirmation notice.
-+		\end{list}
-+
-+   \item end
-+		\begin{list}{}{}
-+			\item
-+        Stop processing commands.  Use this if your mail program automatically
-+        adds a signature file.
-+		\end{list}
-+
-+   \item help
-+		\begin{list}{}{}
-+			\item
-+        Receive a copy of the help message.
-+		\end{list}
-+
-+   \item info
-+		\begin{list}{}{}
-+			\item
-+        Get information about this mailing list.
-+		\end{list}
-+
-+   \item lists
-+		\begin{list}{}{}
-+			\item
-+        See a list of the public mailing lists on this GNU Mailman server.
-+		\end{list}
-+
-+    \item {password [$<$OLDPASSWORD$>$ $<$NEWPASSWORD$>$] [address=$<$ADDRESS$>$]}
-+		\begin{list}{}{}
-+			\item
-+        Retrieve or change your password.  With no arguments, this returns
-+        your current password.  With arguments $<$OLDPASSWORD$>$ and $<$NEWPASSWORD$>$
-+        you can change your password.
-+		\end{list}
-+
-+    \item set ...
-+		\begin{list}{}{}
-+			\item
-+        Set or view your membership options.
-+
-+        Use `set help' (without the quotes) to get a more detailed list of the
-+        options you can change.  This list is also given in 
-+        Appendix~\ref{a:options}.
-+
-+        Use `set show' (without the quotes) to view your current option
-+        settings.
-+		\end{list}
-+
-+    \item{subscribe [$<$PASSWORD$>$] [digest|nodigest] [address=$<$ADDRESS$>$]}
-+		\begin{list}{}{}
-+			\item
-+        Subscribe to this mailing list.  Your password must be given to
-+        unsubscribe or change your options, but if you omit the password, one
-+        will be generated for you.  You may be periodically reminded of your
-+        password.
-+
-+        The next argument may be either: `nodigest' or `digest' (no quotes!).
-+        If you wish to subscribe an address other than the address you sent
-+        this request from, you may specify `address=$<$ADDRESS$>$' (no brackets
-+        around the email address, and no quotes!)
-+		\end{list}
-+
-+    \item {unsubscribe [$<$PASSWORD$>$] [address=$<$ADDRESS$>$]}
-+		\begin{list}{}{}
-+			\item
-+        Unsubscribe from the mailing list.  If given, your password must match
-+        your current password.  If omitted, a confirmation email will be sent
-+        to the unsubscribing address. If you wish to unsubscribe an address
-+        other than the address you sent this request from, you may specify
-+        `address=$<$ADDRESS$>$' (no brackets around the email address, and no
-+        quotes!)
-+		\end{list}
-+
-+    \item {who [$<$PASSWORD$>$] [address=$<$ADDRESS$>$]}
-+		\begin{list}{}{}
-+			\item
-+        See everyone who is on this mailing list.  The roster is limited to
-+        list members only, and you must supply your membership password to
-+        retrieve it.  If you're posting from an address other than your
-+        membership address, specify your membership address with
-+        `address=$<$ADDRESS$>$' (no brackets around the email address, and no
-+        quotes!)
-+		\end{list}
-+\end{list}
-+
-+% ----------------------------------------------------------------------------
-+\section{Member options quick reference\label{a:options}}
-+
-+\begin{list}{}{}
-+   \item set help
-+		\begin{list}{}{}
-+	        \item Show this detailed help.
-+		\end{list}
-+
-+   \item {set show [address=$<$ADDRESS$>$]}
-+		\begin{list}{}{}
-+        \item View your current option settings.  If you're posting from an address
-+        other than your membership address, specify your membership address 
-+        with `address=$<$ADDRESS$>$' (no brackets around the email address, and no
-+        quotes!).
-+		\end{list}
-+
-+   \item {set authenticate $<$PASSWORD$>$ [address=$<$ADDRESS$>$]}
-+		\begin{list}{}{}
-+        \item To set any of your options, you must include this command first, along
-+        with your membership password.  If you're posting from an address   
-+        other than your membership address, specify your membership address  
-+        with `address=$<$ADDRESS$>$' (no brackets around the email address, 
-+        and no quotes!).
-+		\end{list}
-+
-+   \item set ack on\\
-+    set ack off
-+		\begin{list}{}{}
-+			\item
-+        When the `ack' option is turned on, you will receive an
-+        acknowledgement message whenever you post a message to the list.
-+		\end{list}
-+
-+   \item set digest plain\\
-+    set digest mime\\
-+    set digest off
-+		\begin{list}{}{}
-+			\item
-+        When the `digest' option is turned off, you will receive postings
-+        immediately when they are posted.  Use `set digest plain' if instead
-+        you want to receive postings bundled into a plain text digest
-+        (i.e. RFC 1153 digest).  Use `set digest mime' if instead you want to
-+        receive postings bundled together into a MIME digest.
-+		\end{list}
-+
-+   \item set delivery on\\
-+    set delivery off
-+		\begin{list}{}{}
-+			\item
-+        Turn delivery on or off.  This does not unsubscribe you, but instead
-+        tells Mailman not to deliver messages to you for now.  This is useful
-+        if you're going on vacation.  Be sure to use `set delivery on' when
-+        you return from vacation!
-+		\end{list}
-+
-+   \item set myposts on\\
-+    set myposts off
-+		\begin{list}{}{}
-+			\item
-+        Use `set myposts off' to avoid receiving copies of messages you post to
-+        the list.  This has no effect if you're receiving digests.
-+		\end{list}
-+
-+    \item set hide on\\
-+    set hide off
-+		\begin{list}{}{}
-+			\item
-+        Use `set hide on' to conceal your email address when people request
-+        the membership list.
-+		\end{list}
-+
-+    \item set duplicates on\\
-+    set duplicates off
-+		\begin{list}{}{}
-+			\item
-+        Use `set duplicates off' if you want Mailman not to send you messages
-+        if your address is explicitly mentioned in the To: or Cc: fields of
-+        the message.  This can reduce the number of duplicate postings you
-+        will receive.
-+		\end{list}
-+
-+    \item set reminders on\\
-+    set reminders off
-+		\begin{list}{}{}
-+        \item Use `set reminders off' if you want to disable the monthly password
-+        reminder for this mailing list.
-+		\end{list}
-+\end{list}
-+
-+\end{document}
-diff -urNad mailman-2.1.8rc1~/doc/posting-flow-chart.ps mailman-2.1.8rc1/doc/posting-flow-chart.ps
---- mailman-2.1.8rc1~/doc/posting-flow-chart.ps	1970-01-01 01:00:00.000000000 +0100
-+++ mailman-2.1.8rc1/doc/posting-flow-chart.ps	2006-04-11 22:32:46.893858482 +0200
-@@ -0,0 +1,735 @@
-+%!PS-Adobe-2.0
-+%%Title: posting-flow-chart
-+%%Creator: Dia v0.86
-+%%CreationDate: Mon Oct 15 13:46:55 2001
-+%%For: a user
-+%%DocumentPaperSizes: A4
-+%%Orientation: Landscape
-+%%BeginSetup
-+%%EndSetup
-+%%EndComments
-+%%BeginProlog
-+[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-+/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
-+/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
-+/two /three /four /five /six /seven /eight /nine /colon /semicolon
-+/less /equal /greater /question /at /A /B /C /D /E
-+/F /G /H /I /J /K /L /M /N /O
-+/P /Q /R /S /T /U /V /W /X /Y
-+/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
-+/d /e /f /g /h /i /j /k /l /m
-+/n /o /p /q /r /s /t /u /v /w
-+/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
-+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
-+/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
-+/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
-+/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
-+/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
-+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
-+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
-+/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
-+/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
-+/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
-+/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
-+/Times-Roman-latin1
-+    /Times-Roman findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Times-Italic-latin1
-+    /Times-Italic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Times-Bold-latin1
-+    /Times-Bold findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Times-BoldItalic-latin1
-+    /Times-BoldItalic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/AvantGarde-Book-latin1
-+    /AvantGarde-Book findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/AvantGarde-BookOblique-latin1
-+    /AvantGarde-BookOblique findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/AvantGarde-Demi-latin1
-+    /AvantGarde-Demi findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/AvantGarde-DemiOblique-latin1
-+    /AvantGarde-DemiOblique findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Bookman-Light-latin1
-+    /Bookman-Light findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Bookman-LightItalic-latin1
-+    /Bookman-LightItalic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Bookman-Demi-latin1
-+    /Bookman-Demi findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Bookman-DemiItalic-latin1
-+    /Bookman-DemiItalic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Courier-latin1
-+    /Courier findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Courier-Oblique-latin1
-+    /Courier-Oblique findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Courier-Bold-latin1
-+    /Courier-Bold findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Courier-BoldOblique-latin1
-+    /Courier-BoldOblique findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Helvetica-latin1
-+    /Helvetica findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Helvetica-Oblique-latin1
-+    /Helvetica-Oblique findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Helvetica-Bold-latin1
-+    /Helvetica-Bold findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Helvetica-BoldOblique-latin1
-+    /Helvetica-BoldOblique findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Helvetica-Narrow-latin1
-+    /Helvetica-Narrow findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Helvetica-Narrow-Oblique-latin1
-+    /Helvetica-Narrow-Oblique findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Helvetica-Narrow-Bold-latin1
-+    /Helvetica-Narrow-Bold findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Helvetica-Narrow-BoldOblique-latin1
-+    /Helvetica-Narrow-BoldOblique findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/NewCenturySchoolbook-Roman-latin1
-+    /NewCenturySchoolbook-Roman findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/NewCenturySchoolbook-Italic-latin1
-+    /NewCenturySchoolbook-Italic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/NewCenturySchoolbook-Bold-latin1
-+    /NewCenturySchoolbook-Bold findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/NewCenturySchoolbook-BoldItalic-latin1
-+    /NewCenturySchoolbook-BoldItalic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Palatino-Roman-latin1
-+    /Palatino-Roman findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Palatino-Italic-latin1
-+    /Palatino-Italic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Palatino-Bold-latin1
-+    /Palatino-Bold findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Palatino-BoldItalic-latin1
-+    /Palatino-BoldItalic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/Symbol-latin1
-+    /Symbol findfont
-+definefont pop
-+/ZapfChancery-MediumItalic-latin1
-+    /ZapfChancery-MediumItalic findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/ZapfDingbats-latin1
-+    /ZapfDingbats findfont
-+    dup length dict begin
-+	{1 index /FID ne {def} {pop pop} ifelse} forall
-+	/Encoding isolatin1encoding def
-+    currentdict end
-+definefont pop
-+/cp {closepath} bind def
-+/c {curveto} bind def
-+/f {fill} bind def
-+/a {arc} bind def
-+/ef {eofill} bind def
-+/ex {exch} bind def
-+/gr {grestore} bind def
-+/gs {gsave} bind def
-+/sa {save} bind def
-+/rs {restore} bind def
-+/l {lineto} bind def
-+/m {moveto} bind def
-+/rm {rmoveto} bind def
-+/n {newpath} bind def
-+/s {stroke} bind def
-+/sh {show} bind def
-+/slc {setlinecap} bind def
-+/slj {setlinejoin} bind def
-+/slw {setlinewidth} bind def
-+/srgb {setrgbcolor} bind def
-+/rot {rotate} bind def
-+/sc {scale} bind def
-+/sd {setdash} bind def
-+/ff {findfont} bind def
-+/sf {setfont} bind def
-+/scf {scalefont} bind def
-+/sw {stringwidth pop} bind def
-+/tr {translate} bind def
-+
-+/ellipsedict 8 dict def
-+ellipsedict /mtrx matrix put
-+/ellipse
-+{ ellipsedict begin
-+   /endangle exch def
-+   /startangle exch def
-+   /yrad exch def
-+   /xrad exch def
-+   /y exch def
-+   /x exch def   /savematrix mtrx currentmatrix def
-+   x y tr xrad yrad sc
-+   0 0 1 startangle endangle arc
-+   savematrix setmatrix
-+   end
-+} def
-+
-+/mergeprocs {
-+dup length
-+3 -1 roll
-+dup
-+length
-+dup
-+5 1 roll
-+3 -1 roll
-+add
-+array cvx
-+dup
-+3 -1 roll
-+0 exch
-+putinterval
-+dup
-+4 2 roll
-+putinterval
-+} bind def
-+%%EndProlog
-+
-+
-+%%Page: 1 1
-+gs
-+90 rotate
-+10.504277 -10.504277 scale
-+-7.390052 13.596868 translate
-+n 15.000000 -5.986920 m 79.927437 -5.986920 l 79.927437 35.463012 l 15.000000 35.463012 l 15.000000 -5.986920 l clip
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0 slj
-+0 slc
-+0 slj
-+[] 0 sd
-+1.000000 1.000000 1.000000 srgb
-+n 28.288577 -5.936920 m 34.143683 -5.936920 l 34.952105 -5.936920 35.607460 -5.489205 35.607460 -4.936920 c 35.607460 -4.384635 34.952105 -3.936920 34.143683 -3.936920 c 28.288577 -3.936920 l 27.480155 -3.936920 26.824800 -4.384635 26.824800 -4.936920 c 26.824800 -5.489205 27.480155 -5.936920 28.288577 -5.936920 c f
-+0.000000 0.000000 0.000000 srgb
-+n 28.288577 -5.936920 m 34.143683 -5.936920 l 34.952105 -5.936920 35.607460 -5.489205 35.607460 -4.936920 c 35.607460 -4.384635 34.952105 -3.936920 34.143683 -3.936920 c 28.288577 -3.936920 l 27.480155 -3.936920 26.824800 -4.384635 26.824800 -4.936920 c 26.824800 -5.489205 27.480155 -5.936920 28.288577 -5.936920 c s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(post a msg) dup sw 2 div 31.216130 ex sub -4.742230 m gs 1 -1 sc sh gr
-+1.000000 1.000000 1.000000 srgb
-+n 31.228705 0.448229 m 34.632611 3.852135 l 31.228705 7.256041 l 27.824799 3.852135 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 31.228705 0.448229 m 34.632611 3.852135 l 31.228705 7.256041 l 27.824799 3.852135 l cp s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(is a) dup sw 2 div 31.228705 ex sub 3.646825 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(member?) dup sw 2 div 31.228705 ex sub 4.446825 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 31.228700 0.448231 m 31.216100 -3.936920 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 30.826403 -0.350616 m 31.228700 0.448231 l 31.626400 -0.352915 l f
-+1.000000 1.000000 1.000000 srgb
-+n 22.333205 8.807639 m 25.737111 12.211545 l 22.333205 15.615451 l 18.929299 12.211545 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 22.333205 8.807639 m 25.737111 12.211545 l 22.333205 15.615451 l 18.929299 12.211545 l cp s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(mod bit) dup sw 2 div 22.333205 ex sub 12.006235 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(set?) dup sw 2 div 22.333205 ex sub 12.806235 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 22.333200 8.807640 m 27.824800 3.852140 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 22.659157 7.974722 m 22.333200 8.807640 l 23.195108 8.568655 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+() dup sw 2 div 15.000000 ex sub 5.000000 m gs 1 -1 sc sh gr
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(yes) dup sw 2 div 28.675700 ex sub 3.001160 m gs 1 -1 sc sh gr
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(yes) dup sw 2 div 19.780300 ex sub 11.360600 m gs 1 -1 sc sh gr
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(no) dup sw 2 div 23.184200 ex sub 14.764500 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 34.632600 3.852140 m 40.261205 8.139600 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 39.382424 7.973037 m 40.261205 8.139600 l 39.867187 7.336637 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(no) dup sw 2 div 33.781600 ex sub 3.001160 m gs 1 -1 sc sh gr
-+1.000000 1.000000 1.000000 srgb
-+n 40.261205 8.139600 m 43.907510 11.959285 l 40.261205 15.778970 l 36.614900 11.959285 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 40.261205 8.139600 m 43.907510 11.959285 l 40.261205 15.778970 l 36.614900 11.959285 l cp s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(explicit) dup sw 2 div 40.261205 ex sub 11.753975 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(accept?) dup sw 2 div 40.261205 ex sub 12.553975 m gs 1 -1 sc sh gr
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(yes) dup sw 2 div 39.349629 ex sub 14.824049 m gs 1 -1 sc sh gr
-+1.000000 1.000000 1.000000 srgb
-+n 59.913105 8.346249 m 63.559411 11.992555 l 59.913105 15.638861 l 56.266799 11.992555 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 59.913105 8.346249 m 63.559411 11.992555 l 59.913105 15.638861 l 56.266799 11.992555 l cp s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(explicit) dup sw 2 div 59.913105 ex sub 11.787245 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(reject?) dup sw 2 div 59.913105 ex sub 12.587245 m gs 1 -1 sc sh gr
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(yes) dup sw 2 div 59.001528 ex sub 14.727284 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 54.324011 11.922575 m 56.266799 11.992555 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 55.452919 12.363498 m 56.266799 11.992555 l 55.481716 11.564017 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(no) dup sw 2 div 42.995934 ex sub 11.004364 m gs 1 -1 sc sh gr
-+1.000000 1.000000 1.000000 srgb
-+n 71.066405 8.389389 m 74.712711 12.035695 l 71.066405 15.682001 l 67.420099 12.035695 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 71.066405 8.389389 m 74.712711 12.035695 l 71.066405 15.682001 l 67.420099 12.035695 l cp s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(explicit) dup sw 2 div 71.066405 ex sub 11.830385 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(discard?) dup sw 2 div 71.066405 ex sub 12.630385 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 63.559411 11.992555 m 67.420100 12.035700 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 66.615680 12.426735 m 67.420100 12.035700 l 66.624620 11.626785 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(no) dup sw 2 div 62.647834 ex sub 11.080979 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 71.066400 15.682000 m 71.055000 19.434500 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 70.657432 18.633289 m 71.055000 19.434500 l 71.457429 18.635719 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(yes) dup sw 2 div 70.154800 ex sub 14.770400 m gs 1 -1 sc sh gr
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(no) dup sw 2 div 73.801100 ex sub 11.124100 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 59.913105 15.638861 m 59.907500 19.455400 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 59.508675 18.654813 m 59.907500 19.455400 l 60.308674 18.655988 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 22.333200 15.615400 m 22.362400 21.044900 l 27.166900 21.015055 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 26.369400 21.420017 m 27.166900 21.015055 l 26.364431 20.620032 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0 slj
-+0 slc
-+0 slj
-+[] 0 sd
-+1.000000 1.000000 1.000000 srgb
-+n 28.954977 29.425200 m 34.810083 29.425200 l 35.618505 29.425200 36.273860 29.964050 36.273860 30.628755 c 36.273860 31.293460 35.618505 31.832310 34.810083 31.832310 c 28.954977 31.832310 l 28.146555 31.832310 27.491200 31.293460 27.491200 30.628755 c 27.491200 29.964050 28.146555 29.425200 28.954977 29.425200 c f
-+0.000000 0.000000 0.000000 srgb
-+n 28.954977 29.425200 m 34.810083 29.425200 l 35.618505 29.425200 36.273860 29.964050 36.273860 30.628755 c 36.273860 31.293460 35.618505 31.832310 34.810083 31.832310 c 28.954977 31.832310 l 28.146555 31.832310 27.491200 31.293460 27.491200 30.628755 c 27.491200 29.964050 28.146555 29.425200 28.954977 29.425200 c s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(hold for) dup sw 2 div 31.882530 ex sub 30.423445 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(moderation) dup sw 2 div 31.882530 ex sub 31.223445 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0 slj
-+0 slc
-+0 slj
-+[] 0 sd
-+1.000000 1.000000 1.000000 srgb
-+n 28.666900 19.811500 m 34.666900 19.811500 l 35.495328 19.811500 36.166900 20.350350 36.166900 21.015055 c 36.166900 21.679760 35.495328 22.218610 34.666900 22.218610 c 28.666900 22.218610 l 27.838472 22.218610 27.166900 21.679760 27.166900 21.015055 c 27.166900 20.350350 27.838472 19.811500 28.666900 19.811500 c f
-+0.000000 0.000000 0.000000 srgb
-+n 28.666900 19.811500 m 34.666900 19.811500 l 35.495328 19.811500 36.166900 20.350350 36.166900 21.015055 c 36.166900 21.679760 35.495328 22.218610 34.666900 22.218610 c 28.666900 22.218610 l 27.838472 22.218610 27.166900 21.679760 27.166900 21.015055 c 27.166900 20.350350 27.838472 19.811500 28.666900 19.811500 c s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(pass thru) dup sw 2 div 31.666900 ex sub 21.209745 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0 slj
-+0 slc
-+0 slj
-+[] 0 sd
-+1.000000 1.000000 1.000000 srgb
-+n 57.222377 19.455400 m 62.592683 19.455400 l 63.334168 19.455400 63.935260 19.903115 63.935260 20.455400 c 63.935260 21.007685 63.334168 21.455400 62.592683 21.455400 c 57.222377 21.455400 l 56.480892 21.455400 55.879800 21.007685 55.879800 20.455400 c 55.879800 19.903115 56.480892 19.455400 57.222377 19.455400 c f
-+0.000000 0.000000 0.000000 srgb
-+n 57.222377 19.455400 m 62.592683 19.455400 l 63.334168 19.455400 63.935260 19.903115 63.935260 20.455400 c 63.935260 21.007685 63.334168 21.455400 62.592683 21.455400 c 57.222377 21.455400 l 56.480892 21.455400 55.879800 21.007685 55.879800 20.455400 c 55.879800 19.903115 56.480892 19.455400 57.222377 19.455400 c s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(bounce it) dup sw 2 div 59.907530 ex sub 20.650090 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0 slj
-+0 slc
-+0 slj
-+[] 0 sd
-+1.000000 1.000000 1.000000 srgb
-+n 67.885077 19.434500 m 74.224983 19.434500 l 75.100342 19.434500 75.809960 19.882215 75.809960 20.434500 c 75.809960 20.986785 75.100342 21.434500 74.224983 21.434500 c 67.885077 21.434500 l 67.009718 21.434500 66.300100 20.986785 66.300100 20.434500 c 66.300100 19.882215 67.009718 19.434500 67.885077 19.434500 c f
-+0.000000 0.000000 0.000000 srgb
-+n 67.885077 19.434500 m 74.224983 19.434500 l 75.100342 19.434500 75.809960 19.882215 75.809960 20.434500 c 75.809960 20.986785 75.100342 21.434500 74.224983 21.434500 c 67.885077 21.434500 l 67.009718 21.434500 66.300100 20.986785 66.300100 20.434500 c 66.300100 19.882215 67.009718 19.434500 67.885077 19.434500 c s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(discard it) dup sw 2 div 71.055030 ex sub 20.629190 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 40.261205 15.778970 m 40.184200 21.044900 l 36.166900 21.015055 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 36.969849 20.621009 m 36.166900 21.015055 l 36.963906 21.420987 l f
-+1.000000 1.000000 1.000000 srgb
-+n 65.017305 25.865999 m 69.790811 30.639505 l 65.017305 35.413011 l 60.243799 30.639505 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 65.017305 25.865999 m 69.790811 30.639505 l 65.017305 35.413011 l 60.243799 30.639505 l cp s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(generic) dup sw 2 div 65.017305 ex sub 30.034195 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(non-member) dup sw 2 div 65.017305 ex sub 30.834195 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(disposition) dup sw 2 div 65.017305 ex sub 31.634195 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 74.712700 12.035700 m 77.310000 12.068400 l 77.310000 30.668100 l 69.790800 30.639500 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 70.592316 30.242546 m 69.790800 30.639500 l 70.589273 31.042540 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(discard) dup sw 2 div 68.632800 ex sub 24.246900 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 66.210600 27.059400 m 71.055000 21.434500 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 70.836024 22.301708 m 71.055000 21.434500 l 70.229848 21.779644 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 63.823900 27.059400 m 59.907500 21.455400 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 60.693636 21.882004 m 59.907500 21.455400 l 60.037899 22.340271 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(reject) dup sw 2 div 61.865700 ex sub 24.257400 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 60.243800 30.639500 m 36.273860 30.628755 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 37.074039 30.229114 m 36.273860 30.628755 l 37.073681 31.029114 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(hold) dup sw 2 div 48.258830 ex sub 30.634128 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 18.929299 12.211545 m 17.707519 12.274592 l 17.707519 30.574592 l 27.491200 30.628755 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 26.688998 31.024320 m 27.491200 30.628755 l 26.693427 30.224332 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 61.437100 29.446100 m 35.727550 21.866089 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 36.608013 21.708655 m 35.727550 21.866089 l 36.381775 22.475998 l f
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(accept) dup sw 2 div 48.582325 ex sub 25.656094 m gs 1 -1 sc sh gr
-+1.000000 1.000000 1.000000 srgb
-+n 50.677705 8.276269 m 54.324011 11.922575 l 50.677705 15.568881 l 47.031399 11.922575 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 50.677705 8.276269 m 54.324011 11.922575 l 50.677705 15.568881 l 47.031399 11.922575 l cp s
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(explicit) dup sw 2 div 50.677705 ex sub 11.717265 m gs 1 -1 sc sh gr
-+0.000000 0.000000 0.000000 srgb
-+(hold?) dup sw 2 div 50.677705 ex sub 12.517265 m gs 1 -1 sc sh gr
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(yes) dup sw 2 div 49.766128 ex sub 14.657304 m gs 1 -1 sc sh gr
-+/Courier-latin1 ff 0.800000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(no) dup sw 2 div 53.412434 ex sub 11.010998 m gs 1 -1 sc sh gr
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slj
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 50.677705 15.568881 m 50.723859 19.674592 l 35.845120 29.777721 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 36.282254 28.997392 m 35.845120 29.777721 l 36.731664 29.659231 l f
-+0.100000 slw
-+[] 0 sd
-+[] 0 sd
-+0 slc
-+0.000000 0.000000 0.000000 srgb
-+n 43.907510 11.959285 m 47.031399 11.922575 l s
-+0 slj
-+0.000000 0.000000 0.000000 srgb
-+n 46.236154 12.331948 m 47.031399 11.922575 l 46.226754 11.532003 l f
-+/Courier-latin1 ff 2.000000 scf sf
-+0.000000 0.000000 0.000000 srgb
-+(Sender Moderation Flowchart) dup sw 2 div 57.443403 ex sub 1.624592 m gs 1 -1 sc sh gr
-+gr
-+showpage
-+

Copied: trunk/debian/patches/03_documentation_source.patch (from rev 326, trunk/debian/patches/03_documentation_source.dpatch)
===================================================================
--- trunk/debian/patches/03_documentation_source.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/03_documentation_source.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,7109 @@
+Patch: 03_documentation_source.patch
+Author: Lionel Elie Mamane <lionel at mamane.lu>
+Desc: Sources of documentation from upstream CVS
+Index: doc/mailman-admin.tex
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ doc/mailman-admin.tex	2006-08-15 15:14:20.000000000 +0800
+@@ -0,0 +1,1402 @@
++\documentclass{howto}
++
++\title{GNU Mailman - List Administration Manual}
++
++% Increment the release number whenever significant changes are made.
++% The author and/or editor can define 'significant' however they like.
++\release{1.0}
++
++% At minimum, give your name and an email address.  You can include a
++% snail-mail address if you like.
++\author{Barry A. Warsaw}
++%\authoraddress{barry at zope.com}
++
++\date{\today}			% XXX update before tagging release!
++\release{2.1}			% software release, not documentation
++\setreleaseinfo{}		% empty for final release
++\setshortversion{2.1}		% major.minor only for software
++
++\begin{document}
++\maketitle
++
++% This makes the Abstract go on a separate page in the HTML version;
++% if a copyright notice is used, it should go immediately after this.
++%
++\ifhtml
++\chapter*{Front Matter\label{front}}
++\fi
++
++% Copyright statement should go here, if needed.
++% ...
++
++% The abstract should be a paragraph or two long, and describe the
++% scope of the document.
++\begin{abstract}
++\noindent
++This document describes the list administrator's interface for GNU
++Mailman 2.1.  It contains information a list owner would need to
++configure their list, either through the web interface or through
++email.  It also covers the moderator's interface for approving held
++messages and subscription notices, and the web interface for creating
++new mailing lists.  In general, it does not cover the command line
++interface to Mailman, installing Mailman, or interacting with Mailman
++from the point of view of the user.  That information is covered in
++other manuals.
++\end{abstract}
++
++\tableofcontents
++
++\section{Introduction to GNU Mailman}
++
++GNU Mailman is software that lets you manage electronic mailing lists.
++It supports a wide range of mailing list types, such as general
++discussion lists and announce-only lists.  Mailman has extensive
++features for controlling the privacy of your lists, distributing your
++list as personalized postings or digests, gatewaying postings to and
++from Usenet, and providing automatic bounce detection.  Mailman
++provides a built-in archiver, multiple natural languages, as well as
++advanced content and topic filtering.
++
++Mailman provides several interfaces to its functionality.  Most list
++administrators will primarily use the web interface to customize their
++lists.  There is also a limited email command interface to the
++administrative functions, as well as a command line interface if you
++have shell access on the Mailman server.  This document does not cover
++the command line interface; see the GNU Mailman site administrator's
++manual for more details.
++
++\subsection{A List's Email Addresses}
++
++Every mailing list has a set of email addresses that messages can be
++sent to.  There's always one address for posting messages to the list,
++one address that bounces will be sent to, and addresses for processing
++email commands.  For example, for a mailing list called
++\var{mylist at example.com}, you'd find these addresses:
++
++\begin{itemize}
++\item mylist at example.com -- this is the email address people should
++      use for new postings to the list.
++
++\item mylist-join at example.com -- by sending a message to this address,
++      a new member can request subscription to the list.  Both the
++      \mailheader{Subject} header and body of such a message are
++      ignored.  Note that mylist-subscribe at example.com is an alias for
++      the -join address.
++
++\item mylist-leave at example.com -- by sending a message to this address,
++      a member can request unsubscription from the list.  As with the
++      -join address, the \mailheader{Subject} header and body of the
++      message is ignored.  Note that mylist-unsubscribe at example.com is
++      an alias for the -leave address.
++
++\item mylist-owner at example.com -- This address reaches the list owner
++      and list moderators directly.
++
++\item mylist-request at example.com -- This address reaches a mail robot
++      which processes email commands that can be used to set member
++      subscription options, as well as process other commands.
++
++\item mylist-bounces at example.com -- This address receives bounces from
++      members who's addresses have become either temporarily or
++      permanently inactive.  The -bounces address is also a mail robot
++      that processes bounces and automatically disables or removes
++      members as configured in the bounce processing settings.  Any
++      bounce messages that are either unrecognized, or do not seem to
++      contain member addresses, are forwarded to the list
++      administrators.
++
++\item mylist-confirm at example.com -- This address is another email
++      robot, which processes confirmation messages for subscription
++      and unsubscription requests.
++\end{itemize}
++
++There's also an -admin address which also reaches the list
++administrators, but this address only exists for compatibility with
++older versions of Mailman.
++
++\subsection{Administrative Roles}
++
++There are two primary administrative roles for each mailing list, a
++list owner and a list moderator.  A list owner is allowed to change
++various settings of the list, such as the privacy and archiving
++policies, the content filtering settings, etc.  The list owner is also
++allowed to subscribe or invite members, unsubscribe members, and
++change any member's subscription options.
++
++The list moderator on the other hand, is only allowed to approve or
++reject postings and subscription requests.  The list moderator can
++also do things like clear a member's moderation flag, or add an
++address to a list of approved non-member posters.
++
++Normally, the list owner and list moderator are the same person.  In
++fact, the list owner can always do all the tasks a list moderator can
++do.  Access to both the owner's configuration pages, and the
++moderation pages are protected by the same password.  However, if the
++list owner wants to delegate posting and subscription approval
++authority to other people, a separate list moderator password can be
++set, giving moderators access to the approval pages, but not the
++configuration pages.  In this setup, list owners can still moderate
++the list, of course.
++
++In the sections that follow, we'll often use the terms list owner and
++list administrator interchangably, meaning both roles.  When
++necessary, we'll distinguish the list moderator explicitly.
++
++\subsection{A List's Web Pages}
++
++Every mailing list is also accessible by a number of web pages.  Note
++that the exact urls is configurable by the site administrator, so they
++may be different than what's described below.  We'll describe the most
++common default configuration, but check with your site administrator
++or hosting service for details.
++
++Mailman provides a set of web pages that list members use to get
++information about the list, or manage their membership options.  There
++are also list archive pages, for browsing an online web-based archive
++of the list traffic.  These are described in more detail in the GNU
++Mailman user's manual.
++
++Mailman also provides a set of pages for configuring an individual
++list, as well as a set of pages for disposing of posting and
++subscription requests.
++
++For a mailing list called \var{mylist} hosted at the domain
++\var{lists.example.com}, you would typically access the administrative
++pages by going to \code{http://lists.example.com/mailman/admin/mylist}.
++The first time you visit this page, you will be presented with a login
++page, asking for the list owner's password.  When you enter the
++password, Mailman will store a session cookie in your browser, so you
++don't have to re-authenticate for every action you want to take.  This
++cookie is stored only until you exit your browser.
++
++To access the administrative requests page, you'd visit
++\code{http://lists.example.com/mailman/admindb/mylist} (note the
++\emph{admindb} url as opposed to the \emph{admin} url).  Again, the
++first time you visit this page, you'll be presented with a login page,
++on which you can enter either the list moderator password or the list
++owner password.  Again, a session cookie is dropped in your browser.
++Note also that if you've previously logged in as the list owner, you
++do not need to re-login to access the administrative requests page.
++
++\subsection{Basic Architectural Overview}
++
++This section will outline the basic architecture of GNU Mailman, such
++as how messages are processed by the sytem.  Without going into lots
++of detail, this information will help you understand how the
++configuration options control Mailman's functionality.
++
++When mail enters the system from your mail server, it is dropped into
++one of several Mailman \emph{queues} depending on the address the
++message was sent to.  For example, if your system has a mailing list
++named \var{mylist} and your domain is \var{example.com}, people can
++post messages to your list by sending them to
++\var{mylist at example.com}.  These messages will be dropped into the
++\emph{incoming} queue, which is also colloquially called the
++\emph{moderate-and-munge} queue.  The incoming queue is where most of
++the approval process occurs, and it's also where the message is
++prepared for sending out to the list membership.
++
++There are separate queues for the built-in archiver, the bounce
++processor, the email command processor, as well as the outgoing email
++and news queues.  There's also a queue for messages generated by the
++Mailman system.  Each of these queues typically has one \emph{queue
++runner} (or ``qrunner'') that processes messages in the queue.  The
++qrunners are idle when there are no messages to process.
++
++Every message in the queues are represented by two files, a message
++file and a metadata file.  Both of these files share the same base
++name, which is a combination of a unique hash and the Unix time that
++the message was received.  The metadata file has a suffix of
++\file{.db} and the message file has a suffix of either \file{.msg} if
++stored in plain text, or \file{.pck} if stored in a more efficient
++internal representation\footnote{Specifically, a Python pickle}.
++
++As a message moves through the incoming queue, it performs various
++checks on the message, such as whether it matches one of the
++moderation criteria, or contains disallowed MIME types.  Once a
++message is approved for sending to the list membership, the message is
++prepared for sending by deleting, adding, or changing message headers,
++adding footers, etc.  Messages in the incoming queue may also be
++stored for appending to digests.
++
++\section{The List Configuration Pages}
++
++After logging into the list configuration pages, you'll see the
++configuration options for the list, grouped in categories.  All the
++administrative pages have some common elements.  In the upper section,
++you'll see two columns labeled ``Configuration Categories''.  Some
++categories have sub-categories which are only visible when you click
++on the category link.  The first page you see after logging in will be
++the ``General Options'' category.  The specific option settings for
++each category are described below.
++
++On the right side of the top section, you'll see a column labeled
++``Other Administrative Activities''.  Here you'll find some other
++things you can do to your list, as well as convenient links to the
++list information page and the list archives.  Note the big ``Logout''
++link; use this if you're finished configuring your list and don't want
++to leave the session cookie active in your browser.
++
++Below this common header, you'll find a list of this category's
++configuration variables, arranged in two columns.  In the left column
++is a brief description of the option, which also contains a
++``details'' link.  For many of the variables, more details are
++available describing the semantics of the various available settings,
++or information on the interaction between this setting and other list
++options.  Clicking on the details link brings up a page which contains
++only the information for that option, as well as a button for
++submitting your setting, and a link back to the category page.
++
++On the right side of the two-column section, you'll see the variable's
++current value.  Some variables may present a limited set of values,
++via radio button or check box arrays.  Other variables may present
++text entry boxes of one or multiple lines.  Most variables control
++settings for the operation of the list, but others perform immediate
++actions (these are clearly labeled).
++
++At the bottom of the page, you'll find a ``Submit'' button and a
++footer with some more useful links and a few logos.  Hitting the
++submit button commits your list settings, after they've been
++validated.  Any invalid values will be ignored and an error message
++will be displayed at the top of the resulting page.  The results page
++will always be the category page that you submitted.
++
++\subsection{The General Options Category}
++
++The General Options category is where you can set a variety of
++variables that affect basic behavior and public information.  In the
++descriptions that follow, the variable name is given first, along with
++an overview and a description of what that variable controls.
++
++\subsubsection{General list personality}
++
++These variables, grouped under the general list personality section,
++control some public information about the mailing list.
++
++\begin{description}
++\item[real_name]
++    Every mailing list has both a \emph{posting name} and a \emph{real
++    name}.  The posting name shows up in urls and in email addresses,
++    e.g. the \code{mylist} in \code{mylist at example.com}.  The posting
++    name is always presented in lower case, with alphanumeric
++    characters and no spaces.  The list's real name is used in some
++    public information and email responses, such as in the general
++    list overview.  The real name can differ from the posting name by
++    case only.  For example, if the posting name is \code{mylist}, the
++    real name can be \code{Posting}.
++
++\item[owner]
++    This variable contains a list of email addresses, one address per
++    line, of the list owners.  These addresses are used whenever the
++    list owners need to be contacted, either by the system or by end
++    users.  Often, these addresses are used in combination with the
++    \code{moderator} addresses (see below).
++
++\item[moderator]
++    This variable contains a list of email addresses, one address per
++    line, of the list moderators.  These addresses are often used in
++    combination with the \code{owner} addresses.  For example, when
++    you email \code{mylist-owner at example.com}, both the owner and
++    moderator addresses will receive a copy of the message.
++
++\item[description]
++    In the general list overview page, which shows you every available
++    mailing list, each list is displayed with a short description.
++    The contents of this variable is that description.  Note that in
++    emails from the mailing list, this description is also used in the
++    comment section of the \mailheader{To} address.  This text should
++    be relatively short and no longer than one line.
++
++\item[info]
++    This variable contains a longer description of the mailing list.
++    It is included at the top of the list's information page, and it
++    can contain HTML.  However, blank lines will be automatically
++    converted into paragraph breaks.  Preview your HTML though,
++    because unclosed or invalid HTML can prevent display of parts of
++    the list information page.
++
++\item[subject_prefix]
++    This is a string that will be prepended to the
++    \mailheader{Subject} header of any message posted to the list.
++    For example, if a message is posted to the list with a
++    \mailheader{Subject} like:
++
++    \begin{verbatim}
++    Subject: This is a message
++    \end{verbatim}
++
++    and the \code{subject_prefix} is \code{[My List] } (note the
++    trailing space!), then the message will be received like so:
++
++    \begin{verbatim}
++    Subject: [My List] This is a message
++    \end{verbatim}
++
++    If you leave \code{subject_prefix} empty, no prefix will be added
++    to the \mailheader{Subject}.  Mailman is careful not to add a
++    prefix when the header already has one, as is the case in replies
++    for example.  The prefix can also contain characters in the list's
++    preferred language.  In this case, because of vagarities of the
++    email standards, you may or may not want to add a trailing space.
++
++\item[anonymous_list]
++    This variable allows you to turn on some simple anonymizing
++    features of Mailman.  When you set this option to \emph{Yes},
++    Mailman will remove or replace the \mailheader{From},
++    \mailheader{Sender}, and \mailheader{Reply-To} fields of any
++    message posted to the list.
++
++    Note that this option is simply an aid for anonymization, it
++    doesn't guarantee it.  For example, a poster's identity could be
++    evident in their signature, or in other mail headers, or even in
++    the style of the content of the message.  There's little Mailman
++    can do about this kind of identity leakage.
++\end{description}
++
++\subsubsection{Reply-To header munging}
++
++This section controls what happens to the \mailheader{Reply-To}
++headers of messages posted through your list.
++
++Beware!  \mailheader{Reply-To} munging is considered a religious issue
++and the policies you set here can ignite some of the most heated
++off-topic flame wars on your mailing lists.  We'll try to stay as
++agnostic as possible, but our biases may still peak through.
++
++\mailheader{Reply-To} is a header that is commonly used to redirect
++replies to messages.  Exactly what happens when your uses reply to
++such a message depends on the mail readers your users use, and what
++functions they provide.  Usually, there is both a ``reply to sender''
++button and a ``reply to all'' button.  If people use these buttons
++correctly, you will probably never need to munge
++\mailheader{Reply-To}, so the default values should be fine.
++
++Since an informed decision is always best, here are links to two
++articles that discuss the opposing viewpoints in great detail:
++
++\begin{itemize}
++
++\item \ulink{Reply-To Munging Considered
++      Harmful}{http://www.unicom.com/pw/reply-to-harmful.html}
++\item \ulink{Reply-To Munging Considered
++      Useful}{http://www.metasystema.org/essays/reply-to-useful.mhtml}
++
++\end{itemize}
++
++The three options in this section work together to provide enough
++flexibility to do whatever \mailheader{Reply-To} munging you might
++(misguidingly :) feel you need to do.
++
++\begin{description}
++
++\item[first_strip_reply_to]
++    This variable controls whether any \mailheader{Reply-To} header
++    already present in the posted message should get removed before
++    any other munging occurs.  Stripping this header will be done
++    regardless of whether or not Mailman will add its own
++    \mailheader{Reply-To} header to the message.
++
++    If this option is set to \emph{No}, then any existing
++    \mailheader{Reply-To} header will be retained in the posted
++    message.  If Mailman adds its own header, it will contain
++    addresses which are the union of the original header and the
++    Mailman added addresses.  The mail standards specify that a
++    message may only have one \mailheader{Reply-To} header, but that
++    that header may contain multiple addresses.
++
++\item[reply_goes_to_list]
++    This variable controls whether Mailman will add its own
++    \mailheader{Reply-To} header, and if so, what the value of that
++    header will be (not counting original header stripping -- see
++    above).
++
++    When you set this variable to \emph{Poster}, no additional
++    \mailheader{Reply-To} header will be added by Mailman.  This
++    setting is strongly recommended.
++
++    When you set this variable to \emph{This list}, a
++    \mailheader{Reply-To} header pointing back to your list's posting
++    address will be added.
++
++    When you set this variable to \emph{Explicit address}, the value
++    of the variable \code{reply_to_address} (see below) will be
++    added.  Note that this is one situation where
++    \mailheader{Reply-To} munging may have a legitimate purpose.  Say
++    you have two lists at your site, an announce list and a discussion
++    list.  The announce list might allow postings only from a small
++    number of approved users; the general list membership probably
++    can't post to this list.  But you want to allow comments on
++    announcements to be posted to the general discussion list by any
++    list member.  In this case, you can set the \mailheader{Reply-To}
++    header for the announce list to point to the discussion list's
++    posting address.
++
++\item[reply_to_address]
++    This is the address that will be added in the
++    \mailheader{Reply-To} header if \code{reply_goes_to_list} is set
++    to \emph{Explicit address}.
++
++\end{description}
++
++\subsubsection{Umbrella list settings}
++
++TBD.  Note that umbrella lists are deprecated and will be replace with
++a better mechanism for Mailman 3.0.
++
++\subsubsection{Notifications}
++
++Mailman sends notifications to the list administrators or list members
++under a number of different circumstances.  Most of these
++notifications can be configured in this section, but see the Bounce
++Processing and Auto-responder categories for other notifications that
++Mailman can send.
++
++\begin{description}
++\item[send_reminders]
++    By default Mailman sends all list members a monthly password
++    reminder.  This notice serves two purposes.  First, it reminds
++    people about all the lists they may be subscribed to on this
++    domain, including the lists where their subscription may be
++    disabled.  Second, it reminds people about their passwords for
++    these lists, as well as the url for their personal options pages,
++    so that they can more easily configure their subscription options.
++
++    Some people get annoyed with these monthly reminders, and they can
++    disable the reminders via their subscription options page.  For
++    some lists, the monthly reminders aren't appropriate for any of
++    the members, so you can disable them list-wide by setting the
++    \code{send_reminders} variable to \emph{No}.
++
++\item[welcome_msg]
++    When new members are subscribed to the list, either by their own
++    action, or the action of a list administrator, a welcome message
++    can be sent to them.  The welcome message contains some common
++    boilerplate information, such as the name of the list,
++    instructions for posting to the list, and the member's
++    subscription password.  You can add additional information to the
++    welcome message by typing the text into the \code{welcome_msg}
++    text box.  Note that because this text is sent as part of an
++    email, it should \strong{not} contain HTML.
++
++\item[send_welcome_msg]
++    This flag controls whether or not the welcome message is sent to
++    new subscribers.
++
++\item[goodbye_msg]
++    Like the \code{welcome_msg}, a ``goodbye'' message can be sent to
++    members when they unsubscribe from the list.  Unlike the welcome
++    message, there's no boilerplate for the goodbye message.  Enter
++    the entire goodbye message you'd like unsubscribing members to
++    receive into the \code{goodbye_msg} text box.
++
++\item[send_goodbye_msg]
++    This flag controls whether or not the goodbye message is sent to
++    unsubscribing members.
++
++\item[admin_immed_notify]
++    List moderators get notifications of pending administrative
++    actions, such as subscription or unsubscription requests that
++    require moderator approval, or posted messages that are being held
++    for moderator approval.  List moderators will always get a daily
++    summary of such pending requests, but they can also get immediate
++    notifications when such a request is made.  The
++    \code{admin_immed_notify} variable controls whether these
++    immediate notifications are sent or not.  It's generally a good
++    idea to leave this set to \emph{Yes}.
++
++\item[admin_notify_mchanges]
++    This variable controls whether the list administrators should get
++    notifications when members join or leave the list.
++
++\item[respond_to_post_requests]
++    This variable controls whether the original sender of a posting
++    gets a notice when their message is held for moderator approval.
++
++\end{description}
++
++\subsubsection{Additional settings}
++
++This section contains some miscellaneous settings for your mailing
++list.
++
++\begin{description}
++\item[emergency]
++    When this option is enabled, all list traffic is emergency
++    moderated, i.e. held for moderation.  Turn this option on when
++    your list is experiencing a flamewar and you want a cooling off
++    period.
++
++\item[new_member_options]
++    Each member has a set of subscription options which they can use
++    to control how they receive messages and otherwise interact with
++    the list.  While the members can change these settings by logging
++    into their personal options page, you might want to set the
++    default for a number of the member options.  You can do that with
++    this variable, but see also the other categories for other member
++    defaults you can set.
++
++    This variable presents a set of checkboxes which control the
++    defaults for some of the member options.  \emph{Conceal the
++    member's address} specifies whether or not the address is
++    displayed in the list roster.  \emph{Acknowledge the member's
++    posting} controls whether or not Mailman sends an acknowledgement
++    to a member when they post a message to the list.  \emph{Do not
++    send a copy of a member's own post} specifies whether a member
++    posting to the list will get a copy of their own posting.
++    \emph{Filter out duplicate messages to list members (if possible)}
++    specifies whether members who are explicitly listed as a recipient
++    of a message (e.g. via the \mailheader{Cc} header) will also get a
++    copy from Mailman.
++
++    Of course, members can always override these defaults by making
++    changes on their membership options page.
++
++\item[administrivia]
++    This option specifies whether Mailman will search posted messages
++    for \emph{admimistrivia}, in other words, email commands which
++    usually should be posted to the \code{-request} address for the
++    list.  Setting this to \emph{Yes} helps prevent such things as
++    unsubscribe messages getting erroneously posted to the list.
++
++    If a message seems to contain administrivia, it is held for
++    moderator approval.
++
++\item[max_message_size]
++    This option specifies a maximum message size, in kilobytes, over
++    which the message will be held for moderator approval.
++
++\item[host_name]
++    This option specifies the host name part of email addresses used
++    by this list.  For example, this is the \code{example.com} part of
++    the posting address \code{mylist at example.com}.
++
++    It's generally not a good idea to change this value, since its
++    default value is specified when the mailing list is created.
++    Changing this to an incorrect value could make it difficult to
++    contact your mailing list.  Also not that the url used to visit
++    the list's pages is not configurable through the web interface.
++    This is because if you messed it up, you'd have to have the site
++    administrator fix it.
++
++\item[include_rfc2369_headers]
++    \rfc{2369} is an internet standard that describes a bunch of
++    headers that mailing list managers should add to messages to make
++    it easier for people to interact with the list.  Mail reading
++    programs which support this standard may provide buttons for easy
++    access to the list's archives, or for subscribing and
++    unsubscribing to the list.  It's generally a good idea to enable
++    these headers as it provides for an improved user experience.
++    These headers are often called the \code{List-*} headers.
++
++    However, not all mail readers are standards compliant yet, and if
++    you have a large number of members who are using non-compliant
++    mail readers, they may be annoyed at these headers.  You should
++    first try to educate your members as to why these headers exist,
++    and how to hide them in their mail clients.  As a last resort you
++    can disable these headers, but this is not recommended.
++
++\item[include_list_post_header]
++    The \mailheader{List-Post} header is one of the headers
++    recommended by \rfc{2369}.  However for some announce-only mailing
++    lists, only a very select group of people are allowed to post to
++    the list; the general membership is usually not allowed to post to
++    such lists.  For lists of this nature, the \mailheader{List-Post}
++    header is misleading.  Select \emph{No} to disable the inclusion
++    of this header. (This does not affect the inclusion of the other
++    \code{List-*} headers.)
++\end{description}
++
++\subsection{The Passwords Category}
++As mentioned above, there are two primary administrative roles for
++mailing lists.  In this category you can specify the password for
++these roles.
++
++The list owner has total control over the configuration of their
++mailing list (within some bounds as specified by the site
++administrator).  Note that on this page, for historical reasons, the
++list owner role is described here as the \emph{list administrator}.
++You can set the list owner's password by entering it in the password
++field on the left.  You must type it twice for confirmation.  Note
++that if you forget this password, the only way for you to get back
++into your list's administrative pages is to ask the site administrator
++to reset it for you (there's no password reminders for list owners).
++
++If you want to delegate list moderation to someone else, you can enter
++a different moderator password in the field on the right (typed twice
++for confirmation).  Note that if you aren't going to delegate
++moderation, and the same people are going to both configure the list
++and moderate postings to the list, don't enter anything into the
++moderator password fields.  If you do enter a separate moderator
++password, be sure to fill in the \code{moderator} variable in the
++\emph{General options} category page. 
++
++\subsection{The Language Options Category}
++Mailman is multilingual and internationalized, meaning you can set up
++your list so that members can interact with it in any of a number of
++natural languages.  Of course, Mailman won't translate list
++postings. :)
++
++However, if your site administrator has enabled its support, you can
++set your list up to support any of about two dozen languages, such as
++German, Italian, Japanese, or Spanish.  Your list members can then
++choose any of your supported languages as their \emph{preferred
++language} for interacting with the list.  Such things as their member
++options page will be displayed in this language.  Each mailing list
++also has its own \emph{preferred language} which is the language the
++list supports if no other language context is known.
++
++These variables control the language settings for your mailing list:
++
++\begin{description}
++\item[preferred_language]
++    This is the list's preferred language, which is the language that
++    the list administrative pages will be displayed in.  Also any
++    messages sent to the list owners by Mailman will be sent in this
++    language.  This option is presented as a drop-down list containing
++    the language enabled in the \code{available_languages} variable.
++
++\item[available_languages]
++    This set of checkboxes contains all the natural languages that
++    your site administrator has made available to your mailing lists.
++    Select any language that you'd either like your members to be able
++    to view the list in, or that you'd like to be able to use in your
++    list's \code{preferred_language} variable.
++
++\item[encode_ascii_prefixes]
++    If your mailing list's preferred language uses a non-ASCII
++    character set and the \code{subject_prefix} contains non-ASCII
++    characters, the prefix will always be encoded according to the
++    relevant standards.  However, if your subject prefix contains only
++    ASCII characters, you may want to set this option to \emph{Never}
++    to disable prefix encoding.  This can make the subject headers
++    slightly more readable for users with mail readers that don't
++    properly handle non-ASCII encodings.
++
++    Note however, that if your mailing list receives both encoded and
++    unencoded subject headers, you might want to choose \emph{As
++    needed}.  Using this setting, Mailman will not encode ASCII
++    prefixes when the rest of the header contains only ASCII
++    characters, but if the original header contains non-ASCII
++    characters, it will encode the prefix.  This avoids an ambiguity
++    in the standards which could cause some mail readers to display
++    extra, or missing spaces between the prefix and the original
++    header.
++\end{description}
++
++\subsection{The Membership Management Category}
++
++The \emph{Membership Management} category is unlike the other
++administrative categories.  It doesn't contain configuration variables
++or list settings.  Instead, it presents a number of pages that allow
++you to manage the membership of you list.  This includes pages for
++subscribing and unsubscribing members, and for searching for members,
++and for changing various member-specific settings.
++
++More details on membership management are described in the Membership
++Management section.
++
++\subsection{The Non-digest Options Category}
++
++Mailman delivers messages to users via two modes.  List members can
++elect to receive postings in bundles call \emph{digests} one or a few
++times a day, or they can receive messages immediately whenever the
++message is posted to the list.  This latter delivery mode is also
++called \emph{non-digest delivery}.  There are two administrative
++categories available for separately controlling digest and non-digest
++delivery.  You can even disable one or the other forms of delivery
++(but not both).
++
++Both kinds of delivery can have list-specific headers and footers
++added to them which can contain other useful information you want your
++list members to see.  For example, you can include instructions for
++unsubscribing, or a url to the lists digest, or any other information.
++
++Non-digest deliveries can also be \emph{personalized} which means
++certain parts of the message can contain information tailored to the
++member receiving the message.  For example, the \mailheader{To} header
++will contain the address of the member when deliveries are
++personalized.  Footers and headers can contain personalized
++information as well, such as a link to the individual user's options
++page.
++
++In addition, personalized messages will contain extra information that
++Mailman can use to unambiguously track bounces from members.
++Ordinarily, Mailman does some pattern recognition on bounce messages
++to determine list members whose addresses are no longer valid, but
++because of the vagaries of mail systems, and the countless forwards
++people can put in place, it's often the case that bounce messages
++don't contain any useful information in them.  Personalized messages
++avoid this problem by encoding information in certain headers that
++unambiguously identify the recipient of a message.  If that message
++bounces, Mailman will know exactly which member it was intended for.
++
++Note that because personalization requires extra system resources, it
++must be enabled by the site administrator before you can choose it.
++
++Here are the variables which control non-digest delivery:
++
++\begin{description}
++\item[nondigestable]
++    This option controls whether members can receive immediate
++    delivery or not.  If not, they will be forced to receive messages
++    in digests.  You can't disable non-digest delivery if digests are
++    already disabled.
++
++\item[personalize]
++    This option turns on message personalization.
++
++\item[msg_header]
++    This text box lets you enter information that will be included in
++    the header of every non-digest message sent through the
++    list.
++
++    See below for more information on what can go in the headers and
++    footers.  If you leave this text box empty, no header will be
++    added.
++
++\item[msg_footer]
++    Just like with the header, you can add a footer to every message.
++    The same rules apply to footers as apply to headers.
++\end{description}
++
++Headers and footers can contain any text you want.  For non-English
++lists, the headers and footers can contain any character in the
++character set of the list's preferred language.  The headers and
++footers can also contain \emph{substitution variables} which Mailman
++will fill in with information taken from the mailing list.  These
++substitutions are in Python string interpolation format, where
++something like \code{\%(list_name)s} is substituted with he name of
++the mailing list.  Note that the trailing \samp{s} is
++required\footnote{The site administrator can configure lists to use a
++simpler interpolation format, where \code{\$list_name} or
++\code{\$\{list_name\}} would be substituted with the mailing list's
++name.  Ask your site administrator if the've configured your list this
++way.}.
++
++For example, a footer containing the following text:
++
++\begin{verbatim}
++This is the \%(list_name)s mailing list
++Description: \%(description)s
++\end{verbatim}
++
++might get attached to postings like so:
++
++\begin{verbatim}
++This is the Example mailing list
++Description: An example of Mailman mailing lists
++\end{verbatim}
++
++Here is the list of substitution variables available for your headers
++and footers:
++
++\begin{description}
++\item[real_name]
++    This is the value of the \code{real_name} configuration variable
++    in the General options category.
++
++\item[list_name]
++    This is the canonical name of the mailing list.  In other words
++    it's the posting address of the list\footnote{For backward
++    compatibility, the variable \code{_internal_name} is
++    equivalent.}.
++
++\item[host_name]
++    This is the domain name part of the email address for this list.
++
++\item[web_page_url]
++    This is the base url for contacting the list via the web.  It can
++    be appended with \code{listinfo/\%(list_name)s} to yield the
++    general list information page for the mailing list.
++
++\item[description]
++    The brief description of the mailing list.
++
++\item[info]
++    This is the full description of the mailing list.
++
++\item[cgiext]
++    This is the extension added to CGI scripts.  It might be the empty
++    string, \code{.cgi}, or something else depending on how your site
++    is configured.
++\end{description}
++
++Note that \code{real_name}, \code{host_name}, \code{description}, and
++\code{info} substitution variables take their values from the list
++configuration variables of the same name.
++
++When personalization is enabled, the following substitution variables
++are also available:
++
++\begin{description}
++\item[user_address]
++    The address of the recipient of the message, coerced to lower case.
++
++\item[user_delivered_to]
++    The case-preserved address that the user subscribed to the mailing
++    list with\footnote{Usually it makes no difference which of
++    \code{user_address} and \code{user_delivered_to} is used, but it's
++    important to remember that they can be different.  When they're
++    different, Mailman always uses the lower case address as the key
++    to the member's subscription information, but it always delivers
++    messages to the case-preserved version.}.
++
++\item[user_password]
++    The user's password, in clear text.
++
++\item[user_name]
++    The user's full name.
++
++\item[user_optionsurl]
++    The url to the user's personal options page.
++\end{description}
++
++\subsection{The Digest Options Category}
++
++Digest delivery is a way to bundle many articles together into one
++package, which can be delivered once per day (if there were any posted
++articles), or whenever the package is bigger than a specified limit.
++Some users may prefer this style of delivery for higher traffic lists
++since they will receive fewer messages.
++
++Mailman supports two standard digest formats, and if digests are
++enabled, users can select which of the two formats they receive.  One
++is MIME digests, where each message is an attachment inside a
++\mimetype{multipart/digest}.  This format also contains a summary
++table of contents, and of course the an optional header and footer,
++and it retains most of the headers of the original messages.
++
++The second type is called ``plaintext'' digests because they are
++readable in mail readers that don't support MIME.  Actually, they
++adhere to the \rfc{1153} digest standard.  The retain some, but not
++all of the original messages, but can also include a summary and
++headers and footers.
++
++Like non-digest delivery, you can enable or disable digest delivery,
++but you cannot disable both types of delivery.  You can specify
++different headers and footers for digest and non-digest deliveries.
++You cannot personalize digest deliveries.
++
++As list administrator, you may want to send an urgent message to all
++list members, bypassing the normal digest bundling.  To do this, send
++the message with a \mailheader{Urgent} header, where the value of the
++header is the list administrator's password.  Non-digest members will
++receive the message like normal, but digest members will receive the
++message immediately\footnote{They'll also receive the message in the
++digest.}.
++
++Here are the variables which control digest delivery:
++
++\begin{description}
++\item[digestable]
++    The option controls whether members can receive digest deliveries
++    or not.  If not, they will be forced to receive immediate
++    deliveries.  You can't disable digests if non-digests are already
++    disabled.
++
++\item[digest_is_default]
++    Controls which style of delivery is the default for new members.
++    You can choose \emph{Regular} (non-digest) or \emph{Digest}
++    delivery.
++
++\item[mime_is_default_digest]
++    If a member is allowed to choose digests, this variable controls
++    which is the default digest style they will receive.  \emph{Plain}
++    digests are \rfc{1153} format as described above.
++
++\item[digest_size_threshold]
++    Normally, digest members get at least one message per day, if
++    there have been any messages posted to the list.  However, for
++    high volume lists, you may want to send out digests when the size
++    has reached a certain threshold, otherwise, the one digest they
++    receive could be huge.  This variable controls the size threshold
++    by specifying the maximum digest size in kilobytes.  Note that
++    this threshold isn't exact.  Set this variable to zero to specify
++    that there is no size threshold, in which case no more than one
++    digest will be sent out per day.
++
++\item[digest_send_periodic]
++    This variable actually controls whether or not a digest is sent
++    daily when the size threshold has not yet been met.  If set to
++    \emph{No}, then digests will only be sent when they are bigger
++    than \code{digest_size_threshold}.
++
++\item[digest_header]
++    This text box lets you enter information that will be included in
++    the header of every digest message sent through the list.  The
++    same information can go in this header as can go in the
++    \code{msg_header}, except for the personalization variables.
++
++\item[digest_footer]
++    Just like with the header, you can add a footer to every message.
++    The same rules apply to digest footers as apply to digest headers.
++    
++\item[digest_volume_frequency]
++    Each digest is numbered with a volume and an issue.  This variable
++    controls how often a new digest volume is sent.  When the digest
++    volume number is incremented, the issue number is reset to 1.
++
++\item[_new_volume]
++    This is an action variable, which forces an increment of the
++    volume number as soon as you submit the form.
++
++\item[_send_digest_now]
++    This is another action variable.  Select \emph{Yes}, submit the
++    form, and the current digest is packaged up and sent to digest
++    members, regardless of size (well, there has to be at least one
++    message in the digest).
++\end{description}
++
++\subsection{The Privacy Options Category}
++
++The Privacy category lets you control how much of the list's
++information is public, as well as who can send messages to your list.
++It also contains some spam detection filters.  Note that this section
++is not used to control whether your list's archives are public or
++private; for that, use the \ref{Archiving options} category.
++
++There are four sub-categories:
++\begin{itemize}
++\item Subscription rules -- i.e. the rules for joining and leaving
++      your mailing list
++
++\item Sender filters -- the rules for who may post messages to your
++      list
++
++\item Recipient filters -- moderation rules based on the recipient of
++      the message
++
++\item Spam filters -- some regular expression based rules for header
++      matching
++\end{itemize}
++
++The sender, recipient, and spam filtering rules are part of the
++general list moderation features of Mailman.  When a message is posted
++to the list, it is matched against a number of criteria, the outcome
++of which determines whether the message is reflected to the membership
++or not.  In general, the outcome is one of four states:
++
++\begin{itemize}
++\item Approved or Accepted -- the message may be sent on to the
++      members of the mailing list.
++
++\item Hold -- the message will be held for moderator approval.  The
++      list owners and moderators will then have to explicitly approve
++      the message before the list members will see it.
++
++\item Reject -- the message is bounced back to the original sender,
++      often with a notice containing the reason the message was
++      rejected.  The list members never see rejected messages.
++
++\item Discard -- the message is simply thrown away without further
++      processing.
++\end{itemize}
++
++Many of the fields in this section are text boxes accepting addresses,
++one per line.  Unless otherwise noted, these also accept regular
++expressions which will be matched against an address, if the line
++begins with a \^ (caret) character.
++
++\subsubsection{Subscription rules}
++
++This subcategory controls the rules for exposing the existance of this
++list, and for what new members must do in order to subscribe to the
++list.
++
++\begin{description}
++\item[advertised]
++    This option controls whether this list will show up in the list
++    overview for the site.  Normally, an overview contains the name
++    and short description of every mailing list in the virtual
++    domain.  By setting this variable to \emph{No}, it will not show
++    up in this overview, nor will it show up in the administrative
++    overview.  The only way then to find the list is to guess (or
++    know!) its name.
++
++\item[subscribe_policy]
++    This option controls the steps that a new member must take to join
++    the list.  The available options may differ based on some defaults
++    that the site administrator chooses.  They are:
++
++    \begin{itemize}
++    \item None -- No verification is done on the subscribing
++          member. This is also called \emph{open subscriptions} and is
++          generally disabled by default.  The site administrator must
++          allow list admins to choose this option; if not, this option
++          will not be presented to you.
++
++    \item Confirm -- An email confirmation step is required before the
++          address is added to the list.  When a member requests
++          subscription, either via the web page or by sending a
++          message to \var{yourlist}\code{-join at example.com}, Mailman
++          will send a confirmation message to the requesting address.
++          This mail-back confirmation contains a unique identifier,
++          which the requester can present to Mailman in order to
++          confirm their subscription.  This can be done either by
++          replying to the mail-back, or by visiting the url in the
++          mail-back message.  The url points to a page that lets the
++          user either discard or confirm their request.
++
++    \item Require approval -- All subscription requests are held for
++          approval of the list moderator.  No mail-back confirmation
++          is sent, but the list admins will recieve a message
++          indicating that approval is pending.
++
++    \item Confirm and approve -- Here, a mail-back notice must first
++          be confirmed by the requester.  Once confirmed, the list
++          moderator must then approve the request.  This is the most
++          secure method for users to subscribe since it both verifies
++          the requesting address, and forces the list moderators to
++          approve the request.
++
++    \end{itemize}
++
++\item[unsubscribe_policy]
++    Specifies whether the list moderator's approval is required for
++    unsubscription requests.  \emph{No} is highly recommended, since
++    it is exceedingly impolite to not allow people to leave a mailing
++    list whenever they want (i.e. opt-out).  \emph{Yes} is useful in
++    some specialized contexts; e.g. you may not want to allow
++    employees to unsubscribe from the company newsletter.
++
++\item[ban_list]
++    This contains a list of addresses (or regular expressiosn), one
++    per line, that are banned from ever subscribing to your mailing
++    list.  If a match occurs during the subscription process, the
++    request will be automatically rejected, and the requester will get
++    a rejection notice.  You can use this to permanently ban
++    troublesome posters to a members-only list.
++
++\item[private_roster]
++    This specifies who is allowed to view the roster of member
++    addresses.  If you choose \emph{Anyone}, then the list membership
++    is completely public.  You can limit exposure of the roster to
++    just list members, or just to the list administrators.  In the
++    former case, a user must enter a valid member's address and
++    password before they can view the roster.  In the latter case, a
++    list administrator's password must be enter; if a matching admin
++    password is entered, address field is ignored.
++
++\item[obscure_addresses]
++    Controls whether some simple obfuscation of addresses is used when
++    member addresses are included on web pages.  This should reduce
++    the opportunity for email address harvesting by spammers, although
++    it probably doesn't eliminate it.
++\end{description}
++
++\subsubsection{Sender filters}
++
++When a message is posted to the list, a series of moderation criteria are
++applied to determine the disposition of the message.  This section
++contains the modeation controls for postings from both members and
++non-members.
++
++\begin{description}
++\item[default_member_moderation]
++    Member postings are held for moderation if their \emph{moderation
++    flag} is turned on.  Note that only the list administrators can
++    change the value of a member's moderation flag.
++
++    You can control whether new members get their moderation flag
++    turned on or off by default when they subscribe to the list.  By
++    turning this flag off by default, postings by members will be
++    allowed without further intervention (barring other restrictions
++    such as size or implicit recipient lists -- see below).  By
++    turning the flag on, you can quarantine new member postings to
++    make sure that they meet your criteria for netiquette, topicality,
++    etc.  Once you determine that the new member understands the
++    community's posting rules, you can turn off their moderation flag
++    and let their postings go through unstopped.
++
++    E-newsletter style lists can also be set up by using the
++    moderation flag.  By setting the \code{member_moderation_action}
++    to \emph{Reject}, and by turning off the moderation flag for just
++    the few approved senders, your list will operate in essentially a
++    one-way direction.  Note that you'd also need to reject or discard
++    postings from non-members.
++
++\item[member_moderation_action]
++    This is the action to take for postings from a member who's
++    moderation flag is set.  For typical discussion lists, you'll
++    likely set this to \emph{Hold} so that the list moderator will get
++    a chance to manually approve, reject, or discard the message.  For
++    e-newsletter and announcement lists, you might want to set this to
++    \emph{Reject} or \emph{Discard}.
++
++    Note that when a moderated member posts to your list, and the
++    \code{member_moderation_action} is set to \emph{Hold}, the message
++    will appear on the administrative requests page.  When you dispose
++    of the message, you will be given an opportunity to clear the
++    moderation flag at the same time.   If you're quarantining new
++    posts, this makes it very convenient to both approve a new
++    member's post and de-moderate them at the same time.
++
++\item[member_moderation_notice]
++    When a member's moderation flag is turned on and
++    \code{member_moderation_action} is \emph{Reject}, this variable
++    contains the text sent in the rejection notice.
++\end{description}
++
++The next batch of variables controls what happens when non-members
++post messages to the list.  Each of these accepts one email address
++per line; regular expressions are allowed if the line starts with the
++\^ (caret) character.  These address lists are always consulted in the
++order in which they're presented on this page (i.e. accepts first,
++followed by holds, rejections, and discards).
++
++\begin{description}
++\item[accept_these_nonmembers]
++    Postings from non-members whose addresses match this list are
++    accepted, barring other list restrictions due to size, implicit
++    recipients, etc.  You might want to add alternative addresses of
++    approved posters to this list.
++
++\item[hold_these_nonmembers]
++    Postings from non-members whose addresses match this list are
++    held for moderator approval.
++
++\item[reject_these_nonmembers]
++    Postings from non-members whose addresses match this list are
++    rejected, i.e. bounced back to the original sender.  There
++    currently is no way to add additional text to the rejection
++    message.
++
++\item[discard_these_nonmembers]
++    Postings from non-members whose addresses match this list are
++    discarded, with no bounce back message.  You might want to add the
++    addresses of known spammers to this list.
++
++\item[generic_nonmember_action]
++    This variable controls what happens to non-member posts when the
++    address of the sender doesn't match any of the above four lists.
++    If you set this to \emph{Hold}, the posting will appear on the
++    administrative requests page, and you will be given an opportunity
++    to add the non-member to one of the above four lists at the same
++    time you dispose of the held message.
++
++\item[forward_auto_discards]
++    When messages from non-members are discarded, either because the
++    sender address matched \code{discard_these_nonmembers}, or because
++    \code{generic_nonmember_action} is \emph{Discard}, you can choose
++    whether such messages are forwarded to the lsit administrators or
++    not.
++\end{description}
++
++\subsubsection{Recipient Filters}
++
++The variables in this section control various filters based on the
++recipient of the message.
++
++\begin{description}
++\item[require_explicit_destination]
++    This controls whether the mailing list posting address must be
++    explicitly named in the \mailheader{To} or \mailheader{Cc}
++    recipient lists.  The main reason why it wouldn't is if the
++    message was blind-carbon-copied (i.e. \mailheader{Bcc}'d) to the
++    list.  Spammers like to do this, but sometimes legitimate messages
++    are forwarded to the list this way.
++
++    If the list is not explicitly addressed and this setting is turned
++    on, the message will be held for moderator approval.
++
++\item[acceptable_aliases]
++    This is the list of alternative addresses that are acceptable as a
++    list posting address when \code{require_explicit_destination} is
++    enabled.  This is useful for when there aliases for the main
++    posting address (e.g. \code{help at example.com} may be an alias for
++    \code{help-list at example.com}).
++
++\item[max_num_recipients]
++    This is the maximum number of explicit recipients that are allowed
++    on the posted message.  Spammers sometimes send messages with lots
++    of explicit recipients, so setting this number to a reasonable
++    value may cut down on spam.
++\end{description}
++
++\subsubsection{Spam Filters}
++
++This section provides some adjuncts to spam fighting tools; it
++doesn't replace dedicated anti-spam tools such as SpamAssassin or
++Spambayes.
++
++\begin{description}
++\item[bounce_matching_headers]
++    This variable contains header regular expressions, one per line,
++    and if any of a message's headers matches one of these patterns,
++    it will be held for moderation.  The format is a colon separated
++    header and value, where the header is case insensitive and the
++    value is any valid Python regular expression.  Lines that start
++    with \# are ignored.
++
++    This variable can be used to catch known spammers by writing
++    regexps that match against \mailheader{To} or \mailheader{Cc}
++    lines, or known-bad \mailheader{Message-ID}s.  Perhaps more useful
++    though are patterns that match headers added by spam detection
++    tools higher up in the tool chain.  For example, you might
++    configure SpamAssassin to add an \mailheader{X-Spam-Score} header
++    with between zero and 5 stars depending on the spam score.  Then
++    you can add a line to this variable like:
++
++    \begin{verbatim}
++    X-Spam-Score: [*]{3,5}
++    \end{verbatim}
++
++    This line will match from 3 to 5 stars in the value of this
++    field.
++\end{description}
++
++\subsection{The Bounce Processing Category}
++
++These policies control the automatic bounce processing system in
++Mailman.  Here's an overview of how it works:
++
++When a bounce is received, Mailman tries to extract two pieces of
++information from the message: the address of the member the message
++was intended for, and the severity of the problem causing the bounce.
++The severity can be either \emph{hard} for fatal errors, or
++\emph{soft} for transient errors.  When in doubt, a hard severity is
++used.
++
++If no member address can be extracted from the bounce, then the bounce
++message is usually discarded.  Every member has a \emph{bounce score},
++initialized at zero, and every time we encounter a bounce from a
++member we increment that member's score.  Hard bounces increment by 1
++while soft bounces increment by 0.5.  We only increment the bounce
++score once per day, so even if we receive ten hard bounces from a
++member per day, their score will increase by only 1 for that day.
++
++When a member's bounce score is greater than the \emph{bounce score
++threshold} (see below), the member's subscription is disabled.  Once
++disabled, the member will not receive any postings from the list until
++their membership is explicitly re-enabled, either by the list
++administrator or the user.  However, they will receive occasional
++reminders that their membership has been disabled, and these reminders
++will include information about how to re-enable their membership.  You
++can control both the number of reminders the member will receive and
++the frequency with which these reminders are sent.
++
++There is one other important configuration variable; after a certain
++period of time -- during which no bounces from the member are received
++-- the bounce information is considered stale and discarded.  Thus by
++adjusting this value, and the score threshold, you can control how
++quickly bouncing members are disabled.  You should tune both of these
++to the frequency and traffic volume of your list.
++
++\begin{description}
++
++\item[bounce_processing]
++    Specifies whether or not this list should do automatic bounce
++    processing.
++
++\item[bounce_score_threshold]
++    This is the bounce score above which a member's subscription will
++    be automatically disabled.  When the subscription is re-enabled,
++    their bounce score will be reset to zero.  This value can be a
++    floating point number.
++
++\item[bounce_info_stale_after]
++    Thenumber of days after which a member's bounce information is
++    considered stale.  If no new bounces have been received in the
++    interrim, the bounce score is reset to zero.  This value must be
++    an integer.
++
++\item[bounce_you_are_disabled_warnings]
++    The number of notices a disabled member will receive before their
++    address is removed from the mailing list's roster.  Set this to 0
++    to immediately remove an address from the list once their bounce
++    score exceeds the threshold.  This value must be an integer.
++
++\item[bounce_you_are_disabled_warnings_interval]
++    The number of days between each disabled notification.
++
++\item[bounce_unrecognized_goes_to_list_owner]
++    This variable controls whether unrecognized bounces are discarded,
++    or forwarded on the list administrator.  The bounce detector isn't
++    perfect, although personalization can make it much more accurate.
++    The list owner may want to receive unrecognized bounces so that
++    they can manually disable or remove such members.
++
++\item[bounce_notify_owner_on_disable]
++    This option controls whether or not the list owner is notified
++    when a member's subscription is automatically disabled due to
++    their bounce threshold being reached.
++
++\item[bounce_notify_owner_on_removal]
++    This option controls whether or not the list owner is notified
++    when a member is removed from the list after their disabled
++    notifications have been exhausted.
++\end{description}
++
++\subsection{The Archiving Options Category}
++
++Mailman comes with a built-in web-based archiver called
++\emph{Pipermail}, although it can be configured to use external,
++third party archivers.
++
++\begin{description}
++
++\item[archive]
++    This option tells Mailman whether to archive messages it receives
++    or not, regardless of whether Pipermail or a third party archiver
++    is used.  Turn this off if you don't want to archive messages.
++
++    Note that senders can control whether their own posts are
++    archived, on an individual per-message basis.  If the posted
++    message has a \mailheader{X-No-Archive} header (regardless of
++    value), or a \mailheader{X-Archive} header with a value of
++    \code{No} (case insensitive), then the message will not be
++    archived, although it will be treated as normal in all other
++    ways.
++
++\item[archive_private]
++    Controls whether Pipermail archives are private or public.
++    Private archives require a valid member address and password, or a
++    list administrator password in order to access them.  This
++    option has no effect when a third party archiver is used.
++
++\item[archive_volume_frequency]
++    Controls how Pipermail splits messages in the archive.  The most
++    common option is \emph{Monthly} meaning a new archive volume is
++    started every month.  Very high volume lists may want a shorter
++    frequency (e.g. \emph{Weekly} or \emph{Daily}) where as lower
++    volume lists may want a longer frequency (e.g. \emph{Yearly}).
++    This option has no effect when a third party archiver is used.
++\end{description}
++
++\subsection{The Mail/News Gateway Category}
++
++Mailman has a sophisticated mail-to-news gateway feature.  It can
++independently gate messages from news to mail and vice versa, and can
++even be used to manage moderated newsgroups.
++
++\subsection{The Auto-responder Category}
++\subsection{The Content Filtering Category}
++\subsection{The Topics Category}
++
++\section{Membership Management}
++\section{Tending to Pending Moderator Requests}
++\section{Editing the Public HTML Pages}
++\section{Deleting the Mailing List}
++
++\appendix
++
++\section{This is an Appendix}
++
++To create an appendix in a Python HOWTO document, use markup like
++this:
++
++\begin{verbatim}
++\appendix
++
++\section{This is an Appendix}
++
++To create an appendix in a Python HOWTO document, ....
++
++
++\section{This is another}
++
++Just add another \section{}, but don't say \appendix again.
++\end{verbatim}
++
++
++\end{document}
+Index: doc/mailman-install.tex
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ doc/mailman-install.tex	2006-08-15 15:14:20.000000000 +0800
+@@ -0,0 +1,1804 @@
++\documentclass{howto}
++
++\title{GNU Mailman - Installation Manual}
++\author{Barry Warsaw}
++\authoraddress{\email{barry(at)python.org}}
++
++\date{\today}
++\release{2.1}                   % software release, not documentation
++\setreleaseinfo{}               % empty for final release
++\setshortversion{2.1}           % major.minor only for software
++
++\begin{document}
++
++\maketitle
++
++% This makes the Abstract go on a separate page in the HTML version;
++% if a copyright notice is used, it should go immediately after this.
++%
++\ifhtml
++\chapter*{Front Matter\label{front}}
++\fi
++
++\begin{abstract}
++\noindent
++This document describes how to install GNU Mailman on a POSIX-based system
++such as \UNIX{}, MacOSX, or GNU/Linux.  It will cover basic installation
++instructions, as well as guidelines for integrating Mailman with your web and
++mail servers.
++
++\noindent
++The GNU Mailman website is at \url{http://www.list.org}
++\end{abstract}
++
++% The ugly "%begin{latexonly}" pseudo-environment supresses the table
++% of contents for HTML generation.
++%
++%begin{latexonly}
++\tableofcontents
++%end{latexonly}
++
++
++\section{Installation Requirements}
++
++GNU Mailman works on most POSIX-based systems such as \UNIX{}, MacOSX, or
++GNU/Linux.  It does not currently work on Windows.  You must have a mail
++server that you can send messages to, and a web server that supports the
++CGI/1.1 API.  \ulink{Apache}{http://httpd.apache.org} makes a fine choice for
++web server, and mail servers such as
++\ulink{Postfix}{http://www.postfix.org},
++\ulink{Exim}{http://www.exim.org},
++\ulink{Sendmail}{http://www.sendmail.org}, and
++\ulink{qmail}{http://cr.yp.to/qmail.html} should
++work just fine.
++
++To install Mailman from source, you will need an ANSI C compiler to build
++Mailman's security wrappers.  The
++\ulink{GNU C compiler gcc}{http://gcc.gnu.org} 2.8.1 or later is known
++to work well.
++
++You must have the \ulink{Python}{http://www.python.org} interpreter installed
++somewhere on your system.  Mailman 2.1 requires Python 2.1 or newer, although
++Python 2.3 or newer is recommended.
++
++\section{Set up your system}
++
++Before installing Mailman, you need to prepare your system by adding certain
++users and groups.  You will need to have root privileges to perform the steps
++in this section.
++
++\subsection{Add the group and user}
++
++Mailman requires a unique user and group name which will own its files, and
++under which its processes will run.  Mailman's basic security is based on
++group ownership permissions, so it's important to get this step
++right\footnote{You will be able to check and repair your permissions after
++installation is complete.}.  Typically, you will add a new user and a new
++group, both called \code{mailman}.  The \code{mailman} user must be a member
++of the \code{mailman} group.  Mailman will be installed under the
++\code{mailman} user and group, with the set-group-id (setgid) bit enabled.
++
++If these names are already in use, you can choose different user and group
++names, as long as you remember these when you run \program{configure}.  If you
++choose a different unique user name, you will have to specify this with
++\program{configure}'s \longprogramopt{with-username} option, and if you choose
++a different group name, you will have to specify this with
++\program{configure}'s \longprogramopt{with-groupname} option.
++
++On Linux systems, you can use the following commands to create these
++accounts.  Check your system's manual pages for details:
++
++\begin{verbatim}
++    % groupadd mailman
++    % useradd -c''GNU Mailman'' -s /no/shell -d /no/home -g mailman mailman
++\end{verbatim}
++
++\subsection{Create the installation directory\label{create-install-dir}}
++Typically, Mailman is installed into a single directory, which includes both
++the Mailman source code and the run-time list and archive data.  It is
++possible to split the static program files from the variable data files and
++install them in separate directories.  This section will describe the
++available options.
++
++The default is to install all of Mailman to
++\file{/usr/local/mailman}\footnote{This is the default for Mailman 2.1.
++Earlier versions of Mailman installed everything under \file{/home/mailman} by
++default.}.  You can change this base installation directory (referred to here
++as \var{\$prefix}) by specifying the directory with the
++\longprogramopt{prefix} \program{configure} option.  If you're upgrading from
++a previous version of Mailman, you may want to use the \longprogramopt{prefix}
++option unless you move your mailing lists.
++
++\begin{notice}[warning]
++You cannot install Mailman on a filesystem that is mounted with the
++\code{nosuid} option.  This will break Mailman, which relies on setgid
++programs for its security.  If this describes your environment, simply install
++Mailman in a location that allows setgid programs.
++\end{notice}
++
++Make sure the installation directory is set to group \code{mailman} (or
++whatever you're going to specify with \longprogramopt{with-groupname}) and has
++the setgid bit set\footnote{BSD users should see the \ref{bsd-issues} section
++for additional information.}.  You probably also want to guarantee that this
++directory is readable and executable by everyone.  For example, these shell
++commands will accomplish this:
++
++\begin{verbatim}
++    % cd $prefix
++    % chgrp mailman .
++    % chmod a+rx,g+ws .
++\end{verbatim}
++
++You are now ready to configure and install the Mailman software.
++
++\section{Build and install Mailman\label{building}}
++
++\subsection{Run \program{configure}}
++
++Before you can install Mailman, you must run \program{configure} to set
++various installation options your system might need.
++
++\begin{notice}[note]
++Take special note of the \longprogramopt{with-mail-gid} and
++\longprogramopt{with-cgi-gid} options below.  You will probably need to use
++these.
++\end{notice}
++
++You should \strong{not} be root while performing the steps in this section.
++Do them under your own login, or whatever account you typically use to install
++software.  You do not need to do these steps as user \code{mailman}, but you
++could.  However, make sure that the login used is a member of the
++\code{mailman} group as that that group has write permissions to the
++\var{\$prefix} directory made in the previous step.  You must also have
++permission to create a setgid file in the file system where it resides (NFS
++and other mounts can be configured to inhibit setgid settings).
++
++If you've installed other GNU software, you should be familiar with the
++\program{configure} script.  Usually you can just \program{cd} to the
++directory you unpacked the Mailman source tarball into, and run
++\program{configure} with no arguments:
++
++\begin{verbatim}
++  % cd mailman-<version>
++  % ./configure
++  % make install
++\end{verbatim}
++
++The following options allow you to customize your Mailman
++installation.
++
++\begin{description}
++\item[\longprogramopt{prefix}=\var{dir}]
++    Standard GNU configure option which changes the base directory that
++    Mailman is installed into.  By default \var{\$prefix} is
++    \file{/usr/local/mailman}.  This directory must already exist, and be set
++    up as described in \ref{create-install-dir}.
++
++\item[\longprogramopt{exec-prefix}=\var{dir}]
++    Standard GNU configure option which lets you specify a different
++    installation directory for architecture dependent binaries.
++
++\item[\longprogramopt{with-var-prefix}=\var{dir}]
++    Store mutable data under \var{dir} instead of under the \var{\$prefix} or
++    \var{\$exec_prefix}.  Examples of such data include the list archives and
++    list settings database.
++
++\item[\longprogramopt{with-python}=\file{/path/to/python}]
++    Specify an alternative Python interpreter to use for the wrapper programs.
++    The default is to use the interpreter found first on your shell's
++    \var{\$PATH}.
++
++\item[\longprogramopt{with-username}=\var{username-or-uid}]
++    Specify a different username than \code{mailman}.  The value of this
++    option can be an integer user id or a user name.  Be sure your
++    \var{\$prefix} directory is owned by this user.
++
++\item[\longprogramopt{with-groupname}=\var{groupname-or-gid}]
++    Specify a different groupname than \code{mailman}.  The value of this
++    option can be an integer group id or a group name.  Be sure your
++    \var{\$prefix} directory is group-owned by this group.
++
++\item[\longprogramopt{with-mail-gid}=\var{group-or-groups}]
++    Specify an alternative group for running scripts via the mail wrapper.
++    \var{group-or-groups} can be a list of one or more integer group ids or
++    symbolic group names.  The first value in the list that resolves to an
++    existing group is used.  By default, the value is the list \code{mailman},
++    \code{other}, \code{mail}, and \code{daemon}.
++
++    \begin{notice}[note]
++    This is highly system dependent and you must get this right, because the
++    group id is compiled into the mail wrapper program for added security.  On
++    systems using \program{sendmail}, the \file{sendmail.cf} configuration
++    file designates the group id of \program{sendmail} processes using the
++    \var{DefaultUser} option.  (If commented out, it still may be indicating
++    the default...)
++    \end{notice}
++
++    Check your mail server's documentation and configuration files to find the
++    right value for this switch.
++
++\item[\longprogramopt{with-cgi-gid}=\var{group-or-groups}]
++    Specify an alternative group for running scripts via the CGI wrapper.
++    \var{group-or-groups} can be a list of one or more integer group ids or
++    symbolic group names.  The first value in the list that resolves to an
++    existing group is used.  By default, the value is the the list
++    \code{www}, \code{www-data}, and \code{nobody}.
++
++    \begin{notice}[note]
++    The proper value for this is dependent on your web server configuration.
++    You must get this right, because the group id is compiled into the CGI
++    wrapper program for added security, and no Mailman CGI scripts will run if
++    this is incorrect.
++    \end{notice}
++
++    If you're using Apache, check the values for the \var{Group} option in
++    your \file{httpd.conf} file.
++
++\item[\longprogramopt{with-cgi-ext}=\var{extension}]
++    Specify an extension for cgi-bin programs.  The CGI wrappers placed in
++    \file{\var{\$prefix}/cgi-bin} will have this extension (some web servers
++    require an extension).  \var{extension} must include the leading dot.
++
++\item[\longprogramopt{with-mailhost}=\var{hostname}]
++    Specify the fully qualified host name part for outgoing email.  After the
++    installation is complete, this value can be overriden in
++    \file{\var{\$prefix}/Mailman/mm_cfg.py}.
++
++\item[\longprogramopt{with-urlhost}=\var{hostname}]
++    Specify the fully qualified host name part of urls.  After the
++    installation is complete, this value can be overriden in
++    \file{\var{\$prefix}/Mailman/mm_cfg.py}.
++
++\item[\longprogramopt{with-gcc}=no]
++    Don't use gcc, even if it is found.  In this case, \program{cc} must be
++    found on your \var{\$PATH}.
++
++\end{description}
++
++\subsection{Make and install}
++
++Once you've run \program{configure}, you can simply run \program{make}, then
++\program{make install} to build and install Mailman.
++
++\section{Check your installation}
++
++After you've run \program{make install}, you should check that your
++installation has all the correct permissions and group ownerships by running
++the \program{check_perms} script.  First change to the installation
++(i.e. \var{\$prefix}) directory, then run the \program{bin/check_perms}
++program.  Don't try to run bin/check_perms from the source directory; it will
++only run from the installation directory.
++
++If this reports no problems, then it's very likely <wink> that your
++installation is set up correctly.  If it reports problems, then you can either
++fix them manually, re-run the installation, or use \program{bin/check_perms}
++to fix the problems (probably the easiest solution):
++
++\begin{itemize}
++\item You need to become the user that did the installation, and that owns all
++      the files in \var{\$prefix}, or root.
++
++\item Run \program{bin/check_perms -f}
++
++\item Repeat previous step until no more errors are reported!
++\end{itemize}
++
++\begin{notice}[warning]
++If you're running Mailman on a shared multiuser system, and you have mailing
++lists with private archives, you may want to hide the private archive
++directory from other users on your system.  In that case, you should drop the
++other execute permission (o-x) from the \file{archives/private} directory.
++However, the web server process must be able to follow the symbolic link in
++public directory, otherwise your public Pipermail archives will not work.  To
++set this up, become root and run the following commands:
++
++\begin{verbatim}
++# cd <prefix>/archives
++# chown <web-server-user> private
++# chmod o-x private
++\end{verbatim}
++
++You need to know what user your web server runs as.  It may be \code{www},
++\code{apache}, \code{httpd} or \code{nobody}, depending on your server's
++configuration.
++\end{notice}
++
++\section{Set up your web server}
++
++Congratulations!  You've installed the Mailman software.  To get everything
++running you need to hook Mailman up to both your web server and your mail
++system.
++
++If you plan on running your mail and web servers on different machines,
++sharing Mailman installations via NFS, be sure that the clocks on those two
++machines are synchronized closely.  You might take a look at the file
++\file{Mailman/LockFile.py}; the constant \var{CLOCK_SLOP} helps the locking
++mechanism compensate for clock skew in this type of environment.
++
++This section describes some of the things you need to do to connect Mailman's
++web interface to your web server.  The instructions here are somewhat geared
++toward the Apache web server, so you should consult your web server
++documentation for details.
++
++You must configure your web server to enable CGI script permission in the
++\file{\var{\$prefix}/cgi-bin} to run CGI scripts.  The line you should add
++might look something like the following, with the real absolute directory
++substituted for \var{\$prefix}, of course:
++
++\begin{verbatim}
++    Exec        /mailman/*      $prefix/cgi-bin/*
++\end{verbatim}
++% $ - emacs turd
++
++  or:
++
++\begin{verbatim}
++    ScriptAlias /mailman/       $prefix/cgi-bin/
++\end{verbatim}
++% $ - emacs turd
++
++\begin{notice}[warning]
++You want to be very sure that the user id under which your CGI scripts run is
++\strong{not} in the \code{mailman} group you created above, otherwise private
++archives will be accessible to anyone.
++\end{notice}
++
++Copy the Mailman, Python, and GNU logos to a location accessible to your web
++server.  E.g. with Apache, you've usually got an \file{icons} directory that
++you can drop the images into.  For example:
++
++\begin{verbatim}
++    % cp $prefix/icons/*.{jpg,png} /path/to/apache/icons
++\end{verbatim}
++
++You then want to add a line to your \file{\var{\$prefix}/Mailman/mm_cfg.py}
++file which sets the base URL for the logos.  For example:
++
++\begin{verbatim}
++  IMAGE_LOGOS = '/images/'
++\end{verbatim}
++
++The default value for \var{IMAGE_LOGOS} is \file{/icons/}.  Read the comment
++in \file{Defaults.py.in} for details.
++
++Configure your web server to point to the Pipermail public mailing list
++archives.  For example, in Apache:
++
++\begin{verbatim}
++    Alias   /pipermail/     $varprefix/archives/public/
++\end{verbatim}
++% $ - emacs turd
++
++where \var{\$varprefix} is usually \var{\$prefix} unless you've used the
++\longprogramopt{with-var-prefix} option to \program{configure}.  Also be
++sure to configure your web server to follow symbolic links in this directory,
++otherwise public Pipermail archives won't be accessible.  For Apache users,
++consult the \var{FollowSymLinks} option.
++
++If you're going to be supporting internationalized public archives, you will
++probably want to turn off any default charset directive for the Pipermail
++directory, otherwise your multilingual archive pages won't show up correctly.
++Here's an example for Apache, based on the standard installation directories:
++
++\begin{verbatim}
++    <Directory "/usr/local/mailman/archives/public/">
++        AddDefaultCharset Off
++    </Directory>
++\end{verbatim}
++
++Now restart your web server.
++
++\section{Set up your mail server\label{mail-server}}
++
++This section describes some of the things you need to do to connect Mailman's
++email interface to your mail server.  The instructions here are different for
++each mail server; if your mail server is not described in the following
++subsections, try to generalize from the existing documentation, and consider
++contributing documentation updates to the Mailman developers.
++
++\subsection{Using the Postfix mail server}
++
++Mailman should work pretty much out of the box with a standard Postfix
++installation.  It has been tested with various Postfix versions up to and
++including Postfix 2.1.5.
++
++In order to support Mailman's optional VERP delivery, you will want to disable
++\code{luser_relay} (the default) and you will want to set
++\code{recipient_delimiter} for extended address semantics.  You should comment
++out any \code{luser_relay} value in your \file{main.cf} and just go with the
++defaults.  Also, add this to your \file{main.cf} file:
++
++\begin{verbatim}
++    recipient_delimiter = +
++\end{verbatim}
++
++Using \samp{+} as the delimiter works well with the default values for
++\var{VERP_FORMAT} and \var{VERP_REGEXP} in \file{Defaults.py}.
++
++When attempting to deliver a message to a non-existent local address, Postfix
++may return a 450 error code.  Since this is a transient error code, Mailman
++will continue to attempt to deliver the message for
++\var{DELIVERY_RETRY_PERIOD} -- 5 days by default.  You might want to set
++Postfix up so that it returns permanent error codes for non-existent local
++users by adding the following to your \file{main.cf} file:
++
++\begin{verbatim}
++    unknown_local_recipient_reject_code = 550
++\end{verbatim}
++
++Finally, if you are using Postfix-style virtual domains, read the section on
++virtual domain support below.
++
++\subsubsection{Integrating Postfix and Mailman}
++
++You can integrate Postfix and Mailman such that when new lists are created, or
++lists are removed, Postfix's alias database will be automatically updated.
++The following are the steps you need to take to make this work.
++
++In the description below, we assume that you've installed Mailman in the
++default location, i.e. \file{/usr/local/mailman}.  If that's not the case,
++adjust the instructions according to your use of \program{configure}'s
++\longprogramopt{prefix} and \longprogramopt{with-var-prefix} options.
++
++\begin{notice}[note]
++If you are using virtual domains and you want Mailman to honor your virtual
++domains, read the \ref{postfix-virtual} section below first!
++\end{notice}
++
++\begin{itemize}
++\item Add this to the bottom of the \file{\var{\$prefix}/Mailman/mm_cfg.py}
++      file:
++
++      \begin{verbatim}
++        MTA = 'Postfix'
++      \end{verbatim}
++
++      The MTA variable names a module in the \file{Mailman/MTA} directory
++      which contains the mail server-specific functions to be executed when a
++      list is created or removed.
++
++\item Look at the \file{Defaults.py} file for the variables
++      \var{POSTFIX_ALIAS_CMD} and \var{POSTFIX_MAP_CMD} command.  Make sure
++      these point to your \program{postalias} and \program{postmap} programs
++      respectively.  Remember that if you need to make changes, do it in
++      \file{mm_cfg.py}.
++
++\item Run the \program{bin/genaliases} script to initialize your
++      \file{aliases} file.
++
++      \begin{verbatim}
++        % cd /usr/local/mailman
++        % bin/genaliases
++      \end{verbatim}
++
++      Make sure that the owner of the \file{data/aliases} and
++      \file{data/aliases.db} file is \code{mailman}, that the group owner
++      for those files is \code{mailman}, or whatever user and group you used
++      in the configure command, and that both files are group writable:
++
++      \begin{verbatim}
++        % su
++        % chown mailman:mailman data/aliases*
++        % chmod g+w data/aliases*
++      \end{verbatim}
++
++\item Hack your Postfix's \file{main.cf} file to include the following path in
++      your \var{alias_maps} variable:
++
++      \begin{verbatim}
++          /usr/local/mailman/data/aliases
++      \end{verbatim}
++
++      Note that there should be no trailing \code{.db}.  Do not include this
++      in your \var{alias_database} variable.  This is because you do not want
++      Postfix's \program{newaliases} command to modify Mailman's
++      \file{aliases.db} file, but you do want Postfix to consult
++      \file{aliases.db} when looking for local addresses.
++
++      You probably want to use a \code{hash:} style database for this entry.
++      Here's an example:
++
++      \begin{verbatim}
++        alias_maps = hash:/etc/postfix/aliases,
++            hash:/usr/local/mailman/data/aliases
++      \end{verbatim}
++
++\item When you configure Mailman, use the
++      \longprogramopt{with-mail-gid=mailman} switch; this will be the default
++      if you configured Mailman after adding the \code{mailman} owner.
++      Because the owner of the \file{aliases.db} file is \code{mailman},
++      Postfix will execute Mailman's wrapper program as uid and gid
++      \code{mailman}.
++
++\end{itemize}
++
++That's it!  One caveat: when you add or remove a list, the \file{aliases.db}
++file will updated, but it will not automatically run \program{postfix reload}.
++This is because you need to be root to run this and suid-root scripts are not
++secure.  The only effect of this is that it will take about a minute for
++Postfix to notice the change to the \file{aliases.db} file and update its
++tables.
++
++\subsubsection{Virtual domains\label{postfix-virtual}}
++
++Postfix 2.0 supports ``virtual alias domains'', essentially what used to be
++called ``Postfix-style virtual domains'' in earlier Postfix versions.  To make
++virtual alias domains work with Mailman, you need to do some setup in both
++Postfix and Mailman.  Mailman will write all virtual alias mappings to a file
++called, by default, \file{/usr/local/mailman/data/virtual-mailman}.  It will
++also use \program{postmap} to create the \program{virtual-mailman.db} file
++that Postfix will actually use.
++
++First, you need to set up the Postfix virtual alias domains as described in
++the Postfix documentation (see Postfix's \code{virtual(5)} manpage).  Note
++that it's your responsibility to include the \code{virtual-alias.domain
++anything} line as described manpage; Mailman will not include this line in
++\file{virtual-mailman}.  You are highly encouraged to make sure your virtual
++alias domains are working properly before integrating with Mailman.
++
++Next, add a path to Postfix's \var{virtual_alias_maps} variable, pointing to
++the virtual-mailman file, e.g.:
++
++\begin{verbatim}
++    virtual_alias_maps = <your normal virtual alias files>,
++        hash:/usr/local/mailman/data/virtual-mailman
++\end{verbatim}
++
++assuming you've installed Mailman in the default location.  If you're using an
++older version of Postfix which doesn't have the \var{virtual_alias_maps}
++variable, use the \var{virtual_maps} variable instead.
++
++Next, in your \file{mm_cfg.py} file, you will want to set the variable
++\var{POSTFIX_STYLE_VIRTUAL_DOMAINS} to the list of virtual domains that Mailman
++should update.  This may not be all of the virtual alias domains that your
++Postfix installation supports!  The values in this list will be matched
++against the \var{host_name} attribute of mailing lists objects, and must be an
++exact match.
++
++Here's an example.  Say that Postfix is configured to handle the virtual
++domains \code{dom1.ain}, \code{dom2.ain}, and \code{dom3.ain}, and further
++that in your \file{main.cf} file you've got the following settings:
++
++\begin{verbatim}
++    myhostname = mail.dom1.ain
++    mydomain = dom1.ain
++    mydestination = $myhostname, localhost.$mydomain
++    virtual_alias_maps =
++        hash:/some/path/to/virtual-dom1,
++        hash:/some/path/to/virtual-dom2,
++        hash:/some/path/to/virtual-dom2
++\end{verbatim}
++
++If in your \file{virtual-dom1} file, you've got the following lines:
++
++\begin{verbatim}
++    dom1.ain  IGNORE
++    @dom1.ain @mail.dom1.ain
++\end{verbatim}
++
++this tells Postfix to deliver anything addressed to \code{dom1.ain} to the
++same mailbox at \code{mail.dom1.com}, its default destination.
++
++In this case you would not include \code{dom1.ain} in
++\var{POSTFIX_STYLE_VIRTUAL_DOMAINS} because otherwise Mailman will write
++entries for mailing lists in the dom1.ain domain as
++
++\begin{verbatim}
++    mylist at dom1.ain         mylist
++    mylist-request at dom1.ain mylist-request
++    # and so on...
++\end{verbatim}
++
++The more specific entries trump your more general entries, thus breaking the
++delivery of any \code{dom1.ain} mailing list.
++
++However, you would include \code{dom2.ain} and \code{dom3.ain} in
++\file{mm_cfg.py}:
++
++\begin{verbatim}
++    POSTFIX_STYLE_VIRTUAL_DOMAINS = ['dom2.ain', 'dom3.ain']
++\end{verbatim}
++
++Now, any list that Mailman creates in either of those two domains, will have
++the correct entries written to \file{/usr/local/mailman/data/virtual-mailman}.
++
++As above with the \file{data/aliases*} files, you want to make sure that both
++\file{data/virtual-mailman} and \file{data/virtual-mailman.db} are user and
++group owned by \code{mailman}.
++
++\subsubsection{An alternative approach}
++
++Fil \email{fil at rezo.net} has an alternative approach based on virtual maps and
++regular expressions, as described at:
++
++\begin{itemize}
++\item (French)  \url{http://listes.rezo.net/comment.php}
++\item (English) \url{http://listes.rezo.net/how.php}
++\end{itemize}
++
++This is a good (and simpler) alternative if you don't mind exposing an
++additional hostname in the domain part of the addresses people will use to
++contact your list.  I.e. if people should use \code{mylist at lists.dom.ain}
++instead of \code{mylist at dom.ain}.
++
++\subsection{Using the Exim mail server}
++
++\begin{notice}[note]
++This section is derived from Nigel Metheringham's ``HOWTO - Using Exim and
++Mailman together'', which covers Mailman 2.0.x and Exim 3.  It has been
++updated to cover Mailman 2.1 and Exim 4.  The original document is here:
++\url{http://www.exim.org/howto/mailman.html}.
++\end{notice}
++
++There is no Mailman configuration needed other than the standard options
++detailed in the Mailman install documentation.  The Exim configuration is
++transparent to Mailman.  The user and group settings for Mailman must match
++those in the config fragments given below.
++
++\subsubsection{Exim configuration}
++
++The Exim configuration is built so that a list created within Mailman
++automatically appears to Exim without the need for defining any additional
++aliases.
++
++The drawback of this configuration is that it will work poorly on systems
++supporting lists in several different mail domains.  While Mailman handles
++virtual domains, it does not yet support having two distinct lists with the
++same name in different virtual domains, using the same Mailman installation.
++This will eventually change.  (But see below for a variation on this scheme
++that should accommodate virtual domains better.)
++
++The configuration file excerpts below are for use in an already functional
++Exim configuration, which accepts mail for the domain in which the list
++resides.  If this domain is separate from the others handled by your Exim
++configuration, then you'll need to:
++
++\begin{itemize}
++\item add the list domain, ``my.list.domain'' to \var{local_domains}
++
++\item add a ``domains=my.list.domain'' option to the director (router) for the
++      list
++
++\item (optional) exclude that domain from your other directors (routers)
++\end{itemize}
++
++\begin{notice}[note]
++The instructions in this document should work with either Exim 3 or Exim 4.
++In Exim 3, you must have a \var{local_domains} configuration setting; in Exim
++4, you most likely have a \var{local_domains} domainlist.  If you don't, you
++probably know what you're doing and can adjust accordingly.  Similarly, in
++Exim 4 the concept of ``directors'' has disappeared -- there are only routers
++now.  So if you're using Exim 4, whenever this document says ``director'',
++read ``router''.
++\end{notice}
++
++Whether you are using Exim 3 or Exim 4, you will need to add some macros to
++the main section of your Exim config file.  You will also need to define one
++new transport.  With Exim 3, you'll need to add a new director; with Exim 4, a
++new router plays the same role.
++
++Finally, the configuration supplied here should allow co-habiting Mailman 2.0
++and 2.1 installations, with the proviso that you'll probably want to use
++\code{mm21} in place of \code{mailman} -- e.g., \var{MM21_HOME},
++\var{mm21_transport}, etc.
++
++\subsubsection{Main configuration settings}
++
++First, you need to add some macros to the top of your Exim config file.  These
++just make the director (router) and transport below a bit cleaner.  Obviously,
++you'll need to edit these based on how you configured and installed Mailman.
++
++\begin{verbatim}
++    # Home dir for your Mailman installation -- aka Mailman's prefix
++    # directory.
++    MAILMAN_HOME=/usr/local/mailman
++    MAILMAN_WRAP=MAILMAN_HOME/mail/mailman
++
++    # User and group for Mailman, should match your --with-mail-gid
++    # switch to Mailman's configure script.
++    MAILMAN_USER=mailman
++    MAILMAN_GROUP=mailman
++\end{verbatim}
++
++\subsubsection{Transport for Exim 3\label{exim3-transport}}
++
++Add this to the transports section of your Exim config file,
++i.e. somewhere between the first and second ``end'' line:
++
++\begin{verbatim}
++  mailman_transport:
++    driver = pipe
++    command = MAILMAN_WRAP \
++              '${if def:local_part_suffix \
++                    {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
++                    {post}}' \
++              $local_part
++    current_directory = MAILMAN_HOME
++    home_directory = MAILMAN_HOME
++    user = MAILMAN_USER
++    group = MAILMAN_GROUP
++\end{verbatim}
++
++\subsubsection{Director for Exim 3}
++
++If you're using Exim 3, you'll need to add the following director to your
++config file (directors go between the second and third ``end'' lines).  Also,
++don't forget that order matters -- e.g. you can make Mailman lists take
++precedence over system aliases by putting this director in front of your
++aliasfile director, or vice-versa.
++
++\begin{verbatim}
++  # Handle all addresses related to a list 'foo': the posting address.
++  # Automatically detects list existence by looking
++  # for lists/$local_part/config.pck under MAILMAN_HOME.
++  mailman_director:
++    driver = smartuser
++    require_files = MAILMAN_HOME/lists/$local_part/config.pck
++    suffix_optional
++    suffix = -bounces : -bounces+* : \
++             -confirm+* : -join : -leave : \
++             -owner : -request : -admin
++    transport = mailman_transport
++\end{verbatim}
++
++\subsubsection{Router for Exim 4}
++
++In Exim 4, there's no such thing as directors -- you need to add a new router
++instead.  Also, the canonical order of the configuration file was changed so
++routers come before transports, so the router for Exim 4 comes first here.
++Put this router somewhere after the ``begin routers'' line of your config
++file, and remember that order matters.
++
++\begin{verbatim}
++  mailman_router:
++    driver = accept
++    require_files = MAILMAN_HOME/lists/$local_part/config.pck
++    local_part_suffix_optional
++    local_part_suffix = -bounces : -bounces+* : \
++                        -confirm+* : -join : -leave : \
++                        -owner : -request : -admin
++    transport = mailman_transport
++\end{verbatim}
++% $ - emacs turds
++
++\subsubsection{Transports for Exim 4}
++
++The transport for Exim 4 is the same as for Exim 3 (see \ref{exim3-transport};
++just copy the transport given above to somewhere under the ``begin
++transports'' line of your Exim config file.
++
++\subsubsection{Additional notes}
++
++Exim should be configured to allow reasonable volume -- e.g. don't set
++\var{max_recipients} down to a silly value -- and with normal degrees of
++security -- specifically, be sure to allow relaying from 127.0.0.1, but pretty
++much nothing else.  Parallel deliveries and other tweaks can also be used if
++you like; experiment with your setup to see what works.  Delay warning
++messages should be switched off or configured to only happen for non-list
++mail, unless you like receiving tons of mail when some random host is down.
++
++\subsubsection{Problems}
++
++\begin{itemize}
++
++\item Mailman will send as many \code{MAIL FROM}/\code{RCPT TO} as it needs.
++      It may result in more than 10 or 100 messages sent in one connection,
++      which will exceed the default value of Exim's
++      \var{smtp_accept_queue_per_connection} value.  This is bad because it
++      will cause Exim to switch into queue mode and severely delay delivery of
++      your list messages.  The way to fix this is to set Mailman's
++      \var{SMTP_MAX_SESSIONS_PER_CONNECTION} (in
++      \file{\var{\$prefix}/Mailman/mm_cfg.py}) to a smaller value than Exim's
++      \var{smtp_accept_queue_per_connection}.
++
++\item Mailman should ignore Exim delay warning messages, even though Exim
++      should never send this to list messages.  Mailman 2.1's general bounce
++      detection and VERP support should greatly improve the bounce detector's
++      hit rates.
++
++\item List existence is determined by the existence of a \file{config.pck}
++      file for a list.  If you delete lists by foul means, be aware of this.
++
++\item If you are getting Exim or Mailman complaining about user ids when you
++      send mail to a list, check that the \var{MAILMAN_USER} and
++      \var{MAILMAN_GROUP} match those of Mailman itself (i.e. what were used
++      in the \program{configure} script).  Also make sure you do not have
++      aliases in the main alias file for the list.
++\end{itemize}
++
++\subsubsection{Receiver Verification}
++
++Exim's receiver verification feature is very useful -- it lets Exim reject
++unrouteable addresses at SMTP time.  However, this is most useful for
++externally-originating mail that is addressed to mail in one of your local
++domains.  For Mailman list traffic, mail originates on your server, and is
++addressed to random external domains that are not under your control.
++Furthermore, each message is addressed to many recipients
++-- up to 500 if you use Mailman's default configuration and don't tweak
++\var{SMTP_MAX_RCPTS}.
++
++Doing receiver verification on Mailman list traffic is a recipe for trouble.
++In particular, Exim will attempt to route every recipient addresses in
++outgoing Mailman list posts.  Even though this requires nothing more than a
++few DNS lookups for each address, it can still introduce significant delays.
++Therefore, you should disable recipient verification for Mailman traffic.
++
++Under Exim 3, put this in your main configuration section:
++
++\begin{verbatim}
++    receiver_verify_hosts = !127.0.0.1
++\end{verbatim}
++
++Under Exim 4, this is probably already taken care of for you by the default
++recipient verification ACL statement (in the \code{RCPT TO} ACL):
++
++\begin{verbatim}
++  accept  domains       = +local_domains
++          endpass
++          message       = unknown user
++          verify        = recipient
++\end{verbatim}
++
++which only does recipient verification on addresses in your domain.  (That's
++not exactly the same as doing recipient verification only on messages coming
++from non-127.0.0.1 hosts, but it should do the trick for Mailman.)
++
++\subsubsection{SMTP Callback}
++
++Exim's SMTP callback feature is an even more powerful way to detect bogus
++sender addresses than normal sender verification.  Unfortunately, lots of
++servers send bounce messages with a bogus address in the header, and there are
++plenty that send bounces with bogus envelope senders (even though they're
++supposed to just use an empty envelope sender for bounces).
++
++In order to ensure that Mailman can disable/remove bouncing addresses, you
++generally want to receive bounces for Mailman lists, even if those bounces are
++themselves not bounceable.  Thus, you might want to disable SMTP callback on
++bounce messages.
++
++With Exim 4, you can accomplish this using something like the following in
++your \code{RCPT TO} ACL:
++
++\begin{verbatim}
++  # Accept bounces to lists even if callbacks or other checks would fail
++  warn     message      = X-WhitelistedRCPT-nohdrfromcallback: Yes
++           condition    = \
++           ${if and {{match{$local_part}{(.*)-bounces\+.*}} \
++                     {exists {MAILMAN_HOME/lists/$1/config.pck}}} \
++                {yes}{no}}
++                {yes}{no}}
++
++  accept   condition    = \
++           ${if and {{match{$local_part}{(.*)-bounces\+.*}} \
++                     {exists {MAILMAN_HOME/lists/$1/config.pck}}} \
++                {yes}{no}}
++                {yes}{no}}
++
++  # Now, check sender address with SMTP callback.
++  deny   !verify = sender/callout=90s
++\end{verbatim}
++
++If you also do SMTP callbacks on header addresses, you'll want something like
++this in your \code{DATA} ACL:
++
++\begin{verbatim}
++  deny   !condition = $header_X-WhitelistedRCPT-nohdrfromcallback:
++         !verify = header_sender/callout=90s
++\end{verbatim}
++% $ - emacs turd
++
++\subsubsection{Doing VERP with Exim and Mailman}
++
++VERP will send one email, with a separate envelope sender (return path), for
++each of your subscribers -- read the information in
++\file{\var{\$prefix}/Mailman/Defaults.py} for the options that start with VERP.
++In a nutshell, all you need to do to enable VERP with Exim is to add these lines to \file{\var{\$prefix}/Mailman/mm_cfg.py}:
++
++\begin{verbatim}
++    VERP_PASSWORD_REMINDERS = Yes
++    VERP_PERSONALIZED_DELIVERIES = Yes
++    VERP_DELIVERY_INTERVAL = Yes
++    VERP_CONFIRMATIONS = Yes
++\end{verbatim}
++
++(The director (router) above is smart enough to deal with VERP bounces.)
++
++\subsubsection{Virtual Domains}
++
++One approach to handling virtual domains is to use a separate Mailman
++installation for each virtual domain.  Currently, this is the only way to have
++lists with the same name in different virtual domains handled by the same
++machine.
++
++In this case, the \var{MAILMAN_HOME} and \var{MAILMAN_WRAP} macros are useless
++-- you can remove them.  Change your director (router) to something like this:
++
++\begin{verbatim}
++  require_files = /virtual/${domain}/mailman/lists/${lc:$local_part}/config.pck
++\end{verbatim}
++% $ - emacs turd
++
++and change your transport like this:
++
++\begin{verbatim}
++  command = /virtual/${domain}/mailman/mail/mailman \
++            ${if def:local_part_suffix \
++                 {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}}
++                 {post}} \
++              $local_part
++  current_directory = /virtual/${domain}/mailman
++  home_directory = /virtual/${domain}/mailman
++\end{verbatim}
++% $ - emacs turd
++
++\subsubsection{List Verification}
++
++This is how a set of address tests for the Exim lists look on a working
++system.  The list in question is \email{quixote-users at mems-exchange.org}, and
++these commands were run on the \code{mems-exchange.org} mail server ("\% "
++indicates the Unix shell prompt):
++
++\begin{verbatim}
++  % exim -bt quixote-users
++  quixote-users at mems-exchange.org
++    router = mailman_main_router, transport = mailman_transport
++
++  % exim -bt quixote-users-request
++  quixote-users-request at mems-exchange.org
++    router = mailman_router, transport = mailman_transport
++
++  % exim -bt quixote-users-bounces
++  quixote-users-bounces at mems-exchange.org
++    router = mailman_router, transport = mailman_transport
++
++  % exim -bt quixote-users-bounces+luser=example.com
++  quixote-users-bounces+luser=example.com at mems-exchange.org
++    router = mailman_router, transport = mailman_transport
++\end{verbatim}
++
++If your \program{exim -bt} output looks something like this, that's a start:
++at least it means Exim will pass the right messages to the right Mailman
++commands.  It by no means guarantees that your Exim/Mailman installation is
++functioning perfectly, though!
++
++\subsubsection{Document History}
++
++Originally written by Nigel Metheringham \email{postmaster at exim.org}.  Updated
++by Marc Merlin \email{marc_soft at merlins.org} for Mailman 2.1, Exim 4.
++Overhauled/reformatted/clarified/simplified by Greg Ward
++\email{gward at python.net}.
++
++\subsection{Using the Sendmail mail server}
++
++\begin{notice}[warning]
++You may be tempted to set the \var{DELIVERY_MODULE} configuration variable in
++\file{mm_cfg.py} to \code{'Sendmail'} when using the Sendmail mail server.
++\strong{Don't}.  The \file{Sendmail.py} module is misnamed -- it's really a
++command line based message handoff scheme as opposed to the SMTP scheme used
++in \file{SMTPDirect.py} (the default).  \file{Sendmail.py} has known security
++holes and is provided as a proof-of-concept only\footnote{In fact, in later
++versions of Mailman, this module is explicitly sabotaged.  You have to know
++what you're doing in order to re-enable it.}.  If you are having problems
++using \file{SMTPDirect.py} fix those instead of using \file{Sendmail.py}, or
++you may open your system up to security exploits.
++\end{notice}
++
++\subsubsection{Sendmail ``smrsh'' compatibility}
++
++Many newer versions of Sendmail come with a restricted execution utility
++called ``smrsh'', which limits the executables that Sendmail will allow to be
++used as mail programs.  You need to explicitly allow Mailman's wrapper program
++to be used with smrsh or Mailman will not work.  If mail is not getting
++delivered to Mailman's wrapper program and you're getting an ``operating
++system error'' in your mail syslog, this could be your problem.
++
++One good way of enabling this is:
++
++\begin{itemize}
++    \item Find out where your Sendmail executes its smrsh wrapper
++
++          \begin{verbatim}
++            % grep smrsh /etc/mail/sendmail.cf
++          \end{verbatim}
++
++    \item Figure out where smrsh expects symlinks for allowable mail
++          programs.  At the very beginning of the following output you will
++          see a full path to some directory, e.g. \file{/var/adm/sm.bin} or
++          similar:
++
++          \begin{verbatim}
++            % strings $path_to_smrsh | less
++          \end{verbatim}
++
++    \item cd into \file{/var/adm/sm.bin}, or where ever it happens to reside
++          on your system -- alternatives include \file{/etc/smrsh},
++          \file{/var/smrsh} and \file{/usr/local/smrsh}.
++
++          \begin{verbatim}
++            % cd /var/adm/sm.bin
++          \end{verbatim}
++
++    \item Create a symbolic link to Mailman's wrapper program:
++
++          \begin{verbatim}
++            % ln -s /usr/local/mailman/mail/mailman mailman
++          \end{verbatim}
++\end{itemize}
++
++\subsubsection{Integrating Sendmail and Mailman}
++
++David Champion has contributed a recipe for more closely integrating Sendmail
++and Mailman, such that Sendmail will automatically recognize and deliver to
++new mailing lists as they are created, without having to manually edit alias
++tables.
++
++In the \file{contrib} directory of Mailman's source distribution, you will
++find four files:
++
++\begin{itemize}
++\item \file{mm-handler.readme} - an explanation of how to set everything up
++\item \file{mm-handler}        - the mail delivery agent (MDA)
++\item \file{mailman.mc}        - a toy configuration file sample
++\item \file{virtusertable}     - a sample for RFC 2142 address exceptions
++\end{itemize}
++
++\subsubsection{Performance notes}
++
++One of the surest performance killers for Sendmail users is when Sendmail is
++configured to synchronously verify the recipient's host via DNS.  If it does
++this for messages posted to it from Mailman, you will get horrible
++performance.  Since Mailman usually connects via \code{localhost}
++(i.e. 127.0.0.1) to the SMTP port of Sendmail, you should be sure to configure
++Sendmail to \strong{not} do DNS verification synchronously for localhost
++connections.
++
++\subsection{Using the Qmail mail server\label{qmail-issues}}
++
++There are some issues that users of the qmail mail transport agent have
++encountered.  None of the core maintainers use qmail, so all of this
++information has been contributed by the Mailman user community, especially
++Martin Preishuber and Christian Tismer, with notes by Balazs Nagy (BN) and
++Norbert Bollow (NB).
++
++\begin{itemize}
++\item You might need to set the mail-gid user to either \code{qmail},
++      \code{mailman}, or \code{nofiles} by using the
++      \longprogramopt{with-mail-gid} \program{configure} option.
++
++      \emph{BN:} it highly depends on your mail storing policy.  For example
++      if you use the simple \file{\~{}alias/.qmail-*} files, you can use
++      \program{`id -g alias`}.  But if you use \file{/var/qmail/users}, the
++      specified mail gid can be used.
++
++      If you are going to be directing virtual domains directly to the
++      \code{mailman} user (using ``virtualdomains'' on a list-only domain, for
++      example), you will have to use \longprogramopt{with-mail-gid}=\var{gid
++      of mailman user's group}.  This is incompatible with having list aliases
++      in \file{\~{}alias}, unless that alias simply forwards to
++      \code{mailman-listname*}.
++
++\item If there is a user \code{mailman} on your system, the alias
++      \code{mailman-owner} will work only in \file{\~{}mailman}.  You have to do
++      a \program{touch .qmail-owner} in \file{\~{}mailman} directory to create
++      this alias.
++
++      \emph{NB:} An alternative, IMHO better solution is to \program{chown
++      root \~{}mailman}, that will stop qmail from considering \code{mailman} to
++      be a user to whom mail can be delivered.  (See ``man 8 qmail-getpw''.)
++
++\item In a related issue, if you have any users with the same name as one of
++      your mailing lists, you will have problems if list names contain
++      \samp{-} in them.  Putting \file{.qmail} redirections into the user's
++      home directory doesn't work because the Mailman wrappers will not get
++      spawned with the proper GID.  The solution is to put the following lines
++      in the \file{/var/qmail/users/assign} file:
++
++\begin{verbatim}
++  +zope-:alias:112:11:/var/qmail/alias:-:zope-:
++  .
++\end{verbatim}
++
++      where in this case the listname is e.g. \code{zope-users}.
++
++      \emph{NB:} Alternatively, you could host the lists on a virtual domain,
++      and use the \file{/var/qmail/control/virtualdomains} file to put the
++      \code{mailman} user in charge of this virtual domain.
++
++\item \emph{BN:}If inbound messages are delivered by another user than
++      \code{mailman}, it's necessary to allow it to access \file{\~{}mailman}.
++      Be sure that \file{\~{}mailman} has group writing access and setgid bit is
++      set.  Then put the delivering user to \code{mailman} group, and you can
++      deny access to \file{\~{}mailman} to others.  Be sure that you can do the
++      same with the WWW service.
++
++      By the way the best thing is to make a virtual mail server to handle all
++      of the mail.  \emph{NB:} E.g. make an additional "A" DNS record for the
++      virtual mailserver pointing to your IP address, add the line
++      \code{lists.kva.hu:mailman} to \file{/var/qmail/control/virtualdomains}
++      and a \code{lists.kva.hu} line to \file{/var/qmail/control/rcpthosts}
++      file.  Don't forget to HUP the qmail-send after modifying
++      ``virtualdomains''.  Then every mail to lists.kva.hu will arrive to
++      mail.kva.hu's mailman user.
++
++      Then make your aliases:
++
++\begin{verbatim}
++          .qmail              => mailman at ...'s letters
++          .qmail-owner        => mailman-owner's letters
++\end{verbatim}
++
++      For list aliases, you can either create them manually:
++
++\begin{verbatim}
++          .qmail-list         => posts to the 'list' list
++          .qmail-list-admin   => posts to the 'list's owner
++          .qmail-list-request => requests to 'list'
++          etc
++\end{verbatim}
++
++      or for automatic list alias handling (when using the lists.kva.hu
++      virtual as above), see \file{contrib/qmail-to-mailman.py} in the Mailman
++      source distribution.  Modify the \file{\~{}mailman/.qmail-default} to
++      include:
++
++\begin{verbatim}
++          |preline /path/to/python /path/to/qmail-to-mailman.py
++\end{verbatim}
++
++      and new lists will automatically be picked up.
++
++\item You have to make sure that the localhost can relay.  If you start qmail
++      via inetd and tcpenv, you need some line the following in your
++      \file{/etc/hosts.allow} file:
++
++\begin{verbatim}
++      tcp-env: 127. 10.205.200. : setenv RELAYCLIENT
++\end{verbatim}
++
++      where 10.205.200. is your IP address block.  If you use tcpserver, then
++      you need something like the following in your \file{/etc/tcp.smtp} file:
++
++\begin{verbatim}
++      10.205.200.:allow,RELAYCLIENT=""
++      127.:allow,RELAYCLIENT=""
++\end{verbatim}
++
++\item \emph{BN:} Bigger \file{/var/qmail/control/concurrencyremote} values
++      work better sending outbound messages, within reason.  Unless you know
++      your system can handle it (many if not most cannot) this should not be
++      set to a value greater than 120.
++
++\item More information about setting up qmail and relaying can be found in the
++      qmail documentation.
++\end{itemize}
++
++\emph{BN:} Last but not least, here's a little script to generate aliases to
++your lists (if for some reason you can/will not have them automatically picked
++up using \file{contrib/qmail-to-mailman.py}):
++
++This script is for the Mailman 2.0 series:
++
++\begin{verbatim}
++#!/bin/sh
++if [ $# = 1 ]; then
++    i=$1
++    echo Making links to $i in the current directory...
++    echo "|preline /home/mailman/mail/mailman post $i" > .qmail-$i
++    echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-$i-admin
++    echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-$i-owner
++    echo "|preline /home/mailman/mail/mailman mailowner $i" > .qmail-owner-$i
++    echo "|preline /home/mailman/mail/mailman mailcmd $i" > .qmail-$i-request
++fi
++\end{verbatim}
++% $ - emacs turd
++
++\begin{notice}[note]
++This is for a new Mailman 2.1 installation.  Users upgrading from
++Mailman 2.0 would most likely change \file{/usr/local/mailman} to
++\file{/home/mailman}.  If in doubt, refer to the \longprogramopt{prefix}
++option passed to \program{configure} during compile time.
++\end{notice}
++
++\begin{verbatim}
++#!/bin/sh
++if [ $# = 1 ]; then
++    i=$1
++    echo Making links to $i in the current directory...
++    echo "|preline /usr/local/mailman/mail/mailman post $i" > .qmail-$i
++    echo "|preline /usr/local/mailman/mail/mailman admin $i" > .qmail-$i-admin
++    echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bounces
++    # The following line is for VERP
++    # echo "|preline /usr/local/mailman/mail/mailman bounces $i" > .qmail-$i-bounces-default
++    echo "|preline /usr/local/mailman/mail/mailman confirm $i" > .qmail-$i-confirm
++    echo "|preline /usr/local/mailman/mail/mailman join $i" > .qmail-$i-join
++    echo "|preline /usr/local/mailman/mail/mailman leave $i" > .qmail-$i-leave
++    echo "|preline /usr/local/mailman/mail/mailman owner $i" > .qmail-$i-owner
++    echo "|preline /usr/local/mailman/mail/mailman request $i" > .qmail-$i-request
++    echo "|preline /usr/local/mailman/mail/mailman subscribe $i" > .qmail-$i-subscribe
++    echo "|preline /usr/local/mailman/mail/mailman unsubscribe $i" > .qmail-$i-unsubscribe
++fi
++\end{verbatim}
++% $ - emacs turd
++
++\subsubsection{Information on VERP}
++
++You will note in the alias generating script for 2.1 above, there is a line
++for VERP that has been commented out.  If you are interested in VERP there are
++two options.  The first option is to allow Mailman to do the VERP formatting.
++To activate this, uncomment that line and add the following lines to your
++\file{mm_cfg.py} file:
++
++\begin{verbatim}
++    VERP_FORMAT = '%(bounces)s-+%(mailbox)s=%(host)s'
++    VERP_REGEXP = r'^(?P<bounces>.*?)-\+(?P<mailbox>[^=]+)=(?P<host>[^@]+)@.*$'
++\end{verbatim}
++% $ - emacs turd
++
++The second option is a patch on SourceForge located at:
++
++\url{http://sourceforge.net/tracker/?func=detail\&atid=300103\&aid=645513\&group_id=103}
++
++This patch currently needs more testing and might best be suitable for
++developers or people well familiar with qmail.  Having said that, this patch
++is the more qmail-friendly approach resulting in large performance gains.
++
++\subsubsection{Virtual mail server}
++
++As mentioned in the \ref{qmail-issues} section for a virtual mail server, a
++patch under testing is located at:
++
++\url{http://sf.net/tracker/index.php?func=detail\&aid=621257\&group_id=103\&atid=300103}
++
++Again, this patch is for people familiar with their qmail installation.
++
++\subsubsection{More information}
++
++You might be interested in some information on modifying footers that Norbert
++Bollow has written about Mailman and qmail, available here:
++
++    \url{http://mailman.cis.to/qmail-verh/}
++
++\section{Review your site defaults\label{customizing}}
++
++Mailman has a large number of site-wide configuration options which you should
++now review and change according to your needs.  Some of the options control
++how Mailman interacts with your environment, and other options select defaults
++for newly created lists\footnote{In general, changing the list defaults
++described in this section will not affect any already created lists.  To make
++changes after a list has been created, use the web interface or the command
++line scripts, such as \program{bin/withlist} and \program{bin/config_list}.}.
++There are system tuning parameters and integration options.
++
++The full set of site-wide defaults lives in the
++\file{\var{\$prefix}/Mailman/Defaults.py} file, however you should
++\strong{never} modify this file!  Instead, change the \file{mm_cfg.py} file in
++that same directory.  You only need to add values to \file{mm_cfg.py} that are
++different than the defaults in \file{Defaults.py}, and future Mailman upgrades
++are guaranteed never to touch your \file{mm_cfg.py} file.
++
++The \file{Defaults.py} file is documented extensively, so the options are not
++described here.  The \file{Defaults.py} and \file{mm_cfg.py} are both
++\ulink{Python}{http://www.python.org} files so valid Python syntax must be
++maintained or your Mailman installation will break.
++
++\begin{notice}[note]
++Do \strong{not} change the \var{HOME_DIR} or \var{MAILMAN_DIR} variables.
++These are set automatically by the \program{configure} script, and you will
++break your Mailman installation by if you change these.
++\end{notice}
++
++You should make any changes to \file{mm_cfg.py} using the account you
++installed Mailman under in the \ref{building} section.
++
++\section{Create a site-wide mailing list}
++
++After you have completed the integration of Mailman and your mail server, you
++need to create a ``site-wide'' mailing list.  This is the one that password
++reminders will appear to come from, and it is required for proper Mailman
++operation.  Usually this should be a list called \code{mailman}, but if you
++need to change this, be sure to change the \var{MAILMAN_SITE_LIST} variable in
++\file{mm_cfg.py}.  You can create the site list with this command, following
++the prompts:
++
++\begin{verbatim}
++    % bin/newlist mailman
++\end{verbatim}
++
++Now configure your site list.  There is a convenient template for a generic
++site list in the installation directory, under \file{data/sitelist.cfg} which
++can help you with this.  You should review the configuration options in the
++template, but note that any options not named in the \file{sitelist.cfg} file
++won't be changed.
++
++The template can be applied to your site list by
++running:
++
++\begin{verbatim}
++    % bin/config_list -i data/sitelist.cfg mailman
++\end{verbatim}
++
++After applying the \file{sitelist.cfg} options, be sure you review the
++site list's configuration via the admin pages.
++
++You should also subscribe yourself to the site list.
++
++\section{Set up cron}
++
++Several Mailman features occur on a regular schedule, so you must set up
++\program{cron} to run the right programs at the right time\footnote{Note that
++if you're upgrading from a previous version of Mailman, you'll want to install
++the new crontab, but be careful if you're running multiple Mailman
++installations on your site!  Changing the crontab could mess with other
++parallel Mailman installations.}.
++
++If your version of crontab supports the \programopt{-u} option, you must be
++root to do this next step.  Add \file{\var{\$prefix}/cron/crontab.in} as a
++crontab entry by executing these commands:
++
++\begin{verbatim}
++    % cd $prefix/cron
++    % crontab -u mailman crontab.in
++\end{verbatim}
++
++If you used the \longprogramopt{with-username} option, use that user name
++instead of \code{mailman} for the \programopt{-u} argument value.  If your
++crontab does not support the \programopt{-u} option, try these commands:
++
++\begin{verbatim}
++    % cd $prefix/cron
++    % su - mailman
++    % crontab crontab.in
++\end{verbatim}
++
++\section{Start the Mailman qrunner}
++
++Mailman depends on a process called the ``qrunner'' to delivery all
++email messages it sees.  You must start the qrunner by executing the following
++command from the \var{\$prefix} directory:
++
++\begin{verbatim}
++    % bin/mailmanctl start
++\end{verbatim}
++
++You probably want to start Mailman every time you reboot your system.  Exactly
++how to do this depends on your operating system.  If your OS supports the
++\program{chkconfig} command (e.g. RedHat and Mandrake Linuxes) you can
++do the following (as root, from the Mailman install directory):
++
++\begin{verbatim}
++    % cp scripts/mailman /etc/init.d/mailman
++    % chkconfig --add mailman
++\end{verbatim}
++
++Note that \file{/etc/init.d} may be \file{/etc/rc.d/init.d} on some systems.
++
++On Gentoo Linux, you can do the following:
++
++\begin{verbatim}
++    % cp scripts/mailman /etc/init.d/mailman
++    % rc-update add mailman default
++\end{verbatim}
++
++On Debian, you probably want to use:
++
++\begin{verbatim}
++    % update-rc.d mailman defaults
++\end{verbatim}
++
++For \UNIX{}es that don't support \program{chkconfig}, you might try the
++following set of commands:
++
++\begin{verbatim}
++    % cp scripts/mailman /etc/init.d/mailman
++    % cp misc/mailman /etc/init.d
++    % cd /etc/rc.d/rc0.d
++    % ln -s ../init.d/mailman K12mailman
++    % cd ../rc1.d
++    % ln -s ../init.d/mailman K12mailman
++    % cd ../rc2.d
++    % ln -s ../init.d/mailman S98mailman
++    % cd ../rc3.d
++    % ln -s ../init.d/mailman S98mailman
++    % cd ../rc4.d
++    % ln -s ../init.d/mailman S98mailman
++    % cd ../rc5.d
++    % ln -s ../init.d/mailman S98mailman
++    % cd ../rc6.d
++    % ln -s ../init.d/mailman K12mailman
++\end{verbatim}
++
++\section{Check the hostname settings}
++
++You should check the values for \var{DEFAULT_EMAIL_HOST} and
++\var{DEFAULT_URL_HOST} in \file{Defaults.py}.  Make any necessary changes in
++the \file{mm_cfg.py} file, \strong{not} in the \file{Defaults.py} file.  If you
++change either of these two values, you'll want to add the following afterwards
++in the \file{mm_cfg.py} file:
++
++\begin{verbatim}
++    add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
++\end{verbatim}
++
++You will want to run the \program{bin/fix_url.py} to change the domain of any
++existing lists.
++
++\section{Create the site password}
++
++There are two site-wide passwords that you can create from the command line,
++using the \program{bin/mmsitepass} script.  The first is the ``site password''
++which can be used anywhere a password is required in the system.  The site
++password will get you into the administration page for any list, and it can be
++used to log in as any user.  Think \code{root} for a Unix system, so pick this
++password wisely!
++
++The second password is a site-wide ``list creator'' password.  You can use
++this to delegate the ability to create new mailing lists without providing all
++the privileges of the site password.  Of course, the owner of the site
++password can also create new mailing lists, but the list creator password is
++limited to just that special role.
++
++To set the site password, use this command:
++
++\begin{verbatim}
++    % $prefix/bin/mmsitepass <your-site-password>
++\end{verbatim}
++
++To set the list creator password, use this command:
++
++\begin{verbatim}
++    % $prefix/bin/mmsitepass -c <list-creator-password>
++\end{verbatim}
++
++It is okay not to set a list creator password, but you probably do want a site
++password.
++
++\section{Create your first mailing list}
++
++For more detailed information about using Mailman, including creating and
++configuring mailing lists, see the Mailman List Adminstration Manual.  These
++instructions provide a quick guide to creating your first mailing list via the
++web interface:
++
++\begin{itemize}
++\item Start by visiting the url \code{http://my.dom.ain/mailman/create}.
++
++\item Fill out the form as described in the on-screen instructions, and in the
++      ``List creator's password'' field, type the password you entered in
++      section \ref{customizing}.  Type your own email address for the
++      ``Initial list owner address'', and select ``Yes'' to notify the list
++      administrator.
++
++\item Click on the ``Create List'' button.
++
++\item Check your email for a message from Mailman informing you that your new
++      mailing list was created.
++
++\item Now visit the list's administration page, either by following the link
++      on the confirmation web page or clicking on the link from the email
++      Mailman just sent you.  Typically the url will be something like
++      \code{http://my.dom.ain/mailman/admin/mylist}.
++
++\item Type in the list's password and click on ``Let me in...''
++
++\item Click on ``Membership Management'' and then on ``Mass Subscription''.
++
++\item Enter your email address in the big text field, and click on ``Submit
++      Your Changes''.
++
++\item Now go to your email and send a message to \code{mylist at my.dom.ain}.
++      Within a minute or two you should see your message reflected back to you
++      via Mailman.
++\end{itemize}
++
++Congratulations!  You've just set up and tested your first Mailman mailing
++list.  If you had any problems along the way, please see the
++\ref{troubleshooting} section.
++
++\section{Troubleshooting\label{troubleshooting}}
++
++If you encounter problems with running Mailman, first check the question and
++answer section below.  If your problem is not covered there, check the
++\ulink{online help}{http://www.list.org/help.html}, including the
++\ulink{FAQ}{http://www.list.org/faq.html} and the
++\ulink{interactive FAQ wizard}{http://www.python.org/cgi-bin/faqw-mm.py}.
++
++Also check for errors in your syslog files, your mail and web server log files
++and in Mailman's \file{\var{\$prefix}/logs/error} file.  If you're still
++having problems, you should send a message to the
++\email{mailman-users at python.org} mailing list\footnote{You must subscribe to
++this mailing list in order to post to it, but the mailing list's archives are
++publicly visible.}; see
++\url{http://mail.python.org/mailman/listinfo/mailman-users} for more
++information.
++
++Be sure to including information on your operating system, which version of
++Python you're using, and which version of Mailman you're installing.
++
++Here is a list of some common questions and answers:
++
++\begin{itemize}
++
++\item \strong{Problem:} All Mailman web pages give a 404 File not found
++      error.
++
++      \strong{Solution:} Your web server has not been set up properly for
++      handling Mailman's CGI programs.  Make sure you have:
++
++      \begin{enumerate}
++      \item configured the web server to give permissions to
++            \file{\var{\$prefix}/cgi-bin}
++
++      \item restarted the web server properly.
++      \end{enumerate}
++
++      Consult your web server's documentation for instructions on how to do
++      check these issues.
++
++\item \strong{Problem:} All Mailman web pages give an "Internal Server
++      Error".
++
++      \strong{Solution:} The likely problem is that you are using the wrong
++      user or group for the CGI scripts.  Check your web server's log files.
++      If you see a line like
++
++      \begin{verbatim}
++            Attempt to exec script with invalid gid 51, expected 99
++      \end{verbatim}
++
++      you will need to reinstall Mailman, specifying the proper CGI group id,
++      as described in the \label{building} section.
++
++\item \strong{Problem:} I send mail to the list, and get back mail saying the
++       list is not found!
++
++      \strong{Solution:} You probably didn't add the necessary aliases to the
++      system alias database, or you didn't properly integrate Mailman with
++      your mail server.  Perhaps you didn't update the alias database, or your
++      system requires you to run \program{newaliases} explicitly.  Refer to
++      your server specific instructions in the \ref{mail-server} section.
++
++\item \strong{Problem:} I send mail to the list, and get back mail saying,
++      ``unknown mailer error''.
++
++      \strong{Solution:} The likely problem is that you are using the wrong
++      user or group id for the mail wrappers.  Check your mail server's log
++      files; if you see a line like
++
++      \begin{verbatim}
++            Attempt to exec script with invalid gid 51, expected 99
++      \end{verbatim}
++
++      you will need to reinstall Mailman, specifying the proper mail group id
++      as described in the \label{building} section.
++
++\item \strong{Problem:} I use Postfix as my mail server and the mail wrapper
++      programs are logging complaints about the wrong GID.
++
++      \strong{Solution:} Make sure the \file{\var{\$prefix}/data/aliases.db}
++      file is user owned by \code{mailman} (or whatever user name you used
++      in the \program{configure} command).  If this file is not user owned by
++      \code{mailman}, Postfix will not run the mail programs as the correct
++      user.
++
++\item \strong{Problem:} I use Sendmail as my mail server, and when I send mail
++      to the list, I get back mail saying, ``sh: mailman not available for
++      sendmail programs''.
++
++      \strong{Solution:} Your system uses the Sendmail restricted shell
++      (smrsh). You need to configure smrsh by creating a symbolic link from
++      the mail wrapper (\file{\var{\$prefix}/mail/mailman}) to the directory
++      identifying executables allowed to run under smrsh.
++
++      Some common names for this directory are \file{/var/admin/sm.bin},
++      \file{/usr/admin/sm.bin} or \file{/etc/smrsh}.
++
++      Note that on Debian Linux, the system makes \file{/usr/lib/sm.bin},
++      which is wrong, you will need to create the directory
++      \file{/usr/admin/sm.bin} and add the link there.  Note further any
++      aliases \program{newaliases} spits out will need to be adjusted to point
++      to the secure link to the wrapper.
++
++\item \strong{Problem:}  I messed up when I called \program{configure}.  How
++      do I clean things up and re-install?
++
++      \strong{Solution:}
++
++      \begin{verbatim}
++        % make clean
++        % ./configure --with-the-right-options
++        % make install
++      \end{verbatim}
++
++\end{itemize}
++
++\section{Platform and operating system notes}
++
++Generally, Mailman runs on any POSIX-based system, such as Solaris, the
++various BSD variants, Linux systems, MacOSX, and other generic \UNIX{}
++systems.  It doesn't run on Windows.  For the most part, the generic
++instructions given in this document should be sufficient to get Mailman
++working on any supported platform.  Some operating systems have additional
++recommended installation or configuration instructions.
++
++\subsection{GNU/Linux issues}
++
++Linux seems to be the most popular platform for running Mailman.  Here are
++some hints on getting Mailman to run on Linux:
++
++\begin{itemize}
++\item If you are getting errors with hard link creations and/or you are using
++      a special secure kernel (securelinux/openwall/grsecurity), see the file
++      \file{contrib/README.check_perms_grsecurity} in the Mailman source
++      distribution.
++
++      Note that if you are using Linux Mandrake in secure mode, you are
++      probably concerned by this.
++
++\item Apparently Mandrake 9.0 changed the permissions on gcc, so if you build
++      as the \code{mailman} user, you need to be sure \code{mailman} is in the
++      \code{cctools} group.
++
++\item If you installed Python from your Linux distribution's package manager
++      (e.g. .rpms for Redhat-derived systems or .deb for Debian), you must
++      install the ``development'' package of Python, or you may not get
++      everything you need.
++
++      For example, using Python 2.2 on Debian, you will need to install the
++      \code{python2.2-dev} package.  On Redhat, you probably need the
++      \code{python2-devel} package.
++
++      If you install Python from source, you should be fine.
++
++      One symptom of this problem, although for unknown reasons, is that you
++      might get an error such as this during your install:
++
++      \begin{verbatim}
++          Traceback (most recent call last):
++            File "bin/update", line 44, in ?
++              import paths
++          ImportError: No module named paths
++          make: *** [update] Error 1
++      \end{verbatim}
++
++      If this happens, install the Python development package and try
++      \program{configure} and \program{make install} again.  Or install the
++      latest version of Python from source, available from
++      \url{http://www.python.org}.
++
++      This problem can manifest itself in other Linux distributions in
++      different ways, although usually it appears as \code{ImportErrors}.
++\end{itemize}
++
++\subsection{BSD issues\label{bsd-issues}}
++
++Vivek Khera writes that some BSDs do nightly security scans for setuid file
++changes.  setgid directories also come up on the scan when they change.  Also,
++the setgid bit is not necessary on BSD systems because group ownership is
++automatically inherited on files created in directories.  On other \UNIX{}es,
++this only happens when the directory has the setgid bit turned on.
++
++To install without turning on the setgid bit on directories, simply pass in
++the \var{DIRSETGID} variable to \program{make}, after you've run
++\program{configure}:
++
++\begin{verbatim}
++    % make DIRSETGID=: install
++\end{verbatim}
++
++This disables the \program{chmod g+s} command on installed directories.
++
++\subsection{MacOSX issues}
++
++Many people run Mailman on MacOSX.  Here are some pointers that have been
++collected on getting Mailman to run on MacOSX.
++
++\begin{itemize}
++\item Jaguar (MacOSX 10.2) comes with Python 2.2.  While this isn't the very
++      latest stable version of Python, it ought to be sufficient to run
++      Mailman 2.1.
++
++\item David B. O'Donnell has a web page describing his configuration of
++      Mailman 2.0.13 and Postfix on MacOSX Server.
++
++      \url{http://www.afp548.com/Articles/mail/python-mailman.html}
++
++\item Kathleen Webb posted her experiences in getting Mailman running on
++      Jaguar using Sendmail.
++
++      \url{http://mail.python.org/pipermail/mailman-users/2002-October/022944.html}
++
++\item Panther server (MacOSX 10.3) comes with Mailman; Your operating system
++      should contain documentation that will help you, and Apple has a tech
++      document about a problem you might encounter running Mailman on Mac OS X
++      Server 10.3:
++
++      \url{http://docs.info.apple.com/article.html?artnum=107889}
++\end{itemize}
++
++Terry Allen provides the following detailed instructions on running Mailman on
++the 'client' version of OSX, or in earlier versions of OSX:
++
++Mac OSX 10.3 and onwards has the basics for a successful Mailman installation.
++Users of earlier versions of Mac OSX contains Sendmail and those users should
++look at the Sendmail installation section for tips.  You should follow the
++basic installation steps as described earlier in this manual, substituting as
++appropriate, the steps outlined in this section.
++
++By default, Mac OSX 10.3 'client' version does not have a fully functional
++version of Postfix.  Setting up a working MTA such as Postfix is beyond the
++scope of this guide and you should refer to \url{http://www.postfix.org} for
++tips on getting Postfix running.  An easy way to set Postfix up is to install
++and run Postfix Enabler, a stand-alone tool for configuring Postfix on Mac
++OSX, available from 
++\url{http://www.roadstead.com/weblog/Tutorials/PostfixEnabler.html}.
++
++Likewise, Mac OSX 'client' version from 10.1 onwards includes a working Apache
++webserver.  This is switched on using the System Preferences control panel
++under the 'Sharing tab'.  A useful tool for configuring the Apache on Mac OSX
++is Webmin, which can be obtained from
++\url{http://www.webmin.com}.
++
++Webmin can also perform configuration for other system tasks, including
++Postfix, adding jobs to your crontab, adding user and groups, plus adding
++startup and shutdown jobs.
++
++In a stock installation of OSX, the requirement for Mailman is to have Python
++installed.  Python is not installed by default, so it is advised that you
++install the developer's tools package, which may have been provided with your
++system.  It can also be downloaded from the Apple developer site at
++\url{http://connect.apple.com}.  Not only is the developer tools package an
++essential requirement for installing Mailman, but it will come in handy at a
++later date should you need other tools.  The developer's tools are also know
++by the name XCode tools.
++
++As a minimum, the Python version should be 2.2, but 2.3 is recommended.
++
++If you wish to add a user and group using the command line in OSX instead of
++via Webmin or another GUI interface, open your terminal application and follow
++the commands as indicated below - do not type the comments following the
++\samp{\#} since they are just notes:
++
++\begin{verbatim}
++sudo tcsh
++niutil -create / /users/mailman
++niutil -createprop / /users/mailman name mailman
++# Note that xxx is a free user ID number on your system
++niutil -createprop / /users/mailman uid xxx
++niutil -createprop / /users/mailman home /usr/local/mailman
++mkdir -p /usr/local/mailman
++niutil -createprop / /users/mailman shell /bin/tcsh
++passwd mailman
++# To prevent malicious hacking, supply a secure password here
++niutil -create / /groups/mailman
++niutil -createprop / /groups/mailman name mailman
++# Note that xxx is a free group ID number on your system
++niutil -createprop / /groups/mailman gid xxx
++niutil -createprop / /groups/mailman passwd '*'
++niutil -createprop / /groups/mailman users 'mailman'
++chown mailman:mailman /usr/local/mailman
++cd /usr/local/mailman
++chmod a+rx,g+ws .
++exit
++su mailman
++\end{verbatim}
++
++For setting up Apache on OSX to handle Mailman, the steps are almost identical
++and the configuration file on a stock Mac OSX Client version is stored in the
++nearly standard location of \file{/etc/httpd/httpd.conf}.
++
++The \ulink{AFP548.com}{http://www.afp548.com} site has a time-saving automated startup item creator for
++Mailman, which can be found at 
++\url{http://www.afp548.com/Software/MailmanStartup.tar.gz}
++
++To install it, copy it into your \file{/Library/StartupItems} directory. As
++the root or superuser, from the terminal, enter the following:
++
++\begin{verbatim}
++gunzip MailmanStartup.tar.gz
++tar xvf MailmanStartup.tar
++\end{verbatim}
++
++It will create the startup item for you so that when you reboot, Mailman will
++start up.
++
++\end{document}
+Index: doc/mailman-member-es.tex
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ doc/mailman-member-es.tex	2006-08-15 15:14:20.000000000 +0800
+@@ -0,0 +1,1635 @@
++% Complete documentation on the extended LaTeX mark up used for Python
++% documentation is available in ``Documenting Python'', which is part
++% of the standard documentation for Python.  It may be found online
++% at:
++%
++%     http://www.python.org/doc/current/doc/doc.html
++
++\documentclass{howto}
++
++% This is a template for short or medium-size Python-related documents, 
++% mostly notably the series of HOWTOs, but it can be used for any
++% document you like.   
++
++% The title should be descriptive enough for people to be able to find
++% the relevant document. 
++\title{GNU~Mailman Manual~del~Suscriptor~de~Listas}
++
++% Increment the release number whenever significant changes are made.
++% The author and/or editor can define 'significant' however they like.
++\release{0.03}
++% CHANGELOG
++% 0.03 Proofreading changes 
++% 0.02 Proofreading changes
++%   - proofread by Margaret McCarthy and Jason Walton 
++% 0.01 First draft of document
++
++% At minimum, give your name and an email address.  You can include a
++% snail-mail address if you like.
++\author{Terri Oda}
++\authoraddress{terri(en)zone12.com}
++% Translated by "Pablo Chamorro C." pchamorro(en)ingeomin.gov.co    
++
++\date{\today}        % XXX update before tagging release!
++\release{2.1}        % software release, not documentation
++\setreleaseinfo{}    % empty for final release
++\setshortversion{2.1}      % major.minor only for software
++
++\usepackage[spanish]{babel}
++\usepackage[latin1]{inputenc}
++\hyphenation{listinfo listinfo}
++\hyphenation{NOMBRELISTA NOMBRELISTA}
++\hyphenation{private private}
++\hyphenation{digest digest}
++\hyphenation{password password}
++\renewcommand{\note}{\bf Nota: \rm}
++\renewcommand{\warning}{\bf Advertencia: \rm}
++
++\begin{document}
++\maketitle
++
++% This makes the Abstract go on a separate page in the HTML version;
++% if a copyright notice is used, it should go immediately after this.
++%
++\ifhtml
++\chapter*{Prefacio\label{front}}
++\fi
++
++% Copyright statement should go here, if needed.
++% ...
++
++% The abstract should be a paragraph or two long, and describe the
++% scope of the document.
++\begin{abstract}
++\noindent
++Este documento describe el interfaz del suscriptor de listas GNU Mailman 2.1.
++Este manual contiene instrucciones para suscripción, desuscripción, consulta
++de los archivos de la lista, edición de opciones de suscriptor, obtención de
++recordatorios de contraseñas y otras tareas a nivel del suscriptor.  También
++responde algunas preguntas comunes de interés para miembros de listas Mailman.
++\end{abstract}
++
++\tableofcontents
++
++% ============================================================================
++\section{Introducci\'on}
++Este documento tiene como prop\'{o}sito ayudar a los miembros de una lista de correo
++Mailman 2.1 a aprender a usar las características de este software, disponibles
++para ellos.  Este cubre el uso de los interfaces web y de correo electrónico para
++suscribipción y desuscripción, cambio de opciones de suscriptor y otras tareas a
++nivel de suscriptor.  También responde algunas preguntas comunes de interés para 
++miembros de listas Mailman.
++
++La información para administradores de listas y de sitio se proporciona en
++otros documentos.
++
++Este documento se debe leer en orden.  Si usted simplemente está buscando una 
++respuesta a una pregunta específica, consulte la sección o subsección que
++necesite, donde encuentrará referencias a otras secciones, en caso de ser
++necesario o de potencial utilidad.
++
++\note{Para los propósitos de este documento, se asume que el lector está
++familiarizado con términos comunes relacionados con correo electrónico (por
++ejemplo: Línea de Asunto, cuerpo del mensaje) y sitios web (por ejemplo:
++cuadro de lista desplegable, botón), o los puede consultar.  También se asume
++que el lector ya puede usar lo suficientemente bien su programa de correo
++electrónico y navegador web, de tal forma que sean claras las instrucciones
++tales como ``envíe correo electrónico a esta dirección'' o ``visite esta
++página web'' o ``rellene el formulario proporcionado''.  Si usted no está
++familiarizado con estas acciones, usted puede desear consultar otra
++documentación para aprender como hacer estas cosas con su configuración
++particular.} 
++
++% ----------------------------------------------------------------------------
++\subsection{Reconocimientos}
++
++Varias secciones de este documento se tomaron del Manual de Administrador de
++Listas del CVS de Mailman, escritas por Barry A. Warsaw, y también de la ayuda
++integrada de Mailman 2.1.
++
++El resto de este manual fue escrito por Terri Oda.  Terri ha estado manteniendo
++listas de correo desde el año que ella alcanzó la edad para votar en Canada,
++aunque las dos cosas no están relacionadas.  Ella actualmente administra las
++listas de correo de Linuxchix.org, así como tambien varios servidores más
++pequeños.  En el mundo ajeno a la administración de listas, Terri está haciendo
++un trabajo con un detector de spam de vida artificial, y realmente es más una
++programadora que una escritora de temas técnicos.
++
++Gracias a Margaret McCarthy, Jason Walton y Barry Warsaw por su ayuda en la
++revisión y mejoramiento de este manual.
++
++Gracias también a Ikeda Soji, quien hizo una traducción Japonesa de este
++documento.
++
++%WRITEME: More here.  Do we need a license statement here?
++
++% ----------------------------------------------------------------------------
++\subsection{¿Qué es una lista de correo?}
++
++Una lista de correo es simplemente una lista de direcciones a las cuales se
++envía la misma información.  Si usted fuera un editor de una revista, usted
++tendría una lista de direcciones de correo postal de todos los suscriptores
++de la revista.  En el caso de las listas de correo electrónico, se usa una
++una lista de direcciones de correo electrónico de gente interesada en
++escuchar o discutir acerca de un tema dado.
++
++Dos tipos comunes de listas de correo electrónico son las listas de anuncios 
++y las listas de discusión.
++
++Las listas de anuncios sirven para que una o más personas puedan enviar
++anuncios a un grupo de personas, en forma similar a la manera cómo hace un
++editor de una revista que utiliza su lista de direcciones postales para 
++enviar las revistas.  Por ejemplo, una banda musical podría usar una lista de
++anuncios para facilitar que sus seguidores estén al tanto de sus conciertos 
++futuros.
++
++Una lista de discusión permite a un grupo de personas discutir temáticas entre
++ellos mismos, pudiendo cada uno enviar correo a la lista y hacer que se
++distribuya a todos los integrantes del grupo.  Esta discusión también se puede
++moderar, de tal manera que sólo los mensajes seleccionados se envien al grupo
++como un todo, o que únicamente se le permita enviar al grupo a ciertas
++personas.  Por ejemplo, un grupo de entusiastas de modelos de aviones podrían
++usar una lista de discusión para compartir consejos útiles sobre la 
++construcción de modelos y aviación.
++
++Algunos términos comunes:
++\begin{itemize}
++	\item Un ``envío'' típicamente denota un mensaje que se envía a una lista
++	de correo.  (Piense en poner un mensaje en un tablero de anuncios.)
++	\item A las personas que son parte de una lista de correo electrónico
++	normalmente se las llama ``miembros'' de la lista o ``suscriptores.''
++	\item  ``Los administradores de las listas'' son personas encargadas de,
++	precisamente, mantener esas listas.   Las listas pueden tener uno o más
++	administradores.
++	\item Una lista puede tener también personas encargadas de leer los
++	mensajes enviados a la lista y decidir si ellos deberían ser enviados a
++	todos los suscriptores.  A estas personas se las llama moderadores de las
++	listas.  \item A menudo varias listas de correo electrónico utilizan el
++	mismo software.  A la persona que mantiene el software gracias al cual
++	funcionan las listas se le llama el ``administrador del sitio.''  A
++	menudo el administrador del sitio también administra listas individuales.
++\end{itemize}
++% ----------------------------------------------------------------------------
++\subsection{GNU Mailman}
++
++GNU Mailman es software que le permite administrar listas de correo electrónico,
++con soporte para un rango amplio de tipos de listas de correo, tales como listas
++de discusión general y listas de sólo anuncios.  Mailman tiene características
++extensivas que lo hacen bueno para listas de suscriptores, tales como facilidad
++en la suscripción y desuscripción, opciones de privacidad, y la capacidad de
++detener temporalmente la recepción de los envíos a la lista.  En este documento
++se incluye sobre las características de los miembros de las listas.
++
++Mailman también tiene muchas características que lo hacen atractivo a 
++administradores de listas y administradores de sitio.  Estas características 
++están cubiertas en los manuales del administrador de listas y del sitio.
++
++% ============================================================================
++\section{Pasando de nuestros ejemplos a las listas reales}
++
++A menudo es más fácil, simplemente dar un ejemplo que explicar exactamente
++como encontrar la dirección de una lista específica.  Por ello, aquí
++frecuentemente se darán ejemplos para una lista ficticia llamada
++\email{NOMBRELISTA at DOMINIO} cuya página de información se puede encontrar en
++\url{http://SERVIDORWEB/mailman/listinfo/NOMBRELISTA}.
++
++Ninguna de estas direcciones es real, pero muestran la forma típica de las
++direcciones de las listas.  Las letras máyusculas utilizadas para las partes
++específicas a las listas de cada dirección debería hacerlo más fácil para
++mirar lo que se debería cambiar para cada lista.  Aunque las configuraciones
++específicas para las listas pueden ser diferentes, usted probablemente podrá
++simplemente reemplazar las palabras dadas en letras mayúsculas con los
++valores apropiados para una lista real:
++
++\begin{description}
++	\item [NOMBRELISTA] El nombre de su lista.
++	\item [DOMINIO] El nombre del servidor de correo que gestiona la lista. 
++	\item [SERVIDORWEB] El nombre del servidor web que gestiona el interfaz web de la lista.  Este puede ser el mismo utilizado como DOMINIO, y a menudo se refiere a la misma máquina, pero no tiene que ser idéntico. 
++\end{description}
++
++Como ejemplo de la vida real, si usted está interesado en la lista de usuarios
++mailman (mailman-users), usted realizaría las siguientes sustituciones:
++NOMBRELISTA=mailman-users, DOMINIO=python.org, SERVIDORWEB=mail.python.org.
++De esta forma, para la lista de correo \email{mailman-users at python.org},
++la página de información de esa lista se encontraría en la dirección URL
++\url{http://mail.python.org/mailman/listinfo/mailman-users} (estas, a
++diferencia de la mayoría de ejemplos datos en este documento, son direcciones
++reales).
++
++La mayoría de las listas tendrán esta información almacenada en las cabeceras
++\mailheader{List-*}.  Muchos programs de correo ocultarán estas cabeceras por
++omisión, así que usted tiene que seleccionar mirar todas las cabeceras antes
++que pueda mirar estas cabeceras informativas.
++
++% ============================================================================
++\section{Interfaces de Mailman}
++Mailman tiene dos interfaces diferentes para los suscriptores de las listas:
++la interfaz web y la interfaz de correo electrónico.  La mayoría de suscriptores
++de las listas de discusión usan el interfaz de correo electrónico, ya que ésta
++incluye las direcciones de correo electrónico que usted utiliza para enviar
++correo a todos los suscriptores de esa lista.
++
++La interfaz que usted use para cambiar las opciones es cuestión de preferencia,
++ya que la mayoría de (pero no todas) las opciones que se pueden cambiar utilizando
++la interfaz web también se pueden cambiar por correo electrónico.  Usualmente es
++más fácil utilizar la interfaz web para cambiar opciones, ya que la interfaz web
++proporciona instrucciones como parte de las mismas páginas, pero hay ocasiones en
++las cuales las personas prefieren la interfaz de correo electrónico, así que las
++dos se proporcionan y son útiles.
++
++% ----------------------------------------------------------------------------
++\subsection{El interfaz web\label{sec:web}}
++Para mucha gente, el interfaz web de Mailman es su punto más destacable
++ya que lo hace mucho más fácil para suscriptores y administradores mirar
++que opciones están disponibles y lo que hacen estas opciones.
++
++Cada lista de correo también está accesible desde un número de páginas web.
++Note que las direcciones URL exactas son configurables por el administrador
++del sitio, así que ellas pueden ser diferentes a las que se describen abajo.
++Nosotros describiremos la configuración más común, pero consulte los
++detalles con su administrador de sitio o proveedor del servicio.
++
++\hyphenchar\font=-1
++\begin{description}
++	\item [Página de información de la lista (listinfo)]
++		\begin{itemize}
++			\item Usualmente se encuentra en
++			\url{http://SERVIDORWEB/mailman /listinfo/NOMBRELISTA}
++			(por ejemplo, 
++			\url{http://listas.ejemplo.com/mailman/listinfo/milista}).
++
++			\item La página listinfo es el punto de inicio del interfaz
++			del suscriptor.  Como uno podría asumir por el nombre dado, ésta
++			contiene información acerca de la lista NOMBRELISTA.  Usualmente
++			todas las otras páginas del suscriptor se pueden acceder desde
++			este punto, así que realmente usted sólo necesita conocer esta
++			dirección.
++
++		\end{itemize}
++
++	\item [Página de opciones del suscriptor]
++		\begin{itemize}
++			\item Usualmente se encuentra en 
++			\url{http://SERVIDOR/mailman/options /NOMBRELISTA/DIRECCIONCORREO}
++			(por ejemplo, 
++			\url{http://listas.ejemplo.com/mailman/options/milista
++			/maria at aqui.com}).
++
++			\item También se puede acceder a esta página yendo a la página
++			listinfo y entrando su dirección de correo en el cuadro de texto
++			junto al botón marcado ``Opciones de Edición y Desuscripción''
++			(este está cerca del final de la página).
++
++			\item La página de opciones de suscriptor le permite a usted
++			entrar/salir y cambiar la configuración de sus opciones, así como
++			también desuscribirse u obtener una copia de su contraseña por
++			correo electrónico.
++
++			\item \textbf{Para ingresar en su página de opciones de
++			suscriptor}:  Si usted aún no ha ingresado, encontrará un cuadro
++			de texto cerca a la parte superior de la página para introducir
++			su contraseña (si usted no conoce su contraseña, mire la
++			seccion \ref{sec:getpassword} para más información sobre cómo
++			obtener su contraseña).  Entre su contraseña en el cuadro de texto
++			mencionado y haga clic en el botón ``Cambiar''.
++
++			\item Una vez usted esté adentro, podrá mirar y cambiar toda la 
++			configuración personal de su lista.
++
++		\end{itemize}
++	\item [Archivos de la Lista] 
++		\begin{itemize}
++			\item Usualmente los encontrará en
++			\url{http://SERVIDORWEB/pipermail/NOMBRELISTA} si la lista se archiva
++			públicamente, y 
++			\url{http://SERVIDORWEB/mailman/private/NOMBRELISTA} si la lista se
++			archiva en forma privada (por ejemplo,
++			\url{http://listas.ejemplo.com/pipermail/milista} o
++			\url{http://listas.ejemplo.com/mailman/private/milista}).
++
++			\item Las páginas de los archivos de la lista disponen de una copia de
++			los mensajes enviados a la lista de correo, usualmente agrupados por
++			mes.  En cada grupo mensual, los envíos se indexan por autor, fecha,
++			hilo, y asunto.
++
++			\item \note{Pipermail es el nombre del archivador predeterminado que
++			viene con Mailman.  Otros programas de archivado están disponibles.}
++
++			\item Si el archivo es privado, usted necesitará suministrar su
++			dirección de correo de suscriptor y su contraseña para ingresar
++			(mire la Sección~\ref{sec:getpassword} para mayor información sobre la
++			obtención de su contraseña).
++		\end{itemize}
++\end{description}
++
++% ----------------------------------------------------------------------------
++\subsection{El interfaz de correo electrónico\label{sec:email}}
++
++Toda lista de correo tiene un conjunto de direcciones de correo electrónico
++a las cuales se pueden enviar los mensajes.  Siempre hay una dirección
++para enviar los mensajes a la lista, una dirección a a la cual se envían
++los mensajes devueltos y direcciones para procesar órdenes de correo.
++Para una lista de correo ficticia llamada
++\email{milista at ejemplo.com}, usted encontraría estas direcciones:
++
++\begin{itemize}
++\item \email{milista at ejemplo.com} -- esta es la dirección de correo que la gente
++      debería usar para los nuevos envíos a la lista.
++
++\item \email{milista-join at ejemplo.com} -- enviando un mensaje a esta dirección,
++      un nuevo miembro puede solicitar suscripción a la lista.  Tanto la cabecera
++      de \mailheader{Asunto} como el cuerpo de tal mensaje son ignorados.  Note
++      que milista-subscribe at ejemplo.com es un alias para la dirección -join.
++
++\item \email{milista-leave at ejemplo.com} -- enviando un mensaje a esta dirección
++      un miembro puede solicitar desuscripción de la lista.  Igual que con la
++      dirección -join, la cabecera \mailheader{Asunto} y el cuerpo del mensaje
++      son ignorados.  Note que milista-unsubscribe at ejemplo.com es un alias para
++      la dirección -leave.
++
++\item \email{milista-owner at ejemplo.com} -- Con esta dirección se llega
++      directamente al propietario y moderador de la lista.  Esta es la
++      dirección que usted usa si necesita contactar a la persona o
++      personas encargadas de la lista.
++
++\item \email{milista-request at ejemplo.com} -- Esta dirección alcanza un robot
++      de correo que procesa órdenes de correo electrónico que se pueden usar
++      para definir opciones de suscripción de los miembros, así como también
++      para procesar otros comandos.  En el Apéndice~\ref{a:commands} se
++      proporciona una lista de órdenes de correo electrónico de miembros de
++      listas.
++
++\item \email{milista-bounces at ejemplo.com} -- Esta dirección se usa para
++      procesamiento automático de mensajes devueltos de Mailman.
++
++\item \email{milista-confirm at ejemplo.com} -- Esta dirección se usa para
++      procesar mensajes de confirmación de solicitudes de suscripción y
++      desuscripción.
++\end{itemize}
++
++También hay una dirección -admin con la cual también se llega a los
++administradores de listas, pero esta dirección solamente existe por
++compatibilidad con las versiones más antigüas de Mailman.
++
++Para cambiar las opciones, se usa la dirección \email{NOMBRELISTA-request}
++(por ejemplo, \email{milista-request at ejemplo.com}).
++
++Las órdenes pueden aparecer en la línea de asunto o en el cuerpo del mensaje.
++Cada comando debería ir en una línea separada. Si su programa de correo
++adiciona automáticamente una firma a sus mensajes, usted podría desear colocar
++la palabra ``\var{end}'' (sin las comillas) en una línea separada después de sus
++otras órdenes.  La orden \var{end} le dice a Mailman que no procese el correo
++electrónico después de ese punto.
++
++La órden más importante es probablemente la orden ``\var{help}'', ya que
++ésta hace que Mailman devuelva un mensaje completo de información útil sobre
++las órdenes de correo y direcciones para uso del interfaz web.
++
++En los Apéndices \ref{a:commands} y \ref{a:options} se proporcionan referencias
++rápidas a las órdenes de suscriptor (éstas se han adaptado ligeramente de la
++salida de la orden \var{help}.)
++
++% ============================================================================
++\section{¡Necesito hablar con un humano!\label{sec:human}}
++Si usted tiene problemas con cualquiera de estas órdenes, usted siempre puede
++contactar a la persona o personas encargadas de las listas utilizando las
++direcciones administrativas de las listas.  Los administradores de las listas
++pueden ayudar a resolver como hacer algo, suscribirlo/desuscribirlo, o cambiar
++su configuración si usted no puede cambiarla por alguna razón.  Por favor
++recuerde que muchos administradores de listas de correo son voluntarios quienes
++están donando su tiempo libre para administrar la lista y ellos pueden ser gente
++muy ocupada.
++
++La dirección de correo del administrador de una lista tiene la forma 
++\email{NOMBRELISTA-owner at DOMINIO}, donde NOMBRELISTA es el nombre de la lista
++(por ejemplo: usuarios-mailman) y DOMINIO es el nombre del servidor (por ejemplo:
++python.org).  Esta dirección de correo, junto con las direcciones de correo
++electrónico de administradores específicos, están dadas en la parte inferior de
++las páginas de información de cada lista.  Mire en la Sección~\ref{sec:web}
++mayor información sobre cómo encontrar la página de información de su lista.
++
++% ============================================================================
++\section{Suscripción y desuscripción}
++Dado que suscribirse (unirse) o desuscribirse (salirse) son a menudo las únicas 
++cosas que un miembro de lista necesita conocer, con Mailman éstas se pueden hacer
++opcionalmente sin necesidad de que usted conozca una contraseña.
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo me uno a la lista? (subscribe)\label{sec:subscribe}}
++
++Hay dos formas comunes para que usted se suscriba a una lista de correo Mailman.
++
++Usando el interfaz web:
++\begin{enumerate}
++	\item Vaya a la página de información de la lista a la cual usted desea
++	suscribirse (esta será probablemente similar a
++	\url{http://SERVIDORWEB/mailman/listinfo/NOMBRELISTA}).
++	\item Mire la sección identificada como ``Suscribirse a NOMBRELISTA''
++	y rellene en los cuadros de texto.  Usted puede introducir lo siguiente:
++	\begin{itemize}
++		\item Usted \emph{debe} entrar su dirección de correo electrónico.
++		\item Usted puede suministrar su nombre real.
++		\item Usted puede seleccionar una contraseña.  Si no selecciona una,
++		Mailman generará una para usted.
++
++		\warning{NO use una contraseña valiosa, ya que eventualmente esta
++		contraseña se enviará por correo electrónico como texto plano.}
++		\item Si la lista soporta más de un idioma, usted puede seleccionar
++		su idioma preferido.  \note{Este cambio no afecta los 
++		envíos a la lista, solamente a los textos Mailman que vienen con
++		el software de la listas, tal como su página de opciones de 
++		suscriptor.}
++	\end{itemize}
++	\item Haga clic en el botón subscribe.  Una nueva página debería aparecer
++	diciéndole que se ha recibido su solicitud de suscripción.  Esta página
++	le proporcionará instrucciones adicionales, tales como la necesidad de
++	esperar y responder a un mensaje de confirmación, dependiendo de las 
++	políticas de suscripción de la lista.
++\end{enumerate}
++
++Usando el interfaz de correo electrónico:
++\begin{enumerate}
++	\item Abra un programa de correo que le permita enviar correo desde la
++	dirección que usted desea suscribir.
++	\item Envíe un correo a la dirección de suscripción de la lista, la cual
++	estará en la forma \email{NOMBRELISTA-join at DOMINIO}.  El asunto y cuerpo
++	del mensaje se ignorarán, así que no importa lo que usted coloque ahí.
++\end{enumerate}
++
++Después de seguir uno de los dos procedimientos (¡usted no necesita llevar
++a cabo los dos!), hay unos pocas posibilidades dependiendo de la configuración
++de la lista:
++\begin{itemize}
++	\item Usted puede recibir un mensaje de correo de confirmación que
++	usted realmente desea suscribirse a la lista.  Esto es para prevenir
++	que cualquier otra persona lo suscriba a la lista sin su permiso.
++	Siga las instrucciones dadas en el mensaje para confirmar su deseo de
++	estar suscrito.
++	\item Un moderador también puede necesitar confirmar su suscripción
++	si usted se está suscribiendo a una lista cerrada.
++	\item O usted puede tener que esperar a un moderador \textit{y}
++	seguir las instrucciones en el correo de confirmación.
++\end{itemize}
++
++Una vez hecho esto, usted muy probablemente recibirá otro mensaje, dándole la
++bienvenida a la lista.  Este mensaje contiene información útil, incluyendo su
++contraseña de la lista y algunos enlaces directos para el cambio de sus
++opciones, de manera que usted puede desear guardarlo para referencia posterior.
++
++\note{La suscripción también se puede realizar de otras maneras.  Mire en el
++Apéndice~\ref{a:commands} las órdenes de suscripción por correo electrónico
++más avanzadas.}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo dejo la lista? (unsubscribe)\label{sec:unsubscribe}}
++
++¿Ya no desea estar en una lista?  Si usted sólo va a salir de vacaciones o
++está demasiado ocupado para leer correos y desea suspender temporalmente
++la recepción de esos mensajes, usted puede desear detener la entrega de
++correo en lugar de desuscribirse.  Esto significa que usted mantendrá su
++contraseña y configuración personal de manera que usted pueda aún, por
++ejemplo, aún tener acceso a los archivos privados de la lista.  Si esto es
++lo que usted desea, mire en la Sección~\ref{sec:nomail} las instrucciones
++para inhabilitar temporalmente la entrega de correo.
++
++Si usted realmente desea dejar la lista, hay dos formas para que usted se
++desuscriba de una lista de correo Mailman.
++
++Usando el interfaz web:
++\begin{enumerate}
++	\item Vaya a la página de información de la lista que usted desea dejar
++	(la dirección de esa página probablemente será similar a 
++	\url{http://SERVIDORWEB/mailman/listinfo/NOMBRELISTA}).
++	\item Ubique la sección identificada como ``suscriptores de NOMBRELISTA''
++	(usualmente se encuentra cerca de la parte inferior de la página).
++	\item Debería haber un botón etiquetado ``Desuscribirse o Editar Opciones.''
++	Introduzca su dirección de correo electrónico en el cuadro de texto que se
++	encuentra junto a ese botón y haga clic en el.
++	\item Usted debería observar en pantalla una nueva página con un botón de
++	``Desuscribir''.  Haga clic en él para desuscribirse y siga las
++	instrucciones dadas.
++\end{enumerate}
++
++Usando el interfaz de correo electrónico:
++\begin{enumerate}
++	\item Abra un programa de correo que le permita enviar correo desde la
++	dirección que usted desee desuscribir.
++	\item Envíe un correo a la dirección de desuscripción de la lista, la cual
++	tendrá la forma \email{NOMBRELISTA-leave at DOMINIO}.  El asunto y cuerpo
++	del mensaje serán ignorados, así que no importa lo que usted coloque ahí.
++\end{enumerate}
++
++Después de seguir alguno de estos procedimientos (¡usted no necesitará llevar
++a cabo los dos!), a usted se le enviará un correo de confirmación, siendo
++necesario que usted siga las instrucciones dadas en ese correo para completar
++la desuscripción.  Esto es neceario para evitar que otras personas lo
++desuscriban sin su permiso.  En adición, un moderador puede necesitar aprobar
++su desuscripción (son poco comunes las desuscripciones aprobadas por un
++administrador).
++
++Si usted no recibe ese correo de confirmación con las instrucciones incluidas,
++asegúrese de haber escrito correctamente la dirección de correo electrónico
++(si usted está usando el interfaz web para desuscribirse) y que la dirección
++que usted trató de dar de baja, está de hecho, realmente suscrita a la lista.
++Por razones de seguridad, Mailman genera la misma página de opciones de
++suscriptor independientemente de si la dirección entrada está o no suscrita.
++Esto significa que la gente no puede usar esta parte del interfaz web para
++averiguar si alguien está suscrito a la lista, pero también significa que
++es difícil decir si usted solamente cometió un error al teclear.
++
++Una vez que se haya procesado su desuscripción, usted probablemente recibirá
++otro mensaje confirmando su desuscripción de la lista, y en ese punto usted
++debería dejar de recibir mensajes.
++
++Si usted desea saltarse el proceso de confirmación (por ejemplo, podría estar
++desuscribiendo una dirección que ya no trabaja), es posible omitirlo utilizando
++su contraseña en su lugar, ya sea, ingresando a su página de opciones usando su
++contraseña (ver Sección~\ref{sec:web}), o enviar la contraseña con sus órdenes
++de correo a NOMBRELISTA-request (mire en el Apéndice~\ref{a:commands} las
++órdenes avanzadas de suscripción por correo electrónico).  Mire en la
++Sección~\ref{sec:getpassword} más información sobre obtención de su contraseña.
++
++% ============================================================================
++\section{Contraseñas\label{sec:password}}
++Cuando usted se suscribió, usted seleccionó su contraseña o Mailman se la
++generó.  Usted probablemente tiene una copia de ella en el mensaje de
++bienvenida que se le envío a usted cuando se unió a la lista, y puede también
++recibir un recordatorio de ella cada mes.  Esta se usa para verificar su
++identidad ante Mailman, de manera que sólo quien tenga la contraseña (¡usted!)
++y los administradores puedan mirar y cambiar su configuración.
++
++\warning{No use contraseñas valiosas con Mailman, ya que éstas eventualmente
++se envían en formato de texto plano.}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo obtengo mi contraseña?\label{sec:getpassword}}
++Si usted ha olvidado su contraseña y no ha grabado el mensaje de bienvenida o
++cualquier mensaje recordatorio, usted siempre puede obtener un recordatorio a
++través del interfaz web:
++
++\begin{enumerate}
++	\item Vaya a la página de información de la lista de la cual usted desea
++	obtener su contraseña (esta probablemente será similar a
++	\url{http://SERVIDORWEB/mailman/listinfo/NOMBRELISTA}).
++	\item Ubique la sección identificada como ``Suscriptores de NOMBRELISTA''
++	(esta sección usualmente se encuentra cerca de la parte inferior de la
++	página).
++	\item Debería haber un botón etiquetado ``Desuscribir o Editar Opciones.''
++	Introduzca su dirección de correo electrónico en el cuadro de texto que se
++	encuentra junto a ese botón y haga clic en él.
++	\item Usted debería observar en pantalla una nueva página que tiene una
++	sección identificada como ``Recordatorio de Contraseña''.  Haga clic en el
++	botón ``Recordar'' para hacer que se le envíe su contraseña por correo
++	electrónico.
++\end{enumerate}
++
++Si usted no recibe el recordatorio de contraseña por correo electrónico después
++de hacer esto, asegúrese de haber escrito correctamente su dirección de correo
++electrónico y que la dirección que utilizó está, efectivamente, realmente
++suscrita a la lista.  Por razones de seguridad, Mailman genera la misma página
++de opciones de suscriptor independientemente de si la dirección entrada está o
++no suscrita.  Esto significa que la gente no puede usar esta parte del interfaz
++web para averiguar si alguien está suscrito a la lista, pero también significa
++que es difícil decir si usted solamente cometió un error al teclear.
++
++Usted también puede obtener un recordatorio utilizando el interfaz de correo
++electrónico:
++\begin{enumerate}
++	\item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
++	\var{password}
++
++	Los comandos pueden aparecer ya sea en el cuerpo o en la línea de asunto
++	del mensaje (mire en la Sección~\ref{sec:email} mayor información sobre
++	envío de órdenes de correo).
++
++	Si usted no está enviando correo desde la dirección suscrita, también
++	puede especificar esta dirección enviando la orden
++	\nolinebreak{\var{password~address=$<$DIRECCIÓN$>$}}.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo cambio mi contraseña?}
++		\warning{NO use una contraseña valiosa, ya que esta contraseña
++		se puede enviar por correo como texto plano.}
++
++Desde el interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (Mire en la
++	Section~\ref{sec:web} las instrucciones de cómo hacer esto).
++
++	\item Ubique los cuadros de texto de cambio de contraseña en el lado
++	derecho de la página e introduzca allí su nueva contraseña, luego haga
++	clic en el botón etiquetado ``Cambiar mi contraseña''.
++\end{enumerate}
++
++Esto también se puede cambiar para múltiples listas al mismo tiempo si usted
++está suscrito a más de una lista en el mismo dominio.  Mire en la
++Sección~\ref{sec:global} la información sobre cambios globales de
++configuración.
++
++Desde el interfaz de correo electrónico:
++\begin{enumerate}
++	\item Envíe un correo a la dirección de correo 
++        \email{NOMBRELISTA-request at DOMINIO} con la orden 
++	{\var{password~$<$CONTRASEÑA~-~ANTERIOR$>$~$<$CONTRASEÑA~-~NUEVA$>$}}.
++
++	Las órdenes pueden aparecer ya sea en cuerpo o en la línea de asunto
++	del mensaje (mire en la Sección~\ref{sec:email} la información sobre
++	el envío de órdenes de correo).
++
++	Si usted no está enviando correo desde su dirección de membresía, usted
++	puede también especificar esta dirección con
++	\var{address=$<$DIRECCIÓN$>$} después de $<$CONTRASEÑA-NUEVA$>$.
++	
++	Por ejemplo, si \email{maria at micasa.com} deseaba cambiar su contraseña
++	de la lista \var{milista}, de \var{zirc} a \var{miko}, pero ella estaba
++	enviando correo desde la dirección de la oficina 
++	\email{maria at trabajo.com}, podría enviar un mensaje a 
++	\email{milista-request at ejemplo.com} con la línea de asunto 
++	{\var{password~zirc~miko~address=maria at micasa.com}}.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo activo/desactivo los recordatorios de contraseñas? (opción
++reminders)}
++Si usted no desea recibir recordatorios de contraseña cada mes, puede
++desactivarlos desde la página de opciones del suscriptor (usted siempre puede
++conseguir que se le envíe la contraseña por correo cuando realmente lo desee.
++Mire las instrucciones en la Sección~\ref{sec:getpassword}).
++
++Usando el interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la
++	Sección~\ref{sec:web} las instrucciones de cómo hacer esto).
++	\item Ubique la sección identificada como ``Obtener recordatorio de
++	contraseña para esta lista'' y cambie el valor en forma apropiada.
++\end{enumerate}
++
++Esto también se puede cambiar para múltiples listas al mismo tiempo si usted
++está suscrito a más de una lista en el mismo dominio.  Mire en la
++Sección~\ref{sec:global} la información sobre cambios globales de
++configuración.
++
++Usando el interfaz de correo electrónico:
++\begin{enumerate}
++   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO}
++   con la orden \var{set~reminders~on} o \var{set~reminders~off}.
++
++   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto del
++   mensaje.  Mire en la Sección~\ref{sec:email} la información sobre el envío
++   de órdenes de correo.
++   \item Seleccione ``on'' para recibir recordatorios y ``off'' para dejar de
++   recibir los recordatorios.
++\end{enumerate}
++
++% ============================================================================
++\section{Cambiando la entrega del correo}
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo activo o desactivo la entrega de correo? 
++	(opción delivery)\label{sec:nomail}}
++
++Usted puede desear dejar de recibir temporalmente los mensajes de la lista sin
++necesidad de darse de baja.  Si usted desactiva la entrega de correo, ya no
++podrá recibir mensajes, pero aún será un suscriptor y como tal retendrá su
++contraseña y su configuración.
++
++Esto puede ser práctico en muchos casos diferentes.  Por ejemplo, usted podría
++salir de vacaciones o necesitar un descanso de la lista porque está demasiado
++ocupado para leer cualquier correo extra.
++
++También, muchas listas de correo únicamente permiten a los suscriptores enviar
++mensajes a la lista, así que si usted comunmente envía correo desde más de una
++dirección (por ejemplo, una dirección para la casa y otra para cuando está
++viajando), podría tener más de una cuenta suscrita, pero hacer que solamente
++una de ellas realmente reciba correo.
++
++Usted también puede usar su suscripción como un medio para leer archivos 
++privados, inclusive en una lista que pueda ser demasiado ocupada para que
++usted haga enviar los mensajes directamente a su buzón de correo.  Todo lo
++que necesita hacer es suscribirse, desactivar la entrega de correo, y usar
++su contraseña y dirección de correo electrónico para acceder a los archivos.
++
++Para desactivar/activar la entrega de correo usando el interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones (mire las instrucciones en la
++	Sección~\ref{sec:web}).
++	\item Ubique la sección identificada como ``Entrega de correo'' y
++	seleccione ``Desactivar'' para detener la recepción de correo, y
++	``Activar'' para iniciar a recibir el correo.
++\end{enumerate}
++
++Esto también se puede cambiar para múltiples listas al mismo tiempo, si
++usted está suscrito a más de una lista en el mismo dominio.  Mire en la
++Sección~\ref{sec:global} la información acerca de cambios globales de
++configuración.
++
++Para activar/desactivar la entrega de correo usando el interfaz de correo
++electrónico:
++\begin{enumerate}
++   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
++   \var{set~delivery~off} o \var{set~delivery~on}.
++
++   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto
++   del mensaje (mire en la Sección~\ref{sec:email} más información sobre
++   envío de órdenes de correo).
++   \item Seleccione ``off'' para parar la recepción de los envíos, y ``on''
++   para iniciar a recibirlos otra vez.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo puedo evitar recibir mensajes duplicados? (opción duplicates)
++\label{sec:nodupes}}
++
++Mailman no puede impedir completamente que usted reciba mensajes duplicados,
++pero puede ayudar.  Una razón común para que la gente reciba múltiples copias
++de un correo es que el remitente haya usado una función ``responder al grupo''
++para enviar correo tanto a la lista como a algún número de individuos.  Si
++usted desea evitar recibir estos mensajes, se puede configurar Mailman para
++que revise y mire si usted está en las líneas \mailheader{To} o \mailheader{Cc}
++del mensaje.  Si su dirección aparece ahí, entonces se le puede indicar a
++Mailman que no le envíe otra copia.  Esto significa que usted recibirá
++solamente la copia enviada por el remitente, y no una copia que haya sido
++alterada por Mailman (incluir cabeceras y piés, borrar adjuntos, etc.).
++
++Para activar/desactivar esta opción usando el interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la
++	Sección~\ref{sec:web} los detalles de cómo hacer esto).
++	\item Ubique en la parte inferior de la página la sección identificada
++	como ``¿Evitar copias de mensajes duplicados?'' y cambie el valor
++	según corresponda.
++\end{enumerate}
++
++Esto también se puede cambiar para múltiples listas al mismo tiempo si usted
++está suscrito a más de una lista en el mismo dominio.  Mire en la
++Sección~\ref{sec:global} la información sobre cambios globales de configuración. 
++
++Para activar/desactivar esto usando el interfaz de correo electrónico:
++\begin{enumerate}
++   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
++   \var{set~duplicates~on} o \var{set~duplicates~off}.
++
++   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto
++   del mensaje (mire en la Sección~\ref{sec:email} más información sobre
++   envío de órdenes de correo). 
++   \item Seleccione ``on'' para recibir copias de los mensajes que ya le
++   hayan enviado, seleccione ``off'' para evitar recibir esos duplicados.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo cambio mi dirección de suscripción?\label{sec:changeaddress}}
++
++Para cambiar su dirección de suscripción:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la
++	Sección~\ref{sec:web} más detalles de cómo hacer esto).
++	\item Introduzca su nueva dirección en la sección identificada como
++	``Cambiando su información de membresía de NOMBRELISTA''.
++	\item Si usted desea cambiar su dirección para todas sus suscripciones
++	usando la dirección antigüa, habilite la opción ``Cambiar
++	globalmente''.  Si uste tiene suscripciones desde otras direcciones o
++	suscripciones a listas en un dominio diferente, estas tendrán que
++	hacerse por separado.  Mire en la Sección~\ref{sec:global} más
++	información sobre cambios globales de configuración.
++\end{enumerate}
++
++Mailman le enviará un mensaje de confirmación a su nueva dirección, pero el
++cambio no tendrá efecto hasta que usted confirme el cambio siguiendo las
++instrucciones dadas en ese mensaje.
++
++No hay una forma especial de hacer esto desde el interfaz de correo
++electrónico, pero usted puede suscribirse y desuscribirse para conseguir más o
++menos el mismo efecto (mire en las Secciones~\ref{sec:subscribe} y
++\ref{sec:unsubscribe} más información sobre suscripción y desuscripción).
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo hago para dejar de o iniciar a recibir copias de mis propios
++        envíos? (opción myposts)\label{sec:getown}}
++
++Por omisión en Mailman, usted recibe una copia de todos los mensajes que 
++usted envía a la lista.  A algunas personas les gusta esto ya que les 
++permite saber que el envío ha alcanzado su destino y así ellas tienen una
++copia de sus propias palabras con el resto de una discusión, pero otros no
++desean molestarse recibiendo copias de sus propios envíos.
++
++\note{Esta opción no tiene efecto si usted está recibiendo mensajes agrupados}
++
++Usted también puede desear mirar la Sección~\ref{sec:getack}, la cual discute
++sobre los correos electrónicos de acuso de recibo de los mensajes que se
++envían a la lista.
++
++Para hacer esto usando el interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la
++	Sección~\ref{sec:web} las instrucciones de cómo hacer esto).
++	\item Ubique la sección identificada como ``¿Recibir sus propios
++	envíos a la lista?'', seleccione ``Si'' para recibir copias de sus
++	propios mensajes, y ``No'' para evitar recibirlos.
++\end{enumerate}
++
++Para hacer esto usando el interfaz de correo:
++\begin{enumerate}
++   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
++   \var{set~myposts~on} o \var{set~myposts~off}.
++   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto del
++   mensaje.  Mire en la Sección~\ref{sec:email} más información sobre el envío
++   de órdenes de correo.
++   \item Seleccione ``on'' para recibir copias de sus propios mensajes, y 
++   ``off'' para evitar recibirlos.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo puedo hacer para que Mailman me diga cuando mi envío ha
++sido recibido por la lista? (opción ack)\label{sec:getack}}
++
++En la mayoría de las listas, usted simplemente recibirá una copia de su
++correo cuando éste se haya ido, no obstante, esta opción puede ser útil
++para usted, si esta opción está desactivada (ver Section~\ref{sec:getown}),
++su entrega de correo está desactivada (ver Section~\ref{sec:nomail}),
++usted no está suscrito a ese tema (ver Section~\ref{sec:sometopic}) o usted
++simplemente desea una confirmación de mensaje recibido extra del sistema.
++
++\note{Si usted no está suscrito a la lista, no se puede usar esta opción.
++Usted debe, ya sea, revisar los archivos por su cuenta (si la lista tiene
++archivos públicos), preguntarle a alguien que esté suscrito a la lista, o
++suscribirse para usar esta opción.}
++
++Para utilizar esta opción usando el interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la
++	Sección~\ref{sec:web} mayores detalles de cómo hacer esto).
++	\item Ubique la sección identficada como ``¿Recibir correos de acuso
++	de rebibo cuando usted envía correo a la lista?''  Seleccione ``Si''
++	para recibir un correo haciéndole saber que se ha recibido su envío
++	y ``No'' para evitar recibir tal mensaje de acuso de recibo.
++\end{enumerate}
++
++Para utilizar esta opción usando el interfaz de correo electrónico:
++\begin{enumerate}
++   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
++   \var{set~ack~on} o \var{set~ack~off}.
++
++   Las órdenes pueden aparecer ya sea en el cuerpo o en la línea de asunto del
++   mensaje.  Mire en la Sección~\ref{sec:email} más información sobre el envío
++   de órdenes de correo.
++   \item Seleccione ``on'' si usted desea recibir correo haciéndole saber que
++   se ha recibido su envío y ``off'' para evitar recibir tal mensaje de acuso
++   de recibo.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{Parece que no estoy recibiendo correo de las listas. ¿Qué debería
++	hacer?}
++
++Hay pocas razones comunes para que esto ocurra:
++\begin{itemize}
++	\item Durante un cierto lapso de tiempo nadie ha enviado correo a la
++	lista o listas en las cuales usted está suscrito.
++
++	Para revisar si este es el caso, intente accediendo a los archivos de
++	la lista (asumiendo que la lista tiene archivos).  Si la lista no
++	tiene archivos, puede preguntar a otro suscriptor (mire en la
++	Sección~\ref{sec:web} la ayuda para encontrar los archivos de una
++	lista).
++
++	\note{Generalmente se considera descortés envíar mensajes de prueba a
++	la lista entera.  Si usted siente la necesidad de probar que la lista
++	está trabajando y por alguna razón usted no puede simplemente redactar
++	un mensaje regular a la lista, es menos perturbador solicitar un
++	mensaje de ayuda a la dirección administrativa de la lista
++	(NOMBRELISTA-request at DOMINIO) para mirar si trabaja, o contactar al
++	administrador de la lista para preguntarle si la lista está operando
++	normalmente.}
++
++	\item Su dirección de correo está causando mensajes devueltos y por
++	ello el software de la lista le ha deshabilitado la entrega de correo
++	(temporalmente).
++
++	Si su proveedor de correo ``devuelve'' demasiados mensajes (es decir,
++	si le dice a Mailman que el mensaje no se pudo enviar), Mailman 
++	eventualmente ya no intenta enviarle correo.  Esta característica
++	permite a Mailman manipular con gusto direcciones que ya no existen
++	(por ejemplo, cuando un suscriptor encuentra un nuevo servicio de
++	Internet y olvida darse de baja de la dirección antigüa), así como
++	también direcciones que están temporalmente fuera de servicio (por
++	ejemplo, cuando el suscriptor ha utilizado todo el espacio asignado de
++	su cuenta de correo, o cuando el proveedor de correo del suscriptor
++	está experimentando dificultades).
++
++	Aún si usted no está enterado de cualquier dificultad con su proveedor
++	de correo, es una buena idea revisar esto.  Algunos proveedores
++	populares de correo basado en web y servidores de Internet no son tan
++	confiables como uno podría asumir, ni tampoco lo es el Internet como
++	un todo.  Usted también puede desear enviarse usted mismo un mensaje
++	de prueba desde otra cuenta o pedirle a un amigo que le envíe un
++	mensaje de prueba para asegurarse que su dirección suscrita está
++	trabajando.
++
++	Para revisar si esta puede ser la razón por la cual usted no está
++	recibiendo mensajes, ingrese a su página de opciones (consulte en la
++	Sección~\ref{sec:web} más detalles de cómo hacer esto) y mire sus
++	opciones.  Si se ha desactivado su suscripción o si Mailman ha
++	recibido mensajes devueltos provenientes de su dirección de correo,
++	usted encontrará un gran mensaje en la parte superior de esta página.
++
++	Para reactivar la entrega de correo, ubique una opción identificada
++	como ``Entrega del correo'' y seleccione ``Habilitar'' para iniciar
++	de nuevo a recibir el correo.  Para deshacerse de su puntaje de
++	mensajes devueltos, usted puede desactivar y luego volver a activar
++	la entrega.  Más instrucciones sobre la desactivación o activación
++	de la entrega del correo se encuentran en la Sección~\ref{sec:nomail}.
++
++	\note{Aún si usted no estuviera inhabilitado en el momento en que
++	revisa, usted podría estar recibiendo mensajes devueltos y no haber
++	alcanzado el límite para que su suscripción se desactive.  Usted puede
++	necesitar revisar de nuevo.}
++
++	\item Hay un retardo o interrupción en las redes existentes entre
++	usted y el servidor de listas.
++
++	Por mucho que nos gustaría, Internet no es 100\% confiable ni siempre
++	es rápida.  Algunas veces los mensajes simplemente demoran mucho
++	tiempo en llegar.  Trate de ser paciente, especialmente si el servidor
++	está alejado (en términos de redes, no geográficamente, aunque a
++	menudo lo uno implica lo otro) de su proveedor de servicio de
++	Internet.
++
++	Para revisar si esta podría ser la causa de su problema, usted puede
++	probar realizando un ping al servidor de la lista o trazar la ruta
++	entre usted y él (las instrucciones de cómo hacer esto varía de una
++	plataforma a otra, así que usted puede desear usar un motor de
++	búsqueda para encontrar aquellas más apropiadas para usted).
++
++	\item El servidor de correo o Mailman podrían no estar funcionando
++	correctamente.  Esto puede ocurrir si el sistema está sobrecargado con
++	virus o spam y el sistema de correo que aloja Mailman tiene problemas
++	al procesarlos.
++	
++	Para revisar si este es el caso, pruebe utilizando el interfaz web de
++	la lista y trate de enviar un mensaje a
++	\email{NOMBRELISTA-request at DOMINIO} con la orden ``\var{help}'' (sin
++	las comillas) en la línea de \mailheader{Asunto}.  Si nada de esto
++	funciona después de un razonable lapso de tiempo, ese puede ser el
++	problema.  Usted puede desear contactar al administrador de la lista
++	o al administrador del sitio.
++\end{itemize}
++
++% ============================================================================
++\section{Envíos agrupados}
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo puedo iniciar o dejar de recibir los mensajes enviados a la
++lista agrupados en un correo de gran tamaño? (opción digest)\label{sec:digest}}
++
++Los grupos de envíos se llaman ``digests'' en Mailman.  En lugar de recibir
++los mensajes de uno en uno, usted puede recibir los mensajes agrupados (digests).
++En una lista bastante ocupada, esto típicamente significa que usted recibe
++un correo por día, aunque podría ser más o menos frecuente dependiendo de la
++lista.
++
++Usted también puede desear mirar la Sección~\ref{sec:MIME} que trata sobre
++los envíos agrupados en formato MIME y texto plano. 
++
++Para activar o desactivar los envíos en modo agrupado usando la interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la 
++	Sección~\ref{sec:web} más detalles de cómo hacer esto).
++	\item Ubique la sección identificada como ``Activar envíos agrupados''  
++
++	Seleccione ``On'' para recibir los envíos agrupados.  Seleccione
++	``Off'' para recibir por separado cada uno de los envíos.
++\end{enumerate}
++
++Para activar o desactivar los envíos en modo agrupado usando el interfaz de
++correo electrónico:
++\begin{enumerate} 
++   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la orden
++   \var{set~digest~plain} o \var{set~digest~mime} o \var{set~digest~off}.
++   
++   Las órdenes pueden aparecer ya sea en el cuerpo o el la línea de asunto
++   de un mensaje (ver en la Sección~\ref{sec:email} más información sobre el
++   envío de órdenes de correo).
++   
++   \item Seleccione ``off'' si usted desea recibir los mensajes cada uno por
++   separado y seleccione ``plain'' o ``mime'' para recibir los mensajes
++   agrupados en un gran correo, en forma periódica.  Mire en la
++   Sección~\ref{sec:MIME} más información sobre envíos agrupados en formato
++   MIME versus texto plano.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Qué son los Envíos Agrupados MIME o de Texto Plano?  ¿Cómo puedo
++decidir cuales recibir? (opción digest)\label{sec:MIME}}
++
++MIME es la sigla de Multipurpose Internet Mail Extensions (Extensiones 
++Multipropósito de Correo de Internet).  Se usa para enviar por correo
++electrónico cosas que no necesariamente son simple texto plano (por
++ejemplo, se podría usar MIME si usted fuera a enviar una fotografía de
++su perro a un amigo).
++
++Un envío agrupado en formato MIME contiene cada mensaje como un adjunto dentro
++del mensaje, junto con un resumen de la tabla de contenido.
++
++Un envío agrupado en formato texto plano es una forma más simple de envío
++agrupado, el cual debería ser legible aún en los lectores de correo que no
++soportan MIME.  Los mensajes se ponen simplemente uno después de otro en un
++gran mensaje de texto.
++
++Los programas de correo más modernos soportan MIME, así que usted sólo
++necesita seleccionar envíos agrupados en formato de texto plano si
++está teniendo problemas al leer los que están en formato MIME.
++
++\note{Esta opción no tiene efecto si usted no está recibiendo correo
++en modo agrupado (mire en la Sección~\ref{sec:digest} más información
++sobre recepción del correo en modo agrupado).}
++
++Para seleccionar el tipo de envíos agrupados a recibir, usando el interfaz
++web:
++\begin{enumerate}
++   \item Ingrese a su página de opciones de suscriptor (mire en la
++   Sección~\ref{sec:web} más detalles de cómo hacer esto).
++   \item Ubique la sección identificada como ``¿Recibir envíos agrupados MIME
++   o de texto plano?''
++
++   Seleccione ``MIME'' para recibir los envíos agrupados en formato MIME, o
++   ``Plain text'' para recibir los envíos agrupados en formato de texto plano.
++\end{enumerate}
++
++Esto también se puede cambiar para múltiples listas al mismo tiempo si
++usted está suscrito a más de una lista en el mismo dominio.  Mire en la
++Sección~\ref{sec:global} la información sobre cambios globales de
++configuración.
++
++Para seleccionar su tipo de envíos agrupados a recibir, usando el interfaz
++de correo electrónico:
++\begin{enumerate}
++   \item Envíe un correo electrónico a \email{NOMBRELISTA-request at DOMINIO}
++   con la orden \var{set~digest~plain} o \var{set~digest~mime}.
++
++   Los comandos pueden aparecer ya sea en el cuerpo o en la línea de
++   asunto del mensaje (mire en la Sección~\ref{sec:email} más información
++   sobre envío de órdenes de correo).
++
++   \item Seleccione ``plain'' para recibir los envíos agrupados en formato
++   de texto plano, o ``mime'' para recibir los envíos agrupados en formato
++   MIME.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\section{Temas de listas de correo\label{sec:topics}}
++
++Algunas listas están configuradas para que Mailman maneje diferentes temas.
++Por ejemplo, la lista de cursos en Linuxchix.org es una lista de discusión
++para cursos que se están dictando para miembros de linuxchix, y a menudo, hay
++varios cursos que se están dictando al mismo tiempo (por ejemplo, redes para
++principiantes, programación en C, etiquetado de documentos \LaTeX).
++
++Cada uno de estos cursos que se están dictando está asociado con un tema
++diferente en la lista de manera que la gente puede escoger que curso o cursos
++tomar.  El administrador debe configurar los temas, pero es responsabilidad
++de cada suscriptor asegurarse que cada envío tenga el tema correcto.
++Usualmente, ello requiere adicionar una palabra o etiqueta de algún tipo a
++la línea de asunto (por ejemplo: [Redes] ¿Qué tipos de cables necesito?)
++o asegurarse que la línea \mailheader{Palabras claves} tiene la información
++correcta (por omisión, usted puede poner una sección \mailheader{Palabras
++claves} en el comienzo del cuerpo de su mensaje, pero esto lo puede configurar
++su administrador de la lista).  Note que estas etiquetas no son sensibles a
++minúsculas/mayúsculas.
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo puedo asegurarme que mis envíos tienen el tema apropiado?
++	\label{sec:posttopic}}
++
++Cuando un administrador de lista define un tema, puede definir tres cosas:
++\begin{itemize}
++	\item un nombre de tema
++	\item una expresión regular (regexp)
++	\item una descripción
++\end{itemize}
++
++Usted puede mirar esta información ingresando a su página de opciones de
++suscriptor (ver en la Sección~\ref{sec:web} más detalles de cómo hacer esto)
++y haciendo clic en el enlace ``Detalles'' de cualquiera de los temas que le
++interesen.
++
++Para enviar un mensaje sobre un determinado tema, usted necesita asegurarse
++que las \mailheader{Palabras claves} o las cabeceras de \mailheader{Asunto}
++de su mensaje concuerdan con la \emph{expresión regular} de ese tema.  Una
++expresión regular es un patrón que puede coincidir con más de una cosa.
++Realmente las expresiones regulares pueden ser mucho más complejas, así que
++usted puede sencillamente preguntar al administrador de la lista si usted no
++sabe como crear cabeceras o colas de una expresión dada.
++
++Si realmente usted desea saber más sobre expresiones regulares, siga leyendo,
++pero para la mayor parte, su administador de la lista debería incluir en la
++descripción del tema, lo que usted necesita adicionar a sus Palabras Claves o
++línea de Asunto para que coincida con el patrón del tema.
++
++La mayoría de expresiones de temas Mailman corresponderan a expresiones
++regulares bastante simples, así que en este documento simplemente se darán
++algunos ejemplos comunes.  Las expresiones regulares son un poquito complejas
++para enseñar aquí en unas pocas líneas, así que si usted realmente desea
++entender como trabajan, usted debería encontrar un instructivo o referencia en
++otro lado (por ejemplo, DevShed tiene un buen instructivo en
++\url{http://www.devshed.com/Server_Side/Administration/RegExp/})  
++
++Aquí hay algunos ejemplos de posibles expresiones regulares y líneas concordantes:
++\begin{tableii}{l|l}{}{Expresión Regular}{Líneas concordantes}
++	\lineii{zuff}{Palabras Claves: zuff}
++	\lineii{zuff}{Palabras Claves: ZUFF}
++	\lineii{zuff}{Palabras Claves: Zuff}
++	\lineii{zuff}{Palabras Claves: amarilis, zuff, puré de manzana}
++	\lineii{zuff}{Asunto: [zuff] ¿Tienes lo necesario para el zuff?}
++	\lineii{zuff}{Asunto: ¿Tienes lo apropiado para el zuff?}
++	\lineii{zuff}{Asunto: ¿Qué es zuff?}
++\hline
++	\lineii{\textbackslash[zuff\textbackslash]}{Palabras Claves: [zuff]}
++	\lineii{\textbackslash[zuff\textbackslash]}{Asunto: [zuff]    ¿Tienes lo necesario?}
++	\lineii{\textbackslash[zuff\textbackslash]}{Asunto: Tutoriales en línea de zuff (Re: [zuff] ¿Qué es zuff?)}
++\end{tableii}
++
++Unas pocas notas:
++\begin{itemize}
++	\item Las concordancias no son sensibles a mayúsculas/minúsculas, así
++	que si concuerda zuff, lo hará ZUFF, zuFF, y cualquier otra variación
++	en el uso de las mayúsculas/minúsculas.
++	\item Algunos caracteres tienen un significado especial en una
++	expresión regular, así que para concordar específicamente con esos
++	caracteres, ellos deben ser ``escapados'' con una diagonal inversa
++	(\textbackslash).  Como usted puede ver en los ejemplos de arriba,
++	los paréntesis rectangulares ([ y ]) son unos de esos caracteres
++	(otros incluyen ``.'', ``?'', y ``*'').  La diagonal inversa también
++	se usa para otras cosas (no es broma la complejidad de las expresiones
++	regulares: consulte en otra documentación los detalles sobre otros
++	usos del caracter de diagonal inversa), pero este es el uso más
++	probable en una expresión de tema.
++\end{itemize}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo me suscribo a algunos o a todos los temas de una lista?
++	\label{sec:sometopic}}
++
++Si el administrador de su lista configuró temas, usted puede elegir
++suscribirse solamente a una parte de la lista seleccionado los temas que usted
++desee recibir.
++
++Si usted desea recibir todos los mensajes enviados a la lista, asegúrese que
++usted no está suscrito a ninguno de los temas.
++
++Probablemente usted también desdea mirar la Sección~\ref{sec:notopic} la cual
++discute el cambio de su configuración para mensajes que no tienen temas
++definidos.
++
++Para seleccionar los temas que desea recibir, utilizado el interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la 
++	Sección~\ref{sec:web} más detalles de cómo hacer esto).
++	\item Ubique la sección identificada como ``¿A qué temas le gustaría
++	suscribirse?''
++
++	Si algún tema está definido, usted puede seleccionar aquelos que
++	desee.  Si usted no selecciona ningún tema de interés, usted recibirá
++	todos los mensajes enviados a la lista.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo logro o evito recibir mensajes sin tema definido?
++\label{sec:notopic}}
++Algunos mensajes no corresponderán con ninguno de los patrones de temas
++definidos.  Usted puede escoger recibir o ignorar tales mensajes que no
++coinciden.  Si usted desea recibir todos los mensajes enviados a la lista,
++asegúrse que usted no está suscrito a ningún tema específico (ver 
++Sección~\ref{sec:sometopic}).
++
++Si usted únicamente está suscrito a algunos temas, usted puede elegir si
++recibe o no recibe mensajes sin tema definido, de la misma forma cómo
++usted puede seleccionar suscribirse únicamente a ciertos temas.
++
++Para cambiar esta opción:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la 
++	Sección~\ref{sec:web} los detalles de cómo hacer esto).
++	\item Ubique la sección identificado como ``¿Desea recibir
++	mensajes que no concuerden con algún filtro de tema?''
++
++	Si usted desea recibir mensajes sin tema definido, seleccione ``Si''.
++	Si usted no desea recibir tales mensajes, seleccione ``No''.
++\end{enumerate}
++
++This setting has no effect if you are not subscribed to any topics.
++Este cambio no tiene efecto si usted no está suscrito a algún tema
++de las listas.
++
++% ============================================================================
++\section{Definiendo otras opciones}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cambiar Globalmente?  ¿Definir Globalmente? ¿Qué significa esto?
++	\label{sec:global}}
++
++Para algunas de las opciones dadas en su página de opciones de suscriptor, hay
++una casilla de verificación que dice ``Cambiar globalmente'' o ``Aplicar
++globalmente''.   Esto significa que si usted cambia esta opción, también se
++hará el cambio para todas las suscripciones que usted tenga en el mismo
++dominio.  Esto puede ser práctico si, por ejemplo, usted desea utilizar una
++misma contraseña para todas sus listas, o si usted sale de vacaciones y desea
++suspender la entrega de correo de todas las listas.
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo cambio el nombre que registré en Mailman?
++	\label{sec:changename}}
++
++Para cambiar su nombre de suscripción:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la
++	Sección~\ref{sec:web} más detalles de cómo hacer esto).
++	\item En la sección ``Cambio de su información de suscriptor de
++	NOMBRELISTA'', entre su nuevo nombre en el cuadro de texto apropiado.
++\end{enumerate}
++
++Esto también se puede cambiar para múltiples listas al mismo tiempo si usted está
++suscrito a más de una lista en el mismo dominio.  Mire en la Sección~\ref{sec:global}
++información sobre cambios globales de configuración.
++
++\note{Usted no necesita tener un nombre de suscriptor definido.}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo selecciono mi idioma preferido?}
++
++Mailman es multilingüe, lo que quiere decir que su interfaz se ha traducido a
++muchos idiomas diferentes.  El administrador de su lista puede habilitar
++varios idiomas para su uso cuando se interactúa con Mailman.  (Para obtener
++un listado completo de los idiomas disponibles mire
++\url{http://www.list.org/i18n.html}).  Si su lista tiene otros idiomas
++habilitados, usted puede utilizar el interfaz web y el interfaz de correo
++electrónico, en un idioma de su elección.
++
++\note{Esto no significa que los mensajes enviados a la lista estarán en el
++idioma que haya seleccionado.  Únicamente las plantillas y otros textos
++propios de Mailman, serán afectados por esta configuración.  Los envíos se
++hacen en el idioma que escriban los suscriptores.} 
++
++Su idioma preferido se define cuando usted se suscribe (mire la
++Sección\ref{sec:subscribe}), pero se puede cambiar posteriormente si la lista
++soporta más de un idioma.
++
++Para cambiar su idioma preferido en Mailman:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la
++	Sección~\ref{sec:web} las instrucciones sobre cómo hacer esto).
++	\item Vaya a la sección identificada como ``¿Qué idioma prefiere?''
++	y escoja el idioma apropiado de la lista desplegable.  Si no hay una
++	lista de idiomas, probablemente la lista en que se encuentra sólo
++	soporta un idioma.
++\end{enumerate}
++
++Si su lista no soporta el idioma que usted preferiría usar, puede contactar
++al administrador de la lista (NOMBRELISTA-owner at DOMINIO) para mirar si se
++puede adicionar, pero recuerde que esto puede representar mayor trabajo y el
++administrador de la lista o del sitio pueden no tener el tiempo necesario o
++la capacidad de hacerlo.
++
++Si el idioma de su elección no está disponible porque no existe traducción
++para Mailman, por favor considere ofrecer su tiempo como traductor voluntario.
++Para mayor información, usted puede desear consultar la lista de correo
++mailman-i18n en \url{http://mail.python.org/mailman/listinfo/mailman-i18n}.
++Información sobre el estado actual de los esfuerzos de internacionalización
++se encuentra en \url{http://www.list.org/i18n.html}.
++
++\note{i18n en una abreviatura para ``internationalization'' ya que la palabra
++comienza con una i, termina con una n, y tiene 18 letras entre ellas.  Si
++usted musita un poco, i18n inclusive suena un tanto como
++``internationalization''.}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo evito que mi nombre aparezca en la lista de suscriptores?
++	(opción hide)\label{sec:nolist}}
++
++Si usted por alguna razón no desea que su dirección de correo aparezca en la
++lista de suscriptores, puede optar por tenerla oculta.
++
++Las razones comunes para hacer esto incluyen el evitar correo basura no
++solicitado (spam).  Por omisión la lista de suscriptores se oculta para
++bloquear a recolectores de spam, pero si usted siente que esto es
++insuficiente, es bastante fácil eliminar su dirección de la lista de
++de suscriptores dada en las páginas de información o mediante una solicitud
++de correo electrónico (note que esto no oculta su dirección de los
++administradores de la lista).  Si usted desea mire en la 
++Sección~\ref{sec:antispam} más información sobre lo que Mailman hace para
++ayudar a evitar el spam.
++
++Para cambiar esta opción utilizando el interfaz web:
++\begin{enumerate}
++	\item Ingrese a su página de opciones de suscriptor (mire en la
++	Sección~\ref{sec:web} instrucciones sobre cómo hacer esto). 
++	\item Vaya a la sección identificada como ``¿Ocultarse de la lista
++	de suscriptores?'' y escoja ``Si'' para ocultar su nombre de la
++	lista, o ``No'' para permitir que su nombre aparezca en la lista.
++\end{enumerate}
++
++Para cambiar esta opción utilizando el interfaz de correo electrónico:
++\begin{enumerate} 
++   \item Envíe un correo a \email{NOMBRELISTA-request at DOMINIO} con la órden
++   \var{set~hide~on} o \var{set~hide~off}.
++
++   Las órdenes puede aparecer ya sea en el cuerpo o en la línea de asunto del
++   mensaje (mire en la Sección~\ref{sec:email} más información sobre el envío
++   de órdenes de correo.
++   \item Seleccione ``on'' para ocultar su dirección de correo electrónico de
++   la lista de membresía, u ``off'' para dejar de ocultar su dirección.
++\end{enumerate}
++
++% ============================================================================
++\section{Otras preguntas comunes}
++
++% ----------------------------------------------------------------------------
++\subsection{¿Cómo puedo consultar los archivos de la lista?}
++
++Si la lista se está archivando, los mensajes previamente enviados se pueden
++ver yendo a las páginas web del archivo, un enlace al cual se encuentra en la
++página de información de la lista y en la cabecera \mailheader{List-Archive}
++de todo mensaje enviado (a menos que el administración de su lista haya
++desactivado tales cabeceras).  Muchos programas de correo ocultan la cabecera
++de correo \mailheader{List-Archive}, así que usted primero necesita hacer que
++su programa de correo le muestre las cabeceras completas antes de que usted
++pueda mirar esa cabecera.
++
++Los archivos públicos usualmente tienen direcciones de la forma
++\url{http://SERVIDORWEB/pipermail/NOMBRELISTA/}, mientras que los archivos
++privados usualmente tienen direcciones de la forma
++\url{http://SERVIDORWEB/mailman /private/NOMBRELISTA}.
++
++Mire en la Sección~\ref{sec:web} más información sobre búsqueda de
++direcciones de una lista.
++
++% ----------------------------------------------------------------------------
++\subsection{¿Qué hace Mailman para ayudar a protegerme de correo basura no
++solicitado (spam)?\label{sec:antispam}}
++
++Los archivos de una lista técnica pueden incluir respuestas a un rango de
++preguntas diferentes.  A menudo, la gente que ha enviado estas respuestas
++estaría gustoso de ayudar a alguien que no entiende completamente la
++respuesta, y no le preocuparía dar su dirección para ese propósito.  Pero
++aunque sería maravilloso si todos nos puedieramos contactar unos a otros con
++facilidad, también queremos asegurarnos que la gente que envía spam no abuse
++de la lista ni de los archivos de la lista.
++
++Para hacer que un rango de opciones esté disponible a los administradores de
++listas, Mailman permite una variedad de configuraciones para ayudar a proteger
++las direcciones de correo.  Muchos de estas configuraciones son opcionales
++para el administrador de la lista, así que su lista particular puede estar
++configurada en forma diferente.  Los administradores de listas deben encontrar
++un punto de equilibrio entre proteger a suscriptores y hacerlo difícil para que
++la gente se ponga en contacto.
++
++\begin{itemize}
++	\item Lista de suscriptores
++		\begin{itemize}
++			\item El administrador de la lista puede seleccionar entre tener
++			la lista de suscriptores pública, visible únicamente a miembros
++			de la lista, o visible únicamente a administradores de la lista.
++			\item La lista de suscriptores se muestra con las direcciones
++			disimuladas para que a los recolectores de spam se les dificulte
++			obtener su dirección.
++			\item Usted puede mantener su dirección oculta de la lista de
++			suscriptores (mire más información en la Sección~\ref{sec:nolist}).
++			\item \note{La lista entera de suscriptores siempre está
++			disponible a los administradores de la lista.}
++		\end{itemize}
++
++	\item Archivos de la lista
++		\begin{itemize}
++			\item El administrador de la lista pueden elegir que los archivos
++			sean públicos, visibles únicamente a suscriptores (privados), o
++			completamente no disponibles.
++			\item Los archivos HTML que son creados por Pipermail (el programa
++			de archivado que viene incluido por omisión con Mailman) contienen
++			únicamente direcciones disimuladas.  Existen otros programas de
++			archivado que modifican las direcciones en diferentes grados para
++			que permanezcan menos legibles.
++			\item Si usted desea estar más seguro, puede definir la cabecera
++			de correo ``\mailheader{X-No-archive} yes'' y Mailman no
++			archivará sus envíos.  Similarmente, puede definir la cabecera de
++			correo ``\mailheader{X-Archive} no'' para inhabilitar el
++			archivado.
++
++			\warning{Esto no evita que otros suscritores reenvíen sus mensajes,
++			posiblemente aún, incluyendo su dirección de correo electrónico.}
++		\end{itemize}
++
++	\item Envíos limitados a las listas
++		\begin{itemize}
++			\item El administrador de la lista puede elegir quien puede
++			envíar a la lista.  La mayoría de las listas, se moderan
++			(un moderador o administrador revisa cada envío), se configuran
++			para que solamente los suscriptores puedan enviar a la lista, o
++			se permite que cualquier persona pueda enviar a la lista.
++			\item Permitiendo que solamente los suscriptores puedan enviar
++			a la lista, Mailman a menudo bloquea todo el spam y algunos
++			virus que se envían a la lista.  Como tal, esta es una
++			configuración bastante común utilizada por los administradores
++			de listas.
++		\end{itemize}
++
++	\item Listas anónimas
++		\begin{itemize}
++			\item Las listas también se pueden volver completamente anónimas:
++			toda la información que identifique al remitente se elimina de
++			la cabecera antes de enviar un mensaje.
++			\item Esto no es tipicamente usado  como medida anti-spam (tiene
++			otros usos), pero se podría usar en esa forma si se quisiera.
++		\end{itemize}
++\end{itemize}
++
++Por supuesto, muchos métodos para disimular direcciones pueden ser burlados por
++determinadas personas, así que sea consciente de que las protecciones usadas
++pueden no ser suficientes.
++
++% ============================================================================
++\appendix
++% ----------------------------------------------------------------------------
++\section{Referencia rápida de órdenes de correo electrónico\label{a:commands}}
++\begin{list}{}{}
++	\item confirm $<$CADENA-DE-CONFIRMACIÓN$>$
++		\begin{list}{}{}
++			\item
++	Confirma una acción.  La cadena de confirmación es obligatoria y se 
++	debería enviar en la respuesta al mensaje de confirmación enviado por
++	Mailman.
++		\end{list}
++
++   \item end
++		\begin{list}{}{}
++			\item
++	Termina el procesamiento de órdenes.  Utilice esta orden si su programa
++	de correo añade automáticamente un archivo de firma.
++		\end{list}
++
++   \item help
++		\begin{list}{}{}
++			\item
++	Recibe una copia del mensaje de ayuda.
++		\end{list}
++
++   \item info
++		\begin{list}{}{}
++			\item
++	Obtiene información acerca de la lista.
++		\end{list}
++
++   \item lists
++		\begin{list}{}{}
++			\item
++	Obtiene una listado de las listas de correo (cuyos nombres se muestran
++	públicamente), del servidor GNU Mailman.
++		\end{list}
++
++    \item {password [$<$CONTRASEÑA-ANTERIOR$>$ $<$CONTRASEÑA-NUEVA$>$] [address=$<$DIRECCIÓN$>$]}
++		\begin{list}{}{}
++			\item
++	Obtiene o cambia su contraseña.  Sin argumentos, devuelve su contraseña actual.
++	Usted puede cambiar su contraseña indicando los argumentos
++	$<$CONTRASEÑA-ANTERIOR$>$ y $<$CONTRASEÑA-NUEVA$>$
++		\end{list}
++
++    \item set ...
++		\begin{list}{}{}
++			\item
++	Cambia o muestra sus opciones de membresía.
++
++	Use `set help' (sin las comillas) para obtener una lista más detallada de
++	las opciones que puede cambiar.  Esta lista también se presenta en el
++        Apéndice~\ref{a:options}.
++
++        Use `set show' (sin las comillas) para mirar la configuración actual de
++	sus opciones.
++		\end{list}
++
++    \item{subscribe [$<$CONTRASEÑA$>$] [digest|nodigest] [address=$<$DIRECCIÓN$>$]}
++		\begin{list}{}{}
++			\item
++	Suscribirse a la lista de correo.  Usted debe proporcionar su
++	contraseña para desuscribirse o cambiar sus opciones, pero si omite
++	la contraseña, Mailman le generará una.  Usted puede obtener recordatorios
++	de su contraseña periódicamente.
++
++	El siguiente parámetro puede ser ya sea: `nodigest' o `digest' (sin
++	comillas).  Si usted desea suscribir una dirección diferente de la
++	dirección desde donde está enviando esta solicitud, puede especificar
++	`address=$<$DIRECCIÓN$>$' (sin paréntesis angulares ni comillas).
++		\end{list}
++
++    \item {unsubscribe [$<$CONTRASEÑA$>$] [address=$<$DIRECCIÓN$>$]}
++		\begin{list}{}{}
++			\item
++	Desuscribirse de la lista de correo.  Si usted suministra una contraseña,
++	ésta debe concordar con su contraseña actual.  Si se omite, el sistema
++	le enviará un mensaje de confirmación para desuscribir la dirección.
++	Si usted desea desuscribir una dirección diferente a la dirección desde
++	donde envía esta solicitud, puede especificar `address=$<$DIRECCIÓN$>$' 
++	(sin paréntesis angulares ni comillas).
++		\end{list}
++
++    \item {who [$<$CONTRASEÑA$>$] [address=$<$DIRECCIÓN$>$]}
++		\begin{list}{}{}
++			\item
++	Muestra quien pertenece a la lista de correo.  La lista está limitada
++	únicamente a los suscriptores, y usted debe proporcionar su contraseña
++	de membresía para obtenerla.  Si usted está enviando desde una dirección
++	diferente a su dirección de membresía, especifique su dirección de
++	membresía con `address=$<$DIRECCIÓN$>$' (sin paréntesis angulares ni
++	comillas).
++		\end{list}
++\end{list}
++
++% ----------------------------------------------------------------------------
++\section{Referencia rápida de opciones del suscriptor\label{a:options}}
++
++\begin{list}{}{}
++   \item set help
++		\begin{list}{}{}
++	        \item Muestra esta ayuda detallada.
++		\end{list}
++
++   \item {set show [address=$<$DIRECCIÓN$>$]}
++		\begin{list}{}{}
++        \item Muestra la configuración actual de sus opciones.  Si usted está
++	enviando desde una dirección diferente de su dirección de membresía,
++	especifique su dirección de membresía con `address=$<$DIRECCIÓN$>$'
++	(sin paréntesis angulares ni comillas).
++		\end{list}
++
++   \item {set authenticate $<$CONTRASEÑA$>$ [address=$<$DIRECCIÓN$>$]}
++		\begin{list}{}{}
++        \item Para cambiar cualquiera de sus opciones, usted debe incluir este
++	comando primero, junto con su contraseña de membresía.  Si usted está
++	enviando desde una dirección diferente de su dirección de membresía,
++	especifique su dirección de membresía con `address=$<$DIRECCIÓN$>$'
++	(sin paréntesis angulares ni comillas).
++		\end{list}
++
++   \item set ack on\\
++    set ack off
++		\begin{list}{}{}
++			\item
++        Cuando se activa la opción `ack', usted recibirá un mensaje de
++	acuso de recibo cada vez que usted envíe un mensaje a la lista.
++		\end{list}
++
++   \item set digest plain\\
++    set digest mime\\
++    set digest off
++		\begin{list}{}{}
++			\item
++	Cuando la opción `digest' está desactivada, usted recibirá los mensajes  
++        inmediatamente cuando ellos se envían.  Use `set digest plain' si en
++	su lugar desea recibir los mensajes agrupados en formato texto plano
++	(p.e. envíos agrupados RFC 1153).  Use `set digest mime' si en su lugar
++	desea recibir los mensajes agrupados en formato MIME.
++		\end{list}
++
++   \item set delivery on\\
++    set delivery off
++		\begin{list}{}{}
++			\item
++	Activa o desactiva la entrega.  Esta opción no lo desuscribe, en lugar
++	de ello, hace que Mailman deje de entregarle mensajes.  Esto puede ser
++	útil si usted sale de vacaciones.  ¡Asegúrese de usar `set delivery on'
++	cuando regrese de vacaciones!
++		\end{list}
++
++   \item set myposts on\\
++    set myposts off
++		\begin{list}{}{}
++			\item
++        Use `set myposts off' para evitar recibir copias de los mensajes que
++	usted envía a la lista.  Esto no tiene efecto si usted está recibiendo
++	envíos agrupados.
++		\end{list}
++
++    \item set hide on\\
++    set hide off
++		\begin{list}{}{}
++			\item
++        Use `set hide on' para ocultar su dirección de correo electrónico cuando
++	la gente solicite la lista de suscriptores.
++		\end{list}
++
++    \item set duplicates on\\
++    set duplicates off
++		\begin{list}{}{}
++			\item
++        Use `set duplicates off' si usted desea que Mailman no le envíe 
++	mensajes si su dirección está explicitamente en los campos To: o
++	Cc: del mensaje.  Esto puede reducir el número de envíos duplicados
++	que usted recibe.
++		\end{list}
++
++    \item set reminders on\\
++    set reminders off
++		\begin{list}{}{}
++        \item Use `set reminders off' si usted desea desactivar el recordatorio
++	mensual de contraseña para la lista de correo.
++		\end{list}
++\end{list}
++
++\end{document}
+Index: doc/mailman-member.tex
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ doc/mailman-member.tex	2006-08-15 15:14:20.000000000 +0800
+@@ -0,0 +1,1505 @@
++% Complete documentation on the extended LaTeX mark up used for Python
++% documentation is available in ``Documenting Python'', which is part
++% of the standard documentation for Python.  It may be found online
++% at:
++%
++%     http://www.python.org/doc/current/doc/doc.html
++
++\documentclass{howto}
++
++%  This is a template for short or medium-size Python-related documents, 
++% mostly notably the series of HOWTOs, but it can be used for any
++% document you like.   
++
++% The title should be descriptive enough for people to be able to find
++% the relevant document. 
++\title{GNU Mailman - List Member Manual}
++
++% Increment the release number whenever significant changes are made.
++% The author and/or editor can define 'significant' however they like.
++\release{0.03}
++% CHANGELOG
++% 0.03 Proofreading changes 
++% 0.02 Proofreading changes
++%   - proofread by Margaret McCarthy and Jason Walton 
++% 0.01 First draft of document
++
++% At minimum, give your name and an email address.  You can include a
++% snail-mail address if you like.
++\author{Terri Oda}
++\authoraddress{terri(at)zone12.com}
++
++\date{\today}        % XXX update before tagging release!
++\release{2.1}        % software release, not documentation
++\setreleaseinfo{}    % empty for final release
++\setshortversion{2.1}      % major.minor only for software
++
++\begin{document}
++\maketitle
++
++% This makes the Abstract go on a separate page in the HTML version;
++% if a copyright notice is used, it should go immediately after this.
++%
++\ifhtml
++\chapter*{Front Matter\label{front}}
++\fi
++
++% Copyright statement should go here, if needed.
++% ...
++
++% The abstract should be a paragraph or two long, and describe the
++% scope of the document.
++\begin{abstract}
++\noindent
++This document describes the list member interface for GNU
++Mailman 2.1.  It contains instructions for subscribing, unsubscribing, 
++viewing the archives, editing user options, getting password reminders,
++and other subscriber-level tasks.  It also answers some common questions
++of interest to Mailman list members.
++\end{abstract}
++
++\tableofcontents
++
++% ============================================================================
++\section{Introduction}
++
++This document is intended to help the members of a Mailman 2.1 mailing list
++learn to use the features available to them.  It covers the use of the
++web and email interfaces for subscribing and unsubscribing, changing 
++member options, getting password reminders and other subscriber-level
++tasks.  It also answers some common questions of interest to Mailman list
++members.
++
++Information for list and site administrators is provided in
++other documents.
++
++This document need not be read in order.  If you are simply looking for
++an answer to a specific question, jump to the appropriate place and 
++references to other sections will be provided if necessary or potentially 
++helpful.
++
++\note{For the purposes of this document, 
++we assume that the reader is familiar with common terms related to email (eg:
++Subject line, body of the message) and web sites (eg: drop-down box, button) or
++can look them up.  We also assume that the reader can already use his or her
++email program and web browser well enough that instructions such as "send email
++to this address" or "visit this web page" or "fill in the form provided" are
++clear.  If you are not familiar with these actions, you may want to consult
++other documentation to learn how to do these things with your particular
++setup.} 
++
++% ----------------------------------------------------------------------------
++\subsection{Acknowledgements}
++
++Sections of this document have been borrowed from the List Administrator Manual
++found in Mailman CVS, which was written by Barry A. Warsaw, and from the in-line
++help for Mailman 2.1.  
++
++The rest of this manual has been written by Terri Oda.
++Terri has been maintaining mailing lists since the year she attained 
++voting age in Canada, although the two are not related.  She currently 
++oversees the mailing lists at Linuxchix.org, as well as several smaller 
++servers.  In the world outside of list administration, Terri is doing 
++work with an artificial life spam detector, and is actually more of a 
++programmer than technical writer.
++
++Proofreading thanks go to Margaret McCarthy and Jason Walton.
++
++%WRITEME: More here.  Do we need a license statement here?
++
++% ----------------------------------------------------------------------------
++\subsection{What is a mailing list?}
++
++A mailing list is simply a list of addresses to which the same information
++is being sent.  If you were a magazine publisher, you would have a list of
++the mailing addresses of all the subscribers to the magazine.  In the case
++of an electronic mailing list, we use a list of email addresses from people
++interested in hearing about or discussing a given topic.  
++
++Two common types of email mailing lists are announcement lists and discussion 
++lists.  
++
++Announcement lists are are used so that one person or group can send
++announcements to a group of people, much like a magazine publisher's mailing
++list is used to send out magazines.  For example, a band may use a mailing list
++to let their fan base know about their upcoming concerts.
++
++
++A discussion list is used to allow a group of people to discuss topics amongst
++themselves, with everyone able to send mail to the list and have it distributed
++to everyone in the group.  This discussion may also be moderated, so only
++selected posts are sent on to the group as a whole, or only certain people are
++allowed to send to the group.  For example, a group of model plane enthusiasts
++might use a mailing list to share tips about model construction and flying.
++
++Some common terms:
++\begin{itemize}
++	\item A "post" typically denotes a message sent to a mailing list.  
++	(Think of posting a message on a bulletin board.)
++	\item People who are part of an electronic mailing list are usually called 
++	the list's "members" or "subscribers."  
++	\item  "List administrators" are the people in charge of maintaining that 
++	one list.  Lists may have one or more administrators.
++	\item A list may also have people in charge of reading posts and deciding
++	if they should be sent on to all subscribers.  These people are called
++	list moderators.
++	\item Often more than one electronic mailing list will be run using the same
++	piece of software.  The person who maintains the software which runs
++	the lists is called the "site administrator."  Often the site administrator
++	also administrates individual lists.
++\end{itemize}
++% ----------------------------------------------------------------------------
++\subsection{GNU Mailman}
++
++GNU Mailman is software that lets you manage electronic mailing lists. It
++supports a wide range of mailing list types, such as general discussion
++lists and announce-only lists.  Mailman has extensive features which make it
++good for list subscribers, such as easy subscription and unsubscription, 
++privacy options, and the ability to temporarily stop getting posts from the 
++list.  The list member features are covered in this document.
++
++Mailman also has many features which make it attractive to list and site 
++administrators.  These features are covered in the list and site administrator
++manuals.
++
++% ============================================================================
++\section{Translating from our examples to real lists}
++
++Often, it's easier to simply give an example than explain exactly how
++to find the address for your specific list.  As such, we'll frequently 
++give examples for a fictional list called 
++\email{LISTNAME at DOMAIN} whose list information page can be found at
++\url{http://WEBSERVER/mailman/listinfo/LISTNAME}.  
++
++Neither of these are
++real addresses, but they show the form of a typical list address.
++The capital letters used for the list-specific parts of each address should 
++make it easier to see what should be changed for each
++list. Although specific list configurations may be different, you will
++probably be able to just replace the words given in capital letters with the
++appropriate values for a real list:
++
++\begin{description}
++	\item [LISTNAME] The name of your list.
++	\item [DOMAIN] The name of the mail server which handles that list. 
++	\item [WEBSERVER] The name of the web server which handles the list web interface.  This may be the same as DOMAIN, and often refers to the same machine, but does not have to be identical. 
++\end{description}
++
++As a real-life example, if you are interested in the mailman-users list, you'd 
++make the following substitutions: LISTNAME=mailman-users, DOMAIN=python.org, WEBSERVER=mail.python.org.  As such, for the 
++\email{mailman-users at python.org}
++mailing list, the list information page can be found at the URL
++\url{http://mail.python.org/mailman/listinfo/mailman-users}.  (These, unlike 
++most of the examples given in this document, are real addresses.)
++
++Most lists will have this information stored in the \mailheader{List-*} 
++headers.  Many
++mail programs will hide these by default, so you may have to choose to view
++full headers before you can see these informational headers.  
++
++% ============================================================================
++\section{Mailman's interfaces}
++Mailman has two different interfaces for the list subscriber: the web 
++interface and the email interface.  Most discussion list subscribers use 
++the email interface, since this includes the email address you use to send 
++mail to all the subscribers of that list.
++
++The interface you use for changing options is largely
++a matter of preference, since most (but not all) of the options which can 
++be changed from the web interface can also be changed by email.
++ Usually it is easier to use the web interface for 
++changing options, since the web interface provides instructions as you go, but
++there are times when people may prefer the email interface, so both are 
++provided.
++
++% ----------------------------------------------------------------------------
++\subsection{The web interface\label{sec:web}}
++The web interface of Mailman is its selling point for many administrators,
++since it makes it much easier for subscribers and administrators to see 
++which options are available, and what these options do.  
++
++Every mailing list is also accessible by a number of web pages.  Note that
++the exact URLs are configurable by the site administrator, so they may be
++different than what's described below.  We'll describe the most common
++configuration, but check with your site administrator or hosting
++service for details.
++
++\begin{description}
++	\item [List information (listinfo) page]
++		\begin{itemize}
++			\item Usually found at \url{http://WEBSERVER/mailman/listinfo/LISTNAME}
++			 (for example, \url{http://lists.example.com/mailman/listinfo/mylist})
++
++			\item The listinfo page is the starting point for the subscriber
++			interface.  As one would assume from the name it's given, it 
++			contains information about the LISTNAME list.
++			Usually all the other subscriber pages can be accessed from this
++			point, so you really only need to know this one address.
++
++		\end{itemize}
++
++	\item [Member options page]
++		\begin{itemize}
++			\item Usually found at \url{http://WEBSERVER/mailman/options/LISTNAME/EMAIL}
++			(For example, \url{http://lists.example.com/mailman/options/mylist/kathy@here.com})
++
++			\item This page can also be accessed by going to the listinfo page
++			and entering your email address into the box beside the button
++			marked "Unsubscribe or Edit Options" (this is near the bottom of the
++			page).
++
++			\item The member options page allows you to log in/out and change your 
++			list settings, as well as unsubscribe or get a copy of your password
++			mailed to you. 
++
++			\item \textbf{To log in to your member options page}: 
++			If you are not already logged in, there will be a box near the top for
++			you to enter your password.  (If you do not know your password, see 
++			Section~\ref{sec:getpassword} for more information on getting your 
++			password.)  Enter your password in the box and press the button.
++
++			\item Once you are logged in, you will be able to view and change
++			all your list settings.
++
++		\end{itemize}
++	\item [List Archives] 
++		\begin{itemize}
++			\item Usually found at \url{http://WEBSERVER/pipermail/LISTNAME} if the 
++			list is publicly archived, and 
++			\url{http://WEBSERVER/mailman/private/LISTNAME} if the list is privately
++			archives.  (For example, 
++			\url{http://lists.example.com/pipermail/mylist} or
++			\url{http://lists.example.com/mailman/private/mylist})
++
++			\item The list archive pages have copies of the posts sent to the
++			mailing list, usually grouped by month.  In each monthly group, the
++			posts are usually indexed by author, date, thread, and subject.
++
++			\item \note{Pipermail is the name of the default archiver that
++			comes with Mailman.  Other archive programs are available.}
++
++			\item If the archive is private, you will need to supply your
++			subscribed email address and your password to log in.  (See
++			Section~\ref{sec:getpassword} for more information on getting
++			your password.)
++		\end{itemize}
++\end{description}
++
++% ----------------------------------------------------------------------------
++\subsection{The email interface\label{sec:email}}
++Every mailing list has a set of email addresses to which messages can be 
++sent.  There's always one address for posting messages to the list, one
++address to which bounces are sent, and addresses for processing email
++commands.  For a fictional mailing list called
++\email{mylist at example.com}, you'd find these addresses:
++
++\begin{itemize}
++\item \email{mylist at example.com} -- this is the email address people should
++      use for new postings to the list.
++
++\item \email{mylist-join at example.com} -- by sending a message to this address,
++      a new member can request subscription to the list.  Both the
++      \mailheader{Subject} header and body of such a message are
++      ignored.  Note that mylist-subscribe at example.com is an alias for
++      the -join address.
++
++\item \email{mylist-leave at example.com} -- by sending a message to this address,
++      a member can request unsubscription from the list.  As with the
++      -join address, the \mailheader{Subject} header and body of the
++      message is ignored.  Note that mylist-unsubscribe at example.com is
++      an alias for the -leave address.
++
++\item \email{mylist-owner at example.com} -- This address reaches the list owner
++      and list moderators directly.  This is the address you use if 
++		you need to contact the person or people in charge.
++
++\item \email{mylist-request at example.com} -- This address reaches a mail robot
++      which processes email commands that can be used to set member
++      subscription options, as well as process other commands.
++      A list of members' email commands is provided in 
++		Appendix~\ref{a:commands}.
++
++\item \email{mylist-bounces at example.com} -- This address receives bounces from
++      members whose addresses have become either temporarily or
++      permanently inactive.  The -bounces address is also a mail robot
++      that processes bounces and automatically disables or removes
++      members as configured in the bounce processing settings.  Any
++      bounce messages that are either unrecognized, or do not seem to
++      contain member addresses, are forwarded to the list
++      administrators.
++
++\item \email{mylist-confirm at example.com} -- This address is another email
++      robot, which processes confirmation messages for subscription
++      and unsubscription requests.
++\end{itemize}
++
++There's also an -admin address which also reaches the list administrators,
++but this address only exists for compatibility with older versions of
++Mailman.
++
++For changing options, we use the \email{LISTNAME-request}
++address (for example, \email{mylist-request at example.com}).
++
++Commands can appear in the subject line or the body of the message.  Each 
++command should be on a separate line.  If your mail program automatically
++appends a signature to your messages, you may want to put the word
++"\var{end}" (without the quotes) on a separate line after your other commands. 
++The \var{end} command tells Mailman not to process the email after that
++point.
++
++The most important command is probably the "\var{help}" command, since it 
++makes Mailman return a message full of useful information about the
++email commands and directions to the web interface.
++
++Quick references to the subscriber commands have been provided in 
++Appendices \ref{a:commands} and \ref{a:options}. (These have been slightly
++adapted from the output of the \var{help} command.)
++
++
++% ============================================================================
++\section{I need to talk to a human!\label{sec:human}}
++
++If you have any trouble with any of these commands, you can always reach the
++person or people in charge of a list by using the list administrator email address. 
++The list administrators can help you figure out
++how to do something, subscribe/unsubscribe you, or change your 
++settings if you are unable to change them yourself for some reason.  Please
++remember that many mailing list administrators are volunteers who are donating
++their spare time to run the list, and they may be very busy people.
++
++This list administrator email address is in the form \email{LISTNAME-owner at DOMAIN}, where LISTNAME is the name of the list (eg: mailman-users) and DOMAIN is
++the name of the server (eg: python.org).  
++This email address, 
++along with the email addresses of specific administrators, is given on the 
++bottom of the list information pages. See Section~\ref{sec:web} for more 
++information on finding the list information page for your list
++
++% ============================================================================
++\section{Subscribing and unsubscribing}
++Since subscribing (joining) and unsubscribing (leaving) lists are often the 
++only things a list member needs to know, these can both be done without 
++requiring you to know a password.
++
++% ----------------------------------------------------------------------------
++\subsection{How do I join a list? (subscribe)\label{sec:subscribe}}
++
++There are two common ways you can subscribe to a Mailman mailing list. 
++
++Using the web interface:
++\begin{enumerate}
++	\item Go to the list information page for the list you want to join. 
++	(This will probably be something like 
++	\url{http://WEBSERVER/mailman/listinfo/LISTNAME})
++	\item Look for the section marked "Subscribing to LISTNAME" and fill in the 
++	boxes.  You can fill in the following:
++	\begin{itemize}
++		\item You \emph{must} enter your email address.
++		\item You may choose to supply your real name.
++		\item You may choose a password.   If you do not choose one, Mailman will
++		 generate one for you.  
++
++		\warning{Do NOT use a valuable password, since this 
++		password may be mailed to you in plain text.  }
++		\item If the list supports more than one language, you may be able to 
++		choose your preferred language.  \note{This setting does not affect
++		posts to the list, only pre-prepared Mailman texts such as your member
++		options page.}
++	\end{itemize}
++	\item Press the subscribe button.  A new page should appear telling you 
++	that your request has been sent.
++\end{enumerate}
++
++Using the email interface:
++\begin{enumerate}
++	\item Open a mail program which sends mail from the address you want to
++	subscribe.
++	\item Send a mail to the list subscription address, which will be in the 
++	form \email{LISTNAME-join at DOMAIN}.  The subject and body
++	of the message will be ignored, so it doesn't matter what you put there.
++\end{enumerate}
++
++After following one of these sets of instructions (you don't need to do
++both!), there are a few possible outcomes depending upon the settings for
++that list. 
++\begin{itemize}
++	\item You may receive an email message asking for confirmation that you 
++really want to be subscribed to the list.  This is to prevent anyone from
++subscribing you to lists without your permission.  Follow the instructions
++given in the message to confirm your wish to be subscribed.
++	\item A moderator may also need
++to confirm your subscription if you are subscribing to a limited list.  
++	\item Or
++you may have to wait for a moderator \textit{and} follow the instructions in
++the confirmation mail.
++\end{itemize}
++
++Once this is done, you will likely receive another message welcoming you to
++the list.  This message contains some useful information including your list
++password and some quick links for changing your options, so you may want to
++save it for later reference.
++
++\note{Subscribing can be done in other ways as well.  See 
++Appendix~\ref{a:commands} for more advanced email subscribing commands.}
++
++% ----------------------------------------------------------------------------
++\subsection{How do I leave a list? (unsubscribe)\label{sec:unsubscribe}}
++
++Don't want to be on a list any more?  If you're just going on vacation or
++are too busy to read mails and want to temporarily turn them off, you may want
++to stop mail delivery rather than unsubscribing.  This means you keep your
++password and other settings so you can, for example, still have access to 
++private list archives.  If this is what you'd
++prefer, see Section~\ref{sec:nomail} for instructions on disabling mail
++delivery temporarily.
++
++If you actually want to leave the list, there are two common ways you can
++unsubscribe from a Mailman mailing list.
++
++Using the web interface:
++\begin{enumerate}
++	\item Go to the list information page for the list you want to leave.
++	(This will probably be something like 
++	\url{http://WEBSERVER/mailman/listinfo/LISTNAME})
++	\item Look for the section marked "LISTNAME subscribers" (usually found 
++	near the bottom of the page).
++	\item There should be a button marked "Unsubscribe or Edit Options."  
++	Enter your email address in the box beside this button and press the
++	button.
++	\item You should be brought to a new page which has an "Unsubscribe"
++	button.  Press it to unsubscribe and follow the instructions given.
++\end{enumerate}
++
++Using the email interface:
++\begin{enumerate}
++	\item Open a mail program which sends mail from the address you want to 
++	unsubscribe.
++	\item Send a mail to the list unsubscribe address, which will be of the form
++	\email{LISTNAME-leave at DOMAIN}.  
++	The subject and body
++	of this message will be ignored, so it doesn't matter what you put there.
++\end{enumerate}
++
++After following one of these sets of instructions (you don't need to do
++both!), you will be sent a confirmation mail and must follow the
++instructions given in that mail to complete the unsubscription.  This is to
++stop people from unsubscribing you without your permission.  In addition, a
++moderator may need to approve your unsubscription.
++
++If you do not receive this confirmation mail with instructions, make sure
++that you typed your email address correctly (if you were using the web 
++interface to unsubscribe) and that the address you tried
++to unsubscribe is, indeed, actually subscribed to that list.  For security
++reasons, Mailman generates the same member options page regardless of
++whether the address entered is subscribed or not.  This means that people
++cannot use this part of the web interface to find out if someone is
++subscribed to the list, but it also means that it's hard to tell if you just
++made a typo.
++
++Once your unsubscription has been processed, you will will probably receive
++another message confirming your unsubscription from the list, and at that
++point you should stop receiving messages.
++
++If you wish to skip the confirmation process (for example, you might be
++unsubscribing an address which no longer works), it is possible to bypass it by
++using your password instead and either logging in to your options page using
++it (See Section~\ref{sec:web}), or sending it with your email commands to
++LISTNAME-request (See Appendix~\ref{a:commands} for advanced email 
++unsubscription commands). See Section~\ref{sec:getpassword} for more 
++information on getting your password.
++
++% ============================================================================
++\section{Passwords\label{sec:password}}
++Your password was either set by you or generated by Mailman when you
++subscribed. 
++You probably got a copy of it in a
++welcome message sent when you joined the list, and you may also receive a
++reminder of it every month.  It is used to verify your identity to Mailman
++so that only the holder of the password (you!) and the administrators
++can view and change your settings.  
++
++\warning{Do NOT use a valuable password for Mailman, since it can be
++sent in plain text to you.}
++
++% ----------------------------------------------------------------------------
++\subsection{How do I get my password?\label{sec:getpassword}}
++If you've forgotten your password and haven't saved the welcome message or 
++any reminder messages, you can always get a reminder through the web interface:
++
++\begin{enumerate}
++	\item Go to the list information page for the list from which you wish to 
++	get your password
++	(This will probably be something like 
++	\url{http://WEBSERVER/mailman/listinfo/LISTNAME})
++	\item Look for the section marked "LISTNAME subscribers" 
++	(this section is usually found near the bottom of the page).
++	\item There should be a button marked "Unsubscribe or Edit Options."  
++	Enter your email address in the box beside this button and press the
++	button.
++	\item You should be brought to a new page which has an "Password 
++	Reminder" section.  Press the "Remind" button to have your password
++	emailed to you.
++\end{enumerate}
++
++If you do not receive the password reminder email after doing this, make sure 
++that you typed your
++email address correctly and that the address you used is, indeed, actually
++subscribed to that list.  For security reasons, Mailman generates the same
++member options page regardless of whether the address entered is subscribed
++or not.  This means that people cannot use this part of the web interface to
++find out if someone is subscribed to the list, but it also means that it's
++hard to tell if you just made a typo.
++
++You can also get a reminder using the email interface, 
++\begin{enumerate}
++	\item Send a mail to \email{LISTNAME-request at DOMAIN} with the command 
++	\var{password}
++
++	Commands can appear
++	in either the body or the subject of the message.  (See 
++	Section~\ref{sec:email} for more information about sending mail
++	commands.)  
++
++	If you are not sending mail from your subscribed address, you can also
++	specify this address by sending the command \nolinebreak{\var{password~address=$<$ADDRESS$>$}}.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{How do I change my password?}
++		\warning{Do NOT use a valuable password, since this 
++		password may be mailed to you in plain text.  }
++
++From the web interface:
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} for 
++   instructions on how to do this.)
++
++	\item Look for the password changing boxes on the right-hand side of the
++	page and enter your new password in the appropriate boxes, then press the
++	button marked "Change My Password."
++\end{enumerate}
++
++This can also be changed for multiple lists at the same time if you are subscribed to 
++more than one list on the same domain.  See Section~\ref{sec:global} for 
++information about changing settings globally.
++
++
++From the email interface:
++\begin{enumerate}
++	\item Send a mail to \email{LISTNAME-request at DOMAIN} with the command 
++	\nolinebreak{\var{password~$<$OLDPASSWORD$>$~$<$NEWPASSWORD$>$}}.  
++
++	Commands can appear
++	in either the body or the subject of the message.  (See 
++	Section~\ref{sec:email} for more information about sending mail
++	commands.)  
++
++	If you are not sending mail from your membership address, you can also
++	specify this address with \var{address=$<$ADDRESS$>$} after $<$NEWPASSWORD$>$.
++	
++	For example, if \email{kathy at here.com} wanted to change her \var{mylist}
++	password from \var{zirc} to \var{miko}, but she was sending mail from 
++	her work address \email{kathy at work.com}, she could send a message
++	to \email{mylist-request at example.com} with the subject set to 
++	\nolinebreak{\var{password~zirc~miko~address=kathy at here.com}}.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{How do I turn password reminders on or off? (reminders option)}
++If you don't wish to the reminder email including your password every month, 
++you can disable it from the member options page.  (You can always get the
++password mailed out when you actually want it.  See 
++Section~\ref{sec:getpassword} for instructions.)
++
++Using the web interface:
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} for 
++	instructions on how to do this.)
++	\item Look for the section marked "Get password reminder email for this
++	list?" and change the value accordingly.
++\end{enumerate}
++
++This can also be changed for multiple lists at the same time if you are subscribed to 
++more than one list on the same domain.  See Section~\ref{sec:global} for 
++information about changing settings globally.
++
++Using the email interface:
++\begin{enumerate}
++   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
++   \var{set~reminders~on} or \var{set~reminders~off}.
++
++   Commands can appear
++   in either the body or the subject of the message.  (See
++   Section~\ref{sec:email} for more information about sending mail
++   commands.)
++	\item Set it to "on" to receive reminders, and "off" to stop receiving
++	reminders.
++\end{enumerate}
++
++
++% ============================================================================
++\section{Changing mail delivery}
++% ----------------------------------------------------------------------------
++\subsection{How do I turn mail delivery on or off? 
++	(delivery option)\label{sec:nomail}}
++
++You may wish to temporarily stop getting messages from the 
++list without having to unsubscribe.
++If you disable mail delivery, you will no longer receive messages, but will
++still be a subscriber and will retain your password and other settings.  
++
++This can be handy in a many different cases.  For example, you could be 
++going on vacation or need a break from the list because you're too busy to 
++read any extra mail. 
++Many mailing lists also allow only subscribers to post to the list, so if you
++commonly send mail from more than one address (eg, one address for at home
++and another for when you're travelling), you may want to have more than
++one subscribed account, but have only one of them actually receive mail.
++You can also use this as a way to read private archives even on a list which
++may be too busy for you to have sent directly to your mailbox.  All you need to do is subscribe, disable mail delivery, and use your password and email to 
++log in to the archives.
++
++To disable/enable mail delivery using the web interface:
++\begin{enumerate}
++	\item Log in to your options page. (See Section~\ref{sec:web} for instructions.)
++	\item Go down to the section marked "Mail delivery" and select "Disabled"
++		to stop receiving mail, and "Enabled" to start receiving mail.
++\end{enumerate}
++
++This can also be changed for multiple lists at the same time if you are subscribed to 
++more than one list on the same domain.  See Section~\ref{sec:global} for 
++information about changing settings globally.
++
++To disable/enable mail delivery using the email interface:
++\begin{enumerate}
++   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
++   \var{set~delivery~off} or \var{set~delivery~on}.
++
++   Commands can appear
++   in either the body or the subject of the message.  (See
++   Section~\ref{sec:email} for more information about sending mail
++   commands.) 
++	\item Set it to "off" to stop receiving posts, and "on" to start
++	receiving them again.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{How can I avoid getting duplicate messages? (duplicates option)
++\label{sec:nodupes}}
++
++Mailman can't completely stop you from getting duplicate messages, but it 
++can help.  One common reason people get multiple copies of a mail is that 
++the sender has used a "group reply" function to send mail to both the list and 
++some number of individuals.  If you want to avoid getting these messages,
++Mailman can be set to check and see if you are in the \mailheader{To} or
++\mailheader{CC} lines of the message.  If your address appears there,
++then Mailman can be told not to deliver another copy to you.
++
++To turn this on or off using the web interface:
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} 
++	for more details on how to do this.)
++	\item Scroll down to the bottom of the page to the section marked
++	"Avoid duplicate copies of messages?" and change the value accordingly.
++\end{enumerate}
++
++This can also be changed for multiple lists at the same time if you are subscribed to 
++more than one list on the same domain.  See Section~\ref{sec:global} for 
++information about changing settings globally.
++
++To turn this on or off using the email interface:
++\begin{enumerate}
++   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
++   \var{set~duplicates~on} or \var{set~duplicates~off}.
++
++   Commands can appear
++   in either the body or the subject of the message.  (See
++   Section~\ref{sec:email} for more information about sending mail
++   commands.)
++	\item Set it to "on" to receive list copies of messages already sent
++	to you, set it to "off" to avoid receiving these duplicates.
++\end{enumerate}
++
++
++% ----------------------------------------------------------------------------
++\subsection{How do I change my subscription address?\label{sec:changeaddress}}
++To change your subscription address, 
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} 
++	for more details on how to do this.)
++	\item In the section marked "Changing your LISTNAME membership information,"
++	enter your new address.
++	\item If you wish to change your address for all subscriptions using the 
++	old address, select the "Change globally" box.  If you have subscriptions
++	under another address or for lists on a different domain, these will have
++	to be done separately. See Section~\ref{sec:global} for more
++	information about changing settings globally.
++\end{enumerate}
++
++There is no special way to do this from the email interface, but you can 
++subscribe and unsubscribe for more or less the same effect.  (See 
++Sections~\ref{sec:subscribe} and \ref{sec:unsubscribe} for more information
++on subscribing and unsubscribing.)
++
++% ----------------------------------------------------------------------------
++\subsection{How do I stop or start getting copies of my own posts? (myposts
++	option)\label{sec:getown}}
++By default in Mailman, you get a copy of every post you send to the list.  
++Some people like this since it lets them know when the post has gone through
++and means they have a copy of their own words with the rest of a discussion, 
++but others don't want to bother downloading copies of their own posts.
++
++\note{This option has no effect if you are receiving digests.}
++
++You may also want to see Section~\ref{sec:getack}, which discusses 
++acknowledgement emails for posts sent to the list.
++
++To set this using the web interface:
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} 
++	for more details on how to do this.)
++	\item Look for the section marked "Receive your own posts to the list?"  
++	Set it to "Yes" to receive copies of your own posts, and  "No" to avoid
++	receiving them.
++\end{enumerate}
++
++To set this using the email interface:
++\begin{enumerate}
++   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
++   \var{set~myposts~on} or \var{set~myposts~off}.
++
++   Commands can appear
++   in either the body or the subject of the message.  (See
++   Section~\ref{sec:email} for more information about sending mail
++   commands.)
++	\item Set it to "on" to receive copies of your own posts, and "off"
++	to avoid receiving them.
++\end{enumerate}
++
++
++% ----------------------------------------------------------------------------
++\subsection{How can I get Mailman to tell me when my post has been received
++by the list? (ack option)\label{sec:getack}}
++
++On most lists, you will simply receive a copy of your mail when it has gone
++through the list software, but if this is disabled (See 
++Section~\ref{sec:getown}), your list mail delivery is disabled (See
++Section~\ref{sec:nomail}), you are not subscribed to that topic (See
++Section~\ref{sec:sometopic}) or you
++simply want an extra acknowledgement from the system, this option may
++be useful to you.
++
++\note{If you are not subscribed to the list, this option cannot be used.  
++You must either check the archives yourself (if the list has public archives),
++ask someone who is subscribed to the list, or subscribe to use this option.}
++
++To set this using the web interface:
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} 
++	for more details on how to do this.)
++	\item Look for the section marked "Receive acknowledgement mail when you
++	send mail to the list?"  
++	Set it to "Yes" to receive a mail letting you know your post has been
++	received, and  "No" to avoid receiving such an acknowledgement.
++\end{enumerate}
++
++To set this using the email interface:
++\begin{enumerate}
++   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
++   \var{set~ack~on} or \var{set~ack~off}.
++
++   Commands can appear
++   in either the body or the subject of the message.  (See
++   Section~\ref{sec:email} for more information about sending mail
++   commands.)
++	\item Set it to "on" if you wish to receive mail letting you know your 
++	post has been received, and  "off" to avoid receiving such an 
++	acknowledgement.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\subsection{I don't seem to be getting mail from the lists.  What should
++	I do?}
++There are a few common reasons for this:
++\begin{itemize}
++	\item No one has sent any mail to the list(s) you're on for a little while.
++
++	To check if this is the case, try visiting the archives of the list 
++	(assuming that the list has archives).  If the list has no archives, you
++	may have to ask another subscriber.  (See Section~\ref{sec:web} for help
++	in finding the list archives.)
++
++	\note{Generally, it is considered 
++	impolite to send test messages to the entire list.
++	If you feel a need to test that the list is working and for some reason you
++	cannot simply compose a regular message to the list, it is less disruptive 
++	to send a help message to
++	the list request address (LISTNAME-request at DOMAIN) to see if that works,
++	or to contact the list 
++	administrator (LISTNAME-owner at DOMAIN) to ask if the list is working.}
++
++	\item You were bouncing mail and have had mail delivery (temporarily) 
++	disabled by the list software.
++
++	If your mail provider "bounces" too many messages (that is, it tells
++	Mailman that the message could not be delivered)
++	Mailman eventually stops trying to send you mail.  This feature allows
++	Mailman to gracefully handle addresses which no longer exist (for example,
++	the subscriber has found a new internet service provider and forgot to 
++	unsubscribe the old address), as well
++	as addresses which are temporarily out-of-service (for example, the 
++	subscriber has used up all of the allotted space for his or her email
++	account, or the subscriber's mail provider is experiencing difficulties).
++
++	Even if you are unaware of any difficulties with your mail provider, it 
++	is a good idea to check this.  Some popular webmail providers and 
++	internet servers are not as reliable as one might assume, nor is the
++	internet as a whole.  You may want to also send yourself a test message
++	from another account or ask a friend to send you a test message to make
++	sure your subscribed address is working.
++
++	To check if this may be the reason you are not receiving messages, log in 
++	to the your options page (See
++	Section~\ref{sec:web} for more details on how to do this) and 
++	look at your options.  There should be one marked "Mail Delivery" --
++	if it is set to "Disabled," set it to "Enabled" to start receiving mail
++	again. (For more instructions on disabling or enabling mail delivery,
++	see Section~\ref{sec:nomail}.)
++
++	\note{Even if you have not been disabled at the time you check, you could be
++	bouncing messages and not have reached the threshold for your 
++	subscription to be disabled.  You may need to check again.}
++
++	\item There is a delay or break in the networks between you and the 
++	list server.
++
++	No matter what many of us would like, the internet is not 100\% 
++	reliable, nor is it always fast.  Sometimes, messages simply take a long 
++	time to get to you.  Try to be patient, especially if the server is far 
++	(in terms of networks, not geography, although often one implies the other)
++	from your internet service provider.
++
++	To check if this might be causing your problem, you can try pinging
++	the list server or tracing the route between you and it.  (Instructions
++	on how to do this varies from platform to platform, so you may want to 
++	use a search engine to find those appropriate for you.)
++
++	\item The Mailman installation on the list server is not functioning or
++	not functioning properly.
++	
++	To test if this is a case, try visiting the list's web interface and 
++	try sending a message to \email{LISTNAME-request at DOMAIN} with the command 
++	"\var{help}" (without the quotes) in the \mailheader{Subject}.  If 
++	neither of these works after a reasonable length of time, this may be
++	the problem.  You may wish to contact either the list or site 
++	administrator(s).
++\end{itemize}
++
++
++% ============================================================================
++\section{Digests}
++% ----------------------------------------------------------------------------
++\subsection{How can I start or stop getting the list posts grouped into one 
++big email? (digest option)\label{sec:digest}}
++
++Groups of posts are called "digests" in Mailman.  Rather than get messages
++one at a time, you can get messages grouped together.  On a moderately busy
++list, this typically means you get one email per day, although it may be
++more or less frequent depending upon the list.
++
++You may also want to look at Section~\ref{sec:MIME} which discusses MIME
++and plain text digests.
++
++To turn digest mode on or off using the web interface,
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} 
++	for more details on how to do this.)
++	\item Look for the section marked "Set Digest Mode."  
++
++	Set it to "On" to 
++	receive messages bundled together in digests.  Set it to "Off" to 
++	receive posts separately.
++\end{enumerate}
++
++To turn digest mode on or off using the email interface,
++\begin{enumerate} 
++   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
++   \var{set~digest~plain} or \var{set~digest~mime} or \var{set~digest~off}.
++   
++   Commands can appear
++   in either the body or the subject of the message.  (See
++   Section~\ref{sec:email} for more information about sending mail
++   commands.)
++   \item Set it to "off" if you wish to receive individual posts separately,
++	and to "plain" or "mime" to receive posts grouped into one large mail.
++	See Section~\ref{sec:MIME} for more information on plain versus MIME
++	digests.
++\end{enumerate}
++
++
++% ----------------------------------------------------------------------------
++\subsection{What are MIME and Plain Text Digests?  How do I change which one
++I get? (digest option)\label{sec:MIME}}
++
++MIME is short for Multipurpose Internet Mail Extensions.  It is used to 
++send things by email which are not necessarily simple plain text.  (For 
++example, MIME would be used if you were sending a picture of your dog to 
++a friend.)  
++
++A MIME digest has each message as an attachment inside the message, along
++with a summary table of contents.  
++
++A plain text digest is a simpler form of digest, which should be readable 
++even in mail readers which don't support MIME.  The messages are simply put 
++one after the other into one large text message.
++
++Most modern mail programs do support MIME, so you only need to choose 
++plain text digests if you are having trouble reading the MIME ones.
++
++\note{This option has no effect if you are not receiving mail bunched
++as digests.  (See Section~\ref{sec:digest} for more information on 
++receiving mail as digests.)}
++
++To set your digest type using the web interface:
++\begin{enumerate}
++   \item Log in to your member options page.  (See Section~\ref{sec:web}
++   for more details on how to do this.)
++   \item Look for the section marked "Get MIME or Plain Text Digests?."
++
++	Set it to "MIME" to receive digests in MIME format, or "Plain text" to 
++	receive digests in plain text format. 
++\end{enumerate}
++
++This can also be changed for multiple lists at the same time if you are subscribed to 
++more than one list on the same domain.  See Section~\ref{sec:global} for 
++information about changing settings globally.
++
++To set your digest type using the email interface,
++\begin{enumerate}
++   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
++   \var{set~digest~plain} or \var{set~digest~mime}.
++
++   Commands can appear
++   in either the body or the subject of the message.  (See
++   Section~\ref{sec:email} for more information about sending mail
++   commands.)
++   \item Set it to "plain" to get posts bundled into a plain text digest,
++	or "mime" to get posts bundled together into a MIME digest.
++\end{enumerate}
++
++% ----------------------------------------------------------------------------
++\section{Mailing list topics\label{sec:topics}}
++
++Some lists are set up so that different topics are handled by Mailman.
++For example, the courses list on Linuxchix.org is a discussion list for
++courses being run by linuxchix members, and often there are several courses
++being run at the same time.  
++(eg: Networking for beginners, C programming, \LaTeX ~document mark up.)  
++Each of the courses being run is a separate topic on the list so that people
++can choose only to receive the course they want to take.
++
++These
++topics must be configured by the list administrator, but it is the
++responsibility of each poster to make sure that their post is put with 
++the correct topic.  Usually, this means adding a tag of some type to the 
++subject line (eg: [Networking] What type of cables do I need?) or making
++sure the \mailheader{Keywords} line has the right information.  (By default, 
++you can put a \mailheader{Keywords} section in the beginning of the body
++of your message, but this can be configured by your list administrator.)
++Note that these tags are case-insensitive.
++
++% ----------------------------------------------------------------------------
++\subsection{How do I make sure that my post has the right 
++	topic?\label{sec:posttopic}}
++
++When a list administrator defines a topic, he or she sets three things:
++\begin{itemize}
++	\item a topic name
++	\item a regular expression (regexp)
++	\item a description
++\end{itemize}
++
++You can view this information by logging in to your member options page. 
++ (See Section~\ref{sec:web} for more details on how to do this.) and 
++clicking on the "details" link for any topic that interests you.
++
++To post on a given topic, you need to make sure that the 
++\mailheader{Keywords} or \mailheader{Subject} headers in a message  
++match the \emph{regular expression} for that topic.  
++Regular expressions can actually be fairly complex, so you may want to 
++just ask the list administrator if you don't know how to make
++heads or tails of the expression given.  
++
++Most Mailman topic expressions will be fairly simple regular expressions, so 
++in this document we will simply give you some common examples.  Regular 
++expressions are a bit too complex to teach in a few lines here, so if you
++really want to understand how the regular expressions work, you should
++find a tutorial or reference elsewhere.  (For example, DevShed has a decent
++tutorial at 
++\url{http://www.devshed.com/Server_Side/Administration/RegExp/})  
++
++Here are some examples of possible regular expressions and matching lines:
++
++\begin{tableii}{l|l}{}{Regular expression}{Matching lines}
++	\lineii{zuff}{Keywords: zuff}
++	\lineii{zuff}{Keywords: ZUFF}
++	\lineii{zuff}{Keywords: Zuff}
++	\lineii{zuff}{Keywords: amaryllis, zuff, applesauce}
++	\lineii{zuff}{Subject: [zuff] Do you have the right stuff for zuff?}
++	\lineii{zuff}{Subject: Do you have the right stuff for zuff?}
++	\lineii{zuff}{Subject: What is zuff?}
++\hline
++	\lineii{\textbackslash[zuff\textbackslash]}{Keywords: [zuff]}
++	\lineii{\textbackslash[zuff\textbackslash]}{Subject: [zuff]	Do you have the right stuff?}
++	\lineii{\textbackslash[zuff\textbackslash]}{Subject: Online zuff tutorials (was Re: [zuff] What is zuff?)}
++\end{tableii}
++
++A few notes:
++\begin{itemize}
++	\item The matching is case-insensitive, so if zuff matches, so will ZUFF,
++	 zuFF, and any other variations in capitalization.
++	\item Some characters have special meaning in a regular expression, so
++	to match those characters specifically, they must be "escaped" with a 
++	backslash (\textbackslash).  As you can see in the above example, 
++	[ and ] are such characters.  (Others include ".", "?", and "*").  
++	The backslash is also used for other things (I wasn't kidding about 
++	regular expressions being complex: consult other documentation
++	for details about other uses of the backslash character), but this 
++	is the most likely use in a topic expression.
++\end{itemize}
++
++% ----------------------------------------------------------------------------
++\subsection{How do I subscribe to all or only some topics on a 
++	list?\label{sec:sometopic}}
++
++If topics have been set up by your mailing list administrator, you can 
++choose to subscribe to only part of a list by selecting the topics you
++want to receive.
++
++If you wish to get all messages sent to the list, make sure you 
++are not subscribed to any topics.
++
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} 
++	for more details on how to do this.)
++	\item Look for the section marked "Which topic categories would you like 
++	to subscribe to?" 
++
++	If any topics are defined, you can select those you wish.  If you do
++	not select any topics of interest, you will receive all posts 
++	sent to the list.
++\end{enumerate}
++
++You probably also want to look at Section~\ref{sec:notopic} which discusses
++changing your settings for messages where no topic is set.
++
++% ----------------------------------------------------------------------------
++\subsection{How do I get or avoid getting messages with no topic set?
++\label{sec:notopic}}
++If you wish to get all messages sent to the list, make sure you are 
++not subscribed to any specific topic.  (See Section~\ref{sec:sometopic}.)  
++
++If you are only subscribed to some topics, you can either choose to either
++receive or not receive messages with no topic set, much the way you can 
++choose to subscribe only to certain topics.
++
++To change this setting,
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} 
++	for more details on how to do this.)
++	\item Look for the section marked "Do you want to receive message that do 
++	not match any topic filter?"
++
++	If you wish to receive messages with no topic set, select "Yes."  If you
++	do not wish to receive such messages, choose "No."
++\end{enumerate}
++
++This setting has no effect if you are not subscribed to any topics.
++
++% ============================================================================
++\section{Setting other options}
++
++% ----------------------------------------------------------------------------
++\subsection{Change Globally?  Set Globally? What does that mean?
++	\label{sec:global}}
++
++For some of the options given in your member options page, there is a 
++tick-box which says "Change Globally" or "Set Globally."  
++This means that if you change this
++option, you can also have the change made for all your other list 
++subscriptions with the same address to lists on the same domain.  
++This can be handy if, for example, you 
++want to make sure all your passwords are the same, or you are going on 
++vacation and want to turn off mail delivery from all the lists.
++
++% ----------------------------------------------------------------------------
++\subsection{How do I change my name as Mailman knows it?
++	\label{sec:changename}}
++
++To change your subscription name, 
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} 
++	for more details on how to do this.)
++	\item In the section marked "Changing your LISTNAME membership information,"
++	enter your new name in the appropriate box.
++\end{enumerate}
++
++This can also be changed for multiple lists at the same time if you are subscribed to 
++more than one list on the same domain.  See Section~\ref{sec:global} for 
++information about changing settings globally.
++
++\note{You do not need to have a subscription name set.}
++
++% ----------------------------------------------------------------------------
++\subsection{How do I set my preferred language?}
++
++Mailman is available with many different languages.
++(For a complete listing see \url{http://mailman.sourceforge.net/i18n.html}.)  This means that, if your list has
++other languages enabled, you may be able to have the web interface, etc. in a 
++language of your choice.  
++
++\note{This does NOT necessarily mean that all the posts sent to the list will 
++be in the language you selected.  Only the pre-prepared texts presented by 
++Mailman will be affected by this setting.  Posts are in whatever language the
++poster uses.}
++
++Your preferred language is set when you subscribe (see 
++Section\ref{sec:subscribe}), and can be changed later if the list supports
++more than one language.  
++
++To change your preferred language in Mailman,
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} for 
++   instructions on how to do this.)
++	\item Go to the section marked "What language do you prefer?" and choose
++	the appropriate language from the drop-down list.  If there is no
++	drop-down list of languages, the list you are on probably only supports
++	one language.  
++\end{enumerate}
++
++If your list does not support the language you would prefer to use, you may
++contact the list administrator (LISTNAME-owner at DOMAIN) to see if it can be 
++added, but remember that this may mean some work that the list and/or site 
++administrator(s) do not have time or the ability to do.  
++
++If your language of choice is not available because no translation
++exists for Mailman, please consider volunteering your time as a translator.
++For more information you may want to consult the mailman-i18n mailing 
++list at \url{http://mail.python.org/mailman/listinfo/mailman-i18n}.
++(i18n is a common short-hand for "internationalization" because the word starts 
++with an i, ends with an n, and has 18 letters in between.  If you mumble a bit,
++i18n even sounds a bit like "internationalization.")
++
++% ----------------------------------------------------------------------------
++\subsection{How do I avoid having my name appear on the subscribers list?
++	(the hide option)\label{sec:nolist}}
++
++If you do not want to have your email address show up on the subscriber list
++for any reason, you can opt to have it concealed.
++
++Common reasons for doing this include avoiding unsolicited bulk email (spam).  
++By default, the subscribers list is obscured to hinder spam harvesters,
++but if you feel this is insufficient it's easy enough to remove address
++from the subscriber list given in the information pages or by email request.
++(Note that this does not conceal your address from the list administrators.)
++You may wish to see Section~\ref{sec:antispam} for more information on what
++Mailman can do to help avoid spam.  
++
++To change this setting using the web interface:
++\begin{enumerate}
++	\item Log in to your member options page.  (See Section~\ref{sec:web} for 
++   instructions on how to do this.)
++	\item Go to the section marked "Conceal yourself from subscriber list?" and
++	choose "Yes" to hide your name from the list, or "No" to allow your name
++	to appear on the list.
++\end{enumerate}
++
++To change this setting using the email interface:
++\begin{enumerate} 
++   \item Send a mail to \email{LISTNAME-request at DOMAIN} with the command
++   \var{set~hide~on} or \var{set~hide~off}.
++
++   Commands can appear 
++   in either the body or the subject of the message.  (See
++   Section~\ref{sec:email} for more information about sending mail
++   commands.)
++   \item Set it to "on" to conceal your email address from the membership
++	list, or "off" to stop concealing your address.
++\end{enumerate}
++
++% ============================================================================
++\section{Other common questions}
++
++% ----------------------------------------------------------------------------
++\subsection{How do I view the list archives?}
++If the list has archives, they can be viewed by going to a web page address.
++This address usually linked from the list information page and can be found in 
++the \mailheader{List-Archive} of every list message unless your list 
++administrator has disabled these headers.  (Many mail programs hide the 
++\mailheader{List-Archive} mail header, so you may have to tell your 
++mail program to allow you to view full headers before you will be able to 
++see it.)
++
++Public archives usually have addresses of the form 
++\url{http://WEBSERVER/pipermail/LISTNAME/} and private archives usually
++have addresses of the form \url{http://WEBSERVER/mailman/private/LISTNAME}.
++
++See Section~\ref{sec:web} for more information on finding the addresses of a
++list.
++
++% ----------------------------------------------------------------------------
++\subsection{What does Mailman do to help protect me from unsolicited bulk email
++(spam)?\label{sec:antispam}}
++
++A technical list's archives may include answers to a range of
++different questions.  Often, the people who have posted these answers would
++be happy to help someone who doesn't quite understand the answer, and don't
++mind giving their address out for that purpose.  But
++although it would be wonderful if everyone could contact each other easily,
++we also want to make sure that the list and list archives are not abused by 
++people who send spam.  
++
++To make a range of options available to list administrators, Mailman allows
++a variety of configurations to help protect email addresses.  
++Many of these settings are optional to the list administrator, so your
++particular list may be set up in many ways.  List administrators 
++must walk a fine line between protecting subscribers and making it difficult
++for people to get in touch.  
++
++\begin{itemize}
++	\item Subscriber lists
++		\begin{itemize}
++			\item The list administrator can choose to have the subscriber list
++			public, viewable only to list members, or viewable only to list 
++			administrators.
++			\item The subscriber list is shown with the addresses obscured to
++			make it difficult for spam harvesters to collect your address.
++			\item You can choose to have your address hidden from the subscriber
++			list.  (See Section~\ref{sec:nolist} for more information.) 
++			\item \note{The entire subscriber list is always available to the
++			list administrators.}
++		\end{itemize}
++
++	\item List archives
++		\begin{itemize}
++			\item The list administrator can choose for the archives to be public,
++			viewable only to members (private), or completely unavailable.
++			\item The HTML archives which are created by Pipermail (the 
++			archiving program which comes default with Mailman) contain only
++			obscured addresses.  Other archiving programs are available and can
++			do different levels of obfuscation to make addresses less readable.
++			\item If you wish to be more sure, you can set the mail header
++			\mailheader{X-no-archive} and Mailman will not archive your posts.
++			\warning{This does not stop other members from quoting your posts,
++			possibly even including your email address.}
++		\end{itemize}
++
++	\item Limited posting to the lists
++		\begin{itemize}
++			\item The list administrator can choose who can post to the list.
++			Most lists are either moderated (a moderator or administrator
++			reviews each posting), set so only subscribers may post to the list,
++			or allow anyone to post to the list.
++			\item By allowing only subscribers to post to a list, Mailman often 
++			blocks all spam and some viruses from being sent through the list.
++			As such, this is a fairly common setting used by list administrators.
++		\end{itemize}
++
++	\item Anonymous lists
++		\begin{itemize}
++			\item Lists can also be made fully anonymous: all identifying
++			information about the sender is stripped from the header before the
++			message is sent on.  
++			\item This is not typically used for anti-spam measures (it has
++			other uses), but it could be used in that way if desired.
++		\end{itemize}
++\end{itemize}
++
++Of course, many address-obscuring methods can be circumvented by determined 
++people, so be aware that the protections used may not be enough.
++
++% ============================================================================
++\appendix
++% ----------------------------------------------------------------------------
++\section{Email commands quick reference\label{a:commands}}
++\begin{list}{}{}
++	\item confirm $<$CONFIRMATION-STRING$>$
++		\begin{list}{}{}
++			\item
++        Confirm an action.  The confirmation-string is required and should be
++        supplied within a mailback confirmation notice.
++		\end{list}
++
++   \item end
++		\begin{list}{}{}
++			\item
++        Stop processing commands.  Use this if your mail program automatically
++        adds a signature file.
++		\end{list}
++
++   \item help
++		\begin{list}{}{}
++			\item
++        Receive a copy of the help message.
++		\end{list}
++
++   \item info
++		\begin{list}{}{}
++			\item
++        Get information about this mailing list.
++		\end{list}
++
++   \item lists
++		\begin{list}{}{}
++			\item
++        See a list of the public mailing lists on this GNU Mailman server.
++		\end{list}
++
++    \item {password [$<$OLDPASSWORD$>$ $<$NEWPASSWORD$>$] [address=$<$ADDRESS$>$]}
++		\begin{list}{}{}
++			\item
++        Retrieve or change your password.  With no arguments, this returns
++        your current password.  With arguments $<$OLDPASSWORD$>$ and $<$NEWPASSWORD$>$
++        you can change your password.
++		\end{list}
++
++    \item set ...
++		\begin{list}{}{}
++			\item
++        Set or view your membership options.
++
++        Use `set help' (without the quotes) to get a more detailed list of the
++        options you can change.  This list is also given in 
++        Appendix~\ref{a:options}.
++
++        Use `set show' (without the quotes) to view your current option
++        settings.
++		\end{list}
++
++    \item{subscribe [$<$PASSWORD$>$] [digest|nodigest] [address=$<$ADDRESS$>$]}
++		\begin{list}{}{}
++			\item
++        Subscribe to this mailing list.  Your password must be given to
++        unsubscribe or change your options, but if you omit the password, one
++        will be generated for you.  You may be periodically reminded of your
++        password.
++
++        The next argument may be either: `nodigest' or `digest' (no quotes!).
++        If you wish to subscribe an address other than the address you sent
++        this request from, you may specify `address=$<$ADDRESS$>$' (no brackets
++        around the email address, and no quotes!)
++		\end{list}
++
++    \item {unsubscribe [$<$PASSWORD$>$] [address=$<$ADDRESS$>$]}
++		\begin{list}{}{}
++			\item
++        Unsubscribe from the mailing list.  If given, your password must match
++        your current password.  If omitted, a confirmation email will be sent
++        to the unsubscribing address. If you wish to unsubscribe an address
++        other than the address you sent this request from, you may specify
++        `address=$<$ADDRESS$>$' (no brackets around the email address, and no
++        quotes!)
++		\end{list}
++
++    \item {who [$<$PASSWORD$>$] [address=$<$ADDRESS$>$]}
++		\begin{list}{}{}
++			\item
++        See everyone who is on this mailing list.  The roster is limited to
++        list members only, and you must supply your membership password to
++        retrieve it.  If you're posting from an address other than your
++        membership address, specify your membership address with
++        `address=$<$ADDRESS$>$' (no brackets around the email address, and no
++        quotes!)
++		\end{list}
++\end{list}
++
++% ----------------------------------------------------------------------------
++\section{Member options quick reference\label{a:options}}
++
++\begin{list}{}{}
++   \item set help
++		\begin{list}{}{}
++	        \item Show this detailed help.
++		\end{list}
++
++   \item {set show [address=$<$ADDRESS$>$]}
++		\begin{list}{}{}
++        \item View your current option settings.  If you're posting from an address
++        other than your membership address, specify your membership address 
++        with `address=$<$ADDRESS$>$' (no brackets around the email address, and no
++        quotes!).
++		\end{list}
++
++   \item {set authenticate $<$PASSWORD$>$ [address=$<$ADDRESS$>$]}
++		\begin{list}{}{}
++        \item To set any of your options, you must include this command first, along
++        with your membership password.  If you're posting from an address   
++        other than your membership address, specify your membership address  
++        with `address=$<$ADDRESS$>$' (no brackets around the email address, 
++        and no quotes!).
++		\end{list}
++
++   \item set ack on\\
++    set ack off
++		\begin{list}{}{}
++			\item
++        When the `ack' option is turned on, you will receive an
++        acknowledgement message whenever you post a message to the list.
++		\end{list}
++
++   \item set digest plain\\
++    set digest mime\\
++    set digest off
++		\begin{list}{}{}
++			\item
++        When the `digest' option is turned off, you will receive postings
++        immediately when they are posted.  Use `set digest plain' if instead
++        you want to receive postings bundled into a plain text digest
++        (i.e. RFC 1153 digest).  Use `set digest mime' if instead you want to
++        receive postings bundled together into a MIME digest.
++		\end{list}
++
++   \item set delivery on\\
++    set delivery off
++		\begin{list}{}{}
++			\item
++        Turn delivery on or off.  This does not unsubscribe you, but instead
++        tells Mailman not to deliver messages to you for now.  This is useful
++        if you're going on vacation.  Be sure to use `set delivery on' when
++        you return from vacation!
++		\end{list}
++
++   \item set myposts on\\
++    set myposts off
++		\begin{list}{}{}
++			\item
++        Use `set myposts off' to avoid receiving copies of messages you post to
++        the list.  This has no effect if you're receiving digests.
++		\end{list}
++
++    \item set hide on\\
++    set hide off
++		\begin{list}{}{}
++			\item
++        Use `set hide on' to conceal your email address when people request
++        the membership list.
++		\end{list}
++
++    \item set duplicates on\\
++    set duplicates off
++		\begin{list}{}{}
++			\item
++        Use `set duplicates off' if you want Mailman not to send you messages
++        if your address is explicitly mentioned in the To: or Cc: fields of
++        the message.  This can reduce the number of duplicate postings you
++        will receive.
++		\end{list}
++
++    \item set reminders on\\
++    set reminders off
++		\begin{list}{}{}
++        \item Use `set reminders off' if you want to disable the monthly password
++        reminder for this mailing list.
++		\end{list}
++\end{list}
++
++\end{document}
+Index: doc/posting-flow-chart.ps
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ doc/posting-flow-chart.ps	2006-08-15 15:14:20.000000000 +0800
+@@ -0,0 +1,735 @@
++%!PS-Adobe-2.0
++%%Title: posting-flow-chart
++%%Creator: Dia v0.86
++%%CreationDate: Mon Oct 15 13:46:55 2001
++%%For: a user
++%%DocumentPaperSizes: A4
++%%Orientation: Landscape
++%%BeginSetup
++%%EndSetup
++%%EndComments
++%%BeginProlog
++[ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
++/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
++/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
++/.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
++/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one
++/two /three /four /five /six /seven /eight /nine /colon /semicolon
++/less /equal /greater /question /at /A /B /C /D /E
++/F /G /H /I /J /K /L /M /N /O
++/P /Q /R /S /T /U /V /W /X /Y
++/Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c
++/d /e /f /g /h /i /j /k /l /m
++/n /o /p /q /r /s /t /u /v /w
++/x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef
++/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
++/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
++/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
++/space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright
++/ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior
++/acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf
++/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
++/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
++/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex
++/Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring
++/ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
++/eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave
++/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def
++/Times-Roman-latin1
++    /Times-Roman findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Times-Italic-latin1
++    /Times-Italic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Times-Bold-latin1
++    /Times-Bold findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Times-BoldItalic-latin1
++    /Times-BoldItalic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/AvantGarde-Book-latin1
++    /AvantGarde-Book findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/AvantGarde-BookOblique-latin1
++    /AvantGarde-BookOblique findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/AvantGarde-Demi-latin1
++    /AvantGarde-Demi findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/AvantGarde-DemiOblique-latin1
++    /AvantGarde-DemiOblique findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Bookman-Light-latin1
++    /Bookman-Light findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Bookman-LightItalic-latin1
++    /Bookman-LightItalic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Bookman-Demi-latin1
++    /Bookman-Demi findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Bookman-DemiItalic-latin1
++    /Bookman-DemiItalic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Courier-latin1
++    /Courier findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Courier-Oblique-latin1
++    /Courier-Oblique findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Courier-Bold-latin1
++    /Courier-Bold findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Courier-BoldOblique-latin1
++    /Courier-BoldOblique findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Helvetica-latin1
++    /Helvetica findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Helvetica-Oblique-latin1
++    /Helvetica-Oblique findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Helvetica-Bold-latin1
++    /Helvetica-Bold findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Helvetica-BoldOblique-latin1
++    /Helvetica-BoldOblique findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Helvetica-Narrow-latin1
++    /Helvetica-Narrow findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Helvetica-Narrow-Oblique-latin1
++    /Helvetica-Narrow-Oblique findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Helvetica-Narrow-Bold-latin1
++    /Helvetica-Narrow-Bold findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Helvetica-Narrow-BoldOblique-latin1
++    /Helvetica-Narrow-BoldOblique findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/NewCenturySchoolbook-Roman-latin1
++    /NewCenturySchoolbook-Roman findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/NewCenturySchoolbook-Italic-latin1
++    /NewCenturySchoolbook-Italic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/NewCenturySchoolbook-Bold-latin1
++    /NewCenturySchoolbook-Bold findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/NewCenturySchoolbook-BoldItalic-latin1
++    /NewCenturySchoolbook-BoldItalic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Palatino-Roman-latin1
++    /Palatino-Roman findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Palatino-Italic-latin1
++    /Palatino-Italic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Palatino-Bold-latin1
++    /Palatino-Bold findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Palatino-BoldItalic-latin1
++    /Palatino-BoldItalic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/Symbol-latin1
++    /Symbol findfont
++definefont pop
++/ZapfChancery-MediumItalic-latin1
++    /ZapfChancery-MediumItalic findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/ZapfDingbats-latin1
++    /ZapfDingbats findfont
++    dup length dict begin
++	{1 index /FID ne {def} {pop pop} ifelse} forall
++	/Encoding isolatin1encoding def
++    currentdict end
++definefont pop
++/cp {closepath} bind def
++/c {curveto} bind def
++/f {fill} bind def
++/a {arc} bind def
++/ef {eofill} bind def
++/ex {exch} bind def
++/gr {grestore} bind def
++/gs {gsave} bind def
++/sa {save} bind def
++/rs {restore} bind def
++/l {lineto} bind def
++/m {moveto} bind def
++/rm {rmoveto} bind def
++/n {newpath} bind def
++/s {stroke} bind def
++/sh {show} bind def
++/slc {setlinecap} bind def
++/slj {setlinejoin} bind def
++/slw {setlinewidth} bind def
++/srgb {setrgbcolor} bind def
++/rot {rotate} bind def
++/sc {scale} bind def
++/sd {setdash} bind def
++/ff {findfont} bind def
++/sf {setfont} bind def
++/scf {scalefont} bind def
++/sw {stringwidth pop} bind def
++/tr {translate} bind def
++
++/ellipsedict 8 dict def
++ellipsedict /mtrx matrix put
++/ellipse
++{ ellipsedict begin
++   /endangle exch def
++   /startangle exch def
++   /yrad exch def
++   /xrad exch def
++   /y exch def
++   /x exch def   /savematrix mtrx currentmatrix def
++   x y tr xrad yrad sc
++   0 0 1 startangle endangle arc
++   savematrix setmatrix
++   end
++} def
++
++/mergeprocs {
++dup length
++3 -1 roll
++dup
++length
++dup
++5 1 roll
++3 -1 roll
++add
++array cvx
++dup
++3 -1 roll
++0 exch
++putinterval
++dup
++4 2 roll
++putinterval
++} bind def
++%%EndProlog
++
++
++%%Page: 1 1
++gs
++90 rotate
++10.504277 -10.504277 scale
++-7.390052 13.596868 translate
++n 15.000000 -5.986920 m 79.927437 -5.986920 l 79.927437 35.463012 l 15.000000 35.463012 l 15.000000 -5.986920 l clip
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0 slj
++0 slc
++0 slj
++[] 0 sd
++1.000000 1.000000 1.000000 srgb
++n 28.288577 -5.936920 m 34.143683 -5.936920 l 34.952105 -5.936920 35.607460 -5.489205 35.607460 -4.936920 c 35.607460 -4.384635 34.952105 -3.936920 34.143683 -3.936920 c 28.288577 -3.936920 l 27.480155 -3.936920 26.824800 -4.384635 26.824800 -4.936920 c 26.824800 -5.489205 27.480155 -5.936920 28.288577 -5.936920 c f
++0.000000 0.000000 0.000000 srgb
++n 28.288577 -5.936920 m 34.143683 -5.936920 l 34.952105 -5.936920 35.607460 -5.489205 35.607460 -4.936920 c 35.607460 -4.384635 34.952105 -3.936920 34.143683 -3.936920 c 28.288577 -3.936920 l 27.480155 -3.936920 26.824800 -4.384635 26.824800 -4.936920 c 26.824800 -5.489205 27.480155 -5.936920 28.288577 -5.936920 c s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(post a msg) dup sw 2 div 31.216130 ex sub -4.742230 m gs 1 -1 sc sh gr
++1.000000 1.000000 1.000000 srgb
++n 31.228705 0.448229 m 34.632611 3.852135 l 31.228705 7.256041 l 27.824799 3.852135 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 31.228705 0.448229 m 34.632611 3.852135 l 31.228705 7.256041 l 27.824799 3.852135 l cp s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(is a) dup sw 2 div 31.228705 ex sub 3.646825 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(member?) dup sw 2 div 31.228705 ex sub 4.446825 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 31.228700 0.448231 m 31.216100 -3.936920 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 30.826403 -0.350616 m 31.228700 0.448231 l 31.626400 -0.352915 l f
++1.000000 1.000000 1.000000 srgb
++n 22.333205 8.807639 m 25.737111 12.211545 l 22.333205 15.615451 l 18.929299 12.211545 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 22.333205 8.807639 m 25.737111 12.211545 l 22.333205 15.615451 l 18.929299 12.211545 l cp s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(mod bit) dup sw 2 div 22.333205 ex sub 12.006235 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(set?) dup sw 2 div 22.333205 ex sub 12.806235 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 22.333200 8.807640 m 27.824800 3.852140 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 22.659157 7.974722 m 22.333200 8.807640 l 23.195108 8.568655 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++() dup sw 2 div 15.000000 ex sub 5.000000 m gs 1 -1 sc sh gr
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(yes) dup sw 2 div 28.675700 ex sub 3.001160 m gs 1 -1 sc sh gr
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(yes) dup sw 2 div 19.780300 ex sub 11.360600 m gs 1 -1 sc sh gr
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(no) dup sw 2 div 23.184200 ex sub 14.764500 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 34.632600 3.852140 m 40.261205 8.139600 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 39.382424 7.973037 m 40.261205 8.139600 l 39.867187 7.336637 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(no) dup sw 2 div 33.781600 ex sub 3.001160 m gs 1 -1 sc sh gr
++1.000000 1.000000 1.000000 srgb
++n 40.261205 8.139600 m 43.907510 11.959285 l 40.261205 15.778970 l 36.614900 11.959285 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 40.261205 8.139600 m 43.907510 11.959285 l 40.261205 15.778970 l 36.614900 11.959285 l cp s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(explicit) dup sw 2 div 40.261205 ex sub 11.753975 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(accept?) dup sw 2 div 40.261205 ex sub 12.553975 m gs 1 -1 sc sh gr
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(yes) dup sw 2 div 39.349629 ex sub 14.824049 m gs 1 -1 sc sh gr
++1.000000 1.000000 1.000000 srgb
++n 59.913105 8.346249 m 63.559411 11.992555 l 59.913105 15.638861 l 56.266799 11.992555 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 59.913105 8.346249 m 63.559411 11.992555 l 59.913105 15.638861 l 56.266799 11.992555 l cp s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(explicit) dup sw 2 div 59.913105 ex sub 11.787245 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(reject?) dup sw 2 div 59.913105 ex sub 12.587245 m gs 1 -1 sc sh gr
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(yes) dup sw 2 div 59.001528 ex sub 14.727284 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 54.324011 11.922575 m 56.266799 11.992555 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 55.452919 12.363498 m 56.266799 11.992555 l 55.481716 11.564017 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(no) dup sw 2 div 42.995934 ex sub 11.004364 m gs 1 -1 sc sh gr
++1.000000 1.000000 1.000000 srgb
++n 71.066405 8.389389 m 74.712711 12.035695 l 71.066405 15.682001 l 67.420099 12.035695 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 71.066405 8.389389 m 74.712711 12.035695 l 71.066405 15.682001 l 67.420099 12.035695 l cp s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(explicit) dup sw 2 div 71.066405 ex sub 11.830385 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(discard?) dup sw 2 div 71.066405 ex sub 12.630385 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 63.559411 11.992555 m 67.420100 12.035700 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 66.615680 12.426735 m 67.420100 12.035700 l 66.624620 11.626785 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(no) dup sw 2 div 62.647834 ex sub 11.080979 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 71.066400 15.682000 m 71.055000 19.434500 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 70.657432 18.633289 m 71.055000 19.434500 l 71.457429 18.635719 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(yes) dup sw 2 div 70.154800 ex sub 14.770400 m gs 1 -1 sc sh gr
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(no) dup sw 2 div 73.801100 ex sub 11.124100 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 59.913105 15.638861 m 59.907500 19.455400 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 59.508675 18.654813 m 59.907500 19.455400 l 60.308674 18.655988 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 22.333200 15.615400 m 22.362400 21.044900 l 27.166900 21.015055 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 26.369400 21.420017 m 27.166900 21.015055 l 26.364431 20.620032 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0 slj
++0 slc
++0 slj
++[] 0 sd
++1.000000 1.000000 1.000000 srgb
++n 28.954977 29.425200 m 34.810083 29.425200 l 35.618505 29.425200 36.273860 29.964050 36.273860 30.628755 c 36.273860 31.293460 35.618505 31.832310 34.810083 31.832310 c 28.954977 31.832310 l 28.146555 31.832310 27.491200 31.293460 27.491200 30.628755 c 27.491200 29.964050 28.146555 29.425200 28.954977 29.425200 c f
++0.000000 0.000000 0.000000 srgb
++n 28.954977 29.425200 m 34.810083 29.425200 l 35.618505 29.425200 36.273860 29.964050 36.273860 30.628755 c 36.273860 31.293460 35.618505 31.832310 34.810083 31.832310 c 28.954977 31.832310 l 28.146555 31.832310 27.491200 31.293460 27.491200 30.628755 c 27.491200 29.964050 28.146555 29.425200 28.954977 29.425200 c s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(hold for) dup sw 2 div 31.882530 ex sub 30.423445 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(moderation) dup sw 2 div 31.882530 ex sub 31.223445 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0 slj
++0 slc
++0 slj
++[] 0 sd
++1.000000 1.000000 1.000000 srgb
++n 28.666900 19.811500 m 34.666900 19.811500 l 35.495328 19.811500 36.166900 20.350350 36.166900 21.015055 c 36.166900 21.679760 35.495328 22.218610 34.666900 22.218610 c 28.666900 22.218610 l 27.838472 22.218610 27.166900 21.679760 27.166900 21.015055 c 27.166900 20.350350 27.838472 19.811500 28.666900 19.811500 c f
++0.000000 0.000000 0.000000 srgb
++n 28.666900 19.811500 m 34.666900 19.811500 l 35.495328 19.811500 36.166900 20.350350 36.166900 21.015055 c 36.166900 21.679760 35.495328 22.218610 34.666900 22.218610 c 28.666900 22.218610 l 27.838472 22.218610 27.166900 21.679760 27.166900 21.015055 c 27.166900 20.350350 27.838472 19.811500 28.666900 19.811500 c s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(pass thru) dup sw 2 div 31.666900 ex sub 21.209745 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0 slj
++0 slc
++0 slj
++[] 0 sd
++1.000000 1.000000 1.000000 srgb
++n 57.222377 19.455400 m 62.592683 19.455400 l 63.334168 19.455400 63.935260 19.903115 63.935260 20.455400 c 63.935260 21.007685 63.334168 21.455400 62.592683 21.455400 c 57.222377 21.455400 l 56.480892 21.455400 55.879800 21.007685 55.879800 20.455400 c 55.879800 19.903115 56.480892 19.455400 57.222377 19.455400 c f
++0.000000 0.000000 0.000000 srgb
++n 57.222377 19.455400 m 62.592683 19.455400 l 63.334168 19.455400 63.935260 19.903115 63.935260 20.455400 c 63.935260 21.007685 63.334168 21.455400 62.592683 21.455400 c 57.222377 21.455400 l 56.480892 21.455400 55.879800 21.007685 55.879800 20.455400 c 55.879800 19.903115 56.480892 19.455400 57.222377 19.455400 c s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(bounce it) dup sw 2 div 59.907530 ex sub 20.650090 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0 slj
++0 slc
++0 slj
++[] 0 sd
++1.000000 1.000000 1.000000 srgb
++n 67.885077 19.434500 m 74.224983 19.434500 l 75.100342 19.434500 75.809960 19.882215 75.809960 20.434500 c 75.809960 20.986785 75.100342 21.434500 74.224983 21.434500 c 67.885077 21.434500 l 67.009718 21.434500 66.300100 20.986785 66.300100 20.434500 c 66.300100 19.882215 67.009718 19.434500 67.885077 19.434500 c f
++0.000000 0.000000 0.000000 srgb
++n 67.885077 19.434500 m 74.224983 19.434500 l 75.100342 19.434500 75.809960 19.882215 75.809960 20.434500 c 75.809960 20.986785 75.100342 21.434500 74.224983 21.434500 c 67.885077 21.434500 l 67.009718 21.434500 66.300100 20.986785 66.300100 20.434500 c 66.300100 19.882215 67.009718 19.434500 67.885077 19.434500 c s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(discard it) dup sw 2 div 71.055030 ex sub 20.629190 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 40.261205 15.778970 m 40.184200 21.044900 l 36.166900 21.015055 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 36.969849 20.621009 m 36.166900 21.015055 l 36.963906 21.420987 l f
++1.000000 1.000000 1.000000 srgb
++n 65.017305 25.865999 m 69.790811 30.639505 l 65.017305 35.413011 l 60.243799 30.639505 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 65.017305 25.865999 m 69.790811 30.639505 l 65.017305 35.413011 l 60.243799 30.639505 l cp s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(generic) dup sw 2 div 65.017305 ex sub 30.034195 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(non-member) dup sw 2 div 65.017305 ex sub 30.834195 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(disposition) dup sw 2 div 65.017305 ex sub 31.634195 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 74.712700 12.035700 m 77.310000 12.068400 l 77.310000 30.668100 l 69.790800 30.639500 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 70.592316 30.242546 m 69.790800 30.639500 l 70.589273 31.042540 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(discard) dup sw 2 div 68.632800 ex sub 24.246900 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 66.210600 27.059400 m 71.055000 21.434500 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 70.836024 22.301708 m 71.055000 21.434500 l 70.229848 21.779644 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 63.823900 27.059400 m 59.907500 21.455400 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 60.693636 21.882004 m 59.907500 21.455400 l 60.037899 22.340271 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(reject) dup sw 2 div 61.865700 ex sub 24.257400 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 60.243800 30.639500 m 36.273860 30.628755 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 37.074039 30.229114 m 36.273860 30.628755 l 37.073681 31.029114 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(hold) dup sw 2 div 48.258830 ex sub 30.634128 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 18.929299 12.211545 m 17.707519 12.274592 l 17.707519 30.574592 l 27.491200 30.628755 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 26.688998 31.024320 m 27.491200 30.628755 l 26.693427 30.224332 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 61.437100 29.446100 m 35.727550 21.866089 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 36.608013 21.708655 m 35.727550 21.866089 l 36.381775 22.475998 l f
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(accept) dup sw 2 div 48.582325 ex sub 25.656094 m gs 1 -1 sc sh gr
++1.000000 1.000000 1.000000 srgb
++n 50.677705 8.276269 m 54.324011 11.922575 l 50.677705 15.568881 l 47.031399 11.922575 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 50.677705 8.276269 m 54.324011 11.922575 l 50.677705 15.568881 l 47.031399 11.922575 l cp s
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(explicit) dup sw 2 div 50.677705 ex sub 11.717265 m gs 1 -1 sc sh gr
++0.000000 0.000000 0.000000 srgb
++(hold?) dup sw 2 div 50.677705 ex sub 12.517265 m gs 1 -1 sc sh gr
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(yes) dup sw 2 div 49.766128 ex sub 14.657304 m gs 1 -1 sc sh gr
++/Courier-latin1 ff 0.800000 scf sf
++0.000000 0.000000 0.000000 srgb
++(no) dup sw 2 div 53.412434 ex sub 11.010998 m gs 1 -1 sc sh gr
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slj
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 50.677705 15.568881 m 50.723859 19.674592 l 35.845120 29.777721 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 36.282254 28.997392 m 35.845120 29.777721 l 36.731664 29.659231 l f
++0.100000 slw
++[] 0 sd
++[] 0 sd
++0 slc
++0.000000 0.000000 0.000000 srgb
++n 43.907510 11.959285 m 47.031399 11.922575 l s
++0 slj
++0.000000 0.000000 0.000000 srgb
++n 46.236154 12.331948 m 47.031399 11.922575 l 46.226754 11.532003 l f
++/Courier-latin1 ff 2.000000 scf sf
++0.000000 0.000000 0.000000 srgb
++(Sender Moderation Flowchart) dup sw 2 div 57.443403 ex sub 1.624592 m gs 1 -1 sc sh gr
++gr
++showpage
++

Deleted: trunk/debian/patches/07_snooze.dpatch
===================================================================
--- trunk/debian/patches/07_snooze.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/07_snooze.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,35 +0,0 @@
-#! /bin/sh -e
-## 07_snooze.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Snooze a bit to avoid eating too much CPU if you get an SMTP
-## DP: error.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/Mailman/Queue/OutgoingRunner.py
-+++ mailman-2.1.4/Mailman/Queue/OutgoingRunner.py
-@@ -89,6 +89,7 @@
-                 syslog('error', 'Cannot connect to SMTP server %s on port %s',
-                        mm_cfg.SMTPHOST, port)
-                 self.__logged = True
-+            self._snooze(0)
-             return True
-         except Errors.SomeRecipientsFailed, e:
-             # The delivery module being used (SMTPDirect or Sendmail) failed

Copied: trunk/debian/patches/07_snooze.patch (from rev 326, trunk/debian/patches/07_snooze.dpatch)
===================================================================
--- trunk/debian/patches/07_snooze.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/07_snooze.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,15 @@
+Patch: 07_snooze.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Snooze a bit to avoid eating too much CPU if you get an SMTP error.
+Index: Mailman/Queue/OutgoingRunner.py
+===================================================================
+--- Mailman/Queue/OutgoingRunner.py.orig	2006-08-15 15:12:19.000000000 +0800
++++ Mailman/Queue/OutgoingRunner.py	2006-08-15 15:14:24.000000000 +0800
+@@ -88,6 +88,7 @@
+                 syslog('error', 'Cannot connect to SMTP server %s on port %s',
+                        mm_cfg.SMTPHOST, port)
+                 self.__logged = True
++            self._snooze(0)
+             return True
+         except Errors.SomeRecipientsFailed, e:
+             # Handle local rejects of probe messages differently.

Deleted: trunk/debian/patches/10_wrapper_uid.dpatch
===================================================================
--- trunk/debian/patches/10_wrapper_uid.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/10_wrapper_uid.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,46 +0,0 @@
-#! /bin/sh -e
-## 10_wrapper_uid.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Makes sure we're called with the right UID and GID
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/src/cgi-wrapper.c
-+++ mailman-2.1.4/src/cgi-wrapper.c
-@@ -42,7 +42,7 @@
-         char* fake_argv[3];
- 
-         running_as_cgi = 1;
--        check_caller(logident, parentgroup);
-+        if (getgid() >= 100 && getgid() != 65534) check_caller(LOG_IDENT, LEGAL_PARENT_GROUP);
- 
-         /* For these CGI programs, we can ignore argc and argv since they
-          * don't contain anything useful.  `script' will always be the driver
---- mailman-2.1.4.orig/src/mail-wrapper.c
-+++ mailman-2.1.4/src/mail-wrapper.c
-@@ -74,7 +74,7 @@
-                 fatal(logident, MAIL_ILLEGAL_COMMAND,
-                       "Illegal command: %s", argv[1]);
- 
--        check_caller(logident, parentgroup);
-+       if (getgid() >= 100 && getgid() != 65534) check_caller(logident, LEGAL_PARENT_GROUP);
- 
-         /* If we got here, everything must be OK */
-         status = run_script(argv[1], argc, argv, env);

Copied: trunk/debian/patches/10_wrapper_uid.patch (from rev 326, trunk/debian/patches/10_wrapper_uid.dpatch)
===================================================================
--- trunk/debian/patches/10_wrapper_uid.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/10_wrapper_uid.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,29 @@
+Patch: 10_wrapper_uid.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Makes sure we're called with the right UID and GID
+Index: src/cgi-wrapper.c
+===================================================================
+--- src/cgi-wrapper.c.orig	2006-08-15 15:12:18.000000000 +0800
++++ src/cgi-wrapper.c	2006-08-15 15:14:25.000000000 +0800
+@@ -42,7 +42,7 @@
+         char* fake_argv[3];
+ 
+         running_as_cgi = 1;
+-        check_caller(logident, parentgroup);
++        if (getgid() >= 100 && getgid() != 65534) check_caller(LOG_IDENT, LEGAL_PARENT_GROUP);
+ 
+         /* For these CGI programs, we can ignore argc and argv since they
+          * don't contain anything useful.  `script' will always be the driver
+Index: src/mail-wrapper.c
+===================================================================
+--- src/mail-wrapper.c.orig	2006-08-15 15:12:18.000000000 +0800
++++ src/mail-wrapper.c	2006-08-15 15:14:25.000000000 +0800
+@@ -74,7 +74,7 @@
+                 fatal(logident, MAIL_ILLEGAL_COMMAND,
+                       "Illegal command: %s", argv[1]);
+ 
+-        check_caller(logident, parentgroup);
++       if (getgid() >= 100 && getgid() != 65534) check_caller(logident, LEGAL_PARENT_GROUP);
+ 
+         /* If we got here, everything must be OK */
+         status = run_script(argv[1], argc, argv, env);

Deleted: trunk/debian/patches/11_handle_propfind.dpatch
===================================================================
--- trunk/debian/patches/11_handle_propfind.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/11_handle_propfind.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,43 +0,0 @@
-#! /bin/sh -e
-## 11_handle_propfind.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Don't fall flat on our face if we get a request type which we
-## DP: don't understand.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/scripts/driver
-+++ mailman-2.1.4/scripts/driver
-@@ -81,6 +82,15 @@
-         module = getattr(pkg, scriptname)
-         main = getattr(module, 'main')
-         try:
-+            import os
-+            request_method = os.environ.get('REQUEST_METHOD')
-+            if not request_method in ['GET', 'POST', 'HEAD']:
-+                print "Status: 405 Method not allowed"
-+                print "Content-type: text/plain"
-+                print
-+                print "The method is not allowed"
-+                sys.exit()
-+                
-             try:
-                 sys.stderr = logger
-                 sys.stdout = tempstdout

Copied: trunk/debian/patches/11_handle_propfind.patch (from rev 326, trunk/debian/patches/11_handle_propfind.dpatch)
===================================================================
--- trunk/debian/patches/11_handle_propfind.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/11_handle_propfind.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,24 @@
+Patch: 11_handle_propfind.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Don't fall flat on our face if we get a request type which we
+don't understand.
+Index: scripts/driver
+===================================================================
+--- scripts/driver.orig	2006-08-15 15:12:18.000000000 +0800
++++ scripts/driver	2006-08-15 15:14:26.000000000 +0800
+@@ -95,6 +95,15 @@
+         module = getattr(pkg, scriptname)
+         main = getattr(module, 'main')
+         try:
++            import os
++            request_method = os.environ.get('REQUEST_METHOD')
++            if not request_method in ['GET', 'POST', 'HEAD']:
++                print "Status: 405 Method not allowed"
++                print "Content-type: text/plain"
++                print
++                print "The method is not allowed"
++                sys.exit()
++                
+             try:
+                 sys.stderr = logger
+                 sys.stdout = tempstdout

Deleted: trunk/debian/patches/12_savannah_wrapper.dpatch
===================================================================
--- trunk/debian/patches/12_savannah_wrapper.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/12_savannah_wrapper.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,35 +0,0 @@
-#! /bin/sh -e
-## 12_savannah_wrapper.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Compile a wrapper for the savannah contrib plugin
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/src/Makefile.in
-+++ mailman-2.1.4/src/Makefile.in
-@@ -71,7 +71,7 @@
- # Fixed definitions
- 
- CGI_PROGS= admindb admin confirm create edithtml listinfo options \
--	private rmlist roster subscribe
-+	private rmlist roster subscribe savannah
- 
- COMMONOBJS= common.o vsnprintf.o
- 

Copied: trunk/debian/patches/12_savannah_wrapper.patch (from rev 326, trunk/debian/patches/12_savannah_wrapper.dpatch)
===================================================================
--- trunk/debian/patches/12_savannah_wrapper.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/12_savannah_wrapper.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: 12_savannah_wrapper.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Compile a wrapper for the savannah contrib plugin
+Index: src/Makefile.in
+===================================================================
+--- src/Makefile.in.orig	2006-08-15 15:12:18.000000000 +0800
++++ src/Makefile.in	2006-08-15 15:14:28.000000000 +0800
+@@ -71,7 +71,7 @@
+ # Fixed definitions
+ 
+ CGI_PROGS= admindb admin confirm create edithtml listinfo options \
+-	private rmlist roster subscribe
++	private rmlist roster subscribe savannah
+ 
+ COMMONOBJS= common.o vsnprintf.o
+ 

Deleted: trunk/debian/patches/15_mailmanctl_daemonize.dpatch
===================================================================
--- trunk/debian/patches/15_mailmanctl_daemonize.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/15_mailmanctl_daemonize.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,40 +0,0 @@
-#! /bin/sh -e
-## 15_mailmanctl_daemonize.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Daemonize mailmanctl properly
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/bin/mailmanctl
-+++ mailman-2.1.4/bin/mailmanctl
-@@ -415,6 +414,13 @@
-         # won't be opening any terminal devices, don't do the ultra-paranoid
-         # suggestion of doing a second fork after the setsid() call.
-         os.setsid()
-+
-+        # Be sure to close any open std{in,out,err}
-+        devnull = os.open('/dev/null', 0)
-+        os.dup2(devnull, 0)
-+        os.dup2(devnull, 1)
-+        os.dup2(devnull, 2)
-+
-         # Instead of cd'ing to root, cd to the Mailman installation home
-         os.chdir(mm_cfg.PREFIX)
-         # Clear our file mode creation umask

Copied: trunk/debian/patches/15_mailmanctl_daemonize.patch (from rev 326, trunk/debian/patches/15_mailmanctl_daemonize.dpatch)
===================================================================
--- trunk/debian/patches/15_mailmanctl_daemonize.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/15_mailmanctl_daemonize.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,21 @@
+Patch: 15_mailmanctl_daemonize.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Daemonize mailmanctl properly
+Index: bin/mailmanctl
+===================================================================
+--- bin/mailmanctl.orig	2006-08-15 15:12:18.000000000 +0800
++++ bin/mailmanctl	2006-08-15 15:14:29.000000000 +0800
+@@ -417,6 +417,13 @@
+         # won't be opening any terminal devices, don't do the ultra-paranoid
+         # suggestion of doing a second fork after the setsid() call.
+         os.setsid()
++
++        # Be sure to close any open std{in,out,err}
++        devnull = os.open('/dev/null', 0)
++        os.dup2(devnull, 0)
++        os.dup2(devnull, 1)
++        os.dup2(devnull, 2)
++
+         # Instead of cd'ing to root, cd to the Mailman installation home
+         os.chdir(mm_cfg.PREFIX)
+         # Set our file mode creation umask

Deleted: trunk/debian/patches/16_update_debian.dpatch
===================================================================
--- trunk/debian/patches/16_update_debian.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/16_update_debian.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,93 +0,0 @@
-#! /bin/sh -e
-## 16_update_debian.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: update is called from the Debian maintainer scripts and prints
-## DP: non-appropriate output.  Change that.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
---- mailman-2.1.4.orig/bin/update
-+++ mailman-2.1.4/bin/update
-@@ -295,8 +295,7 @@
-         else:
-             # directory
-             print _("""\
--    looks like you have a really recent CVS installation...
--    you're either one brave soul, or you already ran me""")
-+    Your installation seems up-to-date, great!""")
- 
- 
-     #
-@@ -318,8 +317,7 @@
-         %(newname)s""")
-         else: # directory
-             print _("""\
--    looks like you have a really recent CVS installation...
--    you're either one brave soul, or you already ran me""")
-+    Your installation seems up-to-date, great!""")
- 
-     #
-     # move the html archives there
-@@ -333,31 +331,6 @@
-     # BAW: Is this still necessary?!
-     mlist.Save()
-     #
--    # check to see if pre-b4 list-specific templates are around
--    # and move them to the new place if there's not already
--    # a new one there
--    #
--    tmpl_dir = os.path.join(mm_cfg.PREFIX, "templates")
--    list_dir = os.path.join(mm_cfg.PREFIX, "lists")
--    b4_tmpl_dir = os.path.join(tmpl_dir, mlist._internal_name)
--    new_tmpl_dir = os.path.join(list_dir, mlist._internal_name)
--    if os.path.exists(b4_tmpl_dir):
--        print _("""\
--- This list looks like it might have <= b4 list templates around""")
--        for f in os.listdir(b4_tmpl_dir):
--            o_tmpl = os.path.join(b4_tmpl_dir, f)
--            n_tmpl = os.path.join(new_tmpl_dir, f)
--            if os.path.exists(o_tmpl):
--                if not os.path.exists(n_tmpl):
--                    os.rename(o_tmpl, n_tmpl)
--                    print _('- moved %(o_tmpl)s to %(n_tmpl)s')
--                else:
--                    print _("""\
--- both %(o_tmpl)s and %(n_tmpl)s exist, leaving untouched""")
--            else:
--                print _("""\
--- %(o_tmpl)s doesn't exist, leaving untouched""")
--    #
-     # Move all the templates to the en language subdirectory as required for
-     # Mailman 2.1
-     #
-@@ -428,12 +401,12 @@
-                 'Mailman/HyperDatabase.py', 'Mailman/pipermail.py',
-                 'Mailman/smtplib.py', 'Mailman/Cookie.py',
-                 'bin/update_to_10b6', 'scripts/mailcmd',
--                'scripts/mailowner', 'mail/wrapper', 'Mailman/pythonlib',
-+                'scripts/mailowner', 'Mailman/pythonlib',
-                 'cgi-bin/archives', 'Mailman/MailCommandHandler'):
-         remove_old_sources(mod)
-     listnames = Utils.list_names()
-     if not listnames:
--        print _('no lists == nothing to do, exiting')
-+#        print _('no lists == nothing to do, exiting')
-         return
-     #
-     # for people with web archiving, make sure the directories

Copied: trunk/debian/patches/16_update_debian.patch (from rev 326, trunk/debian/patches/16_update_debian.dpatch)
===================================================================
--- trunk/debian/patches/16_update_debian.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/16_update_debian.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,75 @@
+Patch: 16_update_debian.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+update is called from the Debian maintainer scripts and
+prints non-appropriate output.  Change that.
+Index: bin/update
+===================================================================
+--- bin/update.orig	2006-08-15 15:12:18.000000000 +0800
++++ bin/update	2006-08-15 15:14:30.000000000 +0800
+@@ -300,8 +300,7 @@
+         else:
+             # directory
+             print _("""\
+-    looks like you have a really recent CVS installation...
+-    you're either one brave soul, or you already ran me""")
++    Your installation seems up-to-date, great!""")
+ 
+ 
+     #
+@@ -323,8 +322,7 @@
+         %(newname)s""")
+         else: # directory
+             print _("""\
+-    looks like you have a really recent CVS installation...
+-    you're either one brave soul, or you already ran me""")
++    Your installation seems up-to-date, great!""")
+ 
+     #
+     # move the html archives there
+@@ -338,31 +336,6 @@
+     # BAW: Is this still necessary?!
+     mlist.Save()
+     #
+-    # check to see if pre-b4 list-specific templates are around
+-    # and move them to the new place if there's not already
+-    # a new one there
+-    #
+-    tmpl_dir = os.path.join(mm_cfg.PREFIX, "templates")
+-    list_dir = os.path.join(mm_cfg.PREFIX, "lists")
+-    b4_tmpl_dir = os.path.join(tmpl_dir, mlist._internal_name)
+-    new_tmpl_dir = os.path.join(list_dir, mlist._internal_name)
+-    if os.path.exists(b4_tmpl_dir):
+-        print _("""\
+-- This list looks like it might have <= b4 list templates around""")
+-        for f in os.listdir(b4_tmpl_dir):
+-            o_tmpl = os.path.join(b4_tmpl_dir, f)
+-            n_tmpl = os.path.join(new_tmpl_dir, f)
+-            if os.path.exists(o_tmpl):
+-                if not os.path.exists(n_tmpl):
+-                    os.rename(o_tmpl, n_tmpl)
+-                    print _('- moved %(o_tmpl)s to %(n_tmpl)s')
+-                else:
+-                    print _("""\
+-- both %(o_tmpl)s and %(n_tmpl)s exist, leaving untouched""")
+-            else:
+-                print _("""\
+-- %(o_tmpl)s doesn't exist, leaving untouched""")
+-    #
+     # Move all the templates to the en language subdirectory as required for
+     # Mailman 2.1
+     #
+@@ -656,12 +629,12 @@
+                 'Mailman/HyperDatabase.py', 'Mailman/pipermail.py',
+                 'Mailman/smtplib.py', 'Mailman/Cookie.py',
+                 'bin/update_to_10b6', 'scripts/mailcmd',
+-                'scripts/mailowner', 'mail/wrapper', 'Mailman/pythonlib',
++                'scripts/mailowner', 'Mailman/pythonlib',
+                 'cgi-bin/archives', 'Mailman/MailCommandHandler'):
+         remove_old_sources(mod)
+     listnames = Utils.list_names()
+     if not listnames:
+-        print _('no lists == nothing to do, exiting')
++#        print _('no lists == nothing to do, exiting')
+         return
+     #
+     # for people with web archiving, make sure the directories

Deleted: trunk/debian/patches/20_qmail_to_mailman.debian.dpatch
===================================================================
--- trunk/debian/patches/20_qmail_to_mailman.debian.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/20_qmail_to_mailman.debian.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,50 +0,0 @@
-#! /bin/sh -e
-## 20_qmail_to_mailman.debian.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Fix some paths in the qmail_to_mailman wrapper
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/contrib/qmail-to-mailman.py
-+++ mailman-2.1.4/contrib/qmail-to-mailman.py
-@@ -28,12 +28,12 @@
- #
- # INSTALLATION:
- #
--# Install this file as ~mailman/qmail-to-mailman.py
-+# Install this file as ~mailman/bin/qmail-to-mailman.py
- #
- # To configure a virtual domain to connect to mailman, create these files:
- #
- # ~mailman/.qmail-default
--# |preline @PYTHON@ @prefix@/mail-in.py
-+# |preline /usr/bin/python /usr/lib/mailman/bin/mail-in.py
- #
- # /var/qmail/control/virtualdomains:
- # DOMAIN.COM:mailman
-@@ -64,7 +64,7 @@
-         sys.exit(100)
- 
-     local = string.lower(local)
--    local = re.sub("^mailman-","",local)
-+    local = re.sub("^" + MailmanUser + "-","",local)
- 
-     names = ("root", "postmaster", "mailer-daemon", "mailman-owner", "owner",
-              "abuse")

Copied: trunk/debian/patches/20_qmail_to_mailman.debian.patch (from rev 326, trunk/debian/patches/20_qmail_to_mailman.debian.dpatch)
===================================================================
--- trunk/debian/patches/20_qmail_to_mailman.debian.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/20_qmail_to_mailman.debian.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,31 @@
+Patch: 20_qmail_to_mailman.debian.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Fix some paths in the qmail_to_mailman wrapper
+Index: contrib/qmail-to-mailman.py
+===================================================================
+--- contrib/qmail-to-mailman.py.orig	2006-08-15 15:12:18.000000000 +0800
++++ contrib/qmail-to-mailman.py	2006-08-15 15:14:31.000000000 +0800
+@@ -28,12 +28,12 @@
+ #
+ # INSTALLATION:
+ #
+-# Install this file as ~mailman/qmail-to-mailman.py
++# Install this file as ~mailman/bin/qmail-to-mailman.py
+ #
+ # To configure a virtual domain to connect to mailman, create these files:
+ #
+ # ~mailman/.qmail-default
+-# |preline @PYTHON@ @prefix@/mail-in.py
++# |preline /usr/bin/python /usr/lib/mailman/bin/mail-in.py
+ #
+ # /var/qmail/control/virtualdomains:
+ # DOMAIN.COM:mailman
+@@ -64,7 +64,7 @@
+         sys.exit(100)
+ 
+     local = string.lower(local)
+-    local = re.sub("^mailman-","",local)
++    local = re.sub("^" + MailmanUser + "-","",local)
+ 
+     names = ("root", "postmaster", "mailer-daemon", "mailman-owner", "owner",
+              "abuse")

Deleted: trunk/debian/patches/21_newlist_help.dpatch
===================================================================
--- trunk/debian/patches/21_newlist_help.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/21_newlist_help.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,63 +0,0 @@
-#! /bin/sh -e
-## 21_newlist_help.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: make newlist be a bit friendlier.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-diff -urNad mailman-2.1.6~/bin/newlist mailman-2.1.6/bin/newlist
---- mailman-2.1.6~/bin/newlist	2005-12-10 13:37:50.000000000 +0100
-+++ mailman-2.1.6/bin/newlist	2005-12-25 15:55:10.056996722 +0100
-@@ -87,6 +87,9 @@
- defined in your Defaults.py file or overridden by settings in mm_cfg.py).
- 
- Note that listnames are forced to lowercase.
-+
-+The list admin address need to be a fully-qualified address, like
-+owner at example.com, not just owner.
- """
- 
- import sys
-@@ -94,6 +97,7 @@
- import getpass
- import getopt
- import sha
-+import grp
- 
- import paths
- from Mailman import mm_cfg
-@@ -122,6 +126,9 @@
- 
- 
- def main():
-+    gid = grp.getgrnam(mm_cfg.MAILMAN_GROUP)[2]
-+    if os.getgid() != gid:
-+        os.setgid(gid)
-     try:
-         opts, args = getopt.getopt(sys.argv[1:], 'hql:u:e:',
-                                    ['help', 'quiet', 'language=',
-@@ -199,7 +206,7 @@
-         except Errors.BadListNameError, s:
-             usage(1, _('Illegal list name: %(s)s'))
-         except Errors.EmailAddressError, s:
--            usage(1, _('Bad owner email address: %(s)s'))
-+            usage(1, _('Bad owner email address: %(s)s.  Owner addresses need to be fully-qualified names, like "owner at example.com", not just "owner".'))
-         except Errors.MMListAlreadyExistsError:
-             usage(1, _('List already exists: %(listname)s'))
- 

Copied: trunk/debian/patches/21_newlist_help.patch (from rev 326, trunk/debian/patches/21_newlist_help.dpatch)
===================================================================
--- trunk/debian/patches/21_newlist_help.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/21_newlist_help.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,44 @@
+Patch: 21_newlist_help.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+make newlist be a bit friendlier.
+Index: bin/newlist
+===================================================================
+--- bin/newlist.orig	2006-08-15 15:12:18.000000000 +0800
++++ bin/newlist	2006-08-15 15:14:32.000000000 +0800
+@@ -87,6 +87,9 @@
+ defined in your Defaults.py file or overridden by settings in mm_cfg.py).
+ 
+ Note that listnames are forced to lowercase.
++
++The list admin address need to be a fully-qualified address, like
++owner at example.com, not just owner.
+ """
+ 
+ import sys
+@@ -94,6 +97,7 @@
+ import getpass
+ import getopt
+ import sha
++import grp
+ 
+ import paths
+ from Mailman import mm_cfg
+@@ -122,6 +126,9 @@
+ 
+ 
+ def main():
++    gid = grp.getgrnam(mm_cfg.MAILMAN_GROUP)[2]
++    if os.getgid() != gid:
++        os.setgid(gid)
+     try:
+         opts, args = getopt.getopt(sys.argv[1:], 'hql:u:e:',
+                                    ['help', 'quiet', 'language=',
+@@ -199,7 +206,7 @@
+         except Errors.BadListNameError, s:
+             usage(1, _('Illegal list name: %(s)s'))
+         except Errors.EmailAddressError, s:
+-            usage(1, _('Bad owner email address: %(s)s'))
++            usage(1, _('Bad owner email address: %(s)s.  Owner addresses need to be fully-qualified names, like "owner at example.com", not just "owner".'))
+         except Errors.MMListAlreadyExistsError:
+             usage(1, _('List already exists: %(listname)s'))
+ 

Deleted: trunk/debian/patches/30_pipermail_threads.dpatch
===================================================================
--- trunk/debian/patches/30_pipermail_threads.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/30_pipermail_threads.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,60 +0,0 @@
-#! /bin/sh -e
-## 30_pipermail_threads.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: 
-## DP: non-appropriate output.  Change that.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/Mailman/Archiver/pipermail.py
-+++ mailman-2.1.4/Mailman/Archiver/pipermail.py
-@@ -115,9 +115,9 @@
-         parentID = article.parentID
-         if parentID is not None and self.articleIndex.has_key(parentID):
-             parent = self.getArticle(archive, parentID)
--            myThreadKey = parent.threadKey + article.date + '-'
-+            myThreadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
-         else:
--            myThreadKey = article.date + '-'
-+            myThreadKey = article.date + '/' + article.msgid + '-'
-         article.threadKey = myThreadKey
-         key = myThreadKey, article.msgid
-         self.setThreadKey(archive, key, article.msgid)
-@@ -407,7 +407,7 @@
-                 else:
-                     parent = self.database.getArticle(self.archive,
-                                                     article.parentID)
--                    article.threadKey = parent.threadKey+article.date+'-'
-+                    article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
-                 self.database.setThreadKey(self.archive,
-                     (article.threadKey, article.msgid),
-                     msgid)
-@@ -615,9 +615,9 @@
-             article.parentID = parentID = self.get_parent_info(arch, article)
-             if parentID:
-                 parent = self.database.getArticle(arch, parentID)
--                article.threadKey = parent.threadKey + article.date + '-'
-+                article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
-             else:
--                article.threadKey = article.date + '-'
-+                article.threadKey = article.date + '/' + article.msgid + '-'
-             key = article.threadKey, article.msgid
- 
-             self.database.setThreadKey(arch, key, article.msgid)

Copied: trunk/debian/patches/30_pipermail_threads.patch (from rev 326, trunk/debian/patches/30_pipermail_threads.dpatch)
===================================================================
--- trunk/debian/patches/30_pipermail_threads.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/30_pipermail_threads.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,40 @@
+Patch: 30_pipermail_threads.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Pipermail non-appropriate output.  Change that.
+Index: Mailman/Archiver/pipermail.py
+===================================================================
+--- Mailman/Archiver/pipermail.py.orig	2006-08-15 15:12:18.000000000 +0800
++++ Mailman/Archiver/pipermail.py	2006-08-15 15:14:34.000000000 +0800
+@@ -122,9 +122,9 @@
+         parentID = article.parentID
+         if parentID is not None and self.articleIndex.has_key(parentID):
+             parent = self.getArticle(archive, parentID)
+-            myThreadKey = parent.threadKey + article.date + '-'
++            myThreadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
+         else:
+-            myThreadKey = article.date + '-'
++            myThreadKey = article.date + '/' + article.msgid + '-'
+         article.threadKey = myThreadKey
+         key = myThreadKey, article.msgid
+         self.setThreadKey(archive, key, article.msgid)
+@@ -418,7 +418,7 @@
+                 else:
+                     parent = self.database.getArticle(self.archive,
+                                                     article.parentID)
+-                    article.threadKey = parent.threadKey+article.date+'-'
++                    article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
+                 self.database.setThreadKey(self.archive,
+                     (article.threadKey, article.msgid),
+                     msgid)
+@@ -632,9 +632,9 @@
+             article.parentID = parentID = self.get_parent_info(arch, article)
+             if parentID:
+                 parent = self.database.getArticle(arch, parentID)
+-                article.threadKey = parent.threadKey + article.date + '-'
++                article.threadKey = parent.threadKey + article.date + '/' + article.msgid + '-'
+             else:
+-                article.threadKey = article.date + '-'
++                article.threadKey = article.date + '/' + article.msgid + '-'
+             key = article.threadKey, article.msgid
+ 
+             self.database.setThreadKey(arch, key, article.msgid)

Deleted: trunk/debian/patches/32_MIME_fixup.dpatch
===================================================================
--- trunk/debian/patches/32_MIME_fixup.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/32_MIME_fixup.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,34 +0,0 @@
-#! /bin/sh -e
-## 32_MIME_fixup.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Handle empty queue files.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/Mailman/Handlers/Decorate.py
-+++ mailman-2.1.4/Mailman/Handlers/Decorate.py
-@@ -156,6 +156,7 @@
-     del msg['content-transfer-encoding']
-     del msg['content-disposition']
-     msg['Content-Type'] = 'multipart/mixed'
-+    msg['Mime-version'] = '1.0'
- 
- 
- 

Copied: trunk/debian/patches/32_MIME_fixup.patch (from rev 326, trunk/debian/patches/32_MIME_fixup.dpatch)
===================================================================
--- trunk/debian/patches/32_MIME_fixup.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/32_MIME_fixup.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,15 @@
+Patch: 32_MIME_fixup.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Handle empty queue files.
+Index: Mailman/Handlers/Decorate.py
+===================================================================
+--- Mailman/Handlers/Decorate.py.orig	2006-08-15 15:12:18.000000000 +0800
++++ Mailman/Handlers/Decorate.py	2006-08-15 15:14:35.000000000 +0800
+@@ -182,6 +182,7 @@
+     del msg['content-transfer-encoding']
+     del msg['content-disposition']
+     msg['Content-Type'] = 'multipart/mixed'
++    msg['Mime-version'] = '1.0'
+ 
+ 
+ 

Deleted: trunk/debian/patches/51_nocompile.pyc.dpatch
===================================================================
--- trunk/debian/patches/51_nocompile.pyc.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/51_nocompile.pyc.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,35 +0,0 @@
-#! /bin/sh -e
-## 51_nocompile.pyc.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Don't do the compileall dance.  It'll just waste CPU cycles.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-
---- mailman-2.1.4.orig/Makefile.in
-+++ mailman-2.1.4/Makefile.in
-@@ -124,7 +124,7 @@
- 	do \
- 	    (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
- 	done
--	$(PYTHON) -c 'from compileall import *; compile_dir("$(DESTDIR)$(prefix)/Mailman")'
-+	#$(PYTHON) -c 'from compileall import *; compile_dir("$(DESTDIR)$(prefix)/Mailman")'
- 
- # Only run bin/update if we aren't installing in DESTDIR, as this
- # means there are probably no lists to deal with, and it wouldn't

Copied: trunk/debian/patches/51_nocompile.pyc.patch (from rev 326, trunk/debian/patches/51_nocompile.pyc.dpatch)
===================================================================
--- trunk/debian/patches/51_nocompile.pyc.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/51_nocompile.pyc.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: 51_nocompile.pyc.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Don't do the compileall dance.  It'll just waste CPU cycles.
+Index: Makefile.in
+===================================================================
+--- Makefile.in.orig	2006-08-15 15:12:18.000000000 +0800
++++ Makefile.in	2006-08-15 15:14:36.000000000 +0800
+@@ -124,7 +124,7 @@
+ 	do \
+ 	    (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
+ 	done
+-	$(PYTHON) -c 'from compileall import *; compile_dir("$(DESTDIR)$(prefix)/Mailman")'
++	#$(PYTHON) -c 'from compileall import *; compile_dir("$(DESTDIR)$(prefix)/Mailman")'
+ 
+ # Only run bin/update if we aren't installing in DESTDIR, as this
+ # means there are probably no lists to deal with, and it wouldn't

Deleted: trunk/debian/patches/52_check_perms_lstat.dpatch
===================================================================
--- trunk/debian/patches/52_check_perms_lstat.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/52_check_perms_lstat.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,34 +0,0 @@
-#! /bin/sh -e
-## 52_check_perms_lstat.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: ?
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
---- mailman-2.1.4.orig/bin/check_perms
-+++ mailman-2.1.4/bin/check_perms
-@@ -81,7 +81,7 @@
-     return os.stat(path)[ST_MODE]
- 
- def statgidmode(path):
--    stat = os.stat(path)
-+    stat = os.lstat(path)
-     return stat[ST_MODE], stat[ST_GID]
- 
- seen = {}

Copied: trunk/debian/patches/52_check_perms_lstat.patch (from rev 326, trunk/debian/patches/52_check_perms_lstat.dpatch)
===================================================================
--- trunk/debian/patches/52_check_perms_lstat.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/52_check_perms_lstat.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: 52_check_perms_lstat.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Use lstat instead of stat in check_perms
+Index: bin/check_perms
+===================================================================
+--- bin/check_perms.orig	2006-08-15 15:12:18.000000000 +0800
++++ bin/check_perms	2006-08-15 15:14:38.000000000 +0800
+@@ -80,7 +80,7 @@
+     return os.stat(path)[ST_MODE]
+ 
+ def statgidmode(path):
+-    stat = os.stat(path)
++    stat = os.lstat(path)
+     return stat[ST_MODE], stat[ST_GID]
+ 
+ seen = {}

Deleted: trunk/debian/patches/53_disable_addons.dpatch
===================================================================
--- trunk/debian/patches/53_disable_addons.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/53_disable_addons.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,61 +0,0 @@
-#! /bin/sh -e
-## 53_disable_addons.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Disable some modules which are pulled in from other Debian
-## DP: packages.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-diff -urNad mailman-2.1.7~/misc/Makefile.in mailman-2.1.7/misc/Makefile.in
---- mailman-2.1.7~/misc/Makefile.in	2006-01-29 16:20:52.000000000 +0100
-+++ mailman-2.1.7/misc/Makefile.in	2006-01-29 16:21:13.931406954 +0100
-@@ -56,7 +56,7 @@
- JACODECSPKG=	JapaneseCodecs-1.4.11
- KOCODECSPKG=	KoreanCodecs-2.0.5
- 
--PACKAGES= $(EMAILPKG) $(JACODECSPKG) $(KOCODECSPKG)
-+PACKAGES=  
- 
- # Modes for directories and executables created by the install
- # process.  Default to group-writable directories but
-diff -urNad mailman-2.1.7~/misc/paths.py.in mailman-2.1.7/misc/paths.py.in
---- mailman-2.1.7~/misc/paths.py.in	2006-01-29 16:20:52.000000000 +0100
-+++ mailman-2.1.7/misc/paths.py.in	2006-01-29 16:23:12.481780992 +0100
-@@ -53,12 +53,18 @@
- # In a normal interactive Python environment, the japanese.pth and korean.pth
- # files would be imported automatically.  But because we inhibit the importing
- # of the site module, we need to be explicit about importing these codecs.
--import japanese
-+try:
-+    import japanese
-+except ImportError:
-+    pass
- # As of KoreanCodecs 2.0.5, you had to do the second import to get the Korean
- # codecs installed, however leave the first import in there in case an upgrade
- # changes this.
--import korean
--import korean.aliases
-+try:
-+    import korean
-+    import korean.aliases
-+except ImportError:
-+    pass
- # Arabic and Hebrew (RFC-1556) encoding aliases. (temporary solution)
- import encodings.aliases
- encodings.aliases.aliases.update({

Copied: trunk/debian/patches/53_disable_addons.patch (from rev 326, trunk/debian/patches/53_disable_addons.dpatch)
===================================================================
--- trunk/debian/patches/53_disable_addons.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/53_disable_addons.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,42 @@
+Patch: 53_disable_addons.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Disable some modules which are pulled in from other Debian packages.
+Index: misc/Makefile.in
+===================================================================
+--- misc/Makefile.in.orig	2006-08-15 15:12:18.000000000 +0800
++++ misc/Makefile.in	2006-08-15 15:14:39.000000000 +0800
+@@ -57,7 +57,7 @@
+ JACODECSPKG=	JapaneseCodecs-1.4.11
+ KOCODECSPKG=	KoreanCodecs-2.0.5
+ 
+-PACKAGES= $(EMAILPKG) $(JACODECSPKG) $(KOCODECSPKG)
++PACKAGES=  
+ 
+ # Modes for directories and executables created by the install
+ # process.  Default to group-writable directories but
+Index: misc/paths.py.in
+===================================================================
+--- misc/paths.py.in.orig	2006-08-15 15:12:18.000000000 +0800
++++ misc/paths.py.in	2006-08-15 15:14:39.000000000 +0800
+@@ -53,12 +53,18 @@
+ # In a normal interactive Python environment, the japanese.pth and korean.pth
+ # files would be imported automatically.  But because we inhibit the importing
+ # of the site module, we need to be explicit about importing these codecs.
+-import japanese
++try:
++    import japanese
++except ImportError:
++    pass
+ # As of KoreanCodecs 2.0.5, you had to do the second import to get the Korean
+ # codecs installed, however leave the first import in there in case an upgrade
+ # changes this.
+-import korean
+-import korean.aliases
++try:
++    import korean
++    import korean.aliases
++except ImportError:
++    pass
+ # Arabic and Hebrew (RFC-1556) encoding aliases. (temporary solution)
+ import encodings.aliases
+ encodings.aliases.aliases.update({

Deleted: trunk/debian/patches/56_fix_de_broken_links.dpatch
===================================================================
--- trunk/debian/patches/56_fix_de_broken_links.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/56_fix_de_broken_links.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,46 +0,0 @@
-#! /bin/sh -e
-## 56_fix_de_broken_links, based on Ralf Doeblitz <r.doeblitz at asco.de>
-## fixes (see bug #233048)
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: update is called from the Debian maintainer scripts and prints
-## DP: non-appropriate output.  Change that.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-diff -urNad /home/tfheen/external/pkg-mailman/trunk/messages/de/LC_MESSAGES/mailman.po trunk/messages/de/LC_MESSAGES/mailman.po
---- /home/tfheen/external/pkg-mailman/trunk/messages/de/LC_MESSAGES/mailman.po	2004-08-18 15:11:40.000000000 +0200
-+++ trunk/messages/de/LC_MESSAGES/mailman.po	2004-08-18 15:11:42.000000000 +0200
-@@ -7006,7 +7006,7 @@
- "\">topics_bodylines_limit</a>\n"
- "             configuration variable."
- msgstr ""
--"Der Themenfilter kategorisiert jede eingehende e-Mailnachricht gemäss href="
-+"Der Themenfilter kategorisiert jede eingehende e-Mailnachricht gemäss <a href="
- "\"http://www.python.org/doc/current/lib/module-re.html\">Filterregeln mit "
- "regulären Ausdrücken</a>, die Sie weiter unten festlegen können. Wenn die "
- "<code>Subject:</code> oder <code>Keywords:</code> Header der Nachricht mit "
-@@ -7019,7 +7019,7 @@
- "nicht mit Sammelnachrichten.\n"
- " <p>Optional kann auch der Nachrichtentext auf Vorkommen von <code>Subject:</"
- "code> und <code>Keyword:</code> Header durchsucht werden. Spezifizieren Sie "
--"hierzu die Optionhref=\"?VARHELP=topics/topics_bodylines_limit"
-+"hierzu die Option <a href=\"?VARHELP=topics/topics_bodylines_limit"
- "\">topics_bodylines_limit</a>."
- 
- # Mailman/Gui/Topics.py:57

Copied: trunk/debian/patches/56_fix_de_broken_links.patch (from rev 326, trunk/debian/patches/56_fix_de_broken_links.dpatch)
===================================================================
--- trunk/debian/patches/56_fix_de_broken_links.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/56_fix_de_broken_links.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,26 @@
+Patch: 56_fix_de_broken_links.patch
+Author: based on work by Ralf Doeblitz <r.doeblitz at asco.de> (see bug #233048)
+update is called from the Debian maintainer scripts and prints
+non-appropriate output.  Change that.
+Index: messages/de/LC_MESSAGES/mailman.po
+===================================================================
+--- messages/de/LC_MESSAGES/mailman.po.orig	2006-08-15 15:12:18.000000000 +0800
++++ messages/de/LC_MESSAGES/mailman.po	2006-08-15 15:14:40.000000000 +0800
+@@ -7201,7 +7201,7 @@
+ "\">topics_bodylines_limit</a>\n"
+ "             configuration variable."
+ msgstr ""
+-"Der Themenfilter kategorisiert jede eingehende e-Mailnachricht gemäss href="
++"Der Themenfilter kategorisiert jede eingehende e-Mailnachricht gemäss <a href="
+ "\"http://www.python.org/doc/current/lib/module-re.html\">Filterregeln mit "
+ "regulären Ausdrücken</a>, die Sie weiter unten festlegen können. Wenn die "
+ "<code>Subject:</code> oder <code>Keywords:</code> Header der Nachricht mit "
+@@ -7214,7 +7214,7 @@
+ "nicht mit Sammelnachrichten.\n"
+ " <p>Optional kann auch der Nachrichtentext auf Vorkommen von <code>Subject:</"
+ "code> und <code>Keyword:</code> Header durchsucht werden. Spezifizieren Sie "
+-"hierzu die Optionhref=\"?VARHELP=topics/topics_bodylines_limit"
++"hierzu die Option <a href=\"?VARHELP=topics/topics_bodylines_limit"
+ "\">topics_bodylines_limit</a>."
+ 
+ # Mailman/Gui/Topics.py:57

Deleted: trunk/debian/patches/58_fix_translations.dpatch
===================================================================
--- trunk/debian/patches/58_fix_translations.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/58_fix_translations.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,39 +0,0 @@
-#! /bin/sh -e
-## 58_fix_translations.dpatch by  Siggy Brentrup <bsb at debian.org>
-##
-## $URL$
-## $Id$
-##
-## DP: Fix translation errors
-
-if [ $# -lt 1 ]; then
-    echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
-    exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
-
-case "$1" in
-    -patch) patch -p1 ${patch_opts} < $0;;
-    -unpatch) patch -R -p1 ${patch_opts} < $0;;
-    *)
-        echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
-        exit 1;;
-esac
-
-exit 0
-
- at DPATCH@
-diff -urNad /debuild/mine/mailman/build-area/mailman-2.1.4/messages/es/LC_MESSAGES/mailman.po mailman-2.1.4/messages/es/LC_MESSAGES/mailman.po
---- /debuild/mine/mailman/build-area/mailman-2.1.4/messages/es/LC_MESSAGES/mailman.po	2003-12-13 20:54:53.000000000 +0100
-+++ mailman-2.1.4/messages/es/LC_MESSAGES/mailman.po	2004-05-09 13:49:31.000000000 +0200
-@@ -1945,7 +1945,7 @@
- 
- #: Mailman/Cgi/create.py:200 bin/newlist:164
- msgid "Illegal list name: %(s)s"
--msgstr "Nombre de lista ilegal: %(opt)s"
-+msgstr "Nombre de lista ilegal: %(s)s"
- 
- #: Mailman/Cgi/create.py:205
- msgid ""

Copied: trunk/debian/patches/58_fix_translations.patch (from rev 326, trunk/debian/patches/58_fix_translations.dpatch)
===================================================================
--- trunk/debian/patches/58_fix_translations.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/58_fix_translations.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: 58_fix_translations.patch
+Author: Siggy Brentrup <bsb at debian.org>
+Fix translation errors
+Index: messages/es/LC_MESSAGES/mailman.po
+===================================================================
+--- messages/es/LC_MESSAGES/mailman.po.orig	2006-08-15 15:12:17.000000000 +0800
++++ messages/es/LC_MESSAGES/mailman.po	2006-08-15 15:14:41.000000000 +0800
+@@ -1984,7 +1984,7 @@
+ 
+ #: Mailman/Cgi/create.py:203 bin/newlist:200
+ msgid "Illegal list name: %(s)s"
+-msgstr "Nombre de lista ilegal: %(opt)s"
++msgstr "Nombre de lista ilegal: %(s)s"
+ 
+ #: Mailman/Cgi/create.py:208
+ msgid ""

Deleted: trunk/debian/patches/59_fix_missing_language_crash.dpatch
===================================================================
--- trunk/debian/patches/59_fix_missing_language_crash.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/59_fix_missing_language_crash.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,37 +0,0 @@
-#! /bin/sh -e
-## fix_missing_language_crash.dpatch by Pabs <pabs at zip.to>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
-
-if [ $# -lt 1 ]; then
-    echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
-    exit 1
-fi
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
-
-case "$1" in
-    -patch) patch -p1 ${patch_opts} < $0;;
-    -unpatch) patch -R -p1 ${patch_opts} < $0;;
-    *)
-        echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
-        exit 1;;
-esac
-
-exit 0
-
- at DPATCH@
-diff -urNad /home/pabs/code/mailman-2.1.4-5/Mailman/htmlformat.py mailman-2.1.4-5/Mailman/htmlformat.py
---- /home/pabs/code/mailman-2.1.4-5/Mailman/htmlformat.py	2003-09-22 10:58:13.000000000 +0800
-+++ mailman-2.1.4-5/Mailman/htmlformat.py	2004-07-24 10:14:38.000000000 +0800
-@@ -297,7 +297,7 @@
- 
-     def Format(self, indent=0, **kws):
-         charset = 'us-ascii'
--        if self.language:
-+        if self.language and Utils.IsLanguage(self.language):
-             charset = Utils.GetCharSet(self.language)
-         output = ['Content-Type: text/html; charset=%s\n' % charset]
-         if not self.suppress_head:

Copied: trunk/debian/patches/59_fix_missing_language_crash.patch (from rev 326, trunk/debian/patches/59_fix_missing_language_crash.dpatch)
===================================================================
--- trunk/debian/patches/59_fix_missing_language_crash.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/59_fix_missing_language_crash.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: fix_missing_language_crash.patch
+Author: Paul Wise <pabs3 at bonedaddy.net>
+Fix crash when a language is missing
+Index: Mailman/htmlformat.py
+===================================================================
+--- Mailman/htmlformat.py.orig	2006-08-15 15:12:17.000000000 +0800
++++ Mailman/htmlformat.py	2006-08-15 15:14:43.000000000 +0800
+@@ -297,7 +297,7 @@
+ 
+     def Format(self, indent=0, **kws):
+         charset = 'us-ascii'
+-        if self.language:
++        if self.language and Utils.IsLanguage(self.language):
+             charset = Utils.GetCharSet(self.language)
+         output = ['Content-Type: text/html; charset=%s\n' % charset]
+         if not self.suppress_head:

Deleted: trunk/debian/patches/61_fix_ru_siteowner.dpatch
===================================================================
--- trunk/debian/patches/61_fix_ru_siteowner.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/61_fix_ru_siteowner.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,32 +0,0 @@
-#! /bin/sh -e
-## 61_fix_ru_siteowner.dpatch, by László 'GCS' Böszörményi <gcs at lsc.hu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Correct siteowner variable in ru template for newer Mailman versions.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-diff -urNad pkg-mailman/templates/ru/newlist.txt.orig pkg-mailman/templates/ru/newlist.txt
---- pkg-mailman/templates/ru/newlist.txt.orig 2004-09-25 18:05:09.000000000 +0000
-+++ pkg-mailman/templates/ru/newlist.txt 2004-09-25 18:05:37.000000000 +0000
-@@ -37,4 +37,4 @@
- ÐÏÌØÚÏ×ÁÔÅÌÑ.
- 
- ÷ÓÅ ×ÏÐÒÏÓÙ Ï ÓÉÓÔÅÍÅ ÷Ù ÍÏÖÅÔÅ ÚÁÄÁÔØ, ÏÔÐÒÁ×É× ÐÉÓØÍÏ ÐÏ ÁÄÒÅÓÕ
--mailman-owner@%(hostname)s.
-+    %(siteowner)s.

Copied: trunk/debian/patches/61_fix_ru_siteowner.patch (from rev 326, trunk/debian/patches/61_fix_ru_siteowner.dpatch)
===================================================================
--- trunk/debian/patches/61_fix_ru_siteowner.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/61_fix_ru_siteowner.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,13 @@
+Patch: 61_fix_ru_siteowner.patch
+Author: László 'GCS' Böszörményi <gcs at lsc.hu>
+Correct siteowner variable in ru template for newer Mailman versions.
+Index: templates/ru/newlist.txt
+===================================================================
+--- templates/ru/newlist.txt.orig	2006-08-15 15:12:17.000000000 +0800
++++ templates/ru/newlist.txt	2006-08-15 15:14:44.000000000 +0800
+@@ -37,4 +37,4 @@
+ ÐÏÌØÚÏ×ÁÔÅÌÑ.
+ 
+ ÷ÓÅ ×ÏÐÒÏÓÙ Ï ÓÉÓÔÅÍÅ ÷Ù ÍÏÖÅÔÅ ÚÁÄÁÔØ, ÏÔÐÒÁ×É× ÐÉÓØÍÏ ÐÏ ÁÄÒÅÓÕ
+-mailman-owner@%(hostname)s.
++    %(siteowner)s.

Deleted: trunk/debian/patches/62_new_list_bad_pending_requests.dpatch
===================================================================
--- trunk/debian/patches/62_new_list_bad_pending_requests.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/62_new_list_bad_pending_requests.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,41 +0,0 @@
-#! /bin/sh -e
-## 62_new_list_bad_pending_requests.dpatch by richm at oldelvet.org.uk
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Only mail 'pending admin requests' if the database for the
-## DP: particular list exists, so we do not send out '-1' requests.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-diff -urNad mailman-2.1.6~/Mailman/ListAdmin.py mailman-2.1.6/Mailman/ListAdmin.py
---- mailman-2.1.6~/Mailman/ListAdmin.py	2005-12-10 11:48:45.000000000 +0100
-+++ mailman-2.1.6/Mailman/ListAdmin.py	2005-12-10 11:52:18.230056696 +0100
-@@ -130,8 +130,11 @@
- 
-     def NumRequestsPending(self):
-         self.__opendb()
--        # Subtract one for the version pseudo-entry
--        return len(self.__db) - 1
-+        if self.__db.has_key('version'):
-+            # Subtract one for the version pseudo-entry
-+            return len(self.__db) - 1
-+        else:
-+            return len(self.__db)
- 
-     def __getmsgids(self, rtype):
-         self.__opendb()

Copied: trunk/debian/patches/62_new_list_bad_pending_requests.patch (from rev 326, trunk/debian/patches/62_new_list_bad_pending_requests.dpatch)
===================================================================
--- trunk/debian/patches/62_new_list_bad_pending_requests.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/62_new_list_bad_pending_requests.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,22 @@
+Patch: 62_new_list_bad_pending_requests.patch
+Author: Richard Mortimer <richm at oldelvet.org.uk>
+Only mail 'pending admin requests' if the database for the
+particular list exists, so we do not send out '-1' requests.
+Index: Mailman/ListAdmin.py
+===================================================================
+--- Mailman/ListAdmin.py.orig	2006-08-15 15:12:17.000000000 +0800
++++ Mailman/ListAdmin.py	2006-08-15 15:14:45.000000000 +0800
+@@ -130,8 +130,11 @@
+ 
+     def NumRequestsPending(self):
+         self.__opendb()
+-        # Subtract one for the version pseudo-entry
+-        return len(self.__db) - 1
++        if self.__db.has_key('version'):
++            # Subtract one for the version pseudo-entry
++            return len(self.__db) - 1
++        else:
++            return len(self.__db)
+ 
+     def __getmsgids(self, rtype):
+         self.__opendb()

Deleted: trunk/debian/patches/63_update_default_server_language.dpatch
===================================================================
--- trunk/debian/patches/63_update_default_server_language.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/63_update_default_server_language.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,53 +0,0 @@
-#! /bin/sh -e
-## 63_update_default_server_language.dpatch, by
-## László 'GCS' Böszörményi <gcs at lsc.hu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Get the default language from the config file, and do not use the
-## DP: hardcoded English.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
---- mailman-2.1.5/bin/update.orig	2004-10-14 21:51:51.000000000 +0000
-+++ mailman-2.1.5/bin/update	2004-10-14 22:19:25.000000000 +0000
-@@ -121,7 +121,7 @@
-     #
-     # First, get rid of any lists/<list> template or lists/<list>/en template
-     # that is identical to the global templates/* default.
--    for gtemplate in os.listdir(os.path.join(mm_cfg.TEMPLATE_DIR, 'en')):
-+    for gtemplate in os.listdir(os.path.join(mm_cfg.TEMPLATE_DIR, mm_cfg.DEFAULT_SERVER_LANGUAGE)):
-         # BAW: get rid of old templates, e.g. admlogin.txt and
-         # handle_opts.html
-         try:
-@@ -155,14 +155,14 @@
-                 os.unlink(os.path.join(mlist.fullpath(), gtemplate + '.prev'))
-         # Match against the lists/<list>/en/* templates
-         try:
--            fp = open(os.path.join(mlist.fullpath(), 'en', gtemplate))
-+            fp = open(os.path.join(mlist.fullpath(), mm_cfg.DEFAULT_SERVER_LANGUAGE, gtemplate))
-         except IOError, e:
-             if e.errno <> errno.ENOENT: raise
-         else:
-             tcksum = md5.new(fp.read()).digest()
-             fp.close()
-             if gcksum == tcksum:
--                os.unlink(os.path.join(mlist.fullpath(), 'en', gtemplate))
-+                os.unlink(os.path.join(mlist.fullpath(), mm_cfg.DEFAULT_SERVER_LANGUAGE, gtemplate))
-         # Match against the templates/* template
-         try:
-             fp = open(os.path.join(mm_cfg.TEMPLATE_DIR, gtemplate))

Copied: trunk/debian/patches/63_update_default_server_language.patch (from rev 326, trunk/debian/patches/63_update_default_server_language.dpatch)
===================================================================
--- trunk/debian/patches/63_update_default_server_language.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/63_update_default_server_language.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,34 @@
+Patch: 63_update_default_server_language.patch
+Author: László 'GCS' Böszörményi <gcs at lsc.hu>
+Get the default language from the config file, and do not use the
+hardcoded English.
+Index: bin/update
+===================================================================
+--- bin/update.orig	2006-08-15 15:14:30.000000000 +0800
++++ bin/update	2006-08-15 15:14:46.000000000 +0800
+@@ -121,7 +121,7 @@
+     #
+     # First, get rid of any lists/<list> template or lists/<list>/en template
+     # that is identical to the global templates/* default.
+-    for gtemplate in os.listdir(os.path.join(mm_cfg.TEMPLATE_DIR, 'en')):
++    for gtemplate in os.listdir(os.path.join(mm_cfg.TEMPLATE_DIR, mm_cfg.DEFAULT_SERVER_LANGUAGE)):
+         # BAW: get rid of old templates, e.g. admlogin.txt and
+         # handle_opts.html
+         try:
+@@ -155,14 +155,14 @@
+                 os.unlink(os.path.join(mlist.fullpath(), gtemplate + '.prev'))
+         # Match against the lists/<list>/en/* templates
+         try:
+-            fp = open(os.path.join(mlist.fullpath(), 'en', gtemplate))
++            fp = open(os.path.join(mlist.fullpath(), mm_cfg.DEFAULT_SERVER_LANGUAGE, gtemplate))
+         except IOError, e:
+             if e.errno <> errno.ENOENT: raise
+         else:
+             tcksum = md5.new(fp.read()).digest()
+             fp.close()
+             if gcksum == tcksum:
+-                os.unlink(os.path.join(mlist.fullpath(), 'en', gtemplate))
++                os.unlink(os.path.join(mlist.fullpath(), mm_cfg.DEFAULT_SERVER_LANGUAGE, gtemplate))
+         # Match against the templates/* template
+         try:
+             fp = open(os.path.join(mm_cfg.TEMPLATE_DIR, gtemplate))

Deleted: trunk/debian/patches/64_correct_html_nesting.dpatch
===================================================================
--- trunk/debian/patches/64_correct_html_nesting.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/64_correct_html_nesting.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,421 +0,0 @@
-#! /bin/sh -e
-## 64_correct_html_nesting.dpatch, by
-## László 'GCS' Böszörményi <gcs at lsc.hu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: listinfo.html does not use proper HTML tag nesting, and thus
-## DP: sensible browsers like iCal may choke on that -> fix that.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-diff -urNad mailman-2.1.8rc1~/templates/ca/listinfo.html mailman-2.1.8rc1/templates/ca/listinfo.html
---- mailman-2.1.8rc1~/templates/ca/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ca/listinfo.html	2006-04-11 21:22:32.267496053 +0200
-@@ -53,8 +53,9 @@
-       </TR>
-       
-   <tr> 
--    <td colspan="2">Per subscriure's ompli el seg&uuml;ent formulari. <MM-List-Subscription-Msg> 
-+    <td colspan="2">Per subscriure's ompli el seg&uuml;ent formulari.
-       <ul>
-+	  <MM-List-Subscription-Msg>
-         <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
-           <TR> 
-diff -urNad mailman-2.1.8rc1~/templates/cs/listinfo.html mailman-2.1.8rc1/templates/cs/listinfo.html
---- mailman-2.1.8rc1~/templates/cs/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/cs/listinfo.html	2006-04-11 21:22:32.268495913 +0200
-@@ -63,8 +63,8 @@
- 	<td colspan="2">
- 	  <P>
-              Pro pøihlá¹ení do konference <MM-List-Name> musíte vyplnit následující formuláø.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/da/listinfo.html mailman-2.1.8rc1/templates/da/listinfo.html
---- mailman-2.1.8rc1~/templates/da/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/da/listinfo.html	2006-04-11 21:22:32.268495913 +0200
-@@ -62,8 +62,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    Du kan tilmelde dig <MM-List-Name> ved at udfylde skemaet herunder.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/de/listinfo.html mailman-2.1.8rc1/templates/de/listinfo.html
---- mailman-2.1.8rc1~/templates/de/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/de/listinfo.html	2006-04-11 21:22:32.269495773 +0200
-@@ -63,8 +63,8 @@
- 	  <P>
- 	    Abonnieren Sie <MM-List-Name>, indem Sie das folgende Formular
-  ausf&uuml;llen:
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/en/listinfo.html mailman-2.1.8rc1/templates/en/listinfo.html
---- mailman-2.1.8rc1~/templates/en/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/en/listinfo.html	2006-04-11 21:22:32.269495773 +0200
-@@ -63,8 +63,8 @@
- 	  <P>
- 	    Subscribe to <MM-List-Name> by filling out the following
- 	      form.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/es/listinfo.html mailman-2.1.8rc1/templates/es/listinfo.html
---- mailman-2.1.8rc1~/templates/es/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/es/listinfo.html	2006-04-11 21:22:32.269495773 +0200
-@@ -64,8 +64,8 @@
- 	  <P>
- 	    Suscr&iacute;base a <MM-List-Name> rellenando los datos del
- 	    siguiente formulario
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/et/listinfo.html mailman-2.1.8rc1/templates/et/listinfo.html
---- mailman-2.1.8rc1~/templates/et/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/et/listinfo.html	2006-04-11 21:22:32.269495773 +0200
-@@ -58,8 +58,8 @@
- 	<td colspan="2">
- 	  <P>
- 	   <MM-List-Name> tellimiseks täitke järgnev vorm
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/eu/listinfo.html mailman-2.1.8rc1/templates/eu/listinfo.html
---- mailman-2.1.8rc1~/templates/eu/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/eu/listinfo.html	2006-04-11 21:22:32.270495633 +0200
-@@ -62,8 +62,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    <MM-List-Name> posta zerrendan izena eman, ondoko eskaera-orria betez.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/fi/listinfo.html mailman-2.1.8rc1/templates/fi/listinfo.html
---- mailman-2.1.8rc1~/templates/fi/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/fi/listinfo.html	2006-04-11 21:22:32.270495633 +0200
-@@ -63,8 +63,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    Liity listalle <MM-List-Name> täyttämällä oheinen lomake.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/fr/listinfo.html mailman-2.1.8rc1/templates/fr/listinfo.html
---- mailman-2.1.8rc1~/templates/fr/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/fr/listinfo.html	2006-04-11 21:22:32.270495633 +0200
-@@ -61,8 +61,8 @@
-       <p> 	    
- 	Abonnez-vous &agrave; <MM-List-Name> en remplissant le formulaire 
- 	      suivant. 	  
--	<MM-List-Subscription-Msg> 	 
-       <ul>    
-+	<MM-List-Subscription-Msg> 	 
-         <table border="0" cellspacing="2" cellpadding="2" width="70%"
-  height="112">
-             <tr>
-diff -urNad mailman-2.1.8rc1~/templates/hr/listinfo.html mailman-2.1.8rc1/templates/hr/listinfo.html
---- mailman-2.1.8rc1~/templates/hr/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/hr/listinfo.html	2006-04-11 21:22:32.271495493 +0200
-@@ -63,8 +63,8 @@
- 	  <P>
- 	    Pretplatite se na <MM-List-Name> ispunjavanjem sljedeæe 
- 	      forme.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/hu/listinfo.html mailman-2.1.8rc1/templates/hu/listinfo.html
---- mailman-2.1.8rc1~/templates/hu/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/hu/listinfo.html	2006-04-11 21:22:32.271495493 +0200
-@@ -59,11 +59,10 @@
- 	<td colspan="2">
- 	  <P>
-  	  Töltsd ki az alábbi ûrlapot a(z) <MM-List-Name> listára való feliratkozáshoz.	    
--	  <MM-List-Subscription-Msg>
- 	  <P>Feliratkozás elõtt kérlek olvasd el a listaszerver
-             <A HREF="/illik.html">illemtanát</A>!
--
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/it/listinfo.html mailman-2.1.8rc1/templates/it/listinfo.html
---- mailman-2.1.8rc1~/templates/it/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/it/listinfo.html	2006-04-11 21:22:32.271495493 +0200
-@@ -63,8 +63,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    Iscriviti a <MM-List-Name> completando il seguente modulo.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/ja/listinfo.html mailman-2.1.8rc1/templates/ja/listinfo.html
---- mailman-2.1.8rc1~/templates/ja/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ja/listinfo.html	2006-04-11 21:22:32.272495353 +0200
-@@ -65,8 +65,8 @@
- 	  <P>
- 	    <MM-List-Name> ¤Ø¤ÎÆþ²ñ¤Ï, 
-             °Ê²¼¤Î¥Õ¥©¡¼¥à¤ËɬÍ×»ö¹à¤òµ­Æþ¤·¤Æ¤¯¤À¤µ¤¤. 
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/ko/listinfo.html mailman-2.1.8rc1/templates/ko/listinfo.html
---- mailman-2.1.8rc1~/templates/ko/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ko/listinfo.html	2006-04-11 21:22:32.272495353 +0200
-@@ -63,8 +63,8 @@
- 	<td colspan="2">
- 	  <P>
- 	     ´ÙÀ½ Ç׸ñµéÀ» ä¿ö Áּż­ <MM-List-Name> ¿¡ °¡ÀÔ ÇϽʽÿÀ.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/lt/listinfo.html mailman-2.1.8rc1/templates/lt/listinfo.html
---- mailman-2.1.8rc1~/templates/lt/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/lt/listinfo.html	2006-04-11 21:22:32.272495353 +0200
-@@ -61,8 +61,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    Prisijunkite prie <MM-List-Name> uþpildydami ðiuos laukus:
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/nl/listinfo.html mailman-2.1.8rc1/templates/nl/listinfo.html
---- mailman-2.1.8rc1~/templates/nl/listinfo.html	2006-04-11 21:22:03.000000000 +0200
-+++ mailman-2.1.8rc1/templates/nl/listinfo.html	2006-04-11 21:22:32.272495353 +0200
-@@ -57,8 +57,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    Om je aan te melden op de <MM-List-Name> Mailing lijst vul het onderstaande formulier in.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/no/listinfo.html mailman-2.1.8rc1/templates/no/listinfo.html
---- mailman-2.1.8rc1~/templates/no/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/no/listinfo.html	2006-04-11 21:22:32.273495213 +0200
-@@ -62,8 +62,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    Du kan melde deg p&aring; <MM-List-Name> ved &aring; fylle ut n&oslash;dvendig informasjon nedenfor.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/pl/listinfo.html mailman-2.1.8rc1/templates/pl/listinfo.html
---- mailman-2.1.8rc1~/templates/pl/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pl/listinfo.html	2006-04-11 21:22:32.273495213 +0200
-@@ -65,8 +65,8 @@
-           W celu zapisania siê na listê <MM-List-Name> nale¿y wype³niæ 
-           poni¿szy formularz.
- 
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/pt/listinfo.html mailman-2.1.8rc1/templates/pt/listinfo.html
---- mailman-2.1.8rc1~/templates/pt/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pt/listinfo.html	2006-04-11 21:22:32.274495072 +0200
-@@ -63,8 +63,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    Inscreva-se em <MM-List-Name> preenchendo o seguinte formulário.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/pt_BR/listinfo.html mailman-2.1.8rc1/templates/pt_BR/listinfo.html
---- mailman-2.1.8rc1~/templates/pt_BR/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pt_BR/listinfo.html	2006-04-11 21:22:32.274495072 +0200
-@@ -64,8 +64,8 @@
- 	  <P>
- 	    Para se inscrever na lista <MM-List-Name>, preencha o seguinte
- 	      formulário.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/ro/listinfo.html mailman-2.1.8rc1/templates/ro/listinfo.html
---- mailman-2.1.8rc1~/templates/ro/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ro/listinfo.html	2006-04-11 21:22:32.274495072 +0200
-@@ -60,8 +60,8 @@
- 	  <P>
- 	    Vã puteþi abona la lista de discuþii <MM-List-Name> completând formularul
- 	    de mai jos.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/ru/listinfo.html mailman-2.1.8rc1/templates/ru/listinfo.html
---- mailman-2.1.8rc1~/templates/ru/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ru/listinfo.html	2006-04-11 21:22:32.307490450 +0200
-@@ -51,8 +51,8 @@
-         <td colspan="2">
-           <P>
-           äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ <MM-List-Name>, ÚÁÐÏÌÎÉÔÅ ÓÌÅÄÕÀÝÕÀ ÆÏÒÍÕ.
--          <MM-List-Subscription-Msg>
-           <ul>
-+          <MM-List-Subscription-Msg>
-               <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
-                 WIDTH="70%" HEIGHT= "112">
-                 <TR>
-diff -urNad mailman-2.1.8rc1~/templates/sl/listinfo.html mailman-2.1.8rc1/templates/sl/listinfo.html
---- mailman-2.1.8rc1~/templates/sl/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/sl/listinfo.html	2006-04-11 21:22:32.307490450 +0200
-@@ -63,8 +63,8 @@
- 	  <P>
- 	    Na seznam <MM-List-Name> se prijavite tako, da izpolnite
- 	      obrazec.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/sr/listinfo.html mailman-2.1.8rc1/templates/sr/listinfo.html
---- mailman-2.1.8rc1~/templates/sr/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/sr/listinfo.html	2006-04-11 21:22:32.307490450 +0200
-@@ -52,8 +52,9 @@
-       </TR>
-       <tr>
- 	<td colspan="2">
--	  <P> Укључујете се попуњавајући следећи формулар:<MM-List-Subscription-Msg> 
-+	  <P> Укључујете се попуњавајући следећи формулар:
-       <ul>
-+	  <MM-List-Subscription-Msg>
-         <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
-           <TR> 
-diff -urNad mailman-2.1.8rc1~/templates/sv/listinfo.html mailman-2.1.8rc1/templates/sv/listinfo.html
---- mailman-2.1.8rc1~/templates/sv/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/sv/listinfo.html	2006-04-11 21:22:32.310490030 +0200
-@@ -56,8 +56,9 @@
-       </TR>
-       <tr>
- 	<td colspan="2">
--	  <P>Du kan anm&auml;la dig till <MM-List-Name> genom att fylla i n&ouml;dv&auml;ndig information nedan. 	  <MM-List-Subscription-Msg>
-+	  <P>Du kan anm&auml;la dig till <MM-List-Name> genom att fylla i n&ouml;dv&auml;ndig information nedan.
- 	  <ul>
-+	<MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/tr/listinfo.html mailman-2.1.8rc1/templates/tr/listinfo.html
---- mailman-2.1.8rc1~/templates/tr/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/tr/listinfo.html	2006-04-11 21:22:32.310490030 +0200
-@@ -63,8 +63,8 @@
- 	  <P>
- 	    <MM-List-Name> listesine aþaðýdaki formu doldurarak üye
- 	      olabilirsiniz.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/uk/listinfo.html mailman-2.1.8rc1/templates/uk/listinfo.html
---- mailman-2.1.8rc1~/templates/uk/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/uk/listinfo.html	2006-04-11 21:22:32.310490030 +0200
-@@ -62,8 +62,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    Щоб підписатись на список розсилки <MM-List-Name> заповніть наступну форму.
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/zh_CN/listinfo.html mailman-2.1.8rc1/templates/zh_CN/listinfo.html
---- mailman-2.1.8rc1~/templates/zh_CN/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/zh_CN/listinfo.html	2006-04-11 21:22:32.310490030 +0200
-@@ -60,8 +60,8 @@
- 	<td colspan="2">
- 	  <P>
- 	   要订阅 <MM-List-Name> 邮件列表,请填写如下资料:
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>
-diff -urNad mailman-2.1.8rc1~/templates/zh_TW/listinfo.html mailman-2.1.8rc1/templates/zh_TW/listinfo.html
---- mailman-2.1.8rc1~/templates/zh_TW/listinfo.html	2006-04-11 21:21:05.000000000 +0200
-+++ mailman-2.1.8rc1/templates/zh_TW/listinfo.html	2006-04-11 21:22:32.311489890 +0200
-@@ -60,8 +60,8 @@
- 	<td colspan="2">
- 	  <P>
- 	    欲加入(訂閱) <MM-List-Name> 論壇請依序填妥下列資料。
--	  <MM-List-Subscription-Msg>
- 	  <ul>
-+	  <MM-List-Subscription-Msg>
- 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
- 		WIDTH="70%" HEIGHT= "112">
- 		<TR>

Copied: trunk/debian/patches/64_correct_html_nesting.patch (from rev 326, trunk/debian/patches/64_correct_html_nesting.dpatch)
===================================================================
--- trunk/debian/patches/64_correct_html_nesting.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/64_correct_html_nesting.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,430 @@
+Patch: 64_correct_html_nesting.patch
+Author: Laszlo 'GCS' Boszormenyi <gcs at lsc.hu>
+listinfo.html does not use proper HTML tag nesting, and thus
+sensible browsers like iCal may choke on that -> fix that.
+Index: templates/ca/listinfo.html
+===================================================================
+--- templates/ca/listinfo.html.orig	2006-08-15 15:12:13.000000000 +0800
++++ templates/ca/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -53,8 +53,9 @@
+       </TR>
+       
+   <tr> 
+-    <td colspan="2">Per subscriure's ompli el seg&uuml;ent formulari. <MM-List-Subscription-Msg> 
++    <td colspan="2">Per subscriure's ompli el seg&uuml;ent formulari.
+       <ul>
++	  <MM-List-Subscription-Msg>
+         <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+           <TR> 
+Index: templates/cs/listinfo.html
+===================================================================
+--- templates/cs/listinfo.html.orig	2006-08-15 15:12:14.000000000 +0800
++++ templates/cs/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	<td colspan="2">
+ 	  <P>
+              Pro pøihlá¹ení do konference <MM-List-Name> musíte vyplnit následující formuláø.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/da/listinfo.html
+===================================================================
+--- templates/da/listinfo.html.orig	2006-08-15 15:12:13.000000000 +0800
++++ templates/da/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -62,8 +62,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    Du kan tilmelde dig <MM-List-Name> ved at udfylde skemaet herunder.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/de/listinfo.html
+===================================================================
+--- templates/de/listinfo.html.orig	2006-08-15 15:12:14.000000000 +0800
++++ templates/de/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	  <P>
+ 	    Abonnieren Sie <MM-List-Name>, indem Sie das folgende Formular
+  ausf&uuml;llen:
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/en/listinfo.html
+===================================================================
+--- templates/en/listinfo.html.orig	2006-08-15 15:12:14.000000000 +0800
++++ templates/en/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	  <P>
+ 	    Subscribe to <MM-List-Name> by filling out the following
+ 	      form.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/es/listinfo.html
+===================================================================
+--- templates/es/listinfo.html.orig	2006-08-15 15:12:14.000000000 +0800
++++ templates/es/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -64,8 +64,8 @@
+ 	  <P>
+ 	    Suscr&iacute;base a <MM-List-Name> rellenando los datos del
+ 	    siguiente formulario
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/et/listinfo.html
+===================================================================
+--- templates/et/listinfo.html.orig	2006-08-15 15:12:14.000000000 +0800
++++ templates/et/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -58,8 +58,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	   <MM-List-Name> tellimiseks täitke järgnev vorm
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/eu/listinfo.html
+===================================================================
+--- templates/eu/listinfo.html.orig	2006-08-15 15:12:14.000000000 +0800
++++ templates/eu/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -62,8 +62,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    <MM-List-Name> posta zerrendan izena eman, ondoko eskaera-orria betez.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/fi/listinfo.html
+===================================================================
+--- templates/fi/listinfo.html.orig	2006-08-15 15:12:14.000000000 +0800
++++ templates/fi/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    Liity listalle <MM-List-Name> täyttämällä oheinen lomake.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/fr/listinfo.html
+===================================================================
+--- templates/fr/listinfo.html.orig	2006-08-15 15:12:14.000000000 +0800
++++ templates/fr/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -61,8 +61,8 @@
+       <p> 	    
+ 	Abonnez-vous &agrave; <MM-List-Name> en remplissant le formulaire 
+ 	      suivant. 	  
+-	<MM-List-Subscription-Msg> 	 
+       <ul>    
++	<MM-List-Subscription-Msg> 	 
+         <table border="0" cellspacing="2" cellpadding="2" width="70%"
+  height="112">
+             <tr>
+Index: templates/hr/listinfo.html
+===================================================================
+--- templates/hr/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/hr/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	  <P>
+ 	    Pretplatite se na <MM-List-Name> ispunjavanjem sljedeæe 
+ 	      forme.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/hu/listinfo.html
+===================================================================
+--- templates/hu/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/hu/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -59,11 +59,10 @@
+ 	<td colspan="2">
+ 	  <P>
+  	  Töltsd ki az alábbi ûrlapot a(z) <MM-List-Name> listára való feliratkozáshoz.	    
+-	  <MM-List-Subscription-Msg>
+ 	  <P>Feliratkozás elõtt kérlek olvasd el a listaszerver
+             <A HREF="/illik.html">illemtanát</A>!
+-
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/it/listinfo.html
+===================================================================
+--- templates/it/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/it/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    Iscriviti a <MM-List-Name> completando il seguente modulo.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/ja/listinfo.html
+===================================================================
+--- templates/ja/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/ja/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -65,8 +65,8 @@
+ 	  <P>
+ 	    <MM-List-Name> ¤Ø¤ÎÆþ²ñ¤Ï, 
+             °Ê²¼¤Î¥Õ¥©¡¼¥à¤ËɬÍ×»ö¹à¤òµ­Æþ¤·¤Æ¤¯¤À¤µ¤¤. 
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/ko/listinfo.html
+===================================================================
+--- templates/ko/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/ko/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	     ´ÙÀ½ Ç׸ñµéÀ» ä¿ö Áּż­ <MM-List-Name> ¿¡ °¡ÀÔ ÇϽʽÿÀ.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/lt/listinfo.html
+===================================================================
+--- templates/lt/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/lt/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -61,8 +61,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    Prisijunkite prie <MM-List-Name> uþpildydami ðiuos laukus:
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/nl/listinfo.html
+===================================================================
+--- templates/nl/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/nl/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -57,8 +57,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    Om je aan te melden op de <MM-List-Name> Mailing lijst vul het onderstaande formulier in.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/no/listinfo.html
+===================================================================
+--- templates/no/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/no/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -62,8 +62,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    Du kan melde deg p&aring; <MM-List-Name> ved &aring; fylle ut n&oslash;dvendig informasjon nedenfor.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/pl/listinfo.html
+===================================================================
+--- templates/pl/listinfo.html.orig	2006-08-15 15:12:15.000000000 +0800
++++ templates/pl/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -65,8 +65,8 @@
+           W celu zapisania siê na listê <MM-List-Name> nale¿y wype³niæ 
+           poni¿szy formularz.
+ 
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/pt/listinfo.html
+===================================================================
+--- templates/pt/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/pt/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    Inscreva-se em <MM-List-Name> preenchendo o seguinte formulário.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/pt_BR/listinfo.html
+===================================================================
+--- templates/pt_BR/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/pt_BR/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -64,8 +64,8 @@
+ 	  <P>
+ 	    Para se inscrever na lista <MM-List-Name>, preencha o seguinte
+ 	      formulário.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/ro/listinfo.html
+===================================================================
+--- templates/ro/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/ro/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -60,8 +60,8 @@
+ 	  <P>
+ 	    Vã puteþi abona la lista de discuþii <MM-List-Name> completând formularul
+ 	    de mai jos.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/ru/listinfo.html
+===================================================================
+--- templates/ru/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/ru/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -51,8 +51,8 @@
+         <td colspan="2">
+           <P>
+           äÌÑ ÔÏÇÏ, ÞÔÏÂÙ ÐÏÄÐÉÓÁÔØÓÑ ÎÁ ÓÐÉÓÏË ÒÁÓÓÙÌËÉ <MM-List-Name>, ÚÁÐÏÌÎÉÔÅ ÓÌÅÄÕÀÝÕÀ ÆÏÒÍÕ.
+-          <MM-List-Subscription-Msg>
+           <ul>
++          <MM-List-Subscription-Msg>
+               <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+                 WIDTH="70%" HEIGHT= "112">
+                 <TR>
+Index: templates/sl/listinfo.html
+===================================================================
+--- templates/sl/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/sl/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	  <P>
+ 	    Na seznam <MM-List-Name> se prijavite tako, da izpolnite
+ 	      obrazec.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/sr/listinfo.html
+===================================================================
+--- templates/sr/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/sr/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -52,8 +52,9 @@
+       </TR>
+       <tr>
+ 	<td colspan="2">
+-	  <P> Укључујете се попуњавајући следећи формулар:<MM-List-Subscription-Msg> 
++	  <P> Укључујете се попуњавајући следећи формулар:
+       <ul>
++	  <MM-List-Subscription-Msg>
+         <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+           <TR> 
+Index: templates/sv/listinfo.html
+===================================================================
+--- templates/sv/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/sv/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -56,8 +56,9 @@
+       </TR>
+       <tr>
+ 	<td colspan="2">
+-	  <P>Du kan anm&auml;la dig till <MM-List-Name> genom att fylla i n&ouml;dv&auml;ndig information nedan. 	  <MM-List-Subscription-Msg>
++	  <P>Du kan anm&auml;la dig till <MM-List-Name> genom att fylla i n&ouml;dv&auml;ndig information nedan.
+ 	  <ul>
++	<MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/tr/listinfo.html
+===================================================================
+--- templates/tr/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/tr/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -63,8 +63,8 @@
+ 	  <P>
+ 	    <MM-List-Name> listesine aþaðýdaki formu doldurarak üye
+ 	      olabilirsiniz.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/uk/listinfo.html
+===================================================================
+--- templates/uk/listinfo.html.orig	2006-08-15 15:12:16.000000000 +0800
++++ templates/uk/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -62,8 +62,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    Щоб підписатись на список розсилки <MM-List-Name> заповніть наступну форму.
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/zh_CN/listinfo.html
+===================================================================
+--- templates/zh_CN/listinfo.html.orig	2006-08-15 15:12:17.000000000 +0800
++++ templates/zh_CN/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -60,8 +60,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	   要订阅 <MM-List-Name> 邮件列表,请填写如下资料:
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>
+Index: templates/zh_TW/listinfo.html
+===================================================================
+--- templates/zh_TW/listinfo.html.orig	2006-08-15 15:12:17.000000000 +0800
++++ templates/zh_TW/listinfo.html	2006-08-15 15:14:47.000000000 +0800
+@@ -60,8 +60,8 @@
+ 	<td colspan="2">
+ 	  <P>
+ 	    欲加入(訂閱) <MM-List-Name> 論壇請依序填妥下列資料。
+-	  <MM-List-Subscription-Msg>
+ 	  <ul>
++	  <MM-List-Subscription-Msg>
+ 	      <TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2"
+ 		WIDTH="70%" HEIGHT= "112">
+ 		<TR>

Deleted: trunk/debian/patches/65_handle_templates_directories.dpatch
===================================================================
--- trunk/debian/patches/65_handle_templates_directories.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/65_handle_templates_directories.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 65_handle_templates_directories.dpatch by  <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Skip directories when updating
-
- at DPATCH@
-diff -urNad mailman-2.1.5/bin/update /tmp/dpep.3rh2pG/mailman-2.1.5/bin/update
---- mailman-2.1.5/bin/update	2005-01-10 16:21:05.917239616 +0100
-+++ /tmp/dpep.3rh2pG/mailman-2.1.5/bin/update	2005-01-10 16:21:56.833499168 +0100
-@@ -127,7 +127,7 @@
-         try:
-             fp = open(os.path.join(mm_cfg.TEMPLATE_DIR, gtemplate))
-         except IOError, e:
--            if e.errno <> errno.ENOENT: raise
-+            if not (e.errno in [errno.ENOENT, errno.EISDIR, ]): raise
-             # No global template
-             continue
- 

Copied: trunk/debian/patches/65_handle_templates_directories.patch (from rev 326, trunk/debian/patches/65_handle_templates_directories.dpatch)
===================================================================
--- trunk/debian/patches/65_handle_templates_directories.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/65_handle_templates_directories.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: 65_handle_templates_directories.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Skip directories when updating
+Index: bin/update
+===================================================================
+--- bin/update.orig	2006-08-15 15:14:46.000000000 +0800
++++ bin/update	2006-08-15 15:14:50.000000000 +0800
+@@ -127,7 +127,7 @@
+         try:
+             fp = open(os.path.join(mm_cfg.TEMPLATE_DIR, gtemplate))
+         except IOError, e:
+-            if e.errno <> errno.ENOENT: raise
++            if not (e.errno in [errno.ENOENT, errno.EISDIR, ]): raise
+             # No global template
+             continue
+ 

Deleted: trunk/debian/patches/66_donot_let_cache_html_pages.dpatch
===================================================================
--- trunk/debian/patches/66_donot_let_cache_html_pages.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/66_donot_let_cache_html_pages.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,37 +0,0 @@
-#! /bin/sh -e
-## 66_donot_let_cache_html_pages.dpatch
-## by László 'GCS' Böszörményi <gcs at lsc.hu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Add 'Pragma: no-cache' to HTML page outputs, so proxies like Squid
-## DP: do not cache them, and changes become visible immediately.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
---- mailman-2.1.5/Mailman/htmlformat.py.orig	2003-09-22 02:58:13.000000000 +0000
-+++ mailman-2.1.5/Mailman/htmlformat.py		2004-11-16 16:47:01.000000000 +0000
-@@ -299,7 +299,8 @@
-         charset = 'us-ascii'
-         if self.language:
-             charset = Utils.GetCharSet(self.language)
--        output = ['Content-Type: text/html; charset=%s\n' % charset]
-+        output = ['Content-Type: text/html; charset=%s' % charset]
-+        output.append('Cache-control: no-cache\n')
-         if not self.suppress_head:
-             kws.setdefault('bgcolor', self.bgcolor)
-             tab = ' ' * indent

Copied: trunk/debian/patches/66_donot_let_cache_html_pages.patch (from rev 326, trunk/debian/patches/66_donot_let_cache_html_pages.dpatch)
===================================================================
--- trunk/debian/patches/66_donot_let_cache_html_pages.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/66_donot_let_cache_html_pages.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,18 @@
+Patch: 66_donot_let_cache_html_pages.patch
+Author: László 'GCS' Böszörményi <gcs at lsc.hu>
+Add 'Pragma: no-cache' to HTML page outputs, so proxies like Squid
+do not cache them, and changes become visible immediately.
+Index: Mailman/htmlformat.py
+===================================================================
+--- Mailman/htmlformat.py.orig	2006-08-15 15:14:43.000000000 +0800
++++ Mailman/htmlformat.py	2006-08-15 15:14:51.000000000 +0800
+@@ -299,7 +299,8 @@
+         charset = 'us-ascii'
+         if self.language and Utils.IsLanguage(self.language):
+             charset = Utils.GetCharSet(self.language)
+-        output = ['Content-Type: text/html; charset=%s\n' % charset]
++        output = ['Content-Type: text/html; charset=%s' % charset]
++        output.append('Cache-control: no-cache\n')
+         if not self.suppress_head:
+             kws.setdefault('bgcolor', self.bgcolor)
+             tab = ' ' * indent

Deleted: trunk/debian/patches/67_update_handle_old_versions.dpatch
===================================================================
--- trunk/debian/patches/67_update_handle_old_versions.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/67_update_handle_old_versions.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,48 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-##
-## Patch by Bastian Kleineidam <calvin at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Handle the case of upgrading from Mailman 2.0 where we have
-## DP: pending subscriptions.
-
-
- at DPATCH@
-diff -urNad trunk/bin/update /tmp/dpep.sAkJKA/trunk/bin/update
---- trunk/bin/update	2005-04-14 15:30:00.858629713 +0200
-+++ /tmp/dpep.sAkJKA/trunk/bin/update	2005-04-14 15:32:19.483231517 +0200
-@@ -505,9 +505,11 @@
-     file20 = os.path.join(mm_cfg.DATA_DIR, 'pending_subscriptions.db')
-     file214 = os.path.join(mm_cfg.DATA_DIR, 'pending.pck')
-     db = None
-+    ver = None
-     # Try to load the Mailman 2.0 file
-     try:
-         fp = open(file20)
-+        ver = "20"
-     except IOError, e:
-         if e.errno <> errno.ENOENT: raise
-     else:
-@@ -519,6 +521,7 @@
-         # Try to load the Mailman 2.1.x where x < 5, file
-         try:
-             fp = open(file214)
-+            ver = "214"
-         except IOError, e:
-             if e.errno <> errno.ENOENT: raise
-         else:
-@@ -552,8 +555,12 @@
-             # data[0] is the address being unsubscribed
-             addrops_by_address.setdefault(data[0], []).append((key, val))
-         elif op == Pending.SUBSCRIPTION:
--            # data[0] is a UserDesc object
--            addr = data[0].address
-+            if ver == "20":
-+                # data is tuple (emailaddr, password, digest)
-+                addr = data[0]
-+            else:
-+                # data[0] is a UserDesc object
-+                addr = data[0].address
-             subs_by_address.setdefault(addr, []).append((key, val))
-         elif op == Pending.RE_ENABLE:
-             # data[0] is the mailing list's internal name

Copied: trunk/debian/patches/67_update_handle_old_versions.patch (from rev 326, trunk/debian/patches/67_update_handle_old_versions.dpatch)
===================================================================
--- trunk/debian/patches/67_update_handle_old_versions.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/67_update_handle_old_versions.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,43 @@
+Patch: 67_update_handle_old_versions.patch
+Author: Bastian Kleineidam <calvin at debian.org>
+Handle the case of upgrading from Mailman 2.0 where we have
+pending subscriptions.
+Index: bin/update
+===================================================================
+--- bin/update.orig	2006-08-15 15:14:50.000000000 +0800
++++ bin/update	2006-08-15 15:14:52.000000000 +0800
+@@ -514,9 +514,11 @@
+     file20 = os.path.join(mm_cfg.DATA_DIR, 'pending_subscriptions.db')
+     file214 = os.path.join(mm_cfg.DATA_DIR, 'pending.pck')
+     db = None
++    ver = None
+     # Try to load the Mailman 2.0 file
+     try:
+         fp = open(file20)
++        ver = "20"
+     except IOError, e:
+         if e.errno <> errno.ENOENT: raise
+     else:
+@@ -528,6 +530,7 @@
+         # Try to load the Mailman 2.1.x where x < 5, file
+         try:
+             fp = open(file214)
++            ver = "214"
+         except IOError, e:
+             if e.errno <> errno.ENOENT: raise
+         else:
+@@ -561,8 +564,12 @@
+             # data[0] is the address being unsubscribed
+             addrops_by_address.setdefault(data[0], []).append((key, val))
+         elif op == Pending.SUBSCRIPTION:
+-            # data[0] is a UserDesc object
+-            addr = data[0].address
++            if ver == "20":
++                # data is tuple (emailaddr, password, digest)
++                addr = data[0]
++            else:
++                # data[0] is a UserDesc object
++                addr = data[0].address
+             subs_by_address.setdefault(addr, []).append((key, val))
+         elif op == Pending.RE_ENABLE:
+             # data[0] is the mailing list's internal name

Deleted: trunk/debian/patches/68_translation_update_nl.dpatch
===================================================================
--- trunk/debian/patches/68_translation_update_nl.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/68_translation_update_nl.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,1540 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 68_translation_update_nl.dpatch by Luc Stroobant <debian at stroobant.be>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Update NL translation
-
- at DPATCH@
-diff -urNad mailman-2.1.8rc1~/messages/nl/LC_MESSAGES/mailman.po mailman-2.1.8rc1/messages/nl/LC_MESSAGES/mailman.po
---- mailman-2.1.8rc1~/messages/nl/LC_MESSAGES/mailman.po	2006-04-11 21:25:50.000000000 +0200
-+++ mailman-2.1.8rc1/messages/nl/LC_MESSAGES/mailman.po	2006-04-11 21:38:19.762052307 +0200
-@@ -311,7 +311,7 @@
- "            %(mailmanlink)s mailing lists on %(hostname)s.  Click on a list\n"
- "            name to visit the configuration pages for that list."
- msgstr ""
--"<p>Hieronder vind u een lijst van publieke\n"
-+"<p>Hieronder vindt u een lijst van publieke\n"
- "            %(mailmanlink)s maillijsten op %(hostname)s.  Klik op een\n"
- "            lijstnaam voor de configuratiepagina's van die lijst."
- 
-@@ -388,7 +388,7 @@
- "<em><strong>Waarschuwing:</strong> het veranderen van\n"
- "    deze instelling hier kan problemen opleveren op andere\n"
- "    pagina's.  Vernieuw elke pagina waar ook deze instelling\n"
--"    wordt getoond.  Je kan ook\n"
-+"    wordt getoond.  U kan ook\n"
- "    "
- 
- #: Mailman/Cgi/admin.py:374
-@@ -599,11 +599,11 @@
- 
- #: Mailman/Cgi/admin.py:835
- msgid "Mass Subscriptions"
--msgstr "Meerdere leden aanmelden"
-+msgstr "Meerdere leden inschrijven"
- 
- #: Mailman/Cgi/admin.py:842
- msgid "Mass Removals"
--msgstr "Meerdere leden afmelden"
-+msgstr "Meerdere leden uitschrijven"
- 
- #: Mailman/Cgi/admin.py:849
- msgid "Membership List"
-@@ -635,7 +635,7 @@
- 
- #: Mailman/Cgi/admin.py:959
- msgid "unsub"
--msgstr "afmelden"
-+msgstr "uitschrijven"
- 
- #: Mailman/Cgi/admin.py:960
- msgid "member address<br>member name"
-@@ -695,7 +695,7 @@
- 
- #: Mailman/Cgi/admin.py:1051
- msgid "<b>unsub</b> -- Click on this to unsubscribe the member."
--msgstr "b>afmelden</b> -- Klik hier om een lid af te melden.."
-+msgstr "b>uitschrijven</b> -- Klik hier om een lid uit te schrijven."
- 
- #: Mailman/Cgi/admin.py:1053
- msgid ""
-@@ -810,7 +810,7 @@
- "<p><em>To view more members, click on the appropriate\n"
- "        range listed below:</em>"
- msgstr ""
--"<p><em>Om meer leden te zien klik je op de letterlinks\n"
-+"<p><em>Om meer leden te zien, klik op de letterlinks\n"
- "        hieronder:</em>"
- 
- #: Mailman/Cgi/admin.py:1122
-@@ -827,7 +827,7 @@
- 
- #: Mailman/Cgi/admin.py:1137 Mailman/Cgi/listinfo.py:178
- msgid "Subscribe"
--msgstr "Aanmelden"
-+msgstr "Inschrijven"
- 
- #: Mailman/Cgi/admin.py:1143
- msgid "Send welcome messages to new subscribees?"
-@@ -889,7 +889,7 @@
- 
- #: Mailman/Cgi/admin.py:1152
- msgid "Send notifications of new subscriptions to the list owner?"
--msgstr "Stuur een melding naar de lijstbeheerder over nieuwe aanmeldingen?"
-+msgstr "Stuur een melding naar de lijstbeheerder over nieuwe inschrijvingen?"
- 
- #: Mailman/Cgi/admin.py:1160 Mailman/Cgi/admin.py:1201
- msgid "Enter one address per line below..."
-@@ -907,12 +907,12 @@
- "    one blank line at the end..."
- msgstr ""
- "Voeg hieronder een begeleidende tekst in die\n"
--"    wordt toegevoegd aan de uitnodiging of het aanmeldingsbericht.    voeg "
-+"    wordt toegevoegd aan de uitnodiging of het inschrijvingsbericht.    voeg "
- "tenminste een lege regel toe aan het eind..."
- 
- #: Mailman/Cgi/admin.py:1185
- msgid "Send unsubscription acknowledgement to the user?"
--msgstr "Stuur een afmeldingsbericht naar de gebruiker?"
-+msgstr "Stuur een uitschrijvingsbericht naar de gebruiker?"
- 
- #: Mailman/Cgi/admin.py:1193
- msgid "Send notifications to the list owner?"
-@@ -951,7 +951,7 @@
- "geen veranderingen in de instellingen van de lijst aanbrengen, maar zij "
- "mogen wel\n"
- "onbehandelde beheerverzoeken verwerken, zoals goedkeuren en afkeuren van\n"
--"aanmeldingsverzoeken en het verwijderen van vastgehouden berichten.  "
-+"inschrijvingsverzoeken en het verwijderen van vastgehouden berichten.  "
- "Natuurlijk\n"
- "kunnen de <em>lijstbeheerders</em> ook onbehandelde verzoeken verwerken\n"
- "\n"
-@@ -1015,7 +1015,7 @@
- 
- #: Mailman/Cgi/admin.py:1359
- msgid "Successfully subscribed:"
--msgstr "Succesvol aangemeld:"
-+msgstr "Succesvol ingeschreven:"
- 
- #: Mailman/Cgi/admin.py:1364
- msgid "Error inviting:"
-@@ -1023,15 +1023,15 @@
- 
- #: Mailman/Cgi/admin.py:1366
- msgid "Error subscribing:"
--msgstr "Fouten bij het aanmelden:"
-+msgstr "Fouten bij het inschrijven:"
- 
- #: Mailman/Cgi/admin.py:1395
- msgid "Successfully Unsubscribed:"
--msgstr "Met success afgemeld:"
-+msgstr "Met success uitgeschreven:"
- 
- #: Mailman/Cgi/admin.py:1400
- msgid "Cannot unsubscribe non-members:"
--msgstr "Kan geen niet-leden afmelden:"
-+msgstr "Kan geen niet-leden uitschrijven:"
- 
- #: Mailman/Cgi/admin.py:1412
- msgid "Bad moderation flag value"
-@@ -1039,7 +1039,7 @@
- 
- #: Mailman/Cgi/admin.py:1433
- msgid "Not subscribed"
--msgstr "Niet aangemeld"
-+msgstr "Niet ingeschreven"
- 
- #: Mailman/Cgi/admin.py:1436
- msgid "Ignoring changes to deleted member: %(user)s"
-@@ -1051,7 +1051,7 @@
- 
- #: Mailman/Cgi/admin.py:1480
- msgid "Error Unsubscribing:"
--msgstr "Fout bij afmelden:"
-+msgstr "Fout bij uitschrijven:"
- 
- #: Mailman/Cgi/admindb.py:160 Mailman/Cgi/admindb.py:168
- msgid "%(realname)s Administrative Database"
-@@ -1111,7 +1111,7 @@
- 
- #: Mailman/Cgi/admindb.py:281
- msgid "Subscription Requests"
--msgstr "Aanmeldingsverzoeken"
-+msgstr "Inschrijvingsverzoeken"
- 
- #: Mailman/Cgi/admindb.py:283
- msgid "Address/name"
-@@ -1140,7 +1140,7 @@
- 
- #: Mailman/Cgi/admindb.py:374
- msgid "Unsubscription Requests"
--msgstr "Afmeldingsverzoeken"
-+msgstr "Uitschrijvingsverzoeken"
- 
- #: Mailman/Cgi/admindb.py:397 Mailman/Cgi/admindb.py:621
- msgid "From:"
-@@ -1167,9 +1167,8 @@
- msgstr "<em>De zender is nu lid van deze lijst</em>"
- 
- #: Mailman/Cgi/admindb.py:449
--#, fuzzy
- msgid "Add <b>%(esender)s</b> to one of these sender filters:"
--msgstr "Voeg <b>%(esender)s</b> toe aan het verstuurdersfilter"
-+msgstr "Voeg <b>%(esender)s</b> toe aan de verzendersfilter"
- 
- #: Mailman/Cgi/admindb.py:454
- msgid "Accepts"
-@@ -1193,7 +1192,7 @@
- "Ban <b>%(esender)s</b> from ever subscribing to this\n"
- "                    mailing list"
- msgstr ""
--"Verbied <b>%(esender)s</b> om zich ooit aan te melden op deze\n"
-+"Verbied <b>%(esender)s</b> om zich ooit in te schrijven op deze\n"
- "                    maillijst"
- 
- #: Mailman/Cgi/admindb.py:468
-@@ -1313,8 +1312,8 @@
- "    %(safecookie)s.\n"
- "\n"
- "    <p>Opmerking: de bevestigingen zijn maar\n"
--"    %(days)s dagen geldig na de aanmelding. Als uw\n"
--"    bevestiging is verlopen, probeert u dan opnieuw aan te melden.\n"
-+"    %(days)s dagen geldig na de inschrijving. Als uw\n"
-+"    bevestiging is verlopen, probeert u dan opnieuw in te schrijven.\n"
- "    Anders, bevestig <a href=\"%(confirmurl)s\">hier</a> uw\n"
- "    bevestigingscode."
- 
-@@ -1325,8 +1324,8 @@
- "been\n"
- "                unsubscribed, e.g. by the list administrator?"
- msgstr ""
--"Het adres waarvoor de afmelding wordt aangevraagd is geen\n"
--"                lid van de maillijst.  Misschien heeft bent u al afgemeld,\n"
-+"Het adres waarvoor de uitschrijving wordt aangevraagd is geen\n"
-+"                lid van de maillijst.  Misschien heeft bent u al uitgeschreven,\n"
- "                bijvoorbeeld door de lijstbeheerder?"
- 
- #: Mailman/Cgi/confirm.py:145
-@@ -1336,7 +1335,7 @@
- "                    cancelled."
- msgstr ""
- "Het adres dat een veranderingsverzoek deed\n"
--"                    is al afgemeld. Dit verzoek is geannuleerd."
-+"                    is al uitgeschreven. Dit verzoek is geannuleerd."
- 
- #: Mailman/Cgi/confirm.py:165
- msgid "System error, bad content: %(content)s"
-@@ -1374,10 +1373,9 @@
- 
- #: Mailman/Cgi/confirm.py:231
- msgid "Confirm subscription request"
--msgstr "Bevestig het aanmeldingsverzoek"
-+msgstr "Bevestig het inschrijvingsverzoek"
- 
- #: Mailman/Cgi/confirm.py:246
--#, fuzzy
- msgid ""
- "Your confirmation is required in order to complete the\n"
- "    subscription request to the mailing list <em>%(listname)s</em>.  Your\n"
-@@ -1395,22 +1393,22 @@
- "to\n"
- "    subscribe to this list."
- msgstr ""
--"Uw bevestiging is vereist om uw aanmeldingsverzoek voor de maillijst\n"
-+"Uw bevestiging is vereist om uw inschrijvingsverzoek voor de maillijst\n"
- "    <em>%(listname)s</em> te voltooien.  Uw lidmaatschapsinstellingen\n"
- "    zijn hieronder weergegeven. Indien nodig kunt u deze gegevens wijzigen\n"
--"    en op <em>Aanmelden</em> klikken om verder te gaan.  Nadat u uw\n"
--"    aanmeldingsverzoek heeft bevestigd komt u op uw lidmaatmaatschaps-\n"
-+"    en op <em>Inschrijven</em> klikken om verder te gaan.  Nadat u uw\n"
-+"    inschrijvingsverzoek heeft bevestigd komt u op uw lidmaatmaatschaps-\n"
- "    instellingenpagina die u kunt gebruiken om uw lidmaatschap verder aan "
- "uw\n"
- "    wensen aan te passen.\n"
- "\n"
--"    <p>Opmerking: uw wachtwoord zal naar u worden verstuurd via e-mial "
-+"    <p>Opmerking: uw wachtwoord zal naar u worden verstuurd via e-mail "
- "nadat\n"
- "    uw lidmaatschap is bevestigd.  U kunt het wachtwoord veranderen als u "
- "uw\n"
- "    lidmaatschapsinstellingenpagina bezoekt.\n"
- "\n"
--"    <p>Of klik op <em>Annuleren</em> om dit aanmeldingsverzoek af te breken."
-+"    <p>Of klik op <em>Annuleren</em> om dit inschrijvingsverzoek af te breken."
- 
- #: Mailman/Cgi/confirm.py:261
- msgid ""
-@@ -1432,17 +1430,17 @@
- "        this mailing list, you can hit <em>Cancel my subscription\n"
- "        request</em>."
- msgstr ""
--"Uw bevestiging is vereist om door te gaan met het aanmeldingsverzoek\n"
-+"Uw bevestiging is vereist om door te gaan met het inschrijvingsverzoek\n"
- "        voor de maillijst <em>%(listname)s</em>. Uw "
- "lidmaatschapsinstellingen\n"
- "        zijn hieronder weergegeven. Indien nodig kunt u deze gegevens "
- "wijzigen\n"
--"        en op <em>Aanmelden</em> klikken om verder te gaan.\n"
--"        Nadat u uw aanmeldingsverzoek heeft bevestigd moet de moderator uw\n"
-+"        en op <em>Inschrijven</em> klikken om verder te gaan.\n"
-+"        Nadat u uw inschrijvingsverzoek heeft bevestigd moet de moderator uw\n"
- "        verzoek goedkeuren of afkeuren. U krijgt over deze beslissing nog "
- "bericht.\n"
- "\n"
--"    <p>Opmerking: uw wachtwoord zal naar u worden verstuurd via e-mial "
-+"    <p>Opmerking: uw wachtwoord zal naar u worden verstuurd via e-mail "
- "nadat\n"
- "    uw lidmaatschap is bevestigd.  U kunt het wachtwoord veranderen als u "
- "uw\n"
-@@ -1450,7 +1448,7 @@
- "\n"
- "    <p>Mocht u van gedachten zijn veranderd en geen lid willen worden van "
- "de\n"
--"    maillijst klik op dan op <em>Annuleer mijn aanmeldingsverzoek</em>."
-+"    maillijst klik op dan op <em>Annuleer mijn inschrijvingsverzoek</em>."
- 
- #: Mailman/Cgi/confirm.py:279
- msgid "Your email address:"
-@@ -1470,15 +1468,15 @@
- 
- #: Mailman/Cgi/confirm.py:303
- msgid "Cancel my subscription request"
--msgstr "Verwijder mijn aanmeldingsverzoek"
-+msgstr "Verwijder mijn inschrijvingsverzoek"
- 
- #: Mailman/Cgi/confirm.py:304
- msgid "Subscribe to list %(listname)s"
--msgstr "Meldt u aan op deze maillijst %(listname)s"
-+msgstr "Schrijf in op deze maillijst %(listname)s"
- 
- #: Mailman/Cgi/confirm.py:321
- msgid "You have canceled your subscription request."
--msgstr "U heeft uw aanmelding geannuleerd."
-+msgstr "U heeft uw inschrijving geannuleerd."
- 
- #: Mailman/Cgi/confirm.py:359
- msgid "Awaiting moderator approval"
-@@ -1495,12 +1493,12 @@
- "notified\n"
- "            of the moderator's decision."
- msgstr ""
--"            U heeft succesvol uw aanmeldingsverzoek voor de\n"
-+"            U heeft succesvol uw inschrijvingsverzoek voor de\n"
- "            maillijst %(listname)s bevestigd. Omdat de lijst wordt "
- "gemodereerd,\n"
- "             zal de lijstmoderator uw verzoek eerst moeten goedkeuren "
- "voordat\n"
--"            u definitief bent aangemeld. Uw verzoek is doorgestuurd naar de\n"
-+"            u definitief bent ingeschreven. Uw verzoek is doorgestuurd naar de\n"
- "            lijstmoderator. U zult nog bericht ontvangen over de "
- "moderator's\n"
- "            beslissing."
-@@ -1513,8 +1511,8 @@
- "            address that has already been unsubscribed."
- msgstr ""
- "Foute bevestigingscode!.  Het is\n"
--"            mogelijk u een verzoek doe voor afmelding voor een\n"
--"            e-mailadres dat al is afgemeld.\n"
-+"            mogelijk dat u een verzoek doet voor uitschrijving van een\n"
-+"            e-mailadres dat al is uitgeschreven.\n"
- "            "
- 
- #: Mailman/Cgi/confirm.py:373
-@@ -1542,7 +1540,7 @@
- 
- #: Mailman/Cgi/confirm.py:390
- msgid "Subscription request confirmed"
--msgstr "Aanmeldingsverzoek bevestigd"
-+msgstr "Inschrijvingsverzoek bevestigd"
- 
- #: Mailman/Cgi/confirm.py:394
- msgid ""
-@@ -1555,7 +1553,7 @@
- "            <a href=\"%(optionsurl)s\">proceed to your membership login\n"
- "            page</a>."
- msgstr ""
--"            U heeft succesvol uw aanmeldingsverzoek bevestigd voor\n"
-+"            U heeft succesvol uw inschrijvingsverzoek bevestigd voor\n"
- "            maillijst %(listname)s met \"%(addr)s\".  Een apart\n"
- "            bevestigingsbericht zal naar uw e-mailadres worden\n"
- "            verstuurd, samen met uw wachtwoord en andere belangrijke\n"
-@@ -1566,11 +1564,11 @@
- 
- #: Mailman/Cgi/confirm.py:412
- msgid "You have canceled your unsubscription request."
--msgstr "U heeft uw afmeldingsverzoek geannuleerd."
-+msgstr "U heeft uw uitschrijvingsverzoek geannuleerd."
- 
- #: Mailman/Cgi/confirm.py:440
- msgid "Unsubscription request confirmed"
--msgstr "Afmeldingsverzoek is bevestigd"
-+msgstr "Uitschrijvingsverzoek is bevestigd"
- 
- #: Mailman/Cgi/confirm.py:444
- msgid ""
-@@ -1580,14 +1578,14 @@
- "main\n"
- "            information page</a>."
- msgstr ""
--"            U heeft zich succesvol afgemeld van de %(listname)s maillijst\n"
-+"            U heeft zich succesvol uitgeschreven van de %(listname)s maillijst\n"
- "            U kunt nu de <a href=\"%(listinfourl)s\">informatiepagina van "
- "de\n"
- "            maillijst</a> bezoeken."
- 
- #: Mailman/Cgi/confirm.py:455
- msgid "Confirm unsubscription request"
--msgstr "Bevestig afmeldingsverzoek"
-+msgstr "Bevestig uitschrijvingsverzoek"
- 
- #: Mailman/Cgi/confirm.py:470 Mailman/Cgi/confirm.py:566
- msgid "<em>Not available</em>"
-@@ -1610,24 +1608,24 @@
- "    <p>Or hit <em>Cancel and discard</em> to cancel this unsubscription\n"
- "    request."
- msgstr ""
--"Uw bevestiging is vereist om uw afmeldingsverzoek voor de maillijst\n"
-+"Uw bevestiging is vereist om uw uitschrijvingsverzoek voor de maillijst\n"
- "    <em>%(listname)s</em> te voltooien.  U bent op dit moment\n"
--"    aangemeld met de volgende gegevens:\n"
-+"    ingeschreven met de volgende gegevens:\n"
- "\n"
- "    <ul><li><b>Naam:</b> %(fullname)s\n"
- "        <li><b>E-mailadres:</b> %(addr)s\n"
- "    </ul>\n"
- "\n"
--"    Klik op de <em>Afmelden</em> knop hieronder om het verder te\n"
-+"    Klik op de <em>Uitschrijven</em> knop hieronder om het verder te\n"
- "    gaan.\n"
- "\n"
--"    <p>Of klik op <em>Annuleren</em> om uw afmeldingsverzoek af\n"
-+"    <p>Of klik op <em>Annuleren</em> om uw uitschrijvingsverzoek af\n"
- "    te breken."
- 
- #: Mailman/Cgi/confirm.py:489 Mailman/Cgi/options.py:746
- #: Mailman/Cgi/options.py:887 Mailman/Cgi/options.py:897
- msgid "Unsubscribe"
--msgstr "Afmelden"
-+msgstr "Uitschrijven"
- 
- #: Mailman/Cgi/confirm.py:490 Mailman/Cgi/confirm.py:595
- msgid "Cancel and discard"
-@@ -1635,7 +1633,7 @@
- 
- #: Mailman/Cgi/confirm.py:500
- msgid "You have canceled your change of address request."
--msgstr "Je hebt je email adres verandering geannuleerd."
-+msgstr "U hebt uw email adres verandering geannuleerd."
- 
- #: Mailman/Cgi/confirm.py:529
- #, fuzzy
-@@ -1701,7 +1699,7 @@
- msgstr ""
- "Uw bevestiging is vereist om uw adreswijzigingsverzoek voor\n"
- "    de <em>%(listname)s</em> maillijst te voltooien.  U bent op dit moment\n"
--"    aangemeld met de volgende gegevens:\n"
-+"    ingeschreven met de volgende gegevens:\n"
- "\n"
- "    <ul><li><b>Naam:</b> %(fullname)s\n"
- "        <li><b>Oude e-mailadres:</b> %(oldaddr)s\n"
-@@ -1826,7 +1824,7 @@
- 
- #: Mailman/Cgi/confirm.py:758
- msgid "Membership re-enabled."
--msgstr "Lidmaatschap is weer geaktiveerd."
-+msgstr "Lidmaatschap is weer geactiveerd."
- 
- #: Mailman/Cgi/confirm.py:762
- msgid ""
-@@ -1835,7 +1833,7 @@
- "            href=\"%(optionsurl)s\">visit your member options page</a>.\n"
- "            "
- msgstr ""
--"            U heeft uw lidmaatschap weer op aktief gezet voor de\n"
-+"            U heeft uw lidmaatschap weer op actief gezet voor de\n"
- "            %(listname)s maillijst.  U kunt nu <a\n"
- "            href=\"%(optionsurl)s\">uw lidmaatschap instellingenpagina "
- "bezoeken</a>.\n"
-@@ -1843,7 +1841,7 @@
- 
- #: Mailman/Cgi/confirm.py:774
- msgid "Re-enable mailing list membership"
--msgstr "Her-aanmelding mailing lijst lidmaatschap"
-+msgstr "Her-inschrijving mailinglijst lidmaatschap"
- 
- #: Mailman/Cgi/confirm.py:791
- msgid ""
-@@ -1851,8 +1849,8 @@
- "        from this mailing list.  To re-subscribe, please visit the\n"
- "        <a href=\"%(listinfourl)s\">list information page</a>."
- msgstr ""
--"Sorry, je bent al afgemeld van\n"
--"        deze mailing lijst.  Om je weer aan te nelden bezoek\n"
-+"Sorry, u bent al uitgeschreven van\n"
-+"        deze mailing lijst.  Om weer in te schrijven, bezoek\n"
- "        <a href=\"%(listinfourl)s\">lijst informatie pagina</a>."
- 
- #: Mailman/Cgi/confirm.py:806
-@@ -1934,9 +1932,8 @@
- msgstr "Lijstnaam mag niet de volgende tekens bevatten: \"@\": %(listname)s"
- 
- #: Mailman/Cgi/create.py:111
--#, fuzzy
- msgid "List already exists: %(safelistname)s"
--msgstr "Lijst bestaat al: %(listname)s"
-+msgstr "Lijst bestaat al: %(safelistname)s"
- 
- #: Mailman/Cgi/create.py:115
- msgid "You forgot to enter the list name"
-@@ -2008,7 +2005,7 @@
- msgstr ""
- "De maillijst is aangemaakt.\n"
- "    <b>%(listname)s</b> gegevens zijn naar de lijstbeheerder verstuurd\n"
--"    <b>%(owner)s</b>.  Je kan nu:"
-+"    <b>%(owner)s</b>.  U kan nu:"
- 
- #: Mailman/Cgi/create.py:264
- msgid "Visit the list's info page"
-@@ -2131,7 +2128,7 @@
- "        select at least one initial language, the list will use the server\n"
- "        default language of %(deflang)s"
- msgstr ""
--"Beginlijst van ondersteunde talen. <p>Als je niet tenminste één\n"
-+"Beginlijst van ondersteunde talen. <p>Als u niet tenminste één\n"
- "        taal kiest dan zal de lijst deze standaardtaal voor deze server\n"
- "        gebruiken: %(deflang)s"
- 
-@@ -2157,7 +2154,7 @@
- 
- #: Mailman/Cgi/edithtml.py:46
- msgid "Subscribe results page"
--msgstr "Aanmeldingsresultaatpagina"
-+msgstr "Inschrijvingsresultaatpagina"
- 
- #: Mailman/Cgi/edithtml.py:47
- msgid "User specific options page"
-@@ -2236,7 +2233,7 @@
- "preferences\n"
- "            on your subscription."
- msgstr ""
--"<p>Hier vind u alle publieke mailing lijsten op\n"
-+"<p>Hier vindt u alle publieke mailing lijsten op\n"
- "            %(hostname)s. Klik op een lijstnaam voor meer informatie."
- 
- #: Mailman/Cgi/listinfo.py:116
-@@ -2261,13 +2258,12 @@
- msgstr "de lijstbeheer overzichtspagina"
- 
- #: Mailman/Cgi/listinfo.py:125
--#, fuzzy
- msgid ""
- " to find the management interface for your list.\n"
- "         <p>If you are having trouble using the lists, please contact "
- msgstr ""
--"gaan om de beheerpagina te vinden van uw lijst.\n"
--"         <p>Vragen kunt u richten aan "
-+" gaan.\n"
-+"         <p>Bij problemen met deze lijsten, contacteer "
- 
- #: Mailman/Cgi/listinfo.py:190
- msgid "Edit Options"
-@@ -2291,9 +2287,8 @@
- msgstr "Er is geen adres opgegeven"
- 
- #: Mailman/Cgi/options.py:117
--#, fuzzy
- msgid "Illegal Email Address: %(safeuser)s"
--msgstr "Ongeldig e-mailadres opgegeven"
-+msgstr "Ongeldig e-mailadres opgegeven: %(safeuser)s"
- 
- #: Mailman/Cgi/options.py:124 Mailman/Cgi/options.py:188
- #: Mailman/Cgi/options.py:210
-@@ -2306,7 +2301,7 @@
- "Your unsubscription request has been\n"
- "                    forwarded to the list administrator for approval."
- msgstr ""
--"Uw afmeldingsverzoek is doorgestuurd naar de lijstmoderator voor\n"
-+"Uw uitschrijvingsverzoek is doorgestuurd naar de lijstbeheerder voor\n"
- "goedkeuring."
- 
- #: Mailman/Cgi/options.py:179 Mailman/Cgi/options.py:193
-@@ -2334,9 +2329,8 @@
- msgstr ""
- 
- #: Mailman/Cgi/options.py:284
--#, fuzzy
- msgid "List subscriptions for %(safeuser)s on %(hostname)s"
--msgstr "Lijstaanmeldingen voor %(user)s op %(hostname)s"
-+msgstr "Lijstinschrijvingen voor %(safeuser)s op %(hostname)s"
- 
- #: Mailman/Cgi/options.py:287
- msgid ""
-@@ -2359,7 +2353,7 @@
- 
- #: Mailman/Cgi/options.py:347
- msgid "You are already using that email address"
--msgstr "Je gebruikt dat e-mailadres al"
-+msgstr "Uw e-mailadres is al in gebruik"
- 
- #: Mailman/Cgi/options.py:359
- #, fuzzy
-@@ -2447,13 +2441,13 @@
- "                on the checkbox below the <em>Unsubscribe</em> button.  You\n"
- "                have not been unsubscribed!"
- msgstr ""
--"U moet uw afmeldingsverzoek bevestigen door het vakje\n"
--"                onder de <em>Afmelden</em>-knop aan te vinken.  U\n"
--"                bent niet afgemeld!"
-+"U moet uw uitschrijvingsverzoek bevestigen door het vakje\n"
-+"                onder de <em>Uitschrijven</em>-knop aan te vinken.  U\n"
-+"                bent niet uitgeschreven!"
- 
- #: Mailman/Cgi/options.py:497
- msgid "Unsubscription results"
--msgstr "Afmeldingsresultaat"
-+msgstr "Uitschrijvingsresultaat"
- 
- #: Mailman/Cgi/options.py:501
- msgid ""
-@@ -2462,7 +2456,7 @@
- "            receive notification once the list moderators have made their\n"
- "            decision."
- msgstr ""
--"Je afmeldingsverzoek is ontvangen en doorgestuurd\n"
-+"Uw uitschrijvingsverzoek is ontvangen en doorgestuurd\n"
- "            naar de lijstmoderators voor goedkeuring. U zult een bericht\n"
- "            ontvangen zodra de lijstmoderators een beslissing hebben\n"
- "            genomen."
-@@ -2476,10 +2470,10 @@
- "            about your unsubscription, please contact the list owners at\n"
- "            %(owneraddr)s."
- msgstr ""
--"U bent succesvol afgemeld van de maillijst\n"
-+"U bent succesvol uitgeschreven van de maillijst\n"
- "            %(fqdn_listname)s.  Als u digests ontving dan zult u deze niet "
- "meer\n"
--"            ontvangen. Als u nog vragen heeft over uw afmelding, neem dan\n"
-+"            ontvangen. Als u nog vragen heeft over uw uitschrijving, neem dan\n"
- "            contact op met de lijsteigenaar op het volgende e-mailadres:\n"
- "            %(owneraddr)s."
- 
-@@ -2525,7 +2519,7 @@
- 
- #: Mailman/Cgi/options.py:748
- msgid "<em>Yes, I really want to unsubscribe</em>"
--msgstr "<em>Ja, ik wil mezelf echt afmelden</em>"
-+msgstr "<em>Ja, ik wil mezelf echt uitschrijven</em>"
- 
- #: Mailman/Cgi/options.py:752
- msgid "Change My Password"
-@@ -2533,7 +2527,7 @@
- 
- #: Mailman/Cgi/options.py:755
- msgid "List my other subscriptions"
--msgstr "Laat mijn andere aanmeldingen zien"
-+msgstr "Laat mijn andere inschrijvingen zien"
- 
- #: Mailman/Cgi/options.py:761
- msgid "Email My Password To Me"
-@@ -2579,8 +2573,7 @@
- "<em>%(cpuser)s</em>."
- msgstr ""
- "\n"
--"Uw bent op deze lijst aangemeld met het adres met niet te wijzigen You are "
--"subscribed to this list with the case-preserved address\n"
-+"U bent op deze lijst ingeschreven met de ongewijzigde adres\n"
- "<em>%(cpuser)s</em>."
- 
- #: Mailman/Cgi/options.py:834
-@@ -2592,9 +2585,8 @@
- msgstr "e-mailadres en "
- 
- #: Mailman/Cgi/options.py:838
--#, fuzzy
- msgid "%(realname)s list: member options for user %(safeuser)s"
--msgstr "%(realname)s lijst: lidmaatschapsinstellingen voor gebruiker %(user)s"
-+msgstr "%(realname)s lijst: lidmaatschapsinstellingen voor gebruiker %(safeuser)s"
- 
- #: Mailman/Cgi/options.py:863
- msgid ""
-@@ -2617,7 +2609,7 @@
- "mailadres\n"
- "    en uw wachtwoord. Als u uw wachtwoord niet meer weet, klik dan op\n"
- "    <em>Herinnering</em>. Het wachtwoord wordt u dan naar u verstuurd via\n"
--"    e-mail. Om u af te melden van deze lijst klikt u op <em>Afmelden</em>. "
-+"    e-mail. Om u uit te schrijven van deze lijst klikt u op <em>Uitschrijven</em>. "
- "Er\n"
- "    zal dan een bevestigingsbericht naar u worden verstuurd.\n"
- "\n"
-@@ -2648,11 +2640,11 @@
- "    also confirm by email; see the instructions in the confirmation\n"
- "    message)."
- msgstr ""
--"Door op de knop <em>Afmelden</em> te drukken, zal\n"
-+"Door op de knop <em>Uitschrijven</em> te drukken, zal\n"
- "    er een bevestigingsbericht verstuurd worden. In dit bericht staat een "
- "link \n"
--"    die u moet bezoeken om uw afmelding te voltooien. (U kunt ook gewoon\n"
--"    het bericht terugsturen (reply/antwoord) om de afmelding te\n"
-+"    die u moet bezoeken om uw uitschrijving te voltooien. (U kunt ook gewoon\n"
-+"    het bericht terugsturen (reply/antwoord) om de uitschrijving te\n"
- "    voltooien.)"
- 
- #: Mailman/Cgi/options.py:899
-@@ -2692,9 +2684,8 @@
- msgstr "Patroon:"
- 
- #: Mailman/Cgi/private.py:64
--#, fuzzy
- msgid "Private Archive Error"
--msgstr "privé Archief fout"
-+msgstr "Privé Archief fout"
- 
- #: Mailman/Cgi/private.py:65
- msgid "You must specify a list."
-@@ -2705,14 +2696,13 @@
- msgstr ""
- 
- #: Mailman/Cgi/private.py:109
--#, fuzzy
- msgid "Private Archive Error - %(msg)s"
--msgstr "privé Archief fout - %(msg)s"
-+msgstr "Privé Archief fout - %(msg)s"
- 
- #: Mailman/Cgi/private.py:178
- #, fuzzy
- msgid "Private archive file not found"
--msgstr "privé archief bestand niet gevonden"
-+msgstr "Privé archief bestand niet gevonden"
- 
- #: Mailman/Cgi/rmlist.py:81
- msgid "You're being a sneaky list owner!"
-@@ -2814,7 +2804,7 @@
- 
- #: Mailman/Cgi/roster.py:97
- msgid "%(realname)s roster authentication failed."
--msgstr "%(realname)s gebruikersaanmelding mislukt."
-+msgstr "%(realname)s gebruikersinschrijving mislukt."
- 
- #: Mailman/Cgi/roster.py:125 Mailman/Cgi/roster.py:126
- #: Mailman/Cgi/subscribe.py:49 Mailman/Cgi/subscribe.py:60
-@@ -2827,7 +2817,7 @@
- 
- #: Mailman/Cgi/subscribe.py:123
- msgid "You may not subscribe a list to itself!"
--msgstr "U mag niet het maillijst e-mailadres aanmelden op de lijst zelf!"
-+msgstr "U mag niet het maillijst e-mailadres inschrijven op de lijst zelf!"
- 
- #: Mailman/Cgi/subscribe.py:131
- msgid "If you supply a password, you must confirm it."
-@@ -2846,10 +2836,10 @@
- "moderator.  If confirmation is required, you will soon get a confirmation\n"
- "email which contains further instructions."
- msgstr ""
--"Uw aanmeldingsverzoek is ontvangen en zal zo spoedig mogelijk worden\n"
-+"Uw inschrijvingsverzoek is ontvangen en zal zo spoedig mogelijk worden\n"
- "verwerkt. Afhankelijk van de instellingen van deze maillijst kan het zijn "
- "dat\n"
--"uw aanmeldingsverzoek eerst door u moet worden bevestigd via e-mail of \n"
-+"uw inschrijvingsverzoek eerst door u moet worden bevestigd via e-mail of \n"
- "moet worden goedgekeurd door de lijstmoderator. Als uw bevestiging nodig\n"
- "is zult u een e-mail ontvangen met verdere instructies"
- 
-@@ -2877,7 +2867,7 @@
- "Your subscription is not allowed because the email address you gave is\n"
- "insecure."
- msgstr ""
--"Uw aanmelding is niet toegestaaan omdat het door u opgegeven e-mailadres\n"
-+"Uw inschrijving is niet toegestaaan omdat het door u opgegeven e-mailadres\n"
- "onveilig is."
- 
- #: Mailman/Cgi/subscribe.py:197
-@@ -2887,10 +2877,10 @@
- "%(email)s.  Please note your subscription will not start until you confirm\n"
- "your subscription."
- msgstr ""
--"Uw e-mailadres moet worden bevestigd, om er zeker van te zijn dat niet\n"
--"anderen u aanmelden zonder uw toestemming. Er zijn instructies verzonden\n"
--"naar u verzonden op dit adres: %(email)s.  Opmerking: uw aanmelding zal pas\n"
--"starten totdat u uw aanmelding heeft bevestigd."
-+"Uw e-mailadres moet worden bevestigd, om er zeker van te zijn dat anderen\n"
-+"u niet inschrijven zonder uw toestemming. Er zijn instructies\n"
-+"naar u verzonden op dit adres: %(email)s.  Opmerking: uw inschrijving zal pas\n"
-+"starten totdat u uw inschrijving heeft bevestigd."
- 
- #: Mailman/Cgi/subscribe.py:209
- msgid ""
-@@ -2906,7 +2896,7 @@
- 
- #: Mailman/Cgi/subscribe.py:216 Mailman/Commands/cmd_confirm.py:61
- msgid "You are already subscribed."
--msgstr "U bent al aangemeld."
-+msgstr "U bent al ingeschreven."
- 
- #: Mailman/Cgi/subscribe.py:230
- msgid "Mailman privacy alert"
-@@ -2930,8 +2920,8 @@
- "message\n"
- "to the list administrator at %(listowner)s.\n"
- msgstr ""
--"Er is een poging ondernomen om uw adres aan te melden bij de maillijst\n"
--"%(listaddr)s.  U bent echter al aangemeld voor deze maillijst.\n"
-+"Er is een poging ondernomen om uw adres in te schrijven bij de maillijst\n"
-+"%(listaddr)s.  U bent echter al ingeschreven voor deze maillijst.\n"
- "\n"
- "Let er op dat lidmaatschap van deze lijst niet publiek toegankelijk is, dus\n"
- "het is mogelijk dat een onbevoegd person probeert de lijst binnen te "
-@@ -2939,11 +2929,11 @@
- "Het zou een privacyschending zijn als we dit door zouden laten, daarom\n"
- "is deze poging tegengehouden.\n"
- "\n"
--"Als u per ongeluk degene bent die het aanmeldingsverzoek heeft gedaan\n"
--"omdat u was vergeten dat u al bent aangemeld voor deze lijst, dan kunt u\n"
-+"Als u per ongeluk degene bent die het inschrijvingsverzoek heeft gedaan\n"
-+"omdat u was vergeten dat u al bent ingeschreven voor deze lijst, dan kunt u\n"
- "dit bericht negeren. Als u vermoedt dat er een poging is gedaan om "
- "ongemerkt\n"
--"te bepalen of u aangemeld bent voor deze maillijst of als u bezorgd bent "
-+"te bepalen of u ingeschreven bent voor deze maillijst of als u bezorgd bent "
- "over\n"
- "uw privacy, meld dit dan aan de lijsteigenaar op dit e-mailadres: %"
- "(listowner)s.\n"
-@@ -2958,7 +2948,7 @@
- 
- #: Mailman/Cgi/subscribe.py:259
- msgid "You have been successfully subscribed to the %(realname)s mailing list."
--msgstr "Je succesvol aangemeld bij de %(realname)s maillijst."
-+msgstr "U bent succesvol ingeschreven bij de %(realname)s maillijst."
- 
- #: Mailman/Commands/cmd_confirm.py:18
- #, fuzzy
-@@ -2989,9 +2979,9 @@
- "message."
- msgstr ""
- "Ongeldige bevestigingscode. Let er op dat de bevestigingscode \n"
--"%(days)s dagen na het aanmeldingsverzoek verloopt. Als uw\n"
-+"%(days)s dagen na het inschrijvingsverzoek verloopt. Als uw\n"
- "bevestiging is verlopen, verzend dan opnieuw een\n"
--"aanmeldingsverzoek."
-+"inschrijvingsverzoek."
- 
- #: Mailman/Commands/cmd_confirm.py:56
- msgid "Your request has been forwarded to the list moderator for approval."
-@@ -3003,7 +2993,7 @@
- "You are not currently a member.  Have you already unsubscribed or changed\n"
- "your email address?"
- msgstr ""
--"U bent op dit moment niet aangemeld.  Heeft u zich misschien al afgemeld of "
-+"U bent op dit moment niet ingeschreven.  Heeft u zich misschien al uitgeschreven of "
- "uw\n"
- "e-mailadres veranderd?"
- 
-@@ -3169,13 +3159,13 @@
- "        huidige wachtwoord toegestuurd. Met de argumenten <oud wachtwoord>\n"
- "        en <nieuw wachtwoord> kunt u uw wachtwoord veranderen.\n"
- "\n"
--"        Als u een bericht verstuurd vanaf een ander adres dan waar u mee "
--"aangemeld bent\n"
--"        geef dan uw aangemelde adres op met `address=<adres>' (zonder "
-+"        Als u een bericht verstuurd vanaf een ander adres dan waarmee u "
-+"ingeschreven bent\n"
-+"        geef dan uw ingeschreven adres op met `address=<adres>' (zonder "
- "haakjes\n"
- "        om het e-mailadres heen, en zonder aanhalingstekens!).  Let er op "
- "dat in dit geval\n"
--"        de bevestiging altijd naar het aangemelde adres word verstuurd.\n"
-+"        de bevestiging altijd naar het ingeschreven adres wordt verstuurd.\n"
- 
- #: Mailman/Commands/cmd_password.py:51 Mailman/Commands/cmd_password.py:66
- msgid "Your password is: %(password)s"
-@@ -3313,7 +3303,7 @@
- "    set show [address=<adres>]\n"
- "        Bekijken van uw huidige instellingen.  Als u een bericht verstuurd "
- "vanaf een\n"
--"        ander adres dan waar u mee aangemeld bent geef dan uw aangemelde "
-+"        ander adres dan waar u mee ingeschreven bent geef dan uw ingeschreven "
- "adres\n"
- "        op met `address=<adres>' (zonder haakjes om het e-mailadres heen, en "
- "zonder\n"
-@@ -3323,7 +3313,7 @@
- "        Om uw instellingen te kunnen wijzigen moet u eerst dit commando "
- "gebruiken,\n"
- "        samen met uw wachtwoord.  Als u een bericht verstuurd vanaf een\n"
--"        ander adres dan waar u mee aangemeld bent geef dan uw aangemelde "
-+"        ander adres dan waar u mee ingeschreven bent, geef dan uw ingeschreven "
- "adres\n"
- "        op met `address=<adres>' (zonder haakjes om het e-mailadres heen, en "
- "zonder\n"
-@@ -3461,7 +3451,7 @@
- 
- #: Mailman/Commands/cmd_set.py:224
- msgid "You did not give the correct password"
--msgstr "Je hebt niet het goede wachtwoord opgegeven"
-+msgstr "U hebt niet het goede wachtwoord opgegeven"
- 
- #: Mailman/Commands/cmd_set.py:236 Mailman/Commands/cmd_set.py:283
- msgid "Bad argument: %(arg)s"
-@@ -3534,17 +3524,17 @@
- msgstr ""
- "\n"
- "    subscribe [wachtwoord] [digest|nodigest] [address=<adres>]\n"
--"        Aanmelden voor deze maillijst.  U moet uw wachtwoord opgeven\n"
--"        opgeven om u af te melden of uw instellingen te wijzigen, maar als "
-+"        Inschrijven voor deze maillijst.  U moet uw wachtwoord opgeven\n"
-+"        opgeven om u uit te schrijven of uw instellingen te wijzigen, maar als "
- "u\n"
- "        geen wachtwoord meestuurt dan zal deze worden gegenereerd  U zult\n"
- "        periodiek een wachtwoordherinnering toegestuurd krijgen.\n"
- "\n"
- "        Het volgende argument mag `nodigest' or `digest' (geen "
- "aanhalingstekens!)\n"
--"        zijn. Als u zich aanmeldt voor een adres anders dan het adres "
-+"        zijn. Als u zich inschrijft voor een adres anders dan het adres "
- "waarmee u de\n"
--"        aanmelding doet, dan moet u `address=<addres>' (zonder haakjes om "
-+"        inschrijving doet, dan moet u `address=<addres>' (zonder haakjes om "
- "het \n"
- "        e-mailadres, en zonder aanhalingstekens!) gebruiken.\n"
- 
-@@ -3554,7 +3544,7 @@
- 
- #: Mailman/Commands/cmd_subscribe.py:84
- msgid "No valid address found to subscribe"
--msgstr "Er is geen geldig adres gevonden om aan te melden"
-+msgstr "Er is geen geldig adres gevonden om in te schrijven"
- 
- #: Mailman/Commands/cmd_subscribe.py:105
- msgid ""
-@@ -3579,16 +3569,16 @@
- "Your subscription is not allowed because\n"
- "the email address you gave is insecure."
- msgstr ""
--"Uw aanmelding is afgewezen omdat het door u\n"
-+"Uw inschrijving is afgewezen omdat het door u\n"
- "opgegeven e-mailadres onveilig is."
- 
- #: Mailman/Commands/cmd_subscribe.py:121
- msgid "You are already subscribed!"
--msgstr "U bent al aangemeld!"
-+msgstr "U bent al ingeschreven!"
- 
- #: Mailman/Commands/cmd_subscribe.py:125
- msgid "No one can subscribe to the digest of this list!"
--msgstr "Niemand kan zich aanmelden voor de digest van deze lijst!"
-+msgstr "Niemand kan zich inschrijven voor de digest van deze lijst!"
- 
- #: Mailman/Commands/cmd_subscribe.py:128
- msgid "This list only supports digest subscriptions!"
-@@ -3599,12 +3589,12 @@
- "Your subscription request has been forwarded to the list administrator\n"
- "at %(listowner)s for review."
- msgstr ""
--"Uw aanmeldingsverzoek is doorgestuurd naar de lijsteigenaar op adres\n"
-+"Uw inschrijvingsverzoek is doorgestuurd naar de lijsteigenaar op adres\n"
- "%(listowner)s voor controle."
- 
- #: Mailman/Commands/cmd_subscribe.py:139
- msgid "Subscription request succeeded."
--msgstr "Aanmeldingsverzoek voltooid."
-+msgstr "Inschrijvingsverzoek voltooid."
- 
- #: Mailman/Commands/cmd_unsubscribe.py:17
- msgid ""
-@@ -3621,18 +3611,18 @@
- msgstr ""
- "\n"
- "    unsubscribe [wachtwoord] [address=<adres>]\n"
--"        Afmelden van de maillijst. Als het wachtwoord is opgegeven\n"
-+"        Uitschrijven van de maillijst. Als het wachtwoord is opgegeven\n"
- "        moet dit hetzelfde zijn als uw huidige wachtwoord. Als het "
- "wachtwoord\n"
- "        wordt weggelaten dan zal er een bevestiging worden gestuurd die\n"
--"        moet worden teruggestuurd. Als u wilt afmelden vanaf een ander "
-+"        moet worden teruggestuurd. Als u wilt uitschrijven vanaf een ander "
- "adres\n"
--"        dan waar u mee aangemeld bent geef dan uw aangemelde adres op met\n"
-+"        dan waar u mee ingeschreven bent, geef dan uw ingeschreven adres op met\n"
- "        `address=<adres>' (zonder haakjes om het e-mailadres heen, en "
- "zonder\n"
- "        aanhalingstekens!).  Let er op dat in dit geval de bevestiging "
- "altijd naar het\n"
--"        aangemelde adres word verstuurd.\n"
-+"        ingeschreven adres wordt verstuurd.\n"
- 
- #: Mailman/Commands/cmd_unsubscribe.py:62
- msgid "%(address)s is not a member of the %(listname)s mailing list"
-@@ -3644,7 +3634,7 @@
- "for\n"
- "approval."
- msgstr ""
--"Uw afmeldingsverzoek is doorgestuurd naar de lijstmoderator voor\n"
-+"Uw uitschrijvingsverzoek is doorgestuurd naar de lijstmoderator voor\n"
- "goedkeuring."
- 
- #: Mailman/Commands/cmd_unsubscribe.py:84
-@@ -3653,7 +3643,7 @@
- 
- #: Mailman/Commands/cmd_unsubscribe.py:87
- msgid "Unsubscription request succeeded."
--msgstr "Afmeldingsverzoek succesvol verwerkt."
-+msgstr "Uitschrijvingsverzoek succesvol verwerkt."
- 
- #: Mailman/Commands/cmd_who.py:29
- msgid ""
-@@ -3683,11 +3673,11 @@
- "        door leden worden opgevraagd, daarom moet uw wachtwoord worden\n"
- "        opgegeven om de lijst op te vragen. Als u een bericht verstuurd "
- "vanaf\n"
--"        een ander adres dan waar u mee aangemeld bent geef dan uw\n"
--"        aangemelde adres op met `address=<adres>' (zonder haakjes om het\n"
-+"        een ander adres dan waar u mee ingeschreven bent geef dan uw\n"
-+"        ingeschreven adres op met `address=<adres>' (zonder haakjes om het\n"
- "        e-mailadres heen, en zonder aanhalingstekens!).  Let er op dat in "
- "dit\n"
--"         geval de bevestiging altijd naar het aangemelde adres word "
-+"         geval de bevestiging altijd naar het ingeschreven adres wordt "
- "verstuurd.\n"
- 
- #: Mailman/Commands/cmd_who.py:44
-@@ -3872,7 +3862,7 @@
- 
- #: Mailman/Deliverer.py:88
- msgid "You have been unsubscribed from the %(realname)s mailing list"
--msgstr "Uw bent afgemeld van de %(realname)s maillijst"
-+msgstr "Uw bent uitgeschreven van de %(realname)s maillijst"
- 
- #: Mailman/Deliverer.py:115
- msgid "%(listfullname)s mailing list reminder"
-@@ -3995,7 +3985,7 @@
- "    <li><b>owneremail</b> - <em>geeft het adres van de lijsteigenaar</em>\n"
- "</ul>\n"
- "\n"
--"<p>Voor elke tekstveld kan je de tekst direct in de tekstbox zetten of je "
-+"<p>Voor elke tekstveld kan u de tekst direct in de tekstbox zetten of u "
- "kan\n"
- " een bestand specificeren op uw locale computersysteem om als tekst te "
- "uploaden."
-@@ -4398,7 +4388,7 @@
- "             cause a member to be unsubscribed?"
- msgstr ""
- "Moet Mailman u, de lijsteigenaar, een melding sturen wanneer\n"
--"             een lid is afgemeld door een teveel aan bounceberichten?"
-+"             een lid is uitgeschreven door een teveel aan bounceberichten?"
- 
- #: Mailman/Gui/Bounce.py:158
- msgid ""
-@@ -4411,7 +4401,7 @@
- "Door deze waarde op <em>Nee</em> in te stellen worden\n"
- "             meldingsberichten uitgeschakeld die normaal aan de "
- "lijsteigenaar\n"
--"             worden verstuurd als een lidmaatschap is afgemeld door een\n"
-+"             worden verstuurd als een lidmaatschap is uitgeschakeld door een\n"
- "             teveel aan bounceberichten.\n"
- "             Een poging om het lid hiervan op de hoogte te stellen zal wel\n"
- "             worden gedaan."
-@@ -4918,7 +4908,7 @@
- "De letters in deze naam kunnen naar kleine letters of hoofdletters\n"
- "             worden veranderd om het meer toonbaar te maken. Echter,\n"
- "             deze naam wordt gebruikt als het e-mailadres (b.v. in\n"
--"             aanmeldingsbevestingingen), dus het mag <em>niet</em> op\n"
-+"             inschrijvingsbevestingingen), dus het mag <em>niet</em> op\n"
- "             andere manieren worden veranderd (e-mail is niet hoofdletter/\n"
- "             kleine lettergevoelig, maar is wel gevoelig voor al het "
- "andere :-)"
-@@ -4970,7 +4960,7 @@
- "             <p>De <em>lijstmoderators</em> hebben wat beperktere\n"
- "             bevoegdheden. Zijn kunnen geen enkele lijstinstelling\n"
- "             wijzigen, maar zij mogen wel uitstaande beheertaken doen,\n"
--"             zoals het goedkeuren en afkeuren van aanmeldingsverzoeken\n"
-+"             zoals het goedkeuren en afkeuren van inschrijvingsverzoeken\n"
- "             en het verwijderen van vastgehouden berichten. Natuurlijk\n"
- "             kunnen de <em>lijstbeheerders</em> ook deze taken uitvoeren.\n"
- "\n"
-@@ -5030,7 +5020,7 @@
- "             <p>De <em>lijstmoderators</em> hebben wat beperktere\n"
- "             bevoegdheden. Zijn kunnen geen enkele lijstinstelling\n"
- "             wijzigen, maar zij mogen wel uitstaande beheertaken doen,\n"
--"             zoals het goedkeuren en afkeuren van aanmeldingsverzoeken\n"
-+"             zoals het goedkeuren en afkeuren van inschrijvingsverzoeken\n"
- "             en het verwijderen van vastgehouden berichten. Natuurlijk\n"
- "             kunnen de <em>lijstbeheerders</em> ook deze taken uitvoeren.\n"
- "\n"
-@@ -5475,7 +5465,7 @@
- 
- #: Mailman/Gui/General.py:292
- msgid "Send welcome message to newly subscribed members?"
--msgstr "Stuur een welkomstbericht naar nieuwe aanmelders?"
-+msgstr "Stuur een welkomstbericht naar nieuwe inschrijvers?"
- 
- #: Mailman/Gui/General.py:293
- msgid ""
-@@ -5486,7 +5476,7 @@
- "mailing\n"
- "             list manager to Mailman."
- msgstr ""
--"Zet dit uit als u van plan bent om mensen handmatig aan te melden\n"
-+"Zet dit uit als u van plan bent om mensen handmatig in te schrijven\n"
- "             zonder dat zij dat merken. Deze instelling is waardevol\n"
- "             wanneer u lijsten transparant wilt verhuizen van een\n"
- "             ander lijstbeheerprogramma naar Mailman."
-@@ -5498,11 +5488,11 @@
- msgstr ""
- "Tekst die wordt verzonden naar mensen die de lijst verlaten.\n"
- "             Als dit leeg is dan zal geen speciale tekst worden\n"
--"             toegevoegd aan het afmeldingsbericht."
-+"             toegevoegd aan het uitschrijvingsbericht."
- 
- #: Mailman/Gui/General.py:303
- msgid "Send goodbye message to members when they are unsubscribed?"
--msgstr "Verstuur een afmeldingsbericht aan leden als ze zijn afgemeld?"
-+msgstr "Verstuur een uitschrijvingsbericht aan leden als ze zijn uitgeschreven?"
- 
- #: Mailman/Gui/General.py:306
- msgid ""
-@@ -5524,7 +5514,7 @@
- msgstr ""
- "Lijstmoderators (en lijstbeheerders) krijgen dagelijks\n"
- "             herinneringen van aanvragen die wachten op goedkeuring, zoals\n"
--"             aanmeldingen voor een gemodereerde lijst, of verzendingen die\n"
-+"             inschrijvingen voor een gemodereerde lijst, of verzendingen die\n"
- "             worden vastgehouden om bepaalde redenen. Het instellen van\n"
- "             deze instelling zorgt er ook voor dat er onmiddelijk meldingen\n"
- "             worden verstuurd als er nieuwe verzoeken binnenkomen."
-@@ -5534,8 +5524,8 @@
- "Should administrator get notices of subscribes and\n"
- "             unsubscribes?"
- msgstr ""
--"Moet de beheerder meldingen krijgen van aanmeldingen\n"
--"             en afmeldingen?"
-+"Moet de beheerder meldingen krijgen van inschrijving\n"
-+"             en uitschrijvingen?"
- 
- #: Mailman/Gui/General.py:321
- msgid "Send mail to poster when their posting is held for approval?"
-@@ -5572,7 +5562,7 @@
- "Default options for new members joining this list.<input\n"
- "             type=\"hidden\" name=\"new_member_options\" value=\"ignore\">"
- msgstr ""
--"Standaardinstellingen voor nieuwe leden die zich aanmelden\n"
-+"Standaardinstellingen voor nieuwe leden die zich inschrijven\n"
- "             op deze lijst.<input type=\"hidden\" name=\"new_member_options"
- "\" value=\"ignore\">"
- 
-@@ -5581,7 +5571,7 @@
- "When a new member is subscribed to this list, their initial\n"
- "             set of options is taken from the this variable's setting."
- msgstr ""
--"Als een nieuw lid is aangemeld op deze lijst wordt de\n"
-+"Als een nieuw lid is ingeschreven op deze lijst wordt de\n"
- "             initiële groepinstellingen genomen van de instelling\n"
- "             van deze variabele."
- 
-@@ -5604,8 +5594,8 @@
- "             in the process."
- msgstr ""
- "Beheertests zullen berichten controleren of ze\n"
--"             als beheerverzoek zijn bedoeld (zoals subcribe/aanmelden,\n"
--"             unsubscribe/afmelden, etc), en zo ja die berichtenworden\n"
-+"             als beheerverzoek zijn bedoeld (zoals subcribe/inschrijven,\n"
-+"             unsubscribe/uitschrijven, etc), en zo ja die berichtenworden\n"
- "             toegevoegd aan de beheerverzoekenwachtrij met een\n"
- "             melding aan de beheerder dat er een nieuw verzoek is\n"
- "             binnengekomen."
-@@ -5900,11 +5890,11 @@
- 
- #: Mailman/Gui/Membership.py:31
- msgid "Mass&nbsp;Subscription"
--msgstr "Meerdere leden aanmelden"
-+msgstr "Meerdere leden inschrijven"
- 
- #: Mailman/Gui/Membership.py:32
- msgid "Mass&nbsp;Removal"
--msgstr "Meerdere leden afmelden"
-+msgstr "Meerdere leden uitschrijven"
- 
- #: Mailman/Gui/NonDigest.py:34
- msgid "Non-digest&nbsp;options"
-@@ -6125,7 +6115,7 @@
- 
- #: Mailman/Gui/Privacy.py:41
- msgid "Subscription&nbsp;rules"
--msgstr "Aanmeldingsregels"
-+msgstr "Inschrijvingsregels"
- 
- #: Mailman/Gui/Privacy.py:42
- msgid "Sender&nbsp;filters"
-@@ -6157,7 +6147,7 @@
- 
- #: Mailman/Gui/Privacy.py:63 Mailman/Gui/Privacy.py:86
- msgid "What steps are required for subscription?<br>"
--msgstr "Welke stappen zijn vereist voor een aanmelding?<br>"
-+msgstr "Welke stappen zijn vereist voor een inschrijving?<br>"
- 
- #: Mailman/Gui/Privacy.py:64
- msgid ""
-@@ -6188,13 +6178,13 @@
- "                           Bevestiging en goedkeuring - zowel goedkeuring "
- "als bevestiging zijn vereist\n"
- "                           \n"
--"                           <p>(*)als iemand een aanmeldingsverzoek doet,\n"
-+"                           <p>(*)als iemand een inschrijvingsverzoek doet,\n"
- "                           dan zal Mailman diegene een bericht sturen met \n"
--"                           een uniek aanmeldingsverzoeknummer die ze\n"
-+"                           een uniek inschrijvingsverzoeknummer die ze\n"
- "                           moeten beantwoorden om zich aan te melden.<br>\n"
- "\n"
- "                           Dit voorkomt misbruik door andere personen\n"
--"                           zodat het niet mogelijk is om aanmeldingen te\n"
-+"                           zodat het niet mogelijk is om inschrijvingen te\n"
- "                           doen voor anderen zonder hun toestemming."
- 
- #: Mailman/Gui/Privacy.py:87
-@@ -6215,16 +6205,16 @@
- "Bevestiging (*) - er wordt een e-mailbevestigingsstap gevraagd <br>\n"
- "                           Verzoek tot goedkeuring - de lijstbeheerder wordt "
- "om goedkeuring gevraagd\n"
--"                           Goedkeuring voor aanmeldingen <br>\n"
-+"                           Goedkeuring voor inschrijvingen <br>\n"
- "                           Bevestiging en goedkeuring - zowel bevestiging "
- "als goedkeuring\n"
- "                           \n"
--"                           <p>(*)als iemand een aanmeldingsverzoek doet,\n"
-+"                           <p>(*)als iemand een inschrijvingsverzoek doet,\n"
- "                           dan zal Mailman diegene een bericht sturen met \n"
--"                           een uniek aanmeldingsverzoeknummer die ze\n"
-+"                           een uniek inschrijvingsverzoeknummer die ze\n"
- "                           moeten beantwoorden om zich aan te melden.<br>\n"
- "                           Dit voorkomt misbruik door andere personen\n"
--"                           zodat het niet mogelijk is om aanmeldingen te\n"
-+"                           zodat het niet mogelijk is om inschrijvingen te\n"
- "                           voor anderen zonder hun toestemming."
- 
- #: Mailman/Gui/Privacy.py:103
-@@ -6235,7 +6225,7 @@
- "            <a href=\"%(admin)s/archive\">Archival Options</a> section for\n"
- "            separate archive-related privacy settings."
- msgstr ""
--"Deze sectie maakt het u mogelijk om het aanmeldings-\n"
-+"Deze sectie maakt het u mogelijk om het inschrijvings-\n"
- "            en ledenpublicatiebeleid in te stellen. U kunt ook instellen of "
- "deze\n"
- "            lijst wel of niet publiek toegankelijk is.  Zie ook de\n"
-@@ -6245,7 +6235,7 @@
- 
- #: Mailman/Gui/Privacy.py:109
- msgid "Subscribing"
--msgstr "Aanmelding"
-+msgstr "Inschrijven"
- 
- #: Mailman/Gui/Privacy.py:111
- msgid ""
-@@ -6261,7 +6251,7 @@
- "             requests?  (<em>No</em> is recommended)"
- msgstr ""
- "Is de lijstmoderator's goedkeuring noodzakelijk voor\n"
--"             afmeldingsverzoeken?  (<em>Nee</em> wordt aanbevolen)"
-+"             uitschrijvingsverzoeken?  (<em>Nee</em> wordt aanbevolen)"
- 
- #: Mailman/Gui/Privacy.py:120
- msgid ""
-@@ -6281,9 +6271,9 @@
- "             are required to be members of."
- msgstr ""
- "Als leden een lijst willen verlaten, dan moeten zijn een\n"
--"             afmeldingsverzoek doen, via het web of via e-mail.\n"
--"             Normaliter kunt u het beste vrije afmeldingen toestaan zodat\n"
--"             gebruikers zichzelf gemakkelijk kunnen afmelden van "
-+"             uitschrijvingsverzoek doen, via het web of via e-mail.\n"
-+"             Normaliter kunt u het beste vrije uitschrijvingen toestaan zodat\n"
-+"             gebruikers zichzelf gemakkelijk kunnen uitschrijven van "
- "maillijsten.\n"
- "             (ze kunnen echt heel kwaad worden als ze niet van een lijst "
- "af \n"
-@@ -6291,7 +6281,7 @@
- "\n"
- "             <p>For sommige lijsten kan het nodig zijn om "
- "moderatorgoedkeuring\n"
--"             in te stellen voordat een afmelding wordt verwerkt. "
-+"             in te stellen voordat een uitschrijving wordt verwerkt. "
- "Voorbeelden\n"
- "             hiervan zijn lijsten binnen bedrijven waar alle werknemers lid "
- "van\n"
-@@ -6318,7 +6308,7 @@
- "             addresses one per line; start the line with a ^ character to\n"
- "             designate a regular expression match."
- msgstr ""
--"Adressen in deze lijst mogen geen aanmeldingen doen voor\n"
-+"Adressen in deze lijst mogen geen inschrijvingen doen voor\n"
- "             deze maillijst, zonder dat verdere moderatie noodzakelijk is.  "
- "Voeg\n"
- "             een adres per regel toe. Start de regel met een ^ teken om\n"
-@@ -6502,7 +6492,7 @@
- "             de lijstbeheerder kan beslissen of een specifiek individueel\n"
- "             adres moet worden gemodereerd of niet.\n"
- "\n"
--"             <p>Als een lid is aangemeld dan zal de moderatievlag worden\n"
-+"             <p>Als een lid is ingeschreven dan zal de moderatievlag worden\n"
- "             gezet overeenkomstig deze instelling. Zet deze instelling uit "
- "om\n"
- "             berichten van leden standaard te accepteren. Zet deze "
-@@ -7398,7 +7388,7 @@
- #: Mailman/HTMLFormatter.py:149
- #, fuzzy
- msgid "Note: your list delivery is currently disabled%(reason)s."
--msgstr "Noot: je lijst bezorgingen is momenteel uitgezet %(reason)s."
-+msgstr "Noot: uw lijst bezorgingen zijn momenteel uitgezet %(reason)s."
- 
- #: Mailman/HTMLFormatter.py:152
- msgid "Mail delivery"
-@@ -7442,6 +7432,8 @@
- "You will be sent email requesting confirmation, to\n"
- "            prevent others from gratuitously subscribing you."
- msgstr ""
-+"Er wordt u een bevestigingsmail gestuurd, om\n"
-+"            te voorkomen dat iemand anders u inschrijft."
- 
- #: Mailman/HTMLFormatter.py:192
- msgid ""
-@@ -7449,6 +7441,9 @@
- "            will be held for approval.  You will be notified of the list\n"
- "            moderator's decision by email."
- msgstr ""
-+"Dit is een gesloten lijst, wat betekent dat\n"
-+"           uw inschrijving doorgestuurd wordt naar de moderator\n"
-+"           ter goedkeuring."
- 
- #: Mailman/HTMLFormatter.py:195 Mailman/HTMLFormatter.py:202
- msgid "also "
-@@ -7464,7 +7459,7 @@
- "            decision by email."
- msgstr ""
- "Er wordt een bericht verzonden ter bevestiging, zodat\n"
--"            niemand u per ongeluk jou zal aanmelden.  Als\n"
-+"            niemand u per ongeluk zal inschrijven.  Als\n"
- "            de bevestiging is ontvangen, wordt uw verzoek \n"
- "            vastgehouden voor goedkeuring  door de\n"
- "            lijstmoderator.  U krijgt via de beslissing van de\n"
-@@ -7513,7 +7508,6 @@
- msgstr "<b><i>of</i></b> "
- 
- #: Mailman/HTMLFormatter.py:254
--#, fuzzy
- msgid ""
- "To unsubscribe from %(realname)s, get a password reminder,\n"
- "        or change your subscription options %(either)senter your "
-@@ -7521,16 +7515,15 @@
- "        email address:\n"
- "        <p><center> "
- msgstr ""
--"<hr>Om je af te melden van %(realname)s, om je wachtwoord toegestuurd te "
--"krijgen\n"
--"        of om je opties te wijzigen %(either)s,Vul in je\n"
--"        email adres:\n"
-+"<hr>Voer uw emailadres in om uw wachtwoord toegestuurd te krijgen,\n"
-+"        uw lijstopties te veranderen of uit te schrijven van %(realname)s"
-+"\n"
-+"\n"
- "        <p><center> "
- 
- #: Mailman/HTMLFormatter.py:261
--#, fuzzy
- msgid "Unsubscribe or edit options"
--msgstr "Afmelden of bewerk de opties"
-+msgstr "Uitschrijven of opties wijzigen"
- 
- #: Mailman/HTMLFormatter.py:265
- msgid ""
-@@ -7545,25 +7538,23 @@
- " If you leave the field blank, you will be prompted for\n"
- "        your email address"
- msgstr ""
--" Als u dit veld leeg laat dan word er straks gevraagd naar\n"
-+" Als u dit veld leeg laat dan wordt er straks gevraagd naar\n"
- "        uw e-mailadres"
- 
- #: Mailman/HTMLFormatter.py:275
--#, fuzzy
- msgid ""
- "(<i>%(which)s is only available to the list\n"
- "                members.</i>)"
- msgstr ""
--"(<i>De %(which)s is alleen beschikbaar voor\n"
-+"(<i>%(which)s is alleen beschikbaar voor\n"
- "                leden van de lijst.</i>)"
- 
- #: Mailman/HTMLFormatter.py:279
--#, fuzzy
- msgid ""
- "(<i>%(which)s is only available to the list\n"
- "            administrator.</i>)"
- msgstr ""
--"(<i>De %(which)s is alleen beschikbaar voor\n"
-+"(<i>%(which)s is alleen beschikbaar voor\n"
- "            de lijst beheerder.</i>)"
- 
- #: Mailman/HTMLFormatter.py:289
-@@ -7592,16 +7583,15 @@
- 
- #: Mailman/HTMLFormatter.py:303
- msgid "The subscribers list"
--msgstr "De aangemelde ledenlijst"
-+msgstr "De ingeschreven ledenlijst"
- 
- #: Mailman/HTMLFormatter.py:305
--#, fuzzy
- msgid " <p>Enter your "
--msgstr "<p>Voer in je "
-+msgstr "<p>Voer uw "
- 
- #: Mailman/HTMLFormatter.py:307
- msgid " and password to visit  the subscribers list: <p><center> "
--msgstr " en wachtwoord om de ledenlijst de zien: <p><center> "
-+msgstr " en wachtwoord in om de ledenlijst de zien: <p><center> "
- 
- #: Mailman/HTMLFormatter.py:312
- msgid "Password: "
-@@ -7612,16 +7602,14 @@
- msgstr "Bezoek de ledenlijst"
- 
- #: Mailman/HTMLFormatter.py:346
--#, fuzzy
- msgid "Once a month, your password will be emailed to you as a reminder."
- msgstr ""
--"1 keer per maand word je wachtwoord als herinnering verstuurd in een "
-+"Maandelijkst wordt uw wachtwoord als herinnering verstuurd in een "
- "persoonlijk email. "
- 
- #: Mailman/HTMLFormatter.py:392
--#, fuzzy
- msgid "The current archive"
--msgstr "huidig archief"
-+msgstr "Het archief"
- 
- #: Mailman/Handlers/Acknowledge.py:59
- msgid "%(realname)s post acknowledgement"
-@@ -7634,9 +7622,8 @@
- msgstr ""
- 
- #: Mailman/Handlers/Emergency.py:29
--#, fuzzy
- msgid "Emergency hold on all list traffic is in effect"
--msgstr "Noodsituatie voor al het berichtverkeer is in werking getreden"
-+msgstr "Noodmoderatie voor al het berichtverkeer is in werking getreden"
- 
- #: Mailman/Handlers/Emergency.py:30 Mailman/Handlers/Hold.py:57
- msgid "Your message was deemed inappropriate by the moderator."
-@@ -7663,43 +7650,34 @@
- msgstr "Niet-leden mogen geen berichten sturen naar deze lijst."
- 
- #: Mailman/Handlers/Hold.py:64
--#, fuzzy
- msgid "Posting to a restricted list by sender requires approval"
--msgstr ""
--"Versturen naar een lijst met restrictie is een goedkeuring voor "
--"benodigdVersturen naar een lijst met restrictie door zender vereist "
--"goedkeuring"
-+msgstr "Versturen naar een gemodereerde lijst vereist goedkeuring door de moderator"
- 
- #: Mailman/Handlers/Hold.py:65
--#, fuzzy
- msgid "This list is restricted; your message was not approved."
--msgstr "Deze lijst heeft restricties, je bericht is niet goedgekeurd."
-+msgstr "Deze lijst is gesloten, uw bericht is niet goedgekeurd."
- 
- #: Mailman/Handlers/Hold.py:68
- msgid "Too many recipients to the message"
- msgstr "Te veel ontvangers in het bericht (AAN:/CC:)"
- 
- #: Mailman/Handlers/Hold.py:69
--#, fuzzy
- msgid "Please trim the recipient list; it is too long."
--msgstr "Verkort de AAN:/CC: lijst, het is te lang."
-+msgstr "Verkort de AAN:/CC: lijst, hij is te lang."
- 
- #: Mailman/Handlers/Hold.py:72
--#, fuzzy
- msgid "Message has implicit destination"
--msgstr "Het bericht heeft een onbekend doel"
-+msgstr "Het bericht heeft een onbekend bestemming"
- 
- #: Mailman/Handlers/Hold.py:73
--#, fuzzy
- msgid ""
- "Blind carbon copies or other implicit destinations are\n"
- "not allowed.  Try reposting your message by explicitly including the list\n"
- "address in the To: or Cc: fields."
- msgstr ""
--"De lijst adres in het BCC veld is niet toegestaan.\n"
--"Stuur je bericht opnieuw en zet het mailing lijst adres in een AAN: og CC: "
--"veld.\n"
--"Alvast dank."
-+"Het lijst adres in het BCC veld plaatsen, is niet toegestaan.\n"
-+"Stuur uw bericht opnieuw en zet het mailing lijst adres in een AAN: of CC: "
-+"veld."
- 
- #: Mailman/Handlers/Hold.py:78
- msgid "Message may contain administrivia"
-@@ -7715,7 +7693,6 @@
- msgstr ""
- 
- #: Mailman/Handlers/Hold.py:89
--#, fuzzy
- msgid "Message has a suspicious header"
- msgstr "Bericht heeft een verdachte header"
- 
-@@ -7963,9 +7940,8 @@
- msgstr ""
- 
- #: Mailman/ListAdmin.py:496
--#, fuzzy
- msgid "Original Message"
--msgstr "Origineel berichtOorspronkelijk bericht"
-+msgstr "Oorspronkelijk bericht"
- 
- #: Mailman/ListAdmin.py:499
- msgid "Request to mailing list %(realname)s rejected"
-@@ -7989,9 +7965,8 @@
- msgstr ""
- 
- #: Mailman/MTA/Manual.py:82
--#, fuzzy
- msgid "## %(listname)s mailing list"
--msgstr "%(hostname)s Mailing Lijsten"
-+msgstr "%(hostname)s maillijsten"
- 
- #: Mailman/MTA/Manual.py:99
- msgid "Mailing list creation request for list %(listname)s"
-@@ -8063,7 +8038,7 @@
- 
- #: Mailman/MailList.py:880 Mailman/MailList.py:1292
- msgid " from %(remote)s"
--msgstr ""
-+msgstr " vanaf %(remote)s"
- 
- #: Mailman/MailList.py:913
- msgid "subscriptions to %(realname)s require moderator approval"
-@@ -8104,9 +8079,8 @@
- msgstr ""
- 
- #: Mailman/Queue/BounceRunner.py:320
--#, fuzzy
- msgid "Uncaught bounce notification"
--msgstr "Niet gevangen Bounce meldingNiet onderschepte bouncemelding"
-+msgstr "Niet verwerkte bouncemelding"
- 
- #: Mailman/Queue/CommandRunner.py:92
- msgid "Ignoring non-text/plain MIME parts"
-@@ -8961,11 +8935,11 @@
- #: bin/discard:94
- #, fuzzy
- msgid "Ignoring non-held message: %(f)s"
--msgstr "Negeer de wijzigingen voor verwijderd lid: %(user)s"
-+msgstr "Negeer niet vastgehouden bericht: %(user)s"
- 
- #: bin/discard:100
- msgid "Ignoring held msg w/bad id: %(f)s"
--msgstr ""
-+msgstr "Negeer vastgehouden bericht (slechte id): %(f)s"
- 
- #: bin/discard:112
- #, fuzzy

Copied: trunk/debian/patches/68_translation_update_nl.patch (from rev 326, trunk/debian/patches/68_translation_update_nl.dpatch)
===================================================================
--- trunk/debian/patches/68_translation_update_nl.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/68_translation_update_nl.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,1537 @@
+Patch: 68_translation_update_nl.patch
+Author: Luc Stroobant <debian at stroobant.be>
+Update NL translation
+Index: messages/nl/LC_MESSAGES/mailman.po
+===================================================================
+--- messages/nl/LC_MESSAGES/mailman.po.orig	2006-08-15 15:12:12.000000000 +0800
++++ messages/nl/LC_MESSAGES/mailman.po	2006-08-15 15:14:53.000000000 +0800
+@@ -311,7 +311,7 @@
+ "            %(mailmanlink)s mailing lists on %(hostname)s.  Click on a list\n"
+ "            name to visit the configuration pages for that list."
+ msgstr ""
+-"<p>Hieronder vind u een lijst van publieke\n"
++"<p>Hieronder vindt u een lijst van publieke\n"
+ "            %(mailmanlink)s maillijsten op %(hostname)s.  Klik op een\n"
+ "            lijstnaam voor de configuratiepagina's van die lijst."
+ 
+@@ -388,7 +388,7 @@
+ "<em><strong>Waarschuwing:</strong> het veranderen van\n"
+ "    deze instelling hier kan problemen opleveren op andere\n"
+ "    pagina's.  Vernieuw elke pagina waar ook deze instelling\n"
+-"    wordt getoond.  Je kan ook\n"
++"    wordt getoond.  U kan ook\n"
+ "    "
+ 
+ #: Mailman/Cgi/admin.py:374
+@@ -599,11 +599,11 @@
+ 
+ #: Mailman/Cgi/admin.py:835
+ msgid "Mass Subscriptions"
+-msgstr "Meerdere leden aanmelden"
++msgstr "Meerdere leden inschrijven"
+ 
+ #: Mailman/Cgi/admin.py:842
+ msgid "Mass Removals"
+-msgstr "Meerdere leden afmelden"
++msgstr "Meerdere leden uitschrijven"
+ 
+ #: Mailman/Cgi/admin.py:849
+ msgid "Membership List"
+@@ -635,7 +635,7 @@
+ 
+ #: Mailman/Cgi/admin.py:959
+ msgid "unsub"
+-msgstr "afmelden"
++msgstr "uitschrijven"
+ 
+ #: Mailman/Cgi/admin.py:960
+ msgid "member address<br>member name"
+@@ -695,7 +695,7 @@
+ 
+ #: Mailman/Cgi/admin.py:1051
+ msgid "<b>unsub</b> -- Click on this to unsubscribe the member."
+-msgstr "b>afmelden</b> -- Klik hier om een lid af te melden.."
++msgstr "b>uitschrijven</b> -- Klik hier om een lid uit te schrijven."
+ 
+ #: Mailman/Cgi/admin.py:1053
+ msgid ""
+@@ -810,7 +810,7 @@
+ "<p><em>To view more members, click on the appropriate\n"
+ "        range listed below:</em>"
+ msgstr ""
+-"<p><em>Om meer leden te zien klik je op de letterlinks\n"
++"<p><em>Om meer leden te zien, klik op de letterlinks\n"
+ "        hieronder:</em>"
+ 
+ #: Mailman/Cgi/admin.py:1122
+@@ -827,7 +827,7 @@
+ 
+ #: Mailman/Cgi/admin.py:1137 Mailman/Cgi/listinfo.py:178
+ msgid "Subscribe"
+-msgstr "Aanmelden"
++msgstr "Inschrijven"
+ 
+ #: Mailman/Cgi/admin.py:1143
+ msgid "Send welcome messages to new subscribees?"
+@@ -889,7 +889,7 @@
+ 
+ #: Mailman/Cgi/admin.py:1152
+ msgid "Send notifications of new subscriptions to the list owner?"
+-msgstr "Stuur een melding naar de lijstbeheerder over nieuwe aanmeldingen?"
++msgstr "Stuur een melding naar de lijstbeheerder over nieuwe inschrijvingen?"
+ 
+ #: Mailman/Cgi/admin.py:1160 Mailman/Cgi/admin.py:1201
+ msgid "Enter one address per line below..."
+@@ -907,12 +907,12 @@
+ "    one blank line at the end..."
+ msgstr ""
+ "Voeg hieronder een begeleidende tekst in die\n"
+-"    wordt toegevoegd aan de uitnodiging of het aanmeldingsbericht.    voeg "
++"    wordt toegevoegd aan de uitnodiging of het inschrijvingsbericht.    voeg "
+ "tenminste een lege regel toe aan het eind..."
+ 
+ #: Mailman/Cgi/admin.py:1185
+ msgid "Send unsubscription acknowledgement to the user?"
+-msgstr "Stuur een afmeldingsbericht naar de gebruiker?"
++msgstr "Stuur een uitschrijvingsbericht naar de gebruiker?"
+ 
+ #: Mailman/Cgi/admin.py:1193
+ msgid "Send notifications to the list owner?"
+@@ -951,7 +951,7 @@
+ "geen veranderingen in de instellingen van de lijst aanbrengen, maar zij "
+ "mogen wel\n"
+ "onbehandelde beheerverzoeken verwerken, zoals goedkeuren en afkeuren van\n"
+-"aanmeldingsverzoeken en het verwijderen van vastgehouden berichten.  "
++"inschrijvingsverzoeken en het verwijderen van vastgehouden berichten.  "
+ "Natuurlijk\n"
+ "kunnen de <em>lijstbeheerders</em> ook onbehandelde verzoeken verwerken\n"
+ "\n"
+@@ -1015,7 +1015,7 @@
+ 
+ #: Mailman/Cgi/admin.py:1359
+ msgid "Successfully subscribed:"
+-msgstr "Succesvol aangemeld:"
++msgstr "Succesvol ingeschreven:"
+ 
+ #: Mailman/Cgi/admin.py:1364
+ msgid "Error inviting:"
+@@ -1023,15 +1023,15 @@
+ 
+ #: Mailman/Cgi/admin.py:1366
+ msgid "Error subscribing:"
+-msgstr "Fouten bij het aanmelden:"
++msgstr "Fouten bij het inschrijven:"
+ 
+ #: Mailman/Cgi/admin.py:1395
+ msgid "Successfully Unsubscribed:"
+-msgstr "Met success afgemeld:"
++msgstr "Met success uitgeschreven:"
+ 
+ #: Mailman/Cgi/admin.py:1400
+ msgid "Cannot unsubscribe non-members:"
+-msgstr "Kan geen niet-leden afmelden:"
++msgstr "Kan geen niet-leden uitschrijven:"
+ 
+ #: Mailman/Cgi/admin.py:1412
+ msgid "Bad moderation flag value"
+@@ -1039,7 +1039,7 @@
+ 
+ #: Mailman/Cgi/admin.py:1433
+ msgid "Not subscribed"
+-msgstr "Niet aangemeld"
++msgstr "Niet ingeschreven"
+ 
+ #: Mailman/Cgi/admin.py:1436
+ msgid "Ignoring changes to deleted member: %(user)s"
+@@ -1051,7 +1051,7 @@
+ 
+ #: Mailman/Cgi/admin.py:1480
+ msgid "Error Unsubscribing:"
+-msgstr "Fout bij afmelden:"
++msgstr "Fout bij uitschrijven:"
+ 
+ #: Mailman/Cgi/admindb.py:160 Mailman/Cgi/admindb.py:168
+ msgid "%(realname)s Administrative Database"
+@@ -1111,7 +1111,7 @@
+ 
+ #: Mailman/Cgi/admindb.py:281
+ msgid "Subscription Requests"
+-msgstr "Aanmeldingsverzoeken"
++msgstr "Inschrijvingsverzoeken"
+ 
+ #: Mailman/Cgi/admindb.py:283
+ msgid "Address/name"
+@@ -1140,7 +1140,7 @@
+ 
+ #: Mailman/Cgi/admindb.py:374
+ msgid "Unsubscription Requests"
+-msgstr "Afmeldingsverzoeken"
++msgstr "Uitschrijvingsverzoeken"
+ 
+ #: Mailman/Cgi/admindb.py:397 Mailman/Cgi/admindb.py:621
+ msgid "From:"
+@@ -1167,9 +1167,8 @@
+ msgstr "<em>De zender is nu lid van deze lijst</em>"
+ 
+ #: Mailman/Cgi/admindb.py:449
+-#, fuzzy
+ msgid "Add <b>%(esender)s</b> to one of these sender filters:"
+-msgstr "Voeg <b>%(esender)s</b> toe aan het verstuurdersfilter"
++msgstr "Voeg <b>%(esender)s</b> toe aan de verzendersfilter"
+ 
+ #: Mailman/Cgi/admindb.py:454
+ msgid "Accepts"
+@@ -1193,7 +1192,7 @@
+ "Ban <b>%(esender)s</b> from ever subscribing to this\n"
+ "                    mailing list"
+ msgstr ""
+-"Verbied <b>%(esender)s</b> om zich ooit aan te melden op deze\n"
++"Verbied <b>%(esender)s</b> om zich ooit in te schrijven op deze\n"
+ "                    maillijst"
+ 
+ #: Mailman/Cgi/admindb.py:468
+@@ -1313,8 +1312,8 @@
+ "    %(safecookie)s.\n"
+ "\n"
+ "    <p>Opmerking: de bevestigingen zijn maar\n"
+-"    %(days)s dagen geldig na de aanmelding. Als uw\n"
+-"    bevestiging is verlopen, probeert u dan opnieuw aan te melden.\n"
++"    %(days)s dagen geldig na de inschrijving. Als uw\n"
++"    bevestiging is verlopen, probeert u dan opnieuw in te schrijven.\n"
+ "    Anders, bevestig <a href=\"%(confirmurl)s\">hier</a> uw\n"
+ "    bevestigingscode."
+ 
+@@ -1325,8 +1324,8 @@
+ "been\n"
+ "                unsubscribed, e.g. by the list administrator?"
+ msgstr ""
+-"Het adres waarvoor de afmelding wordt aangevraagd is geen\n"
+-"                lid van de maillijst.  Misschien heeft bent u al afgemeld,\n"
++"Het adres waarvoor de uitschrijving wordt aangevraagd is geen\n"
++"                lid van de maillijst.  Misschien heeft bent u al uitgeschreven,\n"
+ "                bijvoorbeeld door de lijstbeheerder?"
+ 
+ #: Mailman/Cgi/confirm.py:145
+@@ -1336,7 +1335,7 @@
+ "                    cancelled."
+ msgstr ""
+ "Het adres dat een veranderingsverzoek deed\n"
+-"                    is al afgemeld. Dit verzoek is geannuleerd."
++"                    is al uitgeschreven. Dit verzoek is geannuleerd."
+ 
+ #: Mailman/Cgi/confirm.py:165
+ msgid "System error, bad content: %(content)s"
+@@ -1374,10 +1373,9 @@
+ 
+ #: Mailman/Cgi/confirm.py:231
+ msgid "Confirm subscription request"
+-msgstr "Bevestig het aanmeldingsverzoek"
++msgstr "Bevestig het inschrijvingsverzoek"
+ 
+ #: Mailman/Cgi/confirm.py:246
+-#, fuzzy
+ msgid ""
+ "Your confirmation is required in order to complete the\n"
+ "    subscription request to the mailing list <em>%(listname)s</em>.  Your\n"
+@@ -1395,22 +1393,22 @@
+ "to\n"
+ "    subscribe to this list."
+ msgstr ""
+-"Uw bevestiging is vereist om uw aanmeldingsverzoek voor de maillijst\n"
++"Uw bevestiging is vereist om uw inschrijvingsverzoek voor de maillijst\n"
+ "    <em>%(listname)s</em> te voltooien.  Uw lidmaatschapsinstellingen\n"
+ "    zijn hieronder weergegeven. Indien nodig kunt u deze gegevens wijzigen\n"
+-"    en op <em>Aanmelden</em> klikken om verder te gaan.  Nadat u uw\n"
+-"    aanmeldingsverzoek heeft bevestigd komt u op uw lidmaatmaatschaps-\n"
++"    en op <em>Inschrijven</em> klikken om verder te gaan.  Nadat u uw\n"
++"    inschrijvingsverzoek heeft bevestigd komt u op uw lidmaatmaatschaps-\n"
+ "    instellingenpagina die u kunt gebruiken om uw lidmaatschap verder aan "
+ "uw\n"
+ "    wensen aan te passen.\n"
+ "\n"
+-"    <p>Opmerking: uw wachtwoord zal naar u worden verstuurd via e-mial "
++"    <p>Opmerking: uw wachtwoord zal naar u worden verstuurd via e-mail "
+ "nadat\n"
+ "    uw lidmaatschap is bevestigd.  U kunt het wachtwoord veranderen als u "
+ "uw\n"
+ "    lidmaatschapsinstellingenpagina bezoekt.\n"
+ "\n"
+-"    <p>Of klik op <em>Annuleren</em> om dit aanmeldingsverzoek af te breken."
++"    <p>Of klik op <em>Annuleren</em> om dit inschrijvingsverzoek af te breken."
+ 
+ #: Mailman/Cgi/confirm.py:261
+ msgid ""
+@@ -1432,17 +1430,17 @@
+ "        this mailing list, you can hit <em>Cancel my subscription\n"
+ "        request</em>."
+ msgstr ""
+-"Uw bevestiging is vereist om door te gaan met het aanmeldingsverzoek\n"
++"Uw bevestiging is vereist om door te gaan met het inschrijvingsverzoek\n"
+ "        voor de maillijst <em>%(listname)s</em>. Uw "
+ "lidmaatschapsinstellingen\n"
+ "        zijn hieronder weergegeven. Indien nodig kunt u deze gegevens "
+ "wijzigen\n"
+-"        en op <em>Aanmelden</em> klikken om verder te gaan.\n"
+-"        Nadat u uw aanmeldingsverzoek heeft bevestigd moet de moderator uw\n"
++"        en op <em>Inschrijven</em> klikken om verder te gaan.\n"
++"        Nadat u uw inschrijvingsverzoek heeft bevestigd moet de moderator uw\n"
+ "        verzoek goedkeuren of afkeuren. U krijgt over deze beslissing nog "
+ "bericht.\n"
+ "\n"
+-"    <p>Opmerking: uw wachtwoord zal naar u worden verstuurd via e-mial "
++"    <p>Opmerking: uw wachtwoord zal naar u worden verstuurd via e-mail "
+ "nadat\n"
+ "    uw lidmaatschap is bevestigd.  U kunt het wachtwoord veranderen als u "
+ "uw\n"
+@@ -1450,7 +1448,7 @@
+ "\n"
+ "    <p>Mocht u van gedachten zijn veranderd en geen lid willen worden van "
+ "de\n"
+-"    maillijst klik op dan op <em>Annuleer mijn aanmeldingsverzoek</em>."
++"    maillijst klik op dan op <em>Annuleer mijn inschrijvingsverzoek</em>."
+ 
+ #: Mailman/Cgi/confirm.py:279
+ msgid "Your email address:"
+@@ -1470,15 +1468,15 @@
+ 
+ #: Mailman/Cgi/confirm.py:303
+ msgid "Cancel my subscription request"
+-msgstr "Verwijder mijn aanmeldingsverzoek"
++msgstr "Verwijder mijn inschrijvingsverzoek"
+ 
+ #: Mailman/Cgi/confirm.py:304
+ msgid "Subscribe to list %(listname)s"
+-msgstr "Meldt u aan op deze maillijst %(listname)s"
++msgstr "Schrijf in op deze maillijst %(listname)s"
+ 
+ #: Mailman/Cgi/confirm.py:321
+ msgid "You have canceled your subscription request."
+-msgstr "U heeft uw aanmelding geannuleerd."
++msgstr "U heeft uw inschrijving geannuleerd."
+ 
+ #: Mailman/Cgi/confirm.py:359
+ msgid "Awaiting moderator approval"
+@@ -1495,12 +1493,12 @@
+ "notified\n"
+ "            of the moderator's decision."
+ msgstr ""
+-"            U heeft succesvol uw aanmeldingsverzoek voor de\n"
++"            U heeft succesvol uw inschrijvingsverzoek voor de\n"
+ "            maillijst %(listname)s bevestigd. Omdat de lijst wordt "
+ "gemodereerd,\n"
+ "             zal de lijstmoderator uw verzoek eerst moeten goedkeuren "
+ "voordat\n"
+-"            u definitief bent aangemeld. Uw verzoek is doorgestuurd naar de\n"
++"            u definitief bent ingeschreven. Uw verzoek is doorgestuurd naar de\n"
+ "            lijstmoderator. U zult nog bericht ontvangen over de "
+ "moderator's\n"
+ "            beslissing."
+@@ -1513,8 +1511,8 @@
+ "            address that has already been unsubscribed."
+ msgstr ""
+ "Foute bevestigingscode!.  Het is\n"
+-"            mogelijk u een verzoek doe voor afmelding voor een\n"
+-"            e-mailadres dat al is afgemeld.\n"
++"            mogelijk dat u een verzoek doet voor uitschrijving van een\n"
++"            e-mailadres dat al is uitgeschreven.\n"
+ "            "
+ 
+ #: Mailman/Cgi/confirm.py:373
+@@ -1542,7 +1540,7 @@
+ 
+ #: Mailman/Cgi/confirm.py:390
+ msgid "Subscription request confirmed"
+-msgstr "Aanmeldingsverzoek bevestigd"
++msgstr "Inschrijvingsverzoek bevestigd"
+ 
+ #: Mailman/Cgi/confirm.py:394
+ msgid ""
+@@ -1555,7 +1553,7 @@
+ "            <a href=\"%(optionsurl)s\">proceed to your membership login\n"
+ "            page</a>."
+ msgstr ""
+-"            U heeft succesvol uw aanmeldingsverzoek bevestigd voor\n"
++"            U heeft succesvol uw inschrijvingsverzoek bevestigd voor\n"
+ "            maillijst %(listname)s met \"%(addr)s\".  Een apart\n"
+ "            bevestigingsbericht zal naar uw e-mailadres worden\n"
+ "            verstuurd, samen met uw wachtwoord en andere belangrijke\n"
+@@ -1566,11 +1564,11 @@
+ 
+ #: Mailman/Cgi/confirm.py:412
+ msgid "You have canceled your unsubscription request."
+-msgstr "U heeft uw afmeldingsverzoek geannuleerd."
++msgstr "U heeft uw uitschrijvingsverzoek geannuleerd."
+ 
+ #: Mailman/Cgi/confirm.py:440
+ msgid "Unsubscription request confirmed"
+-msgstr "Afmeldingsverzoek is bevestigd"
++msgstr "Uitschrijvingsverzoek is bevestigd"
+ 
+ #: Mailman/Cgi/confirm.py:444
+ msgid ""
+@@ -1580,14 +1578,14 @@
+ "main\n"
+ "            information page</a>."
+ msgstr ""
+-"            U heeft zich succesvol afgemeld van de %(listname)s maillijst\n"
++"            U heeft zich succesvol uitgeschreven van de %(listname)s maillijst\n"
+ "            U kunt nu de <a href=\"%(listinfourl)s\">informatiepagina van "
+ "de\n"
+ "            maillijst</a> bezoeken."
+ 
+ #: Mailman/Cgi/confirm.py:455
+ msgid "Confirm unsubscription request"
+-msgstr "Bevestig afmeldingsverzoek"
++msgstr "Bevestig uitschrijvingsverzoek"
+ 
+ #: Mailman/Cgi/confirm.py:470 Mailman/Cgi/confirm.py:566
+ msgid "<em>Not available</em>"
+@@ -1610,24 +1608,24 @@
+ "    <p>Or hit <em>Cancel and discard</em> to cancel this unsubscription\n"
+ "    request."
+ msgstr ""
+-"Uw bevestiging is vereist om uw afmeldingsverzoek voor de maillijst\n"
++"Uw bevestiging is vereist om uw uitschrijvingsverzoek voor de maillijst\n"
+ "    <em>%(listname)s</em> te voltooien.  U bent op dit moment\n"
+-"    aangemeld met de volgende gegevens:\n"
++"    ingeschreven met de volgende gegevens:\n"
+ "\n"
+ "    <ul><li><b>Naam:</b> %(fullname)s\n"
+ "        <li><b>E-mailadres:</b> %(addr)s\n"
+ "    </ul>\n"
+ "\n"
+-"    Klik op de <em>Afmelden</em> knop hieronder om het verder te\n"
++"    Klik op de <em>Uitschrijven</em> knop hieronder om het verder te\n"
+ "    gaan.\n"
+ "\n"
+-"    <p>Of klik op <em>Annuleren</em> om uw afmeldingsverzoek af\n"
++"    <p>Of klik op <em>Annuleren</em> om uw uitschrijvingsverzoek af\n"
+ "    te breken."
+ 
+ #: Mailman/Cgi/confirm.py:489 Mailman/Cgi/options.py:746
+ #: Mailman/Cgi/options.py:887 Mailman/Cgi/options.py:897
+ msgid "Unsubscribe"
+-msgstr "Afmelden"
++msgstr "Uitschrijven"
+ 
+ #: Mailman/Cgi/confirm.py:490 Mailman/Cgi/confirm.py:595
+ msgid "Cancel and discard"
+@@ -1635,7 +1633,7 @@
+ 
+ #: Mailman/Cgi/confirm.py:500
+ msgid "You have canceled your change of address request."
+-msgstr "Je hebt je email adres verandering geannuleerd."
++msgstr "U hebt uw email adres verandering geannuleerd."
+ 
+ #: Mailman/Cgi/confirm.py:529
+ #, fuzzy
+@@ -1701,7 +1699,7 @@
+ msgstr ""
+ "Uw bevestiging is vereist om uw adreswijzigingsverzoek voor\n"
+ "    de <em>%(listname)s</em> maillijst te voltooien.  U bent op dit moment\n"
+-"    aangemeld met de volgende gegevens:\n"
++"    ingeschreven met de volgende gegevens:\n"
+ "\n"
+ "    <ul><li><b>Naam:</b> %(fullname)s\n"
+ "        <li><b>Oude e-mailadres:</b> %(oldaddr)s\n"
+@@ -1826,7 +1824,7 @@
+ 
+ #: Mailman/Cgi/confirm.py:758
+ msgid "Membership re-enabled."
+-msgstr "Lidmaatschap is weer geaktiveerd."
++msgstr "Lidmaatschap is weer geactiveerd."
+ 
+ #: Mailman/Cgi/confirm.py:762
+ msgid ""
+@@ -1835,7 +1833,7 @@
+ "            href=\"%(optionsurl)s\">visit your member options page</a>.\n"
+ "            "
+ msgstr ""
+-"            U heeft uw lidmaatschap weer op aktief gezet voor de\n"
++"            U heeft uw lidmaatschap weer op actief gezet voor de\n"
+ "            %(listname)s maillijst.  U kunt nu <a\n"
+ "            href=\"%(optionsurl)s\">uw lidmaatschap instellingenpagina "
+ "bezoeken</a>.\n"
+@@ -1843,7 +1841,7 @@
+ 
+ #: Mailman/Cgi/confirm.py:774
+ msgid "Re-enable mailing list membership"
+-msgstr "Her-aanmelding mailing lijst lidmaatschap"
++msgstr "Her-inschrijving mailinglijst lidmaatschap"
+ 
+ #: Mailman/Cgi/confirm.py:791
+ msgid ""
+@@ -1851,8 +1849,8 @@
+ "        from this mailing list.  To re-subscribe, please visit the\n"
+ "        <a href=\"%(listinfourl)s\">list information page</a>."
+ msgstr ""
+-"Sorry, je bent al afgemeld van\n"
+-"        deze mailing lijst.  Om je weer aan te nelden bezoek\n"
++"Sorry, u bent al uitgeschreven van\n"
++"        deze mailing lijst.  Om weer in te schrijven, bezoek\n"
+ "        <a href=\"%(listinfourl)s\">lijst informatie pagina</a>."
+ 
+ #: Mailman/Cgi/confirm.py:806
+@@ -1934,9 +1932,8 @@
+ msgstr "Lijstnaam mag niet de volgende tekens bevatten: \"@\": %(listname)s"
+ 
+ #: Mailman/Cgi/create.py:111
+-#, fuzzy
+ msgid "List already exists: %(safelistname)s"
+-msgstr "Lijst bestaat al: %(listname)s"
++msgstr "Lijst bestaat al: %(safelistname)s"
+ 
+ #: Mailman/Cgi/create.py:115
+ msgid "You forgot to enter the list name"
+@@ -2008,7 +2005,7 @@
+ msgstr ""
+ "De maillijst is aangemaakt.\n"
+ "    <b>%(listname)s</b> gegevens zijn naar de lijstbeheerder verstuurd\n"
+-"    <b>%(owner)s</b>.  Je kan nu:"
++"    <b>%(owner)s</b>.  U kan nu:"
+ 
+ #: Mailman/Cgi/create.py:264
+ msgid "Visit the list's info page"
+@@ -2131,7 +2128,7 @@
+ "        select at least one initial language, the list will use the server\n"
+ "        default language of %(deflang)s"
+ msgstr ""
+-"Beginlijst van ondersteunde talen. <p>Als je niet tenminste één\n"
++"Beginlijst van ondersteunde talen. <p>Als u niet tenminste één\n"
+ "        taal kiest dan zal de lijst deze standaardtaal voor deze server\n"
+ "        gebruiken: %(deflang)s"
+ 
+@@ -2157,7 +2154,7 @@
+ 
+ #: Mailman/Cgi/edithtml.py:46
+ msgid "Subscribe results page"
+-msgstr "Aanmeldingsresultaatpagina"
++msgstr "Inschrijvingsresultaatpagina"
+ 
+ #: Mailman/Cgi/edithtml.py:47
+ msgid "User specific options page"
+@@ -2236,7 +2233,7 @@
+ "preferences\n"
+ "            on your subscription."
+ msgstr ""
+-"<p>Hier vind u alle publieke mailing lijsten op\n"
++"<p>Hier vindt u alle publieke mailing lijsten op\n"
+ "            %(hostname)s. Klik op een lijstnaam voor meer informatie."
+ 
+ #: Mailman/Cgi/listinfo.py:116
+@@ -2261,13 +2258,12 @@
+ msgstr "de lijstbeheer overzichtspagina"
+ 
+ #: Mailman/Cgi/listinfo.py:125
+-#, fuzzy
+ msgid ""
+ " to find the management interface for your list.\n"
+ "         <p>If you are having trouble using the lists, please contact "
+ msgstr ""
+-"gaan om de beheerpagina te vinden van uw lijst.\n"
+-"         <p>Vragen kunt u richten aan "
++" gaan.\n"
++"         <p>Bij problemen met deze lijsten, contacteer "
+ 
+ #: Mailman/Cgi/listinfo.py:190
+ msgid "Edit Options"
+@@ -2291,9 +2287,8 @@
+ msgstr "Er is geen adres opgegeven"
+ 
+ #: Mailman/Cgi/options.py:117
+-#, fuzzy
+ msgid "Illegal Email Address: %(safeuser)s"
+-msgstr "Ongeldig e-mailadres opgegeven"
++msgstr "Ongeldig e-mailadres opgegeven: %(safeuser)s"
+ 
+ #: Mailman/Cgi/options.py:124 Mailman/Cgi/options.py:188
+ #: Mailman/Cgi/options.py:210
+@@ -2306,7 +2301,7 @@
+ "Your unsubscription request has been\n"
+ "                    forwarded to the list administrator for approval."
+ msgstr ""
+-"Uw afmeldingsverzoek is doorgestuurd naar de lijstmoderator voor\n"
++"Uw uitschrijvingsverzoek is doorgestuurd naar de lijstbeheerder voor\n"
+ "goedkeuring."
+ 
+ #: Mailman/Cgi/options.py:179 Mailman/Cgi/options.py:193
+@@ -2334,9 +2329,8 @@
+ msgstr ""
+ 
+ #: Mailman/Cgi/options.py:284
+-#, fuzzy
+ msgid "List subscriptions for %(safeuser)s on %(hostname)s"
+-msgstr "Lijstaanmeldingen voor %(user)s op %(hostname)s"
++msgstr "Lijstinschrijvingen voor %(safeuser)s op %(hostname)s"
+ 
+ #: Mailman/Cgi/options.py:287
+ msgid ""
+@@ -2359,7 +2353,7 @@
+ 
+ #: Mailman/Cgi/options.py:347
+ msgid "You are already using that email address"
+-msgstr "Je gebruikt dat e-mailadres al"
++msgstr "Uw e-mailadres is al in gebruik"
+ 
+ #: Mailman/Cgi/options.py:359
+ #, fuzzy
+@@ -2447,13 +2441,13 @@
+ "                on the checkbox below the <em>Unsubscribe</em> button.  You\n"
+ "                have not been unsubscribed!"
+ msgstr ""
+-"U moet uw afmeldingsverzoek bevestigen door het vakje\n"
+-"                onder de <em>Afmelden</em>-knop aan te vinken.  U\n"
+-"                bent niet afgemeld!"
++"U moet uw uitschrijvingsverzoek bevestigen door het vakje\n"
++"                onder de <em>Uitschrijven</em>-knop aan te vinken.  U\n"
++"                bent niet uitgeschreven!"
+ 
+ #: Mailman/Cgi/options.py:497
+ msgid "Unsubscription results"
+-msgstr "Afmeldingsresultaat"
++msgstr "Uitschrijvingsresultaat"
+ 
+ #: Mailman/Cgi/options.py:501
+ msgid ""
+@@ -2462,7 +2456,7 @@
+ "            receive notification once the list moderators have made their\n"
+ "            decision."
+ msgstr ""
+-"Je afmeldingsverzoek is ontvangen en doorgestuurd\n"
++"Uw uitschrijvingsverzoek is ontvangen en doorgestuurd\n"
+ "            naar de lijstmoderators voor goedkeuring. U zult een bericht\n"
+ "            ontvangen zodra de lijstmoderators een beslissing hebben\n"
+ "            genomen."
+@@ -2476,10 +2470,10 @@
+ "            about your unsubscription, please contact the list owners at\n"
+ "            %(owneraddr)s."
+ msgstr ""
+-"U bent succesvol afgemeld van de maillijst\n"
++"U bent succesvol uitgeschreven van de maillijst\n"
+ "            %(fqdn_listname)s.  Als u digests ontving dan zult u deze niet "
+ "meer\n"
+-"            ontvangen. Als u nog vragen heeft over uw afmelding, neem dan\n"
++"            ontvangen. Als u nog vragen heeft over uw uitschrijving, neem dan\n"
+ "            contact op met de lijsteigenaar op het volgende e-mailadres:\n"
+ "            %(owneraddr)s."
+ 
+@@ -2525,7 +2519,7 @@
+ 
+ #: Mailman/Cgi/options.py:748
+ msgid "<em>Yes, I really want to unsubscribe</em>"
+-msgstr "<em>Ja, ik wil mezelf echt afmelden</em>"
++msgstr "<em>Ja, ik wil mezelf echt uitschrijven</em>"
+ 
+ #: Mailman/Cgi/options.py:752
+ msgid "Change My Password"
+@@ -2533,7 +2527,7 @@
+ 
+ #: Mailman/Cgi/options.py:755
+ msgid "List my other subscriptions"
+-msgstr "Laat mijn andere aanmeldingen zien"
++msgstr "Laat mijn andere inschrijvingen zien"
+ 
+ #: Mailman/Cgi/options.py:761
+ msgid "Email My Password To Me"
+@@ -2579,8 +2573,7 @@
+ "<em>%(cpuser)s</em>."
+ msgstr ""
+ "\n"
+-"Uw bent op deze lijst aangemeld met het adres met niet te wijzigen You are "
+-"subscribed to this list with the case-preserved address\n"
++"U bent op deze lijst ingeschreven met de ongewijzigde adres\n"
+ "<em>%(cpuser)s</em>."
+ 
+ #: Mailman/Cgi/options.py:834
+@@ -2592,9 +2585,8 @@
+ msgstr "e-mailadres en "
+ 
+ #: Mailman/Cgi/options.py:838
+-#, fuzzy
+ msgid "%(realname)s list: member options for user %(safeuser)s"
+-msgstr "%(realname)s lijst: lidmaatschapsinstellingen voor gebruiker %(user)s"
++msgstr "%(realname)s lijst: lidmaatschapsinstellingen voor gebruiker %(safeuser)s"
+ 
+ #: Mailman/Cgi/options.py:863
+ msgid ""
+@@ -2617,7 +2609,7 @@
+ "mailadres\n"
+ "    en uw wachtwoord. Als u uw wachtwoord niet meer weet, klik dan op\n"
+ "    <em>Herinnering</em>. Het wachtwoord wordt u dan naar u verstuurd via\n"
+-"    e-mail. Om u af te melden van deze lijst klikt u op <em>Afmelden</em>. "
++"    e-mail. Om u uit te schrijven van deze lijst klikt u op <em>Uitschrijven</em>. "
+ "Er\n"
+ "    zal dan een bevestigingsbericht naar u worden verstuurd.\n"
+ "\n"
+@@ -2648,11 +2640,11 @@
+ "    also confirm by email; see the instructions in the confirmation\n"
+ "    message)."
+ msgstr ""
+-"Door op de knop <em>Afmelden</em> te drukken, zal\n"
++"Door op de knop <em>Uitschrijven</em> te drukken, zal\n"
+ "    er een bevestigingsbericht verstuurd worden. In dit bericht staat een "
+ "link \n"
+-"    die u moet bezoeken om uw afmelding te voltooien. (U kunt ook gewoon\n"
+-"    het bericht terugsturen (reply/antwoord) om de afmelding te\n"
++"    die u moet bezoeken om uw uitschrijving te voltooien. (U kunt ook gewoon\n"
++"    het bericht terugsturen (reply/antwoord) om de uitschrijving te\n"
+ "    voltooien.)"
+ 
+ #: Mailman/Cgi/options.py:899
+@@ -2692,9 +2684,8 @@
+ msgstr "Patroon:"
+ 
+ #: Mailman/Cgi/private.py:64
+-#, fuzzy
+ msgid "Private Archive Error"
+-msgstr "privé Archief fout"
++msgstr "Privé Archief fout"
+ 
+ #: Mailman/Cgi/private.py:65
+ msgid "You must specify a list."
+@@ -2705,14 +2696,13 @@
+ msgstr ""
+ 
+ #: Mailman/Cgi/private.py:109
+-#, fuzzy
+ msgid "Private Archive Error - %(msg)s"
+-msgstr "privé Archief fout - %(msg)s"
++msgstr "Privé Archief fout - %(msg)s"
+ 
+ #: Mailman/Cgi/private.py:178
+ #, fuzzy
+ msgid "Private archive file not found"
+-msgstr "privé archief bestand niet gevonden"
++msgstr "Privé archief bestand niet gevonden"
+ 
+ #: Mailman/Cgi/rmlist.py:81
+ msgid "You're being a sneaky list owner!"
+@@ -2814,7 +2804,7 @@
+ 
+ #: Mailman/Cgi/roster.py:97
+ msgid "%(realname)s roster authentication failed."
+-msgstr "%(realname)s gebruikersaanmelding mislukt."
++msgstr "%(realname)s gebruikersinschrijving mislukt."
+ 
+ #: Mailman/Cgi/roster.py:125 Mailman/Cgi/roster.py:126
+ #: Mailman/Cgi/subscribe.py:49 Mailman/Cgi/subscribe.py:60
+@@ -2827,7 +2817,7 @@
+ 
+ #: Mailman/Cgi/subscribe.py:123
+ msgid "You may not subscribe a list to itself!"
+-msgstr "U mag niet het maillijst e-mailadres aanmelden op de lijst zelf!"
++msgstr "U mag niet het maillijst e-mailadres inschrijven op de lijst zelf!"
+ 
+ #: Mailman/Cgi/subscribe.py:131
+ msgid "If you supply a password, you must confirm it."
+@@ -2846,10 +2836,10 @@
+ "moderator.  If confirmation is required, you will soon get a confirmation\n"
+ "email which contains further instructions."
+ msgstr ""
+-"Uw aanmeldingsverzoek is ontvangen en zal zo spoedig mogelijk worden\n"
++"Uw inschrijvingsverzoek is ontvangen en zal zo spoedig mogelijk worden\n"
+ "verwerkt. Afhankelijk van de instellingen van deze maillijst kan het zijn "
+ "dat\n"
+-"uw aanmeldingsverzoek eerst door u moet worden bevestigd via e-mail of \n"
++"uw inschrijvingsverzoek eerst door u moet worden bevestigd via e-mail of \n"
+ "moet worden goedgekeurd door de lijstmoderator. Als uw bevestiging nodig\n"
+ "is zult u een e-mail ontvangen met verdere instructies"
+ 
+@@ -2877,7 +2867,7 @@
+ "Your subscription is not allowed because the email address you gave is\n"
+ "insecure."
+ msgstr ""
+-"Uw aanmelding is niet toegestaaan omdat het door u opgegeven e-mailadres\n"
++"Uw inschrijving is niet toegestaaan omdat het door u opgegeven e-mailadres\n"
+ "onveilig is."
+ 
+ #: Mailman/Cgi/subscribe.py:197
+@@ -2887,10 +2877,10 @@
+ "%(email)s.  Please note your subscription will not start until you confirm\n"
+ "your subscription."
+ msgstr ""
+-"Uw e-mailadres moet worden bevestigd, om er zeker van te zijn dat niet\n"
+-"anderen u aanmelden zonder uw toestemming. Er zijn instructies verzonden\n"
+-"naar u verzonden op dit adres: %(email)s.  Opmerking: uw aanmelding zal pas\n"
+-"starten totdat u uw aanmelding heeft bevestigd."
++"Uw e-mailadres moet worden bevestigd, om er zeker van te zijn dat anderen\n"
++"u niet inschrijven zonder uw toestemming. Er zijn instructies\n"
++"naar u verzonden op dit adres: %(email)s.  Opmerking: uw inschrijving zal pas\n"
++"starten totdat u uw inschrijving heeft bevestigd."
+ 
+ #: Mailman/Cgi/subscribe.py:209
+ msgid ""
+@@ -2906,7 +2896,7 @@
+ 
+ #: Mailman/Cgi/subscribe.py:216 Mailman/Commands/cmd_confirm.py:61
+ msgid "You are already subscribed."
+-msgstr "U bent al aangemeld."
++msgstr "U bent al ingeschreven."
+ 
+ #: Mailman/Cgi/subscribe.py:230
+ msgid "Mailman privacy alert"
+@@ -2930,8 +2920,8 @@
+ "message\n"
+ "to the list administrator at %(listowner)s.\n"
+ msgstr ""
+-"Er is een poging ondernomen om uw adres aan te melden bij de maillijst\n"
+-"%(listaddr)s.  U bent echter al aangemeld voor deze maillijst.\n"
++"Er is een poging ondernomen om uw adres in te schrijven bij de maillijst\n"
++"%(listaddr)s.  U bent echter al ingeschreven voor deze maillijst.\n"
+ "\n"
+ "Let er op dat lidmaatschap van deze lijst niet publiek toegankelijk is, dus\n"
+ "het is mogelijk dat een onbevoegd person probeert de lijst binnen te "
+@@ -2939,11 +2929,11 @@
+ "Het zou een privacyschending zijn als we dit door zouden laten, daarom\n"
+ "is deze poging tegengehouden.\n"
+ "\n"
+-"Als u per ongeluk degene bent die het aanmeldingsverzoek heeft gedaan\n"
+-"omdat u was vergeten dat u al bent aangemeld voor deze lijst, dan kunt u\n"
++"Als u per ongeluk degene bent die het inschrijvingsverzoek heeft gedaan\n"
++"omdat u was vergeten dat u al bent ingeschreven voor deze lijst, dan kunt u\n"
+ "dit bericht negeren. Als u vermoedt dat er een poging is gedaan om "
+ "ongemerkt\n"
+-"te bepalen of u aangemeld bent voor deze maillijst of als u bezorgd bent "
++"te bepalen of u ingeschreven bent voor deze maillijst of als u bezorgd bent "
+ "over\n"
+ "uw privacy, meld dit dan aan de lijsteigenaar op dit e-mailadres: %"
+ "(listowner)s.\n"
+@@ -2958,7 +2948,7 @@
+ 
+ #: Mailman/Cgi/subscribe.py:259
+ msgid "You have been successfully subscribed to the %(realname)s mailing list."
+-msgstr "Je succesvol aangemeld bij de %(realname)s maillijst."
++msgstr "U bent succesvol ingeschreven bij de %(realname)s maillijst."
+ 
+ #: Mailman/Commands/cmd_confirm.py:18
+ #, fuzzy
+@@ -2989,9 +2979,9 @@
+ "message."
+ msgstr ""
+ "Ongeldige bevestigingscode. Let er op dat de bevestigingscode \n"
+-"%(days)s dagen na het aanmeldingsverzoek verloopt. Als uw\n"
++"%(days)s dagen na het inschrijvingsverzoek verloopt. Als uw\n"
+ "bevestiging is verlopen, verzend dan opnieuw een\n"
+-"aanmeldingsverzoek."
++"inschrijvingsverzoek."
+ 
+ #: Mailman/Commands/cmd_confirm.py:56
+ msgid "Your request has been forwarded to the list moderator for approval."
+@@ -3003,7 +2993,7 @@
+ "You are not currently a member.  Have you already unsubscribed or changed\n"
+ "your email address?"
+ msgstr ""
+-"U bent op dit moment niet aangemeld.  Heeft u zich misschien al afgemeld of "
++"U bent op dit moment niet ingeschreven.  Heeft u zich misschien al uitgeschreven of "
+ "uw\n"
+ "e-mailadres veranderd?"
+ 
+@@ -3169,13 +3159,13 @@
+ "        huidige wachtwoord toegestuurd. Met de argumenten <oud wachtwoord>\n"
+ "        en <nieuw wachtwoord> kunt u uw wachtwoord veranderen.\n"
+ "\n"
+-"        Als u een bericht verstuurd vanaf een ander adres dan waar u mee "
+-"aangemeld bent\n"
+-"        geef dan uw aangemelde adres op met `address=<adres>' (zonder "
++"        Als u een bericht verstuurd vanaf een ander adres dan waarmee u "
++"ingeschreven bent\n"
++"        geef dan uw ingeschreven adres op met `address=<adres>' (zonder "
+ "haakjes\n"
+ "        om het e-mailadres heen, en zonder aanhalingstekens!).  Let er op "
+ "dat in dit geval\n"
+-"        de bevestiging altijd naar het aangemelde adres word verstuurd.\n"
++"        de bevestiging altijd naar het ingeschreven adres wordt verstuurd.\n"
+ 
+ #: Mailman/Commands/cmd_password.py:51 Mailman/Commands/cmd_password.py:66
+ msgid "Your password is: %(password)s"
+@@ -3313,7 +3303,7 @@
+ "    set show [address=<adres>]\n"
+ "        Bekijken van uw huidige instellingen.  Als u een bericht verstuurd "
+ "vanaf een\n"
+-"        ander adres dan waar u mee aangemeld bent geef dan uw aangemelde "
++"        ander adres dan waar u mee ingeschreven bent geef dan uw ingeschreven "
+ "adres\n"
+ "        op met `address=<adres>' (zonder haakjes om het e-mailadres heen, en "
+ "zonder\n"
+@@ -3323,7 +3313,7 @@
+ "        Om uw instellingen te kunnen wijzigen moet u eerst dit commando "
+ "gebruiken,\n"
+ "        samen met uw wachtwoord.  Als u een bericht verstuurd vanaf een\n"
+-"        ander adres dan waar u mee aangemeld bent geef dan uw aangemelde "
++"        ander adres dan waar u mee ingeschreven bent, geef dan uw ingeschreven "
+ "adres\n"
+ "        op met `address=<adres>' (zonder haakjes om het e-mailadres heen, en "
+ "zonder\n"
+@@ -3461,7 +3451,7 @@
+ 
+ #: Mailman/Commands/cmd_set.py:224
+ msgid "You did not give the correct password"
+-msgstr "Je hebt niet het goede wachtwoord opgegeven"
++msgstr "U hebt niet het goede wachtwoord opgegeven"
+ 
+ #: Mailman/Commands/cmd_set.py:236 Mailman/Commands/cmd_set.py:283
+ msgid "Bad argument: %(arg)s"
+@@ -3534,17 +3524,17 @@
+ msgstr ""
+ "\n"
+ "    subscribe [wachtwoord] [digest|nodigest] [address=<adres>]\n"
+-"        Aanmelden voor deze maillijst.  U moet uw wachtwoord opgeven\n"
+-"        opgeven om u af te melden of uw instellingen te wijzigen, maar als "
++"        Inschrijven voor deze maillijst.  U moet uw wachtwoord opgeven\n"
++"        opgeven om u uit te schrijven of uw instellingen te wijzigen, maar als "
+ "u\n"
+ "        geen wachtwoord meestuurt dan zal deze worden gegenereerd  U zult\n"
+ "        periodiek een wachtwoordherinnering toegestuurd krijgen.\n"
+ "\n"
+ "        Het volgende argument mag `nodigest' or `digest' (geen "
+ "aanhalingstekens!)\n"
+-"        zijn. Als u zich aanmeldt voor een adres anders dan het adres "
++"        zijn. Als u zich inschrijft voor een adres anders dan het adres "
+ "waarmee u de\n"
+-"        aanmelding doet, dan moet u `address=<addres>' (zonder haakjes om "
++"        inschrijving doet, dan moet u `address=<addres>' (zonder haakjes om "
+ "het \n"
+ "        e-mailadres, en zonder aanhalingstekens!) gebruiken.\n"
+ 
+@@ -3554,7 +3544,7 @@
+ 
+ #: Mailman/Commands/cmd_subscribe.py:84
+ msgid "No valid address found to subscribe"
+-msgstr "Er is geen geldig adres gevonden om aan te melden"
++msgstr "Er is geen geldig adres gevonden om in te schrijven"
+ 
+ #: Mailman/Commands/cmd_subscribe.py:105
+ msgid ""
+@@ -3579,16 +3569,16 @@
+ "Your subscription is not allowed because\n"
+ "the email address you gave is insecure."
+ msgstr ""
+-"Uw aanmelding is afgewezen omdat het door u\n"
++"Uw inschrijving is afgewezen omdat het door u\n"
+ "opgegeven e-mailadres onveilig is."
+ 
+ #: Mailman/Commands/cmd_subscribe.py:121
+ msgid "You are already subscribed!"
+-msgstr "U bent al aangemeld!"
++msgstr "U bent al ingeschreven!"
+ 
+ #: Mailman/Commands/cmd_subscribe.py:125
+ msgid "No one can subscribe to the digest of this list!"
+-msgstr "Niemand kan zich aanmelden voor de digest van deze lijst!"
++msgstr "Niemand kan zich inschrijven voor de digest van deze lijst!"
+ 
+ #: Mailman/Commands/cmd_subscribe.py:128
+ msgid "This list only supports digest subscriptions!"
+@@ -3599,12 +3589,12 @@
+ "Your subscription request has been forwarded to the list administrator\n"
+ "at %(listowner)s for review."
+ msgstr ""
+-"Uw aanmeldingsverzoek is doorgestuurd naar de lijsteigenaar op adres\n"
++"Uw inschrijvingsverzoek is doorgestuurd naar de lijsteigenaar op adres\n"
+ "%(listowner)s voor controle."
+ 
+ #: Mailman/Commands/cmd_subscribe.py:139
+ msgid "Subscription request succeeded."
+-msgstr "Aanmeldingsverzoek voltooid."
++msgstr "Inschrijvingsverzoek voltooid."
+ 
+ #: Mailman/Commands/cmd_unsubscribe.py:17
+ msgid ""
+@@ -3621,18 +3611,18 @@
+ msgstr ""
+ "\n"
+ "    unsubscribe [wachtwoord] [address=<adres>]\n"
+-"        Afmelden van de maillijst. Als het wachtwoord is opgegeven\n"
++"        Uitschrijven van de maillijst. Als het wachtwoord is opgegeven\n"
+ "        moet dit hetzelfde zijn als uw huidige wachtwoord. Als het "
+ "wachtwoord\n"
+ "        wordt weggelaten dan zal er een bevestiging worden gestuurd die\n"
+-"        moet worden teruggestuurd. Als u wilt afmelden vanaf een ander "
++"        moet worden teruggestuurd. Als u wilt uitschrijven vanaf een ander "
+ "adres\n"
+-"        dan waar u mee aangemeld bent geef dan uw aangemelde adres op met\n"
++"        dan waar u mee ingeschreven bent, geef dan uw ingeschreven adres op met\n"
+ "        `address=<adres>' (zonder haakjes om het e-mailadres heen, en "
+ "zonder\n"
+ "        aanhalingstekens!).  Let er op dat in dit geval de bevestiging "
+ "altijd naar het\n"
+-"        aangemelde adres word verstuurd.\n"
++"        ingeschreven adres wordt verstuurd.\n"
+ 
+ #: Mailman/Commands/cmd_unsubscribe.py:62
+ msgid "%(address)s is not a member of the %(listname)s mailing list"
+@@ -3644,7 +3634,7 @@
+ "for\n"
+ "approval."
+ msgstr ""
+-"Uw afmeldingsverzoek is doorgestuurd naar de lijstmoderator voor\n"
++"Uw uitschrijvingsverzoek is doorgestuurd naar de lijstmoderator voor\n"
+ "goedkeuring."
+ 
+ #: Mailman/Commands/cmd_unsubscribe.py:84
+@@ -3653,7 +3643,7 @@
+ 
+ #: Mailman/Commands/cmd_unsubscribe.py:87
+ msgid "Unsubscription request succeeded."
+-msgstr "Afmeldingsverzoek succesvol verwerkt."
++msgstr "Uitschrijvingsverzoek succesvol verwerkt."
+ 
+ #: Mailman/Commands/cmd_who.py:29
+ msgid ""
+@@ -3683,11 +3673,11 @@
+ "        door leden worden opgevraagd, daarom moet uw wachtwoord worden\n"
+ "        opgegeven om de lijst op te vragen. Als u een bericht verstuurd "
+ "vanaf\n"
+-"        een ander adres dan waar u mee aangemeld bent geef dan uw\n"
+-"        aangemelde adres op met `address=<adres>' (zonder haakjes om het\n"
++"        een ander adres dan waar u mee ingeschreven bent geef dan uw\n"
++"        ingeschreven adres op met `address=<adres>' (zonder haakjes om het\n"
+ "        e-mailadres heen, en zonder aanhalingstekens!).  Let er op dat in "
+ "dit\n"
+-"         geval de bevestiging altijd naar het aangemelde adres word "
++"         geval de bevestiging altijd naar het ingeschreven adres wordt "
+ "verstuurd.\n"
+ 
+ #: Mailman/Commands/cmd_who.py:44
+@@ -3872,7 +3862,7 @@
+ 
+ #: Mailman/Deliverer.py:88
+ msgid "You have been unsubscribed from the %(realname)s mailing list"
+-msgstr "Uw bent afgemeld van de %(realname)s maillijst"
++msgstr "Uw bent uitgeschreven van de %(realname)s maillijst"
+ 
+ #: Mailman/Deliverer.py:115
+ msgid "%(listfullname)s mailing list reminder"
+@@ -3995,7 +3985,7 @@
+ "    <li><b>owneremail</b> - <em>geeft het adres van de lijsteigenaar</em>\n"
+ "</ul>\n"
+ "\n"
+-"<p>Voor elke tekstveld kan je de tekst direct in de tekstbox zetten of je "
++"<p>Voor elke tekstveld kan u de tekst direct in de tekstbox zetten of u "
+ "kan\n"
+ " een bestand specificeren op uw locale computersysteem om als tekst te "
+ "uploaden."
+@@ -4398,7 +4388,7 @@
+ "             cause a member to be unsubscribed?"
+ msgstr ""
+ "Moet Mailman u, de lijsteigenaar, een melding sturen wanneer\n"
+-"             een lid is afgemeld door een teveel aan bounceberichten?"
++"             een lid is uitgeschreven door een teveel aan bounceberichten?"
+ 
+ #: Mailman/Gui/Bounce.py:158
+ msgid ""
+@@ -4411,7 +4401,7 @@
+ "Door deze waarde op <em>Nee</em> in te stellen worden\n"
+ "             meldingsberichten uitgeschakeld die normaal aan de "
+ "lijsteigenaar\n"
+-"             worden verstuurd als een lidmaatschap is afgemeld door een\n"
++"             worden verstuurd als een lidmaatschap is uitgeschakeld door een\n"
+ "             teveel aan bounceberichten.\n"
+ "             Een poging om het lid hiervan op de hoogte te stellen zal wel\n"
+ "             worden gedaan."
+@@ -4918,7 +4908,7 @@
+ "De letters in deze naam kunnen naar kleine letters of hoofdletters\n"
+ "             worden veranderd om het meer toonbaar te maken. Echter,\n"
+ "             deze naam wordt gebruikt als het e-mailadres (b.v. in\n"
+-"             aanmeldingsbevestingingen), dus het mag <em>niet</em> op\n"
++"             inschrijvingsbevestingingen), dus het mag <em>niet</em> op\n"
+ "             andere manieren worden veranderd (e-mail is niet hoofdletter/\n"
+ "             kleine lettergevoelig, maar is wel gevoelig voor al het "
+ "andere :-)"
+@@ -4970,7 +4960,7 @@
+ "             <p>De <em>lijstmoderators</em> hebben wat beperktere\n"
+ "             bevoegdheden. Zijn kunnen geen enkele lijstinstelling\n"
+ "             wijzigen, maar zij mogen wel uitstaande beheertaken doen,\n"
+-"             zoals het goedkeuren en afkeuren van aanmeldingsverzoeken\n"
++"             zoals het goedkeuren en afkeuren van inschrijvingsverzoeken\n"
+ "             en het verwijderen van vastgehouden berichten. Natuurlijk\n"
+ "             kunnen de <em>lijstbeheerders</em> ook deze taken uitvoeren.\n"
+ "\n"
+@@ -5030,7 +5020,7 @@
+ "             <p>De <em>lijstmoderators</em> hebben wat beperktere\n"
+ "             bevoegdheden. Zijn kunnen geen enkele lijstinstelling\n"
+ "             wijzigen, maar zij mogen wel uitstaande beheertaken doen,\n"
+-"             zoals het goedkeuren en afkeuren van aanmeldingsverzoeken\n"
++"             zoals het goedkeuren en afkeuren van inschrijvingsverzoeken\n"
+ "             en het verwijderen van vastgehouden berichten. Natuurlijk\n"
+ "             kunnen de <em>lijstbeheerders</em> ook deze taken uitvoeren.\n"
+ "\n"
+@@ -5475,7 +5465,7 @@
+ 
+ #: Mailman/Gui/General.py:292
+ msgid "Send welcome message to newly subscribed members?"
+-msgstr "Stuur een welkomstbericht naar nieuwe aanmelders?"
++msgstr "Stuur een welkomstbericht naar nieuwe inschrijvers?"
+ 
+ #: Mailman/Gui/General.py:293
+ msgid ""
+@@ -5486,7 +5476,7 @@
+ "mailing\n"
+ "             list manager to Mailman."
+ msgstr ""
+-"Zet dit uit als u van plan bent om mensen handmatig aan te melden\n"
++"Zet dit uit als u van plan bent om mensen handmatig in te schrijven\n"
+ "             zonder dat zij dat merken. Deze instelling is waardevol\n"
+ "             wanneer u lijsten transparant wilt verhuizen van een\n"
+ "             ander lijstbeheerprogramma naar Mailman."
+@@ -5498,11 +5488,11 @@
+ msgstr ""
+ "Tekst die wordt verzonden naar mensen die de lijst verlaten.\n"
+ "             Als dit leeg is dan zal geen speciale tekst worden\n"
+-"             toegevoegd aan het afmeldingsbericht."
++"             toegevoegd aan het uitschrijvingsbericht."
+ 
+ #: Mailman/Gui/General.py:303
+ msgid "Send goodbye message to members when they are unsubscribed?"
+-msgstr "Verstuur een afmeldingsbericht aan leden als ze zijn afgemeld?"
++msgstr "Verstuur een uitschrijvingsbericht aan leden als ze zijn uitgeschreven?"
+ 
+ #: Mailman/Gui/General.py:306
+ msgid ""
+@@ -5524,7 +5514,7 @@
+ msgstr ""
+ "Lijstmoderators (en lijstbeheerders) krijgen dagelijks\n"
+ "             herinneringen van aanvragen die wachten op goedkeuring, zoals\n"
+-"             aanmeldingen voor een gemodereerde lijst, of verzendingen die\n"
++"             inschrijvingen voor een gemodereerde lijst, of verzendingen die\n"
+ "             worden vastgehouden om bepaalde redenen. Het instellen van\n"
+ "             deze instelling zorgt er ook voor dat er onmiddelijk meldingen\n"
+ "             worden verstuurd als er nieuwe verzoeken binnenkomen."
+@@ -5534,8 +5524,8 @@
+ "Should administrator get notices of subscribes and\n"
+ "             unsubscribes?"
+ msgstr ""
+-"Moet de beheerder meldingen krijgen van aanmeldingen\n"
+-"             en afmeldingen?"
++"Moet de beheerder meldingen krijgen van inschrijving\n"
++"             en uitschrijvingen?"
+ 
+ #: Mailman/Gui/General.py:321
+ msgid "Send mail to poster when their posting is held for approval?"
+@@ -5572,7 +5562,7 @@
+ "Default options for new members joining this list.<input\n"
+ "             type=\"hidden\" name=\"new_member_options\" value=\"ignore\">"
+ msgstr ""
+-"Standaardinstellingen voor nieuwe leden die zich aanmelden\n"
++"Standaardinstellingen voor nieuwe leden die zich inschrijven\n"
+ "             op deze lijst.<input type=\"hidden\" name=\"new_member_options"
+ "\" value=\"ignore\">"
+ 
+@@ -5581,7 +5571,7 @@
+ "When a new member is subscribed to this list, their initial\n"
+ "             set of options is taken from the this variable's setting."
+ msgstr ""
+-"Als een nieuw lid is aangemeld op deze lijst wordt de\n"
++"Als een nieuw lid is ingeschreven op deze lijst wordt de\n"
+ "             initiële groepinstellingen genomen van de instelling\n"
+ "             van deze variabele."
+ 
+@@ -5604,8 +5594,8 @@
+ "             in the process."
+ msgstr ""
+ "Beheertests zullen berichten controleren of ze\n"
+-"             als beheerverzoek zijn bedoeld (zoals subcribe/aanmelden,\n"
+-"             unsubscribe/afmelden, etc), en zo ja die berichtenworden\n"
++"             als beheerverzoek zijn bedoeld (zoals subcribe/inschrijven,\n"
++"             unsubscribe/uitschrijven, etc), en zo ja die berichtenworden\n"
+ "             toegevoegd aan de beheerverzoekenwachtrij met een\n"
+ "             melding aan de beheerder dat er een nieuw verzoek is\n"
+ "             binnengekomen."
+@@ -5900,11 +5890,11 @@
+ 
+ #: Mailman/Gui/Membership.py:31
+ msgid "Mass&nbsp;Subscription"
+-msgstr "Meerdere leden aanmelden"
++msgstr "Meerdere leden inschrijven"
+ 
+ #: Mailman/Gui/Membership.py:32
+ msgid "Mass&nbsp;Removal"
+-msgstr "Meerdere leden afmelden"
++msgstr "Meerdere leden uitschrijven"
+ 
+ #: Mailman/Gui/NonDigest.py:34
+ msgid "Non-digest&nbsp;options"
+@@ -6125,7 +6115,7 @@
+ 
+ #: Mailman/Gui/Privacy.py:41
+ msgid "Subscription&nbsp;rules"
+-msgstr "Aanmeldingsregels"
++msgstr "Inschrijvingsregels"
+ 
+ #: Mailman/Gui/Privacy.py:42
+ msgid "Sender&nbsp;filters"
+@@ -6157,7 +6147,7 @@
+ 
+ #: Mailman/Gui/Privacy.py:63 Mailman/Gui/Privacy.py:86
+ msgid "What steps are required for subscription?<br>"
+-msgstr "Welke stappen zijn vereist voor een aanmelding?<br>"
++msgstr "Welke stappen zijn vereist voor een inschrijving?<br>"
+ 
+ #: Mailman/Gui/Privacy.py:64
+ msgid ""
+@@ -6188,13 +6178,13 @@
+ "                           Bevestiging en goedkeuring - zowel goedkeuring "
+ "als bevestiging zijn vereist\n"
+ "                           \n"
+-"                           <p>(*)als iemand een aanmeldingsverzoek doet,\n"
++"                           <p>(*)als iemand een inschrijvingsverzoek doet,\n"
+ "                           dan zal Mailman diegene een bericht sturen met \n"
+-"                           een uniek aanmeldingsverzoeknummer die ze\n"
++"                           een uniek inschrijvingsverzoeknummer die ze\n"
+ "                           moeten beantwoorden om zich aan te melden.<br>\n"
+ "\n"
+ "                           Dit voorkomt misbruik door andere personen\n"
+-"                           zodat het niet mogelijk is om aanmeldingen te\n"
++"                           zodat het niet mogelijk is om inschrijvingen te\n"
+ "                           doen voor anderen zonder hun toestemming."
+ 
+ #: Mailman/Gui/Privacy.py:87
+@@ -6215,16 +6205,16 @@
+ "Bevestiging (*) - er wordt een e-mailbevestigingsstap gevraagd <br>\n"
+ "                           Verzoek tot goedkeuring - de lijstbeheerder wordt "
+ "om goedkeuring gevraagd\n"
+-"                           Goedkeuring voor aanmeldingen <br>\n"
++"                           Goedkeuring voor inschrijvingen <br>\n"
+ "                           Bevestiging en goedkeuring - zowel bevestiging "
+ "als goedkeuring\n"
+ "                           \n"
+-"                           <p>(*)als iemand een aanmeldingsverzoek doet,\n"
++"                           <p>(*)als iemand een inschrijvingsverzoek doet,\n"
+ "                           dan zal Mailman diegene een bericht sturen met \n"
+-"                           een uniek aanmeldingsverzoeknummer die ze\n"
++"                           een uniek inschrijvingsverzoeknummer die ze\n"
+ "                           moeten beantwoorden om zich aan te melden.<br>\n"
+ "                           Dit voorkomt misbruik door andere personen\n"
+-"                           zodat het niet mogelijk is om aanmeldingen te\n"
++"                           zodat het niet mogelijk is om inschrijvingen te\n"
+ "                           voor anderen zonder hun toestemming."
+ 
+ #: Mailman/Gui/Privacy.py:103
+@@ -6235,7 +6225,7 @@
+ "            <a href=\"%(admin)s/archive\">Archival Options</a> section for\n"
+ "            separate archive-related privacy settings."
+ msgstr ""
+-"Deze sectie maakt het u mogelijk om het aanmeldings-\n"
++"Deze sectie maakt het u mogelijk om het inschrijvings-\n"
+ "            en ledenpublicatiebeleid in te stellen. U kunt ook instellen of "
+ "deze\n"
+ "            lijst wel of niet publiek toegankelijk is.  Zie ook de\n"
+@@ -6245,7 +6235,7 @@
+ 
+ #: Mailman/Gui/Privacy.py:109
+ msgid "Subscribing"
+-msgstr "Aanmelding"
++msgstr "Inschrijven"
+ 
+ #: Mailman/Gui/Privacy.py:111
+ msgid ""
+@@ -6261,7 +6251,7 @@
+ "             requests?  (<em>No</em> is recommended)"
+ msgstr ""
+ "Is de lijstmoderator's goedkeuring noodzakelijk voor\n"
+-"             afmeldingsverzoeken?  (<em>Nee</em> wordt aanbevolen)"
++"             uitschrijvingsverzoeken?  (<em>Nee</em> wordt aanbevolen)"
+ 
+ #: Mailman/Gui/Privacy.py:120
+ msgid ""
+@@ -6281,9 +6271,9 @@
+ "             are required to be members of."
+ msgstr ""
+ "Als leden een lijst willen verlaten, dan moeten zijn een\n"
+-"             afmeldingsverzoek doen, via het web of via e-mail.\n"
+-"             Normaliter kunt u het beste vrije afmeldingen toestaan zodat\n"
+-"             gebruikers zichzelf gemakkelijk kunnen afmelden van "
++"             uitschrijvingsverzoek doen, via het web of via e-mail.\n"
++"             Normaliter kunt u het beste vrije uitschrijvingen toestaan zodat\n"
++"             gebruikers zichzelf gemakkelijk kunnen uitschrijven van "
+ "maillijsten.\n"
+ "             (ze kunnen echt heel kwaad worden als ze niet van een lijst "
+ "af \n"
+@@ -6291,7 +6281,7 @@
+ "\n"
+ "             <p>For sommige lijsten kan het nodig zijn om "
+ "moderatorgoedkeuring\n"
+-"             in te stellen voordat een afmelding wordt verwerkt. "
++"             in te stellen voordat een uitschrijving wordt verwerkt. "
+ "Voorbeelden\n"
+ "             hiervan zijn lijsten binnen bedrijven waar alle werknemers lid "
+ "van\n"
+@@ -6318,7 +6308,7 @@
+ "             addresses one per line; start the line with a ^ character to\n"
+ "             designate a regular expression match."
+ msgstr ""
+-"Adressen in deze lijst mogen geen aanmeldingen doen voor\n"
++"Adressen in deze lijst mogen geen inschrijvingen doen voor\n"
+ "             deze maillijst, zonder dat verdere moderatie noodzakelijk is.  "
+ "Voeg\n"
+ "             een adres per regel toe. Start de regel met een ^ teken om\n"
+@@ -6502,7 +6492,7 @@
+ "             de lijstbeheerder kan beslissen of een specifiek individueel\n"
+ "             adres moet worden gemodereerd of niet.\n"
+ "\n"
+-"             <p>Als een lid is aangemeld dan zal de moderatievlag worden\n"
++"             <p>Als een lid is ingeschreven dan zal de moderatievlag worden\n"
+ "             gezet overeenkomstig deze instelling. Zet deze instelling uit "
+ "om\n"
+ "             berichten van leden standaard te accepteren. Zet deze "
+@@ -7398,7 +7388,7 @@
+ #: Mailman/HTMLFormatter.py:149
+ #, fuzzy
+ msgid "Note: your list delivery is currently disabled%(reason)s."
+-msgstr "Noot: je lijst bezorgingen is momenteel uitgezet %(reason)s."
++msgstr "Noot: uw lijst bezorgingen zijn momenteel uitgezet %(reason)s."
+ 
+ #: Mailman/HTMLFormatter.py:152
+ msgid "Mail delivery"
+@@ -7442,6 +7432,8 @@
+ "You will be sent email requesting confirmation, to\n"
+ "            prevent others from gratuitously subscribing you."
+ msgstr ""
++"Er wordt u een bevestigingsmail gestuurd, om\n"
++"            te voorkomen dat iemand anders u inschrijft."
+ 
+ #: Mailman/HTMLFormatter.py:192
+ msgid ""
+@@ -7449,6 +7441,9 @@
+ "            will be held for approval.  You will be notified of the list\n"
+ "            moderator's decision by email."
+ msgstr ""
++"Dit is een gesloten lijst, wat betekent dat\n"
++"           uw inschrijving doorgestuurd wordt naar de moderator\n"
++"           ter goedkeuring."
+ 
+ #: Mailman/HTMLFormatter.py:195 Mailman/HTMLFormatter.py:202
+ msgid "also "
+@@ -7464,7 +7459,7 @@
+ "            decision by email."
+ msgstr ""
+ "Er wordt een bericht verzonden ter bevestiging, zodat\n"
+-"            niemand u per ongeluk jou zal aanmelden.  Als\n"
++"            niemand u per ongeluk zal inschrijven.  Als\n"
+ "            de bevestiging is ontvangen, wordt uw verzoek \n"
+ "            vastgehouden voor goedkeuring  door de\n"
+ "            lijstmoderator.  U krijgt via de beslissing van de\n"
+@@ -7513,7 +7508,6 @@
+ msgstr "<b><i>of</i></b> "
+ 
+ #: Mailman/HTMLFormatter.py:254
+-#, fuzzy
+ msgid ""
+ "To unsubscribe from %(realname)s, get a password reminder,\n"
+ "        or change your subscription options %(either)senter your "
+@@ -7521,16 +7515,15 @@
+ "        email address:\n"
+ "        <p><center> "
+ msgstr ""
+-"<hr>Om je af te melden van %(realname)s, om je wachtwoord toegestuurd te "
+-"krijgen\n"
+-"        of om je opties te wijzigen %(either)s,Vul in je\n"
+-"        email adres:\n"
++"<hr>Voer uw emailadres in om uw wachtwoord toegestuurd te krijgen,\n"
++"        uw lijstopties te veranderen of uit te schrijven van %(realname)s"
++"\n"
++"\n"
+ "        <p><center> "
+ 
+ #: Mailman/HTMLFormatter.py:261
+-#, fuzzy
+ msgid "Unsubscribe or edit options"
+-msgstr "Afmelden of bewerk de opties"
++msgstr "Uitschrijven of opties wijzigen"
+ 
+ #: Mailman/HTMLFormatter.py:265
+ msgid ""
+@@ -7545,25 +7538,23 @@
+ " If you leave the field blank, you will be prompted for\n"
+ "        your email address"
+ msgstr ""
+-" Als u dit veld leeg laat dan word er straks gevraagd naar\n"
++" Als u dit veld leeg laat dan wordt er straks gevraagd naar\n"
+ "        uw e-mailadres"
+ 
+ #: Mailman/HTMLFormatter.py:275
+-#, fuzzy
+ msgid ""
+ "(<i>%(which)s is only available to the list\n"
+ "                members.</i>)"
+ msgstr ""
+-"(<i>De %(which)s is alleen beschikbaar voor\n"
++"(<i>%(which)s is alleen beschikbaar voor\n"
+ "                leden van de lijst.</i>)"
+ 
+ #: Mailman/HTMLFormatter.py:279
+-#, fuzzy
+ msgid ""
+ "(<i>%(which)s is only available to the list\n"
+ "            administrator.</i>)"
+ msgstr ""
+-"(<i>De %(which)s is alleen beschikbaar voor\n"
++"(<i>%(which)s is alleen beschikbaar voor\n"
+ "            de lijst beheerder.</i>)"
+ 
+ #: Mailman/HTMLFormatter.py:289
+@@ -7592,16 +7583,15 @@
+ 
+ #: Mailman/HTMLFormatter.py:303
+ msgid "The subscribers list"
+-msgstr "De aangemelde ledenlijst"
++msgstr "De ingeschreven ledenlijst"
+ 
+ #: Mailman/HTMLFormatter.py:305
+-#, fuzzy
+ msgid " <p>Enter your "
+-msgstr "<p>Voer in je "
++msgstr "<p>Voer uw "
+ 
+ #: Mailman/HTMLFormatter.py:307
+ msgid " and password to visit  the subscribers list: <p><center> "
+-msgstr " en wachtwoord om de ledenlijst de zien: <p><center> "
++msgstr " en wachtwoord in om de ledenlijst de zien: <p><center> "
+ 
+ #: Mailman/HTMLFormatter.py:312
+ msgid "Password: "
+@@ -7612,16 +7602,14 @@
+ msgstr "Bezoek de ledenlijst"
+ 
+ #: Mailman/HTMLFormatter.py:346
+-#, fuzzy
+ msgid "Once a month, your password will be emailed to you as a reminder."
+ msgstr ""
+-"1 keer per maand word je wachtwoord als herinnering verstuurd in een "
++"Maandelijkst wordt uw wachtwoord als herinnering verstuurd in een "
+ "persoonlijk email. "
+ 
+ #: Mailman/HTMLFormatter.py:392
+-#, fuzzy
+ msgid "The current archive"
+-msgstr "huidig archief"
++msgstr "Het archief"
+ 
+ #: Mailman/Handlers/Acknowledge.py:59
+ msgid "%(realname)s post acknowledgement"
+@@ -7634,9 +7622,8 @@
+ msgstr ""
+ 
+ #: Mailman/Handlers/Emergency.py:29
+-#, fuzzy
+ msgid "Emergency hold on all list traffic is in effect"
+-msgstr "Noodsituatie voor al het berichtverkeer is in werking getreden"
++msgstr "Noodmoderatie voor al het berichtverkeer is in werking getreden"
+ 
+ #: Mailman/Handlers/Emergency.py:30 Mailman/Handlers/Hold.py:57
+ msgid "Your message was deemed inappropriate by the moderator."
+@@ -7663,43 +7650,34 @@
+ msgstr "Niet-leden mogen geen berichten sturen naar deze lijst."
+ 
+ #: Mailman/Handlers/Hold.py:64
+-#, fuzzy
+ msgid "Posting to a restricted list by sender requires approval"
+-msgstr ""
+-"Versturen naar een lijst met restrictie is een goedkeuring voor "
+-"benodigdVersturen naar een lijst met restrictie door zender vereist "
+-"goedkeuring"
++msgstr "Versturen naar een gemodereerde lijst vereist goedkeuring door de moderator"
+ 
+ #: Mailman/Handlers/Hold.py:65
+-#, fuzzy
+ msgid "This list is restricted; your message was not approved."
+-msgstr "Deze lijst heeft restricties, je bericht is niet goedgekeurd."
++msgstr "Deze lijst is gesloten, uw bericht is niet goedgekeurd."
+ 
+ #: Mailman/Handlers/Hold.py:68
+ msgid "Too many recipients to the message"
+ msgstr "Te veel ontvangers in het bericht (AAN:/CC:)"
+ 
+ #: Mailman/Handlers/Hold.py:69
+-#, fuzzy
+ msgid "Please trim the recipient list; it is too long."
+-msgstr "Verkort de AAN:/CC: lijst, het is te lang."
++msgstr "Verkort de AAN:/CC: lijst, hij is te lang."
+ 
+ #: Mailman/Handlers/Hold.py:72
+-#, fuzzy
+ msgid "Message has implicit destination"
+-msgstr "Het bericht heeft een onbekend doel"
++msgstr "Het bericht heeft een onbekend bestemming"
+ 
+ #: Mailman/Handlers/Hold.py:73
+-#, fuzzy
+ msgid ""
+ "Blind carbon copies or other implicit destinations are\n"
+ "not allowed.  Try reposting your message by explicitly including the list\n"
+ "address in the To: or Cc: fields."
+ msgstr ""
+-"De lijst adres in het BCC veld is niet toegestaan.\n"
+-"Stuur je bericht opnieuw en zet het mailing lijst adres in een AAN: og CC: "
+-"veld.\n"
+-"Alvast dank."
++"Het lijst adres in het BCC veld plaatsen, is niet toegestaan.\n"
++"Stuur uw bericht opnieuw en zet het mailing lijst adres in een AAN: of CC: "
++"veld."
+ 
+ #: Mailman/Handlers/Hold.py:78
+ msgid "Message may contain administrivia"
+@@ -7715,7 +7693,6 @@
+ msgstr ""
+ 
+ #: Mailman/Handlers/Hold.py:89
+-#, fuzzy
+ msgid "Message has a suspicious header"
+ msgstr "Bericht heeft een verdachte header"
+ 
+@@ -7963,9 +7940,8 @@
+ msgstr ""
+ 
+ #: Mailman/ListAdmin.py:496
+-#, fuzzy
+ msgid "Original Message"
+-msgstr "Origineel berichtOorspronkelijk bericht"
++msgstr "Oorspronkelijk bericht"
+ 
+ #: Mailman/ListAdmin.py:499
+ msgid "Request to mailing list %(realname)s rejected"
+@@ -7989,9 +7965,8 @@
+ msgstr ""
+ 
+ #: Mailman/MTA/Manual.py:82
+-#, fuzzy
+ msgid "## %(listname)s mailing list"
+-msgstr "%(hostname)s Mailing Lijsten"
++msgstr "%(hostname)s maillijsten"
+ 
+ #: Mailman/MTA/Manual.py:99
+ msgid "Mailing list creation request for list %(listname)s"
+@@ -8063,7 +8038,7 @@
+ 
+ #: Mailman/MailList.py:880 Mailman/MailList.py:1292
+ msgid " from %(remote)s"
+-msgstr ""
++msgstr " vanaf %(remote)s"
+ 
+ #: Mailman/MailList.py:913
+ msgid "subscriptions to %(realname)s require moderator approval"
+@@ -8104,9 +8079,8 @@
+ msgstr ""
+ 
+ #: Mailman/Queue/BounceRunner.py:320
+-#, fuzzy
+ msgid "Uncaught bounce notification"
+-msgstr "Niet gevangen Bounce meldingNiet onderschepte bouncemelding"
++msgstr "Niet verwerkte bouncemelding"
+ 
+ #: Mailman/Queue/CommandRunner.py:92
+ msgid "Ignoring non-text/plain MIME parts"
+@@ -8961,11 +8935,11 @@
+ #: bin/discard:94
+ #, fuzzy
+ msgid "Ignoring non-held message: %(f)s"
+-msgstr "Negeer de wijzigingen voor verwijderd lid: %(user)s"
++msgstr "Negeer niet vastgehouden bericht: %(user)s"
+ 
+ #: bin/discard:100
+ msgid "Ignoring held msg w/bad id: %(f)s"
+-msgstr ""
++msgstr "Negeer vastgehouden bericht (slechte id): %(f)s"
+ 
+ #: bin/discard:112
+ #, fuzzy

Deleted: trunk/debian/patches/70_invalid_utf8_dos.dpatch
===================================================================
--- trunk/debian/patches/70_invalid_utf8_dos.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/70_invalid_utf8_dos.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,46 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 70_invalid_utf8_dos.dpatch by  <lionel at mamane.lu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Avoid DOS if attachement filename is invalid Unicode string
-
- at DPATCH@
-diff -urNad mailman-2.1.6~/Mailman/Handlers/Scrubber.py mailman-2.1.6/Mailman/Handlers/Scrubber.py
---- mailman-2.1.6~/Mailman/Handlers/Scrubber.py	2005-12-10 12:42:44.595235636 +0100
-+++ mailman-2.1.6/Mailman/Handlers/Scrubber.py	2005-12-10 12:43:13.992109519 +0100
-@@ -300,7 +300,10 @@
-             finally:
-                 os.umask(omask)
-             desc = part.get('content-description', _('not available'))
--            filename = part.get_filename(_('not available'))
-+            try:
-+                filename = part.get_filename(_('not available'))
-+            except UnicodeDecodeError:
-+                filename = _('not available')
-             filename = Utils.oneline(filename, lcset)
-             del part['content-type']
-             del part['content-transfer-encoding']
-@@ -410,7 +413,10 @@
-     ctype = msg.get_content_type()
-     # i18n file name is encoded
-     lcset = Utils.GetCharSet(mlist.preferred_language)
--    filename = Utils.oneline(msg.get_filename(''), lcset)
-+    try:
-+        filename = Utils.oneline(msg.get_filename(''), lcset)
-+    except UnicodeDecodeError:
-+        filename = ''
-     fnext = os.path.splitext(filename)[1]
-     # For safety, we should confirm this is valid ext for content-type
-     # but we can use fnext if we introduce fnext filtering
-@@ -436,7 +442,10 @@
-     try:
-         # Now base the filename on what's in the attachment, uniquifying it if
-         # necessary.
--        filename = msg.get_filename()
-+        try:
-+            filename = msg.get_filename()
-+        except UnicodeDecodeError:
-+            filename = None
-         if not filename or mm_cfg.SCRUBBER_DONT_USE_ATTACHMENT_FILENAME:
-             filebase = 'attachment'
-         else:

Copied: trunk/debian/patches/70_invalid_utf8_dos.patch (from rev 326, trunk/debian/patches/70_invalid_utf8_dos.dpatch)
===================================================================
--- trunk/debian/patches/70_invalid_utf8_dos.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/70_invalid_utf8_dos.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,43 @@
+Patch: 70_invalid_utf8_dos.patch
+Author: Lionel Elie Mamane <lionel at mamane.lu>
+Avoid DOS if attachement filename is invalid Unicode string
+Index: Mailman/Handlers/Scrubber.py
+===================================================================
+--- Mailman/Handlers/Scrubber.py.orig	2006-08-15 15:14:15.000000000 +0800
++++ Mailman/Handlers/Scrubber.py	2006-08-15 15:14:54.000000000 +0800
+@@ -302,7 +302,10 @@
+             finally:
+                 os.umask(omask)
+             desc = part.get('content-description', _('not available'))
+-            filename = part.get_filename(_('not available'))
++            try:
++                filename = part.get_filename(_('not available'))
++            except UnicodeDecodeError:
++                filename = _('not available')
+             filename = Utils.oneline(filename, lcset)
+             replace_payload_by_text(part, _("""\
+ A non-text attachment was scrubbed...
+@@ -412,7 +415,10 @@
+     ctype = msg.get_content_type()
+     # i18n file name is encoded
+     lcset = Utils.GetCharSet(mlist.preferred_language)
+-    filename = Utils.oneline(msg.get_filename(''), lcset)
++    try:
++        filename = Utils.oneline(msg.get_filename(''), lcset)
++    except UnicodeDecodeError:
++        filename = ''
+     fnext = os.path.splitext(filename)[1]
+     # For safety, we should confirm this is valid ext for content-type
+     # but we can use fnext if we introduce fnext filtering
+@@ -438,7 +444,10 @@
+     try:
+         # Now base the filename on what's in the attachment, uniquifying it if
+         # necessary.
+-        filename = msg.get_filename()
++        try:
++            filename = msg.get_filename()
++        except UnicodeDecodeError:
++            filename = None
+         if not filename or mm_cfg.SCRUBBER_DONT_USE_ATTACHMENT_FILENAME:
+             filebase = 'attachment'
+         else:

Deleted: trunk/debian/patches/71_date_overflows.dpatch
===================================================================
--- trunk/debian/patches/71_date_overflows.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/71_date_overflows.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,19 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 71_date_overflows.dpatch by  <lionel at mamane.lu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: React sensibly on integer overflow in date handling
-
- at DPATCH@
-diff -urNad mailman-2.1.8rc1~/Mailman/Handlers/Scrubber.py mailman-2.1.8rc1/Mailman/Handlers/Scrubber.py
---- mailman-2.1.8rc1~/Mailman/Handlers/Scrubber.py	2006-04-11 21:42:42.598306358 +0200
-+++ mailman-2.1.8rc1/Mailman/Handlers/Scrubber.py	2006-04-11 21:42:43.737147119 +0200
-@@ -143,7 +143,7 @@
-                      }.get(parts[3], 0)
-             day = int(parts[4])
-             year = int(parts[6])
--        except (IndexError, ValueError):
-+        except (OverflowError, IndexError, ValueError):
-             # Best we can do I think
-             month = day = year = 0
-         datedir = '%04d%02d%02d' % (year, month, day)

Copied: trunk/debian/patches/71_date_overflows.patch (from rev 326, trunk/debian/patches/71_date_overflows.dpatch)
===================================================================
--- trunk/debian/patches/71_date_overflows.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/71_date_overflows.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: 71_date_overflows.patch
+Author: Lionel Elie Mamane <lionel at mamane.lu>
+React sensibly on integer overflow in date handling
+Index: Mailman/Handlers/Scrubber.py
+===================================================================
+--- Mailman/Handlers/Scrubber.py.orig	2006-08-15 15:14:54.000000000 +0800
++++ Mailman/Handlers/Scrubber.py	2006-08-15 15:14:55.000000000 +0800
+@@ -143,7 +143,7 @@
+                      }.get(parts[3], 0)
+             day = int(parts[4])
+             year = int(parts[6])
+-        except (IndexError, ValueError):
++        except (OverflowError, IndexError, ValueError):
+             # Best we can do I think
+             month = day = year = 0
+         datedir = '%04d%02d%02d' % (year, month, day)

Deleted: trunk/debian/patches/73_list-id_strict_rfc.dpatch
===================================================================
--- trunk/debian/patches/73_list-id_strict_rfc.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/73_list-id_strict_rfc.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,23 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 73_list-id_strict_rfc.dpatch by  <lionel at mamane.lu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Make sure the List-Id header strictly conforms to RFC 2919:
-## DP: always put the list-id between brackets.
-
- at DPATCH@
-diff -urNad mailman-2.1.5~/Mailman/Handlers/CookHeaders.py mailman-2.1.5/Mailman/Handlers/CookHeaders.py
---- mailman-2.1.5~/Mailman/Handlers/CookHeaders.py	2003-12-18 15:58:22.000000000 +0100
-+++ mailman-2.1.5/Mailman/Handlers/CookHeaders.py	2005-11-13 18:14:47.546324750 +0100
-@@ -172,7 +172,10 @@
-         desc = str(h)
-     else:
-         desc = ''
--    listid_h = formataddr((desc, listid))
-+    if (desc == ''):
-+        listid_h = '<%s>' % listid
-+    else:
-+        listid_h = formataddr((desc, listid))
-     # BAW: I think the message object should handle any necessary wrapping.
-     del msg['list-id']
-     msg['List-Id'] = listid_h

Copied: trunk/debian/patches/73_list-id_strict_rfc.patch (from rev 326, trunk/debian/patches/73_list-id_strict_rfc.dpatch)
===================================================================
--- trunk/debian/patches/73_list-id_strict_rfc.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/73_list-id_strict_rfc.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,20 @@
+Patch: 73_list-id_strict_rfc.patch
+Author: Lionel Elie Mamane <lionel at mamane.lu>
+Make sure the List-Id header strictly conforms to RFC 2919:
+always put the list-id between brackets.
+Index: Mailman/Handlers/Scrubber.py
+===================================================================
+--- Mailman/Handlers/CookHeaders.py.orig	2003-12-18 15:58:22.000000000 +0100
++++ Mailman/Handlers/CookHeaders.py	2005-11-13 18:14:47.546324750 +0100
+@@ -172,7 +172,10 @@
+         desc = str(h)
+     else:
+         desc = ''
+-    listid_h = formataddr((desc, listid))
++    if (desc == ''):
++        listid_h = '<%s>' % listid
++    else:
++        listid_h = formataddr((desc, listid))
+     # BAW: I think the message object should handle any necessary wrapping.
+     del msg['list-id']
+     msg['List-Id'] = listid_h

Deleted: trunk/debian/patches/74_admin_non-ascii_emails.dpatch
===================================================================
--- trunk/debian/patches/74_admin_non-ascii_emails.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/74_admin_non-ascii_emails.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,24 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 74_admin_non-ascii_emails.dpatch by  <lionel at mamane.lu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Don't assume emails are ASCII
-
- at DPATCH@
-diff -urNad mailman-2.1.5~/Mailman/Cgi/admin.py mailman-2.1.5/Mailman/Cgi/admin.py
---- mailman-2.1.5~/Mailman/Cgi/admin.py	2003-12-24 18:27:45.000000000 +0100
-+++ mailman-2.1.5/Mailman/Cgi/admin.py	2005-11-15 00:55:12.881669479 +0100
-@@ -867,7 +867,12 @@
-     chunksz = mlist.admin_member_chunksize
-     # The email addresses had /better/ be ASCII, but might be encoded in the
-     # database as Unicodes.
--    all = [_m.encode() for _m in mlist.getMembers()]
-+    all = []
-+    for _m in mlist.getMembers():
-+        try:
-+            all.append( _m.encode() )
-+        except:
-+            all.append( _m )
-     all.sort(lambda x, y: cmp(x.lower(), y.lower()))
-     # See if the query has a regular expression
-     regexp = cgidata.getvalue('findmember', '').strip()

Copied: trunk/debian/patches/74_admin_non-ascii_emails.patch (from rev 326, trunk/debian/patches/74_admin_non-ascii_emails.dpatch)
===================================================================
--- trunk/debian/patches/74_admin_non-ascii_emails.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/74_admin_non-ascii_emails.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,21 @@
+Patch: 74_admin_non-ascii_emails.patch
+Author: Lionel Elie Mamane <lionel at mamane.lu>
+Don't assume emails are ASCII
+Index: Mailman/Cgi/admin.py
+===================================================================
+--- Mailman/Cgi/admin.py.orig	2006-08-15 15:12:11.000000000 +0800
++++ Mailman/Cgi/admin.py	2006-08-15 15:14:56.000000000 +0800
+@@ -866,7 +866,12 @@
+     chunksz = mlist.admin_member_chunksize
+     # The email addresses had /better/ be ASCII, but might be encoded in the
+     # database as Unicodes.
+-    all = [_m.encode() for _m in mlist.getMembers()]
++    all = []
++    for _m in mlist.getMembers():
++        try:
++            all.append( _m.encode() )
++        except:
++            all.append( _m )
+     all.sort(lambda x, y: cmp(x.lower(), y.lower()))
+     # See if the query has a regular expression
+     regexp = cgidata.getvalue('findmember', '').strip()

Deleted: trunk/debian/patches/77_header_folding_in_attachments.dpatch
===================================================================
--- trunk/debian/patches/77_header_folding_in_attachments.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/77_header_folding_in_attachments.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,128 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 77_header_folding_in_attachments.dpatch by Lionel Elie Mamane <lionel at mamane.lu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Don't fold headers into message/rfc822 attachments
-## DP: This avoids breaking signatures
-
- at DPATCH@
-diff -urNad mailman-2.1.6~/Mailman/Generator.py mailman-2.1.6/Mailman/Generator.py
---- mailman-2.1.6~/Mailman/Generator.py	1970-01-01 01:00:00.000000000 +0100
-+++ mailman-2.1.6/Mailman/Generator.py	2005-12-25 14:37:46.374075579 +0100
-@@ -0,0 +1,55 @@
-+# Copyright (C) 1998-2003 by the Free Software Foundation, Inc.
-+#                    2005 Lionel Elie Mamane <lionel at mamane.lu>
-+#
-+# This program is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU General Public License
-+# as published by the Free Software Foundation; either version 2
-+# of the License, or (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+#
-+# Author: Bernhard Reiter <bernhard at gnu.org>
-+# Changed by Lionel Elie Mamane December 2005 from version on
-+# http://ftp.intevation.de/users/bernhard/mailman/mailman-2.1.4-avoid-headerfolding-python21.diff
-+# to use clone/children_maxheaderlen trick instead of _write_headers/mangle_from_
-+
-+"""Standard Mailman generator object.
-+
-+A subclass of email.Generator which only folds long headers
-+in the top object level. 
-+This is needed because Mailman should leave the reveiced message parts alone.
-+Otherwise is might change subparts over which a signature was calculated,
-+breaking it while doing so.
-+"""
-+
-+import email
-+import email.Generator
-+
-+try:
-+    True, False
-+except NameError:
-+    True = 1
-+    False = 0
-+
-+
-+class Generator(email.Generator.Generator):
-+    """Generates output from a Message object tree, keeping signatures.
-+
-+       Headers will by default _not_ be folded in attachments.
-+    """
-+    def __init__(self, outfp, mangle_from_=False,
-+                 maxheaderlen=78, children_maxheaderlen=0):
-+        email.Generator.Generator.__init__(self, outfp, mangle_from_=mangle_from_, maxheaderlen=maxheaderlen)
-+        self.__children_maxheaderlen = children_maxheaderlen
-+
-+    def clone(self, fp):
-+        """Clone this generator with maxheaderlen set for children"""
-+        return self.__class__(fp, self._mangle_from_, self.__children_maxheaderlen, self.__children_maxheaderlen)
-+
-diff -urNad mailman-2.1.6~/Mailman/Mailbox.py mailman-2.1.6/Mailman/Mailbox.py
---- mailman-2.1.6~/Mailman/Mailbox.py	2003-04-19 06:57:14.000000000 +0200
-+++ mailman-2.1.6/Mailman/Mailbox.py	2005-12-25 14:31:54.590515028 +0100
-@@ -22,10 +22,10 @@
- 
- import email
- from email.Parser import Parser
--from email.Generator import Generator
- from email.Errors import MessageParseError
- 
- from Mailman import mm_cfg
-+from Mailman.Generator import Generator
- from Mailman.Message import Message
- 
- try:
-@@ -65,7 +65,7 @@
-         # Seek to the last char of the mailbox
-         self.fp.seek(1, 2)
-         # Create a Generator instance to write the message to the file
--        g = Generator(self.fp)
-+        g = Generator(self.fp, mangle_from_=True)
-         g.flatten(msg, unixfrom=True)
-         # Add one more trailing newline for separation with the next message
-         # to be appended to the mbox.
-diff -urNad mailman-2.1.6~/Mailman/Message.py mailman-2.1.6/Mailman/Message.py
---- mailman-2.1.6~/Mailman/Message.py	2005-04-29 14:04:48.000000000 +0200
-+++ mailman-2.1.6/Mailman/Message.py	2005-12-25 14:31:54.590515028 +0100
-@@ -21,6 +21,8 @@
- """
- 
- import re
-+from cStringIO import StringIO
-+
- import email
- import email.Message
- import email.Utils
-@@ -31,6 +33,7 @@
- 
- from Mailman import mm_cfg
- from Mailman import Utils
-+from Mailman.Generator import Generator
- 
- COMMASPACE = ', '
- 
-@@ -188,6 +191,16 @@
-             authors.append(address)
-         return authors
- 
-+    def as_string(self, unixfrom=False):
-+        """Return entire formatted message as a string using Mailman.Generator.
-+
-+        Operates like email.Message.Message.as_string, only
-+	using Mailman's Generator class. Only the top headers will get folded.
-+        """
-+        fp = StringIO()
-+        g = Generator(fp)
-+        g.flatten(self, unixfrom=unixfrom)
-+        return fp.getvalue()
- 
- 
- class UserNotification(Message):

Copied: trunk/debian/patches/77_header_folding_in_attachments.patch (from rev 326, trunk/debian/patches/77_header_folding_in_attachments.dpatch)
===================================================================
--- trunk/debian/patches/77_header_folding_in_attachments.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/77_header_folding_in_attachments.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,127 @@
+Patch: 77_header_folding_in_attachments.patch
+Author: Lionel Elie Mamane <lionel at mamane.lu>
+Don't fold headers into message/rfc822 attachments.
+This avoids breaking signatures.
+Index: Mailman/Generator.py
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ Mailman/Generator.py	2006-08-15 15:14:57.000000000 +0800
+@@ -0,0 +1,55 @@
++# Copyright (C) 1998-2003 by the Free Software Foundation, Inc.
++#                    2005 Lionel Elie Mamane <lionel at mamane.lu>
++#
++# This program is free software; you can redistribute it and/or
++# modify it under the terms of the GNU General Public License
++# as published by the Free Software Foundation; either version 2
++# of the License, or (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
++#
++# Author: Bernhard Reiter <bernhard at gnu.org>
++# Changed by Lionel Elie Mamane December 2005 from version on
++# http://ftp.intevation.de/users/bernhard/mailman/mailman-2.1.4-avoid-headerfolding-python21.diff
++# to use clone/children_maxheaderlen trick instead of _write_headers/mangle_from_
++
++"""Standard Mailman generator object.
++
++A subclass of email.Generator which only folds long headers
++in the top object level. 
++This is needed because Mailman should leave the reveiced message parts alone.
++Otherwise is might change subparts over which a signature was calculated,
++breaking it while doing so.
++"""
++
++import email
++import email.Generator
++
++try:
++    True, False
++except NameError:
++    True = 1
++    False = 0
++
++
++class Generator(email.Generator.Generator):
++    """Generates output from a Message object tree, keeping signatures.
++
++       Headers will by default _not_ be folded in attachments.
++    """
++    def __init__(self, outfp, mangle_from_=False,
++                 maxheaderlen=78, children_maxheaderlen=0):
++        email.Generator.Generator.__init__(self, outfp, mangle_from_=mangle_from_, maxheaderlen=maxheaderlen)
++        self.__children_maxheaderlen = children_maxheaderlen
++
++    def clone(self, fp):
++        """Clone this generator with maxheaderlen set for children"""
++        return self.__class__(fp, self._mangle_from_, self.__children_maxheaderlen, self.__children_maxheaderlen)
++
+Index: Mailman/Mailbox.py
+===================================================================
+--- Mailman/Mailbox.py.orig	2006-08-15 15:12:10.000000000 +0800
++++ Mailman/Mailbox.py	2006-08-15 15:14:57.000000000 +0800
+@@ -22,10 +22,10 @@
+ 
+ import email
+ from email.Parser import Parser
+-from email.Generator import Generator
+ from email.Errors import MessageParseError
+ 
+ from Mailman import mm_cfg
++from Mailman.Generator import Generator
+ from Mailman.Message import Message
+ 
+ try:
+@@ -65,7 +65,7 @@
+         # Seek to the last char of the mailbox
+         self.fp.seek(1, 2)
+         # Create a Generator instance to write the message to the file
+-        g = Generator(self.fp)
++        g = Generator(self.fp, mangle_from_=True)
+         g.flatten(msg, unixfrom=True)
+         # Add one more trailing newline for separation with the next message
+         # to be appended to the mbox.
+Index: Mailman/Message.py
+===================================================================
+--- Mailman/Message.py.orig	2006-08-15 15:12:10.000000000 +0800
++++ Mailman/Message.py	2006-08-15 15:14:57.000000000 +0800
+@@ -22,6 +22,8 @@
+ """
+ 
+ import re
++from cStringIO import StringIO
++
+ import email
+ import email.Message
+ import email.Utils
+@@ -32,6 +34,7 @@
+ 
+ from Mailman import mm_cfg
+ from Mailman import Utils
++from Mailman.Generator import Generator
+ 
+ COMMASPACE = ', '
+ 
+@@ -199,6 +202,16 @@
+         except (UnicodeError, LookupError, ValueError):
+             return failobj
+ 
++    def as_string(self, unixfrom=False):
++        """Return entire formatted message as a string using Mailman.Generator.
++
++        Operates like email.Message.Message.as_string, only
++	using Mailman's Generator class. Only the top headers will get folded.
++        """
++        fp = StringIO()
++        g = Generator(fp)
++        g.flatten(self, unixfrom=unixfrom)
++        return fp.getvalue()
+ 
+ 
+ class UserNotification(Message):

Deleted: trunk/debian/patches/78_DeprecationWarning.dpatch
===================================================================
--- trunk/debian/patches/78_DeprecationWarning.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/78_DeprecationWarning.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,29 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 78_DeprecationWarning.dpatch by  <lionel at mamane.lu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Shut up DeprecationWarning in Python 2.4
-
- at DPATCH@
-diff -urNad mailman-2.1.7~/Mailman/Handlers/Scrubber.py mailman-2.1.7/Mailman/Handlers/Scrubber.py
---- mailman-2.1.7~/Mailman/Handlers/Scrubber.py	2006-01-29 21:40:20.234359930 +0100
-+++ mailman-2.1.7/Mailman/Handlers/Scrubber.py	2006-01-29 21:41:28.485564155 +0100
-@@ -26,6 +26,7 @@
- import errno
- import binascii
- import tempfile
-+import warnings
- from cStringIO import StringIO
- from types import IntType, StringType
- 
-@@ -77,6 +78,10 @@
-             check(mimetypes.common_types)
-         return all
- 
-+# FIXME: Remove for Mailman 2.2 (which will drop support for Python 2.1)
-+# and then actually replace part.get_type(part.get_default_type())
-+# with part.get_content_type()
-+warnings.filterwarnings("ignore","^get_type\(\) deprecated;",DeprecationWarning,"Mailman")
- 
- 
- def guess_extension(ctype, ext):

Copied: trunk/debian/patches/78_DeprecationWarning.patch (from rev 326, trunk/debian/patches/78_DeprecationWarning.dpatch)
===================================================================
--- trunk/debian/patches/78_DeprecationWarning.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/78_DeprecationWarning.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,26 @@
+Patch: 78_DeprecationWarning.patch
+Author: Lionel Elie Mamane <lionel at mamane.lu>
+Shut up DeprecationWarning in Python 2.4
+Index: Mailman/Handlers/Scrubber.py
+===================================================================
+--- Mailman/Handlers/Scrubber.py.orig	2006-08-15 15:14:55.000000000 +0800
++++ Mailman/Handlers/Scrubber.py	2006-08-15 15:14:58.000000000 +0800
+@@ -26,6 +26,7 @@
+ import errno
+ import binascii
+ import tempfile
++import warnings
+ from cStringIO import StringIO
+ from types import IntType, StringType
+ 
+@@ -77,6 +78,10 @@
+             check(mimetypes.common_types)
+         return all
+ 
++# FIXME: Remove for Mailman 2.2 (which will drop support for Python 2.1)
++# and then actually replace part.get_type(part.get_default_type())
++# with part.get_content_type()
++warnings.filterwarnings("ignore","^get_type\(\) deprecated;",DeprecationWarning,"Mailman")
+ 
+ 
+ def guess_extension(ctype, ext):

Deleted: trunk/debian/patches/79_archiver_slash.dpatch
===================================================================
--- trunk/debian/patches/79_archiver_slash.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/79_archiver_slash.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,32 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## 79_archiver_slash.dpatch by  <lionel at mamane.lu>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Debian bug #350388
-## DP: Some non-pipermail archivers require _no_ final slash.
-
- at DPATCH@
-diff -urNad mailman-2.1.7~/Mailman/Archiver/Archiver.py mailman-2.1.7/Mailman/Archiver/Archiver.py
---- mailman-2.1.7~/Mailman/Archiver/Archiver.py	2005-08-27 03:40:15.000000000 +0200
-+++ mailman-2.1.7/Mailman/Archiver/Archiver.py	2006-02-19 10:29:18.006366380 +0100
-@@ -146,8 +146,6 @@
-                 'listname': self.internal_name(),
-                 'hostname': hostname
-                 }
--            if not url.endswith('/'):
--                url += '/'
-             return url
- 
-     def __archive_file(self, afn):
-diff -urNad mailman-2.1.7~/Mailman/Defaults.py.in mailman-2.1.7/Mailman/Defaults.py.in
---- mailman-2.1.7~/Mailman/Defaults.py.in	2005-12-30 19:50:07.000000000 +0100
-+++ mailman-2.1.7/Mailman/Defaults.py.in	2006-02-19 10:29:18.007366239 +0100
-@@ -205,7 +205,7 @@
- # interpolate the name of the list into this.  You can also include a
- # "%(hostname)s" in the string, into which Mailman will interpolate
- # the host name (usually DEFAULT_URL_HOST).
--PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/pipermail/%(listname)s'
-+PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/pipermail/%(listname)s/'
- 
- # Are archives on or off by default?
- DEFAULT_ARCHIVE = On

Copied: trunk/debian/patches/79_archiver_slash.patch (from rev 326, trunk/debian/patches/79_archiver_slash.dpatch)
===================================================================
--- trunk/debian/patches/79_archiver_slash.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/79_archiver_slash.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,30 @@
+Patch: 79_archiver_slash.patch
+Author: Lionel Elie Mamane <lionel at mamane.lu>
+Fixes: #350388
+Some non-pipermail archivers require _no_ final slash.
+Index: Mailman/Archiver/Archiver.py
+===================================================================
+--- Mailman/Archiver/Archiver.py.orig	2006-08-15 15:12:10.000000000 +0800
++++ Mailman/Archiver/Archiver.py	2006-08-15 15:14:59.000000000 +0800
+@@ -146,8 +146,6 @@
+                 'listname': self.internal_name(),
+                 'hostname': hostname
+                 }
+-            if not url.endswith('/'):
+-                url += '/'
+             return url
+ 
+     def __archive_file(self, afn):
+Index: Mailman/Defaults.py.in
+===================================================================
+--- Mailman/Defaults.py.in.orig	2006-08-15 15:14:18.000000000 +0800
++++ Mailman/Defaults.py.in	2006-08-15 15:14:59.000000000 +0800
+@@ -205,7 +205,7 @@
+ # interpolate the name of the list into this.  You can also include a
+ # "%(hostname)s" in the string, into which Mailman will interpolate
+ # the host name (usually DEFAULT_URL_HOST).
+-PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/pipermail/%(listname)s'
++PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/pipermail/%(listname)s/'
+ 
+ # Are archives on or off by default?
+ DEFAULT_ARCHIVE = On

Deleted: trunk/debian/patches/80_fix_string_search.dpatch
===================================================================
--- trunk/debian/patches/80_fix_string_search.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/80_fix_string_search.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,23 +0,0 @@
-#! /bin/sh /usr/share/dpatch/dpatch-run
-## fix_admin.py.dpatch by  <giskard at localhost.localdomain>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Debian Bug #359721
-## DP: Improve the search method in the admin page wich list members
-
-
-
- at DPATCH@
-diff -urNad mailman-2.1.8~/Mailman/Cgi/admin.py mailman-2.1.8/Mailman/Cgi/admin.py
---- mailman-2.1.8~/Mailman/Cgi/admin.py        2006-08-09 21:19:38.000000000 +0200
-+++ mailman-2.1.8/Mailman/Cgi/admin.py 2006-08-09 21:23:01.000000000 +0200
-@@ -944,7 +944,7 @@
-         for letter in digits + lowercase:
-             if not buckets.get(letter):
-                 continue
--            url = adminurl + '/members?letter=%s' % letter
-+            url = adminurl + '/members?findmember=%s&letter=%s' %(urllib.quote(regexp) ,letter)
-             if letter == bucket:
-                 show = Bold('[%s]' % letter.upper()).Format()
-             else:
-

Copied: trunk/debian/patches/80_fix_string_search.patch (from rev 326, trunk/debian/patches/80_fix_string_search.dpatch)
===================================================================
--- trunk/debian/patches/80_fix_string_search.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/80_fix_string_search.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,16 @@
+Patch: fix_admin.py.patch
+Author: Riccardo Setti <giskard at debian.prg>
+Improve the search method in the admin page wich list members (Closes: #359721)
+Index: Mailman/Cgi/admin.py
+===================================================================
+--- Mailman/Cgi/admin.py.orig	2006-08-15 15:14:56.000000000 +0800
++++ Mailman/Cgi/admin.py	2006-08-15 15:14:59.000000000 +0800
+@@ -949,7 +949,7 @@
+         for letter in digits + lowercase:
+             if not buckets.get(letter):
+                 continue
+-            url = adminurl + '/members?letter=%s' % letter
++            url = adminurl + '/members?findmember=%s&letter=%s' %(urllib.quote(regexp) ,letter)
+             if letter == bucket:
+                 show = Bold('[%s]' % letter.upper()).Format()
+             else:

Deleted: trunk/debian/patches/99_js_templates.dpatch
===================================================================
--- trunk/debian/patches/99_js_templates.dpatch	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/patches/99_js_templates.dpatch	2006-08-15 12:23:03 UTC (rev 328)
@@ -1,776 +0,0 @@
-#! /bin/sh -e
-## 99_js_templates.dpatch by Tollef Fog Heen <tfheen at debian.org>
-##
-## All lines beginning with `## DP:' are a description of the patch.
-## DP: Do some javascript magic to automatically select the password
-## DP: field when appropriate.
-
-[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-patch_opts="${patch_opts:--f --no-backup-if-mismatch ${2:+-d $2}}"
-
-if [ $# -lt 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $patch_opts -p1 < $0;;
-    -unpatch) patch $patch_opts -p1 -R < $0;;
-    *)
-        echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-        exit 1;;
-esac
-
-exit 0
- at DPATCH@
-diff -urNad mailman-2.1.8rc1~/templates/cs/admlogin.html mailman-2.1.8rc1/templates/cs/admlogin.html
---- mailman-2.1.8rc1~/templates/cs/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/cs/admlogin.html	2006-04-11 21:52:26.033075599 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s pøihlá¹ení</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/cs/private.html mailman-2.1.8rc1/templates/cs/private.html
---- mailman-2.1.8rc1~/templates/cs/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/cs/private.html	2006-04-11 21:52:26.034075460 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>Konference %(realname)s - pøihlá¹ení pro pøístup do privátního archivu </title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/da/admlogin.html mailman-2.1.8rc1/templates/da/admlogin.html
---- mailman-2.1.8rc1~/templates/da/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/da/admlogin.html	2006-04-11 21:52:26.034075460 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s Login</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/da/private.html mailman-2.1.8rc1/templates/da/private.html
---- mailman-2.1.8rc1~/templates/da/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/da/private.html	2006-04-11 21:52:26.034075460 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s Login til Private Arkiver</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/de/admlogin.html mailman-2.1.8rc1/templates/de/admlogin.html
---- mailman-2.1.8rc1~/templates/de/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/de/admlogin.html	2006-04-11 21:52:26.034075460 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>Anmeldung als %(listname)s-%(who)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/de/private.html mailman-2.1.8rc1/templates/de/private.html
---- mailman-2.1.8rc1~/templates/de/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/de/private.html	2006-04-11 21:52:26.035075321 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>Authentifizierung für den Zugriff auf die Archive von %(realname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/en/admlogin.html mailman-2.1.8rc1/templates/en/admlogin.html
---- mailman-2.1.8rc1~/templates/en/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/en/admlogin.html	2006-04-11 21:52:26.035075321 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s Authentication</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/en/listinfo.html mailman-2.1.8rc1/templates/en/listinfo.html
---- mailman-2.1.8rc1~/templates/en/listinfo.html	2006-04-11 21:52:24.747254731 +0200
-+++ mailman-2.1.8rc1/templates/en/listinfo.html	2006-04-11 21:52:26.035075321 +0200
-@@ -4,7 +4,7 @@
-     <TITLE><MM-List-Name> Info Page</TITLE>
-   
-   </HEAD>
--  <BODY BGCOLOR="#ffffff">
-+  <BODY>
- 
-     <P>
-       <TABLE COLS="1" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/en/private.html mailman-2.1.8rc1/templates/en/private.html
---- mailman-2.1.8rc1~/templates/en/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/en/private.html	2006-04-11 21:52:26.035075321 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s Private Archives Authentication</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/es/admlogin.html mailman-2.1.8rc1/templates/es/admlogin.html
---- mailman-2.1.8rc1~/templates/es/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/es/admlogin.html	2006-04-11 21:52:26.036075181 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>Autentificación del %(who)s de %(listname)s </title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/es/private.html mailman-2.1.8rc1/templates/es/private.html
---- mailman-2.1.8rc1~/templates/es/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/es/private.html	2006-04-11 21:52:26.036075181 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-   <title>Autentificaci&oacute;n para los archivos privados de %(realname)s </title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/et/admlogin.html mailman-2.1.8rc1/templates/et/admlogin.html
---- mailman-2.1.8rc1~/templates/et/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/et/admlogin.html	2006-04-11 21:52:26.036075181 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s autoriseerimine</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/et/private.html mailman-2.1.8rc1/templates/et/private.html
---- mailman-2.1.8rc1~/templates/et/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/et/private.html	2006-04-11 21:52:26.037075042 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s privaatarhiiv</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/eu/admlogin.html mailman-2.1.8rc1/templates/eu/admlogin.html
---- mailman-2.1.8rc1~/templates/eu/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/eu/admlogin.html	2006-04-11 21:52:26.037075042 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s Zerrendako %(who)s Identifikatzen</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/eu/private.html mailman-2.1.8rc1/templates/eu/private.html
---- mailman-2.1.8rc1~/templates/eu/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/eu/private.html	2006-04-11 21:52:26.037075042 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-     <title>%(realname)s Artxibo Pribatuak Egiaztatzea</title>
-+<script>function sf(){document.f.username.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(action)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(action)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/fi/admlogin.html mailman-2.1.8rc1/templates/fi/admlogin.html
---- mailman-2.1.8rc1~/templates/fi/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/fi/admlogin.html	2006-04-11 21:52:26.037075042 +0200
-@@ -2,9 +2,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s Authentication</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/fi/private.html mailman-2.1.8rc1/templates/fi/private.html
---- mailman-2.1.8rc1~/templates/fi/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/fi/private.html	2006-04-11 21:52:26.038074903 +0200
-@@ -2,8 +2,9 @@
- <html>
- <head>
-     <title>%(realname)s Private Archives Authentication</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/fr/admlogin.html mailman-2.1.8rc1/templates/fr/admlogin.html
---- mailman-2.1.8rc1~/templates/fr/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/fr/admlogin.html	2006-04-11 21:52:26.038074903 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>Authentification %(who)s sur %(listname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/fr/private.html mailman-2.1.8rc1/templates/fr/private.html
---- mailman-2.1.8rc1~/templates/fr/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/fr/private.html	2006-04-11 21:52:26.038074903 +0200
-@@ -2,8 +2,9 @@
- <head>
-     <title>Authentification pour l'acc&egrave;s aux archives priv&eacute;es de
- %(realname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/hu/admlogin.html mailman-2.1.8rc1/templates/hu/admlogin.html
---- mailman-2.1.8rc1~/templates/hu/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/hu/admlogin.html	2006-04-11 21:52:26.038074903 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-    <title>%(listname)s %(who)s Azonosítás</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/hu/private.html mailman-2.1.8rc1/templates/hu/private.html
---- mailman-2.1.8rc1~/templates/hu/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/hu/private.html	2006-04-11 21:52:26.039074764 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-  <title>%(realname)s Privát archívum azonosítás</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/it/admlogin.html mailman-2.1.8rc1/templates/it/admlogin.html
---- mailman-2.1.8rc1~/templates/it/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/it/admlogin.html	2006-04-11 21:52:26.077069470 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
- <title>Autenticazione per %(who)s di %(listname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/it/private.html mailman-2.1.8rc1/templates/it/private.html
---- mailman-2.1.8rc1~/templates/it/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/it/private.html	2006-04-11 21:52:26.077069470 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
- <title>Autenticazione per gli archivi privati di %(realname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/ja/admlogin.html mailman-2.1.8rc1/templates/ja/admlogin.html
---- mailman-2.1.8rc1~/templates/ja/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ja/admlogin.html	2006-04-11 21:52:26.077069470 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s ǧ¾Ú</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/ja/private.html mailman-2.1.8rc1/templates/ja/private.html
---- mailman-2.1.8rc1~/templates/ja/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ja/private.html	2006-04-11 21:52:26.078069331 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s ¸ÂÄê¸ø³«Êݸ½ñ¸Ë ǧ¾Ú</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/ko/admlogin.html mailman-2.1.8rc1/templates/ko/admlogin.html
---- mailman-2.1.8rc1~/templates/ko/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ko/admlogin.html	2006-04-11 21:52:26.078069331 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s °ü¸®ÀÚ ÀÎÁõ</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/ko/private.html mailman-2.1.8rc1/templates/ko/private.html
---- mailman-2.1.8rc1~/templates/ko/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ko/private.html	2006-04-11 21:52:26.078069331 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s ºñ°ø°³ ÀúÀå¼Ò ÀÎÁõ</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/lt/admlogin.html mailman-2.1.8rc1/templates/lt/admlogin.html
---- mailman-2.1.8rc1~/templates/lt/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/lt/admlogin.html	2006-04-11 21:52:26.078069331 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s prisijungimas</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/lt/private.html mailman-2.1.8rc1/templates/lt/private.html
---- mailman-2.1.8rc1~/templates/lt/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/lt/private.html	2006-04-11 21:52:26.079069192 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s privataus archyvo prisijungimas</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/nl/admlogin.html mailman-2.1.8rc1/templates/nl/admlogin.html
---- mailman-2.1.8rc1~/templates/nl/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/nl/admlogin.html	2006-04-11 21:52:26.079069192 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s inloggen</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/nl/private.html mailman-2.1.8rc1/templates/nl/private.html
---- mailman-2.1.8rc1~/templates/nl/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/nl/private.html	2006-04-11 21:54:39.536373682 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s Prive Archief beveiligd</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s/">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/no/admlogin.html mailman-2.1.8rc1/templates/no/admlogin.html
---- mailman-2.1.8rc1~/templates/no/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/no/admlogin.html	2006-04-11 21:52:26.080069052 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s Innlogging</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/no/private.html mailman-2.1.8rc1/templates/no/private.html
---- mailman-2.1.8rc1~/templates/no/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/no/private.html	2006-04-11 21:52:26.080069052 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s Innlogging til Private Arkiver</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/pl/admlogin.html mailman-2.1.8rc1/templates/pl/admlogin.html
---- mailman-2.1.8rc1~/templates/pl/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pl/admlogin.html	2006-04-11 21:52:26.080069052 +0200
-@@ -2,9 +2,10 @@
- <head>
-   <title>Uwierzytelnienie %(who)s %(listname)s</title>
- <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/pl/private.html mailman-2.1.8rc1/templates/pl/private.html
---- mailman-2.1.8rc1~/templates/pl/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pl/private.html	2006-04-11 21:52:26.080069052 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s Private Archives Authentication</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/pt/admlogin.html mailman-2.1.8rc1/templates/pt/admlogin.html
---- mailman-2.1.8rc1~/templates/pt/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pt/admlogin.html	2006-04-11 21:52:26.081068913 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s Authentication</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/pt/private.html mailman-2.1.8rc1/templates/pt/private.html
---- mailman-2.1.8rc1~/templates/pt/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pt/private.html	2006-04-11 21:52:26.081068913 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s Autenticação de Arquivos Privados</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/pt_BR/admlogin.html mailman-2.1.8rc1/templates/pt_BR/admlogin.html
---- mailman-2.1.8rc1~/templates/pt_BR/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pt_BR/admlogin.html	2006-04-11 21:52:26.081068913 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>Autenticação de %(who)s na lista %(listname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/pt_BR/private.html mailman-2.1.8rc1/templates/pt_BR/private.html
---- mailman-2.1.8rc1~/templates/pt_BR/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/pt_BR/private.html	2006-04-11 21:52:26.082068774 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>Autenticação para acesso aos arquivos privados da %(realname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/ru/admlogin.html mailman-2.1.8rc1/templates/ru/admlogin.html
---- mailman-2.1.8rc1~/templates/ru/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ru/admlogin.html	2006-04-11 21:52:26.082068774 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-     <title>áÕÔÅÎÔÉÆÉËÁÃÉÑ %(who)s ÓÐÉÓËÁ ÒÁÓÓÙÌËÉ %(listname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/ru/private.html mailman-2.1.8rc1/templates/ru/private.html
---- mailman-2.1.8rc1~/templates/ru/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/ru/private.html	2006-04-11 21:52:26.092067381 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>áÕÔÅÎÔÉÆÉËÁÃÉÑ ÄÌÑ ÄÏÓÔÕÐÁ Ë ÚÁËÒÙÔÏÍÕ ÁÒÈÉ×Õ ÓÐÉÓËÁ ÒÁÓÓÙÌËÉ %(realname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/sr/admlogin.html mailman-2.1.8rc1/templates/sr/admlogin.html
---- mailman-2.1.8rc1~/templates/sr/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/sr/admlogin.html	2006-04-11 21:52:26.092067381 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s Authentication</title>
--<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script>function sf(){document.f.adminpw.focus();}</script>
-+</head>
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/sr/private.html mailman-2.1.8rc1/templates/sr/private.html
---- mailman-2.1.8rc1~/templates/sr/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/sr/private.html	2006-04-11 21:52:26.108065152 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>Пријава за улаз у приватну архиву листе: %(realname)s </title>
--<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
--<body bgcolor="#ffffff">
-+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script>function sf(){document.f.adminpw.focus();}</script>
-+</head>
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/sv/admlogin.html mailman-2.1.8rc1/templates/sv/admlogin.html
---- mailman-2.1.8rc1~/templates/sv/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/sv/admlogin.html	2006-04-11 21:52:26.108065152 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s Inloggning</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/sv/private.html mailman-2.1.8rc1/templates/sv/private.html
---- mailman-2.1.8rc1~/templates/sv/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/sv/private.html	2006-04-11 21:52:26.108065152 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s Inloggning till Privata Arkiv</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/uk/admlogin.html mailman-2.1.8rc1/templates/uk/admlogin.html
---- mailman-2.1.8rc1~/templates/uk/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/uk/admlogin.html	2006-04-11 21:52:26.109065013 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>Автентифікація користувача %(who)s списку листування %(listname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onLoad="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/uk/private.html mailman-2.1.8rc1/templates/uk/private.html
---- mailman-2.1.8rc1~/templates/uk/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/uk/private.html	2006-04-11 21:52:26.109065013 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>Автентифікація доступу до закритого списку розсилки %(realname)s</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/zh_CN/admlogin.html mailman-2.1.8rc1/templates/zh_CN/admlogin.html
---- mailman-2.1.8rc1~/templates/zh_CN/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/zh_CN/admlogin.html	2006-04-11 21:52:26.109065013 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s %(who)s Authentication</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onload="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>
-diff -urNad mailman-2.1.8rc1~/templates/zh_CN/private.html mailman-2.1.8rc1/templates/zh_CN/private.html
---- mailman-2.1.8rc1~/templates/zh_CN/private.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/zh_CN/private.html	2006-04-11 21:52:26.109065013 +0200
-@@ -1,8 +1,9 @@
- <html>
- <head>
-     <title>%(realname)s 私有归档认证</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
-+<body bgcolor="#ffffff" onLoad="sf()">
- <FORM METHOD=POST ACTION="%(action)s">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-diff -urNad mailman-2.1.8rc1~/templates/zh_TW/admlogin.html mailman-2.1.8rc1/templates/zh_TW/admlogin.html
---- mailman-2.1.8rc1~/templates/zh_TW/admlogin.html	2006-04-11 21:51:58.000000000 +0200
-+++ mailman-2.1.8rc1/templates/zh_TW/admlogin.html	2006-04-11 21:52:26.110064874 +0200
-@@ -1,9 +1,10 @@
- <html>
- <head>
-   <title>%(listname)s 論壇 壇主驗證</title>
-+<script>function sf(){document.f.adminpw.focus();}</script>
- </head>
--<body bgcolor="#ffffff">
--<FORM METHOD=POST ACTION="%(path)s">
-+<body bgcolor="#ffffff" onload="sf()">
-+<FORM METHOD=POST ACTION="%(path)s" name="f">
- %(message)s
-   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
-     <TR>

Copied: trunk/debian/patches/99_js_templates.patch (from rev 326, trunk/debian/patches/99_js_templates.dpatch)
===================================================================
--- trunk/debian/patches/99_js_templates.dpatch	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/99_js_templates.patch	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,806 @@
+Patch: 99_js_templates.patch
+Author: Tollef Fog Heen <tfheen at debian.org>
+Do some javascript magic to automatically select the password
+field when appropriate.
+Index: templates/cs/admlogin.html
+===================================================================
+--- templates/cs/admlogin.html.orig	2006-08-15 15:12:04.000000000 +0800
++++ templates/cs/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s pøihlá¹ení</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/cs/private.html
+===================================================================
+--- templates/cs/private.html.orig	2006-08-15 15:12:04.000000000 +0800
++++ templates/cs/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>Konference %(realname)s - pøihlá¹ení pro pøístup do privátního archivu </title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/da/admlogin.html
+===================================================================
+--- templates/da/admlogin.html.orig	2006-08-15 15:12:04.000000000 +0800
++++ templates/da/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s Login</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/da/private.html
+===================================================================
+--- templates/da/private.html.orig	2006-08-15 15:12:04.000000000 +0800
++++ templates/da/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s Login til Private Arkiver</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/de/admlogin.html
+===================================================================
+--- templates/de/admlogin.html.orig	2006-08-15 15:12:04.000000000 +0800
++++ templates/de/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>Anmeldung als %(listname)s-%(who)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/de/private.html
+===================================================================
+--- templates/de/private.html.orig	2006-08-15 15:12:04.000000000 +0800
++++ templates/de/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>Authentifizierung für den Zugriff auf die Archive von %(realname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/en/admlogin.html
+===================================================================
+--- templates/en/admlogin.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/en/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s Authentication</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/en/listinfo.html
+===================================================================
+--- templates/en/listinfo.html.orig	2006-08-15 15:14:47.000000000 +0800
++++ templates/en/listinfo.html	2006-08-15 15:15:00.000000000 +0800
+@@ -4,7 +4,7 @@
+     <TITLE><MM-List-Name> Info Page</TITLE>
+   
+   </HEAD>
+-  <BODY BGCOLOR="#ffffff">
++  <BODY>
+ 
+     <P>
+       <TABLE COLS="1" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/en/private.html
+===================================================================
+--- templates/en/private.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/en/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s Private Archives Authentication</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/es/admlogin.html
+===================================================================
+--- templates/es/admlogin.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/es/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>Autentificación del %(who)s de %(listname)s </title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/es/private.html
+===================================================================
+--- templates/es/private.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/es/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+   <title>Autentificaci&oacute;n para los archivos privados de %(realname)s </title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/et/admlogin.html
+===================================================================
+--- templates/et/admlogin.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/et/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s autoriseerimine</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/et/private.html
+===================================================================
+--- templates/et/private.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/et/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s privaatarhiiv</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/eu/admlogin.html
+===================================================================
+--- templates/eu/admlogin.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/eu/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s Zerrendako %(who)s Identifikatzen</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/eu/private.html
+===================================================================
+--- templates/eu/private.html.orig	2006-08-15 15:12:06.000000000 +0800
++++ templates/eu/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+     <title>%(realname)s Artxibo Pribatuak Egiaztatzea</title>
++<script>function sf(){document.f.username.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(action)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(action)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/fi/admlogin.html
+===================================================================
+--- templates/fi/admlogin.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/fi/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -2,9 +2,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s Authentication</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/fi/private.html
+===================================================================
+--- templates/fi/private.html.orig	2006-08-15 15:12:05.000000000 +0800
++++ templates/fi/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -2,8 +2,9 @@
+ <html>
+ <head>
+     <title>%(realname)s Private Archives Authentication</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/fr/admlogin.html
+===================================================================
+--- templates/fr/admlogin.html.orig	2006-08-15 15:12:06.000000000 +0800
++++ templates/fr/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>Authentification %(who)s sur %(listname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/fr/private.html
+===================================================================
+--- templates/fr/private.html.orig	2006-08-15 15:12:06.000000000 +0800
++++ templates/fr/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -2,8 +2,9 @@
+ <head>
+     <title>Authentification pour l'acc&egrave;s aux archives priv&eacute;es de
+ %(realname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/hu/admlogin.html
+===================================================================
+--- templates/hu/admlogin.html.orig	2006-08-15 15:12:06.000000000 +0800
++++ templates/hu/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+    <title>%(listname)s %(who)s Azonosítás</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/hu/private.html
+===================================================================
+--- templates/hu/private.html.orig	2006-08-15 15:12:06.000000000 +0800
++++ templates/hu/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+  <title>%(realname)s Privát archívum azonosítás</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/it/admlogin.html
+===================================================================
+--- templates/it/admlogin.html.orig	2006-08-15 15:12:06.000000000 +0800
++++ templates/it/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+ <title>Autenticazione per %(who)s di %(listname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/it/private.html
+===================================================================
+--- templates/it/private.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/it/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+ <title>Autenticazione per gli archivi privati di %(realname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/ja/admlogin.html
+===================================================================
+--- templates/ja/admlogin.html.orig	2006-08-15 15:12:06.000000000 +0800
++++ templates/ja/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s ǧ¾Ú</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/ja/private.html
+===================================================================
+--- templates/ja/private.html.orig	2006-08-15 15:12:06.000000000 +0800
++++ templates/ja/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s ¸ÂÄê¸ø³«Êݸ½ñ¸Ë ǧ¾Ú</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/ko/admlogin.html
+===================================================================
+--- templates/ko/admlogin.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/ko/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s °ü¸®ÀÚ ÀÎÁõ</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/ko/private.html
+===================================================================
+--- templates/ko/private.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/ko/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s ºñ°ø°³ ÀúÀå¼Ò ÀÎÁõ</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/lt/admlogin.html
+===================================================================
+--- templates/lt/admlogin.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/lt/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s prisijungimas</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/lt/private.html
+===================================================================
+--- templates/lt/private.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/lt/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s privataus archyvo prisijungimas</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/nl/admlogin.html
+===================================================================
+--- templates/nl/admlogin.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/nl/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s inloggen</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/nl/private.html
+===================================================================
+--- templates/nl/private.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/nl/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s Prive Archief beveiligd</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s/">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/no/admlogin.html
+===================================================================
+--- templates/no/admlogin.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/no/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s Innlogging</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/no/private.html
+===================================================================
+--- templates/no/private.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/no/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s Innlogging til Private Arkiver</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/pl/admlogin.html
+===================================================================
+--- templates/pl/admlogin.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/pl/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -2,9 +2,10 @@
+ <head>
+   <title>Uwierzytelnienie %(who)s %(listname)s</title>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-2">
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/pl/private.html
+===================================================================
+--- templates/pl/private.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/pl/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s Private Archives Authentication</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/pt/admlogin.html
+===================================================================
+--- templates/pt/admlogin.html.orig	2006-08-15 15:12:07.000000000 +0800
++++ templates/pt/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s Authentication</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/pt/private.html
+===================================================================
+--- templates/pt/private.html.orig	2006-08-15 15:12:08.000000000 +0800
++++ templates/pt/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s Autenticação de Arquivos Privados</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/pt_BR/admlogin.html
+===================================================================
+--- templates/pt_BR/admlogin.html.orig	2006-08-15 15:12:09.000000000 +0800
++++ templates/pt_BR/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>Autenticação de %(who)s na lista %(listname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/pt_BR/private.html
+===================================================================
+--- templates/pt_BR/private.html.orig	2006-08-15 15:12:09.000000000 +0800
++++ templates/pt_BR/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>Autenticação para acesso aos arquivos privados da %(realname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/ru/admlogin.html
+===================================================================
+--- templates/ru/admlogin.html.orig	2006-08-15 15:12:08.000000000 +0800
++++ templates/ru/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+     <title>áÕÔÅÎÔÉÆÉËÁÃÉÑ %(who)s ÓÐÉÓËÁ ÒÁÓÓÙÌËÉ %(listname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/ru/private.html
+===================================================================
+--- templates/ru/private.html.orig	2006-08-15 15:12:08.000000000 +0800
++++ templates/ru/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>áÕÔÅÎÔÉÆÉËÁÃÉÑ ÄÌÑ ÄÏÓÔÕÐÁ Ë ÚÁËÒÙÔÏÍÕ ÁÒÈÉ×Õ ÓÐÉÓËÁ ÒÁÓÓÙÌËÉ %(realname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/sr/admlogin.html
+===================================================================
+--- templates/sr/admlogin.html.orig	2006-08-15 15:12:08.000000000 +0800
++++ templates/sr/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s Authentication</title>
+-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script>function sf(){document.f.adminpw.focus();}</script>
++</head>
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/sr/private.html
+===================================================================
+--- templates/sr/private.html.orig	2006-08-15 15:12:08.000000000 +0800
++++ templates/sr/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>Пријава за улаз у приватну архиву листе: %(realname)s </title>
+-<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
+-<body bgcolor="#ffffff">
++<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script>function sf(){document.f.adminpw.focus();}</script>
++</head>
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/sv/admlogin.html
+===================================================================
+--- templates/sv/admlogin.html.orig	2006-08-15 15:12:08.000000000 +0800
++++ templates/sv/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s Inloggning</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/sv/private.html
+===================================================================
+--- templates/sv/private.html.orig	2006-08-15 15:12:08.000000000 +0800
++++ templates/sv/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s Inloggning till Privata Arkiv</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/uk/admlogin.html
+===================================================================
+--- templates/uk/admlogin.html.orig	2006-08-15 15:12:08.000000000 +0800
++++ templates/uk/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>Автентифікація користувача %(who)s списку листування %(listname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onLoad="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/uk/private.html
+===================================================================
+--- templates/uk/private.html.orig	2006-08-15 15:12:09.000000000 +0800
++++ templates/uk/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>Автентифікація доступу до закритого списку розсилки %(realname)s</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/zh_CN/admlogin.html
+===================================================================
+--- templates/zh_CN/admlogin.html.orig	2006-08-15 15:12:09.000000000 +0800
++++ templates/zh_CN/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s %(who)s Authentication</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onload="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>
+Index: templates/zh_CN/private.html
+===================================================================
+--- templates/zh_CN/private.html.orig	2006-08-15 15:12:09.000000000 +0800
++++ templates/zh_CN/private.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,8 +1,9 @@
+ <html>
+ <head>
+     <title>%(realname)s 私有归档认证</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
++<body bgcolor="#ffffff" onLoad="sf()">
+ <FORM METHOD=POST ACTION="%(action)s">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+Index: templates/zh_TW/admlogin.html
+===================================================================
+--- templates/zh_TW/admlogin.html.orig	2006-08-15 15:12:09.000000000 +0800
++++ templates/zh_TW/admlogin.html	2006-08-15 15:15:00.000000000 +0800
+@@ -1,9 +1,10 @@
+ <html>
+ <head>
+   <title>%(listname)s 論壇 壇主驗證</title>
++<script>function sf(){document.f.adminpw.focus();}</script>
+ </head>
+-<body bgcolor="#ffffff">
+-<FORM METHOD=POST ACTION="%(path)s">
++<body bgcolor="#ffffff" onload="sf()">
++<FORM METHOD=POST ACTION="%(path)s" name="f">
+ %(message)s
+   <TABLE WIDTH="100%%" BORDER="0" CELLSPACING="4" CELLPADDING="5">
+     <TR>

Copied: trunk/debian/patches/series (from rev 326, trunk/debian/patches/00list)
===================================================================
--- trunk/debian/patches/00list	2006-08-14 17:09:44 UTC (rev 326)
+++ trunk/debian/patches/series	2006-08-15 12:23:03 UTC (rev 328)
@@ -0,0 +1,35 @@
+00_stolen_from_HEAD.patch -p0
+01_defaults.debian.patch -p0
+03_documentation_source.patch -p0
+07_snooze.patch -p0
+10_wrapper_uid.patch -p0
+11_handle_propfind.patch -p0
+12_savannah_wrapper.patch -p0
+15_mailmanctl_daemonize.patch -p0
+16_update_debian.patch -p0
+20_qmail_to_mailman.debian.patch -p0
+21_newlist_help.patch -p0
+30_pipermail_threads.patch -p0
+32_MIME_fixup.patch -p0
+51_nocompile.pyc.patch -p0
+52_check_perms_lstat.patch -p0
+53_disable_addons.patch -p0
+56_fix_de_broken_links.patch -p0
+58_fix_translations.patch -p0
+59_fix_missing_language_crash.patch -p0
+61_fix_ru_siteowner.patch -p0
+62_new_list_bad_pending_requests.patch -p0
+63_update_default_server_language.patch -p0
+64_correct_html_nesting.patch -p0
+65_handle_templates_directories.patch -p0
+66_donot_let_cache_html_pages.patch -p0
+67_update_handle_old_versions.patch -p0
+68_translation_update_nl.patch -p0
+70_invalid_utf8_dos.patch -p0
+71_date_overflows.patch -p0
+74_admin_non-ascii_emails.patch -p0
+77_header_folding_in_attachments.patch -p0
+78_DeprecationWarning.patch -p0
+79_archiver_slash.patch -p0
+80_fix_string_search.patch -p0
+99_js_templates.patch -p0

Modified: trunk/debian/rules
===================================================================
--- trunk/debian/rules	2006-08-15 11:50:28 UTC (rev 327)
+++ trunk/debian/rules	2006-08-15 12:23:03 UTC (rev 328)
@@ -5,7 +5,7 @@
 package=mailman
 PACKAGE=$(package)
 
-include /usr/share/dpatch/dpatch.make
+include /usr/share/quilt/quilt.make
 
 binaries=list_lists find_member config_list mmsitepass newlist rmlist	\
 	add_members list_members remove_members arch clone_member	\
@@ -24,9 +24,10 @@
 INSTALL_PROGRAM += -s
 endif
 
-build: patch-stamp Makefile debian/po/templates.pot
+build: patch build-stamp
+build-stamp: Makefile debian/po/templates.pot
 	$(MAKE) 
-	touch build
+	touch build-stamp
 
 debian/po/templates.pot: debian/templates
 	@debconf-updatepo
@@ -46,7 +47,7 @@
 clean: unpatch
 	$(checkdir)
 	-$(MAKE) distclean
-	rm -rf build Makefile debian/ucffiles debian/mailman.postinst.ucf
+	rm -rf build-stamp Makefile debian/ucffiles debian/mailman.postinst.ucf
 	rm -f debian/mailman.postrm.ucf
 	dh_clean
 	rm -rf $$(find . -name "*~")




More information about the Pkg-mailman-hackers mailing list