***** 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) 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->],/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, /trunk/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, /trunk/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 {'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 @ 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