***** Changes which are not compatible with previous versions are ***** listed using "*****"in the margin. Please check this at least. (See Changelog file for the full changes log) 6.0b.2 31 July 2009 Features: No new features. Just stabilisation of the 6.0 beta version. Changes: src/confdef.pm: define longer period for default values of cleandelay_xx parameters src/lib/List.pm, /src/lib/confdef.pm: Now ttl and distribution_ttl list parameters take their defaults in default_ttl and default_distribution_ttl sympa.conf parameters. po/de.po, po-wwsympa/de.po: [Submitted by M. Warkus, univ. Marburg] Updated German translation. ***** The directory in which all the default configuration files and directories is installed ***** is now "default", under the root installation directory. In the previous release, it was ***** share/sympa/default. You should remove this directory now to avoid confusion. New configure option: '--enable-fhs'. Sympa supports two kinds of files hierarchies. The historical one, where by default all is gathered in the Sympa directry, and also the FHS recommended hierarchy. Now if the '--enable-fhs' configure option is set, Sympa is installed according to the FHS. Otherwise, it is installed using the historical paths. Bug fixes: src/sympa_wizard.pl.in: [Reported by P. Maes, univ. Louvain] Net::Netmask CPAN module was not checked by the Sympa wizard, though it is required. d_install_shared.tt2, mail_tt2/moderate.tt2, mail_tt2/modindex.tt2, mail_tt2/user_notification.tt2, mail_tt2/welcome.tt2, po/fr.pomail_tt2/moderate.tt2: [Submitted by P. Maes, univ. Louvain] The one time ticket URL was included in the internationalization message. It had no sense, as an URL won't be translated, and any change in the layout (such as putting the URL in another line) would break the translation key. Fixed by putting the URL out of the i18n string. src/etc/script/create_db.mysql: [Submitted by D. Ayre, univ. E. Carr, Vancouver] A missing comma in create_db.mysql made the creation script fail with an SQL error. src/lib/Conf.pm: [Reported by M. Warkus, univ. Marburg] When using the default robot, wwsympa.conf parameters were not taken into account, only the default values set in confdef.pm. The value could only be set in sympa.conf. This was due to the load_robots function which initialized the config with default values and sympa.conf values and then looked for customized values for virtual hosts only. Fixed by replacing default values by their equivalent in wwsympa.conf when found. wwsympa/wwsympa.fcgi.in: [Reported by Wen Si] Single value and single instance list parameters value could not be removed using the web interface. fixed by *not* going directly to the next parameter in do_edit_list when such a parameter is found empty. src/lib/Upgrade.pm: [Reported by A. Suter, crox.net] "0" character was not allowed in md5 encoded passwords. Changed regular expression to allow it. src/lib/Sympa/Constants.pm.in: [Reported by N. Matthies] Typo in ARCDIR constant declaration. src/task_manager.pl.in: [Reported by N. Matthies] The task manager failed to process the eval_bouncers and purge_orphan_bounces tasks because the corresponding functions did not return 1. It cause the manager to conclude there had been an error. Makefile.am, configure.ac: [Reported by N. Matthies] It looks like some "general_task_models" and "task_models" directory still installed in the etc directory. These directory are not used anymore. this was due to a command in Makefile.am installing "non writable directories". These directories were all isntalled in a separate part of the install process, using their normal names and location. src/lib/Conf.pm, src/lib/confdef.pm: Sympa doesn't complain anymore when an optional parameter is missing in robot.conf. src/lib/Bulk.pm: [Reported by Wen Si] A query in the Bulk.pm module was using MySQL-specific SQL orders. This caused Oracle (and probably Sybase too) to fail to lock packets in database. Fixed by splitting the query into a selection followed by an update, and by tweeking it on the base of the RDBMS used. src/etc/script/create_db.SQLite, src/lib/Upgrade.pm: [Submitted by M. deranek, slonko.net] SQLite support was broken in Sympa, due to syntax errors. src/etc/script/ldap_alias_manager.pl.in: --modulesdir-- placeholder was badly spelled in ldap_alias_manager.pl, cauing it not to be replaced by its real value at install time. src/sympa_wizard.pl.in: Removing useless warning when the 'file' parameter is not indicated in the confdef.pm parameter definition. This 'file' parameter is used only when we want to write a value by default in the config file. Otherwise default value will be used. 6.0b.1 16 June 2009 Features: ***** New bulk.pl daemon installed with Sympa. This daemon is dedicated to mail distribution and ***** allows to parallelize this process on a single server as well as on multiple servers. ***** The main bulk.pl processes will automatically fork new processes, depending on the amount ***** of messages left in the database. You can control this behavior with the parameters ***** bulk_fork_threshold, bulk_max_count,bulk_fork_threshold, see below. ***** ***** Messages spool used by the bulk.pl daemon is stored in the database, in two tables : ***** - bulkspool_table : one entry per message ***** - bulkmailer_table : subset of receipients for each message ***** New associated sympa.conf parameters : ***** - bulk_fork_threshold : minimum number of packets in database before the bulk forks to increase sending rate ***** - bulk_max_count : max number of bulks that will run on the same server ***** - bulk_lazytime : number of seconds a slave bulk will remain running without processing a message before ***** it spontaneously dies ***** - bulk_wait_to_fork : number of seconds a master bulk waits between two packets number checks ***** - sympa_packet_priority : default priority set to a packet to be sent by the bulk (for future use) ***** - pidfile_bulk : location of the daemon PID file ***** [Olivier Lumineau, CRU] Fresh new web CSS for the web interface. ***** Here is the list of changes in the web interface : ***** - New css.tt2 ***** - A new Sympa logo :-) ***** - New navigation menu through list admin menu and server admin menu ***** - Miscellaneous modifications in templates (list_admin_menu.tt2 not used anymore) ***** WARNING : if you customize your own templates you may notice some mess in the page layout. ***** In such a case compare your templates to the distributed version and report any difference ***** to your own files... ***** Replace storage of password with encryption by md5 fingerprint. This ***** make remind password impossible. So now a one time ticket table is created ***** ticket are sent by email as an authentication token. Ticket can be used ***** for lost password, create account, moderation request . It should be ***** generalized to all operation that need a email chalenge. ***** ***** sympa.pl --md5_encode_password change password encoding in the database using md5.So IT IS NOT REVERSIBLE, ***** so you should save the database (in a safe place to protect password) ***** ***** <WARNING><WARNING><WARNING><WARNING><WARNING><WARNING><WARNING><WARNING><WARNING> ***** ***** UPGRADING TO SYMPA 6.0 WILL NOT BE REVERSIBLE! ***** BECAUSE WE DRASTICALLY CHANGED THE WAY THE PASSWORDS ARE STORED, ONCE YOU UPGRADED TO 6.0 ***** YOU WILL NEVER BE ABLE TO USE THE SYMPA DATABASE WITH A PREVIOUS VERSION AGAIN (UNLESS YOU ERASE ALL PASSWORDS) ***** SO IF YOU'RE NOT SURE YOU WILL KEEP SYMPA 6.0, ***** ***** MAKE SURE YOU SAVED YOUR DATABASE BEFORE UPGRADING! ***** ***** MAKE SURE YOU SAVED YOUR DATABASE BEFORE UPGRADING! ***** ***** <WARNING><WARNING><WARNING><WARNING><WARNING><WARNING><WARNING><WARNING><WARNING> src/Conf.pm, src/sympa_wizard.pl: Four new languages are now available by default in Sympa: - BokmÃ¥l (B. C. Aasgaard) - Polish (L. Zygmanski) - Finn (J.P. Paloposki) - Vietnamese (C. Siddall) Thanks to the translators for their efforts! /po/Makefile: New make command: "clean-po". Updates the PO catalogues but doesn't try to save strings that disappeared in this version. New button to toogle select/unselect all spams in modindex page New propertie in object message : spam_status . This feature is used in modindex (listing of message waiting for moderation) to show message tagued as spam. 4 new parameters : - antispam_feature default off - antispam_tag_header_name default X-Spam-Status - antispam_tag_header_spam_regexp default ^\s*Yes - antispam_tag_header_ham_regexp default ^\s*No If you change antispam_feature to value 'on' the other parameters default are compatible with spamassassin defaults. src/sympa.pl: new sympa.pl options in order to recode shared document files and solve charset slag src/Conf.pm: Legacy character set support (submitted by S. Ikeda) is now enabled if the 'legacy_character_support_feature' sympa.conf parameter is set to on. New parameter 'legacy_character_support_feature'. If set to 'on', legacy character support will be enabled, as discussed in https://listes.cru.fr/sympa/arc/sympa-dev/2006-09/msg00029.html and its follow-ups. Any other value or no definition at all disables the functionnality. Now http://server/sympa/<a valid listname> is redirect to http://server/sympa/info/<a valid listname> insteed of "unkown action" error New database table in order to store robot config parameters that can be edited inline. This feature is used for color edition in sympa admin/skinsedit New scenario test : less_than. (Submitted by S. Amrani, gendarmerie nationale). It Allows to compare two values. Is true if the first one is less than the second one. Works with strings, too, if you like. Now sympa.pl --test_database_message_buffer can be used in order to verify database capacity to store messages spool (dirty output a nicer is needed ;-) New delivery_time list parameter in order to make distribution at a specified time Now template of lists created using web interface can use any input from the create_list_request form referenced as [% custom_input.VARNAME %] New parameter 'inclusion_notification_feature'. If its value is set to 'on', subscribers are notified when they are included in a list through an external datasource. We no longer use the visibility to manage this behaviour to avoid confusion for users and an overwhelming number of scenario evaluations. New inline color editor (skins section from "sympa admin") New [% editor_msg_body %] mail_tt2 variable : When rejecting a message by email reject command, the message body is transmisted to the tt2 parser so it is now possible to print the message body in the notification sent to the original message sender. The tt2 var to use is [%editor_msg_body%] The change_email feature has been rewritten as follows: - using authenticating URLs to check the new user email (instead of collecting his password) - provide an equivalent listmaster feature to change a user's email address - check if user is included ; if so, notify the list owner - rename list member picture if he changes his member email address [Peter Hart] Message moderation : Added a new function for the moderation of messages. On rejection of messages personalised messages can be created and saved and used to give more information as to why these messages were refused by the moderator. [Peter Hart] New scenario condition verify_netmask. exemple : verify_netmask('1.12.123.00/24') (changes in intanet scenrii are just comment because we don't have access to the local netmask of installation) [Roland Hopferwieser] Extended the ldap_alias_manager.pl to use template to create LDAP entries. Also added a simulation mode for debug purpose. New sympa;conf parameters to control logging for a specific module. Current version provide only logs for scenario . - log_condition is used to controle in which case logs are applied. Both are multivaluated (list of values comma separated). Example: log_module scenario,smtp - log_condition ip=127.0.0.1,email=foo@domain - log_module is not implemented for most modules. 'log_module smtp' should replace the option sympa.pl -m Clone list : a new way to create lists : creation list form allows now to clone a list as a new empty list, all config and customization are copied but not subscribers, archives and shared. Changes: ***** [Submitted by G. Rousse, INRIA] A lot of modification brought to the autotools usage in Sympa. ***** This is still a work in progress, but should make the life of Sympa packagers quite easier once it is finished. ***** This work has greatly simplified all Makefiles, turned into Makefile.am ***** Substitutions in perl modules are now performed at the "make" time, no more during "make install" ***** ***** HERE IS THE LIST OF SIGNIFICANT CHANGES REGARDING THE INSTALLATION PROCESS: ***** - Default sympa configuration files, previously stored in PREFIX/bin/etc/ are now stored in ***** PREFIX/share/default/ directory ***** ***** - Most --with-xxdir configure options are now obsolete, replaced by equivalent standard --xxdir options ***** Here is the list of concerned options : ***** --with-etcdir => --sysconfdir ***** --with-bindir => --bindir ***** --with-sbindir => --sbindir ***** --with-libexecdir => --libexecdir ***** --with-datadir => --with-defaultdir ***** --with-libdir => --with-modulesdir ***** --with-localedir => --localedir ***** --with-mandir => --mandir ***** --with-docdir => --docdir ***** --with-sampledir => now installed with the documentation ***** ***** - Most default installation directories have been change to adopt standard FHS-compliant locations ***** However, the distributed tar.gz still uses most of the previous locations to make upgrade process ***** less awkward. If you run "./configure ; make ; make install" with the tar.gz things will install as ***** usually. ***** If you run autoconf, it will define the set of target directories either the old way ***** or the FHS way, depending on wether it finds an existing /etc/sympa.conf file. ***** ***** - Removed obsolete sudo wrappers ; Sympa now includes C wrappers for both wwsympa.fcgi and sympa_soap_server.fcgi ***** Check the manual <http://www.sympa.org/manual/index> for more informations on that topic ***** New required library : gettext-devel ***** New required CPAN modules : ***** - AuthCAS : replaces the Sympa's CAS.pm own library ***** - File::Copy::Recursive ***** - Net::Netmask ***** - Term::ProgressBar ***** - Time::HiRes ***** - MIME::Lite ***** - MIME::Lite::HTML ***** - Email::Date::Format [Submitted by G.Rousse, INRIA] check_perl_modules.pl now replaced with sympa_wizard.pl --check. All recent changes in check_perl_modules.pl have been reported in sympa_wizard.pl When subscribing to a list, the confirmation popup now shows up only if no custom attributes will be used; Otherwise, this would require that the user confirm twice : first in the popup, then in the custom attributes form; Also adapted the text displayed in the submission form to custom attributes. No more require Net::SSLeay perl module. Using LWP::UserAgent instead Now, when performing "make update-po", the catalogue file to update is temporarily saved to avoid losing strings from beta version when updating stable version, or vice-versa. Both updated and saved files are then merged. If a message is tagued as a spam and if it is to be moderated or rejected, do not send a report information to the message sender even if the scenario did not return 'quiet' directive Now message for moderation is not attached in the message sent to the moderator if tagued as spam. Now archives by thread or by chronologie is a session attribute (and a user preference). This feature also fix a bug related to the way archives are cached by client. Now page are "static" for robots (as detected by SympaSession) and dynamic for any others. Now if antispam_feature is configured, sympa robot will ignore incomming command messages if tagued as spam. By the same way, spam messages for listmaster, list-request and list-editor will be ignored. Such messages are moved in spool bad and message-id is loggued. New structure %required_args defining required parameters, %required_privileges defines required privileges to run actions and new subroutine check_action_parameters() that does the checking. Removed 1200 lines of code in wwsympa.fcgi Changes regarding SOAP session management : * SOAP session now uses the session DB table * session_id can be validated, checked, used in authenticateAndRun() * sympa_soap_client.pl has been extended : new --session_id option, new supported service --service=getUserEmailByCookie No more store unknown bounces in OTHER directories. They are now kept in a bad/ subdirectory in the bounce spool. When subscribing to a list, the confirmation popup now shows up only if no custom attributes will be used; Otherwise, this would require that the user confirm twice : first in the popup, then in the custom attributes form; Also adapted the text displayed in the submission form to custom attributes. css modifications for different internet explorer versions compatibilities Notifications are now sent to users, for remind, add and del commands, only if the visibility is set to true for these users. Notifications can now be sent to users included by external data sources, when they are added or removed from user list. Recent versions of Oracle do support the AS clause Web interface: - Adding HTML comments in web templates to help users spotting which template is used for customizing purpose. - Alphabetical index of lists in lists action. - added contextual help links whenever appropriate - thread/chronological archive sorting is now a user session preference Use homogenous terminology for authentication. Also use one-time tickets for web signoff now [reported by Micah Anderson, Riseup] Micah reported problems with the use of $* instead of /m in the parser.pl module. It was a good oportunity to remove the old parser code that was used by the task_manager only. The task_manager now uses the TT2 parser. It forces us to change the task template format for structured variables : [x->y] should now be written [x.y]. [submitted by Peter Langhans, univ Zurich] in create_list form, bring back the form if a parameter is missing [proposed by Peter Langhans, univ Zurich] made units for list parameters translatable Add "toggle selection" button in list of closed lists Now raising an error if alias_manager failed to install new aliases [#713] Now notifying new list owners/moderator as they are added to the list configuration. [#534] added more informations to the reviewbouncing page (bounce total, first bounce and last bounce date). Now printing "no score" when the bounce score could not be computed Show custom attributes as cells in the list members html table. Now it can be copy&paste in openoffice or excel. SOAP server : Changes regarding SOAP session management : - SOAP session now uses the session DB table - session_id can be validated, checked, used in authenticateAndRun() - sympa_soap_client.pl has been extended : new --session_id option, new supported service --service=getUserEmailByCookie [Reported by L. Gentis, IUFM Lorraine]When updating a config file while the upgrade process, the "email" parameter value of the "update" paragraph was set to 'listmaster'. However, this value was validated against a regexp for emails. this produced an error log, as 'listmaster' is not a valid email address. Fixed by allowing 'listamster' and 'automatic' strings in this regexp. 'automatic will be used to designate updates done by processes instead of users. Message moderation : - Now message for moderation is not attached in the message sent to the moderator if tagued as spam. Bug fixes: Unsorted: - When storing subscription requests, Sympa ignored subscription request if an user had already asked for a subscription, event if the new request was for another list. Fixed by checking the list name before searching previous subscription requests for the user. - [#3953] Lock.pm imports some constants from Fnctl module and used to redefine them. it resulted in warnings while running wwsympa.fcgi : "Prototype mismatch: sub Lock::LOCK_SH () vs none at /usr/share/sympa/lib/Lock.pm line 38. Constant subroutine LOCK_SH redefined at /usr/share/sympa/lib/Lock.pm line 38.". Removed duplicate definitions. - [#3990][Submitted by A. Berstein, electricembers.net] The quiet option had been deactivated from the "reject" mail command. Bounce management : - When a bounce file could not be created, nothing was done, so at the next bounced.pl iteration, the faulty report was still present. In such a case, the bounce report is now moved to bad. - [reported by H.Rousseau]: bounced.pl would fail to create files in OTHER/ if From contained incorrect chars. The bounced.pl process would loop on these files. Now such bounce files are moved to the bad/ subdirectory. Init.d script: - Sympa start and stop script used the "status" command for system whose OSTYPE was 'linux-gnu'. These systems don't seem to have such a command. - Error in the status check for plain gnu-linux stystems. - [Submitted by P. Brown, univ.Southern California] init script sympa was broken for Solaris. It used some syntaxes not supported by this OS' shell language. Install process : - [#3898][Submitted by M. Keisler, mitsein.net] Fix: When checking perl version, Sympa was using human readable version notation (5.8.8 for example) instead of the format returned by $] (5.008008 for example). - [#4453][reported by Chris Hastie] Added dependencies for HTML::TreeBuilder and HTML::FormatText CPAN modules Internationalization : - [#3919][reported by M.Denarek] Error "missing locale parameter" would happen whenever a notification is sent to the listmaster before the current language et set. Now using the default language when set. Also initialized the default language with 'en'. - [submitted by A.de Bignicourt, UREC] : fixed a charset problem with custom attributes LDAP: - [Reported by F. Perrichon, univ. Lille 2 and C. Zimmer, univ. Nice Sophia Antipolis] LDAP 2 level queries failed as soon as one of the queries failed during the second passe. Sympa now just issues a warning in the logs, specifying that a part of the second passe was not successful. - [Submitted by O. Menkens, Fraunhofer IAIS] Wrong error handling of LDAP searches caused Sympa to be unable to sychronize sources. Some attributes in the LDAP search were not correctly passed to the function. List configuration : - [#3229][#3237][#3518][Reported by T. Berry, NASA and D. Lalot, univ. Aix-Marseille] Lock failed when two processes were reading the same file, then one of them switched to write mode. It could then modify the file while the other process was reading, leading to uncomplete informations gathered from reading. Fixed by changing behaviour: Now if a process wants to switch to or from write mode, it first release the file lock at the filesystem level, then tries to put a new one. this way, switching to write mode is controlled by the filesystem. - [#3713][Reported by A. Bernstein, evil-wire.org] Call to functions in the Storage CPAN module could lead to Sympa processes dying because these functions could issue "croak" message. Fixed by enclosing these call into eval{} blocks. - [#3596] "spam_protection" list parameter was not used. Just the robot parameter value. - The anti-XSS mecanism HTML-escape outgoing parameters before web pages are parsed. This leads to quotes '"' replaced with " while editing list parameters. This could break SQL queries for example. The fix consists in unescaping HTML characters in edit_list function. - When notifying the listamaster that an owner had changed her/his mail address, the message was croped. Only on affected list name was displayed instead of the full list. this was due to a bad parameter sending to the tt2 engine and to a bad syntax in TT2 FOREACH directive. - When removing the last data source by manual edition of the config file, the task manager didn't do the last synchronization needed to remove the last included subscribers. Fixed by checking if a data source still exist after each synchronization (instead of before). - [Reported by V. Mathieu, univ. Nancy 2] When deleting the last data source, the subscribers list was not correctly updated. Fixed by restoring a faulty test in wwsympa.fcgi. - It was possible to manually remove all the list owners. This is now impossible by taking into account the minimal cardionality of complex list parameters. List creation : - create_list notification failed if listname contained uppercased chars - When a list was created, Sympa failed to display the liste activation page to listmaster if an info file didn't exist for this list. Fixed by testing the existence of this file, and, if it isn't found, displaying an informative message instead. Message moderation : - [#3790][Reported by R. Tassoni, National Library of Australia and T. Danel] When displaying a message to moderate in the web interface, if a document was attached to the message, the link to display the message lead to empty documents. This was because we didn't take into account the fact that MHonArc put the file in a subdirectory. Fixed by changing the kind of ergument file passed from scalar to vector. MIME : - [#3702][Reported by A. Bernstein, electricembers.net] Some malformed headers caused Sympa to crash by calling a method on an undefined MIME::Entity::head object. Fixed by testing the definition of this object before calling the method. RDBMS support : - [M.Redinger] reported problems with field names upper cased with Oracle. Now forcing lower cased field names. - [Submitted by B.C. Aasgaard, Univ. Oslo] Fix several errors int Postgres database definition and usage in Sympa 6. - [Reported by M. Jozsef, Budapest University of Technology and Economics] When fetching queries result into a hash, the case of each key string was unsure, as some RDMS could return higher cased field name, for example. This led to apparently empty queries result when trying to acces a lower case field value that had been returned with a higher case name. Fixed by systematically lowercasing the field name when fetching results in a hash. - [Submited by Ryan Fox] Patch to allow informix external data source. - [submitted by Peter Langhans, univ Zurich] fixed oracl-related issues ($parameter longer than 100 chars would make errors and "date" is a reserved keyword with Oracle) Security: - [reported by T. Retout] SQL injection threat removed by using place holders instead of direct sprint in a query. - [Submitted by N. Bertrand, univ. Minnesota] Basic logs in debug don't issue the password unencrypted in the logs for function Auth::ldap_authentication. This way, this password won't be sent unencrypted to a possible syslog server. - [#4439] [#4440] [reported by O.Berger] security vulnerability which use a file in /tmp. - [#4430] store temporary files in Sympa's own tmp directory instead of /tmp to prevent symlink attacks Shared web documents : - [#1809][Reported by P. von der Hagen, univ. Karlsruhe] Files in the shared directory with regexp special characters could not be renamed. Fixed by using "\Q" escape signal at the beginning of the regexp (s/\Q$strtofind/strtosubst/). - [Submitted by H. Moa] When accessing an rss-feed for the shared files of a list upgraded from 5.2b, wwsympa entered a tight-loop, load went up to 100%, the webfrontend failed making the webserver reply with 500 and a single-processor system had to be rebooted. The list in question had no shared files. Fixed by checking that we don't use double slashes in the path to the shared directory. S/MIME : - [Submitted by W. Werner, Fraunhofer-Institut SIT] Message signature verification didn't work if user used different certificate for signing and encrypting AND didn't send both in each message, like Kmail does. - [Submitted by W. Werner, Fraunhofer-Institut SIT] The path that Sympa used to look for encryption keys had '.enc' instead of a '@enc' in the file name. SOAP server: - [reported by S. Bilbeau, univ. Rennes 1] For trusted applications, when declaring an application in trusted_applicaitons.conf, if the app name contained a higher case character, the application was not found, because Sympa compared the app name to its lower-cased version. Fixed by comparing two lower case strings, thus making the app name completely case insensitive for Sympa. Web archive: - Fixing a problem in custom archiver : now the custom archiver MUSt accept two parameters : list and filename. Both parameters are filled by archived.pl at execution time. wwsympa.conf must contain the absolute path to the custom archiver script if admins to use this feature. - [Reported by F. Guilleux, CRU] Searching for a string containing some special characters provoked various errors. Fixed by escaping characters at the moment we use the search engine and not just when parising the characters. - [Reported by M. Kretchner, INRIA] It was impossible to remove a message from web archvives or to rebuild them. this was due to a regexp to prevent archived.pl from using dot-starting files added by some Linux distribution (as Gentoo). Fixed by extending the regexp. Web authentication : - Login banner was shown even though no user_table entry was listed in auth.conf - [Reported by M. Gorecka-Wolniewicz, Nicolaus Copernicus univ., Torun] In some cases, CAS logout didn't work, due to a value of "0" trnaformed into an empty string in the session cookie. Fixed by upgrading CGI version. - [#3947][Reported by S. costard Univ. Haute Bretagne] In the case of CAS authentication, a CAS ticket was requested for any request in the web interface. Fixed by ensuring that the user email is attached to the session. - Fix web pages in order to give appropriate messages when requesting first password or password renewal. - Fix incorrect password storage when crating a new user (add_user_db did not use password finger print as update_user_db does) - [#4543] When multiple "ldap" entries were defined in the auth.conf file, only the first one was queried. Also fixed a bug with the default scope being "base", now "sub". Web interface: - [Reported by M.P. Laisne, Rennes Academy] email change through the user preferences in the web interface was our of order. This was due to a bad initialization of old and new email parameters. Fixed by using values associated to the ticket. - [Reported by A. Stephens, Bristol University] A [% list %] TT2 var was trailing after e return directive in javascript. - [Reported by F. Guilleux] the W3C gives recommendations for the use of GET and POST: http://www.w3.org/2001/tag/doc/whenToUseGet.html#checklist. Sympa was not fully compliant to these recommendations, leading for example to possible unwanted list deletion by administrators using prefetching tools. Fixed by replacing all the threatening GET requests by POST requests. - When using the multiple add form, it was difficult to create a list by copy / paste, because a javascript erased any data in the textarea on click event. Fixed by modifying said javascript. - [Submitted by M. Keisler, mitsein.net] Sympa refused to save topics which contained dashes in their name, due to an excessively selective regexp. Consequently, it was showing lists with such topics as topicsless. Fixed by accepting dashes in their regexp. Topics can now contain any alphanumeric, plus '-' and '_'. That should be enough for most needs. - DB logs : 'logs_expiration_period' sympa.conf parameter was not loaded. As a result DB logs were expired every day. Also added an error message if two virtual hosts use the same URL. Web list config edition form : - default value for parameters like owner/visibility are now compliant with the default value defined in %List::pinfo. - is the edit_list context, some unedited parameters were shown as edited. This has been fixed. Web template edition : - [Reported by J.M. Beuken, univ. cat. Louvain] Fix: When copying a template through the web interface, HTML was not unescaped before writing the file. c onsequently, the file used to reload the page for template edition had escaped HTML. for critical files such as main.tt2 or title.tt2, this caused the web page diaply to choke on tt2 parse errors. - Copy_template failed when multiple directories had to be created (mail_tt2/ll_CC for example). Now calling mkdir_all() from tools::mk_parent_dir(). Also fixed a typo regarding authz errors handling 5.4.3 05 May 2008 Features: po/ja.po, po/web_help_ja.po: Introduction of the huge work in progress by Soji Ikeda to update the Japanese translation of the user interface and translate the online help in Japanese. po/ru.po: Updated Russian translation. src/Commands.pm: [#3990][Submitted by A. Berstein, electricembers.net] The quiet option has been reactivated for the "reject" mail command. Bug fixes: wwsympa/archived.pl: [Reported by M. Kretchner, INRIA] It was impossible to remove a message from web archives or rebuild these archives. This was due to a regexp to prevent archived.pl from using dot-starting files added by some Linux distribution (as Gentoo). Fixed by extending the regexp. check_perl_modules.pl: [Reported by M. Gorecka-Wolniewicz, Nicolaus Copernicus univ., Torun] In some cases, CAS logout didn't work, due to a value of "0" transformed into an empty string in the session cookie. Fixed by upgrading CGI version. src/task_manager.pl, wwsympa/archived.pl, wwsympa/bounced.pl: [#3957][Reported by O. Berger, Telecom & Management SudParis] When launching Sympa daemons (other than sympa.pl) with an unknown option, the daemon was still launched instead of failing to launch. 5.4.2 14 April 2008 Features: po/zh_CN.po: [Submitted by Li Xuejiang, Zhao Yongming, Yahoo!] Simplified Chinese is now fully translated. Changes: src/List.pm, src/Upgrade.pm: [Reported by L. Gentis, IUFM Lorraine]When updating a config file while the upgrade process, the "email" parameter value of the "update" paragraph was set to 'listmaster'. However, this value was validated against a regexp for emails. this produced an error log, as 'listmaster' is not a valid email address. Fixed by allowing 'listamster' and 'automatic' strings in this regexp. 'automatic will be used to designate updates done by processes instead of users. Bug fixes: wwsympa/wwsympa.fcgi: [#3947][Reported by S. costard Univ. Haute Bretagne] In the case of CAS authentication, a CAS ticket was requested for any request in the web interface. Fixed by ensuring that the user email is attached to the session. src/List.pm: [Submitted by W. Werner, Fraunhofer-Institut SIT] The path that Sympa used to look for encryption keys had '.enc' instead of a '@enc' in the file name. src/List.pm: [Submitted by W. Werner, Fraunhofer-Institut SIT] Message signature verification didn't work if user used different certificate for signing and encrypting AND didn't send both in each message, like Kmail does. src/Upgrade.pm, src/etc/script/create_db.SQLite: [#3915][Submitted by M. Deranek, slonko.net] SQLite support was broken for the session table. 5.4.1 01 April 2008 Bug fixes: /wwsympa/wwsympa.fcgi: [Reported by J.M. Beuken, univ. cat. Louvain] When copying a template through the web interface, HTML was not unescaped before writing the file. c onsequently, the file used to reload the page for template edition had escaped HTML. for critical files such as main.tt2 or title.tt2, this caused the web page diaply to choke on tt2 parse errors. Changes: src/Lock.pm: Increasing log levels in low level functions of Lock.pm. 5.4 27 March 2008 Bug fixes : /wwsympa/wwsympa.fcgi: While processing a subscription request, first check if user is member of the list /wwsympa/bounced.pl: When a bounce file could not be created, nothing was done, so at the next bounced.pl iteration, the faulty report was still present. In such a case, the bounce report is now moved to bad. /wwsympa/wwsympa.fcgi: Anybody loading a page from the web archives would presented a HTTP header for the page expiration corresponding to the last time the archive file was modified (this was introduced to limit multiple harvesting of hte same page by web crawlers). The drawback was that, when browsing archives, all the page is not staitc, just the part related to archives. This posed problems for session management. Fixed by testing if a user is a crawler prior to define the expiration header. /wwsympa/wwsympa.fcgi: [#3790][Reported by R. Tassoni, National Library of Australia and T. Danel] When displaying a message to moderate in the web interface, if a document was attached to the message, the link to display the message lead to empty documents. This was because we didn't take into account the fact that MHonArc put the file in a subdirectory. Fixed by changing the kind of ergument file passed from scalar to vector. src/etc/scenari/access_web_archive.intranet, src/etc/scenari/review.intranet, src/etc/scenari/visibility.intranet: [#3744] [remote_addr] variable might not be available for a scenario. [env->remote_addr] should be used instead wwsympa/wwsympa.fcgi: [#1809][Reported by P. von der Hagen, univ. Karlsruhe] Files in the shared directory with regexp special characters could not be renamed. Fixed by using "\Q" escape signal at the beginning of the regexp (s/\Q$strtofind/strtosubst/). src/Lock.pm: [#3229][#3237][#3518][Reported by T. Berry, NASA and D. Lalot, univ. Aix-Marseille] Lock failed when two processes were reading the same file, then one of them switched to write mode. It could then modify the file while the other process was reading, leading to uncomplete informations gathered from reading. Fixed by changing behaviour: Now if a process wants to switch to or from write mode, it first release the file lock at the filesystem level, then tries to put a new one. this way, switching to write mode is controlled by the filesystem. wwsympa/SympaSession.pm, wwsympa/wwsympa.fcgi: Bug related to session lost when RSS access comes from the same browser as web browser. src/PlainDigest.pm: [#3702][Reported by A. Bernstein, electricembers.net] Some malformed headers caused Sympa to crash by calling a method on an undefined MIME::Entity::head object. Fixed by testing the definition of this object before calling the method. src/List.pm: [#3713][Reported by A. Bernstein, electricembers.net] Call to functions in the Storage CPAN module could lead to Sympa processes dying because these functions could issue "croak" message. Fixed by enclosing these call into eval{} blocks. src/etc/script/create_db.Pg: [Reported by S. Kristoffersen, univ. Oslo] Missing "DROP TABLE session_table;" line in Pg creation script. Field id_session in table session_table had the type "int4" which was too small for the size of session id. Fixed by changing type to int8. wwsympa/wwsympa.fcgi: [#3479] http://listes.mydomain.fr/sympa/dump/mylist/light returned an error if authentication was required and not satisfied. Now Sympa asks for authentification instead. wwsympa/wwsympa.fcgi: [#3596] "spam_protection" list parameter was not used. Just the robot parameter value. Changes: src/SQLSource.pm: [M.Redinger] Reported problems with field names upper cased with Oracle. Now forcing lower cased field names. src/Commands.pm, src/List.pm, src/report.pm: [#3636] When accepting multiple subscription requests, the list of pending subscription was not updated. This was due to two loops over email addresses one the one hand and over files on the other hand which were embedded in the wrong order, causing only the first file to be parsed. When an authorized subscription request is received, if the sender is subscribed already, the request is rejected. 5.4b.1 31 January 2008 New features : [A.de Bignicourt, UREC]: Custom user attributes This feature allows the use of per list custom user attributes. Once defined by the list owner, a form will be presented to new list members on the subscription web page. These custom attributes are either optional or mandatory. The list owner will then see the provided user information while taking the subscription decision. Custom attributes can later be viewed from the review page and editsubscriber page. Custom attributes are stored in a dedicated field of the subscriber_table DB table, as XML data. wwsympa/wwsympa.fcgi: Anti-XSS protection. Sympa escapes any HTML that is not its generated by its templates. Some exceptions are the homepage file, which is filtered using the perl module HTML::StripSripts. [#3235][requested by T.Berry, NASA] Allow list owners and editors to set a visibility option. If set to 'conceal', the person is not listed in the list panel. This new option also applies to owner_include and editor_include parameters. [requested by S.Carmody, Internet2] New 'remove_outgoing_headers' sympa.conf and list parameter. This parameter allows to define a list of SMTP header fields that should be removed before a message is distributed to list members. Thus it even makes it possible to remove the header fields that Sympa sets. The existing 'remove_headers' can now be set in a list config file. New 'ignore_x_no_archive_header_feature' sympa.conf parameter ; if set to 'on', x-no-archive SMTP header field is ignored if found in an incoming message (sympa will archive the message). custom_vars. Users can define custom parameters in lists and use them in scenarios and mail templates. User pictures are now showed (if available) in the web archives. Pictures are showed to authenticated users only, to prevent web harvesters to get them. Online help is now internationalized. Use [%helploc%] tags anywhere in the code to create strings that will be located in web_help.po catalogue. [#3520][Submitted by C. Paul, evil-wire.org] New parameter in sympa.conf: "allow_subscribe_if_pending". Default value is "on". If set to "off", it is forbidden to add subscribers (through wwsympa) to a list whose status is different from "open". [#3357][P.Baumgart, British Telecom] LDAP alias manager is now LDAPS enabled and can be configured via a separate configuration file. We've also added a new 'alias_manager' sympa.conf parameter that allows to use such alternate mail aliases management scripts. Add custom button in main menu by config https://www.sympa.org/wiki/manual/conf-parameters/part1#main_menu_custom_button [requested by B.Thale, Motorola] Keep the 'nomenu' attribute from page to page. Note that the nomenu attribute is lost whenever the user hits a button that uses POST. A better implementation would require the nomenu attribute to be attached to the user session. Five new languages supported in Sympa: Almost complete: - Korean: Mark Smith and Kang Tae-Hee (HP) - Simplified Chinese: Mark Smith and Xun Yan (HP) - Tradional Chinese: Mark Smith (HP) Still partial but on good way: - Russian: Chernysh - Catalan: Jordi Deu-Pons Changes : Character strings in po files are now sorted following the files they are found in and their order of apparition in the files. src/Scenario.pm: Now, in scenari using SMTP header fields, if a message exists, the value of the header is defaulted to an empty strings if it is empty or missing. ***** NOTE 1 :YOU MAY HAVE TO CHANGE YOUR WEB SERVER CONFIGURATION! We definitely disabled the setuid solution to run **wwsympa.fcgi**. ***** If the script you used in your web server configuration was wwsympa.fcgi (to whom you had attributed the "S" bit) you MUST change ***** your Apache configuration so that the script you use becomes wwsympa-wrapper.fcgi instead of wwsympa.fcgi. ***** NOTE 2 :YOU MUST CHANGE YOUR SOAP SERVER CONFIGURATION! We ALSO definitely disabled the setuid solution to run **sympa_soap_server.fcgi**. ***** If the script you used in your web server configuration was sympa_soap_server.fcgi (to whom you had attributed the "S" bit) you MUST change ***** your Apache configuration so that the script you use becomes sympa_soap_server-wrapper.fcgi instead of sympa_soap_server.fcgi. wwsympa/wwsympa.fcgi: Now wwsympa switches to maintenance mode if not run under the right user id. It quits the maintenace mode as soon as the user id is the good one. web_tt2/review.tt2: The Dump button is now proposed to list owners only src/List.pm, src/SQLSource.pm: [#3550] Change: Changed the SQLSource module to keep track of existing DB handler and their status. The new code allows to save connect() if $dbh already exists. It also allows to prevent multiple "DB connectoin" notifications to be sent to the listmaster ; only the first one is sent. mail_tt2/listmaster_notification.tt2, wwsympa/archived.pl, src/tools.pl: [#3388] If archived.pl can't create the list archive directory when archiving the first message, a notification is set to the listmaster, and the message is saved to spool/outgoing/bad. mail_tt2/listmaster_notification.tt2, wwsympa/bounced.pl: When a problem occurs while handling a bounce, the message is saved to a "spool/bounce/bad" directory. src/List.pm: [#3219][Charles Paul, evil-wire.org] Optimizations to List::get_list and List::get_which. List::get_lists() calls from List::get_which() now only load lists of interest, ie those that were determined by querying the subscriber_table DB table. src/List.pm: [#1174] default_user_options now applies to included list members. Sympa now ignore most user attributes coming from the original data source (date, update_date, reception, visibility). It make sence to adopt this behavior because these data were set in another list's context and should not be inherited in the new list. src/Conf.pm, web_tt2/menu.tt2, wwsympa/wwsympa.fcgi: [#3537] In web archives, sets a "Last-Modified" HTTP header to prevent frequent web-harvesting. [#2989][Reported by J.C. Delepine, univ. Picardie] If "apply" has the value "forced", then a single "reply" button is available, without any choice. The reply is sent to the addresses specified by "value". Otherwise, the user has three choices: reply to sender, to list or to both. Web mail composer is now able to send messages to several recipients. Genralization of "use strict vars" wwsympa/SympaSession.pm, wwsympa/wwsympa.fcgi: Reduce SQL queries for sessions. Don't exist if new session abort. Also renew the cookie (a random used as session_id) so it make session hijacking much more difficult. src/List.pm: [#3611][Reported by A. Berstein, electricembers.net] Adds a "Precedence:" field with value "bulk" in addition to the preexisting one with the value "list" to let MS exchange autoresponders ignore mails from Sympa. src/Task.pm: [Reported by M. Deranek, slonko.net] task_manager now ignores files whose name starts with a dot in the spool directory. this done to avoid errors in distributions (such as gentoo) which add doted (system) files in the file system. src/sympa.pl, src/List.pm: [#3253][Reported by P. Ferrari, riseup.net] When all editors and owners have set their reception mode to "nomail", a message is sent to all of them instead of generating an internal server error and sendinf a message to listmaster. src/Commands.pm, src/List.pm, src/Scenario.pm, src/sympa.pl, src/tools.pl: [#3662][Submitted by J. Kirkland, westover.org] Message headers can now be used by any scenario. Admin can use, for example, match([msg_header-><HeaderName>],/someregexp/) smtp -> do_it in a scenario, for any message header. web_tt2/add_request.tt2: multiple_add : a JS to clear textarea on click src/List.pm: [Reported by C. desmoulins and J. Beretta, Orange] During an LDAP include, we didn't check if an email address was present several times, leading to a database field "include_sources_subscriber" containing the LDAP source id as many times as the address had been found. Fixed by preventing an address to be taken into account if it has been met already in the LDAP query result set. Bug fixes : src/Log.pm: Sympa no longer crashes when logs are not available. src/List.pm, /src/admin.pm: When a new Lock object is created, we didn't check that the object tcreation had succeeded. On one occasion, it made task-manager to crash. Now, if the object isn't defined after the "new" invocation, the functions return undef. wwsympa/wwsympa.fcgi: [#3363][Reported by M. Deranek, slonko.net] The HTML document date was set to 1 jan 1970 instead of current date, causing some browser to be unable to unlog because they seem to compare cookie date to document date for expiration purpose. src/SQLSource.pm, /src/Upgrade.pm:[#3305][#3136][#3319] [Reported by G. Haverkamp and M. Deranek] Support of SQLite was broken. src/List.pm: [#3298][Reported by A. Ma and S. Ikeda] Fix: Sympa would add a "Re:" to each reply, leading to possibly very long chains of "Re:" in messages subjects. src/List.pm: [#3182][Reported by G. Bouteille, univ. Rennes 1 and J.H. Belpois, univ. Brest] Fix: When instantiating a family with list containing an include_sql_query paragraph, new parameters appeared in the paragraph (db_user, db_host, db_psswd). This was because we used to pass a ref to the hash containing list config values to functions which added values to this hash. We now pass a copy of this hash, temporary values are then never added to the hash finally saved. wwsympa/wwsympa.fcgi: [#3334, #3308][reported by C.Peck, wm.edu and D. Stefano] Dump of bouncers would only return the first 25 entries. src/tools.pl: [#3499][reported by R.Morvan] Prevent sympa.pl to crash while processing malformed multipart command message. Error message is "Can't call method "effective_type" on an undefined value". Now tools::as_singlepart() does not recurse with an undefined $msg parameter. wwsympa/wwsympa.fcgi: sympa was not able to create missing picture directory in a recursive way src/Log.pm: [#3137][Reported by M. Walther, Sun] Error in SQL request for web logs visualization. "GROUP BY" was used instead of "ORDER BY". web_tt2/rss.tt2: [#2959] [proposed by Luoh Ren-Shan] escape sensible chars in RSS title soap/SympaTransport.pm, src/task_manager.pl, wwsympa/wwsympa.fcgi: Some Sympa processes did not initialize the List.pm cache between 2 requests. It could lead to false responses from these processes that still used the cache in memory. web_tt2/menu.tt2, wwsympa/wwsympa.fcgi: [#3541] The code and web templates have been changed to still provide the list of topics, even though the default_home is set to 'lists'. wwsympa/wwsympa.fcgi: [#3466] Could no more change user's email from the preference page. wwsympa/bounced.pl: [Reported by M. Anderson, riseup.net] Sympa didn't support ARF format correctly. errors were thrown when Original-Rcpt-To field was missing, though this field is optional. We now separate two steps of control: the Feedback-Type field value control and the Original-Rcpt-To field value control. wwsympa/bounce-lib.pl: [Submitted by M. Quintero, North Central College, Naperville, IL] Bounces from Postfix were not always properly spotted due to a bad identification of the postfix bounce message. Fixed by extending the regexp to match a new kind of message. mail_tt2/listmaster_notification.tt2, src/List.pm: [#3272][Reported by M. Anderson, riseup.net] In some cases still to elucidate, the "verp_rate" parameter trailing percent sign disappears before being use. This would mak sympa crash. We now return undef if this parameter hasn't the right structure. web_tt2/main.tt2, wwsympa/wwsympa.fcgi: [#2222] RSS feeds for web archives and shared documents are only proposed if access to these contents is available and public. This is required because RSS does not provide authentication methods. wwsympa/wwsympa.fcgi: [#3397] while running change_email(), don't try to update the member in DB if new email address is already member of the list. src/Conf.pm, src/sympa.pl, task_manager.pl, tools.pl: [#3234] Bounces in spool/bounce/OTHER/ were never cleaned up. Cleaning is now intergrated into the "expire_bounce" task, and the existence duration of such bounces is ruled by a new parameter : clean_delay_queueother. soap/sympasoap.pm, src/Commands.pm: [#1287] ADD commands are now rejected if user is already member. This will prevent multiple welcome messages to be sent. src/Family.pm: [Reported by D. Lalot, univ. Aix-Marseille] Opening XML files when instantiating families would make Sympa crash under Debian Etch. Fixed by switching "<:utf8" opening mode to "<:raw". src/Family.pm, src/List.pm: [#3528][Reported by D. Lalot, univ. Aix-Marseille] A list created by family instantiation without "config_changes" file in its directory would be set to status "error_config". Now, if the file is missing we assume that no changes occur. We still set the list in status error_config if the file exists but can't be opened. **Same behaviour implemented with the file "param_constraint.conf".** mail_tt2/invite.tt2: [Reported by M. Bouissou] Invite message suggested to reply to the message to accept to subscribe to a list. This led to an answer with "unknown command" error. Fixed by removing this message and giving an answer address and an appropriate subject string for people who couldn't hit the "mailto" link. src/sympa.pl: [Reported by M Bouissou] Command "quit" was ignored in mail commands. This was due to the correction of bug fix in Rev 3548: "Commands starting with 'qui' would be skipped, including QUIET". Fixed by removing comments and changing the regexp to match lines containing 'quit', 'stop', 'end' or '-' ONLY. wwsympa/wwsympa.fcgi: [#3661][Reported by S. Kristofferesen, univ. Oslo] In-Reply-To header did not follow rfc2822 format: opening '<' and closing '>' were missing. src/tools.pl: [Reported by C. Andrews, Boston College] Ampersand character was forbidden in email addresses though it is authorized by the RFC 2822. web_tt2/copy_template.tt2: [#3032][Submitted by J. Kirkland] It was impossible to copy a template through wwsympa to a language-specific directory because the lang was no passe as argument to Sympa. Fixed by modifying the template. web_tt2/serveradmin.tt2: All the radio buttons in the form used by the "set_log_level" action didn't share the same control name, thus preventing the web client from expliting them as a set of buttons. This prevented the value from being correctly processed. src/Datasource.pm: In a review, data sources name were not displayed because they were searched by comparing a MD5 hash on their parameters to the value stored in the database. As for complex datasources, these description were stored in hash, the order of the parameters was not fixed, leadinf to different values of MD5 for the same data sources. Fixed by sorting the hashes according to the hash keys, storing the result into an array and computing the MD5 with the array. 5.4a.4 25 September 2007 New features : New session management : introduction of http session in order to replace a lot of cookies, for better user interface and security. -new table session_table -new module SympaSession.pm -new features - from admin page set log level for the current session - from admin page list active sessions - from admin page change user email identity -new task to purge old sessions from table (inactive delay to remove session is set by the sympa.conf parameter session_expiration_period (defaul 1 month) -session start at first hit usually with an anonymous user. The session continue when the user logging. -cookie lang replaced by a session parameter -cookie sympa-user removed -Crawler detection is controled by /etc/crawlers_detection.conf. src/Log.pm: Added "trace" log facility to facilitate development messages insertion, visualization and deletion. Changes : check_perl_modules.pl, src/tools.pl, src/tt2.pl, wwsympa/wwsympa.fcgi: XSS protection: Any output web parameter is filtered to avoid creation of XSS vector. Change:Additionnaly, any HTML file put in the shared directory is filtered using StripScripts. Change:HTML::StripScripts::Parser CPAN module is now mandatory. src/Conf.pm: [requested by JM.Martins da Cruz] Added X-Sympa-To and X-Family-To header fields to those header that should be removed by Sympa for outgoing mails web_tt2/home.tt2: Moved the search list form to the top of the Sympa home page. Makefile.am, Makefile.in, configure, configure.in, src/sympa_wizard.pl, wwsympa/Makefile, wwsympa/wwslib.pm, wwsympa/wwsympa.fcgi: icons are now included in the sympa static content directory. Consequently, the "--with-iconsdir" configure option and the "icons_url" wwsympa.conf parameter are no longer used. The default path to icons is now {sympa home}/static_content/icons and the default icons URL is http://host/icons/. src/tools.pl: refined Simple XSS filter. Don't ding on simple "<" only, but on <script, <meta and <fdfds javascript: wwsympa/wwsympa.fcgi: Web archive search is now performed by default in the whole archive instead of just the current month. src/Upgrade.pm, src/etc/script/create_db.Pg, src/etc/script/create_db.mysql: added indexs on email column in both admin_table and subscriber_table. Also changed the order of column in CREATE INDEX directives. src/Conf.pm, wwsympa/SympaSession.pm: taskmanager remove anonymous sessions if older then anonymous_session_table Sympa conf parameter wwsympa/wwsympa.fcgi: [M.Massar, univ Kaiserslautern] : Sympa is now able to get the Email in SubjAltName. As I was not able to find the mentioned patch to mod_ssl to get SSL_CLIENT_S_EMAIL exported, I wrote another patch based on SSL_CLIENT_CERT from "SSLOptions +ExportCertData". REAPPLY the patch that had been removed. src/Conf.pm: css_url default value is now static_content/css/current_robot. This make it possible to set a single Apache Alias directive for static_content, shared by all virtual hosts. src/List.pm: optimization to skip some code in List::load() src/sympa.pl: [suggested by T.Berry, NASA] Changed the process identifier in the logs from (message) to (distribute) Bug fixes : src/List.pm, wwsympa/wwsympa.fcgi: changes of scenario from the admin web interface did not seem to work because the 'selected' attributes were cumulated in %Scenario::all_scenarios. Now only pass the required scenario attributes (name and web_title) to the TT2 web parser. src/Scenario.pm: [#3306][Reported by C. Andrews, boston College] The List::verify resolution of the true test would be applied for all custom conditions that have "true", "any" or "all" in them. Fix: Checks that condiotn starts and ends with the serached condition name. soap/sympasoap.pm, src/admin.pm, src/sympa.pl, wwsympa/wwsympa.fcgi: info and config files were not properly encoded when a list was created using the web or SOAP. fixed by adding the declaration of origin in create_list_old call and then testing this value to know how to handle encoding. wwsympa/Auth.pm: [#3183][] : Trusted application name check was case sensitive, xhreas it is not supposed to be the case. Fixed by lowercasing comparison in remote_app_check_password(). src/Language.pm: [#3269][Submitted by J. Ãstman, Helsinki univ.of technology]: sympa would take the LANGUAGE environment variable as its default instead of its lang parameter value, because this is Gettext default behaviour. src/Conf.pm, src/Family.pm, src/List.pm, wwsympa/bounce-lib.pl: [#3271][Reported by M. Anderson, riseup.net] "$/" value was changed in several places without using a proper "local" operator to prevent system-wide field seperator contamination. src/Conf.pm: robot-specific 'static_content_path' parameter was never used to build 'css_path' parameter value. wwsympa/archived.pl: [reported by Alaxa]: rebuild() subroutine did not include code to create index file if missing soap/sympasoap.pm: "use strict" into "use strict vars" to prevent "Can't use string xx as a subroutine ref while strict refs" error wwsympa/wwsympa.fcgi: [reported by C.Peck, wm.edu] dump of bouncers would only return the first 25 entries src/List.pm: [reported by Y.Blusseau]: include_remote_file feature was not supported to include owners or editors. src/List.pm: [reported by Y.Blusseau]: $include_file was altered before _load_include_admin_user_file() calls. wwsympa/wwsympa.fcgi: missing ',' in check_list_authz() call. The change_email action could therefore never succeed. wwsympa/bounce-lib.pl: [reported by R.Levo, J.Hopkins university]: some rfc1891 compliant bounces were not correctly parsed, whenever the "Status" line included the status code + additional comments. The regular expression has been extended. soap/sympasoap.pm: [reported by O.Berger, INT]: typo in List::store_susbscription_request() would make sympa_soap_server.fcgi die while receiving a subscription request with moderated subscription. The "use strict" pragma has been added and many other typos have been fixed. src/Upgrade.pm: [reported by C.Peck, William and Mary university]: Upgrade process could make subscribers unsubscribeable. The subscribed_subscriber DB field was first set to 1 but then turned into 0 (because of an old enum2int problem). Changed the order of the upgrade processes. src/Conf.pm: [A.Hicks, Persistent Objects]: css_url and css_path are not being set from the main config if they do not exist in the robot config as they are being set before the static_content_* checks wwsympa/wwsympa.fcgi: 'send_me' feature was broken because of an incorrect regexp on 'month' parameter src/Upgrade.pm: [reported by J.M.Martins de Cruz]: incorrect Language::SetLang() calls while migrating create_list_templates and families to UTF-8 src/etc/script/create_db.Oracle: [reported by F.Lachapelle,Sophos]: incorrect index name src/admin.pm: [#3229][reported by T.Berry, NASA]: Sympa did not perform a lock before list config file was created/updated. This could leed to corrupted config files wwsympa/wwsympa.fcgi: no more use the buggy regexp $tools::regexp{'html-free'}. It would regexp any string containing '60' or '3c' po/check_locales.pl, src/Language.pm: [reported by JG.Pailloncy, O.Girard and JMM. da Cruz] : setlocale() failed on FreeBSD because locales syntax were not standard (ll_CC.ISO8859-N instead of ll_CC.ISO-8859-N). Now using utf-8 as encoding, thus solving the problem. Also changed the algorithm used by check_locales.pl to be the same as Language::SetLang() 5.4a.2 7 August 2007 New features : src/List.pm: Added distribution_ttl parameter which will be used when an action should check if a sync_include is needed prior to be executed. src/List.pm: When sending a message, Sympa now checks whether the last include is older than ttl OR distribute_ttl if this one is defined. If it is, sychronization is done. soap/sympasoap.pm, src/Commands.pm, src/List.pm, wwsympa/wwsympa.fcgi: removes "sync_include" task when a synchronization is triggered by another event than task processing. Review actions on list using includes trigger a user's list synchronization. Changes : src/List.pm, wwsympa/wwsympa.fcgi: added a new Robot package inside List.pm. Also optimized List::get_lists() to cache the results within a session and prevent multiple browsing of the expl/ directory soap/sympasoap.pm, src/Commands.pm, src/List.pm, src/Makefile,src/Scenario.pm, src/sympa.pl, web_tt2/d_control.tt2, web_tt2/edit_list_request.tt2, wwsympa/wwsympa.fcgi: new Scenario.pm module. The way autorization are loaded has changed : they are now stored in a central place, ie a single copy of a scenario is stored if 2 lists use it. This should make the sympa processes consume less memory when running lots of lists. The scenario are now reloaded whenever they change on disk, except for operations that require good performances (like the 'lists' command). Inclusion of third party scenarios is now performed at evaluation time (in request_action()) and not while loading the scenario as it used to be. ***** user_data_source values of 'file' and 'database' are no more supported. A migration precedure is run during the upgrade process ***** This change will allow to optimize the code where 'file' user_data_source still had to be supported check_perl_modules.pl: [reported by S.Hornburg] remove unuseful dependency for Crypt::OpenSSL::X50 perl module. It was introduced in revision 3754. soap/sympasoap.pm, src/List.pm, src/Upgrade.pm, src/etc/script/arc2webarc.pl, src/etc/script/mod2html.pl, src/etc/script/p12topem.pl, src/sympa.pl, src/task_manager.pl, wwsympa/archived.pl, wwsympa/bounced.pl, wwsympa/wwsympa.fcgi: Now set List::use_db in Upgrade::Probe_db() and List::check_db_connect() to prevent "Sympa not setup for DBI" errors. check_perl_modules.pl: Sympa requires Perl 5.8 (for encoding features) src/task_manager.pl: check the $end variable before processing each task, thus making a kill -TERM more quickly processed src/Log.pm, subst.pl: optimizations to save most calls to do_log() src/List.pm: optimizations to lower the List::new() calls and perform locks on list config files only if reloading is required Bug fixes : wwsympa/wwslib.pm: [#2931][A.GAVARA, INPL Nancy] CAS authentication would fail because http was used instead of https. Fixed get_my_url() to use HTTPS environment variable instead of SSL_PROTOCOL and SSL_PROTOCOL_VERSION. src/task_manager.pl: [#3142][submitted by Y. BLUSSEAU] A typo made the stop() command fail to remove tasks. soap/sympasoap.pm: [Reported by P. David, univ. Strasbourg] In some very rare occurences, the session identifier would be constituted of decimal numbers only AND start with at least one "0" (zero) character. In this case, this string was considered a number by sympasoap.pm and the zero removed, thus shortening - and invalidating - the id. This would prevent the user from being authorized to see pages in the wiki. soap/sympasoap.pm: Avoid potentially forged cookie from SOAP client. src/List.pm, src/mail.pm: use 'warning' log level instead of 'warn' src/Family.pm, src/admin.pm: config files generated by instantiate_family were not UTF-8 but ISO. Now opening files as UTF-8. soap/sympa_soap_client.pl, wwsympa/wwsympa.fcgi: sympa_soap_client.pl now takes into account the "--service" and "--service_parameter" arguments for "play_soap()" function. src/tools.pl, wwsympa/wwsympa.fcgi: [#2960][Reported by L. Ren-Shan] First attempt at XSS prevention. Now prevents such intrusions in the web interface. wwsympa/wwsympa.fcgi: [reported by Alessio] : a security problem would allow a user to directly access arctxt/* files or .mhonarc.db files. A %in_negative_regexp hash has been added to define forbidden expressions in parameters. XSS-related code has also been changed. 5.3.2 13 June 2007 Bug fixes : /src/List.pm : logic for setting 'keep_trying' option to SQLSource::connect() was upside down. As a result, initial DB creation could not happen. /src/etc/mhonarc-ressources.tt2 : [#3126][Reported by E. Koblinger, uhulinux.hu] Removed "keepspace" option from MIME options to avoid inclusion of useless " " sequences. /web_tt2/home.tt2 : [reported by R.Touchais] No more refer to a URL on the front page 5.3 22 May 2007 New features : /src/Conf.pm, /wwsympa/wwsympa.fcgi,/wwsympa/cookielib.pm : [proposed by P.Schober, Univ Vienna] added logout feature to generic_sso. This required adding a new sympa_sso_id HTTP cookie to keep track of which SSO was used to login. Also reorganized the cookielib subroutines. Changes : /web_tt2/login_menu.tt2, /web_tt2/loginbanner.tt2: replaced the "magic authentication" with the SSO service name, defined in auth.conf. /src/List.pm: [#3097]: moved the code that remove SMTP header fields (defined by the remove_headers parameter) before the archiving code. /po/pt_BR.po: [submitted by Prof. P.E.M. Almeida] Updated brazilian translation. po/: Several improvment in translations. Main changes are found in Spanish, Italian and Occitan. /src/Upgrade.pm: During upgrade process, if an existing primary key is incomplete, it is completed. /src/Upgrade.pm: [requested by S.Amrani, Gendarmerie Nationale] Change: probe_db() would previously alter DB field format if different from the expected format. Now accept fields with a size larger than expected. Bug fixes : /check_perl_modules.pl : [#3107][E.Koblinger, uhulinux] DBI 1.48 is required by use of selectall_hashref() /src/List.pm, /src/Message.pm: [reported by T.Berry, NASA] Empty Subject field were replaced with 'Charset'. This seems to be a MIME::EncWords::decode_mimewords() bug. Also fixed problems with custom subject parsing that was still using the old parser::parse_tpl(). /src/bouncequeue.c, /src/familyqueue.c, /src/queue.c: [#2945][D.Jahnke-Zumbusch] queue, bouncequeue and familyqueue scripts were removing the first "From xx" line found even though it was not part of SMTP headers. This caused problems with Postif if the 'F' flag was not set in master.cf, because postfix would not add the expected "From xx" Header field to the delivered message. The code has been fixed to look for the "From xx" in the first line of the message only. /src/tt2.pl: [#3086 Submitted by S. Hornburg, linuxia.de] When Sympa failed to create a template object, the last system error was displayed instead of the last Template error. /wwsympa/wwsympa.fcgi: [reported by L.Sousa, univ. do Algarve] Change: don't print the list_menu if info scenario forbid access to list info. /src/Upgrade.pm: [Reported by T. Davis, Metaphor studios] Useless warnings regarding PRIMARY KEY and INDEX at upgrade no longer appear. /src/Upgrade.pm: [Reported by X. Moghrabi, Objectweb] Former indexes are removed if necessary to avoid double indexing of primary keys. /src/tools.pl: [#3075] file were renamed with a parasite '\' /src/List.pm: [Submitted by M. Gaudet, EHESS] Encoding problems when upgrading from versions of pre-all-UTF-8 era. config files were saved into UTF-8 without character conversion which messed list subjects and some admin values. /src/Upgrade.pm: [Reported by M. Gaudet, EHESS] Resolves encoding problems for lists' info files when upgrading from version 4.1.5 in lists where no 'filesystem_encoding' parameter was set. /src/List.pm: Definition of a default LDAP port (389) for include_ldap_xxx was leeding Sympa to use 389 port for LDAPS (instead of 636 port) /src/Upgrade.pm: [deb#418836][Reported by O. Berger, INT] Fix: SHOW FIELDS failed while upgrading. Now removing the dbname part in the tables() return value. /src/List.pm: [T.Berry, NASA] "Undefined subroutine &Task::list_tasks called at /usr/local/jpl/msg/list/sympa/bin/List.pm line 12333". The new version of List::purge() uses Task::list_tasks() subroutine but a "use Task" pragma is missing in List.pm. /src/List.pm: Error "Can't use an undefined value as an ARRAY reference" while processing digests. Fixed the parameter loading procedure to handle correctly defaults (structured parameter with no default in subentries) 5.3b.5 23 April 2007 New features : src/etc/script/sympa: Startup script now works with Slackware distributions. src/LDAPSource.pm: [#934] [reported by A.Powers, DigiPen] added support for start_tls(). src/Family.pm, src/sympa.pl: [submitted by S.Amrani, Gendarmerie Nationale] made the family instanciation process quiet (required when run from a crontab). New sympa.pl options : --quiet and --close_unknown web_tt2/skinsedit.tt2: Added color_* parameters usage in the skin administration page. Changes : src/Conf.pm: [#724] max_size parameter can now be used in robot.conf src/List.pm: [requested by S.Amrani, Gend.Nationale] Specify the searched attribute 1.1 (the DN) in List::search() src/List.pm: [#2932] [reported by R.Gilbert, Univ Sheffield] Use listmaster as default in List::send_notify_to_owner(), in case no owner is defined. Bug fixes : po/Makefile, src/Language.pm: [reported by L.Garnier, CNRS] complete locale ID for Basque is eu_ES src/aliaswrapper.c, src/virtualwrapper.c: [reported by L.Garnier, CNRS] added missing include of stdlib.h src/etc/mhonarc-ressources.tt2, wwsympa/archived.pl: [#3013][submitted by P. Timmons, Ec. Polytechnique Montreal] : The button "toggle selection" did not trigger its action and produced a javascript error instead. Plus added some pod documentation. web_tt2/css.tt2: [#2975]removed a '{' in excess at the end of file which would cause two javascript errors at each page loading ("Selector expected. Invalid rule set ignored." and "unexpected end of file while looking for closing } of an invalid rule set."). Leaving IE proprietary "zoom" property. Must be useful in some way. wwsympa/wwsympa.fcgi: [#3012][submitted by P. Timmons, Ec. Polytechnique Montreal] Robot listmaster couldn't edit scenarios due to the $robot parameter not being called by is_listmaster() function in do_dump_scenario(). wwsympa/archived.pl: archived.pl would die while processing a message for an unknown list. Error message : "Can't call method "get_list_id" on unblessed reference at /home/sympa/bin/archived.pl line 526." soap/sympasoap.pm: [#1325][#2969] [submitted by *both* O. Duval and O. Berger (INT Evry)] topics parameter wasn't used while creating a list with SOAP. src/Language.pm, src/tools.pl, wwsympa/wwsympa.fcgi: wwsympa.fcgi would die when a ZIP archive was uploaded (d_unzip). Added the missing parameter to &tools::qencode_hierarchy() src/tt2.pl: [#1464][submitted by S. Ikeda] [patch sympa-MAIN-20070103-escape_url.patch] Some MUAs aren't able to decode ``%40'' (escaped ``@'') in e-mail address of mailto: URL, or take ``@'' in query component for a delimiter to separate URL from the rest. src/Log.pm: [#1222] [submitted by G.Donnini, Univ Milano] check DB connectivity in Log::db_log_del() src/List.pm, src/admin.pm, wwsympa/wwsympa.fcgi: [#2957] Stored Encode::from_to() return value (string length) instead of string value in info file at list creation time. src/Log.pm: [#2930][Reported by T. Berry, Nasa] do_log sub don't apply Encode::from_to() function to reference variables anymore. wwsympa/wwsympa.fcgi: [reported by Univ. Rennes 1] Prevent problems with URLS containing '//'. It would break navigations that uses relative URLs. src/Family.pm: [reported by T.Berry, Nasa] [fixed by S.Amrani, Gendarmerie nationale] automatic list creation failure was incorrectly handled and message could be lost. src/Lock.pm: [#2930][reported by T.Berry, Nasa] sympa processes would print binary data to the TTY. It was due to a File Handler variable that was logged. Also fixed a bug related to file unlocking. src/List.pm, src/Task.pm: [#2940] [reported by T.Berry, Nasa] remove list-related task when purging a closed list src/List.pm, wwsympa/wwsympa.fcgi: [#1075] Default values for parameter 'reply_to_header' are now correctly loaded. web_tt2/edit_list_request.tt2, wwsympa.fcgi: [#985]: Hide "update" button whenever no parameter can be edited in the current page [reported by R.Caldwelr, Franklin university] wwsympa::is_ldap_user() would not use provided bind_dn and bind_password. Change: New LDAPSource module to gather all LDAP-related code. Currently only connect() and disconnect() have been implemented. Change: removed obsolete export_list() functions (+related) 5.3b.4 13 March 2007 New features : src/etc/script/: Makefile, mysql_alias_manager.pl: [Bea, Cartables.net] added an alias_manager that is MySQL enabled. Changes : src/admin.pm: Added sync_include after list creation/update (family context) src/: Family.pm, admin.pm: trigger a sync_include after list creation/update Also made list topics problems non blocking Bug fixes : mail_tt2/listmaster_notification.tt2, src/sympa.pl: sympa.pl processes dedicated to message distribution or automatic list creation would not remove their pid file properly src/Log.pm: increase entropy for logs table ID. It was required to prevent "duplicate entries" errors. src/Log.pm, web_tt2/viewlogs.tt2, wwsympa/wwsympa.fcgi: list owner could view db logs of other lists. Changed the feature so that only the current list logs can be viewed. Also simplified the code. Fixed the resize feature. The sortby feature is still buggy wwsympa/wwsympa.fcgi: arcsearch would crash wwsympa process if provided a search expression with both invalid expression and \n, because tools::escape_regexp() does not apply on multi-line. Changed the allowed regexp for wwsympa incoming parameters to forbid \n in most of them. 5.3b.3 7 February 2007 New features : STDERR of daemons is redirected to a file. If process crashes, next process started will detect the failure and send a notice to listmaster. src/Language.pm, wwsympa/wwsympa.fcgi: [reported by E.Beliveau] made the user lang available in the editsubscriber page check_perl_modules.pl, src/Conf.pm, src/Lock.pm: [ID 435] [patch provided by Moriwaka] added support for NFS locking, using File::NFSLock perl module. A new 'lock_method' sympa.conf parameter can be set to 'nfs'. web_tt2/modindex.tt2: [ID 444] [requested by A.Lund, Uninnett] added "toggle" button in moderation page po/xgettext.pl, src/tt2.pl, src/etc/mhonarc-ressources.tt2: [ID 1338][S.Ikeda] A new filter [%|locdt()%] is added for TT2 templates to format date/time according to language context. It takes a format string to be gettext'ized as main argument, and an extra argument representing date/time. MHonArc resource file was modified so that it may generate output including this filter spec as nessessity. Note that this spec will be available for newly-updated archives. To apply this improvement to all past archives, it is nessessary that all archives are rebuilt. Changes : po/ Translations updatfs from pootle.sympa.org ***** If your RDBMS is MySQL, you need it to be at least version 4.1. ***** src/Upgrade.pm: [ID 1500][S.Ikeda] converting mail templates to UTF8. The script has been integrated ***** into Upgrade.pm and has been extended to convert other configuration files ***** mail_tt2/, src/mail.pm: all service messages are now UTF8. ***** Also made the templates structure simpler. src/List.pm: trigger sync_include before distributing a message to a list, unless it was performed during the last 5 min. Fix: $self->{'last_sync'} was never loaded ***** src/List.pm, wwsympa/wwsympa.fcgi: 'include' mode is now obsolete. ***** Now performing a mapping while to 'include2' while loading the parameter. wwsympa/wwsympa.fcgi: remove authentication request for do_tag_topic_by_sender and do_request_topic, autehntication is done because of the md5 key of the message. src/: List.pm, sympa.pl: New value possible for msg_topic_required to adpat it both for moderated list and unmoderated lists po/pl.po: [Lukasz Zygmanski] Updated Polish translations mail_tt2/moderate.tt2, src/List.pm, src/mail.pm: Renamed 'msg' parameter to 'msg_path' in moderate.tt2. Take 'spool' parameter into account (for 'modindex' template) in the reformat_message() process src/: added "use strict" to tools.pl wwsympa/wwsympa.fcgi: [ID 106] after unsubscription, no more bring the user back to the list page. He might not be allowed to see the info page. po/ja.po: [S.Ikeda] Updated Japanese catalog Bug fixes : src/Log.pm: db_logs were expired too early (parameter expressed in days instead of months) web_tt2/error.tt2: [requested by C.Andrews, Boston College] Added an error message for list creation failure. It is required when an existing listname has been used ; we cannot get the error diagnostic from admin::create_list_old() though wwsympa/Marc/Search.pm: wwsympa might die with error "Cannot decode string with wide characters". Now opening archives as bytes (not utf8) to prevent decoding wwsympa/Marc/Search.pm: arcsearch_id would fail on some messages. Marc::Search expects mhonarc to add X-Subject data to generated HTML files. Some examples were found with X-Subject value split among 2 lines. Marc::Search::search() is now able to parse split X-Subject entries. src/task_manager.pl, wwsympa/archived.pl, wwsympa/bounced.pl: debug mode would not work with task_manager.pl, archived.pl and bounced.pl src/List.pm: [reported by F.Lachapelle] sync_include tasks were created for all lists, including those with no external data sources The List::has_include_data_source() subroutine has been fixed to correctly check owner_include web_tt2/request_topic.tt2, wwsympa/wwsympa.fcgi: Internal error with message that can't be parsed solved in request_topic action. src/sympa.pl: incorrect var definition (msg_topic and moderation) src/tools.pl: escape_regexp would not work. This would break arcsearch_id used in RSS context src/mail.pm: Some service messages (moderation, topics tagging and reminder) delegated by wwsympa to sympa.pl would have missing X-Sympa-From header field. Now setting a default value for the return-path in mail.pm mail_tt2/remind.tt2: [reported by O.Lacroix] Fix type for transfert_encoding src/List.pm: [ID 117][reported by M.Bernard, univ St.Etienne] user initial passwords were not crypted when subscribed by list owners. Moved encrypting logic to lower layers. mail_tt2/Makefile: [requested by S.Hornburg] Debian packaging requires that symbolic links are not absolute links because of DESTDIR use. src/etc/mhonarc-ressources.tt2: [G.Youger, Univ Newcastle] archive template was inappropriate for email addresses that include an apostrophe ('). src/List.pm: [S.Ikeda] [ID 1396] A bug relating this patch: ASCII-only subjects are unfolded then can become one long line. src/etc/mhonarc-ressources.tt2: [S.Ikeda] [ID 1393] added more translatable items to mhonarc-resources.tt2 src/: List.pm, mail.pm, tt2.pl: [S.Ikeda] [ID 1396] Body or subject header were occationally empty. Reproduced by: Sympa CVS HEAD with Encode 2.08. Not reproduced by: Sympa CVS HEAD with Encode 2.12, 2.18. - Body of service message is removed at all when its source contains non-UTF-8-compliant sequence. - Subject body of distributed message is removed when original subject contains unencoded non-ASCII sequence. It may be caused by a bug in Encode module, RT#8872: http://rt.cpan.org/Public/Bug/Display.html?id=8872 src/SQLSource.pm: set SQL client preference regarding character encoding to UTF8. Otherwise we can't determine how data got from SQL is encoded. src/List.pm: [J.Schmalenbach, Barrett] empty 'get_subscriber' when removing a list member 5.3b.1 29 November 2006 New features : src/Ldap.pm: [requested by E.Beliveau] allow folded lines in ldap filters (using '\') src/List.pm, src/sympa.pl: new Sympa.pl option : sympa.pl --purge_list <list>@<robot> web_tt2/: [V.Paitrault, CRU] translated online user/admin help to English doc/sympa.tex.tpl, src/List.pm: [requested by S.Peterson] Extended available parameters for search filters src/etc/script/arc2webarc.pl: can use an input directory containing individual messages files Changes : po/fr.po: Updated French translations src/: sympa.pl, tools.pl: files in the msg/ spool were processed according to the file name (abbb before zbbb). now use the date as the sort criteria po/: remove Chinese/Taiwan catalog that was out of date and could not be transformed to UTF-8 po/, src/Language.pm: Updated translations from Rosetta ; added Russian and Bulgarian PO files mail_tt2/, soap/sympasoap.pm, src/Language.pm, src/List.pm, src/mail.pm, src/tt2.pl: no more use encoding defined in PO files to determine charset for messages. We now use the charsets defined in Language.pm instead. We now use [% charset %] in mail_tt2 files and &Language::GetCharset() in the code These changes will make it easier to mode all PO files to UTF-8 mail_tt2/, src/: [Soji Ikeda] changes have been made to switch from Perl Unicode to UTF-8: - read raw config files then to convert them to UTF-8. - change Language::gettext()'s output from Unicode to UTF-8. - remove Template::Directive::OUTPUT hack (see src/tt2.pl). - disable PerlIO layer on wwsympa.fcgi. web_tt2/, po/en_US.po: revision from Jill Gemmill have been reported down to templates. en_US.po has been reset (with sympa.pot) src/Upgrade.pm: regenerate all config.bin files while upgrading ; required for character encoding problems Bug fixes : src/Upgrade.pm: [reported by J.Schmalenbach] qualify send_notify_to_listmaster() call web_tt2/rss.tt2: RSS feed encoding was incorrect src/mail.pm: Incorrect handling of empty header fields, could result in duplicate header fields soap/sympa.wsdl: [BugID 1262][O.Duval] missing sections in Binding for add, del and closeList web_tt2/error.tt2, wwsympa/Auth.pm, wwsympa/wwsympa.fcgi: [BugID 285][reported by M.Verove, Atos Origin] no more allow password reminder if regexp doesn't match user email check_perl_modules.pl: inactivity_timeout was not set web_tt2/login_menu.tt2: [reported by R.Cadwell] "forgot password" and "first password" buttons were shown regardless of auth.conf src/List.pm: [A.Zamboni, Univ Strasbourg] sort by subscriber name failed with Pg eb_tt2/edit_list_request.tt2: missing form input attribut 'multiple'. Because of this bug parameter digest and avalaible_user_option may habe been corrupted wwsympa/wwsympa.fcgi: arcsearch_id would fail if message-id contained '&' because mhonarc encodes it in HTML messages. src/, wwsympa/wwsympa.fcgi: [S.Ikeda] strftime() accepts/returns a string encoded by charset that is determined by current system locale. Therefore date strings needed to be decoded according to current charset. src/List.pm: print error message if include_remote_file failed soap/sympasoap.pm: fixed typo in authenticateAndRun() src/List.pm: load topics.conf using filesystem_encoding 5.3a.10 6 November 2006 New features : src/etc/script/arc2webarc.pl: arc2webarc.pl can use an input directory containing individual messages files soap/: New SOAP method getUserEmailByCookie src/: Commands.pm, report.pm, sympa.pl: [requested by W.Howard]: original_msg is now available in msg reports [S.Amrani, Gend.Nationale] : Automatic list creation This new feature allows to trigger list creation when a message is sent for the list. The set of "possible" lists is defined by a generic mail alias and a list family. New sympa.conf parameter include : automatic_list_feature, automatic_list_creation, automatic_list_removal, pidfile_creation, queueautomatic, clean_delay_queueautomatic A new familiqueue.c binary file is provided. The list creation job is performed by a sympa.pl process that forks. Check the documentation for more informations. Changes : src/List.pm: [requested by S.Peterson] Extended available parameters for search filters web_tt2/ : applied revisions from Jill Gemmill to templates src/Upgrade.pm: regenerate all config.bin files while upgrading ; required for character encoding problems reported changes in en_US.po (updated by Jill Gemmil) to templates. Work is half-done. [Soji Ikeda] : Sympa now uses new Perl modules MIME::Charset and MIME::EncWords to encode characters. These modules are alternatives for MIME::Words with better handling of multibyte charsets. po/en_US.po: [J.B.Gemmill, Univ. Alabama at Birmingham] Revised version of English translations. Bug fixes : src/List.pm: print error message if include_remote_file failed [S.Ikeda] : strftime() accepts/returns a string encoded by charset that is determined by current system locale. Therefore date strings needed to be decoded according to current charset. wwsympa/wwsympa.fcgi: arcsearch_id would fail if message-id contained '&' because mhonarc encodes it in HTML messages. src/List.pm: load topics.conf using filesystem_encoding [S.Ikeda] made some fixes to documentation and templates wwsympa/Marc/Search.pm: No more decode X-Subject from web archives ; they are already decoded WWSympa.fcgi would die with the following error : "MIME::Words: unexpected case" src/: mail.pm, tt2.pl: [S.Ikeda] : type for suggest_encoding() subroutine ; better UTF-8 management with TT2. Patches: sympa-MAIN-20061021-mail_encoding_fix1.patch + sympa-MAIN-20061015-tt2_utf8.patch src/Language.pm: [reported by Soji Ikeda] Japanese was incorrectly encoded in the list of languages. Also changed the way gettext() handles parameters to prevent unwanted modifications src/mail.pm: [reported by Soji Ikeda] : mail_file() subroutine incorrectly detecting folded header fields. mail_tt2/moderate.tt2: To header field now also Q-encoded src/Log.pm: do_log() would modify parameters by reference, now using an intermediate variable to preserve original parameters from being decoded mail_tt2/send_auth.tt2: [Reported by M.Larchet, Univ Nancy 2]: subject of confirmation message was localized src/sympa_wizard.pl: [BugID 1102][reported by R.Roessner] sympa_wizard.pl failed because of a typo src/List.pm, src/tools.pl, wwsympa/wwsympa.fcgi: could not edit message.header and message.footer from the admin web interface The tools::get_filename() sub did not return the right structure ; it should return an empty array if expected web_tt2/compose_mail.tt2, wwsympa/wwsympa.fcgi: [Reported by P.Farmer] topics tagging was not proposed from the "Post" page. q-encoding of shared documents filenames has been fixed : - Encode::Guess now uses list lang - prevent problems with Encode (words) ; now using lower layer subroutine 5.3a.9 6 October 2006 New features : [S.Amrani,Gend.Nationale] Custom scenario conditions You can use a Perl package of your own to evaluate a custom scenario condition. The scenario condition will look like this : CustomCondition::my_custom_condition([sender],[list->name],[list->total]) smtp,smime,md5 -> do_it Now bounced recognize Abuse Report Feedback forat (ARF). In order to use it, you just need to create a new alias to redirect message from ARF loop (mainly AOL) to bounced according to the documentation (section bounces) [S.Amrani, Gendarmerie Nationale] SQL named filters Listmasters can now define SQL search conditions in authorization scenarios such as : "search(example.sql, [sender]) smtp,smime,md5 -> do_it" Here is the example.sql named filter : sql_named_filter_query db_type mysql db_name people db_host dbserver.rennes1.fr db_user sympa db_passwd pw_sympa_mysqluser statement SELECT count(*) as c FROM users WHERE mail=[sender] AND EmployeeType='PROFESSOR' AND department='mathematics' [A.Brard] Accessibility of the web interface has been enhanced : - removed styles elements from within web templates - added ALT tags to images - all font sizes are expressed in 'em' unit now - added detailed titles to links - generalized use of titles (H) - added "headers" to table/td - added "label", "id" and "for" attributes to forms - added alternate to scripts - other cosmetic / IE compatibility changes The web interface (CSS and HTML) have been validated by the W3C validator doc/: Added documentation about i18n soap/: New features on the SOAP interface : add, del, closeList Changes : web_tt2/serveradmin.tt2: Changed the bug tracking URL to a more stable URL doc/sympa.tex.tpl: Added libxml 2 as a requirement for Sympa ***** sympa.pl --upgrade is now the only way to upgrade Sympa data structure ***** YOU NEED TO RUN THIS COMMAND AFTER EACH UPGRADE OF SYMPA [S.Amrani, gendarmerie Nationale] new Datasource.pm and SQLSource.pm modules that should contain all DB access subroutines. An LDAPSource.pm module should be created later. Bug fixes : src/Commands.pm: [BugID 1071][reported by F.Guilleux, CRU] response to message confirmation did not include listname. Incorrect $which variable was used. src/List.pm: [S.Amrani, Gend. Nationale] errors were not properly raised if an error occured while performing a scenario search() src/tools.pl: [BugID 792] bug in tools.pl prevents per family customization of scenarios, mail_tt2 and web_tt2 src/List.pm: 'host' robot.conf parameter was not well supported. It is now the default value for the list 'host' parameter. src/sympa.pl: [reported by P.Maes, Université Louvain] Sympa would improperly detect a loop if the same message is sent to 2 lists with same local part. Now added list robot to %msgid_table keys. mail_tt2/message_report.tt2, src/Commands.pm: [reported by D.Lamballais, IRISA] moderator was no more notified after message rejection src/List.pm: [S.Amrani, Gend. Nationale] incorrectly closed file handle src/List.pm: prevent recursive loop when DB connection failed : db_connect > send_notify_to_listmaster > send_global_file > get_user_db > db_connect 5.3a.8 6 September 2006 New features : [Adrien Brard] DB logs : each operations that changes the status of messages/subscriptions/list config is now logged in a structured DB entry. Both listmasters and listowners can search this events DB using the Sympa web interface. New static_content_path and static_content_url parameters. It refers to a directory, accessible from the web server, containing CSS stylesheats, member pictures and other statuc contents managed by Sympa. [Adrien Brard] List members can upload and share their pictures via the REVIEW web page. [Virginie Paitrault, Univ. Rennes 2] New user and admin web documentation. Currently in French only. Per list blacklist : list owners can manage a blacklist for their list, via the web interface Only one new sympa.conf parameter : use_blacklist List creation available via the SOAP server. New trusted_applications.conf file that defines the trust relationship with SOAP clients. src/etc/script/testldap.pl: testldap made LDAPS-aware src/List.pm: Added LDAPS support to include_ldap_xx wwsympa/wwsympa.fcgi: Templates editor for the listmaster. Changes : src/etc/script/arc2webarc.pl: [reported by D.Ghent, UMBC] [ID 927] arc2webarc.pl failed with big lists (lots of messages) because all messages were stored in memory. Now process one log file at a time. wwsympa/wwsympa.fcgi: [requested by M.Ward] [ID 935] When renaming a list, custom_subject is not updated with the new list name [S.Amrani, Gendarmerie Nat.] alias management can now be disabled. You should set the 'sendmail_aliases' parameter to 'none' ***** Change: config.bin files are no more used unless the new cache_list_config sympa.conf parameter ***** is set to 'binary_file'. This mode is only usefull if you manage lots of lists (1000+) to ***** have a faster startup of web processes. ***** Changes: web pages are now utf-8 encoded, as well as mhonarc HTML ***** archives that can now mix different character sets within a single ***** web archive. Sympa now uses perl's I/O layer to encode/decode characters. ***** The web_recode_to parameter is now obsolete ; the new ***** filesystem_encoding parameter allows you to define how the configuration ***** files are encoded on disk. A new mhonarc-ressources.tt2 file is provided ***** and should replace any custom one. ***** Shared documents filenames are now Q-encoded to prevent any encoding problems. ***** An automatic upgrade process will rename existing files according to Q-encoding ***** Change: default for css_path is now relative to static_content_path. ***** CSS files are now AUTOMATICALLY updated by sympa.pl if a new css.tt2 has been installed. ***** You NEED to add an Alias directive in your Apache config file, as folows : ***** Alias /static-sympa /home/sympa/static_content web_tt2/arcsearch.tt2: [A.Bernstein] [ID 899] Minor bugs and cosmetic improvements in archive search results 1. In the presentation of search results in the archive, the listing of parameters that was used for the search is incorrect because of various typos in the arcsearch.tt2 file. 2. Search results are hard to read because messages blend together, so I've made minor changes (making them list elements), and also added some linebreaks and removed some confusing feedback (the "Results" lines at the bottom). web_tt2/arcsearch_form.tt2: [A.Bernstein] [ID 900] Cosmetic reorganization of the archive advanced search page doc/sympa.tex.tpl: Added comments about the requirements on the aliases file web_tt2/editsubscriber.tt2, wwsympa/wwsympa.fcgi: [A.Bernstein] [ID 901] List owners are now able to edit subscriber's visibility web_tt2/suboptions.tt2: [A.Bernstein] Subscribers can now edit their gecos on a list src/etc/mhonarc-ressources.tt2: now provide archives mass-deletion also from the threaded page src/etc/mhonarc-ressources.tt2: [A.Bernstein] [ID 905] The threaded view is more useful if you can see the date of each message in the list. This requires both adding the date field to a few lines in mhonarc-ressources.tt2 and adding two new resources that weren't customized at all before. po/: en_US.po, fr.po: use sympa.pot as the default en_US.po po/en_US.po, src/Language.pm: changed charset for English from us-ascii to utf-8 wwsympa/wwsympa.fcgi: [M.Massar, univ Kaiserslautern] Sympa is now able to get the Email in SubjAltName. As I was not able to find the mentioned patch to mod_ssl to get SSL_CLIENT_S_EMAIL exported, I wrote another patch based on SSL_CLIENT_CERT from "SSLOptions +ExportCertData" src/List.pm: [requested by A.Bernstein] now scenario rules can apply on header fields that have multiple values mail_tt2/listmaster_notification.tt2, src/List.pm: notify listmaster if upgrade procedure failed [BugID 709] prevent any process to run before data structure have been updated. This prevents "duplicate entries error" in DB tables src/List.pm: hide closed lists, even to listmasters Bug fixes : src/etc/script/ldap_alias_manager.pl: [A.Gavara, INPL Nancy] [ID 953] added missing -owner aliases ; fixed $tt2_include_path construction wwsympa/archived.pl: sort archives directories before expiring ; otherwise latest months might expire. wwsympa/wwsympa.fcgi: [reported by S.Amrani, Gendarmerie Nat.] After editing a subscriber email, the list owner might get a "not subscribed to list" error. The bug happened because the do_set() is used by both list members and list owners. Wwsympa now used the previous_action information to bring the user back to the right page. wwsympa/wwsympa.fcgi: [reported by P.Von Der Hagen, Karlsruhe Univ.] [ID 876] Sympa sends message "topics have changed" when owner is changed mail_tt2/message_report.tt2: [reported by P.Von Der Hagen, Karlsruhe Univ.] [ID 878] used incorrect variable in mail report src/sympa.pl: [reported by S.Amrani, Gendarmerie Nat.] sympa.pl would die when processing a message for unknownlist-request. The error message was : "Can't modify non-lvalue subroutine call" Fixed a buggy call to chomp. src/sympa.pl: [requested by P.Farmer, ZVENO] [ID 828] on OS X 10.3 scripts can't change their real UID. Now checking that the UID change succeeded. src/etc/mhonarc-ressources.tt2: [A.Bernstein] [ID 898] Numerous bugs in mhonarc-ressources.tt2 for thread view When viewing an archive in threaded order, the first/previous/next/last buttons all return incorrectly to chronological view. This happens because the line in the mhonarc-ressources.tt2 that creates these buttons is an exact copy of the one from the chronological view section, with "PREVPGLINK" and "NEXTPGLINK" instead of "TPREVPGLINK" and "TNEXTPGLINK". mail_tt2/send_auth.tt2: [reported by W.Werner, Fraunhofer] When using x509 list certificates, reply-to would be forced to list-request. Added a reply-to header field to the send_auth.tt2 template src/etc/script/: [reported by P.Bricourt, Mongueurs] still refering to idp_netimap DB field wwsympa/wwsympa.fcgi: [reported by J.Abbott, univ Duke] sending a mail from the web archives would raise an error if the mail subject contained unusual characters. The subject regexp has been extended. web_tt2/: create_list_request.tt2, editfile.tt2: [reported by P.von der Hagen, univ. Karlsruhe] removed the wrapping in textarea wwsympa/wwsympa.fcgi: [reported by V.Nilsen] links to archives month from calendar were broken. Now clean up the arc_file parameter src/Language.pm: [reported by P.Maes, Univ. Louvain] localization failed on Solaris. The native Solaris gettext libraries failed to use the appropriate .mo file. We're now using the "Pure Perl" implementation of gettext src/: Conf.pm, List.pm: [reported by P.Maes, Univ. Louvain] Don't use chown user.group that fails on Solaris. Run separate chown and chgrp commands instead soap/sympasoap.pm: [reported by V. Mathieu, Univ. Nancy2] [BugID 281] now decoding and encoding SOAP data to UTF-8 wwsympa/wwsympa.fcgi: [reported by JM.Bourdin, IUFM Dijon] visibility authorization scenario was not evaluated to compute the "your lists" box. src/List.pm: [BugID 750] include_sql_query requests would fail with Oracle. Apparently the ->rows() method does not return the number of rows. We now use fetchrow_arrayref() to get rows, thus allowing to differenciate an empty field an the last row. wwsympa/bounce-lib.pl: analyze the 'Original-recipient' entries of message/delivery-status MIME parts src/etc/mhonarc-ressources.tt2: [proposed by E.Hood] now using $FROMADDRNAME$@$FROMADDRDOMAIN$ instead of $FROMADDR$. See https://savannah.nongnu.org/bugs/index.php?func=detailitem&item_id=11759 important_changes.pl: [reported by C.Peck, Univ William and Mary] on Solaris, chown does not like the '.' separator web_tt2/review.tt2: don't show bouncing status to other members wwsympa/wwsympa.fcgi: [reported by J.Beretta, France Telecom]: a renamed list would keep its previous domain name mail_tt2/listmaster_notification.tt2, src/List.pm: Sympa now check if the DBD is available ; otherwise processes would die 5.2 11 April 2006 New features : ***** wwsympa.fcgi can use sudo instead of setuidperl ***** You should run 'configure --enable-secure' and ***** use wwsympa_sudo_wrapper.pl instead of wwsympa.fcgi po/nb_NO.po: [A.Lund and J.Gunnar] Added Norwegian Bokmål po/Makefile: new "check" target to compare the PO files with another set of PO files (usefull for Rosetta) src/sympa.pl: sympa.pl --reload_list_config is provided to recreate config.bin files Changes : src/etc/mhonarc-ressources.tt2: Added Dkim-signature to hidden SMTP header fields wwsympa/wwsympa.fcgi: [BugID 482] keep track of first accessed URL in 'referer' variable. It is then possible to bring the user back to this URL at the end of the authentication process. po/: updated tranlations from Rosetta src/sympa.pl, wwsympa/wwsympa.fcgi: cancel previous change to reload list config for each action. This behavior would require locking of config files. wwsympa/wwsympa.fcgi: [bugID 567] if 'web_recode_to' is set, decode incoming parameters from this charset to perl's internal encoding (utf-8). This is required for CJK binary strings that can't be used in perl regexp. mail_tt2/command_report.tt2: no more provide the listmaster email address ; refer to the web site instead Bug fixes : wwsympa/bounce-lib.pl: [reported by P.Young, Ac. Creteil] bounce-lib would not analyse correctly som kind of message/delivery-status src/Language.pm: [reported by P.Maes, Univ. Louvain] locales would not work with Solaris. Solaris requires that POSIX::setlocale() is run before Locale::Messages::textdomain() and Messages::bindtextdomain() wwsympa/Makefile: [C.Peck, William and Mary univ ] replaced == with = src/CAS.pm: [BugI 694] CAS ticket validation fails due tovirtualhost error wwsympa/wwsympa.fcgi: [BugID 599] Language dropdown displays names in wrong codeset src/etc/mhonarc-ressources.tt2, wwsympa/archived.pl, wwsympa/wwsympa.fcgi: [BugID 602] Rebuild would remove index files. New feature: now providing the index info to web templates ; used to provide the number of messages per month in the calendar src/Commands.pm: [reported by A.Lund, Uninett] moderator received an unwanted notification when rejecting a message src/List.pm: [BugID 664] [E.Rynes, Case Western Reserve University] The get_first_admin_user subroutine in Lists.pm does not free up the DB statement handle on a failed lookup. This causes the database (at least when using oracle) to run out of cursors when the number of lists is high. src/List.pm: made 'creation' parameter optional, for list that were created before web creation was provided 5.2b2 27 March 2006 New features : [John-Paul Robinson] When using generic_sso, Sympa is now able to verify the user's email address when it is provided by the SSO. If no email is provided, the user is asked. Check The related documentation for more details. src/etc/script/ldap_alias_manager.pl: [F.Lachapelle] a LDAP-enabled version of alias_manager.pl is now distributed. src/List.pm, src/sympa.pl: New feature sympa.pl --upgrade usefull to trigger data structure updates Listmaster can create or edit scenario with a scope limited to a list. access tothis feature from "dump scenario" button in edit_list_request. [J.Abbott, Duke University] added a new 'loop_prevention_regex' parameter The "search user" feature now has its own web template. It provides more information about the searched user and the ability to remove him from the list. src/: Conf.pm, mail.pm: new nrcpt_by_domain.conf file allows to control the number of recipients per SMTP session, depending on the destination domain src/Conf.pm: [reported by M.Paineau] Sympa.pl is now able to create missing sympa_aliases file (as defined by 'sendmail_aliases' sympa.conf parameter) Changes : src/List.pm, src/sympa.pl, wwsympa/wwsympa.fcgi: force the config reload for the current list This is an important feature because config.bin files maitains a cache of scenario structures. mail_tt2/listmaster_notification.tt2, src/List.pm: [ID 467] Notify the main listmaster when the DB structure has been updated src/tools.pl: [M.Bouissou] extend support to clamDscan src/etc/mhonarc-ressources.tt2: [N.Duboc] now preserving attachments filenames in web archives src/etc/list_task_models/: changed the behavior of REMIND tasks. The task is first programmed and executed later src/List.pm: Dropping and recreating INDEXES and PRIMARY KEYS [requested by JC Delepine] Call List::probe_db() only from sympa.pl to prevent conflicts in the DB upgrade ***** PostgreSQL DB fields type changes ***** The following fields have changed from bit(1) to smallint : ***** subscribed_subscriber, included_subscriber, subscribed_admin, included_admin ***** You should perform as follows to migrate : ***** 1/ stop Sympa ***** 2/ run pg_dup on the database ***** 3/ change in the dump-file "bit(1)" to "smallint" in both subscriber_table and admin_table ***** 4/ remove the old tables and did a fresh import Bug Fixes : src/etc/mhonarc-ressources.tt2: [BugID 622] [reported bby A.Lund, Uninett] only list owners and messages authors could get an archived message resent src/List.pm: [BugID 627] Encrypted mail don't work with split certificates web_tt2/rss.tt2: [BugID 545] XML-escape wired caracters in RSS feed src/Conf.pm, src/sympa.pl: [ID 462] tmp and subscribe spools were never cleaned src/: bouncequeue.c, queue.c: replaced 'unsigned char' with 'char' to prevent warnings on FC4 src/Task.pm: task manager would not detect existing tasks and would recreate them. This could lead to some tasks running in loop (remind for example) web_tt2/review.tt2: ****** dump button should be printed as long as review is permitted (not only for owners) src/: new required list tasks were not created by the task_manager. This only concerns Sympa 5.2b. src/: List.pm, PlainDigest.pm: check if $msg->bodyhandle is defined before calling object methods wwsympa/archived.pl: removing a message was removing the whole month. src/Conf.pm, wwsympa/wwsympa.fcgi: when defining per robot auth.conf files, they would not be fully partitioned mail_tt2/get_archive.tt2: Missing file in first 5.2b src/etc/script/create_db.mysql: Fix: type enum() was changed to int(1) 5.2b 13 February 2006 New features : ***** Full virtual robot support ; you can now create 2 lists with the same same in different virtual robots. ***** The database structure should be updated (automatically performed with MySQL) to add new database fields. ***** Check the create_db.XX scripts (XX being your RDBMS) to know about the new fields ***** Make sure to recreate appropriate INDEXES and PRIMARY KEYS ***** The spool file names has evolved to include the hostname, but existing spools will be processed. Auth.conf file can be defined for each virtual robot. [G. Bouteille] Message topics : list messages can be tagged with topics. List owner defines a set of topics for the list. List members can select topics and only recieve related messages. See documentation for more info. Added support for an SQlite backend.A create_db.SQLite has been added. Sympa.pl is able to automatically create the database if none exists. SQLite is now the default 'db_type' in sympa.conf (SQlite drivers include the database engine itself, therefore nothing needs to be installed). Sympa is now VERP enabled ; this includes the following changes: * new bounce_address_subscriber DB field * verp_rate list and global parameter src/sympa.pl: new --sync_include sympa.pl option web_tt2/review.tt2, web_tt2/reviewbouncing.tt2, wwsympa/wwsympa.fcgi: [BugID 538] [A.Bernstein]: provide a dump for searched members or bouncing members [requested by J.Abbott] new return_path_suffix parameter in sympa.conf po/Makefile, po/sv.po, src/Conf.pm, src/Language.pm: [D.Nylander] sympa translated to Swedish src/List.pm: [requested by D.Jahnke] 'db_port' now available in include_sql_query paragraph src/: Language.pm, mail.pm: New PushLang() and PopLang() subroutines doc/: New "roles and privileges" section src/List.pm: clean buggy list config files at startup [A.Bernstein] subscriber's groups always listed in a box. Resized the menu box (+60px) ; removed the "your subscriptions ; new your_lists.tt2 template src/List.pm: new 'digest_max_size' list parameter. If a digest exceeds this limit, then multiple messages are sent. Added PO files for Greek, Dutch, Portuguese (Brazil) and Turkish Changes : [G. Bouteille] Redesigned the message distribution subroutines. The new organization is described in a new section of the reference manual entitled "Internals" Reorganisation of error reports (mail and web interface) to provide more precise error notification. ***** Only one copy of message for archive. No more archiving in expl/list/arc directory ***** Mail archive command now uses web_archive. Old list parameter section for ***** archive still in use for access control. ***** src/List.pm: load/save a binary version of the list config file on disk. This makes the List::load() calls much ***** faster. This was a major problem with sites hosting thousands of mailing lists ***** src/List.pm: turned the mysql subscribed and included fields into int(1) ***** to be compatible with other RDBMS src/: Introduced a new Task.pm module src/etc/script/tpl2tt2.pl: old customized web templates are translated but should not be used because they will not fit the new CSS/XHTML web structure wwsympa/wwsympa.fcgi: [BugID 537] [A.Bernstein] Don't display Subscribe/Unsubscribe for not logged-in users, if closed ***** Authorization scenarios that refer to mailing list outside the current virtual robot should qualify the ***** list with the domain. Example: is_subscriber([sender],'list@dom') Authorization scenarios are now able to provide a reason for a reject() this reason can then be used within mail notice. Check provided scenarios to customize your own. All command / mail reports have been moved to mail templates. po/oc.po: [Moni] Completed Occitan translations po/fr.po: Updated translations No more saving data_structure.version if version did not change src/tools.pl: tools::lock() is now able to force the lock if the blocking lock was performed more than 20 minutes ago. The PID is now written in the lockfile. The number of attempts to lock is now different in a web context wwsympa/wwsympa.fcgi: [BugID 526] () and [] no more allowed in search expressions soap/sympasoap.pm: [G.Bouteille] which SOAP subroutine result now includes lists the user is admin of po/de.po: [M.Redinger] Updated de.po po/et.po: [T.Kindsigo] Updated Estonian PO file po/ja.po: [K.Moriwaka] Update from Rosetta wwsympa/wwsympa.fcgi: optimization : skip get_which() when either in a list context or while returning CSS Makefile.am, Makefile.in: [requested by S.Hornburg] never wait for user input while building a package (DESTDIR is set) src/admin.pm: [reported by JH. Belpois] owner and subject XML nodes are no more mandatory while instantiating a family src/Family.pm: [BugId 411] use File::Copy::copy instead of rename() to allow traversing filesystems Bug fixes : src/Language.pm: [BugID 597] use LOCALEDIR var instead of DIR/locale wwsympa/wwsympa.fcgi: skip month without arctxt/ dir in archives src/List.pm, src/tools.pl, wwsympa/wwsympa.fcgi: now cleaning up the message-id for use with summary reception mode wwsympa/wwsympa.fcgi: don't set cookies while performing a RSS request Doing so would logout the current user wwsympa/wwsympa.fcgi: [BugID 594] if urlized file had no file extension, the attach web action failed with the following error : "file error - attach.tt2 not found" mail_tt2/urlized_part.tt2: [BugID 594] Fix typo src/List.pm: [BugID 608] If multiple edit_list.conf files exist, the first one loaded is always used for that domain src/sympa.pl: [BugID 114] ignore SIGPIPE, to prevent sympa.pl crash src/List.pm: [BugID 539] no more show closed lists to list owners src/List.pm: [BugID 481] prevents crash if _save_stats_file() parameter has the wrong type src/sympa.pl: [BugID 545] using File:Copy instead of rename() for the --keepcopy option, because the keepcopy directory might be on a different filesystem src/Language.pm: prevents case problem with locale names wwsympa/wwslib.pm: [reported by H.Brunet] apache-ssl does not set SSL_PROTOCOL env variable but SSL_PROTOCOL_VERSION instead soap/sympasoap.pm, wwsympa/Auth.pm, wwsympa/wwsympa.fcgi: now report CAS authentication failures Also fixed a bug related to recent auth_services changes wwsympa/wwsympa.fcgi: 'your_lists' was empty just after the login src/Conf.pm: [requested by F.Jammes] in auth.conf, allow white spaces in the list of hosts src/List.pm: [BugID 589] restore correct get_editors_email() subroutine soap/sympasoap.pm: [BugID 591] typo iun which() src/List.pm: [reported by M.Schoeb] List::has_include_data_sources() did not check owner_include and editor_include. Therefore sync_include task might not be created. [reported by B.Riffle] no more use quoting in SQL queries with numeric fields check_perl_modules.pl: [reported by J.Beretta] the '-modifybodyaddresses' option is only available since mhonarc 2.6.0 rc/task_manager.pl: [BugID 498] 'process_bouncers' task failed if no owner could be contacted ; no more return undef [BugID 522] escape quotes in javascript calls wwsympa/archived.pl: archived.pl would die with a "Modification of non-creatable array value attempted" error while creating the index file src/Language.pm: [reported by O.Lacroix] failed to setlocale on HPUX ; now trying without dashes ('-'). Also fixed the setlocale(LC_TIME) wwsympa/wwsympa.fcgi: [proposed by G.Crompton] problems when using Sympa in a proxy context (virtual robot selection, navigation in web archives). WWSympa now uses the HTTP_X_FORWARDED_SERVER and HTTP_X_FORWARDED_HOST header fields if set src/Language.pm: [BugID 502] Fix for i18n on FreeBSD src/List.pm: [BugID 501] if family_name was set to an unknown family, wwsympa would die with the following error msg "Can't call method "check_param_constraint" on an undefined value at /var/sympa/bin/List.pm line 1728." src/List.pm: [reported by P.Maes] while including users from SQL, Sympa would stop at the first NULL row. Now going though all rows src/List.pm: [BugID 461] List::am_i() cache control had 2 blocks which returned before updating the cache src/Language.pm: when 'web_recode_to' is set, also change the 'charset' src/alias_manager.pl: [BugID 451] print errors to STDERR src/task_manager.pl: [D.Lamballais] missing chomp ; incorrect split on file path. The consequence of this bug : all tasks would fail ("Error while processing task..") wwsympa/wwsympa.fcgi: [BugID 447] [E.Rynes] If a multivalued list parameter is set to read only, then the web pages will display an extra, empty value wwsympa/wwsympa.fcgi: [reported by JH.Belpois] load subscribers in DB if changing the user_data_source from file to include2 src/List.pm: limit the SQL queries when calling get_which(). Sympa would do run am_i() on every list the user is not owner of src/alias_manager.pl: [reported by L.Ghys] reference to incorrect sympa.conf parameter 'sendmail_alias' src/: Family.pm, sympa.pl: [reported by S.Amrani & JH.Belpois] Sympa.pl would die while instantiating families with the following error : "free(): invalid pointer". Using parse_file() instead of parse_fh() seems to fix the problem. web_tt2/arcsearch.tt2, wwsympa/wwsympa.fcgi: [BugId 427] [reported by K/Moriwaka] sort by age did not work properly in web archives search engine 5.1.2 31 October 2005 New features : po/Makefile, src/Conf.pm, src/Language.pm, web_tt2/rss_request.tt2, wwsympa/wwsympa.fcgi: [D.Nylander] sympa translated to Swedish Changes : soap/sympasoap.pm: [G.Bouteille] which SOAP subroutine result now includes lists the user is admin of src/Language.pm: try a setlocale() with locale.charset first po/de.po: [M.Redinger] Updated de.po po/ja.po: [K.Moriwaka] Updated Japanese translations po/et.po: [T.Kindsigo] Updated Estonian PO file Makefile.am, Makefile.in: [requested by S.Hornburg] never wait for user input while building a package (DESTDIR is set) Bug fixes : src/task_manager.pl: [BugID 498] 'process_bouncers' task failed if no owner could be contacted ; no more return undef wwsympa/wwsympa.fcgi: [BugID 528] adding a pending subscriber failed if the user gecos contained a comma (',') web_tt2/rss.tt2, wwsympa/wwsympa.fcgi: Fixed some RSS problems src/List.pm: get_which() for listamster returned all non-include2 lists * src/tt2.pl, web_tt2/: [BugID 522] escape quotes in javascript calls wwsympa/wwsympa.fcgi: never go back to the search action after a del soap/sympasoap.pm: [BugID 516] lists and which used domain in list address instead of host wwsympa/wwsympa.fcgi: optimization : skip get_which() when either in a list context or while returning CSS wwsympa/wwsympa.fcgi: escape encoded SMTP header fields for RSS wwsympa/archived.pl: archived.pl would die with a "Modification of non-creatable array value attempted" error while creating the index file src/Commands.pm, web_tt2/skinsedit.tt2: [reported by A.Brugalle] Add a notification when a message is moved to the distribution spool src/: Archive.pm, List.pm: [reported by V.Mathieu] mail archives files had an incorrect 'log.' filename src/Language.pm: [reported by O.Lacroix] failed to setlocale on HPUX ; now trying without dashes ('-'). Also fixed the setlocale(LC_TIME) src/List.pm: [G.Bouteille] missing 'family_closed' parameter to close() src/tt2.pl: [G.Bouteille] SetLang only if lang is available mail_tt2/info_report.tt2: prevents a parser failure if info file was not found web_tt2/review.tt2: [O.Lacroix] subscriber add form was shown regardless of owner privilege po/fr.po: [O.Lacroix] [BugId 471] Fix Makefile.am, Makefile.in: [BugId 504] Fix: LOCALDIR was hardcoded ChangeLog, src/Language.pm: [BugID 502] Fix for i18n on FreeBSD src/List.pm: [BugID 501] if family_name was set to an unknown family, wwsympa would die with the following error msg "Can't call method "check_param_constraint" on an undefined value at /var/sympa/bin/List.pm line 1728." web_tt2/list_menu.tt2, wwsympa/wwsympa.fcgi: [BugID 465] "contact owners" failed if protection mode was not javascript src/List.pm: [BugID 461] List::am_i() cache control had 2 blocks which returned before updating the cache 5.1 4 August 2005 New features : ***** New set of web templates, CSS and XHTML compatible. These new templates almost have the ***** same names, BUT if you previously customized Sympa web template, you will certainly have ***** to edit these templates. ***** ***** Because of the new web templates, you have to start a "rebuild" process for all web archives ***** (see the "Sympa Admin" page). ***** ***** New parameters have been introduced : color_0 .. color_15 (replacing previous xx_color parameters) ***** logo_html_definition and css_url (you should customize this parameter to install a "static" CSS ***** stylesheet ; otherwise wwsympa will cope with 2 requests foreach page) doc/: New "roles and privileges" section doc/: New chapter: running 2 sympa versions of a single server doc/sympa.tex.tpl, mail_tt2/digest.tt2, mail_tt2/digest_plain.tt2, src/List.pm: new 'digest_max_size' list parameter. If a digest exceeds this limit, then multiple messages are sent. web_tt2/, wwsympa/wwsympa.fcgi: [A.Bernstein] subscriber's groups always listed in a box. Resized the menu box (+60px) ; removed the "your subscriptions ; new your_lists.tt2 template po/: Makefile, ja.po: [K.Moriwaka] New translation to Japonese po/Makefile, po/el.po, po/fr.po, po/nl.po, po/pt_BR.po, po/tr.po, src/Conf.pm, src/Language.pm: Added PO files for Greek, Dutch, Portuguese (Brazil) and Turkish wwsympa/: Makefile, SharedDocument.pm, wwsympa.fcgi: New SharedDocument.pm module to clean the shared documents code. Only used in new_d_read() now po/Makefile, po/oc.po, src/Language.pm: [M. Allaya] first version of Sympa in Occitan ChangeLog, src/Message.pm, src/tools.pl: add sanity check of incoming email address Makefile.am, Makefile.in: Added a warning about the long installation process Changes : src/List.pm: clean buggy list config files at startup src/etc/script/sympa: [BugID 403] made init script compatible with OS X, Debian and Suze src/: admin.pm: [reported by JH.Belpois] owner and subject nodes no more mandatory (while updating a family) src/: Family.pm, sympa.pl: [reported by S.Amrani & JH.Belpois] Sympa.pl would die while instantiating families with the following error : "free(): invalid pointer". Using parse_file() instead of parse_fh() seems to fix the problem. po/cs.po, src/Conf.pm: [V.Adamec] Updated czech translations check_perl_modules.pl: Change: DBI and DBD_mysql required src/etc/script/sympa: [D.Chopard-Lalier] Fix for Debian src/: Family.pm: [BugId 411] use File::Copy::copy instead of rename() to allow traversing filesystems Makefile.am: [BugId 431] USER and GROUP was not provided to the man Makefile po/de.po, src/Conf.pm: [M.Redinger] Updated German translations src/List.pm, wwsympa/wwsympa.fcgi: Now running List::get_which() at wwsympa startup to initialize %List::list_cache. This prevents subsequent SQL queries in List::am_i() and List::is_user() src/List.pm, wwsympa/wwsympa.fcgi: [reported by S.Amrani] for every web request, wwsympa was running List::probe_db() that performs a database structure checkup. Now using a lighter subroutine wwsympa/wwsympa.fcgi: [BugID 406] wrapping lines to 80 characters when posting from the web interface. Also moved the ^M removal to get_parameters() src/: Conf.pm, List.pm: New update_db_field_types parameter to disable automatic DB changes wwsympa/wwsympa.fcgi: create sympa_dump files (when incorrect parameter format) in Sympa's own tmp dir instead of /tmp src/Language.pm: try performing different setlocale() with $lang and with $locale.charset Bug fixes : src/task_manager.pl: [D.Lamballais] missing chomp ; incorrect split on file path. The consequence of this bug : all tasks would fail ("Error while processing task..") wwsympa/: wwsympa.fcgi: [BugID 447] [E.Rynes] If a multivalued list parameter is set to read only, then the web pages will display an extra, empty value wwsympa/wwsympa.fcgi: [reported by JH.Belpois] load subscribers in DB if changing the user_data_source from file to include2 src/List.pm: Fix: limit the SQL queries when calling get_which(). Sympa would do run am_i() on every list the user is not owner of wwsympa/: wwslib.pm, wwsympa.fcgi: Reception modes can now be translated on the web interface wwsympa/wwsympa.fcgi: various RSS fixes src/etc/script/sympa: [S.Amrani] incorrect condition for debian and suse web_tt2/: remore width: 100% (compatibility issues with IE6) src/List.pm: List::get_subscription_requests() would return undef if one request was incorrect Makefile.am: missing CGIDIR in documentation wwsympa/wwsympa.fcgi: [S.Amrani] the regexp run by search_list could make wwsympa.fcgi process die ; now using eval{} Now escaping some more dangerous caracters. web_tt2/arcsearch.tt2, wwsympa/wwsympa.fcgi: [BugId 427] [reported by K/Moriwaka] sort by age did not work properly in web archives search engine src/etc/script/create_db.Oracle: [reported by Emr] incorrect enum types for Oracle po/xgettext.pl: [M.Redinger] xgettext.pl did not collect all gettext_id from List.pm mail_tt2/: helpfile.tt2, lists.tt2: [G. Bouteille] Add header fields top templates soap/sympa_soap_server.fcgi: [S.Amrani] replace hard-coded path to Sympa libdir src/List.pm: [BugID 418] Ldap search return code was not examined in _include_users_ldap() wwsympa/wwsympa.fcgi: Fix: $rss variable was not reinitialized if in POST context. Wwsympa could provide RSS content instead of HTML content src/List.pm: check if no null while doing a ALTER TABLE src/: List.pm, mail.pm, tt2.pl: [BugID 415) [Moriwaka] incorrect parameters to encode_mimewords() ; Sympa previously encoded every string in iso-8859-1 Makefile.am, Makefile.in, doc/man8/Makefile: [reported by S.Amrani] Fix umask while installing man pages ; also reorganized Makefiles src/List.pm: [BugID 393 & 409] adding custom_subject would break subject encoding src/tools.pl, wwsympa/wwsympa.fcgi: [reported by S.Lalonde] regexp for email was too restrictive, not allowing uid mail_tt2/: global_remind.tt2, moderate.tt2: [reported by O.Archer] some MUA require an empty line after mailto: URLs po/xgettext.pl: some multi-line strings were not properly added to sympa.pot. Therefore these translations were not available. wwsympa/Auth.pm: CAS authentication was not able to use ldap_bind_dn and ldap_bind_password src/Ldap.pm, src/List.pm, wwsympa/wwsympa.fcgi: [BugID 402] [J.Dalbec] : Sympa did not report failed LDAP binds wwsympa/wwsympa.fcgi: [BugID 400] error mesage would be printed if user previously failed to login (previous_action problem) wwsympa/wwsympa.fcgi: Users could set empty passwords (\s+) 5.0 20 April 2005 New features : src/tt2.pl, web_tt2/main.tt2, web_tt2/rss.tt2, wwsympa/wwsympa.fcgi: [G.Bouteille] Changes: RSS related : * fixed various encoding problems * added a link, refering to RSS chanels, in HTML pages wwsympa/wwsympa.fcgi: now performs syntaxical checks on incoming parameters to prevent malicious code injection Changes : po/: added a check of available locales (usefull for Debian) at make time wwsympa/wwsympa.fcgi: [proposed by S.Ducoulombier] base URL for viewmod and archives now uses the wwsympa_url parameter mail_tt2/: most service messages no more refer to user password po/: Update PO and POT src/etc/auth.conf: Fix exemple with eppn po/hu.po: [G.Hargitai] Update translations wwsympa/wwsympa.fcgi: return to the get_pending_list page when a list has been installed src/sympa_wizard.pl: list of supported languages is reduced src/Language.pm: Allow '%' chars to be escaped in templates : %% wwsympa/wwsympa.fcgi: [BugID 369] [A.Bernstein]: check 'send' scenario to determine if 'Post' button is shown Bug fixes : mail_tt2/welcome.tt2: [reported by P.Chevalier] failed to parse default welcome.tt2 if info file was not found src/List.pm: [reported by P.Young] Fix: add_user() failed if one entry could not be added. Replaced 'return undef' with 'next' soap/sympa_soap_server.fcgi, src/List.pm, src/task_manager.pl, wwsympa/archived.pl, wwsympa/wwsympa.fcgi: daemons should not start if database is not available. Admin hash used to be undef if database was not available ; changed this behavior. If list status is set to error_config, no more save the config to preserve list config file src/task_manager.pl: Add a log entry when running a task ; do not execute a task if the associated parameter is no more defined wwsympa/wwsympa.fcgi (1.513): Check 'size' type in review ; prevent division by zero wwsympa/wwsympa.fcgi (1.512): Allow web message composition, even for moderated lists src/List.pm (1.522): [BugID 394] Sympa died while calling MIME::Entity::remove_sig() wwsympa/wwsympa.fcgi: [BugID 391]: wwsympa did not rise an error if user provided no password at login po/xgettext.pl: Fix: allow dashes in [% END %] tags po/xgettext.pl: [reported by M.Charlot] an additional \n was added to multiline entries. These translations could not be used (not matched by gettext()) src/tools.pl: allow comment.tt2 file (create_list context) be localized src/etc/mhonarc-ressources.tt2: [L.Kirsher] Domainkey-signature is not printed in archives (too long) mail_tt2/moderate.tt2, src/List.pm: [BugID 299] Add number of messages awaiting moderation in moderate.tt2 mail_tt2/moderate.tt2, src/List.pm: [requested by G.Hargitai] Add message sender (msg_from) to the subject of the default moderate.tt2 template po/Makefile: [reported by G.Hargitai] translations in create_list templates were not collected web_tt2/: [BugID 375] some input maxlength were too short src/List.pm: [G.Bouteille] check if $user is defined first. Otherwise wwsympa would create loops src/task_manager.pl: [reported by S.Ruberti] [BugID373] the task_manager created dummy remind tasks mail_tt2/Makefile, web_tt2/Makefile: [C.Orteu] remove incorrect 'cd tt2' commands src/queue.c, src/bouncequeue.c: [M.Schulze] fix vulnerability to a buffer overflow. This could potentially lead to the execution of arbitrary code under the sympa user id. src/List.pm, wwsympa/wwsympa.fcgi: urlize and attach function were not fully working wwsympa/archived.pl: Remove all previously generated files when rebuilding web archives. Attachments used to be duplicated... src/task_manager.pl: remind messages (automatically sent by the task_manager) did not use appropriate variables (because current robot was not given) check_perl_modules.pl: problem with RedHat ES and Archive:Zip src/tools.pl: Could not create tmp directory for antivirus if already exists 5.0b.1 11 January 2005 New features : wwsympa/wwsympa.fcgi: perform security checks on incoming parameters syntax doc/: Upgrade chapter added Changes : web_tt2/: [P.Levesque]complete XHTML compliance work src/etc/mhonarc-ressources.tt2: Add keepspace to text/plain filter args src/List.pm: use tools::lock() and tools::unlock() for include_admin wwsympa/archived.pl: Remove previous HTML files while rebuilding web archives Fixes : src/sympa.pl, src/Commands.pm: daemon_mode variable was not accessible from within Commands.pm. Bug description : moderated / confirmed messages were moved to 'distribute' spool though 'distribution_mode' sympa.conf parameter was not set to 'fork' src/etc/mhonarc-ressources.tt2: htmlize text/plain messages in archives, otherwise <> chars are not correctly printed src/List.pm: [H.Gabor] Postgresql does not support && and || ; replaced them with OR and AND 5.0b 04 January 2005 New features : [G.Bouteille] RSS channels are providing the following features : * latest messages in list archives * latest documents in web repository * latest created mailing lists * most active mailing lists (read documentation for more informations) Web pages can be recoded to utf-8 (web_recode_to parameter) ; default is to use each language native charset (iso-xxx) Changes : check_perl_modules.pl: Newer version of MIME::Base64 required by MIME::Words po/: Update POT ; sync PO with POT Fixes : wwsympa/archived.pl: Remove .mhonarc.lck if required src/etc/mhonarc-ressources.tt2, wwsympa/archived.pl: now using a MD5 hash (based on cookie+listname) to set tags in mhonarc-ressources. This prevents message contents to be parsed (when refering to TT2 templates) 5.0a.1 13 December 2004 New features : [O.Lacroix] New 'listmaster_email' and 'bounce_email_prefix' parameters in sympa.conf wwsympa/wwsympa.fcgi:[G.Bouteille] + New expert/user modes in the document repositoryDocument + Allow upload and unzipping of a ZIP file in the document repositorySympa.pl src/Commands.pm, src/Conf.pm, src/Log.pm, src/sympa.pl, src/tools.pl: New mode with two processus one dedicated for messages one dedicated for commands At start : use --service process_message to process only distribution --service process_command to process only command In sympa.conf : distribution_mode fork to make symap.pl fork and run two daemon. distribution_mode single (default) to run as previous version. This mode requiert more computer ressources but provide better priority handling and faster answer to commands. Internal : new spool distribute where sympa distribute message with asking for more auth nor editor validation. Changes : src/etc/script/sympa: Add a sleep between stop and start src/sympa_wizard.pl default wwsympa_url is set to /sympa (instead of /wws) check_perl_modules.pl: auto-install mhonarc wwsympa/wwsympa.fcgi: Allow caching for archives (should prevent gfoogle looping in archives) wwsympa/wwsympa.fcgi: Add a Date: HTTP header field telling the mast update time of the HTML archive file (should prevent google looping in web archives) web_tt2/main.tt2, wwsympa/wwsympa.fcgi: [M.PELTIER][BugID354]: Added a noparse html tag ; page substitle is the archive message subject src/etc/mhonarc-ressources.tt2: [M.Peltier] [BugID 353] mhonarc resources improvement (used TSLICE instead of Ref and Followup, HTML 4 conformance, ...) Bug fixes : src/List.pm: mysqld needed to be reloaded after GRANT was run src/List.pm, web_tt2/edit_list_request.tt2, wwsympa/wwsympa.fcgi: [BugID 346] hide passwords in the edit_list web form src/: bouncequeue.c, queue.c: [BugID 347] queue.c and bouncequeue.c did not compile on HP-UX src/Conf.pm: [BugID 351]'db_env' was stored internally in the wrong format src/task_manager.pl: [reported by S.Balmos] 'purge_orphan_bounces' task failed (and was reprogrammed) when no list exist src/admin.pm: failed to create lists with topic/subtopic wwsympa/archived.pl: addressmodify code passed as an argument because $AddressModify .mhonarc.db var was used inbstead of M2H_ADDRESSMODIFYCODE env var 5.0a 06 December 2004 New features : [G. Bouteille] List families make it possible to automatically create a set of mailing lists that share a common configuration template, a set of constraints, templates and authZ scenarios. Family instantiation requires an XML document that defines mailing lists. ***** require new perlmodule XML-LibXML [G.Bouteille] Owners and moderators can be extracted from an external datasource. Data sources are gathered in a new 'data_sources' directory. Sympa manages a cache of data in a new 'admin_table' database table. ***** You should update your DB structure (automatically performed by Sympa with MySQL), adding the following table (mySQL example) : ***** CREATE TABLE admin_table ( ***** list_admin varchar(50) NOT NULL, ***** user_admin varchar(100) NOT NULL, ***** role_admin enum('listmaster','owner','editor') NOT NULL, ***** date_admin datetime NOT NULL, ***** update_admin datetime, ***** reception_admin varchar(20), ***** comment_admin varchar(150), ***** subscribed_admin enum('0','1'), ***** included_admin enum('0','1'), ***** include_sources_admin varchar(50), ***** info_admin varchar(150), ***** profile_admin enum('privileged','normal'), ***** PRIMARY KEY (list_admin, user_admin,role_admin), ***** INDEX (list_admin, user_admin,role_admin) ***** ); ***** Extend the generic_sso feature ; Sympa is now able to retrieve the user email address in a LDAP directory New include_remote_file list parameter src/Conf.pm, src/alias_manager.pl: New sympa.conf parameter : sendmail_aliases web_tt2/review.tt2, wwsympa/wwsympa.fcgi: Add a "synchronize members with data sources" on the review page Changes : wwsympa/wwsympa.fcgi: [O.Lacroix] notify listmasters of list creation/rejection po/it.po, src/Conf.pm: [G. Donnini] Update of Italian translations Makefile.am, configure.in: Check that msgfmt is available wwsympa/: wwsympa.fcgi: When data-source related parameters have been edited, sync_include is run (not delegated to the task_manager) wwsympa/wwsympa.fcgi: check the UID at startup Bug fixes : wwsympa/wwsympa.fcgi: datasources did not appear after a search ; now use a common subroutine src/Commands.pm: 'SIG *' failed ; only unsubscribed from the first list src/: List.pm, etc/script/create_db.Pg, etc/script/create_db.Sybase, etc/script/create_db.mysql: replace attributes_user type from 'text' to 'varchar(255)'; could make an "out of memory problem" web_tt2/admin_menu.tt2: [O.Lacroix] data source admin menu was restricted to listmasters src/mail.pm: Lang was not set correctly before parsing a template src/List.pm: [G.Bouteille] check if $user is defined first. Otherwise wwsympa would create loops wwsympa/wwsympa.fcgi: duplicate topics on the front page while changing the language wwsympa/: wwsympa.fcgi: prevent upload if no file was selected soap/: sympasoap.pm: [reported by F.Fareneau] CAS login failed on the SOAP interface if robot was not the default one wwsympa/wwsympa.fcgi: could not save templates if mail_tt2/ directory did not exist [BugID 336] regenerated config.sub and config.guess files src/: List.pm: ldap include removed previous data about the user (overwritten with defaults) src/: List.pm, task_manager.pl: do not create tasks for lists that have no include data sources wwsympa/wwsympa.fcgi: [reported by E.Hoppenot] Moderators could not view concealed subscribers src/List.pm: Fix default for archive_encrypted_message src/List.pm, wwsympa/wwsympa.fcgi: [reported by E.Tinturier] : SSO-related user attributes were not available in web template. There are now available in [% user.attributes %] hash. Also made environment variables in both web templates and scenarios. src/etc/templates/us/invite.us.tpl: [BugID 329] orphan [ELSE] removed src/Commands.pm: [bugID 328] while setting reception options or unsubscribing for all lists, skip hidden lists src/task_manager.pl: [reported by M.Bouissou] the bounce_score was not an integer. This would generate an error with Sybase : "invalid input syntax for integer:" 4.2b.3 13 August 2004 New features : ***** We have both changed Sympa's template format and catalogue format ***** ***** Template file format is now TT2 (hhtp://www.tt2.org). Its format is similar ***** to the old template format. Sympa.pl should detect that you are upgrading ***** from an old version and will run the tpl2tt2.pl script to migrate your ***** existing .tpl files to .tt2 format. ***** ***** We now use PO format for Sympa internationalization. This is a much more ***** standard format which make it easier for translators to update catalogues. ***** Because we could not automatically extract translatable strings from templates ***** most of the translation job is to be done again and only 3 languages are supported ***** with this release (the one that have uptodate PO files) ***** If you are concerned about translating Sympa, please read this document : ***** http://www.sympa.org/howtotranslate.html po/Makefile: add stats on translation progress (cd po ; make stats) doc/sympa.tex.tpl, src/Conf.pm, src/Language.pm, src/List.pm, wwsympa/wwsympa.fcgi: added 'supported_lang' parameter to restrict supported languages on the user interface src/List.pm: [requested by P.Garnier] allow non-anonymous bind in LDAP filters src/mail.pm, wwsympa/wwsympa.fcgi: [requested by L.Kirsher] add user gecos to From: field when for messages composed on the web interface Changes : wwsympa/tt2/: [P.Levesque] Making the web interface XHTML src/sympa.pl: Change: sympa.pl dies if it was given unknown options src/Conf.pm: check that queuebounce and bounce_path parameters are not the same src/: tools.pl: [reported by O. Lacroix] previously made too many trials for safefork() wwsympa/tt2/: arc.tt2, arcsearch_form.tt2: default behavior of search engine will search in messages subjects src/sympa.pl: notify listmaster if antivirus check failed ; keep message as BAD src/: Conf.pm, tools.pl: check Sympa access to capath and cafile if defined po/hu.po: [S. Vizi] Update of Hungarian translations check_perl_modules.pl: Checking for Locale::TextDomain version instead of Locale::Messages because $VERSION was not defined ***** The 'msgcat' sympa.conf parameter is now obsolete. You should set the 'locaeldir' ***** parameter instead. Bug fixes : src/tt2.pl: Fix problem with spaces between encoded words (bug 5462 of MIME::Words) src/: sympa.pl, tools.pl: as_singlepart() ; would fail on signed messages src/tools.pl: Default for $virusfound was 'undef' (generating errors) ; changed default to '0' src/Conf.pm, wwsympa/Auth.pm: [reported by D.Lamballais 'password_case' wwsympa.conf parameter was not used src/etc/mhonarc-ressources.tt2: [reported by Jeg] the viewmod page would propose a "reply to" and "send it back to..." buttons wwsympa/wwsympa.fcgi: [reported by Chaosmedia] while editing a template, the template name could be altered (lang element lost) wwsympa/: wwsympa.fcgi: [reported by J.Koret] Fix an XSS vulnerability src/tools.pl: [L.Veillon] incorrectly handled Uvscan code 12 src/: tools.pl: [reported by J.Beretta] sympa would incorrectly change the MIME structure of multipart/alternative messages composed with Outlook. src/: tools.pl: [BugID 305] Missing <> around Message-id when messages are posted from the web src/: List.pm: rfc2369_header_fields parameter edition incorrectly handled wwsympa/wwsympa.fcgi: could not restore a list in include2 mode src/List.pm, wwsympa/wwsympa.fcgi: load-cert() failed with Mozilla because the content-type was forced to application/pkix-cert and the certificate was in PEM format. Now convert it to DER src/task_manager.pl: do not create 'sync_include' tasks if lists status is not 'open'. src/: List.pm, tools.pl: task_manager could previously be stuck on an include.lock file (when list had no subscriber). Changes : - lock is release in List::get_first_user() if list has zero subscriber - move lock/unlock code to tools.pl - no more perform a blocking lock ; iterate 10 times (with increasing delay) instead wwsympa/: wwsympa.fcgi: [BugID 301] Fix: do_arc_delete() subroutine was inadvertently removed (while introducing SOAP features) soap/sympa_soap_server.fcgi, src/List.pm: Using error_message() subroutine where it is not defined wwsympa/: wwsympa.fcgi: [reported by Y.Edelist] wwsympa would log a warning if Net::LDAP was not installed, even though it was not used : "Unable to use LDAP library, Net::LDAP required,install perl-ldap (CPAN) first" wwsympa/wwsympa.fcgi: restore d_edit privilege to document authors in the shared src/List.pm, wwsympa/wwsympa.fcgi: [BugID 295] "Internal Server Error" while accessing to modindex src/List.pm, wwsympa/wwsympa.fcgi: security issue : close a pending list then restore it make the list open even if the list owner is not authorized. Fixed. src/etc/: edit_list.conf: new include_xxx parameters should be hidden for owners configure.in: [reported by L.Veillon] [O.Lacroix] incorrect AC_ARG_WITH src/List.pm: [BugID 294] replacing [msg_header] in scenario files wwsympa/: archived.pl, bounced.pl: when in debug mode, log entries were not printed src/: List.pm: [reported by P.Maes] list creation request message could not be sent (foo-owner User Unknown) because Return-path address was not yet created wwsympa/Marc/Search.pm: [requested by R.Marchand] decode Subject and From while searching in archives wwsympa/wwsympa.fcgi: [reported by V. Mathieu] incorrectly handled multiple enum parameters in edit_list src/List.pm: [reported by O.Lacroix & C.Nahaboo] Move subject tagging upward to have homogenous tagging in web archives src/Commands.pm, src/List.pm, src/sympa.pl, src/tools.pl, wwsympa/wwsympa.fcgi: Now always set 'subscribed' DB field, whatever the user_data_source is. New feature: Store a data_structure_version file in etc/ to determine what changes need to be done to the DB. Set 'subscribed' DB field if version < 4.2a src/: List.pm: set 'subscribed' to 1 if neither subscribed nor included is set 4.2b.1 04 May 2004 New features : [BugID 260] [C.Hastie] Add an extra reception option :"digestplain". The 'digestplain' reception option generates a digest of messages in a plain text format. All attachments are stripped out. [Gwenaelle Bouteille] added document moderation (in the document repository) and other shared-related work [requested by C.hastie] per list rfc2369_header_fields parameter Changes : ***** src/List.pm: Changed default for 'user_data_source' ('file' => 'include2') src/etc/templates/us/digest.us.tpl: [C.Hastie] Changed encoding of the table of content part to 8bit wwsympa/wwsympa.fcgi: [requested by O.LACROIX] notify all listowners, even if reception is nomail [Petr Prazak] Update Czech translations + some English typos fixed src/etc/script/arcrepair.pl: This script will fix a bug of Sympa 4.1 Bug fixes : wwsympa/wwsympa.fcgi: notify user that the config will be updated soon when user_data_source changed from anything to 'include2' src/sympa.pl: [bugID 115] missing newline after mail headers in command reports wwsympa/wwsympa.fcgi: previously created ML directory directly in expl/ directory if robot was also the default host. src/tools.pl: [O.Lacroix] failed to remove list directory (while purging) becaude finddepth() used to chdir. rmdir() failed with 'device busy' error wwsympa/wwsympa.fcgi: [reported by mwk] escape single quotes in archives search engine (could cause a 500 error) src/List.pm, wwsympa/wwsympa.fcgi: an empty document to moderate (sympauser) would appear if there was nor shared space wwsympa/Makefile: [BugID 152] UMASK was not set when installing web templates wwsympa/Makefile: [BugID 205] wws_templates/ directory was installed with wrong permissions src/task_manager.pl: Do not warn/remove boucing members that are included doc/sympa.tex.tpl: [reported by V.Mathieu] Fix include_ldap_2level example src/task_manager.pl: removing task files for unknown/closed lists src/List.pm: [reported by O.Thalmann] total of subscribers was not uptodate just after a DEL or ADD operation. Added 'nocache' option to the call to _load_total_db() in get_first_user() src/List.pm, src/sympa.pl, wwsympa/wwsympa.fcgi: [reported by V.Mathieu] Ldap.pm was not loaded in sympa_soap_server.fcgi check_perl_modules.pl: [reported by V.Mathieu] FCGI 0.67 is required for the SOAP server. Corresponding error message : Can't locate object method "BINMODE" via package "FCGI::Stream" src/sympa.pl: --make_alias_file must not create alias for list where list status is not 'open' src/tools.pl: [L. Labat] Antivirus check would fail under some circumstances (Unable to open xxx). BODY filehandle was never closed wwsympa/wwsympa.fcgi: renaming a list if the list was moved to another robot with the same name src/sympa.pl: remove call to deprecated MIME::Head::decode() src/List.pm: [reported by V. Mathieu] removed 'visibility.private' scenario is considered the same as 'visibility.conceal' src/etc/scenari/send.editor, wwsympa/archived.pl: web archives were stored in the wrong directory wwsympa/wwsympa.fcgi: [reported by V. Mathieu] list of inactive lists did not consider the msg_count file was not ordered src/List.pm: sorting msg_count file when it is updated 4.1 15 March 2004 Changes : src/etc/scenari/visibility.secret: [proposed by P. Young] : make the list visible to list owners and editors src/Conf.pm, src/List.pm, src/tools.pl, src/etc/templates/fr/urlized_part.fr.tpl, src/etc/templates/us/urlized_part.us.tpl: urlized parts are now defined in a template. Default is a text/plain part src/Message.pm: previously only messages that included SMIME checked signature were preserved, now protect them even though signature might not be checked check_perl_modules.pl: IO::Socket::SSL is also used by CAS src/List.pm: List::load() should not return undef if user data sources were unreachable. Otherwise List object cannot be created Bug fixes : src/etc/templates/: fr/your_infected_msg.fr.tpl, us/your_infected_msg.us.tpl: [H.Gabor] used incorrect variable in template ([from] instead of [user->email]) src/List.pm: prevent multiple custom_subject in message subjects with long threads src/sympa.pl, src/task_manager.pl, wwsympa/archived.pl, wwsympa/bounced.pl: [BugID 262] getpwnam instead of getgrnam used for setting a group id wwsympa/bounced.pl: [reported by H. Penning] bounced would process BAD files, ending with BAD-BAD-BAD...files created src/CAS.pm, src/Ldap.pm, src/List.pm, src/X509.pm, src/tools.pl, wwsympa/Auth.pm, wwsympa/wwslib.pm, wwsympa/wwsympa.fcgi: Change: now use eval() to check if perl modules are available ; this is required by recent Perl interpreters src/List.pm: [reported by C.Hastie] [msg_header->xxx] variables were not parsed in scenario files src/sympa.pl: [D.Young] Ignore messages without MessageID in loop detection process src/task_manager.pl: [reported by O.Thalmann] regular expression was applied on full task file path. Could leed to incorrect task files created (1077886032..expire_bounce._global) if path include dots ('.') src/etc/templates/us/welcome.us.tpl: [H. Gabor] Remove trailing '.'near password 4.0.b3 17 February 2004 New features : wwsympa/wwslib.pm, wwsympa/wwsympa.fcgi,wwsympa/wws_templates/us/main.us.tpl: Plugging of a on line html editor in the shared document feature wwsympa/: new "list of inactive lists" from the serveradmin interface doc/: Added documentation for include2 Changes : doc/ [D. Dussart] Add Java SOAP client documentation doc/ Update doc: multiple virtual robots management src/etc/templates/, wwsympa/wws_templates/: [H. Maza] updating online help Makefile.am, configure.in,: [BugID 257] Add --with-lockdir to configure src/List.pm: now creating a MIME::Entity in send_msg_digest() instead of Mail::Internet. make it possible to use body_as_string() src/Conf.pm: Initialize the %Conf::robots hash with default robot ; can be overloaded by a Virtual Robot Bug fixes : src/List.pm: Sympa would die if a list custom_subject contained '+' chars src/smtp.pm: Exit if message could not be opened src/smtp.pm: -m option was not logging sendmail calls wwsympa/: wwsympa.fcgi, wws_templates/us/sso_login_succeeded.us.tpl: [reported by V.Mathieu] when authenticating in the nomenu window, the user was not brought back to the main window wwsympa/wwsympa.fcgi: [reported by V. Mathieu & I. Kim] authentication failed with first defined CAS or generic_sso entry (if at the beginning of auth.conf) src/: List.pm, smtp.pm: [reported by T. Herrero] : smtp::mailto() failed if the subscriber_table included entries with empty email addresses. Some checks have been added src/List.pm: lowercase current subscribers email address before running a sync_include() to prevent duplicate entries problem src/List.pm: [reoprted by A. Bernstein] indexes were not automatically added by sympa.pl src/List.pm: [BugID 250] Escape more chars in custom_subject ('(',')','-') src/List.pm: [I. Kim] : When using the generic sso, user_attributes were not parsed in authorization scenarios wwsympa/wwsympa.fcgi: Fix: remove bounces directory when purging a list src/List.pm: [reported by C. Hastie] Decode From: and Subject: header fields only in the table of content, not in rfc822 parts src/List.pm: [reported by C. Hastie] : only loop once among subscribers in List::send_msg_digest() src/etc/script/sympa: [BugID 256] OSTYPE not defined on Solaris, now running 'uname -s' if OSTYPE is not defined 4.0.b2 12 January 2004 Fix : soap/Makefile: Failed installing sympa_soap_client.pl script 4.0.b1 09 January 2004 Changes : Makefile.am: now using rpmbuild -ba (instead of rpm -ba) Bug fix : wwsympa/Auth.pm: 'regexp' in auth.conf paragraphs only apply to email addresses (not uids) 4.0.a9 23 December 2003 New features : doc/ : Adding SOAP documentation soap/sampleClient.php: New sample PHP SOAP client Changes : src/tools.pl: More carefull controls in remove_dir subroutine wwsympa/wwsympa.fcgi: Purge list now remove archive directory Bug fixes : wwsympa/wwsympa.fcgi: 'failure missing email adresse or cookie' errors when no alt email was defined wwsympa/wwsympa.fcgi: Error message : 'Insecure dependency in chdir while running setuid at Find.pm' Now use addDirectory() and addFile() subroutines src/List.pm, wwsympa/wwsympa.fcgi: pending subscriptions for email addresses containing strange characters (+) failed src/etc/mhonarc-ressources, wwsympa/wws_templates/, : request_confirm() calls should be used with submit src/etc/mhonarc-ressources: request_confirm() parameters changed soap/sympasoap.pm: respect Virtual robots organization src/sympa.pl: messages sent from the web interface could not be confirmed (internal error : configuration for operation send is not yet performed by scenario) wwsympa/wwsympa.fcgi: could not validate pending subscriptions src/sympa_wizard.pl: default_shared_quota parameter have to be set in sympa.conf, not in wwsympa.conf src/: List.pm, Log.pm, sympa.pl: [BugID 238] Error processing with --dump batch mode src/sympa.pl: [BugID 234] $host was declared twice ; now use $listname instead of $name src/List.pm: [BugID 235] the predefined variable $* is obsolete in the recent perl releases src/List.pm: 'listmaster' was not an accepted action ("Matched unknown action 'listmaster') src/List.pm: Fix: need to reconnect to DB to grant privileges src/sympa_wizard.pl: sympa_wizard would die with "undefined tolls::xx subroutine" 4.0.a8 02 December 2003 New features : New SOAP server wwsympa/wwsympa.fcgi: Add robot to log entries src/List.pm: [K.Libby] : allow listmaster to ignore some scenario files at different levels (global, robot, list), by creating :ignore empty files Changes : ***** Change 'cas' entries format in auth.conf : ***** host => base_url ***** login_uri => login_path ***** check_uri => service_validate_path ***** logout_uri => logout_path src/etc/script/: sympa.spec, sympa.spec.rh80: [requested by J.Dalbec] RPM should change /etc/mail/sympa_aliases user and group only if this file was created wwsympa/archived.pl: [S. Zhuk] Store the latest arctxt filename ; this prevents the readdir in arctxt/ src/CAS.pm: Add a CAS client module Bug fixes : src/etc/scenari/ send.privateandeditorkey send.privateandnomultipartoreditorkey: [reported by J. Nin] messages from moderator needed confirmation src/List.pm: [BugID 216][reported by T.Kindsigo]: "order by email" clause was commented for MySQL src/etc/scenari/send.privateandeditorkey: revert rules order src/task_manager.pl: task_manager would die with "Illegal division by zero" error src/X509.pm: fix get_https the "verify_mode" in order to control the certificat validity. src/sympa.pl, src/task_manager.pl, wwsympa/archived.pl, wwsympa/bounced.pl: [BugID 219] set UID with POSIX::setuid(), required on FreeBSD rc/task_manager.pl, wwsympa/archived.pl, wwsympa/bounced.pl: [BugID 127] missing LoadLang() src/List.pm: [BugID 208] [M. Verdier]: in pending subscriptions page, if the name of the requestor was not provided, check in user_table table src/List.pm: pass the option (nocache) from get_total() to _load_total_db(). This will prevent incorrect total of subscribers displayed on the web interface after adding or removing subscribers. wwsympa/wwsympa.fcgi: Total of subscribers was incorrect after subscriptions/removal ; fixed check_param_in() wwsympa/wwsympa.fcgi: 'subject' was not decoded when used in reject messages wwsympa/wws_templates/: add missing rename_list template ; also move the "rename list" link fix archives renaming ; add virtual robot support and spool processing wwsympa/wws_templates/: Fix request_confirm() javascript function wwsympa/wwsympa.fcgi: a blank page was returned when accessing an unknown list src/: List.pm, sympa.pl: [BugID 222] Sympa did not detect incorrect actions in scenarios. A message could be lost if the send scenario was corrupted. src/List.pm: [reported by P.Maes] on Solaris shared lock fails with "Bad file number" error. This is due to the fact that flock() perl functions uses lockf() system call that requires the locked file to be open in read mode. wwsympa/wws_templates/: text in loginbanner refered to CAS servers, even though none had been defined wwsympa/wwsympa.fcgi: logout failed if auth.conf entries had been removed wwsympa/Auth.pm: contact LDAP directory in asynchronous mode 4.0.a7 18 October 2003 New features : [requested by Internet2 Shib developpers] Support for a generic SSO system, compatible with Shibboleth. New 'generic_sso' auth.conf paragraphs. Sympa delegates the authentication process to the SSO and is also able to use provided user attributes within authorization scenarios. ***** New 'attributes_user' field in the 'subscriber_table' ***** If you are using MySQL, Sympa.pl will change the database structure ***** at startup. If using Pg, Oracle or Sybase you should ALTER the table ***** structure according to the provided create_db.x scripts. src/Conf.pm, wwsympa/wwsympa.fcgi: New CAS parameter in auth.conf : non_blocking_redirection to disable automatic transparent redirection to CAS server Changes : wwsympa/archived.pl: Use standard tools::get_fileneme() to find relevant mhonarc-ressources file. src/task_manager.pl: no more update update_date user field in the bounce process src/sympa.pl: Parse all message (except bounce) because Sobig was able to subscribe via sympa@domain?subject=subscribe%20liste src/: Commands.pm, List.pm, tools.pl, task_manager.pl: [J.Dalbek] Incorrect listname regexp in task_manager (ingnored lists with '+'). Now centralized regexps in tools.pl Bug fixes : src/List.pm: [K.Marrocco] incorrectly refers to column "attributes" instead of "attributes_user" (for Oracle) src/Archive.pm, wwsympa/archived.pl: [BugID 273] [C.Nahaboo] filenames in archived spool (outgoing) were using current time and PID which is not enough when 2 messages for the same list are sent within the same second. Now adding incremental number to filenames in outgoing spool. src/tools.pl: S/MIME related ; Sympa would die if it could not find user certificate src/etc/scenari/visibility.private: visibility was not granted to list owner src/: bouncequeue.c, queue.c: [BugID 2006] Wrong exit codes src/List.pm: [BugID 204] [reported by M. Grund] db_env variables could not be set (usefull for Oracle) src/: Conf.pm, etc/auth.conf: Install a default auth.conf otherwise authentication would not work without auth.conf. wwsympa/wwsympa.fcgi: [reported by M. Krafft] Javascript email addresses protection was not working with owner/editor when no gecos was defined web spam protection : corrected regexp (M2H_ADDRESSMODIFYCODE var) in archived.pl email list address now protected ; document authors in shared now protected wwsympa/wwsympa.fcgi: Fix a bug related to cas logout et virtual robot. wwsympa/wws_templates/: fr/loginbanner.fr.tpl, us/loginbanner.us.tpl: missing ENDIF ; loginbanner was broken wwsympa/wwsympa.fcgi: Fix bug related to CAS and virtual robot src/List.pm: wrong multiple_host_with_port regexp would require a comma after a single hostname 4.0.a6 18 September 2003 New features : src/Commands.pm, src/List.pm, src/sympa.pl: new variable available in authz scenarios : [msg_encrypted] is set to 'smime' if message was S/MIME encrypted src/: Conf.pm, List.pm, tools.pl: [C. Mock] : -allow separate signing/encryption S/MIME keys for users, lists, sympa; keys are extracted from the received signed emails, analyzed for the key usage extensions, and saved either as before (when they allow signing and encryption) or with a file extension "@enc"/"@sign" for separate keys; cf extract_certs() in tools.pl for saving them, parse_smime_cert() for getting all the info out (this also encapsulates the issue of email addresses in the DN vs SubjectAlternativeName), and find_smime_keys() to encapsulate the decision which key to use for signing, encrypting and decrypting. wwsympa has been altered accordingly to deliver either the encryption certificate or the "both purposes certificate" from "load cert". - allow multiple "generations" of certificates for lists + sympa, so that you can renew your certs before they expire and run old and new certs alongside, so you don't need all your users to switch at the very same moment; this is also encapsulated in find_smime_keys(). Changes : wwsympa/wwsympa.fcgi: [C. Mock] Change: patched mod_ssl to extract the SubjectAlternativeName X509 email storage variant and deliver it in $ENV{SSL_CLIENT_S_EMAIL}; this is checked in wwsympa in preference to $ENV{SSL_CLIENT_S_DN_EMAIL}; need this for our certificates which contain the email address _only_ in the SubjectAlternativeName. Bug fixes : wwsympa/wwsympa.fcgi: [C. Mock] Fix: set content-type of list cert depending on user-agent, so IE can automatically import the file too; also, send CRLF terminated certificates with the certificate itself only (no comment lines), also for IE. Certificate installation from the web interface works for netscape and IE now. src/Commands.pm,src/sympa.pl: [C. Mock] Remove unusefull SMIME code, performed in Message.pm 4.0.a5 12 September 2003 New features : Sympa can rely on CAS single sign-on system (Yale central Authentication Service) for authenticating users. Check auth.conf section in documentation for more details. Sympa first tries a transparent login, if it did not succeed, it then prompts the user for his favourite CAS server. ***** auth.conf format has changed ; if you had a previous auth.conf file you ***** should change it according to the new format ***** To keep the existing authentication bahovior you should add the following entries at the ***** end of your existing auth.conf file : ***** user_table ***** regexp .* Changes : doc/: Reorganize documentation with authN and authZ chapters doc/sympa.tex.tpl: Change: rename 'scenario' to 'authorization scenario' 4.0.a4 14 August 2003 New features : Automatic bounce management based on 2 tasks : * eval_bouncers sets a bouncing score for bouncers. * process_bouncers will either notify or remove them The list config defines 2 bouncing levels (rate, action and notification). ***** You should update your database structure based on the create_db.xxx scripts ***** unless you are using MySQL (Sympa tries to update the database automatically at startup) New purge_orphan_bounces task that removes archived bounces files concerning old subscribers Changes : Clean code related to replicat LDAP hosts. ***** 'port' parameter no more supported in include_ldap_query paragraphs Bug fixes : src/: List.pm, tools.pl: [BugID 153] [reported by G. Tellier] E-mail addresses containing an apostrophe were rejected src/tools.pl: [H. Ulliac] create_list templates were not searched in the robot directory wwsympa/cookielib.pm: Fix: could not set 'sympalang' cookie INSTALL: [micah AT riseup.net] Fix HTML documentation URL src/alias_manager.pl: [Zakaria] unset PATH before anything else ; store the lock in a writeable directory src/List.pm: [BugID 179] [user->xxx] variables were never available in scenarios src/List.pm: [reported by R. Pfeiffer & T. Oger] recent versions of DBD::mysql have changed the behavior for tables() : Table names are surrounded by ``. Sympa considered Sympa DB did not have the right structure. src/Conf.pm: [reported by P. Machard] remove trailing spaces in robot.conf src/tools.pl: tools::split_mail did not return 1 ; antivirus was not applied on messages 4.0.a3 17 June 2003 New features : [Benoit Ortner] web archive management ; allows to remove multiple months and/or get and archive (zip) or archive month. src/List.pm: Sympa is now able to create its database (try as root) and tables. Change: if database is unreachable, Sympa daemon dies to prevent blocking of Server startup 'remove_list' sympa.pl option to remove a list from the command line [proposed by J. Douglass]: Add SSL support while authenticating to LDAP server New 'use_ssl', 'ssl_version' and 'ssl_ciphers' parameters in auth.conf src/parser.pl, wwsympa/wws_templates/us/viewbounce.us.tpl: [reported by G. Helou] Add escape_html option to the parser. This was required to escape <> chars in bounces [requested by Eric Sandquist] : db_additional_subscriber_fields (declared in sympa.conf) can now be edited in editsubscriber page (ENUM are used) src/List.pm, src/etc/script/create_db.mysql, wwsympa/wwsympa.fcgi: (incomplete) New subroutine for logs in DB. It could provide data for statistics INSTALL, src/etc/script/sympa.spec, src/etc/script/sympa.spec.rh80: Add quick install notes src/etc/script/mod2html.pl: provide a script for generating missing HTML views of moderated messages src/etc/script/: Makefile, testlogs.pl: new script "testlogs.pl" that use sympa.conf file and just add a line to logs. wwsympa/wwsympa.fcgi: new suported parameter 'failure_referer' for login action src/etc/mhonarc-ressources, wwsympa/wwsympa.fcgi: Add a button in archive to send back a message to a user. Feature not complete : -encrypted message ? -add some headers "resent-from" resend-date ? src/List.pm: [V. Mathieu] allow usage of multiple ldap host for include_ldap: ldap1.dom.net:port,ldap2.dom.net:port wwsympa/wwsympa.fcgi: New "Rename list" button. (move and rewrite of pending messages in spool is not yet implemented). Changes : Makefile.am, src/etc/script/sympa.spec: these changes are related to the RPM building : + Add missing variables to build sympa.spec for RH + require 'smtpdaemon' with RH, 'MailTransportAgent' with MDK + ./configure is done at RPM build time with relevant options + correct path to sympa_wizard + fix problems with the %files section, when changing directories + missing %changelog [B. Ortner] : no more use Locale::Msgcat for NLS management, home-made functions instead. This solves MacOS X users problem that don't have gencat available ;-) Makefile.am, configure.in: check suidperl and mhonarc are installed src/etc/create_list_templates/: [S. Hornburg]: German translation, English text for hotline type, Spelling fix for English src/List.pm, wwsympa/wwsympa.fcgi: HTML version of moderated messages were generated by WWSympa, but recent release of MhOnArc (5.6) refuse to run SetUID. Therefore mhonarc is now run by sympa.pl when storing moderated messages. src/etc/templates/us/welcome.us.tpl: [ben AT socialtools.net] Grammatical error in English translations wwsympa/wwsympa.fcgi: allow to have multiple virtual robots on the same http_host check_perl_modules.pl: Require recent LDAP modules with SSL features Ignore topics if no topics.conf was found. Also install a default topics.conf wwsympa/wws_templates/us/main.us.tpl: [reported by Antoine AT rezo.net] : complete cookies warning message, Javascript might not have cookies read access doc/sympa.tex.tpl: Complete documentation about mail aliases Makefile.am: use different SPEC file for RedHat RPM building src/etc/script/sympa.spec.rh80: only require packages for standard Sympa installation (not LDAP, SSLEAY). Some package have different naming conventions with Mandrake and RedHat Makefile.am, src/etc/script/sympa.spec: [reported by G. Paressant] : make languages no required since NLS or no more compiled src/etc/script/: Search functions in INITDIR check_perl_modules.pl: set FTP Passive mode for CPAN install to work behind a firewall wwsympa/wwsympa.fcgi: [from Guy Paressant] Remove in ldap_authentication a unusefull anonymous bind check_perl_modules.pl: Net::LDAP 0.27 is required if using multiple ldap host definition. src/: List.pm, Log.pm, sympa.pl: use &fatal_error() instead of exit. fatal_error() now notifies the listmaster src/: List.pm, etc/script/create_db.Pg: [E. Dreyfus] [reported by pamelant AT nerim.net] Postgresql 7.3 has no support for not SQL standard type 'datetime'. ***** If you are upgrading from a previous Sympa version, you should update ***** your sympa DB as follows : ***** ALTER TABLE subscriber_table CHANGE date_subscriber timestamp with time zone NOT NULL; ***** ALTER TABLE subscriber_table CHANGE update_subscriber timestamp with time zone; Bug fixes : ** NOW refer to the Changelog file for ug fixes ** 4.0.a1 14 November 2002 New features : [requested by V. Mathieu]: Add names to data sources, also allow sorting from REVIEW page [O. Lacroix] New feature: new 'FastForward' and 'Rewind' button in archives New web templates translation system (first version) Changes : sympa_wizard.pl: Change: make the wizard less quiet src/Conf.pm: detect 'SET listname mode' commands as miaddressed commands check_perl_modules.pl: Require recent Mailtools because of mailx security problems src/List.pm: lots of errors were logged in 'debug' log level ; now use 'err' wwsympa/wws_templates/: remove unusefull 'domain' column in REVIEW page src/tools.pl: Also look for templates in the list's templates/ subdir wwsympa/wwsympa.fcgi: Fix: re-evaluate important vars before parsing templates ; things change so fast.... wwsympa/wwsympa.fcgi: [path_info] available in web templates Bug fixes : src/List.pm: [reported by M. Beheregaray] : Sympa.pl would die with error "unmatched [] in regexp" if custom_subject contained '[]' Now do some custom_subject cleanup src/tools.pl: Fix incorrect openssl argument rtelated to null capath or null cafile argument. [reported by G. Paressant] : if email entries returned by List::_include_users_ldap() contained spaces characters, then the database update could lead to a "duplicate entry error", causing the List::sync_include() to fail src/List.pm: [BugID 63] [reported by G. Paressant]: sync_include() made the task_manager die if duplicate emails where found in SQL or LDAP query result wwsympa.fcgi: wwsympa would die under certain circumstances if LDAP Bind failed with error message : "Can't call method "code" on an undefined value" wwsympa would prompt a 'template error' if an LDAP user requested a password reminder when the authentication_info_url URL was not defined in auth.conf. Now return an error message. src/List.pm: reset 'get_subscriber' cache entry after an update in inckude2 mode, show 'subscribe' button even if user is included wwsympa/wwsympa.fcgi: with 'include2', included users could not be added ; included+subscribed users could not be deleted doc/:Missing documentation for 'authentication_info_url' in auth.conf doc/sympa.tex.tpl: Fixe cookie format description doc/sympa.tex.tpl: [Janek Hiis] Fix AVP example [reported by R. Salmon] rejection of pending lists was not coded src/Commands.pm: Sympa would use part of the email address as the user name. Fix regular expretion usage src/sympa.pl: 'antivirus_notify' was only used in message forwarding context wwsympa/wwsympa.fcgi: [O. Lacroix] wrong comparison operator for reloading wwsympa wwsympa/wwsympa.fcgi: [reported by Philippe Amelant] incorect command for remove_aliases src/sympa_wizard.pl: [BugID 58] [reported by Xavier AT cs.gouv.qc.ca] : sympa_wizard used temporary files in /tmp/ ; if /tmp/ was an a different filesystem than /etc/, then the rename() would fail. No more use temporary files. Change: only warn if rename() of previous cong files failed src/sympa.pl: [BugID 70] [H. Maza] : In the final report of expire process, the first subscriber is skiped, no matter his subscription is confirmed ot not. src/Commands.pm: [BugID 70] [H. Maza] : In many cases, uncorrect list of subscribers to be notified, or uncorrect list of unconfirmed subscriptions, is reported during an expire process. In addition, sympa reports an error : "Command not understood: ignoring end of message." 3.4 15 October 2002 Changes : Bug fixes : [reported by O. Lacroix & V. Mathieu] Better syntaxical checks on email addresses ; also lowercase src/List.pm: 'db_env' no more a multiple parameter ; variables/values pairs should be separated by ';' Fixes the problem with 'ARRAYxxxx' appearing in the 'db_env' entry of edit_list web form src/etc/list_aliases.tpl: Fix: incorrect alias parameters [BugID 50] allow (privileged) listowner to close/restore list. Also allow shared opening/closure wwsympa/wwsympa.fcgi: [BugID 52] Fix : Moderated messages were not accessible from the web interface. WWSympa runs as user 'sympa' and the mhonarc process that generates HTML version of moderated messages also requires to run as user 'sympa'. Obviously Perl refused to allow this script to run as SetUID 'sympa' because mhonarc had double quotes (") in its argument. 3.3.6b.6 03 October 2002 Changes : src/alias_manager.pl: Requires at least 3 arguments Bug fixes : wwsympa/wwsympa.fcgi: No more 'alias_manager' parameter in sympa.conf src/parser.pl: $current_output was not set when working on a file descriptor Bug description: the parser would append output to the latest arrayref used, whereas fd is not used wwsympa/wwsympa.fcgi: vars used in list_aliases.tpl had changed wwsympa/wwsympa.fcgi: Fix: parse_tpl() requires a reference to a file descriptor as a parameter 3.3.6b.5 02 October 2002 New features : check_perl_modules.pl: provide further information about required Perl modules wwsympa/wwsympa.fcgi: Allow non-anonymous bind in auth.conf. New bind_dn and bind_pawword parameters Changes : Makefile.in, configure, configure.in: [Julien Wajsberg] Use virtual_aliases as default postmap_arg Bug Fixes : src/List.pm: [reported by A. Bernstein] [BugID 45] robot-related variable used in summary.tpl were not available. List::send_msg_digest() was expecting an additional $robot parameter src/List.pm: don't add a 'dir' entry in 'admin' ; it was considered a list parameter wwsympa/wwslib.pm: Reported by J. Andre better checking of email syntaxe src/List.pm: [Paul Marquess] [reported by Jean-Claude Ben, Harri Czesla, Glenn Gillis] with DB_File (Perl module) 1.805, Sympa processes died with the following error message : Key 'compare' not associated with a code reference at /var/sympa/bin/List.pm line 918 Compare callback had to be changed to DB_BTREE->{compare} = \&_compare_addresses src/sympa.pl: Use list domains instead of list host for making aliases src/: task_manager.pl: task manager error management [Harry Westerman] Fix web templates, were based on release 3.3.3 3.3.6b.4 19 September 2002 New features : [Harry Westerman] Complete translation to Dutch src/sympa.pl: New '--make_alias_file' option to build a complete alias file wwsympa/wwsympa.fcgi: to avoide httpd restart when installing some change wwsympa/wwsympa.fcgiserver exit just after serving a page if wwsympa.fcgi as changed on disk.. Then Apache launch a new fastcgi server [requested by Janek Hiis] : custom subject can now refer to list variables ([list->name] or [list->sequence]) Changes : ***** wwsympa.conf parameter 'alias_manager' no more used ***** Sympa now always uses alias_manager.pl script ; installed aliases can be customized ***** via the 'list_aliases.tpl' file (can be done via sympa admin web interface) New Message.pm module that provide a complex message object including S/MIME information. This should fix the bug related to moderation of crypted messages src/List.pm: query database for total of subscribers, if no LIMIT was given or if first page wwsympa/wwsympa.fcgi: [reported by Vincent Mathieu] Add filename to upload log Bug fixes : [reported by Sergiy Zhuk] Fix: umask was considered a decimal number ; now taken as octal wwsympa/wwsympa.fcgi: [Herve Maza]: missing $robot parameter to load_scenario_list() subroutine. Robot-specific d_read and d-edit scenarios were not available. src/List.pm: wwsympa died (in request_action) if scenario had incorrect format wwsympa/wwsympa.fcgi: reply-to problem from web archives src/X509.pm: SSL and LWP were required ; made them optional 3.3.6b.3 10 September 2002 New features : src/parser.pl: a arrayref can be used by parse_tpl() as an output ; template can also be an arrayref New include : include_remote_sympa_list allow to fetch a list from a remote sympa server using https only. New action dump use as the server part of sympa to sympa subscribers importation src/X509.pm: X509.pm currently just include subroutines for sympa to sympa https communication. All S/mime should be moved from tools.pl to X509.pm as soon as ther use openssl perl module instead of openssl commands. ***** src/etc/script/p12topem.pl: Now can be used to install a ***** certificate to sympa robot itself. Usage ***** P12topem.pl --pkcs12 <pkcs#12_cert_file> --robot <robot> ***** p12topem.pl --pkcs12 <pkcs#12_cert_file> --listname <listname> wwsympa/bounce-lib.pl: Now recognize "x-failed-recipients:" comma separated list of recipient. (exim). Reported by Stefan Hornburg <racke AT linuxia.de> ***** Introduce a 2 new parameters in sympa;conf : spam_protection and ***** web_archive_spam_protection. They are use to define the way that ***** sympa protect email adrersses from spambot. "cookie" "at" "javascript" "none" ***** Because mhonarc ressources as changed, you MUST rebuild all archives ***** otherwise old archive are unprotected. (Use rebuild button in sympa ***** admin page). New [SETOPTION ignore_undef] in parser src/sympa.pl: Loop prevention based on X400-Content-Identifier header field add [current_date] in scenarios Changes : wwsympa/wws_templates/us/admin_menu.us.tpl: Revised by john Douglas for a better organisation. ***** src/List.pm: now sympa.pl dump any list (even if user_data_source = file) ***** in a single file $list->{'dir'}/subscribers.db.dump nls/de.msg: [Andreas Krueger] small improvements src/List.pm: if cannot connect to DB, keep trying, do not die (this prevent from sending hundreds of worning messages to listmaster) ***** src/Commands.pm: 'lists', 'lists.header' and 'lists.footer' file no ***** more recognized by Sympa. 'lists.tpl' template used instead Bug fixes : src/List.pm: (related to include2 implementation): _include_users_xxx() not properly working on tied hash. Failed including duplicates in 'include' mode src/List.pm: Reported by Sergiy Zhuk. Fix incorrect number of subscriber when deleting. wwsympa/wwsympa.fcgi: Fix wwsympa infinite loop when adding subscribers with incorrect adress ! Fix moderate.xx.tpl templates : Incorrect From, breaking SMIME signatures ; add correct reply-to header field src/sympa.pl, src/task_manager.pl, src/tools.pl, wwsympa/archived.pl, wwsympa/bounced.pl: [Marcin Deranek] Fix: Previously group_id and user_id were always set to user_id. Now use getgrnam() instead of getpwnam() src/tools.pl: better log in virus_infected wwsympa/wwsympa.fcgi: Reported by John Douglass john.douglass AT oit.gatech.edu : Allow listowner to close a list. Makefile.am: Fix: wizard was never started src/etc/script/sympa: ps -A|grep failed because of a space char ; could not stop processes. Also supress removal of .pid file (sympa processes do it themselves) src/task_manager.pl: Use Digest::MD5 instead of MD5 wwsympa/wwsympa.fcgi: [reported by S. Medard] do_arcsearch_id failed if key_word (Message-ID) contained '$' character Makefile.am, src/Makefile, src/etc/script/Makefile: do not install scripts and aliaswrapper in bindir (install them in sbindir and libexecdir instead) wwsympa/wws_templates/de/compose_mail.de.tpl: [reported by Hanke Penning] could not reply to the sender src/sympa.pl: Sympa.pl would die if smime_decrypt() failed src/sympa.pl: Sympa would consider application/pkcs7-mime;...; smime-type=signed-data as crypted messages and would die while trying to decode them 3.3.6b.2 31 July 2002 New features : ############################################################### New 'include2' user_data_source ; should replace 'include'. Users cache is stored in the main database instead of using a DB_File. Updates of the cache are performed by the task_manager * Advantages + lower memory usage : Sympa processes used to use lots of memory when managing big (>200 000) 'include' types of lists. The list of subscribers is now stored in the database. + updating the cache : Cache update is now performed by the task manager. It used to be performed by sympa.pl and wwsympa.fcgi. + bounces management : Because included users now have an entry in subscriber_table, their bounces are managed like any other subscribed users + user reception options : Included users can set their reception mode * Subscriber_table changes The subscriber_table Db table has 3 new fields : * included_subscriber This boolean value tells if the user has been included into the list * subscribed_subscriber This boolean value tells if the user has subscribed to the list * include_sources_subscriber Comma-separated list of include source IDs. It is not exploited yet, but could be used to : - set different TTL for each include data_sources - show include sources in the REVIEW pages - tell the user he/she has been included as part of X,Y external datasources * Task manager New 'sync_include' list task : Only one model (ttl) is available. TM checks if the list is in 'include2' mode and runs the sync_include. The syn_include() does an in-memory comparison of already cache users list and included users list ; subscriber_table is then updated. List::delete_user() and List::add_user() have been optimized to make sync_include() faster. A new task is created based on 'ttl' list parameter. New 'purge_user-table' global task : Each time a user unsubscribes the user_table had to be cleaned ; this was time-consuming. This is now performed periodically by the 'purge_user-table' task. * Changes of commands behavior Reception options Included users can now set their reception mode Subscription Included users can moreover subscribe to the list (if allowed by scenario). It allows them to remain in the list though they might no more be included. Review (web only) Foreach user, tell if he/she is included or subscribed * Locking while updating cache An exclusive lock is performed by sync_include() to prevent other processes from accessing an uncomplete list of users. A shared lock is set in List::get_first_user(), then released for the last List::get_next_user(). File locking is performed on ~sympa/expl/<list>/include.lock file * Stats file A new value has been added to lists 'stats' file : last_sync I is the date (epoch format) of the last include cache update. * List configuration edition When the list configuration has been changed (from the web), then : * if we changed a datasource-related parameter => the current 'sync_include' task is removed from the task spool, to make cache update happen as soon as possible. * if user_data_source changed from 'database' to 'include2' => existing subscribers have their 'subscribed_subscriber' DB field set to '1' * if user_data_source changed from 'include2' to 'database' => existing included users are purged from subscriber_table * TODO + sending messages when users are included/decluded (should be an option) + migrating from 'include' to 'include2' + showing user datasources within REVIEW page + adding "sort by datasource" in REVIEW page ##################################################################### Changes : database structure has been extended for 'include2' user_data_source ***** New database fields added to subscriber_table ***** With MySQL : ***** ALTER TABLE subscriber_table ADD subscribed_subscriber enum ('0','1'); ***** ALTER TABLE subscriber_table ADD included_subscriber enum ('0','1'); ***** ALTER TABLE subscriber_table ADD include_sources_subscriber varchar(50); ***** If you are using another RDBMS, please check create_db.xxx scripts src/etc/script/sympa: [Pierre Métras] Changes: adapt statup script for Solaris (second episod) * comparison operator with SH is '=' ('==' is Bash-specific) * use PIDDIR * check if process is running before stopping src/task_manager.pl: create missing task before exuting existing ones. It allows faster excution of newly created tasks src/task_manager.pl: use the task model to create a new task, not a simple copy of previous task. This was required for sync_include() wwsympa/wwsympa.fcgi: call List::add_user() and List::del_user() with multiple emails as parameters Bug fixes : wwsympa/wwsympa.fcgi: Fix: prevent document edition/deletion by anonymous users in the shared src/tools.pl: [Robert Marcjand] Fix virus detection : With McAffee, MIME Exploit gen virus are found, but are not detected by the Sympa Software because the report is "Found application" instead of "Found the .... virus" src/tools.pl: [Thibaut Dabonneville] Fix AVP virus detection src/tools.pl: Fix duration_conv() src/List.pm: make sql_query regexp case-insensitive wwsympa/wwsympa.fcgi: [reported by Robert Marchand] When closing a list the subscribers.db.closed was not created (wrong path) Makefile.am, Makefile.in, src/etc/sample/Makefile: [BugID 0000019] Fix: EXPLDIR (set by configure --with-expldir) was not used at directory creation time src/List.pm: [BugID 0000024] When URLIZINg attachments which contain a single Content-Type header without attributes, the attachment saved contains an additional newline after the Content-Type header on disk. wwsympa/wwsympa.fcgi: [reported by Denis Creusot] missing closedir() could leed to a 'too many open files' problem wwsympa/wwsympa.fcgi: [Laurent.Aublet-Cuvelier] Fix scenario_test action : authentication's methods do not appear src/sympa.pl: [reported by Robert Marchand] message confirmations request was not sent in the proper language (robot lang instead of list lang) nls/: et.msg, ro.msg: [Olivier LACROIX] Fix: NLS compilation (with gencat) failed with HP-UX src/task_manager.pl: [BugID 0000026][Stephen Braswell] Fix: task_manager.pl now removing its PIDfile 3.3.6b.1 26 June 2002 New features : src/tools.pl: Sympa working with Clam antivirus (http://clamav.elektrapro.com/) src/Conf.pm, src/sympa.pl: Add 'antivirus_notify' sympa.conf parameter to disable antivirus notification src/List.pm: [list->total] variable made available in scenarios [Vesa Alho] Finnish translations of templates src/etc/mhonarc-ressources: [Georg Bauer] German translation of Mhonarc ressources Changes : src/List.pm: [proposed by Guy Paressant] make LDAP queries asynchronous. Entries are fetched on the fly. This saves lots of memory while building big inlude type of lists wwsympa/wws_templates/fr/list_menu.fr.tpl: Hide owners/editors email addresses wwsympa/wws_templates/us/main.us.tpl: Language menu now available in login page src/List.pm: [reported by gilles tellier] Add a Fileneme message-header.txt or message-footer.txt name for compatibility with outlook. src/etc/templates/us/your_infected_msg.us.tpl: Adapt virus alert message for spoofing virus ***** src/tools.pl: replace trusted_ca_option with cafile and capath in ***** sympa.conf src/etc/script/sympa.spec: [Zenon Panoussis] Added check and aliases file and link for Courier. Changed "Requires: apache" to "Requires: webserver" for compatibility with apache2 Bug fixes : src/List.pm: [reported by Fabien Salvi] made Sympa die if sender address contained '*' src/List.pm: [reported by Marty Pauley] Email comparison performed with a regexp. This could leed to incorrect comparison if email contained '+' chars src/task_manager.pl, wwsympa/bounced.pl: [reported by Hanke Penning] Fix: Zombie sendmail processes were not made free src/List.pm: [reported by Sergiy Zhuk] if a list was in 'user_data_source include' and had no include source, the List object could not be created. src/List.pm: [reported by Adam Bernstein] 'not_me' reception option did not have the expected behavior src/etc/script/sympa: [reported by J.P. Dalbec] 'status' action src/sympa.pl: [reported by Christophe Ruhlmann] do not reject mails from sender starting with 'sympa' ; perform exact match on the local part src/tools.pl: suppress '2>&1' when calling openssl ; this syntax is shell-dependant wwsympa/wwsympa.fcgi: write cookie even if empty (otherwise previous one was used) Set 'which_info' once only, before template parsing wwsympa/wwsympa.fcgi: [reported by Jeg] file renaming failed in shared root directory wwsympa/wwsympa.fcgi: [reported by Jeg] desc files were not renamed wwsympa/wwsympa.fcgi: [reported by Jeg] check URL renaming wwsympa/wwsympa.fcgi: [reported by Jeg] filename containing %xx chars could not be accessed/edited/deleted. Supress the global unescape_chars() call in get_parameters() Also fix escaping in do_editsubscriber() wwsympa/wwsympa.fcgi: [reported by Jeg] '/' not allowed in filenames wwsympa/wwsympa.fcgi: [reported by patrick]: For a list of files/dirs wwsympa (in the shared section) list the "last update time". However it is wrong, since it is based on the ctime instead of the mtime. wwsympa/wwsympa.fcgi: [Adam Bernstein] Remove DOS linefeeds (^M) that cause problems with Outlook 98, AOL, and EIMS src/sympa_wizard.pl: [reported by H. Ulliac] missing task_manager_pidfile 'expire_bounce' => 'expire_bounce_task' src/Commands.pm: [reported by Philippe Allart] Bad report when 'REMIND *' is not allowed src/Commands.pm, wwsympa/wwsympa.fcgi: Fix Gecos management with subrequest src/List.pm, wwsympa/wwsympa.fcgi: [Sergiy Zhuk] check listname for '-request' '-unsubscribe'... in List::new() and wwsympa::create_list() 3.3.5 14 May 2002 New features : doc/Makefile: now generate sympa.pdf Changes : src/Conf.pm, src/task_manager.pl: Rename task-related sympa.conf parameters (append _task). Restore default for 'global_remind' parameter Makefile.am: rename doc target documentation (because of the confusion with doc directory) Bug fixes : wwsympa/wwsympa.fcgi: [reported by Olivier Lonni] when creating a list, 'other' now means no topic 3.3.4b.9 07 May 2002 New features : New "your_subscribtions" HTTP cookie to carry subscriptions in all templates. [get_which] is a table with one entry per list [which_info] is a hash using listname keys and SUBJECT and HOST as value Topics are now available in all templates [Frederic Connes] add postfix-style alias management in Sympa New Makefile parameters POSTMAP, POSTMAP_ARG and VIRTUAL_ALIASES New script postfix_manager.pl. New C wrapper virtualwrapper.c sympa_wizard.pl: new script to help filling sympa.conf & wwsympa.conf at first installation Bug fixes : src/mail.pm: [reported by Anas Agoumi] S/MIME signed templates sent from the web (welcome/bye) where empty messages. This was due to same file descriptor used in different contexts and rename() performed too early src/List.pm: Can't use string ("mail") as an ARRAY ref while "strict refs" in use at /home/sympa/bin/List.pm line 6735 while installing pending lists _save_admin_file() would modify the List object (change array references to scalar) wwsympa/wwsympa.fcgi: skip auth.conf if empty This prevents 'require Net::LDAP' to be run, only because auth.conf exists wwsympa/wwsympa.fcgi: [reported by O. Lonni] Scalar list parameters could not be reset Because of the split config edition form, empty parameters were skipped. All parameters editable in the form are now processed wwsympa/wwsympa.fcgi: [reported by Frederic Connes] could not empty parameters such as web_archive quota. [reported by Frederic Connes] admin page help always appeared in its US english version [Frederic Connes] Typography fixes in French mail and web templates wwsympa/wwsympa.fcgi: [Frederic Connes] set default value for bounce rate src/Conf.pm: also skip lines beginning with '\s+#' in auth.conf get 'info' as default for 'homepage' in editfile ; also detail documentation Changes : src/parser.pl: Use syslog instead of STDERR src/parser.pl: Prevent loops when parsing/including files 3.3.4b.8 25 Apr 2002 New features : [Lauri Jesmin] Complete translation to Estonian [Valics Lehel] Web templates translation to Romanian src/List.pm: [proposed by Lauri Jesmin] Add Erros-to: header field to messages Bug Fixes : src/List.pm: "Can't use string ("monthly") as a HASH ref" _load_list_param() did not match task structure in memory (scalar vs hash) src/List.pm: 'urlize' reception option failed with lists in a Virtual Robot Did not work on the proper directory wwsympa/wwsympa.fcgi: closed lists are no more seen from other Virtual robots wwsympa/wwsympa.fcgi: editfile did not work on the correct language Now uses list's lang or robot's lang to find apropriate template [Valics Lehel] HTML fixes in web templates 3.3.4b.7 22 Apr 2002 New features : [Valics Lehel] NLS and Mail templates translation to Romanian Bug Fixes : src/List.pm: did not load 'stats' file when creating List object wwsympa/wwsympa.fcgi: [reported by Virginie Perrot] Could not set file description in shared Error message : Synchronization failed for... [reported by Frederic Connes] main title used in sendpassword template instead of robot title. Fix: Load wwsympa.conf in Conf.pm ; use [conf->title] instead of [wwsconf->title] [Frederic Connes] Fix boundary in welcome messages src/List.pm: messages Header/footer addition did not work for VRobots 3.3.4b.6 10 Apr 2002 New features : Changes : ***** [reported by Daniel Pittman] extend 'bounce_subscriber' database field. ***** Could lead to errors in Mysql : "value too long for type character varying(30)" ***** With MySQL sympa.pl will make database structure changes at startup (if ***** it has the alter_table privilege) ***** DB_FIle < 1.75 will not work properly with BerkeleyDB 3.2 Sympa error log : ***** "_load_users : cachesise too small" ; you probably need to upgrade DB_FIle ***** perl module [John Paul Dalbec] Better english translations of web templates Bug Fixes : src/List.pm: [Guy Brand] Integer overflow occured when saving 'stats' file. loadstats would fail leeding to "empty list" ; message was considered as bad src/List.pm: [reported by V. Mathieu] 'stats' file was not updated when 'subscribers.db' was updated (this concerns 'include' type of lists) src/List.pm: processes were always synchronizing with 'subscribers.db' file even when they had up to date subscribers in memory, This was due to a wrong condition for _load_users_include() src/aliaswrapper.c: [Frederic Connes] problems when NEWALIASES_ARG is defined src/aliaswrapper.c: [Christian Mock] when NEWALIASES_ARGS is empty aliaswrapper died ; should be a NULL pointer wwsympa/wwsympa.fcgi: [Reported by Frederic Connes] : fix quota checking. (no quota applied if shared/quota is undef) wwsympa/archived.pl: don't check archives quota if no quota is defined wwsympa/wws_templates/fr/compose_mail.fr.tpl: Add hidden message_id [reported by Tellier Gilles] Don't propose 'close_list' button to listowners src/etc/scenari/create_list.listmaster: [reported by Frederic Connes] Wrong scenario (was public_listmaster) 3.3.4b.5 4 Apr 2002 New features : Quotas for shared and archives. New list parameters in 'shared_doc' and 'web_archive' paragraphs. New sympa.conf parameters 'default_archive_quota' and 'default_shared_quota' Changes : wwsympa/wwsympa.fcgi: Review Virtual robots from serveradmin page if Superlistmaster wwsympa/wwsympa.fcgi: Change log facilities from 'debug' to 'info' Bug fixes: src/tools.pl: [Sergy (Yahoo-inc)] fix incorrect file extention src/etc/script/p12topem.pl: Fix: p12topem.pl now working with VRobots src/tools.pl: Fix certificate location for list in virtual robot Fix digest inclusion of encrypted message src/List.pm: Fix wrong list certificate path related to a virtual robot wwsympa/wwsympa.fcgi: all pending lists were seen from each robot wwsympa/wwsympa.fcgi: [John Douglass] alternative email registering failed (incorrect listname) src/List.pm: better synchronization of processes with 'stats' file (in partcular total of subscribers) src/etc/create_list_templates/private_working_group/config.tpl: [O. Lacroix] : wrong syntax for parameter reply_to src/List.pm: return 0 (instead of undef) in send_msg() if no subscribers 3.3.4b.4 26 Mar 2002 New features : src/List.pm: custom subject can now refer to list variables ([list->name] or [list->sequence]) src/parser.pl: extend parse_tpl parameters format. Allow an ARRAY ref for $template Allow a SCALAR ref for $output Changes : src/List.pm: query DB for # of subscribers only if called without LIMIT in get_first_user ; perform total-- just before savestats (could be reinit because of get_which()) src/List.pm: when evaluating a scenario, load subscriber database entry only if needed src/List.pm: if list has 0 subscriber, each time a new() is performed, the database was queried Bug fixes: wwsympa/wwsympa.fcgi: [reported by Herve.Brunet] "Sympa could not set a cookie for login" when accessing WWSympa via a hostname different from the Servername. If http_host does NOT match cookie_domain then set cookie_domain to http_host wwsympa/wwsympa.fcgi: [Hanke Penning] navigation in archives failed with HTTPS HTTP_HOST env variable already contained the TCP port wwsympa/wwsympa.fcgi: [reported by Robert Marchand] password setup notice appeared twice src/aliaswrapper.c: [Nicolas Orlando Nappe] aliaswrapper exited with a bad address error (on RH 7.2 + gcc3) execle expects a pointer to NULL rather than a NULL pointer in the environment set_symlinks.pl: Security fix: default REVIEW was public 3.3.4b.3 13 Mar 2002 New features : [Josep Roman] Update Spanish web templates wwsympa/wwsympa.fcgi: Add by_domain sort in REVIEW Also changed query for mysql in get_first_user() src/List.pm: [requested by Walter Hopgood] Make 'body' and 'full_msg' available to summary.tpl Add 'log_level' conf parameter With FastCGI, serveradmin provides processid and request count Make 'lang' a robot.conf parameter New 'cookie_domain' parameter in robot.conf src/sympa.pl: [Christian Mock] : handle pkcs7-mime content-type of signed messages (outlook) Add use_ssl variable availible for all wwsympa template. This [use_ssl] and [auth_method]=smime must not be mistakeen one for the other. [use_ssl] may be set while user are not logged because they don't have certificate add 'db_env' parameter to 'include_sql_query' Changes : just a few commands are now searched in messages. This is now defined in sympa.conf ('misadressed_commands_regexp' parameter) no more provide mailto: in info page ; spam prevention wwsympa/wwsympa.fcgi: [Herbert Straub] also search in previous month in do_arcsearch_id() wwsympa/wwsympa.fcgi: [reported by Yves Agostini] Change: navigation in archives could fail because <BASE> did not correspond to requested URL. Now use HTTP_HOST and SERVER_PORT to build BASE. <BASE could not be supressed because of the archives main (current) page (relative URLs did not work). src/sympa.pl: [proposed by Christian Mock] close STDIN Could cause OPENSSL to hang under some circumstances.. Prevent command looping ; block messages with known Message-ID wwsympa/wwsympa.fcgi: Mime encode subject when compose a mail via WWsympa interface src/etc/script/sympa: [requested by Robert Marchand] No success & failure subroutine on IRIX [requested by Robert Marchand] Add '-m' option to gencat on IRIX Add '--with-iconsdir' configure option [proposed by J. Marant] Add 'codeset' to NLS catalogs Otherwise catalogs cannot be generated properly (Invalid caracter messages) src/sympa.pl: cleanup in moderation and authentication spools doc/sympa.tex.tpl: [reported by Benoit Marchal] Lots of corrections src/tools.pl: [Alan Hicks] message having the multipart/alternative embedded in the first part of the multipart/related were not recognized by tools::as_singlepart() src/etc/mhonarc-ressources: Delete <CharsetConverters> so Mhonarc uses its default [reported by Joe Davidson] add a Message-ID to compose form to prevent Sympa from distributing twice the same message (reload). New tools::get_message_id() sub check_perl_modules.pl, src/List.pm: _ListTables is deprecated, use $dbh->tables() instead. Therefore requires recent version of DBD::mysql src/sympa.pl: Prevent loop while unable to rename file to the 'bad' directory. src/List.pm: [Vincent Mathieu] multiple reference to variable [sender] in lDAP filters. Bug fixes : Makefile.am: Change configure options to with-xxx so they can be customized at configure time wwsympa/wwsympa.fcgi: did not store subscription request in wwsympa wwsympa/Marc/Search.pm: [Sergiy Zhuk] Bug fix: with FastCGI, despite the fact you're getting new search results, it still marks the old keyword. The problem was caused by the 'o' modifier in Search.pm, which compiles the search pattern just once. [Maguy Lebreton] Make sleep() longer in archived, so mhonarc has time to process big messages. src/etc/mhonarc-ressources: [reported by Serge Algarotti] Messages header fields were parsed in archives src/etc/mhonarc-ressources: [Sergiy Zhuk] Fix formating (introduced in 1.14) src/Conf.pm: [reported by Pascal Schelcher] allow \s in auth.conf entries (filters) auth.conf paring should be more strict src/tools.pl: Fixe sign_check : checking using original message instead of object message in order to handle properly multipart messages (b64 sign bug) wwsympa/wwsympa.fcgi: [reported by Hanke Penning] 'quiet' scenario action was not used in do_add() and do_subscribe() src/List.pm: [reported by Walter Hopgood] wrong value for Sunday digest Could not send Sunday digests wwsympa/wwsympa.fcgi: [Sergiy Zhuk] Fix Net::SMTP::mail() call src/Commands.pm: no relation between 'do_it' action and owner notification src/sympa.pl: Fix CleanSpool: could not remove directories wwsympa/bounced.pl: [reported by Malcolm] do not force file access permissions to 777 wwsympa/wwsympa.fcgi: [reported by Michel Bouissou] wrong link to father directory in shared src/etc/scenari/send.publicnoattachment: [Reported by Roussel Florian] : fix missmatch Content-Disposition/Content-Type src/Commands.pm: Command::which() did not skip first argument WHICH command returned a wrong result for Virtual Robots src/List.pm: [John Paul Dalbec] this section of code fixed "name=" but broke "URL=" src/etc/mhonarc-ressources: reported by Vincent Mathieu : fix icons location in archive. must be related to wws.conf icons_url parameter [John Dalbec] Fix lots of misspellings/typos in templates 3.3.3 25 Jan 2002 New features : src/task_manager.pl: New task : expire_bounce remove all bounces if the latest_bounce is older than 10 day before last distribution message. The delay "10 day" is set in the task model but it should be set in the bounce parameter paragraph in list/robot/site configuration file. [Luca Maranzano] Add support for the Sophos antivirus Changes : Makefile.am, wwsympa/Makefile: [reported by J.Marant] WWSBINDIR var in Makefile had desappeared. Reintroduce it as 'CGIDIR' wwsympa/wwsympa.fcgi: Initialisation of all lists context while starting wwsympa using fastcgi. Create msg/bad. spool at startup [reported by Samuel Tardieu] Change Digest::MD5->md5_hex calls to Digest::MD5::md5_hex Bug fixes : src/List.pm: suppress 'untie %users' in _load_users_include get_subscriber() and is_user() subroutines failed with 'include' type of lists src/alias_manager.pl: [reported by Sergiy Zhuk] wrong argument to bouncequeue Also add @domain to arguments, even if default_domain src/smtp.pm: [John Dalbec] Patch for exim compatibility task_manager.pl: desactivate global_remind task (not implemented yet) src/task_manager.pl: run task_manager in background src/Commands.pm: REVIEW requested by non-owners failed (command not found) if a 'concealed' subscriber was found. wwsympa/wwsympa.fcgi: [reported by Sergiy Zhuk] Bug fix: Could not delete scalar multiple parameters (like 'include_list') via edit_list form. some default robot conf parameters where used instead of virtual robot ones. Added Conf::get_robot_conf() subroutine src/List.pm: Fix: do not save empty list parameters [reported by J. Marant] use $Conf{'etc'} instead of --DIR--/etc wwsympa/wwsympa.fcgi: [John Dalbec] save stats file when data_source changed src/parser.pl: parser could recursively evaluate vars ; made this cleaner (new do_eval() subroutine) wwsympa/Makefile: [reported by Benoit Marchal] chown of SRC (mime.types) had wrong path 3.3.1 11 Jan 2002 Bug fixes : src/List.pm: [reported by M. Langlois] List::user_add() used the wrong entry in %$values. With Oracle, subscriber insertion failed (ORA-00936: missing expression) ; with other RDBMS update_subscriber was empty [Sergiy Zhuk] Bug fix: in List::_load_users_include() subscribers data could get corrupted if 'config' changed or 'subscribers.db' was deleted. nls/: reverting us and fr translations wwsympa/wwsympa.fcgi: replace buggy call to sendmail in do_change_email by &List::send_global_file... Changes : src/List.pm: [Sergiy Zhuk] If 'include' data source is unavailable, use previous cache (subscriber.db). Caution: if one data source is unavailable, other sources updates will not be applied src/alias_manager.pl: [proposed by Sergiy Zhuk] Remove temporary file when removing a list 3.3 09 Jan 2002 New feature : src/List.pm: [John Dalbec] 'include_ldap_2level_query' perform an LDAP query in 2 times. [Michel Bouissou] works with AvpLinux antivirus src/tools.pl: [Mathieu Peltier] Now Sympa can work with 'F-Prot' anti-virus Chronological list of lists in server_admin web pages Purge_list feature in server_admin web pages Provide the list of Virtual Robots in server_admin web pages [Sergiy Zhuk] allows Sympa to check listname on SMTP server before list creation. New sympa.conf/robot.conf parameters (list_check_smtp, list_check_suffixes) [requested by Sergiy Zhuk] add wwsympa.conf 'password_case' parameter New html-newsletter list template src/etc/script/sympa.generic: [Harald Wilhelmi] Generic startup script that should work with HPUX. It SHOULD be installed in /sbin/init.d ; Makefile should check system type (`uname -s` eq HP-UX) src/etc/script/logrotate: [Mathieu Peltier] Log rotation script Changes : List parameters edition (web) is now split into groups of parameters Move BAD messages to bad/ subdirectory instead of renaming them. This should fasten the readdir() in spool src/List.pm: if subscribers total is empty, query datasource [Autrijus Tang] Changes: cn-gb -> cn ; cn-big5 -> tw [Autrijus Tang] Updates of Chinese translations [requested by GNU] Add copyright notices and license notices to all source files [Jerome Marant] default welcome messages changed to multipart/alternative (used to be HTML) Write PID on disk as user 'root' ; this allows to create .pid files in /var/run/ Move configuration vars from Makefile to configure (still available at make time) Bug fix: [reported by B. De Boursetty] Fix: MS Exchange sends encrypted mail with a "Content-type: application/pkcs7-mime" header wwsympa/wwsympa.fcgi: [reported by Sergiy Zhuk] Security fix: no more tell if part of password was correct ; no more lowercase passwords src/List.pm: [reported by John Dalbec] List::send_file did not set the return path if the recipient(s) is/are passed as an array reference. This caused problems with my MTA (exim) and results in sympa dying. Add 'robot' parameter to List::new() and List::load() This avoid robots from accessing each others lists from the web interface wwsympa/wwsympa.fcgi: wrong location of 'subscribers' file when changing datasource (failed for VRobots) src/List.pm: bad condition for 'subscribers.db' update src/List.pm: 'subscribers.db' could get corrupted ; leading to empty lists Processes were not benefitting from include cache ('subscribers.db') src/List.pm: Allow WWSympa to update subscribers.db if config changed If subscribers.db changed on disk, use it, don't overwrite it task_manager.pl, sympa.pl, archived.pl, bounced.pl: [reported by Harald Wilhelmi] Change group before change user [Thomas Leavitt]: Typos/spelling/grammatical errors [J. Marant] Fix: replace /icons with [icons_url in web templates configure.in: [reported by Harald Wilhelmi] use ${prefix} instead of ${ac_default_prefix} This allows to override prefix at configure time (with --prefix=/xxx) src/etc/script/sympa: Fix stop and start functions. Stop was using killproc wwsympa/wwsympa.fcgi: [reported by V. Mathieu] Bug fix: could not perform a subrequest, providing an LDAP UID (for not identified people). src/List.pm: Fix: do not restrict 'db_type' to listed RDBMS for includes get_file did not find templates in list dir. Could not edit list templates from the web 3.3b.4 16 Nov 2001 New feature : Reply_to_header/value parameter allow the value 'all' to force Reply-to: [list],[sender]. This is usefull for hotline MLs New 'log_smtp' sympa.conf/robot.conf parameter : allows per/robot logging of Sendmail calls Changes : [requested by Daniel Pittman] If 'default_home' parameter was defined use it anytime instead of 'home'. Also use 'lists' as a default action if no topics.conf was found [requested by GNU] Change GIF icons to PNG. (Problem with transparency) Bug fix: edit_list_conf memory cache was not used Fix a bug in check_arc_cookie (users always redirected to the "I'am not a spammer" form) REMIND <listname> failed [reported by V. Mathieu] Supress logging in Apache error log 3.3b.3 14 Nov 2001 New features : [L. Hamadouche] Ldap authentication via uid and emails stored in LDAP Directories. Alternative email addresses extracted from LDAP directory ; may be used to "unify" subscriptions. [L. Hamadouche] Sympa can export lists in an LDAP directory. Directory is defined in sympa.conf (ldap_export_xxx), exportation via 'export' list parameter. WWSympa's search_list feature may be extended to LDAP directories. [L. Hamadouche] LDAP search filters can be used in scenarios via 'search' condition. Add 'timeout' and 'scope' to 'include_ldap_query' list parameter New sympa.conf parameter 'db_port' New db_env sympa.conf parameter ; usefull to set Oracle's 'ORACLE_HOME' New sympa.conf parameter 'misaddressed_commands' to disable command detection in messages Changes : src/List.pm: Changes: DB_File structure for 'includes' now stored on disk (used to be in memory). It allows sharing of this cache between processes. The cache is not updated by WWSympa, because it would leed to bad performences ***** is_listmaster => write no more hardcoded in List::may_edit() ; 'default' no more ***** allowed for population in edit_list.conf ***** Now use configure.in and Makefile.am (uses automake/autoconf) ***** Makefile is generated as follows : ***** automake -a ; aclocal ; automake ; ./configure wwsympa/wwsympa.fcgi: [proposed by D. Bernard] Use 'SERVER_NAME' instead of 'HTTP_HOST' to determine current VirtualRobot. This is much more reliable (Apache uses the server name as defined in its config file) wwsympa/wwsympa.fcgi: [requested by Janos Kovacs] Replace glob() with opendir/readdir(). This allows using WWSympa over an apache running in jail [requested by Janos Kovacs] Password remind message is now sent via sympa.pl ; no more direct call to sendmail. This allows using WWSympa over an apache running in jail [reported by Daniel Pittman] Add missing icons Moderation message is now a template A unique template for listmaster notification src/Commands.pm: [Ralf Ebeling] Allow subscription request to be forwarded with no sender notification Notify listmaster if Virus scan failed [reported by J. Dalbec] RH 7 compatibility changes : Web hierarchy location, Sympa directory location [Szilard Vizi] Update ALL Hungarian translations nls/de.msg: [H. Wilhelmi]: update nls/cn-big5.msg: [Autrijus Tang] Update : adapt terms to Taiwan usage Bug fixes : When saving a pending list, 'send' and 'visibility' were saved as 'closed' ; previous values were lost. moderation message had no trailing boundary ; crypted messages were not properly moderated ; template sent to multiple recepients could not be crypted ; all message header fields were passed to OpenSSL, only content-type and content-transfer-encoding are passed now. Many Virtual Robot related bug fixes [reported by S. Tardieu] Bug fix: summary of messages was sent to the list itself. Digest/summary could be sent to an empty list of recipients. [Harald Wilhelmi] Bug fix: Could not perform an anonymous LDAP bind [reported by Anne Durand] Bug fix: wwsympa did not reset list of topics before reloading topics.conf wwsympa/bounce-lib.pl: Bug fix: NTMail reports made bounced die [reported by V. Mathieu] Bug fix: LDAP authentication is case-sensitive src/Conf.pm: [reported by JM Pouchoulon] Bug fix: auth.conf needed a last empty lines Bug fix: moderation message had an empty boundary (unless md5) Raise an error if subscribers inclusion failed Raise error if incorrect scenario rule, so the message/command is kept as BAD Add 'other' topic in create_list form [reported by G. Mercey]Bug fix: scenario with '-' in name were not listed src/List.pm: [reported by Tanel Kokk] 'mkdir' function requires mode [Straub Herbert]: Encode mail subject for LISTS and HELP src/List.pm: Bug fix: Do NOT consider .tpl as hierarchical parameters (like owner.email) src/etc/script/sympa.spec: [reported by D. Mostacero] corrected 'perl-ldap' RMP name src/etc/script/sympa.spec: [John Dalbec] Fix Perl dependency 3.3a-vhost.10 25 Sep 2001 New features : Sympa at last implements virtual robot : Sympa virtual robots are likely Apache virtual hosting : a single daemon sympa.pl and a single cgi server wwsympa.fcgi now can serve multiple domains with their own set of list, templates and scenarii. All configuration parameters can be define for each robot except Sympa installation parameters such as binary and spool location, SMTP engine, antivirus plugging etc. A robot is named by its domain, and defined by a directory ~sympa/etc/somedomain.org. This directory must contain a robot.conf file that defines the virtual robot parameters http_host title default_home lang listmaster max_size and colors. ~sympa/etc/dom.org/ contains lists of dom.org robot ~sympa/etc/dom.org/wws_templates/, ~sympa/etc/dom.org/templates/, ~sympa/etc/dom.org/scenari/ directories are applied when loading templates or scenarii before searching into ~sympa/etc and ~sympa/bin/etc. Check sample dir. [Florent Guilleux]: Task manager wwsympa/wws_templates/fr/edit_list_request.fr.tpl Various task automatic processing. List master may use predefined task models to automate recurrent processings such as regurlaly reminding subscribers their belonging to a list or updating certificate revocation lists. It is also possible to write one's own task models to meet particular needs. Unique actions may also be scheduled by this way. Sympa.pl recognize SIGHUP to reload sympa.conf, all sympa.conf parameters are reloaded except those related to syslog. In addition each HUP received change the value of the -mail option. New variable 'is_bcc' available in scenario ; it is set to 1 if the list was NOT mentioned in To: or Cc: This provides a usefull spam/viruses prevention You can define a set of common scenario rules, used by ALL LISTS. 'include.<action>.header is automatically added to evaluated scenarios. Changes : Web interface colors are now defined in sympa.conf 'reject' scenario action now accepts a template name as parameter Bug fixes : Forbid [] chars for shared documents STATS command controlled by "review" scenario List-specific invite.tpl was not used 'dir'. List attribute is now an absolute path List config file contained strange 'default_user_options' entries. &List::get_default_user_options() returns a reference ; the value was changed when adding a subscriber, and might be saved later. Did not apply default_user_options while importing bouced.pl died if bounce file was empty bounced now die if it can't create file to store bounces. This is needed to prevent the loop describe by Claus Atzenbeck. 3.2.2a 03 August 2001 New features : Sympa returns non-delivery reports as multipart/report first version of subscription moderation new message-related variables available in scenari : [msg_body], [msg_part->type] and [msg_part->body] rename file/directory in 'web repository' Add bookmarks management to the document repository (shared) New 'db_additional_user_fields' AND 'db_additional_subscriber_fields' in sympa.conf. These fields are accessible from within templates and scenario. List creation request is a template. Add list creation notification (using a template) [requested by C. Turbout] New feature: add 'connect_options' to include_sql_query list param. Add 'db_options' to sympa.conf [Didier Lamballais] Change: add NEWALIASES_ARG var to Makefile [N. Euzen] new 'not_me' user reception option changes for 'urlize' (added size, name ; add header/footer afterward) [requested by C. Atzenbeck] New 'anonymous_header_fields' sympa.conf parameter. [Nadia Euzen]: Add new user reception options "html","txt" and "urlize". Sympa recognises Trend Micro virusWall API non-identified users can change the language of WWSympa. The preferred lang is stored in a cookie. src/Commands.pm: New 'verify' command (for s/mime checking) Changes : Replace remaining get_action() with request_action() Turn command (review,stats,info,modindex) reports into templates Split templates ; one per lang This makes translation easier (charset problems, patches appliance) Now fully uses the update_subscriber DB field src/List.pm: 'update' changed to 'update_date' ; 'update' is a MySQL keyword use internal session cache for List::get_subscriber() src/List.pm: no more SQL join in List::get_subscriber() This should fasten list-related web actions (such as INFO, ARC, ADMIN,...) [proposed by Josep Roman] Use Digest::MD5 instead of MD5 module doc/sympa.tex.tpl: Latex file is now parsed, to include sample files check_perl_modules.pl: Set inactivity timeout to 4 sec src/etc/ca-bundle.crt: Add Ca-CRU to bundle Bug fixes : wwsympa/bounced.pl: daemon would die on a strange bouncing address Better log messages [nablaphi] Fix logging for archived & bounced ; use Getopt::Long src/List.pm: Ignore empty email addresses, from LDAP doc/sympa.tex.tpl: [reported by M. Leclair] Fix 'host' list param documentation srand() is done once to avoid multiple moderated messages to have the same ID src/etc/script/sympa.spec: [reported by S. AZRIEL] aliaswrapper was not installed [Vizi Szilard] cancel translation of From/Subject/To headers src/etc/mhonarc-ressources: fix the reply feature (when replying to list the adresse was not qualified) [reported by Foudil BRETEL] create_list.conf was not properly parsed Make it case-insensitive src/tools.pl: Sympa was bloquing in tools::smime_decrypt() on big encrypted messages. => now creates the FIFO before OpenSSL is called. Fix re-encryption of signed base64 messages [reported by Christian Mock] Bug fix: S/MIME encryption fixed signed AND crypted messages are recognized as signed wwsympa/wws_templates/us/create_list.us.tpl: [R. Manfredi] makes the message clearer wwsympa/wwsympa.fcgi: change_email fixed doc/sympa.tex.tpl: [Vizi Szilard] Hungarian NOT hungrian src/etc/script/create_db.Pg: [Jerome Marant] CREATE INDEX ends with 2 parentheses instead of one src/mail.pm: Also encode $to, From and all $headers entries src/mail.pm: [reported by Straub Herbert] owner notification messages subject was not encoded src/etc/script/create_db.Sybase: [reported by Guenter Lau] Update database structure, make password longer 3.2.1 05 June 2001 Bug Fix : src/tools.pl: [Renato Bonomini] typo Not enough arguments for mkdir at tools.pl line 815 src/List.pm: sympa.pl would die with error message "Can't use an undefined value as a HASH reference" It could not access reply-to value when defining an email as the reply-to Changes : src/etc/script/sympa.spec: [reported by Claus Atzenbeck] perl-CGI.pm has been renamed perl-CGI New features : Makefile, important_changes.pl: Print important changes extracted from RELEASE_NOTES (*****) 3.2 01 june 2001 New features : [Nadia Euzen] antivirus scanner, curently working with McAfee Uvscan and FSecure FSAV. New conf parameters antivirus_path and antivirus_args New template your_infected_msg.tpl nls/hu.msg, wwsympa/wws_templates/hu, src/etc/scenari/,src/etc/templates/: [Vizi Szilard] New feature: Translations to Hungarian src/etc/templates/: [Rodrigo Filgueira Prates] templates translated to Portuguese [Harald Wilhelmi] Mail templates translated to German wwsympa/wws_templates/fr/help_editlist.fr.tpl: [Michel Bouissou] Translated editlist helpfile to french [Jérôme Marant] New feature: change sympa man page to POD format Add archived, bounced and alias_manager man pages wwsympa/wwsympa.fcgi: "Reply" feature from web archives It uses the "compose_mail" action of WWSympa Changes : ***** For enhanced performences, we recommend you add an INDEX to your ***** 'sympa' database. This fasten the queries based on the subscriber email : ***** With MySQL : ***** ALTER TABLE subscriber_table ADD INDEX (user_subscriber,list_subscriber); ***** With PostgreSQL : ***** CREATE INDEX subscriber_idx ON subscriber_table (user_subscriber,list_subscriber)); ***** src/List.pm: [proposed by Petr Prazak] supress lower() function from SQL ***** SELECT queries in user_table. This makes query much faster (t/100) with MySQL ***** ***** You should therefore lowercase your database entries : ***** sympa.pl --lowercase src/List.pm: [proposed by Claus Atzenbeck] Add 'X-Envelope-To' header field deletion for anonymous mode src/etc/mhonarc-ressources: Decode encoded header fields src/List.pm, wwsympa/wwsympa.fcgi: Order list parameters within a paragraph src/List.pm: [Straub Herbert] Changes: change connect string for PostgreSQL Did not work with Pg 7.1 Replace 'reply_to' and 'forced_reply_to' list parameters with 'reply_to_header' parameter (paragraph) Less restrictions on file names in shared (allow spaces) wwsympa/wwsympa.fcgi: Bug fix: did not work when scenario returned multiple actions wwsympa/wwsympa.fcgi: could not edit digest hour wwsympa/wwsympa.fcgi: [proposed by Petr Prazak] Don't stop deletion process if one address is not subscribed src/etc/scenari/send.*: Changes in scenario titles src/etc/mhonarc-ressources: Changes: add deletion confirmation nls/es.msg, src/etc/create_list_templates/*, wwsympa/wws_templates/es/*: [Philippe Mingo] Changes: corrections nls/de.msg [Harald Wilhelmi] updates [Petr Prazak] Czech templates update nls/es.msg: [Josep Román] additions and corrections Bug Fixes : ***** Too many arguments for substr at CipherSaber.pm line 63 ***** If you have Perl Perl 5.005 or earlier installed, you ***** should either upgrade to Perl 5.6 or change CipherSaber::decrypt() to : ***** sub decrypt { ***** my $self = shift; ***** my ($iv, $message) = unpack("a10a*", +shift); ***** return $self->crypt($iv, $message); ***** } src/etc/scenari/visibility.conceal: titel => title Sympa Could not parse visibility.conceal scenario src/Commands.pm, wwsympa/wwsympa.fcgi: Apply list visibility to WHICH command (hide secret lists) src/Conf.pm: Check if we may executes programs listed in sympa.conf wwsympa/cookielib.pm: could not set HTTP cookie if 'cookie_domain' conf parameter was defined src/List.pm: [Michail Bachmann] missing comma (',') in Sybase SQL query src/etc/mhonarc-ressources: do not parse message body in archives src/Commands.pm: [reported by Odile Germes] Sympa would die when receiving a REMIND command for an unknown list src/List.pm: [reported by Petr Prazak] use correct charset for digest table of content src/tools.pl: always look for commands in subject (does not depend on body length) src/List.pm: Q-decode From header field in digest table of content src/List.pm: [Straub Herbert] encode digest Subject header field src/List.pm: Sympa was erasing user preferences (including password) when loading subscribers file to database (from wwsympa edit_list) wwsympa/wwsympa.fcgi: Set folder icon though directory has no .desc src/List.pm: [Yann Bizeul] Escape % chars in moderation message wwsympa/wwsympa.fcgi: Did not list lists with no topic could not delete editor/owner entries src/Makefile: [Jérôme Marant] Change: clean aliaswrapper src/Commands.pm: Missing list::get_user_db() in REMIND for getting user prefs (including password) wwsympa/wwsympa.fcgi: Bug fix: don't reject login if user has no password in db src/etc/templates/global_remind.tpl: correct [user->passwd] to [user->password] wwsympa/Marc/Search.pm: Bug fix: Search in message body was looping if <!--X-MsgBody-End--> was not found src/List.pm: [reported by Jean-Michel Beuken] Bug fix: Check if scenari dir exists Bug description: wwsympa died when editing list config : glob failed (child exited with status 1) src/sympa.pl: Bug fix: set list language for digest src/List.pm: Bug fix: Do not delete 'Received' header field in List::store_digest() src/Commands.pm: Bug fix: SET <list> <mode> did not work Case-sensitivity problem doc/sympa.tex: [David Lewis] corrections in documentation wwsympa/wws_templates/de/: [Harald Wilhelmi] Changes: a few typos in the german wwsympa templates 3.1.1 Wed 25 Apr 2001 Bug fixes : Failed archiving emails. (this bug exists since 3.1 only) 3.1 Tue 24 Apr 2001 New features : [Harald Wilhelmi] Translations of web templates & scenario titles to German [Petr Prazak] Translation of scenari titles to Czech Add auto alias removal Bug Fixes : src/List.pm: [reported by Petr Prazak] Did not keep date of 'subscribers' file Could not synchronize with changed 'subscribers' file [reported by Fiona Dix] forgbid changes in subscriber options if user_data_source is 'include' src/List.pm: [Petr Prazak] Died while getting first subcriber if subscribers file is empty Bug error: Can't call method "seq" on an undefined value wwsympa/wwsympa.fcgi: [reported by Petr Prazak] did not apply subscriber options changes if user_data_source is 'file' doc/sympa.tex: [David Lewis] Many corrections wwsympa/archived.pl: [Petr Prazak] quote listname command line argument Add log if mhonarc call failed src/List.pm: Consider empty value as undef Empty editor/owner mailto: were displayed on WWSympa wwsympa/wws_templates/us/main.us.tpl: [reported by Petr Prazak] Bug fix: missing getCookieVal() function 3.1b.13 Fri 13 Apr 2001 New features : [Petr Prazak] Translations of Sympa to Czech (nle & templates) Auto-install of aliases at list creation time New parameter in wwsympa.conf: alias_manager [Harald Wilhelmi] run newliases via a C wrapper src/sympa.pl: --import option doc/sympa.man: Man pages for sympa src/sympa.pl: --help and --version options wwsympa/wwsympa.fcgi: New feature: Add Javascript cookie check wwsympa/wwsympa.fcgi: search_user for listmaster, available from "sympa admin" web page Bug Fixes : src/List.pm: when subscribers are extracted from an SQL query, the query ends getting emails at first empty entry src/sympa.pl: [reported by Jérôme Marant] parameter for --debug is compulsory wwsympa/wwsympa.fcgi: no more lowercase in shared ; otherwise could not access files with uppercase letters src/List.pm: Set list's lang for owner notification (instead of subscriber's lang) 3.1b.12 4 Apr 2001 New features : propose pre-defined cookie expiration periods in WWSympa src/sympa.pl: Add --keepcopy option to keep a copy of incoming messages Notices are different from errors. Create new templates Add X-No-Archive header field to distributed messages src/Log.pm: Attempt to restore lost connexion to syslogd Changes : nls/es.msg: [Josep Roman] Changes: Removals of extra \n chars, new messages added Add creation date and email in list templates config src/Conf.pm: Change default create_list for reverse compatibility wwsympa/wws_templates/: error.fr.tpl, error.us.tpl: Add action name when failed src/List.pm: look for global header/footer in ~sympa/etc/templates/ src/List.pm: if user_data_source is 'database', check if we have a database up wwsympa/wwslib.pm: provides file extention, given the content-type Bug fixes : src/: sympa.pl, tools.pl: Use original msg file for S/MIME signature checking src/: List.pm, sympa.pl: Use original message for confirmation, not MIME::Entity object This prevents signature breaking src/sympa.pl, src/tools.pl, wwsympa/wwsympa.fcgi: [reported by D. Lamballais] Make Cipher::Saber really optional Check in @INC first src/List.pm: bad condition, never alert owners about bounce rate src/etc/script/load_subscribers.pl: [Gérard Gachelin] insert comment src/tools.pl, wwsympa/wwsympa.fcgi: [reported by Anne Durand] escape quotes in edit_list_request src/sympa.pl, src/Commands.pm: Bug Fix: Messages to be approved were not sent to editor (unless editorkey) src/tools.pl: [reported by Michael Brennen] fix a bug in encryption module introduce in 3.1b5 src/: List.pm, sympa.pl: [reported by Philippe Leca] signed multipart messages were altered by moderating process doc/sympa.tex: [David Lewis] Lots of corrections for "good english" compliance wwsympa/wwsympa.fcgi: could not delete owners/editors. Format check was performed even on empty entries wwsympa/bounced.pl: [proposed by D. Lalot] use strict, basic check while opening files, daemon no more dying wwsympa/cookielib.pm: [reported by Fiona Dix] Logged in as unknown, because of wrong date format in cookie. Now use CGI::Cookie for cookie read/write 3.1b.10 15 Mar 2001 Changes : ***** HTTP cookie prefix becomes sympauser (used to be user) Bug fixes : [O. Lacroix] nls/cn-gb.msg: leading tabs instead of spaces, failed compiling on HPUX wwsympa/wws_templates/d_read.us.tpl: badly placed <FORM>s File upload and directory creation failed sympa.tex: missng/wrong sympa.conf parameters 3.1b.9 14 Mar 2001 Changes : Attempt to change database structure if needed (MySQL only) 3.1b.8 12 Mar 2001 New features: Check db tables structure at sympa.pl startup 3.1b.7 9 Mar 2001 New features: 'post' action available on list info page [requested by Fil] Add an SQL clause while searching among subscribers (used to fetch all subscribers and select afterward) [Lukasz Zalubski] Translation to polish [Olivier LACROIX] New list parameter 'available_user_options' Only available reception modes are listed on the web interface. If a user sets a forbidden mode (not listed), he is asigned the mode in 'default_user_options'. If default_user_option reception mode is not listed in 'available_user_options' it is appended to it. wwsympa/wwsympa.fcgi: New action "show_cert" to print SSL information. ***** src/tools.pl: Add reversible encryption for password (rc4) ***** &crypt_passwd ; &decrypt_passwd ; &ciphersaber_installed ***** You need to change your database structure : ***** ***** with MySQL ***** ALTER TABLE user_table CHANGE password_user password_user varchar (40); ***** ***** with PostgreSQL ***** SELECT * FROM user_table IN user_table_save; ***** DROP TABLE user_table; ***** CREATE TABLE user_table ( ***** email_user varchar (100) NOT NULL, ***** gecos_user varchar (150), ***** cookie_delay_user int4, ***** password_user varchar (40), ***** lang_user varchar (10), ***** CONSTRAINT ind_user PRIMARY KEY (email_user) ***** ); ***** INSERT INTO user_table SELECT * FROM user_table_save ***** GRANT ALL ON user_table TO public; ***** GRANT ALL ON user_table TO sympa; ***** ***** crypt_passwd.pl: Script for password encryption in database [Wang Jian ] Web templates translated to zh_CN.GB2312 encoding, Simplified Chinese Add links to archives in summary Makefile: Added SHADED_COLOR src/parser.pl: Allow SET var=number Add 'toggle selection' in review page [requested by Beatrice Gatto Charton] Provide mailto: URL for confirming a subscriber deletion src/etc/script/list_alias.pl ***** New field in table subscriber_table : comment_subscriber ***** You **MUST** change your database sctructure: ***** ALTER TABLE subscriber_table ADD comment_subscriber varchar (150); ***** ***** src/etc/script/init_comment.pl: Script to initialize newly ***** introduced comment_subscriber data row owners can edit subscribers email address Bug fixes : src/List.pm: [reported by Ronan Salmon] Can't call method "compute_auth" on unblessed reference [reported by Fil] When sympa.pl send a message for wwsympa.fcgi, it uses From: header field for the Return-Path: Now uses additional X-Sympa-From header field src/tools.pl: [reported by Fil] '#' chars were not escaped in editsubscriber src/etc/script/Makefile: [reported by Jerome Dubois] wrong 'wwsympaconf' [Harald Wilhelmi] Bug fix : Subscribers count was going mad when closing/restoring a list Makefile: installconfig failed parsing PIDDIR and SPOOLDIR Sympa would break S/MIME signatures if message contained encoded parts. This is due to MIME::Entity library use. It would not always encode the msg exactly the original way (Ex : number of columns for Base64) ; S/MIME signature is broken. Correction : Unless message body was altered (header/footer added), Sympa uses the original message's body, bypassing MIME::Parser src/Archive.pm, wwsympa/archived.pl: [reported by Hubert Ulliac ] Bug fix : if 2 mails for the same list at same time, first was erased in outgoing/ Changed file format to <list_address>.<epoch_time>.<process_id> wwsympa/bounced.pl: check if SIGTERM was received before processing each file src/List.pm: decode subject while searching custom_subject avoids multiple custom_subjects src/tools.pl: [reported by Odile Germes] comment in list_templates were not seen by wwsympa [reported by Wang Jian] Bug fix : multiple add failed if one failed. Display ALL error messages src/etc/templates/helpfile.tpl: [Lukasz Zalubski] : wrong var nls/es.msg: [reported by X-Term] Bug fixes: unwanted \n at the end of some messages Bug report: Helpfile contained MIME-Version, Content-Type & Content-Transfer-Encoding: 8bit in its body src/List.pm: used an obsolet var $Language::sympa_lang Bug description: If user had no lang pref, helpfile body was not in the correct lang src/tools.pl: Bug fix: could not create user cert dirs src/etc/scenari/visibility.conceal: show list for owners and editors src/etc/script/load_subscribers.pl: [Anton Slabbinck] use db_xxx conf parameter src/List.pm: Escape \s chars in gecos and email wwsympa/wwsympa.fcgi: Escape weird chars in email Don't stop resetbounce processing if lastbounce not found wwsympa/bounced.pl: [reported by Philippe Riviere] : Escape weird chars in from before creating directories When logged in, if main window's URL is wws/logout, then change it to wws/ before refresh src/List.pm: [reported by Fil] : truncated email address last char while including file src/List.pm: [reported by Dominique Marant] Failed to open list local scenario src/List.pm: For compatibility concerns, [host] var is now available in scenari. check_perl_modules.pl: Fix typos. reported by Michael Yount <csf@moscow.com> src/List.pm: Bug fix: last topic not loaded if no ending blank line. Reported by ronan.salmon@staff.ittralee.ie wwsympa/wwsympa.fcgi: Wrong parameters to &List::send_sub_to_owner() src/List.pm: Set undefined Topic (defined via subtopic) Bug reported by thomas.morin@webmotion.com wwsympa/wwsympa.fcgi: Fixed "syntax errors, param xxx" while editing list config wwsympa/wwsympa.fcgi: Make %changed_params a global var Fix problem in edit_list wwsympa/wwsympa.fcgi: Lower case path for each do_d_XXX proc. The goal is to support random case in URL generated by some microsoft products. src/List.pm: Allow . and - in scenario file names. (reported by Odile Germès) Hard-coded colors in wws_templates src/Language.pm: Bug fix (reported by Odile Germes) : Glob failed in language.pm src/Makefile: Install scenari/*.* and templates/*.tpl (not CVS/) wwsympa/Makefile: Install *.gif only (not CVS/) Changes : src/List.pm: Change: Don't query database for subscribers # ; read stats file instead Use mailto URLs instead of FORMs Did not work with Netscape 6 Makefile: Setting sympa owner of installation directory src/Archive.pm: don't delete Received: header fields src/List.pm: Accept more characters for db_name and user Accept connect_string without db_name and host Make user password case-insensitive Add RCS Identification tags to templates Require MhOnArc 2.4.6 set_symlinks.pl: Symlinks are set at installation time for templates and scenari src/List.pm: [requested by Dominique Marant & Odile Germes] provide current config files when reporting errors rename wws-lib.pl to wwslib.pl wwsympa/wwsympa.fcgi: using "use strict vars" src/sympa.pl: when sending mail to <list>-editor, use <list>-owner if no editor are defined src/etc/scenari/create_list.listmaster: listmaster is listmaster public_listmaster is anyone with validation Allow longer options (--debug for -d, --lang for -l) in sympa.pl sympa.pl has a new option for dumping subscribers list. sympa.pl -s <listname>|ALL Using a memory cache for is_user() in List.pm src/List.pm: Change : get_first_user() and get_first_bouncing_user() don't do JOIN with user_table anymore 3.0 4 Jan 2001 3.0 is a major release of Sympa. It includes a lot of changes but no significant uncompatible changes. Major new features : -list configuration edition. At last !!! -S/MIME encryption and HTTPS authentication (because OpenSSL itself is a beta test distribution, all features based on OpenSSL are distributed under beta testing status) -Shared web space for each list. -New web navigation ergonomie. This version 3.0 has been distributed under alpha and beta testing version since October and has been widely tested. Special thanks to Olivier Lacroix for a lot of contributions. Changes : tarball now include a KOWNBUGS file. Bug fixes : [Olivier LACROIX <Olivier.Lacroix@ciril.fr>] Corrected es.msg for HPUX Corrected chmod (for HPUX compatibility) in wwsympa/Makefile wwsympa::Savefile() failed because filename was lost when calling editfile() afterward (may_edit on an unblessed list reference) 3.0b.9 23 Dec 2000 Bug Fixes : [reported by Jean-Luc OMS <Jean-Luc.Oms AT lirmm.fr>] "comment" files used for site's list templates [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Fixed message rejection format in sympa.pl [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Replace system call to MhOnArc in wwsympa.fcgi [reported by François Dagorn <dagorn AT univ-rennes1.fr>] When subscribtion is sent to owner, the approve command should be a mailto: [reported by Fil <fil AT bok.net>] Using uniq Return-path impossible with postfix. Replace the separator char "/" by "==". [Jérôme Marant <jmarant AT free.fr>] Missing "CREATE DATABASE" in create_db.Pg 3.0b.8 18 Dec 2000 New features : Sympa not archive anymore message with 'X-no-archive: yes' or 'Restrict: no-external-archive' smtp header. [Fil <fil AT bok.net>] New "remove_headers" parameter in sympa.conf It tells sympa what SMTP header fields to remove in distributed messages. ***** You need to add an alias for listmaster : ***** listmaster: "|/home/sympa/bin/queue listmaster" New optional wwsympa.conf parameter "default_home" in order to choose another home page for exemple "lists" A new link to load X509 certificat in list page is added if list as it's own email certificat. New sympa.conf parameter "ssl_cert_dir" Default is expl/X509-user-certs Its value in sample sympa.conf can be overwritten with SSLCERTDIR variable at make time New [list->xxx] vars available within scenario conditions Bug fixes : [reported by Hubert Ulliac <Hubert.Ulliac AT Uhb.Fr>] First subscriber in digest mode did NOT receive digests The problem was due to a missing parameter at mailto() call [reported by Hubert Ulliac <Hubert.Ulliac AT Uhb.Fr>] [conf->xx] where not recognised in scenari match() conditions Fix welcome message lost when must be signed (bug introduced in 3.0b4) Reviewbouncing failed with "No Page 1" error message. [Philippe Bricout <pbricout AT setra.fr>] Change some hard-coded path to --ETCBINDIR-- in wws_templates [reported by J.E. Gadenne <jeg AT lettres.net>] Escape '<' and '>' chars in modindex's Subject field [Jérôme Marant <jmarant AT free.fr>] Delete Perl interpreter calls in perl modules Correct privileges on mhonarc-ressources file [Philippe Bricout <pbricout AT setra.fr>] fixe bugs in wwstemplates\admin_menu.*tpl [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] fixe the "%s" bug in sentence "Your message for list %s has been ..." fr translation of d_read template Could not change "digest" time in edit_list_request form [reported by Didier Lamballais <Didier.Lamballais AT irisa.fr>] Makefile : Missing conditional around Perl 5.6.0 warning "Make clean" now deletes the "bouncequeue" program Remove unused module sign_filter.pl Fix reviewbouncing Changes : [Josep Roman <josep.roman AT zuerich-see.ch>] Updated spanish wws_templates Return the filled form when an error occurs in create_list Use a new window for Login Resulting addresses of a "search" are selected Deletion requires confirmation Subscribe/signoff web confirmation now performed with Javascript wwsympa.fcgi : default cookie expiration is 0 min Login will last until the web browser is closed. 3.0b.4 30 Nov 2000 New features : [Josep Roman <josep.roman@zuerich-see.ch>] Complete spanish translations of the web interface, including update of es.msg Change_email feature in WWSympa (accessible from prefs) [requested by Geoffrey Lee <snailtalk AT linux-mandrake.com>] Makefile : include RPMTOPDIR variable Makefile : new "make rpm" building Linux RPM binaries for both RedHat and Mandrake. Makefile : new PIDDIR variable ; creating spool directories [reported by Patrick BROSSIER <Patrick.Brossier AT mgm.fr>] The main CGI (wwsympa.fcgi) can now be installed elsewhere (not BINDIR) by setting WWSBINDIR in Makefile [Renato Bonomini <renato AT ramiola.dsmnet.it>] Translation of web templates in Italian Bug fixes : [reported by Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Changes in mail::mailback() to leave messages in msg/ spool when working with FastCGI [Robert Marchand <robert.marchand AT UMontreal.CA>] A few bug fixes in Makefiles [reported by Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] "unknown locale" errors in wwsympa log file [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] chomp() on From: in DoSendMessage() Corrected template inclusions archived.pl : backslashed '$' in msgid before system call to mhonarc Under some circonstances (FastCGI+Perl 5.6+...), WWSympa was dying with the following error : FastCGI: server wsympa.fcgi stderr: Not a GLOB reference This happened while sending a service message (welcome, bye,...) because of the fork performed by WWSympa, not supported by FastCGI. WWSympa now completely relies on Sympa for message distribution. Communication is performed via spool/msg/. Could not set owner of non-empty directories or documents in shared. Better check of email addresses in ADD and DEL commands Marc/Search.pm : add trailing '/' to directories to make it work (on Linux system) with symbolic links Corrected REMIND from the web Changes Search among subscribers limited to 500 records Sympa deletes its pidfile when exiting wwsympa.fcgi : request a confirmation before unsubscription Generalization of mail::mailback() in List.pm wwsympa.fcgi (edit_list) : deleting an email address, deletes the corresponding owner/editor entry WWSympa.fcgi installed with SetUID bit New admin information in list_menu french templates 3.0a.1 Bug fixes Pass the module name to CPAN::Shell->install(), not the package name A few corrections in load_subscribers.pl Multple "list" INPUTs in wws_templates/review.tpl [reported by Jean-Marc Larre <Jean-Marc.Larre AT cesr.fr>] Accept complex string for 'user' entry in paragraph 'include_ldap_query' Error in review.tpl ; could not delete users form review page. [Bill Shirley <bill AT shirleyfamily.net] a few bugs in documentation 3.0a 30 Oct 2000 3.0 is a major release of Sympa. It include a lot of changes but no significant uncompatible changes. The 3 major new features are : -list configuration edition. At last !!! -S/MIME encryption and HTTPS authentication -Shared web space for each list. New features: S/MIME : Sympa now can be configured to distribute encrypted messages (need a email certificate for the list). It also sign welcome message comming from a list (in order to distribute the list certificate). HTTPS authentication can be used with user certificate. In this case no login form is needed at all. "edit_list" action in WWSympa : a important change in internal data structure for list configuration. You must check that sympa.sympa has write access on config files. Shared web features set. This developpement from Sophie Le Floch sophie.le-floch AT cru.fr is intended for new groupware features in WWSympa. **** New design for web navigation. All web templates are changed. 3.0a **** include ONLY us web templates. Of course 3.0 release will contain previous french and spanish translation. Translators are invited to take contact with us. New parameters in "include_ldap_query" paragraph : o attrs <mail_attribute> (default 'mail') attribute containing the email address(es) o select <first | all> (default 'first') if the query returns multiple values, do we keep the first one or all of them Add a protection at the entrance of archives. If the user is not identified, he/she has to click a button to access archives. New parameter "visibility" for a topic in topics.conf It refers to "topics_visibility" scenario Check Message-IDs to avoid loops. "default_user_options" now applied to included users. Importing lists to 'database' mode can be performed using WWSympa. All you have to do is edit the list config (in WWSympa) and change the user_data_source from 'file' to 'database'. Changes : **** [] are automatically added to the custom subject **** Daemons(sympa.pl, archived.pl, bounced.pl) now set their UID themselves. **** You can thereby run them with root privileges (a script is provided **** in script/ directory for starting/stoping Sympa) No more list_parameter.conf : comments are in wws_template files titles are in NLS "make install" will install sample sympa.conf and wwsympa.conf if none exist Added "INITDIR" var in Makefile, to install SYSV init scripts No more translations in wwsympa.fcgi and wws-lib.pl ["Pascal J. Bourguignon" <pjb AT imaginet.fr> Add missing error messages to queue.c Multipart/report messages are ignored in distribution process Disposition-Notification-To headers are removed before distribution Search (among subscribers) in WWSympa, also searches the gecos Included files can now have a gecos column Set a password for users subscribing/ed via email. It can be added in templates ([user->password]) Do not enter user information in user_table before he/she has subscribed. Set "log_socket-type" to "inet" in sample/sympa.conf if on a Linux system. [requested by Geoffrey Lee <snailtalk AT linux-mandrake.com>] "DESTDIR" can be set in the main Makefile to install it in directory different from "DIR" This should make RPM & DEB packagers' life easier. Install samples in $(DIR)/sample Install scripts in ~sympa/bin/ Variables parsed at make time in scripts [requested by Mathieu Arnold <arn_mat AT club-internet.fr>] Add "quiet" option to multiple add "editor,quiet" & "editorkey,quiet" actions in "send" scenario New "close_list" and "restore-list" features in WWSympa Made List::request_auth() and List::compute_auth() object methods List::_load_users_file() split in 2 subroutines Scripts in script/ are now parsed, via a Makefile and installed. Access to "info" page is controlled by "info" list parameter Bug fixes : [Jean-Marc Larre <Jean-Marc.Larre AT cesr.fr>] fixe LDAP interoperability problem with Netscape directory server. Use List::distribute_msg() with CONFIRM command. This will allow usage of anonymous_sender with confirmations. [Cedric Scott <cedric.scott AT sse.ie>] fix the quiet option in scenario. Fixe am_i('editor',..) in order to make owners as default editors List::verify() failed to evaluate [conf->xxx] and [header->xxx] if not exact match [Thibault Verollet <tverollet AT jetmultimedia.fr>] INSERT IGNORE in load_subscribers.pl [reported by Richard Balint <balint AT balintrc.oca.udayton.edu>] List::send_msg_digest() does a BULK call to sendmail with ALL the recepients (in Digest mode) Bounced.pl failed writing bounces in OTHER directories Bounced enable to remove errors (get_action replace by request_action) Idem for Commands.pm : del [reported by Patrick CAO HUU THIEN <cao_huu_thien AT inrp.fr>] Strip end of lines from wwsympa.conf [reported by Christian Perez <cperez AT drecam.saclay.cea.fr>] Syntaxe error in Archi.pm and arc2webarc.pl (COMPILANT => COMPLIANT) [reported by Odile Germes <odile.germes AT univ-rennes1.fr>] Sympa would die while archiving a message for a list not in database mode. [Hadmut Danisch <hadmut AT danisch.de>] SQL query for MySQL changed from : bounce_subscriber != 'NULL' to : bounce_subscriber is not NULL [reported by "J.E. Gadenne" <jeg AT lettres.net>] Decode messages subject, included in reject.tpl [reported by Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] With PostgreSQL, WHICH failed because SELECT is case-sensitive. Sender email address is now lower-cased in Commands.pm 'comment' files in create_list_templates/ directories are now available from within 'create_list_request' template Changed Language.pm to use multiple NLS catalogues. Command reports related to a list now use its language. Number of subscribers of lists in 'include' mode is now correct. Variables in match expresions (/[var]/) were not evaluated in scenario [Dominique ROUSSEAU <d.rousseau AT mail.dotcom.fr>] archived.pl could not log anymore [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Rejection and forwarding reports did not include correct MIME headers Don't log strings with \0, driving syslogd mad. In WWSympa, listmaster has privileged_owner privileges [Dominique ROUSSEAU <d.rousseau AT mail.dotcom.fr>] Pass the umask to mhonarc in archived.pl [reported by Laurent Aublet-Cuvelier <Laurent.Aublet-Cuvelier AT imag.fr>] X-Sympa-To should be assigned 'email'@'host' as defined in sympa.conf. Rename a message as BAD if it cannot be opened [reported by Hervé Maza <herve.maza AT education.gouv.fr>] Add Subject: to moderation notification message Create "spool/" directory before attempting to create spools. [reported by Denis Havlik <denis AT mandrakesoft.com>] Header and Footer were not added in 'append' mode Could not remove_arc with Message-IDs containing a '$' $sortby now used in List::get_first_user() for Oracle and Sybase Deletes all Mail::Internet in Commands.pm [Hubert Ulliac <Hubert.Ulliac AT Uhb.Fr>] Corrected scenario "access_web_archive.intranet" fix &is_web_archived function in order to adapt it to the new load_admin proc. fix incorrect storage of user certificats [reported by Olivier LACROIX <Olivier.Lacroix AT ciril.fr> and Bertrand.Poulet AT pasteur-lille.fr (Bertrand Poulet) ] Fix src/Makefile in order to update queue and bouncequeue when edition main Makefile. [reported by Mathieu Arnold <arn_mat AT club-internet.fr>] Confirmation for QUIET commands now works Change to check_perl_modules.pl : argument passed to CPAN::Shell->install() is the module name Save a copy of messages for digest before customizations (custom_subject, List-xx header fields, footer, ...) Warn if topics.conf is empty while creating list. [Luc Saillard <luc.saillard AT alcove.fr>] Aditional Bounce recognition (Wanadoo, Postfix, bigfoot) Don't consider messages as BAD if list has 0 subscriber [reported by Emmanuelle Rivière <cdb AT bok.net>] Hide recepients of summaries [reported by Michel Bouissou <michel.bouissou AT i-quake.com>] Corrected templates edition in serveradmin [Laurent Rathle <lrathle AT teaser.fr>] Corrected scenario_test, wrong path to scenari [Raymond Bourges <raymond.bourges AT univ-rennes1.fr>]> Missing quote in arcsearch_form.fr.tpl 2.7.3 25 July 2000 Bug Fixes : [Gustavo Araujo Bittencourt <gustavo.bittencourt AT capes.gov.br>] Database name hard-coded for one query (Sybase only) [Marc Baudoin <babafou AT pasteur.fr>] Add <> to anonymous_sender MessageID Replace real color by --XX_COLORS-- in mhonarc-ressources Allow welcome.tpl edition in edit_list.conf Correct path for aliases when creating a list. [Laurent Ghys <Laurent.Ghys AT ircam.fr>] Sort %todo in check_perl_modules.pl to avoid error message with CGI::Fast [Gustavo Araujo Bittencourt <gustavo.bittencourt AT capes.gov.br>] Changed connect string for Sybase ("server" instead of "host") [Christophe Labouisse <labouiss AT cybercable.fr>] NULL characters are coded as 'NULL' with PostgreSQL ('\N' with MySQL) [reported by Didier Lamballais <Didier.Lamballais AT irisa.fr>] WWSympa would not use its "log_facility" parameter [jmr AT computing.com] Corrected the LIMIT clause for to work with PostgreSQL LIMIT { count | ALL } [ { OFFSET | , } start ] Decode headers of command messages. Don't save decoded body data (MIME::Parser) to disk in bounced.pl Changes : Give up the "cgi-lib"-like ReadParse, to allow file upload. Every log entry is preceded by the service (sympa|wwsympa|bounced|archived) MIME::tools now requires File::Spec 2.7.2 30 June 2000 Bug Fixes : [PORTE Olivier <porte AT dsi.cnrs.fr>] Corrected "returned" to "return" in Commands.pm (4/07/2000) One more bug in modindex Changes : [Josep Román <josep.roman AT zuerich-see.ch>] update spanish templates 2.7.1 30 June 2000 Bug Fixes : [reported by Claude Gross <Claude.Gross AT urec.cnrs.fr>] Inhibit message footer insertion in multipart/(signed|alternative) messages ! wws : default Content-Type 'application/octect-stream' for unknown file extention while viewing archive and moderated message attachement. wws : fixed modindex templates in order to be able to view message without subject [Christophe Labouisse <labouiss AT cybercable.fr>] bounced.pl : fixed test on regular file [proposed by Christophe Labouisse <labouiss AT cybercable.fr>] Sympa : patch file for List.pm is included in src directory, not yet tested by Sympa authors : http://listes.cru.fr/wws/arc/sympa-dev/2000-06/msg00017.html Changes : New list optional parameter paragraph shared_doc for a futur set of features. 2.7 27 June 2000 New features : [Christophe Labouisse <labouiss AT cybercable.fr>] bounced.pl patched to recognise Postfix bounces [proposed by Dominique Marant <Dominique.Marant AT univ-lille1.fr>] New configuration parameter "rfc2369_header_fields" to add RFC2369 compliant header fields (List-xxx). Changes : ***** Requires MIME::Parser >= 5.209 [Josep Román <josep.roman AT zuerich-see.ch>] Updated nls/es.msg Default log_facility in wwsympa.conf is now sympa's log facility (used by wwsympa, archived and bounced) The directory for list creation templates is renamed "create_list_templates" Bug Fixes : [reported by John Sheehy <jes AT e-techservices.com>] Corrected permissions on sample files wwsympa.conf & sympa.conf Fixed privileges to rw.r..r.. in bin/etc/ [reported by Dominique Marant <Dominique.Marant AT univ-lille1.fr>] location of mhonarc-ressources file is now ~sympa/expl/<listname> or ~sympa/etc or ~sympa/bin/etc [reported by Lucas <Lucas AT ians.be>] Reply-to in list info command when using forced_reply_to [reported by Jean-Charles Godien <godien AT univ-nc.nc>] incorrect subscribtion form for closed list if user is not logged in [reported by Dominique Marant <Dominique.Marant AT univ-lille1.fr>] Ignoring temporary files T.<my_list> in bounce spool [Didier Lamballais <Didier.Lamballais AT irisa.fr>] 'hostname --long' on Solaris systems sets hostname to '--long' Changes in the Makefile to make it work on Solaris [reported by Josep Román <josep.roman AT zuerich-see.ch>] Sympa is unable to use default helpfile.tpl and lists.tpl 2.7b.3 16 June 2000 Changes : Set -d option when using -D Add "Pragma: no-cache" to HTTP headers Bug fixes : [reported by Dominique Marant <Dominique.Marant AT univ-lille1.fr>] In WWS, editfile would always show the site's default. Missing last; [Didier Lamballais <Didier.Lamballais AT irisa.fr>] Missing spaces before batslashes in main Makefile [reported by Patrick BROSSIER <Patrick.Brossier AT mgm.fr>] Bounced.pl failed to load sympa conf file When asking WWS for archives of not archived list : Can't use an undefined value as an ARRAY reference Failed to decode message bodies with MIME::tools 5.xxx Now uses bodyhandle() method instead of body(). 2.7b.2 15 June 2000 Bug fixes : Unknown list parameters welcome_return_path, remind_return_path, serial Failed to store S/MIME certificates Fixed SMIME feature in various commands 2.7b.1 14 June 2000 New features : Boucing addresses are sorted by (last_bounce, bounce_class, bounce_count)in reviewbouncing page "make" now installs required CPAN modules WWSympa is now a part of sympa. Default installation location ***** for wwsympa is now the same as sympa (you may update your ***** httpd.conf) ***** Simplifyed installation process with a Makefile in upper directory ***** level. Others Makefile should not be applyed "by hand" anymore. You way define WWSympa colors in the main Makefile New etc/list_parameters.<lang> Allow templates in list's directory (eg info.tpl) Use a new message template named reject.tpl to send a notification to the sender of a rejected message while rejected by a editor. (quiet reject inibit this feature) View unmoderated messages on the web via MhOnArc for better viewing of complex MIME messages Implement wws/loginrequest/referer ; once logged in, WWS redirects to the referer URL [laurent Merot <laurent.merot AT univ-rennes1.fr>] New Sympa logo Commands in multipart messages are recognized in the first text/plain part. RFC 2369 compliant header fields (List-xxx) are automaticaly added to distributed messages. New list parameter forced_reply_to like reply_to but overrights existing Reply-To: header. Changes : [proposed by Dominique Marant <Dominique.Marant AT univ-lille1.fr>] Show the site's default in edit_file if the template doesn't exist for the list. This makes the action more user-friendly and helps owners understand templates format. Supressed 'sympa_conf_file' param in wwsympa.conf Initial password generated randomly List-related makefile test the list's language instead of the user language New HTTP cookie format. This cookie can be checked without access to user passwd. The goal is to allow different application to use Sympa cookies. New library module : cookie-lib.pl for developpers who want to share authentication with WWSympa. New optional WWsympa parameter cookie_domain, used to control the domaine validity of Sympa cookies. Scenario can be now located in the list directory. Sympa search scenario in the following order : - ~sympa/expl/<listname>/scenari/ - ~sympa/etc/scenari/ - ~sympa/bin/etc/scenari/ ~sympa/bin/scenari/ does not exist any more Replace --VAR-- in sample conf files ***** Extend topics.conf format in paragraph mode for further lang info ***** and scenarization, look at the sample to update you topics.conf Bug Fixes : Add "hidden" inputs in forms to allow submit when hitting "Return". [reported by Mathieu Arnold <arn_mat AT club-internet.fr>] "SET * <OPTION>" would only work on the first subscribed list . [reported by Dominique Marant <Dominique.Marant AT univ-lille1.fr>] Quoted strings not accepted as arguments to conditions in scenario. Attached document in web archives accessible through WWSympa. Sympa died if it failed to parse a message. Use &MIME::Words::decode_mimewords() instead of &tools::decode_string() in wwsympa.fcgi When a subscriber is deleted from a list, his record is deleted in user_table if he/she has no more subscription. This partly prevents discrepancy of database size. Ignore white spaces at the end of sympa.conf lines [reported by Yves Maniette <et AT xps.sct.ub.es>] "unrecognized escape sequences" in fr.msg and es.msg [reported by Patrick BROSSIER <Patrick.Brossier AT mgm.fr>] Use sympa.conf's "log_socket_type" in archived.pl & bounced.pl [Patrick BROSSIER <Patrick.Brossier AT mgm.fr>] Create $(ICONSDIR) in Makefile [reported by Raymond Bourges <raymond.bourges AT univ-rennes1.fr>] WWSympa did not use user prefs for cookie expiration [reported by Christophe Turbout <Christophe.Turbout AT info.unicaen.fr>] Loosing topics info while creating lists No more duplicated headers fields (From, Subject, To) in digests. Now using MIME::Words Archive message when sent to zero subscriber. 2.7a 22 mai 2000 New features : (WWsympa list creation, S/MIME handling, remove in archive nls for fi, sorting lists by topics , ...) Search_list feature in WWSympa New ICONSDIR in WWSympa's Makefile New wwsympa.conf parameter icons_url Update all send scenario in order to accept smime messages script/arc2webarc.pl : for converting sympa archives in wwsympa format. Quiet DEL from the web etc/topics.conf Debug mode set when URL looks like wws/debug/xxx or wws/debug2/xxx New subscriber option "summary", available if list have a digest. Allow reception of just the list of messages (usefull if the list is archived). "Lists" page sorting lists by topics (see topics list param) SORT feature in REVIEW page. REVIEW is faster, thanks to LIMIT use in SQL selections New "homepage" file included in the info page of the list. "info" file is now text/plain, dedicated to the INFO mail command. Info page prints "homepage" file or "info" file. WWsympa include list creation (at last !) Four new list parameters : -1- topics (optional). (key words about the list) -2- creation (optional) include date of creation and creator email -3- update (optional) idem creation -4- serial (optional) (used for writting access conflict resolution on the config file) -5- status (open|closed|pending) Creation, update and serial are initialized by WWS's create_list. Operation access_web_archive now uses scenario (apply from web_archibe/access list parameter). Available scenario include previous keyword values and a new one name intranet. This scenario uses [remote_host] the client host name or [remote_addr] the client host addr in order to allow privilege definition based on the browser host (not only on the email). [remote_host] and [remote_addr] are also useable in review and visibility scenario. They should become availible in any scenario soon. New operation for list configuration file display available from list admin page. rule in a scenario now accept a list of auth method : exemple : is_subcriber([listname],[sender]) smime,md5 -> do_it List::get_first_user() has 3 new parameters : o sortby : may be "domain"(default), "email" or "date" o offset, rows : the offset of the row to return and the number of rows. When these last parameters are set, a LIMIT clause is added to the SELECT. [Mikko "Bemmu" Sepponen <lomise AT uta.fi>] Translation of Sympa in Finnish (NLS only) WWS archives are now parsed. - the mhonarc_ressources file do not use anymore ".fr" or ".us" suffix but it the preference langage is applyed at runtime so anyone can chose it's lang. - the message sender can remove its messages (the remove button is inserted only to appropriate users : message sender, list owner and listmaster) ***** REQUIRE MHonArc v2.4.6 available from <http://www.mhonarc.org>. Check: ***** http://www.xray.mpe.mpg.de/mailing-lists/mhonarc/2000-04/msg00028.html ***** You need to rebuild all your archive. This can be done ***** using WWSympa (new feature in the "Server Admin" page). New template tags : [STOPPARSE] and [STARTPARSE] (mainly to prevent abusive parse in mail archive) New send scenarii that reject multipart messages or request editor if message is multipart. Changes : Sympa notifies listmaster and dies when database is unreachable. Reverse order in REVIEW by date WWSympa RELEASE NOTES integrated into main release notes Control on email addresses (when subscribing) is more strict. New directory lists_templates both under ~sympa/bin/etc and ~sympa/etc/ to store list profile used by WWSympa create list. Sympa no more reports signatures (quit command found). Replying to sender when no command was found. No more warning when using an old NLS catalogue file Sympa.conf parameter queuemod, queueexpire, queueoutgoing, queueauth and queuedigest are optionel. Sympa create all its spool at run time. [Raphael Hertzog <rhertzog AT hrnet.fr>] Reintroducing alternatives to mailto: for REJECT, DISTRIBUTE, CONFIRM. Changed us.msg and fr.msg only. Bug Fixes No host in X-loop for lists with "host" config param [reported by Philippe Bricout <pbricout AT setra.fr>] chmod user.group not valid on Solaris system Replaced by chown + chgrp Deleting last bounce when doing a resetbounce [reported by David E. Bernholdt <bernhold AT npac.syr.edu>] Sympa processes the message body if no command processing succeeded in the Subject: [reported by Jacques PYRAT <webmaster AT tregouet.org>] Preserve Subject header field encoding for messages. [reported by Hugo Frappier <hugo_f AT hotmail.com>] Use log_socket_type parameter within WWSympa. Bug detected in Mail::Header caused Sympa to "sleep". You should update to Mail::Header 1.18, when it is available Delete file when saving an empty file. The parser failed when processing interleaved loops Add smtp::reaper to wwsympa main loop No more "Sympa not setup to use DBI" logged by archived.pl [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] When archived.pl saved mail in arctxt it would not close the file descriptor. If the archived process was killed, the last mail is never written. Setting gecos from editsubscriber now works. [reported by X-Term <xterm AT beta.cosapidata.com.pe>] Corrected bug in archived.pl : "No db_name defined in configuration file" [reported by X-Term <xterm AT beta.cosapidata.com.pe>] Setting reception would delete the user's gecos [X-Term <xterm AT beta.cosapidata.com.pe>] Corrected admin.es.tpl [email] may be used in del scenari In order to respect the maxsmtp sympa parameter, WWSympa moderation process do not distribute messages itself. It just put a valid distribute command in Sympa's spool. No more "No directory for list sympa" when parsing a command. Reload total of subscribers from database when stats file has changed. Total of subscribers used to be incorrect due to Sympa and WWSympa working on the same data. [reported by Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Added missing scenario invite.closed [reported by Albert Bruc <abruc AT electron-libre.com>] Add a subject "No subject" in modindex page to access messages MD5 confirmation keys are based on time only. To ensure keys for different messages are different, sympa sleeps 1 second before generating the MD5 key. [reported by X-Term <xterm AT beta.cosapidata.com.pe>] Corrupted helpfile.tpl 2.6.1 05 April 2000 Bug Fixes : Incorrect inclusion of archives in arc.us.tpl 2.6 03 April 2000 New features : First implementation of remove_arc Multiple add [list->owner] is made available in list templates Example : [FOREACH ow IN list->owner] [ow->gecos] <mailto:[ow->email]> [END] Loop control : 3 new parameters define the site policy regarding loop control on command reports : loop_command_max, loop_command_sampling_delay and loop_command_decrease_factor Changes : Allow "+" in listnames Bug fixes : Correction in the Makefile, ie trying to install files before creating DEST directory. Command reports were not sent when using <listname>-<command> addresses Unset locale LC_ALL while defining cookie expiration date so the client understands it Possible loop with reset_bounce action Rename a message to BAD-xx when it is rejected. Added X-Loop: header field to command reports List::is_digest() fixed (bug from 2.5.4b) [Richard Balint <balint AT balintrc.oca.udayton.edu>] queue.c patched to match exact keyword "queue" in sympa.conf Applied to bouncequeue.c as well Restore case-sensitive search of NAME and INDEX in parser.pl 2.5.4b 23 March 2000 New Features : Setlang for POSIX::strftime() use Gecos (user name) may be given at subscription time. Contextual help. Owners can choose review/reviewbounce page size from admin page. Added 'Reset errors' in bounce review page. [Hubert Ulliac <Hubert.Ulliac AT Uhb.Fr>] Search feature in web archives. This is based on MarcSearch, a search engine dedicated to MhOnArc, written by Eric D. Friedman <edf2 AT pacbell.net>. [Josep Román <josep.roman AT zuerich-see.ch>] Translations of templates to spanish (changes in wws-lib.pl and wwsympa.fcgi also) Changes : New subscribers are not obliged to set their password. Added "sigrequest" action and "unsubscribe" to info page. "mhonarc-ressources" renamed "mhonarc-ressources.default". "log_socket_type" parameter's default becomes "unix". On Linux systems, syslogd requires an additional -r option to log via UDP. [Alberto Pasquale <techlist AT pianeta.it>] Improvements in it.msg Translation of templates to italian Bug fixes : [reported by Christophe Harbine <Christophe.Harbine AT univ-savoie.fr>] Review page size was not respected when datasource was an inclusion. (the same problem appeared when using flat users file or Oracle/Sybase database) No more "Sympa not setup to use DBI" logged by bounced.pl Set NLS language in wwsympa. [Hervé MAZA <herve.maza AT education.gouv.fr>] Save files (as listmaster) in etc/templates/ instead of expl/ (in do_savefile()). Lowercase listname Archived.pl did not use default mhonarc ressource file. [Hervé Maza <herve.maza AT education.gouv.fr>] bounced died when using unique return_path. Fixed. [reported by Stephane Igounet <Stephane.Igounet AT univ-avignon.frd>] Sympa would die when receiving a WHICH if DBI is not installed. Corrected [reported by Alberto Pasquale <techlist AT pianeta.it>] user->lang variable was not accessible in global templates when not using a database. $lang variable becomes $Language::sympa_lang [Laurent LAVAUD <laurent.lavaud AT u-bordeaux2.fr>] Changed the connect string for PostgreSQL [Hervé Maza <herve.maza AT education.gouv.fr>] Corrections in List::is_moderated() Number of subscribers updated in stats file Fixed INVITE scenario usage for INVITE command Fixed NLS usage for send auth context (fixe done in fr.msg and us.msg, need to be propagated in other NLS) 2.5.3b 9 March 2000 New features : ***** New "cookie" parameter in sympa.conf ***** We HIGHLY RECOMMEND set this parameter to have ***** different MD5 authentication keys from one site to another [Josep Román <josep.roman AT zuerich-see.ch>] Translation to spanish of : + Sympa templates + scenari descriptions + WWSympa templates Update of es.msg [Thierry Charles <tcharles AT electron-libre.com>] [Albert Bruc <abruc AT electron-libre.com>] Sympa now recognises Sybase databases. You need to install the Sybase openclient first, (http://www.sybase.com/products/databaseservers/linux/linux1192_reg.html) and then dbd-Sybase. (http://www.cpan.org/authors/id/TIMB/DBI/) Changes : ***** Abandon of inline scenarii (defined in list config file) ***** Sympa now expects a scenario name in list config files. ***** This is required to go further in list creation/edition in WWSympa ***** Sympa's license is now GPL ONLY (users of previous versions ***** may choose between GPL and Artistic licenses). This is needed ***** to allow inclusion of other GPL librairies within Sympa ***** distribution (including WWSympa). [Carsten Clasohm <cc AT clasohm.com>] Update of de.msg Bug Fixes : Default value for "reply_to" parameter is "sender" [Raphael Hertzog <rhertzog AT hrnet.fr>] Reintroduce $(DESTDIR) in Makefile and subst.pl This simplifies the task of creating packages. Sympa deletes a digest for unknown lists List's hostname available in lists.pl, [l->host] [reported by Mathieu ARNOLD <arn_mat AT club-internet.fr>] List's "host" parameter uncompletely used ; when forwarding requests to owners for instance. [Hervé MAZA <herve.maza AT education.gouv.fr>] Corrected $list->info() Corrected REMIND when authentifying Corrected loop in global_remind.tpl 2.5.2 18 Feb 2000 Bux fixes : $List::use_db initialized loginbanner translated to french "subscribe.open" scenario was corrupted ; it was including an unknown scenario Changes : WWSympa requires a RDBMS 2.5.1 18 Feb 2000 Bux fixes : Sympa died when sending a message in an empty list with error msg : Illegal division by zero at /var/sympa/bin/List.pm line 751 "bouncequeue" program accesses sympa.conf to locate "queuebounce" directory. There is no more default value for "queuebounce" (and "queue") in Conf.pm. Sympa died while parsing a template, it could not connect to an unknown database type : Can't connect(DBI::dbname=sympa;host= ), no database driver specified and DBI_DSN env var not set at /home/sympa/bin/List.pm line 216 [Patrick BROSSIER <Patrick.Brossier AT mgm.fr>] Make of cn-gb and cn-big5 catalogs failed because of \" ending lines. New features : scenari can contain include directive. If a scenario contain the line include foo the scenario will load the file include.foo according to the location preference. This is introduce in order to share various rules by deffernt scenario in order to made liter administration. Can be use for example to manage a blacklist. Changes : Sympa will not die if NLS catalogue version is different from Sympa version. 2.5 16 Feb 2000 For more information on how to update to this version : http://listes.cru.fr/sympa/howtoupdate.html New features : error.<lang>.tpl Moderation can be performed from viewmod page "Rebuild archives" function restricted to listmaster New resetbounce action CHeck Sympa version number Service files edition is controlled by etc/edit_list.conf New action viewfile Initial login way be performed via an URL, a new password is requested. Admin interface now includes bounce management [Tung Siu Fai <sftung AT hongkong.com>] Chinese localisation (8 bits) are now available : cn-big5 -> BIG5 chinese (hong kong, taiwan) cn-gb -> GB chinese (mainland china) [Marco Ferrante <ferrante AT unige.it>] New italian NLS (nls/it.msg) [Fabien Marquois <fmarquoi AT univ-lr.fr>] You may use Sympa with Oracle databases. Major differences between Oracle and MySQL : - connection string uses a sid instead of a dbname - $dbh->tables() function doesn't work, a SELECT is performed instead - no oracle equivalent for UNIX_TIMESTAMP(), a tricky formula is used instead - no "AS" in SELECT - there are case problems with table names - "date" is a keyword ; it needs to be quoted New parameter "wwsympa_url" in sympa.conf. Default is http://<host>/wws make installs a default edit_list.conf in ~sympa/bin/ New list parameters "bounce", defining above what bounce rate owners should be alerted, above what rate postings should be halted in the list. The halting feature is not yet implemented. Defaults for these parameters are defined by global parameters "bounce_warn_rate" and "bounce_halt_rate" New user command "INVITE <listname> <email> <gecos>" used to send a message (see invite.tpl) to ask someone to subscribe to a list (the guest user just need to reply the mail to subscribe). New user command "LAST <listname>" can be used to received the last message distributed in list <listname> New "etc" parameter in sympa.conf, defining a configuration directory. This etc contain local files that are never updated by "make install", in particular etc/scenari and etc/templates are local where bin/scenari and bin/templates contains defaults. ###### You must now remove the old scenari sympa.conf parameter (replaced by ###### etc/scenari) Total of subscribers logged while performing a SUB, SIG, ADD or DEL REMIND * is a new command, each subscriber received a personal summari of it list subscription. It use ~sympa/etc/global_remind.tpl In sympa.conf you can define multiple listmasters introducing a comma separated list of email in the sympa.conf listmaster parameter. new list option : hidden sender for anonymous list Setting the list parameter "anonymous_sender" to some email, the From: field of any message to distribute is replaced by the parameter value. Various smtp field are removed. new list option : welcome and/or remind message Return-path can use can be unique in order to remove automatically subscribers if there welcome or remind message bounce. 3 new functions in List.pm : get_first_bouncing_use(), get_next_bouncing_use() and get_total_bouncing() Changes : Documentation is now included in Sympa documentation "Archives" link in info.tpl is now a button to stop harvester Bounced now remove user when welcome or remind message which are sent using a unique return-path are bounced. need "sendmail plussed aliases" and welcome_return_path or remind_return_path list parameter set to the value "unique". Host added to listnames when doing a LISTS Store bounces info (<first_bounce> <last_bounce> <number_of_bounces>) in database (bounce_user in user_table) ****** You need to change your mysql/pgsql database structure: ****** ALTER TABLE subscriber_table ADD bounce_subscriber varchar (30); ****** ALTER TABLE subscriber_table ADD update_subscriber datetime; ****** ALTER TABLE user_table CHANGE lang_user lang_user varchar (10); Default value for "user_data_source" list parameter is "database" when defining db_xxx parameters in sympa.conf. ***** All Sympa parameters defining filenames are NOT recognised ***** anymore. This includes "subscribers", "config", "info", ***** "stats", "welcome", "archives", "bye", "removed", "help", ***** "help_advanced", "lists_header", "lists_footer", ***** "message_header", "message_footer" ***** If you changed the default values of these parameters ***** in sympa.conf (example: subscribers abonnes), except ***** "reminder" that becomes "remind" ***** YOU MUST rename the files the standard way, ie as defined ***** in documentation. User lang is initialized at subscription time. [Josep Román <josep.roman AT zuerich-see.ch>] Corrections in es.msg Makefile doesn't use "install" anymore. No more unwanted command reports. @sth_stack in List.pm allows to perform a new query while reviewing one. **TO PACKAGERS** --BIN-- in sample/sympa.conf has been corrected to --DIR-- New chapter about WWSympa in documentation Sympa supports templates for global service messages ("helpfile", "lists") as well as list service messages ("welcome", "bye", "removed", "reminder","invite"). These files have a ".tpl" extension. Global ones are located in ~sympa/etc/templates/, list specific in ~sympa/expl/<list>/ directory. Compatibility with old-style files (in ~sympa/expl/) is maintained. Templates begining with a From: line are considered as full messages, no header is added (except To:). INFO now includes content of list's "info" file. REVIEW only shows subscribers' list, not configuration informations. List::get_subscriber now returns bounce info. Bounces info are now stored in sympa database Bug fixes : Empty files are deleted (save_file) Exotic chars (0x25, 0x22, 0x20, 0x2f), in email addresses are escaped. [reported by Lalot Dominique <lalot AT univ-aix.fr>] Review was limited to authentified users, though review was public. Subscribers don't access date & reception info in REVIEW [reported by Hubert Ulliac <Hubert.Ulliac AT Uhb.Fr>] Subscription dates now Y2K compliant in REVIEW Archives are now working in english Set correct access to directories created at make time Corrected date in bounces historique Lists in "subscribe auth" mode were considered as closed [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Gencat failed compiling on HPUX systems. $delset have been deleted from nls/*.msg [reported by Vincent Jardin <jardin AT enst.fr>] When parsing an empty header field, it cleans it up and deletes the carriage return (\n) at the end of the field. When printing the Mail::Internet header, this \n is missing. A patch (patch.mailheader) has been proposed by the author of Mail::Internet [reported Richard Balint <richard.balint AT notes.udayton.edu>] Sympa died when openning an unknown scenario. Fixed by adding a default in the code which always return "reject" [reported by Emmanuel POIRET <E.poiret AT edf.fr>] Whitespaces are not cleaned at the end of a command (reported for DEL) Corrected error message in log file when doing info : "internal error, no sender find in List::verify, report authors" Actions and menu templates now have defaults (templates/<action>.default.tpl). List parameter "lang" was overidden by robot lang. [Hubert Ulliac <Hubert.Ulliac AT Uhb.Fr>] Using postfix, all subscribers received a digest if no subscriber choose the digest option. Fixed. [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Whitespaces are now cleaned at the end of commands. 2.4 13 Dec 1999 New features : WWSympa now includes a Makefile. wws_path var from wwsympa.conf is now obsolet Translation of titles and filenames to english Add now accepts gecos Default values for config parameters. Some templates have been translated. Lang user pref is now used. Usage of language information sent by the client (HTTP_ACCEPT_LANGUAGE) to initialize lang_user field in database. Privileges of the user (user/editor/owner/listmaster)have been added to the menu. Scenari for send parameter are available ! Check send.* in the scenari directory. The send scenari is paticular because you can check headers in rules : exemple. match ([header->Content-Type],/multipart/) smtp -> editorkey (semantic is multipart messages must be approved by editor) The list parameter "visibility" is performed by scenari. The goal is to provide defferent lists of lists depending of the context (mainly depending on the sender). The following exemple show how to use visibility scenario in order to provide intranet lists visibility match ([sender],/cru\.fr/) smtp -> do_it New "profile" parameter in owner paragraph. New spool for storing bounces, defined by "queuebounce" parameter. New bouncequeue binary Changes : Multiple DEL from REVIEW page. WWSympa looks for a site template (eg: ~sympa/expl/welcome.tpl) when editing a service message. Template can include the "info" file of the list ([PARSE info_file]). If a such a template exists, owners can't edit message, only listmaster can. Regexp in "search" are made simple : only "*" wild character is supported. main.tpl has been split, each action has .tpl file this should make internationalization easier Subroutines' parameters are now logged User email and list added to the log Search matches sub-strings <PRE> added to info if not HTML Notification of sender when message is forwarded to editor Contacting owners if no editor is defined From field (SYsteme de MultiPostage Automatique) is in NLS Documentation has been updated and slightly reorganized. Moderation key has been added to the log at allocation, distribution or rejection. Default value for send is set to 'private' Now scenario optionaly include title.<lang> <string> in order to print the scenario title in wwsympa (edit_list_request and info) This is compatible with old scenari style Bug Fixes : Editfile & Savefile were not working in 0.3.2 because of changes in parser [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Lists in "subscribe auth" were seen as closed (pb in unsubscriber.* scenarii) Corrected "unknown auth method" is ADD action. PARSEs are now relative to templates dir (no more absolute path) [reported by <miguel AT presence1.observatoiredesmarques.fr>] Problems with scenarii auth_xxx [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Notification of owners when deleting or adding users. WWSympa now bypass the parser when asked for a non-html document from the archives Reject subrequests for users already subscribed or with incorrect email address Default prefs/lang is no more deutch, but sympa's or list's language Incorrect [sympa->email] and [sympa->host] in templates. Corrected icones/ to icons/ in mhomarc ressource files [reported by Patrick Brossier <Patrick.Brossier AT mgm.fr>] HASH(0x....) in wws/info [reported by Philippe Allart <pallart AT nordnet.fr>] Incorrect reference to config file (--CONF-- instead of --CONFIG--) in archived.pl and bounced.pl Corrected "lists" results when not authentified incorrect content-type in confirmation requests [reported by Emmanuel POIRET <E.poiret AT edf.fr>] "Add" was forced to "closed" when "subscribe" was "closed" dynamic LISTS commands are logged [reported Jean-Pierre Doucet <jpd AT univ-lyon1.fr>] For each command, Sympa says "No directory for list sympa" It tries to create a "sympa"list object. This bug had no consequences on Sympa behaviour. Remind command did not work with lists in database mode. [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] bug in Command.pm, when parsing an auth command, so all auth message returns "No command found in message". [Jean-Christophe Basaille <Jean-Christophe.Basaille AT u-bourgogne.fr>] oldadd entry has been deleted in %comms Log message size whith DISTRIBUTE. 2.3.4 28 Oct 1999 New features : Edition of info file [requested by Craig Carey <research AT ijs.co.nz>] Sympa simulates Smartlist behaviour with command addressed to <list>-request in subject. Commands recognised are "subscribe" and "unsubscribe" new request_list, create_list and info parameters email address are now allowed in "reply_to" list parameter. Changes : list returned by REVIEW is now sorted Listmaster is owner of every list List::get_subscriber() returns «lang» and «gecos» from user_table. New robot configuration parameter "helpfile_advanced" possibility to use [host] in pcregexp use for scenario New scenari subscribe.intranet subscribe.intranetorowner and subscribe.open_quiet Bug Fixes : Corrected "already login" ; do_login() & do_logout() were called twice. Sauver le fichier %s Corrected subscribe & signoff (get-notify_state() is upsolet) First alpha version of WWSympa Subject of messages are now Q- and B- decoded (to avoid multiple custom-subject). Sympa died while trying to process a T.xxx file (temporary file created by queue prog) in the queue Reply-to: header was corrupted when reply_to parameter was not set. owner and editor definition now eliminate space at the the end of line Sympa now uses $dbh->ping() (instead of $dbh->{Active}) to check database connectivity. Sympa would loop on an incoming message for an unknown list "use strict" in sympa.pl => DoFile now take listname as argument 2.3.3 29 Sept 1999 New features : New "max_size" parameter in sympa.conf, maximum size allowed for messages. New "lang" parameter in sympa.conf for default language. [Jens-Uwe Gaspar <gaspar AT tellux.de>] German helpfile Changes : Command-line option "-l" (language catalog) used to accept a filename as an argument ; it now take a language. Eg : %sympa.pl -l fr Priorities for -owner and -request are no more list priority. Two new global parameters define these priorities : «owner_priority» and «request_priority». Command & messages priority added to the log. New subroutine &List::is_listmaster() [Olivier.Lacroix AT ciril.fr] In scenario add, action "do_it,notify" is now possible (usefull for list with multiple owners and subscribe controled by owners) Bug Fixes : [Olivier LACROIX <Olivier.Lacroix AT ciril.fr>] Now accepting is_editor in scenari (corrected in &List::verify()). Sympa uses parameter "default_list_priority". [Olivier.Lacroix AT ciril.fr] Small adjustement in output of signoff command 2.3.2 21 Sept 1999 Changes : Changes in documentation : DB 2.x is now supported by DB_File.pm load_subscribers.pl lowercases addresses before insertion in database. This is needed by PostgreSQL, which is case sensitive. Bug Fixes : [reported by "Frederic ALLIOD" <falliod AT jetmultimedia.fr>] This occures when sending a message to an email address beginning with a "-". When invoking sendmail, this is considered by sendmail like an argument which he doesn't understand. Sendmail call fails and Sympa dies. Digest infos returned by Sympa are HASH(0x5f5a38) 2.3.1 16 Sept 1999 Bug Fixes : <listname>-subscribe and <listname>-unsubscribe messages are not processed by Sympa 2.3.0 16 Sept 1999 New features : ["Carsten Clasohm" <cc AT clasohm.com>] New german dictionnary (de.msg) Changes : [requested by <Michel.Beheregaray AT univ-pau.fr>] Sympa now only includes the first email address from LDAP entries. Priorities are now defined in list configuration files (instead of aliases) by «priority» parameter. New (optional) parameters in sympa.conf : «sympa_priority» and «default_list_priority». Changes in aliases : no more priority param is needed (though old style remains compatible) [proposed by Carsten Clasohm] Use lowercase email addresses in List.pm in ordrer for comptability with case-sensitive DBMS such as PostgreSQL. Clean the "To:" header for mail sent to editors and owners. Digest : the "Reply-to:" is set to the list if requested by the replyto list parameter Bug Fixes : Sympa used to systematically send a digest on Sunday (for list in digest mode only). Correction of "match()" condition in scenari. 2.3Beta 9 September 1999 New features : Optional "info" parameter in owner/editor paragraphs, allowing to store private information (such as tel number) about these people. In order to use MhOnac to make html archive, Sympa copy all messages distributed in a list which config file containt a "web_archive" paragraph in the "queueoutgoing" parameter. [proposed by Manuel Valente <mvalente AT france-cybermedia.fr>] Requested by users not afraid to corrupt original MIME content-type and encoding! "footer_type" parameter in list config. May be "mime"(default) or "append". [asked by Manuel Valente <mvalente AT france-cybermedia.fr>] "message.header"[.mime] appended at the beginning of messages. Commands del, add, sig, rev, info are now controled by scenari ***** New syntax for condition in scenario rules. ***** This will affect your scenari if you write your own scenari ***** in previous versions. If so, check scenari from src/scenari dir. Changes : [reported by Carsten Clasohm <clasohm AT rivalnet.com>] Table names "user" and "subscriber" respectively become "user_table" and "subscriber_table". This is needed because of a conflict with "USER" keyword in PostgreSQL v 6.4 (Define USER as synonym for CURRENT_USER per SQL92 specs). ****** You need to change your database structure: ****** with MySQL : ****** ALTER TABLE user RENAME user_table; ****** ALTER TABLE subscriber RENAME subscriber_table; ****** ****** with PostgreSQL : ****** ALTER TABLE user RENAME TO user_table; ****** ALTER TABLE subscriber RENAME TO subscriber_table; [Dominique ROUSSEAU <rousseau AT neuronnexion.fr>] List.pm is patched so PostgreSQL can be used to store internal subscriber data. Added distribute_msg() and get_mod_spool_size() Added message size to the log Charset and Transfer-Encoding are now fully defined in language catalogues. Review command do not return the adminsitrative list info when user isn't allowed to review a list. Info return the adminsitrative info about a list, not the welcome message. List::probe_db() does checking of database Sympa warns if it finds unexpected parameters in list config. Bug Fixes : [reported by Michel BEHEREGARAY <Michel.Beheregaray AT univ-pau.fr>] "include_ldap_query" are now correctly parsed by Sympa. There used to be a problem because of "host" parameter. set the process umask as defined in sympa.conf listname provided to MODINDEX cmd has been made insensitive [reported by Patrick Brossier <Patrick.Brossier AT mgm.fr>] subscribers total corrected when using a database Sympa did not keep messages detected as BAD-xxx (no from found, loop problems, ...) Sympa now loads editors and owners GECOS Lists using includes now set correctly the scenario subscribe.closed Sympa perfoms correctly list configuration comments in paragraph mode. Warning when an unknown list parameter is found. [reported by Dominique ROUSSEAU <rousseau AT neuronnexion.fr>] No footer attachement if msg is multipart/alternative [Raphael Hertzog <rhertzog AT hrnet.fr>] Corrections to src/Makefile (scenari installation) and doc/sympa.tex ("a4" extension no more used). "subscribe xxx,yyy" was not recognised 2.2.7 22 June 1999 Bug Fixes : Fatal bug in HELP and WHICH commands for sites not using DBMs. (Can't connect(DBI::dbname=sympa;host= ), no database driver specified) Default scenari directory in Conf.pm Reload $* and $/ after each dofile. It seem's to fix the bug specific to solaris ("No from found ..." for all messages after a WHICH) !!! 2.2.6 17 June 1999 Changes : new archive parameters per list : archive period [day|week|month|quater|year] access [public|private|owner|closed] New owner command : REMIND [listname] each subscriber receive a personal reminder. The reminder message is constructed using ~expl/[listname]/remider.mime or ~expl/[listname]/remider or ~expl/remider.mime or ... Messages welcome, removed, bye, reminder are parsed at runtime for variables instanciation. The following keystring are parsed : [listname] [subscriber_email] [sympa_email] [sympa_host] Now you can use a single welcome message for all list : "welcome to [listname], your email is [subscriber_email] ..." The helpfile is now splitted into two files : helfile and helpfile.advanced, only list owner and list editor will receive bothg the helfile and the helfile.advanced section. [sympa_email] is replaced by it value at runtime. ****** So you need to update your helpfile and create ****** helpfile.advanced, look in sample dir "user_data_source include" allow multiple include sections new include type : include_list [listname] include_file [path to a file] parameter "unsubscription owner" is recognized New fields added to the database : lang_user cookie_delay_user ****** You need to change your mysql database structure: ****** ALTER TABLE user ADD cookie_delay_user int, ****** ADD lang_user char (5); Better management of error codes (undef|1) thoughout do_commands procedures. Message body is ignored if a command is found in the subject Bug Fixes : [Laurent Ghys <Laurent.Ghys AT ircam.fr>] Better checking of modules in check_perl_modules.pl [Francois Petillon <fanch AT netra.uic.asso.fr>] Better checking pseudo MIME messages (rfc 1049) when parsing commands. include_file fixed Ignore «Re:» in front of commands in subjects Process commands in subjects longer than 79 characters (Mail::Header) Decoding of "_" in Q-coded subjects From: header fields of reports from sympa respect «host» config ; files sent (welcome, bye,...) are from <listname>-request. 2.2.5 18 may 1999 "subscription" list parameter is now "subscribe" for simplification ("subscription" and "unsubscription" are still accepted). Lists subject returned by LISTS was truncated to 4 lines. It is now extended to 8 lines. List params "reply-to" and "custom-header" are changed to "reply_to" and "cutom_header" ; previous syntax will still be recognized. Creation of new susbscribers file is logged. Safefork now waits longer before giving up. [Laurent Ghys <Laurent.Ghys AT ircam.fr>] Call to check_perl_modules.pl added to the Makefile New features : New is_user_db and add_user_db in List.pm Loop prevention based on "Content-Identifier: Auto-replied" non standard header. This header is used by crasy X400 mailer. Bug Fixes : Correction of List::get_state ("open" instead of "public") Cleaning up in Locale messages loading code (no more "Locale file not used, using builtin messages) Content-disposition of messages within digests have been changed to "inline" ; there were problems with Eudora and MSMail. Subject of messages sent to sympa (ie commands) are QuotedPrintable and Base64 decoded before processing ; new &tools::decode_string function. Updates using ADD turned subscription mode to digest. Corrected. [Guy Brand <guybrand AT chimie.u-strasbg.fr>] Many syntax corrections in NLS catalogues. 2.2.4 29 april 1999 Changes : new optional parameters in sympa.conf for the file name of subscribers file ,welcome message, stats, archives directory, list config file. default for subscribers is 'subscribers' for welcome is 'welcome' ***** These 2 default values are not compatible with previous ***** versions. In this case you must rename all 'bienvenue' files ***** in 'welcome' and all 'abonnes' files in ***** 'subscribers' ; otherwise add 2 lines in sympa.conf : subscribers abonnes welcome bienvenue ***** Defaults for spools path have been changed in Conf.pm: ***** queue/ => spool/msg/ ***** queueauth/ => spool/auth/ queuedigest => spool/digest/ queuemoderation => spool/mod/ queueexpire => spool/expire/ New features : [Alex Nappa <alex.nappa AT imag.fr>] New Spanish dictionnary (es.msg). Bug Fixes : Corrections in List::get_lists() msg-xxx files created by MIME::Parser are now cleaned 2.2.3b 20 april 1999 Changes : New parameter "suffix" in include_ldap_query paragraph (list config) Digest are now in "multipart/digest" format, conforming to RFC 2046 (you need to install "MIME-tools" CPAN module) Trailer is now added to Digest messages Independant "_add_trailer" subroutine You need to update to Mail/Tools v 1.13 2.2.2b 13 april 1999 New features : [Jean Brange <jean AT kubos.org>] Per list "custom_subject" parameter. The value of this parameter is a string which is added to the subject. [Jean Brange <jean AT kubos.org>] message.footer file : If this file exists in the list directory, it is added to message This feature require MIME::Parser part of "MIME-tools" CPAN module Added sub update_user_db to update information in user table (password, gecos). Bug fixes : Correction of working version 2.2.1b : Help command needed DBI to be installed. us.msg corrected line 64 (reported by Luc VEILLON) Changes : Use "require" insteed of "use" when possible to make installation easier. Documentation is now in Tex format (SGML has been abandonned), currently in update process. French version is not maintained anymore. 2.2.1b 8 march 99 New features : (note yet documented) External data source can be CSV (Comma Separarted Values) files. Files are accessed using DBI and DBD::CSV. List config looks like : user_data_source include include_sql_query db_type CSV f_dir /home/sympa/import/ sql_query SELECT email FROM students WHERE domain='physics' Changes : In order to make new langage nls file easier to produce, internationalization of log messages has been deleted. NLS catalog's consistency can been checked (using nls/check.pl). Update sample/helpfile.(fr|en) 2.2b 31 March 99 New features : Subscriber list can be stored in a Database (Mysql). The Database parameters (db_type, db_name, db_host, db_user and db_passwd) have been added to sympa.conf. Sympa is able to dynamically load the subscriber list from an external datasource (DBM or LDAP). This can be specified in the list config. file whithin a include_sql_query or include_ldap_query paragraph. (not yet documented but easy to confugure using config samples). List parameter user_data_source specifies what kind of datasource the list use for the user database. Possible values are file, database or include. User command unsubscribe now accept optionaly a email as second parameter. Sample : "unsubscribe * foo@cru.fr" if email is different from sender ask md5 authentification. Definition of privateoreditorkey as a value the paramer send. New entry listmaster in sympa.conf to allow a site administrator to manage lists. Changes : Sympa may now be distributed under the GPL (GNU General Public Licence Version 2) WHICH command's result doesn't contain lists configuration info anymore. It now returns ownership and "editorship" information. Total of subscribers has been added to stats file. Bug fixes : Content-transfer-encoding fixed for key moderation messages (reported by Andre Lagadec). Retun-path: and reply-to: SMTP fields corrected in digest messages (reported by Raymond Bourges). Fix the MD5 check sum case sensitive bug Auth is made more simple by just replying to the request (Command present in the Subject:). 1.5 1 march 99 New features : Support alias for <listname>-subscribe and <listname>-unsubscribe toto-unsubscribe: "| ~sympa/expl/mqueue 1 toto-unsubscribe" new subscriber : send sympa/expl/[listname]/bienvenue.mime else send sympa/expl/[listname]/bienvenue else send sympa/expl/bienvenue.mime else send sympa/expl/bienvenue else send a default welcome message according to nls unsubscribtion : send sympa/expl/[listname]/bye.mime else send sympa/expl/[listname]/bye else send sympa/expl/bye.mime else send sympa/expl/bye else send a default unsubscribtion message according to nls In those files (template) the string "[listname]" is replaced by the list name. Bug Fix : Check Content-Type and Content-Transfert-Encoding for commands Differences between French and English NLS catalogs have been corrected. [ Olivier LACROIX <Olivier.Lacroix AT ciril.fr> ] Correction of default_user_options parsing (pb with visibility). Conf::Default_Conf is now correctly used. $DIR defined in Makefile is used for the defaults. (private|public|editor)key : fixed 1.4.2-1 19 February 1999 Bug Fix : Sympa now recognises any command sent in the Subject of a message. [ Fabrice Gaillard <gaillard AT ina.fr> ] Changes to NLS catalogs to fix problems under NetBSD1.3.2. Sympa was sending -request messages to other lists' owners. This bug is now fixed. [ Laurent Ghys <Laurent.Ghys AT ircam.fr> ] Mailto URLs sent to subscribers now contain %20 instead of spaces. Changes : [ Raphael Hertzog <rhertzog AT hrnet.fr> ] Most global parameters now have default values in Conf.pm Deletion of purge and reconfirm commands. 1.4.2 5 Febrary 99 New features : The result of LISTS command can now be automatically generated. It uses 2 extra parameters / list : + visibility [ conceal | noconceal ] + subject You can although define a header (lists.header) and footer (lists.footer). Location of these files are defined in sympa.conf. [ Olivier LACROIX <Olivier.Lacroix AT ciril.fr> ] default_user_options per/list parameter to define a profile for subscribers (reception & visibility). [ Laurent Ghys <Laurent.Ghys AT ircam.fr> ] Sympa now checks if NLS version have been updated (if not => exit). Corrections : [ Laurent Ghys <Laurent.Ghys AT ircam.fr> ] Documention refers to Perl 5.004_03 as a prerequisite [ Laurent Ghys <Laurent.Ghys AT ircam.fr> ] Sort NLS messages (260 & 261) within delset 6. Replacement of some spaces with tabs in NLS between msg number and msg (Pb under HPUX reported by Olivier LACROIX <Olivier.Lacroix AT ciril.fr>). 1.4.1 Changes : Now accept message without @ in sender address Bug corrections : Your e-mail address has been removed from list %s. 1.4.0 Janary 1999 Changes : Previous parameter 'tri' in sympa.conf is now renamed to 'sort' Compatibility with previous 'tri' is assured. The doc/ makefile use LANG variable to prepare french or english documentation. Use make LANG=fr or make LANG=gb or edit makefile to chose your langage. The nls/ directory include us.msg and fr.msg (us.msg was proposed by Stephane Alnet). New feature : -for each list config file, you can chose to notify owner for each subscription and/or unsubscribtion using parameters : subscribtion [open|auth],notify unsubscribe [open|auth],notify - Allow option "reception nomail" in owner and editor definition. usefull to define multiple address of one privilegied person. - Add sympa version number at the end of command «HELP» result. - Allow file bienvenue.mime insteed of bienvenue. In this case bienvenue.mime is sent as is so you can use complexe mime structure in the welcome message. - use URL mailto: in auth subscrition request (subscrition auth) - Sympa use his config to forward mails to owners and editor so you can use the following aliases in your sendmail (no nedd to update alias when changing owner addresse) : toto-request: "| ~sympa/expl/mqueue 1 toto-request" toto-editor: "| ~sympa/expl/mqueue 1 toto-editor" - Star convention to specify all lists in user's commands -SIGnoff * -SET * <mail|nomail|digest|conceal|noconceal> - priority z and Z are null priority, message stay in queue forever. Usefull to hangup a list. Bug correction : -when unsubscribe is auth don't ask authentification if the sender is not subscriber at all. 1.3.4-1 29 décembre 1998 Correction dans la numérotation des messages de fr.msg. 1.3.4 22 décembre 1998 Les "digest" sont au format MIME, il faut maintenant installer le module CPAN MIME-Base64 en plus des autres modules déjà. Quelques petits défauts de corrigés. 1.3.3 10 décembre 1998 Nouvelle option log_socket_type dans sympa.conf pour choisir la journalisation via UDP ou un socket Unix. La limite "anti-commandes" passe de 20 lignes à 15 lignes dans le corps du message (c'était vraiment pénible). On peut maintenant utiliser DESTDIR. Exemple : make install DESTDIR=/mnt Le nom DESTDIR est préfixé au répertoire DIR du fichier Makefile (proposition de Raphaël Hertzog). Nouvelle fonction : on peut dorénavant mettre des commandes dans le fichier sympa.conf. Exemple : host `cat /etc/hostname` (proposition de Raphaël Hertzog). 1.3.2 18 septembre 1998 Avec certaines versions de l'interpéteur Perl, "smtp.pm::reaper" ne se comportait pas correctement. IMPORTANT : changement des conditions d'utilisation, de modification et de diffusion de Sympa (grosso-modo on adopte GPL) -- ceci afin de permette création et la diffusion d'un module Debian sympa.deb. 1.3.1-2 6 juillet 1998 Correction d'une erreur dans sympa.pl rejettant les messages et commandes provenant des domaines contenant les chaines "listeserv" ou "sympa" (par exemple sympatico.ca). Correction d'un défaut mineur dans Commands.pm. 1.3.1 1 juillet 1998 Création automatique du répertoire "archives" d'une liste, si besoin est. Correction des messages associés à la commande EXPIRE. Restructuration du chapitre 7 (Commands.pm) du catalogue français. Ajout d'entête MIME dans les notifications de rejet (contribution d'Olivier.Lacroix AT ciril.fr). Journalisation des boucles Mise à jour de la détection des commandes dans les messages. 1.3.0 11 juin 1998 Contributions du CRU (Fabien Marquois) Nouveautés dans les commandes WHICH, expiration des abonnements, diffusion des messages pour les listes modérées, état des messages en attente. Nouvelles options de configuration : authentification des signatures de messages, valeurs privatekey, publickey et privateorpublickey pour le paramètre "send" ; paramètres clean_delay_queueauth et queueauth dans sympa.conf ; paramètre clean_delay_queue dans sympa.conf ; paramètre queueexpire dans sympa.conf ; paramètre clean_delay_queuemod dans sympa.conf ; paramètre sleep dans sympa.conf. Corrections : la date d'abonnement ou de dernière confirmation d'abonnement est mise à jour lorsque celui-ci envoie un mail dans la liste, uniformisation des logs de Sympa, correction de la vérification du champ x-loop des messages modérés, mise à jour de la documentation, utilisation du cookie dans la génération des clés de modération. 1.2.2 20 mai 1998 Contributions du CRU (Fabien Marquois) Corrections de défauts et nouvelles fonctions : plusieurs "custom-header", traiter les réponses préfixées par ">", présentation en MIME des messages à modérer, accents supprimés des journaux (syslog ne sait pas faire), gestion des accents dans certaines commandes, journalisation de la durée des commandes. Makefile pour générer et installer le catalogue de Sympa. 1.2.1 15 mai 1998 Contributions du CRU (Fabien Marquois) Corrections de défauts de la 1.2.0 : review, génération des clés de modération. 1.2.0 13 mai 1998 Contributions du CRU (Fabien Marquois) Refonte de la documentation : fonctions non encore documentées, fichiers de configuration, notes pour certains Unix. Nouvelles fonctions : digest, modérator avec editorkey et editorkeyonly, commentaires dans les fichiers de configuration, liste rouge (conceal, noconceal), nomail, custom-header, tri par priorité selon le domaine destination. Corrections : problème d'allocation mémoire, mot-clé msgcat pris en compte, corrections pour "confirm", fonction stats plus précise, problèmes avec les guillements dans le catalogue des messages. 0.011 2 février 1998 Légers changements dans Makefile (création du répertoire bin qui n'était pas faite au bon endroit). Les commandes add/del ne fonctionnaient pas comme prévu dans certains cas à cause d'une erreur de programmation. Ajout systématique des entêtes MIME du catalogue des messages (si elles sont définies). 0.010 27 janvier 1998 Modifications dans le fichier fr.msg -> il faut refaire le catalogue avec "gencat". Les commandes add/del permettent l'usage de l'authentifieur MD5. Pour cela il faut que le propriétaire de la liste ait "auth md5" dans le fichier de configuration. Une erreur dans Archive.pm mettait des dates fantaisistes dans la date de création d'une archive. On journalise la durée de l'envoi des messages ainsi que le nombre de sessions SMTP. Gestion des entêtes MIME (à définir à la fin de fr.msg). 0.009 10 décembre 1997 Correction d'une erreur dans les expressions régulières de gestion des commandes : cela pouvait faire échouer l'usage de l'authentifieur dans certains cas très rares. Ajout de l'entête X-Loop et traitement visant à prevenir les boucles. Erreur dans le total du nombre d'abonnés : l'ajout d'un utilisateur n'était pas comptabilisé. Reply List ne fonctionnait pas dans certains cas en raison d'une faute de programmation. 0.008 15 novembre 1997 Corrigé quelques bugs et rajout de l'option maxsmtp dans sympa.conf. 0.007 10 novembre 1997 La modération était en avance sur son temps : on revient à la (mauvaise) vieille méthode (AtArticle to modérate). Corrections mineures dans les autres modules. Le fichier fr.msg a été corrigé et étendu. 0.006 15 septembre 1997 Beaucoup de changements dans de nombreux modules, notamment un début d'écriture en objet pour certains d'entre eux. Quelques corrections de défauts. A se demander si on ne devrait pas appeler cela une béta de la version 2 de Sympa. 0.005 8 juillet 1997 version.pl -> Version.pm log.pl -> Log.pm La commande `get' fonctionne enfin. Certaines fonctions passent du module `tools' vers `list' où elles sont mieux à leur place. Bug dans list.pl lorsque le fichier des abonnés n'existe pas il faut refuser de charger la liste [signalé par Olivier Lacroix]. La substitution remplace également le chemin vers le fichier de configuration définit dans le Makefile. Cela fonctionnait déjà pour le programme queue, mais par pour sympa.pl [O. Lacroix]. 0.004 17 juin 1997 La documentation évolue un peu. La commande reconfirm envoie un message aux abonnés qui n'ont pas confirmé leur abonnement à la liste depuis le délais indiqué en paramètre. Le troisième argument est le nombre de semaines de grâce (donné à titre indicatif). Ex : reconfirm tulp-fr 2 4. La commande purge permet de virer les abonnés qui n'ont pas renouvellé leur abonnement depuis le nombre de mois indiqué en argument. Ex : purge tulp-fr 2. L'authentification est maintenant supportée pour les commandes sub et sig : il faut mettre le drapeau `auth' dans le champ subscription du fichier de configuration (et non pas md5). Le paquettage MD5 (dans CPAN) n'est plus facultatif : vous devez l'installer pour utiliser Sympa. Correction de quelques bugs dans la gestion des entêtes [A. Thivillon]. 0.003 13 juin 1997 *** ATTENTION - IMPORTANT *** Pour utiliser Sympa vous devez installer le paquettage DB de Berkeley dans une version supportée par Perl (use DB_File), et il vous faut aussi installer MailTools (dans CPAN). Correction de 2 petits bugs de programmation [Alain Thivillon]. Changement de la chaine de reconnaisance what(1) (bug signale par O. Robert). Utilisation de my a la place de local, usage de my devant $id (pour use strict) [O. Robert]. La fonction "index" a été rajoutée et fonctionne. Le tri des abonnés se fait maintenant par un arbre binaire en utilisant le module DB_File. C'est beaucoup plus rapide pour les grandes listes. Le module rfc822.pl n'est plus nécessaire, il a été supprimé de la distribution. Le programme utilise maintenant Mail::Address (disponible dans CPAN). 0.002 19 mai 1997 Ajout du nombre d'abonnés à la liste en dernière ligne de la commande Review. 0.001 1er avril 1997 Première version de tests diffusée à un large public.