./mail/sympa, Mailing list manager

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 6.2.16, Package name: sympa-6.2.16, Maintainer: bouyer

Sympa is a mailing-list manager. As such, its goal is to automate all
mailing-list operation such as subscription with automatic authentication,
unsubscription, but also archiving message, sending digests on a regular
basis, expiration of addresses, and so on.

Sympa is developped by the CRU (French Universities Network Committee) ;
it is distributed under the terms of the GNU General Public License
Version 2.

Sympa is designed to be highly customizable, easy to manage and efficient.
Sympa is therefore a nice solution for managing small intranet mailing
lists as well as very large ISP mailing list services.

Required to run:
[sysutils/p5-File-Copy-Recursive] [textproc/p5-Regexp-Common] [textproc/p5-XML-LibXML] [www/p5-CGI] [www/p5-FCGI] [www/p5-HTML-Tree] [www/p5-HTML-Format] [www/p5-libwww] [www/p5-Template-Toolkit] [misc/p5-Locale-libintl] [databases/p5-DBI] [databases/p5-DBD-Sybase] [databases/p5-perl-ldap] [archivers/p5-Archive-Zip] [lang/perl5] [net/p5-Net-DNS] [net/p5-SOAP-Lite] [security/p5-IO-Socket-SSL] [security/p5-Crypt-CipherSaber] [security/p5-Net-SSLeay] [time/p5-DateTime] [time/p5-DateTime-Format-Mail] [mail/p5-MIME-Lite-HTML] [mail/p5-Email-Simple] [mail/mhonarc] [mail/p5-MIME-tools] [mail/p5-MailTools] [devel/p5-File-NFSLock] [devel/p5-Proc-ProcessTable] [devel/p5-Net-CIDR] [devel/p5-Net-Netmask] [devel/p5-Term-ProgressBar] [devel/p5-IO-stringy] [mail/p5-MIME-EncWords] [www/p5-HTML-StripScripts-Parser] [mail/p5-Email-Date-Format] [textproc/p5-Unicode-LineBreak] [security/p5-AuthCAS] [www/p5-CGI-Fast]

Required to build:

Master sites:

SHA1: 3ccf1ebff9e0b97c0ad5b58b59c5d9d30bccc1f2
RMD160: 7a0e1f4aefd6cd676c8a9cbc335e75126a6871be
Filesize: 11564.22 KB

Version history: (Expand)

CVS history: (Expand)

   2017-03-20 11:24:02 by Manuel Bouyer | Files touched by this commit (6) | Package updated
Log message:
Update sympa to 6.2.16. Notable changes since 6.2.7

This version finally fixes the old problem for primo-installation when the
sympa wizard would not start to generate the sympa.conf... because the
sympa.conf file was empty.

In addition, Soji fixed a timeout problem when Sympa closed a list, because
Sympa spent ages checking whether the list was included or not in another one.
He simply added a table registering the lists inclusions to speed up the
checking process. And because fixing the problem was not enough to him, he
also added a new page in the Sympa web interface to visualize lists inclusions.
In summary, what you have now is:
    "including_lists" page to get lists including particular lists. \ 
This page
       is accessible only by list owners and listmasters.
    Now looping by include_list settings can be detected. Inclusion is skipped
       if a setting will cause looping.
    the new 'include_sympa_list' parameter obsoletes 'include_list' in list
       config and named data sources. Older one may still be used as it is
       mapped to newer one internally.

The subindex page did not allow to actually accept/reject subscriptions. This
was because of a badly named parameter being passed to the templates.

WWSympa does no longer respect HTTP request header fields noticing the request
was forwarded ("X-Forwarded-Host:" etc.). In particular cases, you may \ 
adjusting configuration.

Now wwsympa_url parameter defines the URL publicly accessed by users.
Contrarily "http_host" and "cookie_domain" parameters \ 
indicate the URI and/or
domain which are locally recognized by wwsympa, i.e taken form "http_host"
("Host:" field) and "request_uri" CGI environments.
"Location:" response field sent by wwsympa to cause redirection also gives
local URL.

If requests sent from users to wwsympa are rewritten by intermediate
server(s), you should make sure that wwsympa server and rewriting server(s)
are appropriately configured.

a new parameter, use_tls, appears to replace obsoleted "use_ssl" and
"use_start_tls" parameters; note that these obsoleted parameters can \ 
stil be
used. But the new one is way more convenient: "use_tls" takes one of \ 
values corresponding to old ones:
        "starttls" : use_ssl=0, use_start_tls=1.
        "ldaps" : use_ssl=1, use_start_tls=0.
        "none" : TLS/SSL is disabled.
Now STARTTLS may be enabled in LDAP datasource configuration of lists
along with LDAPS.
The "Feedback" link will now be visible by listmasters only! We received
enough mails from end users mis-interpreting this link with their local
helpdesk. :-|
Now [% path_cgi %] template variable respects "wwsympa_url" configuration
parameter. Previously it was taken from CGI environment variable.

Soji also improved Sympa daemons to capture the SIGCHLD signal, so that
defunct children will be closed quicker.

As we tend to change the CSS regularly according to the different feedback you
send us, we added the Sympa version number in the CSS file URL, so that it will
be automatically reloaded, ignoring cache, when your users arrive on the web
interface after an upgrade.

Changing web_archive_spam_protection did not update spam protection mode on
  past archives. Fixed by applying spam protection at the time of display, not
  when archives were created / rebuilt.
base element in web output should be eliminated, because it will mess reverse
  proxy and so on. Fixed by making partial URIs to be redirected to base URI.
WWSympa: Cannot view attachments in bounce messages and moderated messages.
  Fixed by correcting inappropriate relative URL paths.
   2017-01-19 19:52:30 by Alistair G. Crooks | Files touched by this commit (352)
Log message:
Convert all occurrences (353 by my count) of

	MASTER_SITES= 	site1 \

style continuation lines to be simple repeated


lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
   2016-06-08 21:25:20 by Thomas Klausner | Files touched by this commit (2236) | Package updated
Log message:
Bump PKGREVISION for perl-5.24.
   2016-05-17 12:32:09 by Filip Hajny | Files touched by this commit (36)
Log message:
for all pkgsrc dir/file ownership rules. Fixes unprivileged
user/group names from leaking into binary packages, manifest as
non-fatal chown/chgrp failure messages at pkg_add time.

Bump respective packages' PKGREVISION.
   2016-03-05 12:29:49 by Jonathan Perkin | Files touched by this commit (1813) | Package updated
Log message:
Bump PKGREVISION for security/openssl ABI bump.
   2015-11-04 00:27:24 by Alistair G. Crooks | Files touched by this commit (312)
Log message:
Add SHA512 digests for distfiles for mail category

Problems found locating distfiles:
	Package mutt: missing distfile patch-1.5.24.rr.compressed.gz
	Package p5-Email-Valid: missing distfile Email-Valid-1.198.tar.gz
	Package pine: missing distfile fancy.patch.gz
	Package postgrey: missing distfile targrey-0.31-postgrey-1.34.patch
	Package qmail: missing distfile badrcptto.patch
	Package qmail: missing distfile outgoingip.patch
	Package qmail: missing distfile qmail-1.03-realrcptto-2006.12.10.patch
	Package qmail: missing distfile qmail-smtpd-viruscan-1.3.patch
	Package thunderbird24: missing distfile enigmail-1.7.2.tar.gz
	Package thunderbird31: missing distfile enigmail-1.7.2.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-09-26 16:56:10 by Manuel Bouyer | Files touched by this commit (14) | Package updated
Log message:
Update to 6.2.7. Lots of change since 6.1.24, see
for complete list.
Main changes are:
Tracking feature
The tracking feature is a way to request DSN or DSN + MDN when sending
a message to each subscribers. In that case, Sympa (bounced.pl) collect both
DSN and MDN and store them in a new table "notification_table".
Then, for each message, the list owner can display which subscribers has
displayed, received or not received the message. This can be used for some
important lists where list owner need to collect the proof of reception or
display of each message. This page is accessible via archive

Spools back to filesystem
Because of stability and scalability issues, spool for bulk sending no
longer depend on database tables: It is based on filesystem.

Now Sympa stores data whenever one of the following event occurs:
	a message is sent to a list;
	a user subscribed to a list;
	a user unsubscribed from a list;
	a user is added to a list by another user;
	a user is removed from a list by another user;
	a user is removed from a list by the automatic bounce management;
	a file is uploaded to the shared directory;
	a file is deleted from the shared;
	a message to a list is rejected in moderation;
	a user logs in to the web interface;
	a user logs out;
	a list is created;
	a list is deleted;
	a list is restored;
	a human user (not a harvester) hits a page.

These data are regularly aggregated by the task_manager.
The aggregated data are available to users, owners and listmaster in
their respective interfaces.

Web interface
The most visible is probably the new web interface skin.
It is nicer, simpler, responsive and retains all the customization
capabilities that make Sympa adaptable to your needs.
Exclusion table was just a display of the users excluded. This page is now
a form, similar to the review page, which allows to restore users subscriptions.

Added "Add subscriber" button to modindex page if the sender is not \ 
It may be useful because users need not know about SUB command and sympa
command address. The buttons appear only when Web user is the list owner.

The "Customizing" link was moved from main list admin to list config sub
section as list related text files are in a way list configuration parameters
as well.
Better password validation. When the user requests change of password via
WWSympa or SympaSOAP, new password may be checked its strength.
New parameter password_validation may be used to customize policy of password
validation. See help text of the parameter for more details.

Web services

Full VOOT 2.0 protocol support. VOOT is an opensocial subset to manage group
membership. full details on this IETF draft here: http://openvoot.org.
This feature enables Sympa to be both group provider and consumer in the VOOT
The soap server now exposes full review with owners, editors and gecos to list \ 
masters and list owners.

Plug, plug, plug...

We added or improved several ways to plug new functionnalities in Sympa.
Template plugins

This feature allows to package code to be used in templates. It enables
foreign data integration in Sympa's UI and emails, user specific
UI enhancement and much more! Integrating user targeted data retreived through
a call to a webservice becomes possible in a simple way, automatically adding
info from a database to outgoing emails as well !
Further details here : https://www.sympa.org/manual/templates_plugins

Enhanced custom actions functionality

Custom actions are used to run specific code and/or display user defined
templates. They can be executed in list or global context (it is up to you
to decide what to do in both cases). Previously, a custom action was a
simple TT2 template added to the web interface. It could only display data,
not process them. They were improved to allow greater expressiveness.
You can now develop a perl module to process the data passed to your
custom action.


Mail hooks

Sympa::Message::Plugin provides hook mechanism to intervene in processing by
Sympa. Each hook may modify messages or may break ordinary processing.
This functionnality is quite new and still experimental. Please read the
perldoc of Sympa::Message::Plugin for more details about how to create and \ 
enable hooks in message handling.

Custom attributes provisionning

Custom attributes can now be provisionned using external data sources,
the same way as email addresses. For now, only SQL or LDAP datasources are
supported. To use this feature, you need first to define the custom attributes
as previously. This attribute must have the same name as the fields used in
your queries.

Synchronization disabling

In several organizations, nightly maintenances make the datasources
unavailable during some period of times. a new sub-parameter in data sources
definition allow to prevent Sympa from trying to synchronize list members
with these sources during a defined time range.

A recurrent question regarding list inclusion was to be able to extract not the \ 
whole list, but only a subset. It is now possible.

include_list parameter value can now look like this:

<listname> filter <filter_condition>

ODBC is now supported for email data sources.
sql, ldap and ldap2 user inclusions now handles gecos. It uses 2nd returned
column for sql and 2nd given attribute for ldap (comma separated).
Now "host" parameter of the LDAP datasource in list config may include URLs
(ldap, ldaps and ldapi) along with hostnames. So "port" and \ 


Now CustomCondition can set the action to take (do_it, reject ...) by
setting $_, this allows for complex, single-module CustomConditions.
"[msg_header#field][index]" returns the value of particular field.
Index may be negative. - "[msg_header#field]" still returns list of field
values, additionally, ordering will be preserved. Fixes:
Conditions is_listmaster, is_owner, is_editor and is_subscriber can
handle multiple values.
They also parse arguments as header field values to get address parts.

New parameters

New list parameter: 'member_include'. This parameters allows to defined
.incl files to include list members, the same way it is done for list admins.
This grants extended flexibility in datasources, allowing list owners to tweak
their own data sources without accessing to the actual details of the query
made to gather email addresses.
New sympa.conf config parameter "sender_headers" to specify header \ 
fields by
which message sender is detected. This is a enhancement to
S. Shipway's improvement.
RFC: What is the reasonable default for this parameter?
Behavior of one time ticket lock-out is configurable.
Two new robot parameters were introduced:
"one_time" won't allow access again. This is previous behavior.
"remote_addr" will lock the ticket on remote address accessed at first \ 
"open" will never lock-out tickets.
one_time_ticket_lifetime: Duration before ticket expires. Default is \ 
"2d", previous hardcoded value.
Changes of list config parameters on archiving. New parameter
"process_archive" controls archiving. The default is "off":
To enable archiving, it must be set to "on" explicitly. OTOH even if
archiving is disabled by setting it "off", past archives will be kept
and accessible according to access settings.

Config files

wwsympa.conf will no longer be used: it would be migrated to sympa.conf.

Alias management uniformization

Now alias maintenance utilities other than newaliases may be used without
special configure options nor patch to alias_manager.pl. Changes:

aliaswrapper and virtualwrapper were deprecated and replaced with \ 
New alias management program sympa_newaliases.pl which will typically be
called by alias_manager.pl via sympa_newaliases-wrapper.
New site configuration parameters aliases_db_type and aliases_program will
control behaviour of alias database maintenance.

openssl dependency dropped

openssl(1) utility is no longer required. Instead, a few CPAN modules are \ 
required to use S/MIME or SSL features:


The parameter "openssl" in sympa.conf was obsoleted. Note that \ 
p12topem.pl still needs openssl: To make it work, PATH environment variable \ 
should be set appropriately.

i18n titles in configuration.

List families scenari

Now you can define a "scenari" directory in the lists family directory.
These scenarii will be available for lists instantiated from this family.
List families addistional files

Until now, only the config.tt2 file was parsed when the family was
instantiated, thus producing the lists' config file. As a lot of other files
can be used to configure a list (footer, header, etc.), we added the
possibility to instantiate these files as well. The list of files parsed
(in addition to config.tt2) when instantiating a family are defined in
a new (sympa.conf and robot.conf) parameter called 'parsed_family_files'.
This parameter must contain a comma-separated list of file names.
If these files exist, with the '.tt2' extension added to their name,
in a family, they will be parsed and added to the list directory.

The default value of the parameter is: \ 

These files are updated in existing lists when a family is instantiated.
note that it will overwrite any other customization.
On the web automatic lists

Widely extended logs when the log_module parameter is activated with the
value 'scenario': all scenario results are evaluated. Remember that extended
logs can be limited by the IP or the email of the user, using the
'log_condition' parameter. log_module and log_condition are now declared in
sympa.conf instead of wwsympa.conf. Remember these parameters syntax:

log_module: can take the value "scenario" - only.
log condition: takes a character string as value. The form is
"ip=<an.ip>,email=<an_email>". You can put ip alone, email \ 
alone or both,
with the comma-separated form.

Listmaster notifications can now be grouped. If, for a specific robot,
several notifications are issued within a short period of time with the
same operation code only the first ones are sent, the next ones are stacked.
The stacking ends when no notifications are issued anymore, or when the first
one is too old. All the stacked notifications are then sent as attachments of
a single message. Internal settings : Stack if more than 3 notifications with
the same operation code are issued for the same robot - Send stacked
notifications if no new one satisfying the condition above was received for
more than 30 seconds - Send stacked notifications if the oldest one was issued
more than 60 seconds ago

sympa.pl -health_check checks config files, database connection and structure,
and data structure version.
Daemons such as sympa.pl no longer check database structure nor data version.

File extension of lock files are changed from ".lock" to \ 
".LOCK", because lowercase name can conflict with domain part in the \ 
   2015-07-12 20:56:37 by Thomas Klausner | Files touched by this commit (405)
Log message:
Comment out dependencies of the style
since pkgsrc enforces the newest perl version anyway, so they
should always pick perl, but sometimes (pkg_add) don't due to the
design of the {,} syntax.

No effective change for the above reason.

Ok joerg