Commit graph

18 commits

Author SHA1 Message Date
fhajny
6d2a7ac411 Update mailman to 2.1.18.
Changelog
---------

2.1.18-1 (06-May-2014)

  Bug fixes and other patches

    - A critical incompatibility between the DMARC Wrap Message action and
      Python versions older than 2.6.x for some x <= 5 existed and caused
      Wrapped message to be shunted.  This is fixed.  (LP: #1316682)

    - Sender: headers are no longer removed in from_is_list Munge From
      actions.  (LP: #1315970)

2.1.18 (03-May-2014)

  Acknowledgements

    - Thanks to Jim Popovitch and Phil Pennock for the branch that formed the
      basis of the dmarc_moderation_action feature.

    - Thanks to Franck Martin et al for the branch that formed the basis of
      the from_is_list feature.

  Dependencies

    - There is a new dependency associated with the new Privacy options ->
      Sender filters -> dmarc_moderation_action feature discussed below.
      This requires that the dnspython <http://www.dnspython.org/> package
      be available in Python.  This package can be downloaded from the above
      site or from the CheeseShop <https://pypi.python.org/pypi/dnspython/>
      or installed with pip.

  New Features

    - The from_is_list feature introduced in 2.1.16 is now unconditionally
      available to list owners.  There is also, a new Privacy options ->
      Sender filters -> dmarc_moderation_action feature which applies to list
      messages where the From: address is in a domain which publishes a DMARC
      policy of reject or possibly quarantine.  This is a list setting with
      values of Accept, Wrap Message, Munge From, Reject or Discard. There is
      a new DEFAULT_DMARC_MODERATION_ACTION configuration setting to set the
      default for this, and the list admin UI is not able to set an action
      which is 'less' than the default.  The prior ALLOW_FROM_IS_LIST setting
      has been removed and is effectively always Yes. There is a new
      dmarc_quarantine_moderation_action list setting with default set by a
      new DEFAULT_DMARC_QUARANTINE_MODERATION_ACTION configuration setting
      which in turn defaults to Yes.  The list setting can be set to No to
      exclude domains with DMARC policy of quarantine from
      dmarc_moderation_action.

      dmarc_moderation_action and from_is_list interact in the following way.
      If the message is From: a domain to which dmarc_moderation_action applies
      and if dmarc_moderation_action is other than Accept,
      dmarc_moderation_action applies to that message.  Otherwise the
      from_is_list action applies.

      Also associated with dmarc_moderation_action are configuration settings
      DMARC_RESOLVER_TIMEOUT and DMARC_RESOLVER_LIFETIME. These are described
      in more detail in Defaults.py.  There are also new vette log entries
      written when dmarc_moderation_action is found to apply to a post.

  i18n

    - Added missing <mm-digest-question-start> tag to French listinfo template.
      (LP: #1275964)

  Bug Fixes and other patches

    - Removed HTML tags from the title of a couple of rmlist.py pages because
      browsers don't render tags in the title.  (LP: #265848)

    - Most Mailman generated notices to list owners and moderators are now
      sent as Precedence: list instead of bulk.  (LP: #1313146)

    - The Reply-To: munging options weren't honored if there was no
      from_is_list action.  (LP: #1313010)

    - Changed from_is_list actions to insert the list address in Cc: if the
      list is fully personalized.  Otherwise, the list address is only in
      From: and Reply-To: overrides it.  (LP: #1312970)

    - Fixed the Munge From action to only Munge the From: and/or Reply-To: in
      the outgoing message and not in archives, digests and messages sent via
      the usenet gateway.  (LP: #1311431)

    - Fixed a long standing issue in which a notice sent to a user whose
      language is other than that of the list can cause subsequent things
      which should be in the list's language to be in the user's language
      instead.  (LP: #1308655)

    - Fixed the admin Membership List so a search string if any is not lost
      when visiting subsequent fragments of a chunked list.  (LP: #1307454)

    - For from_is_list feature, use email address from original From: if
      original From: has no display name and strip domain part from resultant
      names that look like email addresses.  (LP: #1304511)

    - Added the list name to the vette log "held message approved" entry.
      (LP: 1295875)

    - Added the CGI module name to various "No such list" error log entries.
      (LP: 1295875)

    - Modified contrib/mmdsr to report module name if present in "No such list
      error log entries.

    - Fixed a NameError exception in cron/nightly_gzip when it tries to print
      the usage message.  (LP: #1291038)

    - Fixed a bug in ListAdmin._handlepost that would crash when trying to
      preserve a held message for the site admin if HOLD_MESSAGES_AS_PICKLES
      is False.  (LP: #1282365)

    - The from_is_list header munging feature introduced in Mailman 2.1.16 is
      no longer erroneously applied to Mailman generated notices.
      (LP: #1279667)

    - Changed the message from the confirm CGI to not indicate approval is
      required for an acceptance of an invitation.  (LP: #1277744)

    - Fixed POSTFIX_STYLE_VIRTUAL_DOMAINS to be case-insensitiive.
      (LP: #1267003)

    - Added recognition for another simple warning to bounce processing.
      (LP: #1263247)

    - Fixed a few failing tests in tests/test_handlers.py.  (LP: #1262950)

    - Fixed bin/arch to not create scrubbed attachments for messages skipped
      when processing the --start= option.  (LP: #1260883)

    - Fixed email address validation to do a bit better in obscure cases.
      (LP: #1258703)

    - Fixed a bug which caused some authentication cookies to expire too soon
      if AUTHENTICATION_COOKIE_LIFETIME is non-zero.  (LP: #1257112)

    - Fixed a possible TypeError in bin/sync_members introduced in 2.1.17.
      (LP: #1243343)

  Miscellaneous

    - Added to the contrib directory, a script from Alain Williams to count
      posts in a list's archive.

2.1.17 (23-Nov-2013)

  New Features

    - Handling of posts gated from usenet to a list via the Mail <-> News
      gateway is changed.  Formerly, no list membership, moderation or
      *_these_nonmembers checks were done.  Now, if the sender of the usenet
      post is a moderated member or a nonmember matching a *_these_nonmembers
      filter, those checks will be done and actions applied.  Nonmember posts
      from senders not matching a *_these_nonmembers filter are still accepted
      as before.  (LP: #1252575)

    - There is a new mm_cfg.py setting ANONYMOUS_LIST_KEEP_HEADERS.  Since it
      is not possible to know which non-standard headers in a message might
      reveal sender information, we now remove all headers from incoming posts
      to anonymous lists except those which match regular expressions in this
      list. The default setting keeps non X- headers except those known to
      reveal sender information, Mailman added X- headers and x-Spam- headers.
      See the description in Defaults.py for more information.  (LP: #1246039)

  i18n

    - The Japanese message catalog has been updated by SATOH Fumiyasu.
      (LP: #1248855)

  Bug Fixes and other patches

    - Added a reopen command to the sample init.d script in misc/mailman.in.
      (LP: #1251917)

    - Fixed a misspelling in Tagger.py causing an "unexpected keyword argument
      'Delete'" exception.  (LP: #1251495)

    - Fixed contrib/qmail-to-mailman.py to work with a user other than
      'mailman' and to recognize more listname-* addresses.  (LP: #412293)

    - Fixed a possible UnicodeDecodeError in bin/sync_members.  (LP: #1243343)

    - Fixed Makefile to not include $DESTDIR in paths compiled into .pyc
      files for traceback purposes.  (LP: #1241770)

2.1.16 (16-Oct-2013)

  New Features

    - There is a new list attribute from_is_list to either rewrite the From:
      header of posts replacing the posters address with that of the list or
      wrap the message in an outer message From: the list for compatability
      with DMARC and or ADSP.  There is a new mm_cfg.py setting
      DEFAULT_FROM_IS_LIST to control the default for new lists, and the
      existing REMOVE_DKIM_HEADERS setting has been extended to allow removing
      those headers only for certain from_is_list lists.  This feature must
      be enabled by setting ALLOW_FROM_IS_LIST to Yes in mm_cfg.py.  See the
      description of these settings in Defaults.py for more detail.  This
      feature is experimental in 2.1.16, and it is subject to change or to
      become just one of the two methods in a subsequent release. People
      interested in this feature are encouraged to try it and report their
      experiences to the mailman-users@python.org list.

    - There is a new DISPLAY_HELD_SUMMARY_SORT_BUTTONS setting which if set
      in mm_cfg.py will display a set of radio buttons in the admindb held
      message summary to select how the held messages are sorted and grouped
      for display. The exact setting determines the default grouping and
      sorting.  See the description in Defaults.py for details.

    - Setting digest_size_threshhold to zero now means no digests will be
      sent based on size instead of a digest being sent with every post.
      (LP: #558274)

    - There is a new mm_cfg.py setting SUBSCRIBE_FORM_SECRET which will put
      a dynamically generated, hidden hash in the listinfo subscribe form and
      check it upon submission.  Setting this will prevent automated processes
      (bots) from successfully POSTing web subscribes without first retrieving
      and parsing the form from the listinfo page.  The form must also be
      submitted no later than FORM_LIFETIME nor no earlier than
      SUBSCRIBE_FORM_MIN_TIME after retrieval.  Note that enabling this will
      break any static subscribe forms on your site.  See the description in
      Defaults.py for more info.  (LP: #1082746)

    - add_members now has an option to add members with mail delivery disabled
      by admin.  (LP: #1070574)

    - IncomingRunner now logs rejected messages to the vette log.
      (LP: #1068837)

    - The name of the mailmanctl master lock file is now congigurable via the
      mm_cfg.py setting MASTER_LOCK_FILE.  (LP: #1082308)

    - list_lists now has an option to list only lists with public archives.
      (LP: #1082711)

  Contributed programs

    - A new import_majordomo_into_mailman.pl script has been contributed by
      Geoff Mayes.  (LP: #1129742)

    - A new "sitemap" bash script has been contributed by Tomasz Chmielewski
      <mangoo@wpkg.org> to generate a sitemap.xml file of an installation's
      public archives for submission to search engines.

  i18n

    - The Danish translation has been updated thanks to Tom Christensen.

    - Fixed a string in the Czech message catalog.  (LP: #1234567)

    - A Farsi (Persian) translation has been added thanks to Javad Hoseini and
      Mahyar Moghimi.

    - Fixed several misspelled or garbled string replacements in the Spanish
      message catalog.  (LP: #1160138)

    - pt_BR message catalog has two new and an updated message per Hugo Koji
      Kobayashi.  (LP: #1138578)

    - German message catalog has been updated per Ralf Hildebrandt.

    - Corrected typo in templates/it/private.html.

  Bug Fixes and other patches

    - Fixed a crash in SpamDetect.py which caused messages with unparseable
      RFC 2047 encoded headers to be shunted.  (LP: #1235101)

    - Fixed cron/disabled to send a fresh cookie when notifying disabled
      members.  (LP: #1203200)

    - Added "message_id" to the interpolation dictionary for the Article.html
      template.  (LP: #725498)

    - Changed the admin GUI to report only the bad entries in a list of email
      addresses if any are bad.  (LP: #558253)

    - Added logging for template errors in HyperArch.py.  (LP: #558254)

    - Added more explanation to the bad owner address message from
      bin/newlist.  (LP: #1200763)

    - Fixed a bug causing the admin web interface to fail CSRF checking if
      the list name contains a '+' character.  (LP: #1190802)

    - Fixed bin/mailmanctl -s to not remove the master lock if it can't be
      determined to be truly stale.  (LP: #1189558)

    - It is no longer possible to add 'invalid' addresses to the ban_list
      and the *_these_nonmembers filters from the check boxes on the admindb
      interface.  (LP: #1187201)

    - Backported recognition for mail.ru DSNs and minor bug fixes from
      lp:flufl.bounce.  (LP: #1074592, LP: #1079249 and #1079254)

    - Defended against buggy web servers that don't include an empty
      QUERY_STRING in the CGI environment.  (LP: #1160647)

    - The Switchboard.finish() method now logs the text of the exception when
      it fails to unlink/preserve a .bak file.  (LP: #1165589)

    - The pending (un)subscriptions waiting approval are now sorted by email
      address in the admindb interface as intended.  (LP: #1164160)

    - The subscribe log entry for a bin/add_members subscribe now identifies
      bin/add_members as the source.  (LP: #1161642)

    - Fixed a bug where the Subject: of the user notification of a
      bin/remove_members unsubscribe was not in the user's language.
      (LP: #1161445)

    - Fixed a bug where BounceRunner could create and leave behind zero length
      bounce-events files.  (LP: #1161610)

    - Added recognition for another Yahoo bounce format.  (LP: #1157961)

    - Changed configure's method for getting Python's include directory from
      distutils.sysconfig.get_config_var('CONFINCLUDEPY') to
      distutils.sysconfig.get_python_inc().  (LP: #1098162)

    - Added an Auto-Generated: header to password reminders.  (LP: #558240)

    - Fixed a bug where non-ascii characters in the real name in a subscription
      request could throw a UnicodeEncodeError upon subscription approval and
      perhaps in other situations too.  (LP: #1047100)

    - The query fragments send_unsub_notifications_to_list_owner and
      send_unsub_ack_to_this_batch will now assume default values if not set
      in mass unsubscribe URLs.  (LP: #1032378)

    - Replaced utf-8 encoded characters in newly added German templates with
      HTML entities. (LP: #1018208)

2.1.15 (13-Jun-2012)

  Security

    - Strengthened the validation of email addresses.

    - An XSS vulnerability, CVE-2011-0707, has been fixed.

    - The web admin interface has been hardened against CSRF attacks by adding
      a hidden, encrypted token with a time stamp to form submissions and not
      accepting authentication by cookie if the token is missing, invalid or
      older than the new mm_cfg.py setting FORM_LIFETIME which defaults to one
      hour.  Posthumous thanks go to Tokio Kikuchi for this implementation
      which is only one of his many contributions to Mailman prior to his
      death from cancer on 14 January 2012.

  New Features

    - Added a password reminder button to the private archive login page.
      Backported from the 2.2 branch.

    - There is a new list attribute regular_exclude_ignore set from mm_cfg.py
      DEFAULT_REGULAR_EXCLUDE_IGNORE.  This defaults to True even though the
      prior behavior is equivalent to False.  A True setting will ignore an
      exclude list if the poster is not a member of that list.  The False
      setting can result in list members not receiving posts if the nonmember
      post is not accepted by the exclude list.  Backported from 2.2 branch.

    - Eliminated the list cache from the qrunners.  Indirect self-references
      caused lists to never be dropped from the cache which in turn caused
      the qrunners to grow very large in installations with many lists or
      multiple large lists.  Bug #862683.

    - The user options 'list my other subscriptions' page now indicates for
      each list if the subscription is 'nomail' or 'digest'.  Bug #793669.

    - A new list poster password has been implemented.  This password may only
      be used in Approved: or X-Approved: headers for pre-approving posts.
      Using this password for that purpose precludes compromise of a more
      valuable password sent in plain text email.  Bug #770581.

    - A new mm_cfg.py setting AUTHENTICATION_COOKIE_LIFETIME has been added.
      If this is set to a non-zero value, web authentication cookies will
      expire that many seconds following their last use.  Its default value is
      zero to preserve current behavior.

    - A new mm_cfg.py setting RESPONSE_INCLUDE_LEVEL has been added to control
      how much of the original message is included in automatic responses to
      email commands.  The default is 2 to preserve the prior behavior of
      including the full message.  Setting this to 1 in mm_cfg.py will include
      only the original headers, and 0 will include none of the original.  It
      is recommended to set this to 0 in mm_cfg.py to minimize the effects of
      backscatter.  Bug #265835.

    - A new mm_cfg.py setting DEFAULT_RESPOND_TO_POST_REQUESTS has been added
      to control the default for respond_to_post_requests for new lists.  It is
      set to Yes for backwards compatibility, but it is recommended that
      serious consideration be given to setting it to No.  Bug #266051.

    - A new mm_cfg.py setting DISCARD_MESSAGE_WITH_NO_COMMAND has been added to
      control whether a message to the -request address without any commands or
      a message to -confirm whose To: address doesn't match VERP_CONFIRM_REGEXP
      is responded to or just logged.  It defaults to Yes which is different
      from prior behavior.  Bug #410236.

    - Two new mm_cfg.py settings, BROKEN_BROWSER_WORKAROUND and
      BROKEN_BROWSER_REPLACEMENTS, have been added to control escaping of
      additional characters beyond the standard <, >, &, and " in the web UI.
      See the documentation of these settings in Defaults.py.  The default
      values for these settings result in no change from the prior release.
      Bug #774588.

  i18n

    - Added some missing German templates from Egon Frerich.

    - Added Greek translation from Antonis Limperis.

    - A few errors in the Basque translation are fixed.  Bug #836861.

    - Fixed a misspelling in the German invite.txt template.  Bug #815444.

    - Fixed a missing format character in the Spanish translation.
      Bug #670988.

    - Thanks go to the following for updating translations for the changes in
      this release.
        Thijs Kinkhorst
        Stefan Foerster
        Fabian Wenk

  Bug Fixes and other patches

    - Fixed a bug that could send an admin notice of a held subscription with
      the subject in the user's preferred language instead of the list's
      preferred language and possibly not properly RFC 2047 encoded.
      (LP: #998949)

    - Fixed a possible CPU bound loop in OutgoingRunner if the attempt to
      Connect to the SMTP server throws a socket.error.  (LP: #966531)

    - Fixed a potential crash in the web UI if a language is removed from the
      LC_DESCRIPTIONS dictionary.  (LP: #966565)

    - Added an Auto-Submitted: header to invitations and (un)subscription
      confirmation requests to reduce the possibility of an autoresponder
      confirming the request.  (LP: #265831)

    - Added javascript to the private.html and admlogin.html templates to
      focus the cursor on the entry field.  (LP: #266054)

    - Added CPPFLAGS and LDFLAGS to src/Makefile to support their use.
      (LP: #637652)

    - Stopped removing the trailing slash from the List-Archive: header URL.
      (LP: #964190)

    - A configured version of contrib/courier-to-mailman.py is now created in
      build/contrib/courier-to-mailman.py.  (LP: #999250)

    - Subscription disabled warnings are now sent without a Precedence:
      header.  Bug #808821.

    - Backported 2.2 branch fix for a problem in SpamDetect.py that could
      cause header_filter_rules to fail to match RFC 2047 encoded headers.

    - Fix for bug #629738 could cause a crash in the admindb details display
      if the decoded message body contained characters not in the character
      set of the list's preferred language.  Fixed.  Bug #910440.

    - Added recognition for another Qmail bounce format.

    - Fixed an erroneous seek in the Mailman.Mailbox.Mailbox.AppendMessage
      method that could cause a corrupt mailbox for files opened 'w+'.
      Bug #901957.

    - A held message with a null sender caused a crash in the admindb
      interface.  This is fixed by changing the sender to <missing>.
      Bug #897103.

    - Changed subject prefixing to allow for possible whitespace between an
      'Re' and the following colon when determining how to add the prefix.
      Bug #893290.

    - Fixed a problem where topics regexps would not match RFC 2047 encoded
      Keywords: and/or Subject: headers.  Bug #891676.

    - Fixed misleading response to an email approval of a held message.
      Bug #889968.

    - Added masthead.txt to the list of templates that can be edited via the
      web admin interface.  Bug #266805.

    - Changed the way digest_footer is added to the RFC 1153 (plain) format
      digest for RFC compliance.  Bug #887610.

    - Fixed cron/checkdbs to report unsubscriptions waiting approval.
      Bug #873821.

    - The fix for BUG #266220 (sf1181161) has been enhanced so that if there
      is a pathological HTML part such that the Approved: password text isn't
      found, but it is found after stripping out HTML tags, the post is
      rejected with an informative message.

    - A bug that would cause reset of any new_member_options bits other than
      the four displayed as checkboxes on the list admin General Options page
      whenever the page was updated or bin/config_list attempted to update
      new_member_options has been fixed.  Bug #865825.

    - A problem with the logic avoiding unnecessarily reloading a current list
      object from the config.pck arises if the list is updated by another
      process within the same second that it was last read/written.  That can
      cause the reading of latest version of the list to be skipped.  This has
      been fixed.  Bug #862675.

    - Fixed bin/export.py to accept case insensitive password schemes.
      Bug #833134.

    - Added Tokio Kikuchi's icons to the misc/ and installed icons/
      directories.  Bug #782474.

    - Fixed a problem which could result in raw, undecoded message bodies
      appearing in plain digests and archives.  Bug #787790.

    - Fixed a problem in admindb.py where the character set for the display of
      the message body excerpt was not correctly determined.  Bug #779751.

    - Prevented setting user passwords with leading/trailing whitespace.
      Bug #778088.

    - Mailman now sets the 'secure' flag in cookies set via https URLs.
      Bug #770377.

    - Added a logout link to the admindb interface and made both admin and
      admindb logout effective for a site admin cookie if allowed.
      Bug #769318.

    - Replaced the old Mailman logos and icon that install to Mailman's icons
      directory with the new ones.  If you copy these elsewhere on your
      server, please copy these new ones.

    - Changed bin/genaliases to only call the POSTFIX_*_CMD commands once when
      MTA = 'Postfix'.  Bug #266408.

    - Added a report of the affected members to the warnings issued when
      setting a list with digest members digestable=No and when setting a list
      with non-digest members nondigestable=no.  Bug #761232.

    - Fixed a problem where content filtering could remove the headers from
      an attached message/rfc822 part if the message in that part is
      multipart/alternative and collapse_alternatives is Yes.  Bug #757062.

    - Changed the subscribe CGI to strip leading and trailing whitespace from
      the supplied email address.  Bug #745432.

    - Changed the maximum number of arguments for the who command to be
      considered administrivia from 2 to 1 to help avoid false positives.
      Bug #739524.

    - Added the list name as 'display-name' in added Sender: headers to help
      mitigate Outlook et al 'on behalf of' displays.  Bug #736849.

    - Fixed a typo in the usage() definition cron/gate_news.  Bug #721015.

    - Fixed an uncaught KeyError when poster tries to cancel a post which was
      already handled.  Bug #266224.

    - Held message user notifications now come From: list-owner instead of
      list-bounces.  Bug #714424.

    - Issue an HTTP 404 status for private archive file not found.

    - @listname entries in *_these_nonmembers are no longer case sensitive.
      Bug #705715.

    - Changed bin/rmlist to also remove heldmsg files for the removed list and
      fixed a problem with removal of stale locks for the list.  Bug #700528.

    - Fixed a bug where content filtering could leave a multipart message or
      part with just one sub-part. These should be recast to just the sub-part.
      Bug #701558.

    - Fixed a bug that could erroneously handle posts from addresses in
      *_these_nonmembers and send held/rejected notices to bogus addresses when
      The From or other sender header is RFC 2047 encoded.  Bug #702516.

    - Updated contrib/mm-handler-2.1.10 to better handle lists with names that
      look like admin addresses.  Bug #697161.

    - Added bounce recognition for a bogus Dovecot MDN.  Bug #693134.

    - Fixed a problem where an emailed command in the Subject: header with a
      non-ascii l10n of an 'Re:' prefix is ignored.  Bug #685261.

    - Fixed a problem with approving a post by email when the body of the
      approval mail is base64 encoded.  Bug #677115.

    - Fixed the host name in the From: address of the owner notification from
      bin/add_members.  Bug #666181.
2014-06-14 09:20:49 +00:00
fhajny
61b040cc09 Disable configure-time check for Mailman user & group. Removes the need
to hard code UID/GID when building a binary package.

Fixes PR pkg/44048
2011-12-22 11:06:40 +00:00
hauke
0d94c8cd02 Update Mailman to 2.1.14.1
Partly addresses pkg/25165.

From the package's NEWS file:

2.1.14 (20-Sep-2010)

  Security

    - Two potential XSS vulnerabilities have been identified and fixed.

  New Features

    - A new feature for controlling the addition/replacement of the Sender:
      header in outgoing mail has been implemented.  This allows a list owner
      to set include_sender_header on the list's General Options page in the
      admin GUI.  The default for this setting is Yes which preserves the prior
      behavior of removing any pre-existing Sender: and setting it to the
      list's -bounces address.  Setting this to No stops Mailman from adding or
      modifying the Sender: at all.

      Additionally, there is a new Defaults.py/mm_cfg.py setting
      ALLOW_SENDER_OVERRIDES which defaults to Yes but which can be set to No
      to remove the include_sender_header setting from General Options, and
      thus preserve the prior behavior completely.

    - Bounce processing has been enhanced so that if a bounce is returned to a
      list from a non-member who is a member of a regular_include_list, the
      bounce will be processed as a bounce for the included list.

  i18n

    - Fixed a missing format character in the German bin/mailmanctl docstring.

    - Updated Dutch translation from Jan Veuger.

    - Updated Japanese Translation from Tokio Kikuchi.

    - Updated Finnish translation from Joni Töyrylä.

    - Made a few corrections to some Polish templates.  Bug #566731.

    - Made a minor change to the Chinese (China) message catalog.  Bug #545772.

    - Changed a few DOCTYPE directives in templates for compliance.
      Bug #500952 and Bug #500955.

  Bug Fixes and other patches

    - Made minor wording improvements and typo corrections in some messages.
      Bug #426979.

    - Fixed i18n._() to catch exceptions due to bad formats.  Bug #632660.

    - Fixed admindb interface to decode base64 and quoted-printable encoded
      message body excerpts for display.  Bug #629738.

    - Fixed web CGI tracebacks to properly report sys.path.  Bug #615114.

    - Changed the member options login page unsubscribe request to include the
      requesters IP address in the confirmation request.  Bug #610527.

    - Changed fix_url to lock the list if not locked.  Bug #610364.

    - Made a minor change to the English subscribeack.txt (welcome message)
      template to emphasize that a password is only required to unsubscribe
      *without confirmation*.

    - Fixed an issue in admindb that could result in a KeyError and "we hit a
      bug" response when a moderator acts on a post that had been handled by
      someone else after the first moderator had retrieved it.  Bug #598671.

    - Fixed a bug which would fail to show a list on the admin and listinfo
      overview pages if its web_page_url contained a :port.  Bug # 597741.

    - Fixed bin/genaliases to not throw TypeError when MTA = None.
      Bug #587657.

    - Provided the ability to specify in mm_cfg.py a local domain (e.g.
      'localhost') for the local addresses in the generated virtual-mailman
      when MTA = 'Postfix'.  See VIRTUAL_MAILMAN_LOCAL_DOMAIN in Defaults.py.
      Bug #328907.

    - Made a minor change to the removal of an Approved: pseudo-header from
      a text/html alternative to allow for an inserted '\xA0' before the
      password.

    - Fixed Content Filtering collapse_alternatives to work on deeply nested
      multipart/alternative parts.  Bug #576675.

    - We now accept/remove X-Approved: and X-Approve: headers in addition to
      Approved: and Approve: for pre-approving posts.  Bug #557750.

    - Reordered the 'cancel' and 'subscribe' buttons on the subscription
      confirmation web page so the default action upon 'enter' will be the
      subscribe button in browsers that pick the first button.  Bug #530654.

    - Fixed a bug in the admindb interface that could apply a moderator
      action to a message not displayed.  Bug #533468.

    - Added a traceback to the log message produced when processing the
      digest.mbox throws an exception.

    - Added a urlhost argument to the MailList.MailList.Create() method to
      allow bin/newlist and the the create CGI to pass urlhost so the host
      will be correct in the listinfo link on the emptyarchive page.
      Bug #529100.

    - Added the List-Post header to the default list of headers retained in
      messages in the MIME digest.  Bug #526143.

    - When daemonizing mailmanctl, we now ensure terminal files are closed.

    - Fixed a bug in pipermail archiving that caused fallback threading by
      subject to fail.  Bug #266572.

    - We now give an HTTP 401 status for authentication failures from admin,
      admindb, private, options and roster CGIs, and an HTTP 404 status from
      all the CGIs for an invalid list name.

    - Backported the listinfo template change from the 2.2 branch to fix
      Bug #514050.

    - Fixed a bug where going to an archives/private/list.mbox/list.mbox URL
      would result in a munged URL if authentication was required. Bug #266164.

    - Fixed a bug where check_perms would throw an OSError if an entry in
      Mailman's lists/ directory was not a directory.  Bug #265613.

    - Fixed a bug where a message with an Approved: header held by a handler
      that precedes Approve (SpamDetect by default) would not have the
      Approved: header removed if the held message was approved.  Bug #501739.

2.1.13 (22-Dec-2009)

  i18n

    - Updated Dutch message catalog from Jan Veuger.

    - Added Asturian translation from Marcos Costales and the Asturian
      Language Team.

  Bug Fixes and other patches

    - Added "white-space: pre-wrap" style for <pre> tag in archives.
      Bug #266467.

    - Added vette logging for rejected and discarded (un)subscribe requests.

    - Fixed a bug in admindb.py that could erroneously discard an unsubscribe
      request as a duplicate.

    - Decoded RFC 2047 encoded message subjects for a few reports.
      Bug #266428.

    - Fixed the French, Spanish and Hebrew translations which improperly
      translated the 'coding:' line in bin/config_list output.

    - Fixed the auto-responder to treat messages to -confirm, -join, -leave,
      -subscribe and -unsubscribe as requests rather than posts.  Bug #427962.

    - Configure/make no longer builds Japanese and Korean codecs in
      pythonlib if Python already has them.

    - Inadvertently setting a null site or list password allowed access
      to a list's web admin interface without authentication.  Fixed by
      not accepting null passwords.

    - Changed VERP_CONFIRM_REGEXP  in Defaults.py to work if the replying
      MUA folds the To: header and in cases where the list name includes '+'.

    - Fixed some paths in contrib/check_perms_grsecurity.py. Bug #411192.

    - Replies to commands sent to list-request now come From: list-owner
      instead of list-bounces.

    - Mailman no longer folds long sub-part headers in multipart messages.
      In addition, Mailman no longer escapes From_ lines in the body of
      messages sent to regular list members, although MTA's may do it anyway.
      This is to avoid breaking signatures per Bug #265967.

    - XSS protection in the web interface went too far in escaping HTML
      entities.  Fixed.

    - Removed or anonymized additional headers in posts to anonymous lists.

    - Fixed a bug that could cause incorrect threading of replies to archived
      messages that arrive with timestamps in the same second.

    - Scrubbed HTML attachments containing tab characters would get the tabs
      replaced by a string of '&nbsp' without a semicolon.  Fixed.

    - Caught a TypeError in content filtering, collapse alternatives that
      occurred with a malformed message if a multipart/alternative part
      wasn't multi-part.  Reported in comments to bug #266230.

    - Fixed a few things in bin/update:
      - Changed some old messages for more current meaning.
      - Fixed qfiles update to not lose metadata from 2.1.5+ format entries.
      - Fixed 2.0.x template migration to not die if the templates/ tree
        contains subdirectories from a version control system.

    - Fixed a bug that would show a list on the admin and listinfo overview
      pages if its web_page_url host contained the current host as a
      substring.  Bug #342162.

    - Fixed a bug in Utils.canonstr() that would throw a UnicodeDecodeError
      if the string contained an HTML entity > 255 and also characters in the
      128-255 range.  Bug #341594.

    - Added recognition for more bounces.

    - Updated contrib/mmdsr to report preserved messages and to use mktemp to
      create temp files.
2011-04-07 15:45:37 +00:00
taca
6094b76ec5 Add patches to fix XSS (CVE-2010-3089).
Bump PKGREVISION.
2010-09-24 23:24:30 +00:00
joerg
7865d844d1 DESTDIR support 2010-06-28 09:29:40 +00:00
adam
0c50550352 Changes 2.1.12:
* Fix compatibility with Python 2.6.
* Fixed a bug in admin.py which would result in chunked pages of the
  membership list for members whose address begins with a non-alphanumeric
  character to not be visible or retrievable.
* Changed ListAdmin.py to make rejected post messages From: the -owner
  address instead of the -bounces address.
* With MTA = 'Postfix', if the STANZA END for a list being removed is
  missing or munged, the remainder of the aliases and/or virtual-mailman
  file is lost. Fixed.
* Since Mailman 2.1.1, 2.0.x outstanding subscription and held message
  requests have not been migrated properly. This is fixed.
* Changed cron/gate_news to continue processing the remaining lists on
  certain errors that can be caused by configuration of a particular list.
* Fixed a bug in AvoidDuplicates.py that caused it to fail if the address
  in the To: or Cc: header differed in case from the case-preserved member
  address.
* Fixed a problem in SecurityManager that caused it to not find the
  cookie when CheckCookie was not given a user and the user in the cookie
  had a %xx encoded character.
* Fixed a minor fromusenet reporting issue in the contributed mmdsr
  script.
* Fixed a minor issue in cron/gate_news that could cause a list's
  watermark to not be completely updated.
* Fixed an issue that prevented editing the options.html template from
  the web admin interface.
* Fixed a problem in Decorate which could throw a TypeError on conversion
  to unicode of a header/footer that was already unicode because of
  interpolating a unicode value.
* Fixed an issue where list creation would report bad owner email
  instead of bad listname when the list name had non-ascii characters.
* Updated Dutch, Catalan and Polish translations.
2009-06-03 06:58:55 +00:00
adam
a2de057f6a Changes 2.1.12:
* Fix compatibility with Python 2.6.
* Fixed a bug in admin.py which would result in chunked pages of the
  membership list for members whose address begins with a non-alphanumeric
  character to not be visible or retrievable.
* Changed ListAdmin.py to make rejected post messages From: the -owner
  address instead of the -bounces address.
* With MTA = 'Postfix', if the STANZA END for a list being removed is
  missing or munged, the remainder of the aliases and/or virtual-mailman
  file is lost. Fixed.
* Since Mailman 2.1.1, 2.0.x outstanding subscription and held message
  requests have not been migrated properly. This is fixed.
* Changed cron/gate_news to continue processing the remaining lists on
  certain errors that can be caused by configuration of a particular list.
* Fixed a bug in AvoidDuplicates.py that caused it to fail if the address
  in the To: or Cc: header differed in case from the case-preserved member
  address.
* Fixed a problem in SecurityManager that caused it to not find the
  cookie when CheckCookie was not given a user and the user in the cookie
  had a %xx encoded character.
* Fixed a minor fromusenet reporting issue in the contributed mmdsr
  script.
* Fixed a minor issue in cron/gate_news that could cause a list's
  watermark to not be completely updated.
* Fixed an issue that prevented editing the options.html template from
  the web admin interface.
* Fixed a problem in Decorate which could throw a TypeError on conversion
  to unicode of a header/footer that was already unicode because of
  interpolating a unicode value.
* Fixed an issue where list creation would report bad owner email
  instead of bad listname when the list name had non-ascii characters.
* Updated Dutch, Catalan and Polish translations.
2009-06-03 06:55:07 +00:00
kim
6b093a74e1 Update mailman to 2.1.10 as a security fix for CVE-2008-0564
http://secunia.com/advisories/28794/

Includes many bug fixes, see share/doc/mailman/NEWS for details.
2008-06-29 07:47:03 +00:00
bouyer
f241b41698 Upgrade mailman to 2.1.8rc1, fix a cross-site scripting issue.
pkgsrc changes:
- install the admin/www/mailman-*.{pdf,ps,txt} documentation file, and
  change MESSAGES to point to mailman-install.txt
changes between 2.1.7 and 2.1.8rc1:
- A cross-site scripting hole in the private archive script of 2.1.7
  has been closed.  Thanks to Moritz Naumann for its discovery.
- Bouncers support added: 'unknown user', Microsoft SMTPSVC, Prodigy.net
  and several others.
- Updated email library to 2.5.7 which will encode payload into qp/base64
  upon setting.  This enabled backing out the scrubber related patches
  including 'X-Mailman-Scrubbed' header in 2.1.7.
- Fix SpamDetect.py potential hold/reject loop problem.
- A warning message from email package to the stderr can cause error
  in Logging because stderr may be detached from the process during
  the qrunner run.  We chose not to output errors to stderr but to
  the logs/error if the process is running under mailmanctl subprocess.
- DKIM header cleansing was separated from Cleanse.py and added to
  -owner messages too.
- Fixes: Lose Topics when go directly to topics URL (1194419).
  UnicodeError running bin/arch (1395683).  edithtml.py missing import
  (1400128).  Bad escape in cleanarch.  Wrong timezone in list archive
  index pages (1433673).  bin/arch fails with TypeError (1430236).
  Subscription fails with some Language combinations (1435722).
  Postfix delayed notification not recognized (863989).  2.1.7 (VERP)
  mistakes delay notice for bounce (1421285).  show_qfiles: 'str'
  object has no attribute 'as_string' (1444447).  Utils.get_domain()
  wrong if VIRTUAL_HOST_OVERVIEW off (1275856).
2006-04-10 20:33:12 +00:00
bouyer
68085448ca Upgrade to 2.1.7nb1.
Local change (which is why we have PKGREVISION=1)
Fix http://secunia.com/advisories/18449/ (CVE-2005-4153) based on debian
patches.

Changes between 2.1.6 and 2.1.7:
  Security

    - The fix for CAN-2005-0202 has been enhanced to issue an appropriate
      message instead of just quietly dropping ./ and ../ from URLs.

    - A note on CVE-2005-3573: Although the RFC2231 bug example in the CVE has
      been solved in Mailman 2.1.6, there may be more cases where
      ToDigest.send_digests() can block regular delivery.  We put the
      send_digests() calling part in a try/except clause and leave a message
      in the error log if something happened in send_digests().  Daily call of
      cron/senddigests will provide more detail to the site administrator.

    - List administrators can no longer change the user's option/subscription
      globally.  Site admin can change these only if
      mm_cfg.ALLOW_SITE_ADMIN_COOKIES is set to Yes.

    - <script> tags are HTML-escaped in the edithtml CGI script.

    - Since the probe message for disabled users may reach unintended
      recipients, the password is excluded from sendProbe() and probe.txt.
      Note that the default value of VERP_PROBE has been set to `No' from
      2.1.6., thus this change doesn't affect the default behavior.
  New Features

    - Always remove DomainKey (and similar) headers from messages sent to the
      list. (1287546)

    - List owners can control the content filter behavior when collapsing
      multipart/alternative parts to its first subpart.  This allows the
      option of letting the HTML part pass through after other content
      filtering is done.

  Internationalization

    - New language: Interlingua.

  Bug fixes and other patches

    - Defaults.py.in: SCRUBBER_DONT_USE_ATTACHMENT_FILENAME is set to True for
      safer operation.

    - Fixed the bug where Scrubber.py munges quoted-printable by introducing
      the 'X-Mailman-Scrubbed' header which marks that the payload is
      scrubber-munged.  The flag is referenced in ToDigest.py, ToArchive.py,
      Decorate.py and Archiver.  A similar problem in ToDigest.py where the
      plain digest is generated is also fixed.

    - Fixed Syslog.py to write quopri encoded messages when it fail to write
      8-bit characters.

    - Fixed MTA/Postfix.py to check aliases group permission in check_perms
      and fixed mailman-install document on this matter (1378270).

    - Fixed private.py to go to the original URL after authorization
      (1080943).

    - Fixed bounce log score messages to be more consistent.

    - Fixed bin/remove_members to accept no arguments when both --fromall and
      --file= options are specified.

    - Changed cgi-bin and mail wrapper "group not found" error message to be
      more descriptive of the actual problem.
    - The list's ban_list now applies to address changes, admin mass
      subscribes and invites, and to confirmations/approvals of address
      changes, subscriptions and invitations.

    - quoted-printable and base64 encoded parts are decoded before passing to
      HTML_TO_PLAIN_TEXT_COMMAND (1367783).

    - Approve: header is removed from posts, and treated the same as the
      Approved: header. (1355707)

    - Fixed the removal of the line following Approve[d]: line in body of
      post.  (1318883)

    - The Approve[d]: <password> header is removed from all text/* parts in
      addition the initial text/plain part.  It must still be the first
      non-blank line in the first text/plain part or it won't be found or
      removed at all. (1181161)

    - Posts are now logged in post log file with the true sender, not
      listname-bounces. (1287921)
    - Correctly initialize and remember the list's default_member_moderation
      attribute in the web list creation page. (1263213)

    - PEP263 charset is added to the config_list output. (1343100)

    - Fixed header_filter_rules getting lost if accessed directly and
      authentication was needed by login page. (1230865)

    - Obscure email when the poster doesn't set full name in 'From:' header.

    - Preambles and epilogues are taken into account when calculating message
      sizes for holding purposes. (Mark Sapiro)

    - Logging/Logger.py unicode transform option. (1235567)

    - bin/update crashes with bogus files. (949117)

    - Bugs and patches: 1212066/1301983 (Date header in create/remove notice)
2006-01-21 16:14:24 +00:00
bouyer
e1702d8d01 Apply patch (from debian via Kimmo Suominen) to address
http://secunia.com/advisories/17511/ (denial of service).
2005-12-08 21:09:04 +00:00
bouyer
214cb9851c Update to 2.1.6. Changes (note: the fix for CAN-2005-0202 was already in
pkgsrc as patches/patch-ai):

  Security

    - Added the ability for Mailman generated passwords (both member and list
      admin) to be more cryptographically secure.  See new configuration
      variables USER_FRIENDLY_PASSWORDS, MEMBER_PASSWORD_LENGTH, and
      ADMIN_PASSWORD_LENGTH.  Also added a new bin/withlist script called
      reset_pw.py which can be used to reset all member passwords.  Passwords
      generated by Mailman are now 8 characters by default for members, and 10
      characters for list administrators.

    - A potential cross-site scripting hole in the driver script has been
      closed.  Thanks to Florian Weimer for its discovery.  Also, turn
      STEALTH_MODE on by default.
  Internationalization

    - Chinese languages are now supported.  They have been moved from 'big5'
      and 'gb' to 'zh_TW' and 'zh_CN' respectively for compliance to the IANA
      spec.  Note, however, that the character sets were changed from 'Big5'
      or 'GB2312' to 'UTF-8' to cope with the insufficient codecs support in
      Python 2.3 and earlier.  You may have to install Chinese capable codecs
      (like CJKCodecs) separately to handle the incoming messages which are in
      local charsets, or upgrade your Python to 2.4 or newer.

  Behavior or defaults changes

    - VERP_PROBES is disabled by default.

    - bin/withlist can be run without a list name, but only if -i is given.
      Also, withlist puts the directory it's found in at the end of sys.path,
      making it easier to run withlist scripts that live in $prefix/bin.

    - bin/newlist grew two new options: -u/--urlhost and -e/--emailhost which
      lets the user provide the web and email hostnames for the new mailing
      list.  This is a better way to specify the domain for the list, rather
      than the old 'mylist@hostname' syntax (which is still supported for
      backward compatibility, but deprecated).
  Compatibility

    - Python 2.4 compatibility issue: time.strftime() became strict about the
      'day of year' range.  (1078482)

  New Features

    - New feature: automatic discards of held messages.  List owners can now
      set how many days to hold the messages in the moderator request queue.
      cron/checkdb will automatically discard old messages.  See the
      max_days_to_hold variable in the General Options and
      DEFAULT_MAX_DAYS_TO_HOLD in Defaults.py.  This defaults to 0
      (i.e. disabled). (790494)

    - New feature: subject_prefix can be configured to include a sequence
      number which is taken from the post_id variable.  Also, the prefix is
      always put at the start of the subject, i.e. "[list-name] Re: original
      subject", if mm_cfg.OLD_STYLE_PREFIXING is set No.  The default style
      is "Re: [list-name]" if numbering is not set, for backward compatibility.
      If the list owner is using numbering feature by "%d" directive, the new
      style, "[list-name 123] Re:", is always used.
    - List owners can now cusomize the non-member rejection notice from
      admin/<listname>/privacy/sender page. (1107169)

    - Allow editing of the welcome message from the admin page (1085501).

    - List owners can now use Scrubber to get the attachments scrubbed (held
      in the web archive), if the site admin permits it in mm_cfg.py.  New
      variables introduced are SCRUBBER_DONT_USE_ATTACHMENT_FILENAME and
      SCRUBBER_USE_ATTACHMENT_FILENAME_EXTENSION in Defaults.py for scrubber
      behavior.  (904850)

  Documentation

    - Most of the installation instructions have been moved to a latex
      document.  See admin/www/mailman-install/index.html for details.

  Bug fixes and other patches

    - Mail-to-news gateway now strips subject prefix off from a response
      by a mail user if news_prefix_subject_too is not set.

    - Date and Message-Id headers are added for digests. (1116952)
    - Improved mail address sanity check.  (1030228)

    - SpamDetect.py now checks attachment header.  (1026977)

    - Filter attachments by filename extensions.  (1027882)

    - Bugs and patches: 955381 (older Python compatibility), 1020102/1013079/
      1020013 (fix spam filter removed), 665569 (newer Postfix bounce
      detection), 970383 (moderator -1 admin requests pending), 873035
      (subject handling in -request mail), 799166/946554 (makefile
      compatibility), 872068 (add header/footer via unicode), 1032434
      (KNOWN_SPAMMERS check for multi-header), 1025372 (empty Cc:), 789015
      (fix pipermail URL), 948152 (Out of date link on Docs),  1099138
      (Scrubber.py breaks on None part),  1099840/1099840 (deprecated %
      insertion),  880073/933762 (List-ID RFC compliance),  1090439 (passwd
      reminder shunted), 1112349 (case insensitivity in acceptable_aliases),
      1117618 (Don't Cc for personalized anonymous list), 1190404 (wrong
      permission after editing html)
2005-06-01 23:25:07 +00:00
kim
a553ff54dc Upgrade to 2.1.5 due to security issues:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-1177
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-1143
2005-03-02 21:09:56 +00:00
tv
094100f2ee Apply patch from Mailman maintainers to fix vulnerability described in:
http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-0202
2005-02-14 16:56:38 +00:00
lukem
ce7b33aeac Allow IMAGE3_URL IMAGE3_IMG and IMAGE3_ALT to be specified in mm_cfg.py to
override the third image in the web pages (which is currently the "gnu head").
2004-09-06 04:12:46 +00:00
xtraeme
b171aa5185 Update to 2.1.4, provided by Min Sik Kim in PR pkg/24083.
Changes:

    - Close some cross-site scripting vulnerabilities in the admin pages
      (CAN-2003-0965).
    - New languages: Catalan, Croatian, Romanian, Slovenian.
    - New mm_cfg.py/Defaults.py variable PUBLIC_MBOX which allows the site
      administrator to disable public access to all the raw list mbox files
      (this is not a per-list configuration).
    - Expanded header filter rules under Privacy -> Spam Filters.  Now you can
      specify regular expression matches against any header, with specific
      actions tied to those matches.
    - Rework the SMTP error handling in SMTPDirect.py to avoid scoring bounces
      for all recipients when a permanent error code is returned by the mail
      server (e.g. because of content restrictions).
    - Promoted SYNC_AFTER_WRITE to a Default.py/mm_cfg.py variable and
      make it control syncing on the config.pck file.  Also, we always flush
      and sync message files.
    - Reduce archive bloat by not storing the HTML body of Article objects in
      the Pipermail database.  A new script bin/rb-archfix was added to clean
      up older archives.
    - Proper RFC quoting for List-ID descriptions.
    - PKGDIR can be passed to the make command in order to specify a different
      directory to unpack the distutils packages in misc.  (SF bug 784700).
    - Improved logging of the origin of subscription requests.
    - Misc bugfixes.
2004-01-14 01:46:29 +00:00
xtraeme
ba66919f95 Update to 2.1.3 from pkgsrc-wip via Todd Vierling. This also closes
PR pkg/22820.

Changes:

      - Closed a cross-site scripting exploit in the create cgi script.

      - Improvements in the performance of the bounce processor.
        Now, instead of processing each bounce immediately (which
        can cause severe lock contention), bounce events are queued.
        Every 15 minutes by default, the queued bounce events are
        processed en masse, on a list-per-list basis, so that each
        list only needs to be locked once.

      - When some or all of a message's recipients have temporary
        delivery failures, the message is moved to a "retry" queue.
        This queue wakes up occasionally and moves the file back to
        the outgoing queue for attempted redelivery.  This should
        fix most observed OutgoingRunner 100% cpu consumption,
        especially for bounces to local recipients when using the
        Postfix MTA.

      - Optional support for fsync()'ing qfile data after writing.
        Under some catastrophic system failures (e.g. power lose),
        it would be possible to lose messages because the data
        wasn't sync'd to disk.  By setting SYNC_AFTER_WRITE to True
        in Mailman/Queue/Switchboard.py, you can force Mailman to
        fsync() queue files after flushing them.  The benefits are
        debatable for most operating environments, and you must
        ensure that your Python has the os.fsync() function defined
        before enabling this feature (it isn't, even on all
        Unix-like operating systems).

And more... please review Changelog to see a complete list of changes.
2003-12-23 11:02:13 +00:00
bouyer
3ba2b249e1 Initial import of mailman package (posted to tech-pkg on Aug, 01)
Maiman is a e-mail list manager. It includes a web interface for
management from a user (subscribe/unsuscribe) and administrator point
of view, as well as the traditionnal command-though-emails management.
It also offers web-browsable mailing-list archives.
2002-08-23 15:28:17 +00:00