***** Changes which are not compatible with previous versions are ***** listed using "*****"in the margin. Please check this at least. (See Changelog file for the full changes log) 6.1.17 February 05, 2013 Features: [8451] src/etc/Makefile.am, src/etc/create_list_templates/confidential, src/etc/create_list_templates/confidential/comment.tt2, src/etc/create_list_templates/confidential/config.tt2, src/etc/scenari/send.confidential: New "confidential" list model. These lists are used for groups who don't want any publicity around their activities; All possible restrictions are applied to prevent unauthorized users to know these lists exist and to learn anything about them. Changes: [8454] web_tt2/footer.tt2, web_tt2/tt2_error.tt2: Removing references to the Sympa version in web pages to avoid pages to be searched by bad guys willing to exploit known vulnerabilities on out of date servers. Bug fixes: [8465] web_tt2/automatic_lists_management_request.tt2: [Submitted by M. Overmeer, overmeer.net] Typo in a string prevented the family from being displayed. [8463] web_tt2/error.tt2, wwsympa/wwsympa.fcgi.in: Modifiying error when visibility bypass is prevented. Switching from "list unknown" to "authorization reject" which is less confuding. [8449] src/lib/Scenario.pm, web_tt2/error.tt2, wwsympa/wwsympa.fcgi.in: For lists which should not be visible to users, some actions still displayed the list side menus, granting informations regarding the list: number of users and identity of list owners and moderators. Fixed by short-cutting some parts of the code to prevent this display when an action is attempted. If privileges for an action are not granted and the list should not be visible to the user who requested them, the user is redirected to the main home page and list is decalred as "not found". In addition, subscribe and sigrequest will not display a form to unauthenticated users if, respectively, subscribe or unsubscribe scenarios are set to "closed", i.e.: any subscription or unsubscription request would be rejected. [7965] wwsympa/archived.pl.in: [#8569][Submitted by T. Merritt, univ. Arizona] archived.pl did not systematically reaped the sendmail processes it created. Fixed by calling mail::reaper at the end of each loop. 6.1.16 November 16, 2012 Bug fixes: [7955] src/lib/PlainDigest.pm: [Reported by O. Germes and M. Thomas, univ. Rennes 1] When compiling a plain digest, attachments are subsituted by character strings indicating that there were attachments in the message. Any text part is converted to plain text and folded into 78 column text. Teh selection of parts to fold or to replace by text is based on the "Content-Type:" header of a part. In some cases (such as messages sent from opengroupware, for example) binary attachments are embedded in text/plain parts with a "content-disposition" header with value "attachment". Such parts should be substitued by replacement text but, as their Content-Type is "text/plain", Sympa tried to fold them to 78 columns. This led to a very long loop because the Text::Linefold module splits strings to be folded with special characters that your everyday PDF file contains thousands times. Fixed by testing, when dealing with a text/plain part, the value of the "content-disposition:" header. It if contains "attachment", the part is treated as a binary-content part. [7917] wwsympa/Auth.pm: [#8852][Submitted by F. Périchon, univ. Lille 2] Ldap authentication failed in wwsympa with recent version of Convert-ASN1. Starting with version 0.25, Convert-ASN1 package has a 'use strict'. Ldap attrs were passed as a string in a ldap search call in wwsympa/Auth.pm thus making LDAP authentication fail. Fixed by passing attrs as an array, even when only one attribute is retrieved. 6.1.15 October 04, 2012 Changes: [7577] wwsympa/wwsympa.fcgi.in: When an error occurs when creating a list through the web interface, the user stays on the list creation page with her previously filled list description still present. [7576] src/lib/admin.pm: Now Sympa prevents users from creating a list whose local part of email address would be the local part used by sympa for mail commands. Bug fixes: [7643] wwsympa/archived.pl.in: When a user achieved to request a message deletion from archives without having the proper rights, archived.pl crashed because a return undef was then used outside a function context. Fixed by replacing it by a "next". [7619] src/lib/List.pm: 'host' list parameter were used to determine robots. (Correction might be incomplete...) ***** [7603] src/lib/Config_XML.pm, src/lib/Family.pm, src/lib/admin.pm: ***** Encoding issues on list creation. ***** - If list template config.tt2 contains non-ASCII strings, they are ***** double-encoded. ***** - If list creation XML contains non-ASCII strings, they are ***** double-encoded. ***** Note: Now Config_XML::getHash() returns encoded values, not ***** utf8-flagged values. So '>:utf8' layer should not be used. [7573] wwsympa/Auth.pm, wwsympa/wwsympa.fcgi.in: [Reported by R. Tassoni, National Library of Australia] Requests for new password with email address containing an apostrophe, SQL queries fail. [7564] wwsympa/wwsympa.fcgi.in: [#6956] Uploading file is refused if any disallowed characters appear in its directory part. Relaxed regexps to allow any characters before / or \. [7563] wwsympa/wwsympa.fcgi.in: [#8462][Reported by S. Thomas] arcsearch_id can not find message if Message-ID contains a hyphen ("-") [7561] src/lib/List.pm: [#8456][Submitted by P Vandry] message headers and footers should not have filenames. [7560] src/lib/List.pm: [#8458][Reported by K. Clair] sympa.pl distribute dies if $msg->bodyhandle is undefined. Corrected typo in List.pm. 6.1.14 July 27, 2012 Features: [7511] src/lib/tt2.pm, wwsympa/wwsympa.fcgi.in: Now WWSympa responds with "404 Not Found" status code, instead of sending notification to listmaster, if any random pages under /sympa/help/ are requested. Added new option 'has_header' for tt2::parse_tt2() to prepend newline to page body so that TT2 parse error can be handled before all HTTP headers have been sent. Changes: [7529] po/LINGUAS, po/Makefile.in.in, po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/de.po, po/el.po, po/en.po, po/en_US.po, po/es.po, po/et.po, po/eu.po, po/fi.po, po/fr.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/la.po, po/ml.po, po/nb_NO.po, po/nl.po, po/oc.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/sympa.pot, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po-wwsympa/LINGUAS, po-wwsympa/en.po, po-wwsympa/en_US.po, src/lib/Language.pm, src/lib/confdef.pm, src/lib/mail.pm, wwsympa/wwsympa.fcgi.in: Now the English locale is the - more general - 'en' instead of 'en_US', saving people the need to install the en_Us if they don't use it. Bug fixes: [7526] web_tt2/subscriber_table.tt2, wwsympa/wwsympa.fcgi.in: [#6931][Reported by D. Pritts, Internet2] On the review page for the list without any subscribers, a message "ERROR (review) - List has no subscribers" is shown. It is not an error. [7523] src/etc/script/create_db.Oracle, src/etc/script/create_db.Pg, src/etc/script/create_db.SQLite, src/etc/script/create_db.Sybase, src/etc/script/create_db.mysql: Updating database creation scripts with correct indexes definition. [7509] src/lib/Conf.pm, src/lib/confdef.pm: User friendly automatic lists were not robot-enabled. Fixed. 6.1.13 July 20, 2012 Features: [7489] wwsympa/wwsympa.fcgi.in: By default, arcsearch (simple) searches in current month and in the previous non-empty one. [7488] src/lib/List.pm, src/lib/tools.pm, src/sympa.pl.in: Revived "Re:" munging. cf. Feature Request #1044. - Supports "Re:" and its equivalents: "AW:" (de); "?\208?\157?\208?\144:" (ru etc.); "Re:" (en, la etc.); "Rif:" (it); "SV:" (da, sv); "VS:" (fi). Additionally, command in subject with them can be recognized. - Multiple "Re:" and its equivalents in case of "Subject: AW: Re: quelque chose" will be truncated . - custom_subject will be placed at beginning of subject in case of "Subject: Another was Re: [list] Something". [7448] mail_tt2/user_notification.tt2, src/etc/Makefile.am, src/etc/scenari/automatic_list_creation.family_owner:7447), src/lib/Conf.pm, src/lib/Family.pm, src/lib/List.pm, src/lib/Scenario.pm, src/lib/Upgrade.pm, src/lib/admin.pm, src/lib/confdef.pm, src/sympa.pl.in, web_tt2/Makefile.am, web_tt2/automatic_lists.tt2:7447), web_tt2/automatic_lists_management_request.tt2:7447), web_tt2/automatic_lists_request.tt2:7447), web_tt2/family_signoff.tt2:7447), web_tt2/family_signoff_request.tt2:7447), web_tt2/family_signoff_request2.tt2:7447), web_tt2/menu.tt2, wwsympa/wwsympa.fcgi.in: [Requested and funded by the CNRS] Automatic lists can now be manipulated through the sympa web interface, in a "user friendly" form. This is merely a web layer around the general autmatic lists feature. This feature is fully documented here: https://www.sympa.org/manual/list-families#user-friendly_automatic_lists Additionnally, it is now possible to unsubscribe from all the lists of a given family in two clicks. Changes: [7490] web_tt2/help_admin.tt2, web_tt2/help_introduction.tt2, web_tt2/help_listconfig.tt2, web_tt2/serveradmin.tt2: Some fixes on help --- - web_tt2/help_listconfig.tt2: Removed non-existing visibility scenari (private and semipublic). - web_tt2/serveradmin.tt2: changed link to translation FAQ. - web_tt2/help_introduction.tt2, web_tt2/help_admin.tt2: Removed dead links to example of charters. [7367] src/lib/Upgrade.pm: Removing mandatory NOT NULL references from most of the fields in list_table table Bug fixes: [7480] src/lib/admin.pm: [#8425][Reported by Steve Shipway] List table was not populated upon command line list creation. ***** [7479] soap/sympasoap.pm: [#7733][Submitted by A. Bernstein, Electric ***** Embers] SOAP 'add' function resets subscriber's password [7478] wwsympa/wwsympa.fcgi.in: Fixed list log search date regexp to accept dashes and removed admin notice if no list logs found (which can occur if no match). 6.1.12 July 20, 2012 Cacelled due to errors in the packaging. 6.1.11 May 11, 2012 Bug fixes: [7358] wwsympa/wwsympa.fcgi.in: Fixing a potential security issue related to archives [7357] src/lib/Scenario.pm: When upgrading from 6.1.9 to 6.1.10 the db list cache was not initialized, due to a badly defined upgrade test. fixed by raising the version number tested. [7356] src/lib/Upgrade.pm: A removed question mark in the regexp evaluating scenario rules would break some scenario evaluations. 6.1.10 May 10, 2012 Features: [7341] configure.ac: [Submitted by X. Bachelot] New configure option available: --with-staticdir. this option allows admins to specify the location of the static data directory. this directory is used for data that don't need to be parsed by Sympa at each web request, e.g. CSS, icons, etc. [7326] wwsympa/wwsympa.fcgi.in: Search on list review page allows case-insensitive match for non-ASCII letters. [7323] src/lib/admin.pm: If the following files are defined in the family directory, they are parsed and installed for each list in the family: - message.footer.tt2 (parsed as message.footer) - message.header.tt2 (parsed as message.header) - message.footer.mime.tt2 (parsed as message.footer.mime) - message.header.mime.tt2 (parsed as message.header.mime) - info.tt2 (parsed as info) For now, these files are parsed at list creation only. Later improvments will allow these files to be recreated when a list is reinstantiated. ***** [7321] src/lib/Conf.pm, src/lib/List.pm, src/lib/Upgrade.pm, ***** src/lib/admin.pm, src/lib/confdef.pm, src/sympa.pl.in, ***** wwsympa/wwsympa.fcgi.in: [Patch from Riseup] Adding a database cache of ***** several list config values. This cache allows to speed up list ***** searches, pending lists page and such. The upgrade automatically ***** initiates the db cache. Changes: [7342] web_tt2/editfile.tt2, wwsympa/wwsympa.fcgi.in: [Reported by E. Duval, CGT] In edit_list.conf, the "info" key controlled both the info list parameter and the info file. Now, when one needs to control the edition of the info parameter, one will use the key "info" in edit_list.conf. If one needs to control the edition of the info file, one will use the key "info.file" in the edit_list.conf. [7328] web_tt2/suspend_request.tt2:7326), web_tt2/help_user.tt2, web_tt2/suspend_request.tt2: [Submitted by S. Ikeda]Move subscription management documentation to the help. ***** [7327] doc/sample/config.include, src/etc/edit_list.conf, ***** src/lib/Commands.pm, src/lib/Family.pm, src/lib/List.pm, ***** src/lib/admin.pm, src/task_manager.pl.in, web_tt2/help_editlist.tt2, ***** web_tt2/subscriber_table.tt2, wwsympa/wwsympa.fcgi.in: [Submitted by ***** S. Ikeda] 'user_data_source' list parameter is obsoleted; only ***** 'include2' was its available value. [7312] src/etc/edit_list.conf: Removing default config hiding default_user_options config options to list owners. Bug fixes: [7347] src/lib/Scenario.pm: In some cases, scenario evaluation would fail due to a question mark having been insterted in the scenario rule evaluation regexp. Fixed by removing this question mark. [7340] soap/sympa_soap_server-wrapper.fcgi.c, soap/sympa_soap_server.fcgi.in, wwsympa/wwsympa-wrapper.fcgi.c, wwsympa/wwsympa.fcgi.in: [Submitted by E. Bouthenot] In version 5.14.2 of Perl, wwsympa.fcgi execution would trigger a segfault, for exemple when creating a one time ticket. this was due to the perl '-U' option being used in the wwsympa shebang. fixed by removing it from the shebang and using C functions in the C wrapper to change the real user and group ids. [7339] src/lib/Message.pm: [#8331] StripScripts breaks HTML parts with 7-bit charset in messages. [7331] src/lib/Bulk.pm, src/lib/tools.pm: Bulk daemon was sometimes dying unexpectedly when local database went away then was available again. This was caused by 2 things. The first one was a wrong way to managed the pid file, ending in multiple whitespaces beeing inserted randomly between pids. The second one was an error in the database connexion managment ending in loosing the reference to the right SQLSource object. [7322] src/lib/admin.pm: When renaming a list, the directories containing the HTML version of messages to be moderated where not renamed. The editors sould therefore not see the message content in the moderation page. fixed by parsing files starting with a dot and by adding a the regexps to test these directories name. ***** [7319] src/lib/List.pm: [Submitted by M. Woloszyn, univ. Silesia] When ***** the "reply_to' parameter had the values "sender" for field "value" and ***** "forced" for field "apply", some MUA (Outlook and Thunderbird) did not ***** reply to the message sender but to the list. this was due to the ***** reply-to header being left undef in that case. fixed by forcing the ***** field value to the email original sender. [7309] src/lib/List.pm: [Submitted by O. Lacroix, CIRIL] When using a MySQL backend, sorting addresse by domain wouls not work due to double quotes in the SQL query around the keyword "dom". This lead to a bad usage of the nrcpt parameter. Fixed by removing the double quotes. 6.1.9 March 21, 2012 Bug fixes: [7294] src/lib/List.pm, src/lib/Upgrade.pm, wwsympa/wwsympa.fcgi.in: the exclusion table was not robot-aware, thus potentially leading to mutliple unsubscriptions if several lists having the same local part were present in several robots. Fixed by adding a "robot_exclusion" column to the exclusion table. this column will be automatically filled when upgrading Sympa. [7261] src/lib/List.pm: [Reported by J.H. Belpois, univ. Brest] When a lot of lists used inclusions for their members, displaying the list of lists could lead an error 500. This was due to attempts to include list ADMINS even though they were not included from external sources. These attempts led to the creation of write locks (include_admins.lock) that, beyond a certain number of lists, led to automatic collisions with read locks used when gathering the admins mail addresses. After a certain number of collisions, the web request timed out. Fixed by quitting the skipping the admin sync when no admin source is defined. [7254] src/bulk.pl.in: [Submitted by P. Vandry, TZoNE.ORG] The VERP return path was never correctly set due to a bad variable initialization. [7248] src/lib/List.pm: [#7424] Excluding then restoring (eg manually subscribing) an included member resulted in member being included and subscribed at the same time. [7215] src/lib/List.pm, src/lib/Lock.pm: [Reported and boldly tested by O. Menkens] In perl, when the real and effective uids of a sccript are different, the tainted mode is activated. This caused mod_fcgid to issue a lot of "Insecure dependency" errors in the Apache logs. Fixed by untainting the variables causing these errors. [7211] mail_tt2/summary.tt2: [Submitted by A. Bernstein, electricembers.net] The summary.tt2 template contained a wrap TT2 command that caused the URL to be broken. Fixed by moving this command around parts of the message that don't contain URLs. [7208] configure.ac: [Submitted by R. di Cosmo] When installing Sympa, if configure was used with the --enable-fsh option, then the lists directory was incorrectly set. [7205] src/sympa_wizard.pl.in: When using the SOAP server, if the lists subjects or gecos fields included UTF-8 characters. The response content-length header was smaller than the real character count in the response document, thus, clients created too small buffers to process the XML document and validation of said document failed. This issue was due to the fact that libwww is counting characters instead of bytes. Fixed by upgrading to the latest version of SOAP::Lite. 6.1.8 January 09, 2012 Cancelled du to errors in the version. 6.1.7 August 25, 2011 Bug fixes: Upgrading the required version for Unicode::LineBreak to fix the problem of borken URL in service messages such as moderation request. 6.1.6 July 20, 2011 Bug fixes: [7135] web_tt2/notice.tt2, wwsympa/wwsympa.fcgi.in: [Reported by J.C. granger, INRA] In the "Manage your subscriptions" page, list members could unsubscribe from list where unsubscription was closed. Fixed by checking authorization scenarios. [7132] wwsympa/wwsympa.fcgi.in: [Reported by F. Gadin, univ. La Rochelle] The code in wwsympa used the - deprecated - way of testing hash emptiness. Fixed by removing the "defined" pragma when testing whether the has contains a defined value. [7131] src/lib/tools.pm: In some cases, sympa.pl would reach 100% CPU while processing a message. Fixed by updating the way the text is wrapped when a message is constituted. [7124] src/etc/mhonarc-ressources.tt2: [#7055][Submitted by Andras Bendzsak] email with RFC5322-incompliant mailbox quoted by MTA such as Postfix messes archive browsing. Backported from trunk. [7119] wwsympa/bounced.pl.in: filehandle was not closed. Backport from trunk. 6.1.5 June 06, 2011 Changes: [7014] src/lib/Conf.pm: [#7071]CGI.pm changes environment variable names ('-' => '_') While using generic_sso, declared environment variable names needs to be transformed accordingly Bug fixes: [7059] wwsympa/SympaSession.pm: [Reported by V. Carpier, AC Réunion (but seriously, he was in the CRU before!)] SympaSession.pm caused "fetch without execute" errors to be issued into the Apache error logs. This was due to a second call to "fetchrow_hashref" after all the lines had already been fetched, and the statement handler subsequently finished. Fixed by including result fetching into a loop. [7055] src/lib/Upgrade.pm: reported by gauthier Catteau Message-ID may be longer than 100 chars and so they may result in a SQL error. [7019] src/lib/Scenario.pm: [#7521][Submitted by E. del Rio] Explicit incldes in scenarios did not longer work because the rules using them did not have an authentification method. Fixed by adding them to the scenario list as soon as they are found in the main scenario body. [7012] src/lib/SQLSource.pm: [Reported by J.C. Vergerolles, univ. Bordeaux 2] Some DBD, such as DBD-Oracle, issue croak statements when the connexion can't be established. This lead to sympa crashing just beacuse the database is unreachable. Fixed putting each database connection attempt in an eval block. If the connection fails, Sympa retries to connect if asked or simply returns undef after logging. [7011] src/lib/Conf.pm: [#7071][reported by I.Krzysztof]While using generic_sso, allow other characters for the 'netid_http_header'parameter (including hyphen). [7004] mail_tt2/sendssopasswd.tt2, web_tt2/sso_login.tt2, wwsympa/wwsympa.fcgi.in: [#7070]Login with generic_sso failed when 'force_email_verify' was enabled The problem was due to the user password no more stored in the user DB. Usage of password to validate the user email address has been replaced with one-time tickets. [7003] src/lib/List.pm, wwsympa/wwsympa.fcgi.in: [#5989][submited by A.Bendzsak] change_email web feature did not updae the netidmap_table. Now it does. [7002] wwsympa/wwslib.pm: [#3049][reported by L. Foucher, IUT P. Sabatier] CAS authentication failed when Sympa web server was behind an HTTP reverse proxy. The URL of the service passed to the CAS server was incorrect. Now using get_header_field() that can use 'HTTP_X_FORWARDED_HOST' env variable if set. 6.1.4 January 21, 2011 Changes: A lot of translations have been updated: - Swedish (P. Freyhult) - Russian (S. Dukachev) - Polish (M. Woloszyn) - Japanese (S. Ikeda) - Estonian (U. Buhvestov) - Hungarian (A. Bendszak) - German (J. Krehbiel-Graether) - Catalan (J. Giralt Baldellou) Many thanks to all of you, Sympa translators! [6986] src/lib/List.pm, web_tt2/get_inactive_lists.tt2, wwsympa/wwsympa.fcgi.in: [Submitted by M. Lievre, Orange] Adding detailed informations to the get_inactive_lists page of the web interface. [6980] src/lib/List.pm: [#7392][Submitteb by A. Bernstein, electricembers.net] Some MUA and the web page sending option in Sympa use Multipart/related content-type. In this case, the footer was not appended to messages. [6972] mail_tt2/message_report.tt2, src/sympa.pl.in: [#7420][Submitted by A. Bernstein, electricembers.net] When a message is rejected because it exceeds the maximum allowed size for a list, the report now provides informations regarding the size of the mesage, the maximum allowed size for this list and a technical notice regarding attachments. [6968] wwsympa/wwsympa.fcgi.in: On list created through the web interface, if the list name contains higher case letters, they are lower cased to prevent any later inconsistencies in data describing the list. The user is warned about it. [6753] src/etc/script/sympa.in: [#6847][Submitted by S. Ikeda] The sympa init script now actually waits for the dameon to be stopped (up to 20 seconds) prior to issuing a status message (failed or success). Bug fixes: [6988] wwsympa/SympaSession.pm, wwsympa/cookielib.pm: [#7423][Reported by M. Larchet, univ. Nancy 2] The CGI::Cookie.pm module issues a warning when trying to parse an empty cookie. This led to overwhelming warning logs in Apache error_log. Fixed by not trying to parse an empty cookie and directly return undef, which would have happenned anyway because the needed cookie is obviously not here in such a situation. [6987] wwsympa/wwsympa.fcgi.in: [Reported by M. Larchet, univ. Nancy 2, M.Lièvre, Orange and L. Grégoire, ENSEEIHT] Owners trying to access the list config edition form, section "Sending/receiving setup" when: 1- No digest parameter was defined in the config file and 2- they had only read access to the digest parameter were being displayed an empty page. this was due to a faulty population of this parameter. Fixed by affecting a "type = enum" value to the parameter hash. [6984] src/lib/Upgrade.pm: [#7372][Reported by L. Breuil] Upgrading to 6.1.3 broke Sympa startup when using SQLite, because Sympa tried to use the CHANGE query, which is unavailable in SQLite. Short term fixed by not trying to change database fields with SQLite. The automatic upgrade of database will be completely rewritten with version 6.2. [6982] web_tt2/editsubscriber.tt2: [#7376][Submitted by A. Bernstein, electricembers.net] If you narrowed your browser window or zoomed the text size enough that the row of admin tabs had to wrap to a new line, the entire contents of the editsubscriber.tt2 page would shift off to the right side of the browser. What was left behind under the admin tabs was just a blank box. Fixed by enclosing the whole editsubscriber.tt2 file content with
. [6981] src/lib/admin.pm: [#7391][Reported by A. Bernstein, electricemebers.net] The homepage file was not copied when renaming a list. [6978] wwsympa/wwsympa.fcgi.in: [#7409]The template in user_notification.tt2 for the sigrequest action was missing the $list parameter, so the $list.name variable came out blank in the resulting message to user. Fixed by adding the parameter to the $tt2_param list. [6977] src/lib/List.pm: [#7410][Submitted by A. Bernstein, electricembers.net] In List::send_file(), there were certain times when the sender value was getting set to the recipient when it shouldn't be. Fixed by checking that the sender field has not been previously set before affecting the $who var to ist value. [6976] wwsympa/wwsympa.fcgi.in: [#7411][Submitted by A. Bernstein, electricembers.net] After editing a subscriber's options (do_set()), a list owner was returned to the suboptions page by default (if previous_action wasn't populated), which porduced an error message if the owner happenned to not be subscribed to the list. Fixed by redirecting to the list's info page instead. [6974] wwsympa/wwsympa.fcgi.in: [#7412][Submitted by A. Bernstein, electricembers] At the end of do_reviewbouncing(), the $param->{'size'} setting was taken from $in{'size'}. ItI should actually be set to $size, which is equal to $in{'size'} if it's provided or else defaults to the wwsconf setting if not. This created an error under some conditions. [6973] src/lib/PlainDigest.pm: [#7417][Submitted by A. Bernstein, electricembers.net] Some outdated MUA, like Eudora, use an uncommon MIME type called text/enriched, which provides formatting without HTML. Such a proprietary formatting is not worth a special develmopment - ragarding what is possible with HTML, so we treat it now as text/plain. [6971] wwsympa/wwsympa.fcgi.in: [#7421][Submitted by A. Bernstein, electricembers.net] The message displayed on the web when attempting to create a list which already exists was incorrect, due to a call to a call to reject_report_web() using the wrong error condition. [6970] src/etc/script/create_db.SQLite: [Reported by L. Breuil] Fixing two typos in the create_db.SQLite script. [6942] src/lib/Scenario.pm: [#7356][Submitted by A. Bernstein, electricembers.net] a space between two auth methods in scenario (e.g. smtp, md5 instead of smtp,md5) caused the second authentication method to be ignored. Fixed by changing the regexp responsible of scenraio rules extraction. [6765] src/sympa.pl.in: [Reported by J. Arnoux, infomaniak.ch] When a message was rejected because its size exceeded the allowed quotas, it was forwarded with the rejection report message. It made no sense because rejection based on the size is there to prevent the circulation of too large files. In addiotion, very large messages caused Sympa to hang on the reprot generation, doing nothing without crashing. [6763] mail_tt2/listmaster_notification.tt2, wwsympa/bounced.pl.in: [#6747][Reported by D. Pritts, Internet2] A call to send_notify_to_listmaster was done using a non existing error_code. Fixed by creating a dedicated error code to be issued when bounce related errors occur. [6757] src/etc/scenari/spam_status.x-spam-status: [#7076][Reported by D. Pritts, Internet2] The default antispam scenario included the following regexp test on the X-Spam-Status header: /yes/. this was true for any antispam engine using the expression "bayes". fixed by changing the regexp to /^\s*yes/. [6755] src/lib/List.pm: [#6883][Submitted by S. Ikeda]* Topics tagging did not work properly on encoded subject and on message body using charset other than US-ASCII or UTF-8. * case-ignore match was available only on Latin letters without accents. [6754] src/lib/Lock.pm: [#7015][Submitted by S. Ikeda] In some distributions (RHEL 5 for example) File::temp package conflicts with OS-bundled perl. Users need then to install the package manually. Errors are then triggers when using NFS. Fixed by calling explcitely the "new" sub when creating a File::NFS object. [6752] src/lib/mail.pm: [#7003][Submitted by S. Ikeda] Bodies of service messages were encoded by list character set, diregarding the actual receipient lanquage preferences. Fixed by testing user preferences prior to set the message charset. [6751] src/lib/List.pm, src/lib/Message.pm: [#6385][#6396][#7029][Submitted by S. Ikeda] Messages containing a subject with illegal charset crashed sympa.pl. Fixed by verifying that decoding is possible before doing it and leaving otherwise the subject unchanged. [6749] wwsympa/wwsympa.fcgi.in: [#6530][Submitted by S. Ikeda]If you chose in WWSympa to have the digest for a list go out only on, say, Saturday, it would instead go out on Sunday. There was a mismatch somewhere between the days of the week referenced by WWSympa and by sympa.pl. Fixed by replacing the call to "localtime" by a call to "gmtime". See explanations by A. Berstein in the follwing URL for details: https://sourcesup.cru.fr/tracker/?group_id=23&atid=167&func=detail&aid=6530 [6745] src/lib/tools.pm, src/sympa_wizard.pl.in: [#7301][Submitted by S. Ikeda] sympa.conf and cookies.history contain confidential information. Access to them should be restricted. Fixed by making Sympa set their access permissions to 740. 6.1.3 November 15, 2010 Bug fixes: ***** src/lib/confdef.pm, wwsympa/Auth.pm: [Reported by N. Matthies] Since ***** revision 6168, when a user logged in using LDAP with an email address, ***** if this address was returned by the LDAP server, the user was ***** authentified with this address. Some administrators prefer to force the ***** usage of canonical addresses. If you want to let userssubscribers use ***** the address they used logged in with, set the value of the new ***** wwsympa.fcgi parameter "ldap_force_canonical_email" to '0'. src/lib/List.pm, src/lib/PlainDigest.pm, src/lib/tools.pm, src/sympa_wizard.pl.in, wwsympa/Challenge.pm, wwsympa/SympaSession.pm: [#4452][C.Hastie, S.Ikeda] Issue: handling of different character sets in PlainDigest.pm was poor. Messages were assumed to be in ascii, iso-8859-1 or a closely related character set, and if they were not all characters above \x80 were dumped to provide crude, lossy iso-8859-1 output.updated PlainDigest.pm which normalises all parts to UTF-8. Cleanup from Soji : - don't bother trying to find path to lynx unless use_lynx is true - anchor content-type test strings to end of string to avoid picking up malformed headers as per bug 3702 - local Text::Wrap variables - moved repeated code to get charset into sub _getCharset - added use of MIME::Charset to check charset aliases src/lib/tools.pm: Fixing a rule problme with Stripscript. src/lib/Message.pm: Plain text message lost linebreaks in the web archives. This was due to the text/plain parts in mesasges were handled by Stripscript. Fixed by only handling test/html parts with Stripscripts. src/etc/script/create_db.mysql: [Reported by Sungmo Ahn] Fix createdb.mysql. 6.1.2 November 05, 2010 Bug fixes: src/etc/script/create_db.mysql: Fixe from Bob Wood in create_db script for mysql src/lib/Bulk.pm: While using "merge_feature on", bulk.pl would die if the processed mail's encoding was either not defined or unknown to the Encode perl module. The error message in STDERR was: "Unknown encoding '' at /home/sympa/bin/Bulk.pm line 283". wwsympa/wwsympa.fcgi.in: fix In-reply-to:<> header that make thread display in mutt or mozilla eroneous (reported by Peter Schober univie.ac.at 6.1.1 October 22, 2010 This version includes a lots news such as DKIM support, autosignoff footer link included in lists messages, ... Various vulnerability have been solved in 6.1.1 : cross side scripting, cross-Site request forgeries, brute force attack, DOS. These vulnerabilities were identified with the help of P. Gardenat (Rectorat de Rennes) during a security audit on Sympa. WE STRONGLY SUGGEST YOU TO UPGRADE ANY PREVIOUS VERSION TO 6.1.1 The changes and features below are the compilation of the announces made for the previous beta releases of Sympa 6.1b.x. Don't bother read them if you followed the beta. The bugs specifically fixed in each beta are still referred in these beta version sections below. NOTE THAT DKIM FEATURE REQUIRES THAT YOU UPDATE YOUR CUSTOM AUTHORIZATION SCENARIOS (see DKIM bellow) Bug fixes: src/lib/List.pm: Double quotes around field names in "order by" SQL clauses caused said order to have no effect. fixed by removing the double quotes for all supported RDBMS. It looks like none of them uses such a syntax. src/lib/mail.pm: HTML pages sent through the web interface arrived with an empty body. this was due to a bad variable intialization in the reformat_message sub in mail.pm. This var is now initialized and the problem vanished. wwsympa/wwsympa.fcgi.in: In some - difficult to precisely describe - configurations, sessions could be messed due to an inner cache of cookie environement variable, either in Apache of perl. Fixed by force-blanking this variable as soon as we affect it to a session. CAS authentication bug when multiple httpd parameter are submitted (fix by Vincent Bonamy) src/lib/LDAPSource.pm: [#6802] [T.Berry, NASA] Remove duplicate code + variable declared twice wwsympa/wwsympa.fcgi.in: [#6842] [S.Ikeda] /help/editlist does not show title of parameters src/lib/tools.pm: [#6901][reported by D.Black] tools::smime_decrypt() could make sympa.pl process crash. src/lib/tools.pm, wwsympa/wwsympa.fcgi.in: [S.Ikeda][#3779] Comma in gecos caused invalid From: in Web posting. New tools::addrencode() for proper encoding of From: SMTP header field according to RFC5322. src/lib/Upgrade.pm, wwsympa/wwsympa.fcgi.in: [#4106][reported by M.Larchet] Shared documents could not get manipulated. This was due to changes in the algorithm of MIME::EncWords::encode_mimewords() function (chars -_+! no more Q-encoded). The problem started with version 1.010 of MIME::EncWords. The fix consists in a massive renaming of shared files (according to new algorithm) during sympa.pl --upgrade. src/lib/mail.pm, wwsympa/wwsympa.fcgi.in: [#3984] [submitted by S.Kristoffersen] Restored code to add Auto-Submitted SMTP header field. mail::mail_file() does not set this header when 'not_auto_submitted' is set, ie when wwsympa sends commands to sympa.pl through the msg/ spool. src/lib/Lock.pm: [#6513] [Landry Breuil] Fix errors in apache error log (Use of uninitialized value in sprintf) when debug is enabled configure.ac, doc/Makefile.am: [#6855][S.Ikeda] Samples were installed under / and sympa.pdf was not installed. Added missing docdir def in configure.ac + AC_PREREQ(2.60) configure.ac: [O.Lacroix, CIRIL] ./configure --help was not consistant with the directory defaults. Changed the help message for the following options : --with-expldir, --with-spooldir, --with-scriptdir, --with-modulesdir ***** piddir default changed from PREFIX/var to /var wwsympa/wwsympa.fcgi.in: [#6879][reported by A.Koshokin, Intel] Fixed the BASE HTML tag. The base previously was the archive directory, now setting it to the archive message. Bug description: NAME anchors within HTML archived messages were broken. src/lib/Bulk.pm: [#7038][reported by D.Pritts, Internet2] Prevent duplicate entry error in Bulk::store(). This error occured while sending duplicate service messages (same content to the same user). The listmaster is no more notified, but the second instance of the message is still not sent; this should be fixed. wwsympa/wwsympa.fcgi.in: To field was not set while sending the sendpasswd service message. This bug was introduced in revision 5150. src/lib/Lock.pm: The debug4 log facility does not exist. Replacing its occurences with debug3. mail_tt2/listmaster_notification.tt2, src/lib/admin.pm: [#7053][D.Pritts, Internet2] Listmaster notification for renaming was wrong - got "list copied" notification instead. src/lib/Conf.pm: Previously only default distributed css.tt2 was used to generate CSS files in static_content/. Now also checking customized css.tt2. src/lib/List.pm: fix verp rate 0ase where Sympa do not send messages to subscriber with bounces src/sympa_wizard.pl.in: Encoding in body of web composed messages was broken. Now require version 1.03 of HTML::StripScripts::Parser wwsympa/wwsympa.fcgi.in: Functions rename_list and change_email could not be run by a robot listmater. Added missing $robot parameter to List::is_listmaster() calls src/lib/Lock.pm: Invalid log facility for some logs in Lock.pm. It looks like we can't go below debug3. src/lib/Bulk.pm: [#6937][#6907][#6915][Reported by S. Dukachev, A. Gouaux and A. Michon (in order of apparition)] The query used to store packets in the bulk_mailer table did enclose interger values between quotes, which is not correct. In addition, it obfuscated the problem that the '$merge' parameter was sometimes undefined. This led to trying to submit an insert query containg a value '' for an integer field. Fixed by suppressing quotes for integer values and ensuring that the $merge variable has a value set. web_tt2/Makefile.am: [Reported by P. Evans] The edit_config.tt2 file was not installed during the "make install" because it was not declared in the Makefile.am. src/etc/script/create_db.Oracle, src/etc/script/create_db.Pg, src/etc/script/create_db.SQLite, src/etc/script/create_db.Sybase, src/etc/script/create_db.mysql: [Reported by A. Michon, IBCP and A.Gouaux] In the create_db.* scripts, some of the name of the fields related to DKIM were uncorrect, leading bulk.pl to fail starting. These names are now correct. src/etc/script/create_db.Pg: [reported by A. Michon, IBCP] A typo in create_db.Pg caused the db creation query to fail. wwsympa/wwsympa.fcgi.in: Dan Pritts fix https://sourcesup.cru.fr/tracker/index.php?func=detail&aid=6839&group_id=23&atid=167 src/lib/List.pm: Reverting a part of revision #6227. This lead to datasources loosing all their subscribers when using a single datasource and the synchronizing failed. src/lib/List.pm: When calling send_notify_to_owner, the '$param' parameter was used as a hash, wihout checking first that it was actually a hash. in some cases though, such as in set_status_family_closed(), it was a ref to an array. This caused Sympa to crach with a "Can't coerce array into a hash" error. Fixed by moving the bad line in the hash-specific part of the sub. wwsympa/wwsympa.fcgi.in: security fix : block login submitted with any http method but POST. (security audit vuln #5) web_tt2/edit_config.tt2: missing template for config editor src/etc/script/arc2webarc.pl.in: fix incorrect check of date format that block 2010 messages (reported by Omen Wild (ucdavis.edu) src/etc/script/create_db.Sybase: fix missing conf_table in Sybase creation script. web_tt2/error.tt2, wwsympa/wwsympa.fcgi.in: Now shared document can't be read or edited unless list is open. This is a security fix soap/sympa_soap_client.pl.in: Fixed a bug that prevented authentication while using authenticateAndRun() src/lib/SQLSource.pm: [Submùitted by F. Lachapelle, Inverse] If the db_type is set to Oracle and db_port is specified in the main configuration file, than the port would appear two times in the connection string. src/lib/tools.pm: [reported by F.Fareneau, univ Valenciennes] shared documents/folders names were badly encoded while using Encode >= 2.19. The issue was related to a low level subroutine (Encode::MIME::Header::_encode_q()) that slightly changed its API (expecting unicode instead of bytes parameter). Now using MIME::EncWords::encode_mimewords() instead. src/lib/tools.pm: [#6552] [Soji IKEDA] Wwsympa would stall while loading session data including metacharacters. Existing code (tools::string_2_hash()) would loop on a regular expression match. Patch also escapes ``"'' characters. src/sympa.pl.in: [Submitted by H. Moa] Some message could cause a sympa.pl crash. Fixed by embedding the dangerous part of the code in an eval statement. src/lib/List.pm: Users received the same message multiple times. This was due to a problem in the VERP provisionning. When filling the array containing the users for which VERP will be used, Sympa add to sources of users : a certain rate of all the users and all the users that have a high bounce rate already. for each reception mode, Sympa provisions VERP users this way. the problem was the following: for each reception mode, Sympa used the list of users using the default distribution mode instead of the list of users using the specific distribution mode currently treated. this lead to the addition, to the list of bouncing users of each reception mode, the list of users selected to receive the message in VERP for normal reception mode instead of the high bouncers for this reception mode. fixed by using an aray variable regarding the kind of reception mode currently treated. src/bulk.pl.in, src/lib/tools.pm: When parsing a message to merge or verifying DKIM signature, a MIME::Parser object was created and the message parsed into a MIME::Entity. The output of the parser was not set to core, so it used its default: the filesystem. It led to the creation of a lots of files in the expl directory, that were never removed. Fixed by adding the line : src/bulk.pl.in: bulk.pl exited when it could not remove the packet it had juste sent. It now only issue an error messge in the logs. mail_tt2/urlized_part.tt2, src/lib/List.pm: Urlize messages charset was nor properly set. Consequently, bulk crashed when trying to merge the message. In addition, a faulty var name caused Sympa to try to send the originla message instead of the urlized message. src/lib/Bulk.pm: Messages were tagged multiple times as last. mail_tt2/command_report.tt2: fixed bug introduced in revision 6187. Sympa.pl would send empty command reports with a "Failed to parse command_report.tt2 : Template::Exception" error in its log file wwsympa/wwsympa.fcgi.in: Fixed bug introduced in revision 5998. web signoff did not recognize authenticated users. src/bulk.pl.in: When merge was not activated, Messages were not initialized, leading to empty messages. src/lib/Bulk.pm: remove usage of fingerprint authentication token web_tt2/compose_mail.tt2: remove some coin coin style text src/lib/List.pm: [#3047][reported by N.Chipaux, Mandriva] Some service messages sent by Sympa would use an unappropriate language (did not match the user language). This issue happened whenever a message was sent to more than one reciepient; the first user's language was used for the following ones. Fixed List::send_file() and List::send_global_file(): now duplicating the 'context' parameter to prevent changes of the original data structure. src/lib/confdef.pm: http_host was not set by default in syma.conf, making the sympa wizard to fail starting. doc/sample/test/web_tt2/welcome.tt2, sympa.spec.in, wwsympa/Auth.pm: [Submitted by M. Warkus, univ. Marburg] When a user logged in, using LDAP, by providing an email address, if this email was not the first one in the LDAP email attribute, then the uiser was not logged with the address she provided but with the default address found in the LDAP directory. Now, if an email is provided and the login is successful ,the user is logged in with the email she provided. doc/sample/test/web_tt2/welcome.tt2, soap/sympa_soap_client.pl.in, sympa.spec.in: Fixed a typo in the sympa_soap_client.pl command line tool that prevented the service parameters to be used. doc/sample/test/web_tt2/welcome.tt2, src/sympa_wizard.pl.in, sympa.spec.in: Installed MHonArc version was not properly detected doc/sample/test/web_tt2/welcome.tt2, src/sympa_wizard.pl.in, sympa.spec.in: Can't do $module->require() since we no more require the UNIVERSAl::require module. Replaced with eval "require $module". Makefile.am: [Submitted by M.Deranek] On a multi core system, installdir & installconfig targets can run in parallel. Added a dependency between these targets. doc/sample/test/web_tt2/welcome.tt2, src/lib/Bulk.pm, src/lib/List.pm, sympa.spec.in: Missing "use WebAgent" directive since recent reorganization of code (revision 5939). Makefile.am, doc/sample/test/web_tt2/welcome.tt2, src/lib/tools.pm, sympa.spec.in: [#6380][Reported by M.Warkus, Philipps-Univ. Marburg] Added a line break to written PID files. configure.ac, doc/sample/test/web_tt2/welcome.tt2, sympa.spec.in: Fix typo introduced in recent commit. src/lib/Conf.pm: [Submitted by M. Warkus, univ.Marburg] Inverted test caused the config not to be loaded. Makefile.am: The last install message didn't tell to launch sympa_wizzard.pl but sympa.pl. src/lib/Conf.pm, src/lib/confdef.pm: Now Sympa don't complain about optional robot parameters without definition in sympa;conf and wwsympa.conf. Sympa now stop because of required robot parameters without value (minimum a default). wwsympa/wwsympa.fcgi.in: [reported by N.Matthies] Added notice when user preferences have been updated doc/sample/test/web_tt2/welcome.tt2, po/de.po, po-wwsympa/de.po, sympa.spec.in, web_tt2/help_listconfig.tt2, web_tt2/help_shared.tt2, web_tt2/help_user.tt2: [Submitted by M. Warkus, univ. Marburg] Reporting commits 6012 and 6013 from the 6.0 branch: german translation and fixed typos in webhelp. src/bulk.pl.in: bulk.pl now uses the "use strict" pragma. Some variables were not properly defined. Changes: wwsympa/wwsympa.fcgi.in: Restoring use of HTML::Stripscript module for XSS protection. wwsympa/wwsympa.fcgi.in: Now custom actions can accept an infinite number of parameters. These are stored in an array accessible in TT2 through the name "cap". configure.ac: [Submitted by G. Rousse, INRIA] Several improvments in configure.ac: - changed the minimal version of autoconf to 2.60 - factorization of the section regarding the FSH/non FSH alternative. soap/sampleClient.php, src/lib/Message.pm, src/lib/Scenario.pm, src/lib/confdef.pm, src/sympa.pl.in: spam_status message property is now evaluated from a scial scenario spam_status. This scenario accept ham, spam and unsure as result. This replace the antisspam_header_name antispam_tag_header_spam_regexp mail_tt2/digest.tt2, mail_tt2/digest_plain.tt2, mail_tt2/get_archive.tt2, mail_tt2/global_remind.tt2, mail_tt2/helpfile.tt2, mail_tt2/info_report.tt2, mail_tt2/review.tt2, mail_tt2/summary.tt2, src/lib/mail.pm, src/lib/tools.pm, src/lib/tt2.pm, src/sympa_wizard.pl.in, wwsympa/wwsympa.fcgi.in: [Submitted by S. Ikeda] Line wrapping is now enabled for both European and non European languages. src/etc/script/create_db.Oracle, src/etc/script/create_db.Pg, src/etc/script/create_db.SQLite, src/etc/script/create_db.Sybase, src/etc/script/create_db.mysql, src/lib/Upgrade.pm: change database structure in order to store nimber of wrong login attempts src/bulk.pl.in, src/lib/Bulk.pm, src/lib/List.pm, src/lib/mail.pm, web_tt2/suboptions.tt2, wwsympa/wwsympa.fcgi.in: Is is now possible to enable topics chen the reception mode is 'mail', 'notice', 'not_me', 'txt', 'html' or 'urlize'. web_tt2/get_inactive_lists.tt2: [Submitted by M. Warkus] Lists for which no message was ever sent will display a user friendly message instead "January 1 1970". doc/sample/test/web_tt2/welcome.tt2, src/lib/Archive.pm, src/lib/Message.pm, src/lib/PlainDigest.pm, src/lib/mail.pm, src/lib/tools.pm, src/sympa_wizard.pl.in, sympa.spec.in, wwsympa/wwsympa.fcgi.in: Changes to the cpan installation process : - Mail::Internet and MIME::Lite modules not directly required - fix calls to install_module() - added informations about prerequisites - generalized the 'usage' entry for each module - added an introduction to warn the user about the length/nature of the process [Submitted by M.Warkus, Univ. Marburg, Germany] fixing many German translations as well as typography errors. doc/sample/test/web_tt2/welcome.tt2, src/lib/Makefile.am, sympa.spec.in: AuthCAS module used to be distributed with Sympa. Since Sympa 6, it is a standalone CPAN module. The module still has the same name, therefore old installed versions of the module need to be removed src/sympa_wizard.pl.in, wwsympa/wwsympa.fcgi.in: [#6022][Submited by Soji Ikeda] Text::Wrap module worked only with languages with word separator (space). New module Text::LineFold supports most languages. src/etc/script/sympa.in: [proposed by Jpse-Marcio Martins] no more check the OSYTE, check if functions file exists instead Features: ***** DKIM : Sympa now supports DKIM for message diffusion and control. ***** Incoming messages: Authorization scenarios can now use DKIM. Turning *****on the dkim_feature configuration parameter will provide a new authentication level *****to the scenario engine. Scenario evaluation for incoming messages with a valid DKIM *****signature (but no S/MIME signature) will be evaluated with authentication method dkim. *****So rules that use authentication method smtp will not match. You will nedd to update *****your scenarios if you want to use DKIM. ***** ***** Outgoing messages: You may want to make Sympa sign outgoing messages. *****Almost every aspects of DKIM signature behavior can be customized via Sympa *****configuration parameters. Please check the DKIM parameters section for *****further details. Note that each parameter can also be set for a given *****virtual robot; and most of them are available as list parameter. ***** *****Which messages should be signed? *****In order to configure Sympa for signing outgoing messages, you have to decide which messages Sympa should sign . This should be decided for four kind of messages: ***** Services messages : these are all messages sent by Sympa itself : welcome messages, answers to mail commands, various notification such as remind message and digest messages; ***** List messages : messages distributed to list members (where the initial From: header is preserved). These messages will fall is one one the following subcategory: ***** - authenticated messages (using S/MIME signature, challenge or password); ***** - received with a valid DKIM signature; ***** - validated by one of the list editors; ***** - other messages. ***** *****Server parameters used with DKIM: ***** o dkim_feature ***** o dkim_add_signature_to ***** o dkim_signature_apply_on ***** o dkim_private_key_path ***** o dkim_selector ***** o dkim_signer_domain ***** o dkim_signer_identity ***** o dkim_header_list ***** *****List parameters used with DKIM: ***** ***** o dkim_feature ***** o dkim_signature_apply_on ***** o dkim_parameters ***** + private_key_path ***** + selector ***** + header_list ***** + signer_domain ***** + signer_identity ***** ***** YOU WILL NEED TO ADAPT YOUR SCENARIOS TO USE DKIM. ***** PLEASE READ THE DOCUMENTATION: ***** http://www.sympa.org/manual_6.1/dkim web_tt2/Makefile.am, web_tt2/ca.tt2, web_tt2/lca.tt2, wwsympa/wwsympa.fcgi.in: It is now possible to create Custom actions at the list or robot level. These custom actions allow you to create new pages in the Sympa web interface. for now, you can only display informations using this method. any post treatment (such as form submission) must be handled outside of Sympa. See https://www.sympa.org/manual_6.1/customizing#custom_actions for more details. mail_tt2/user_notification.tt2, src/lib/Bulk.pm,src/lib/mail.pm, src/sympa_wizard.pl.in, web_tt2/Makefile.am, wwsympa/wwsympa.fcgi.in web_tt2/auto_signoff.tt2: Autosignoff footer link. It is nw possible to add a link in list messages which are customized for each user. When clicking this link, the user will trigger the sending of a confirmation email. This confirmation email contain an authenticating link. Clicking this link will unsubscribe the user. [Submitted by J. jourdan] Exclude users. Beware, that this feature is different from the blacklist. Exclusion makes sense when a list is based on external data sources, thanks to exclusion, a user can unsubscribe (or being removed by list owner) even though he should be included via an external data source. Users get into the exclusion table, through the standard unsubscribe / delete functions. They get off the exclusion table with the standard subscribe / add functions. Adding of the table 'exclusion_table'. [Submitted by J. jourdan] "suspension of membership." The user can suspend his subscription to the lists that he subscribes. For a finite length or not. Added a calendar in javascript to select a date. [Submitted by J. jourdan] Messages parsing; custom attributes can be now used as parameters for TT2 tags in messages distributed by Sympa. This adds notably the possibility to add authenticated unsubscribe URL to message footers. merge is controled by a list|robot paremeter : merge_feature on|off soap/sampleClient.php, soap/sympa.wsdl, soap/sympasoap.pm: Now soap complexWhich service include subscribers information about bounce mail_tt2/listowner_notification.tt2, src/lib/Commands.pm, src/lib/Conf.pm, src/lib/List.pm, src/sympa.pl.in, web_tt2/javascript.tt2, web_tt2/menu.tt2, web_tt2/nav.tt2, web_tt2/review.tt2, web_tt2/serveradmin.tt2, web_tt2/subscriber_table.tt2, wwsympa/wwsympa.fcgi.in: sympa.pl --conf2db load in database sympa.conf, wwsympa.conf and robot.conf src/lib/List.pm, src/lib/confdef.pm, web_tt2/renewpasswd.tt2, wwsympa/Auth.pm, wwsympa/wwsympa.fcgi.in: max_wrong_password robot parameter (default 19) now Sympa block account after this number of wrong account submition is reached. Needed to block brut force attack. configure.ac, src/bulk.pl.in, src/etc/script/create_db.Oracle, src/etc/script/create_db.Pg, src/etc/script/create_db.SQLite, src/etc/script/create_db.Sybase, src/etc/script/create_db.mysql, src/lib/Bulk.pm, src/lib/Upgrade.pm, src/lib/mail.pm: two new fields in the database : - messageid_bulkspool in bulkspool_table - messageid_bulkmailer in bulkmailer_table These fields both contain the value of the "Message-ID" SMTP header for each message -or packet - to be sent. This allows more reliable logs about the treatment of messages all along the distribution chain. doc/sample/test/web_tt2/welcome.tt2, soap/sympa_soap_client.pl.in, sympa.spec.in: add new features to soap client : add,del,subscribe,signoff doc/sample/test/web_tt2/welcome.tt2, src/lib/Conf.pm, sympa.spec.in, wwsympa/wwsympa.fcgi.in: Extended the format of the generic_sso paragraph in auth.conf. Added two new parameters : - http_header_list : allows to explicitely list HTTP header fields that should be cached in sympa user_table. - http_header_value_separator : user attributes may be multi-valued (including the user email address. This parameter defines the values separator ; defualt is ';' (adapted for Shibboleth) src/lib/Conf.pm, src/lib/confdef.pm, wwsympa/wwsympa.fcgi.in: You can now define a single custom parameter at the robot level, using the new parameter custom_robot_parameter. The format for it is: "parame_name ; param_value". See https://www.sympa.org/manual_6.1/conf-parameters/part1#custom_robot_parameter for details. 6.0.6 September 20, 2010 Bug fixes: src/lib/Bulk.pm: [#7038][reported by D.Pritts, Internet2] Prevent duplicate entry error in Bulk::store(). This error occured while sending duplicate service messages (same content to the same user). The listmaster is no more notified, but the second instance of the message is still not sent; this should be fixed. wwsympa/wwsympa.fcgi.in: To field was not set while sending the sendpasswd service message. This bug was introduced in revision 5150. wwsympa/wwsympa.fcgi.in: In some - difficult to precisely describe - configurations, sessions could be messed due to an inner cache of cookie environement variable, either in Apache of perl. Fixed by force-blanking this variable as soon as we affect it to a session. configure.ac, doc/Makefile.am: [#6855][S.Ikeda] Samples were installed under / and sympa.pdf was not installed. Added missing docdir def in configure.ac + AC_PREREQ(2.60) configure.ac: [O.Lacroix, CIRIL] ./configure --help was not consistant with the directory defaults. Changed the help message for the following options : --with-expldir, --with-spooldir, --with-scriptdir, --with-modulesdir ***** piddir default changed from PREFIX/var to /var wwsympa/wwsympa.fcgi.in: [#6879][reported by A.Koshokin, Intel] Fixed the BASE HTML tag. The base previously was the archive directory, now setting it to the archive message. Bug description: NAME anchors within HTML archived messages were broken. src/lib/Bulk.pm: [#7038][reported by D.Pritts, Internet2] Prevent duplicate entry error in Bulk::store(). This error occured while sending duplicate service messages (same content to the same user). The listmaster is no more notified, but the second instance of the message is still not sent; this should be fixed. Changes: configure.ac: [Submitted by G. Rousse, INRIA] Several improvments in configure.ac: - changed the minimal version of autoconf to 2.60 - factorization of the section regarding the FSH/non FSH alternative. 6.1b.6 August 23, 2010 Bug fixes: src/lib/LDAPSource.pm: [#6802] [T.Berry, NASA] Remove duplicate code + variable declared twice wwsympa/wwsympa.fcgi.in: [#6842] [S.Ikeda] /help/editlist does not show title of parameters src/lib/tools.pm: [#6901][reported by D.Black] tools::smime_decrypt() could make sympa.pl process crash. src/lib/tools.pm, wwsympa/wwsympa.fcgi.in: [S.Ikeda][#3779] Comma in gecos caused invalid From: in Web posting. New tools::addrencode() for proper encoding of From: SMTP header field according to RFC5322. src/lib/Upgrade.pm, wwsympa/wwsympa.fcgi.in: [#4106][reported by M.Larchet] Shared documents could not get manipulated. This was due to changes in the algorithm of MIME::EncWords::encode_mimewords() function (chars -_+! no more Q-encoded). The problem started with version 1.010 of MIME::EncWords. The fix consists in a massive renaming of shared files (according to new algorithm) during sympa.pl --upgrade. src/lib/mail.pm, wwsympa/wwsympa.fcgi.in: [#3984] [submitted by S.Kristoffersen] Restored code to add Auto-Submitted SMTP header field. mail::mail_file() does not set this header when 'not_auto_submitted' is set, ie when wwsympa sends commands to sympa.pl through the msg/ spool. src/lib/Lock.pm: [#6513] [Landry Breuil] Fix errors in apache error log (Use of uninitialized value in sprintf) when debug is enabled configure.ac, doc/Makefile.am: [#6855][S.Ikeda] Samples were installed under / and sympa.pdf was not installed. Added missing docdir def in configure.ac + AC_PREREQ(2.60) configure.ac: [O.Lacroix, CIRIL] ./configure --help was not consistant with the directory defaults. Changed the help message for the following options : --with-expldir, --with-spooldir, --with-scriptdir, --with-modulesdir ***** piddir default changed from PREFIX/var to /var wwsympa/wwsympa.fcgi.in: [#6879][reported by A.Koshokin, Intel] Fixed the BASE HTML tag. The base previously was the archive directory, now setting it to the archive message. Bug description: NAME anchors within HTML archived messages were broken. src/lib/Bulk.pm: [#7038][reported by D.Pritts, Internet2] Prevent duplicate entry error in Bulk::store(). This error occured while sending duplicate service messages (same content to the same user). The listmaster is no more notified, but the second instance of the message is still not sent; this should be fixed. wwsympa/wwsympa.fcgi.in: To field was not set while sending the sendpasswd service message. This bug was introduced in revision 5150. src/lib/Lock.pm: The debug4 log facility does not exist. Replacing its occurences with debug3. mail_tt2/listmaster_notification.tt2, src/lib/admin.pm: [#7053][D.Pritts, Internet2] Listmaster notification for renaming was wrong - got "list copied" notification instead. src/lib/Conf.pm: Previously only default distributed css.tt2 was used to generate CSS files in static_content/. Now also checking customized css.tt2. src/lib/List.pm: fix verp rate 0ase where Sympa do not send messages to subscriber with bounces src/sympa_wizard.pl.in: Encoding in body of web composed messages was broken. Now require version 1.03 of HTML::StripScripts::Parser wwsympa/wwsympa.fcgi.in: Functions rename_list and change_email could not be run by a robot listmater. Added missing $robot parameter to List::is_listmaster() calls Changes: configure.ac: [Submitted by G. Rousse, INRIA] Several improvments in configure.ac: - changed the minimal version of autoconf to 2.60 - factorization of the section regarding the FSH/non FSH alternative. Features: web_tt2/Makefile.am, web_tt2/ca.tt2, web_tt2/lca.tt2, wwsympa/wwsympa.fcgi.in: It is now possible to create Custom actions at the list or robot level. These custom actions allow you to create new pages in the Sympa web interface. for now, you can only display informations using this method. any post treatment (such as form submission) must be handled outside of Sympa. See https://www.sympa.org/manual_6.1/customizing#custom_actions for more details. 6.0.5 July 06, 2010 Bug fixes: src/lib/Lock.pm: The debug4 log facility does not exist. Replacing its occurences with debug3. 6.0.4 July 05, 2010 Bug fixes: src/lib/Lock.pm: [#6513] [Landry Breuil] Fix errors in apache error log (Use of uninitialized value in sprintf) when debug is enabled wwsympa/Bounce.pm: [#3881] [Michael Quintero] code to handle Groupwise 7 bounces wwsympa/wwsympa.fcgi.in: An extra "\n" appended to the "From:" field caused HTML message to be trimmed from their headers and consequently treated as plain text. This caused HTML messages to arrive as a plain text messages starting by SMTP headers. src/lib/LDAPSource.pm: [#6802] [T.Berry, NASA] Remove duplicate code + variable declared twice wwsympa/wwsympa.fcgi.in: [#6842] [S.Ikeda] /help/editlist does not show title of parameters src/lib/tools.pm: [#6901][reported by D.Black] tools::smime_decrypt() could make sympa.pl process crash. src/lib/tools.pm, wwsympa/wwsympa.fcgi.in: [S.Ikeda][#3779] Comma in gecos caused invalid From: in Web posting. New tools::addrencode() for proper encoding of From: SMTP header field according to RFC5322. src/lib/Upgrade.pm, wwsympa/wwsympa.fcgi.in: [#4106][reported by M.Larchet] Shared documents could not get manipulated. This was due to changes in the algorithm of MIME::EncWords::encode_mimewords() function (chars -_+! no more Q-encoded). The problem started with version 1.010 of MIME::EncWords. The fix consists in a massive renaming of shared files (according to new algorithm) during sympa.pl --upgrade. src/lib/mail.pm, wwsympa/wwsympa.fcgi.in: [#3984] [submitted by S.Kristoffersen] Restored code to add Auto-Submitted SMTP header field. mail::mail_file() does not set this header when 'not_auto_submitted' is set, ie when wwsympa sends commands to sympa.pl through the msg/ spool. Features: src/etc/create_list_templates/hotline/config.tt2, src/etc/create_list_templates/private_working_group/config.tt2, src/lib/List.pm, src/lib/confdef.pm, src/sympa.pl.in: [#6693] [requested by R.Sharshenov] New "reject_mail_from_automates_feature" list parameter allows to disable the detection (and rejection) of mails from automates. This detection is based on the From header field as well as the Auto-S ubmitted header field. A default behavior can be defined in sympa.conf. 6.1b.4 June 14, 2010 Bug fixes: src/lib/Lock.pm: Invalid log facility for some logs in Lock.pm. It looks like we can't go below debug3. src/lib/Bulk.pm: [#6937][#6907][#6915][Reported by S. Dukachev, A. Gouaux and A. Michon (in order of apparition)] The query used to store packets in the bulk_mailer table did enclose interger values between quotes, which is not correct. In addition, it obfuscated the problem that the '$merge' parameter was sometimes undefined. This led to trying to submit an insert query containg a value '' for an integer field. Fixed by suppressing quotes for integer values and ensuring that the $merge variable has a value set. web_tt2/Makefile.am: [Reported by P. Evans] The edit_config.tt2 file was not installed during the "make install" because it was not declared in the Makefile.am. 6.1b.3 June 07, 2010 Bug fixes: src/etc/script/create_db.Oracle, src/etc/script/create_db.Pg, src/etc/script/create_db.SQLite, src/etc/script/create_db.Sybase, src/etc/script/create_db.mysql: [Reported by A. Michon, IBCP and A.Gouaux] In the create_db.* scripts, some of the name of the fields related to DKIM were uncorrect, leading bulk.pl to fail starting. These names are now correct. src/etc/script/create_db.Pg: [reported by A. Michon, IBCP] A typo in create_db.Pg caused the db creation query to fail. 6.1b.2 June 03, 2010 Features: mail_tt2/user_notification.tt2, src/lib/Bulk.pm,src/lib/mail.pm, src/sympa_wizard.pl.in, web_tt2/Makefile.am, wwsympa/wwsympa.fcgi.in web_tt2/auto_signoff.tt2: Autosignoff footer link. It is nw possible to add a link in list messages which are customized for each user. When clicking this link, the user will trigger the sending of a confirmation email. This confirmation email contain an authenticating link. Clicking this link will unsubscribe the user. 6.1b.1 May 26, 2010 Features: ***** DKIM : Sympa now supports DKIM for message diffusion and control. ***** Incoming messages: Authorization scenarios can now use DKIM. Turning *****on the dkim_feature configuration parameter will provide a new authentication level *****to the scenario engine. Scenario evaluation for incoming messages with a valid DKIM *****signature (but no S/MIME signature) will be evaluated with authentication method dkim. *****So rules that use authentication method smtp will not match. You will nedd to update *****your scenarios if you want to use DKIM. ***** ***** Outgoing messages: You may want to make Sympa sign outgoing messages. *****Almost every aspects of DKIM signature behavior can be customized via Sympa *****configuration parameters. Please check the DKIM parameters section for *****further details. Note that each parameter can also be set for a given *****virtual robot; and most of them are available as list parameter. ***** *****Which messages should be signed? *****In order to configure Sympa for signing outgoing messages, you have to decide which messages Sympa should sign . This should be decided for four kind of messages: ***** Services messages : these are all messages sent by Sympa itself : welcome messages, answers to mail commands, various notification such as remind message and digest messages; ***** List messages : messages distributed to list members (where the initial From: header is preserved). These messages will fall is one one the following subcategory: ***** - authenticated messages (using S/MIME signature, challenge or password); ***** - received with a valid DKIM signature; ***** - validated by one of the list editors; ***** - other messages. ***** *****Server parameters used with DKIM: ***** o dkim_feature ***** o dkim_add_signature_to ***** o dkim_signature_apply_on ***** o dkim_private_key_path ***** o dkim_selector ***** o dkim_signer_domain ***** o dkim_signer_identity ***** o dkim_header_list ***** *****List parameters used with DKIM: ***** ***** o dkim_feature ***** o dkim_signature_apply_on ***** o dkim_parameters ***** + private_key_path ***** + selector ***** + header_list ***** + signer_domain ***** + signer_identity ***** ***** YOU WILL NEED TO ADAPT YOUR SCENARIOS TO USE DKIM. ***** PLEASE READ THE DOCUMENTATION: ***** http://www.sympa.org/manual_6.1/dkim [Submitted by J. jourdan] Exclude users. Beware, that this feature is different from the blacklist. Exclusion makes sense when a list is based on external data sources, thanks to exclusion, a user can unsubscribe (or being removed by list owner) even though he should be included via an external data source. Users get into the exclusion table, through the standard unsubscribe / delete functions. They get off the exclusion table with the standard subscribe / add functions. Adding of the table 'exclusion_table'. [Submitted by J. jourdan] "suspension of membership." The user can suspend his subscription to the lists that he subscribes. For a finite length or not. Added a calendar in javascript to select a date. [Submitted by J. jourdan] Messages parsing; custom attributes can be now used as parameters for TT2 tags in messages distributed by Sympa. This adds notably the possibility to add authenticated unsubscribe URL to message footers. merge is controled by a list|robot paremeter : merge_feature on|off soap/sampleClient.php, soap/sympa.wsdl, soap/sympasoap.pm: Now soap complexWhich service include subscribers information about bounce mail_tt2/listowner_notification.tt2, src/lib/Commands.pm, src/lib/Conf.pm, src/lib/List.pm, src/sympa.pl.in, web_tt2/javascript.tt2, web_tt2/menu.tt2, web_tt2/nav.tt2, web_tt2/review.tt2, web_tt2/serveradmin.tt2, web_tt2/subscriber_table.tt2, wwsympa/wwsympa.fcgi.in: sympa.pl --conf2db load in database sympa.conf, wwsympa.conf and robot.conf src/lib/List.pm, src/lib/confdef.pm, web_tt2/renewpasswd.tt2, wwsympa/Auth.pm, wwsympa/wwsympa.fcgi.in: max_wrong_password robot parameter (default 19) now Sympa block account after this number of wrong account submition is reached. Needed to block brut force attack. configure.ac, src/bulk.pl.in, src/etc/script/create_db.Oracle, src/etc/script/create_db.Pg, src/etc/script/create_db.SQLite, src/etc/script/create_db.Sybase, src/etc/script/create_db.mysql, src/lib/Bulk.pm, src/lib/Upgrade.pm, src/lib/mail.pm: two new fields in the database : - messageid_bulkspool in bulkspool_table - messageid_bulkmailer in bulkmailer_table These fields both contain the value of the "Message-ID" SMTP header for each message -or packet - to be sent. This allows more reliable logs about the treatment of messages all along the distribution chain. doc/sample/test/web_tt2/welcome.tt2, soap/sympa_soap_client.pl.in, sympa.spec.in: add new features to soap client : add,del,subscribe,signoff doc/sample/test/web_tt2/welcome.tt2, src/lib/Conf.pm, sympa.spec.in, wwsympa/wwsympa.fcgi.in: Extended the format of the generic_sso paragraph in auth.conf. Added two new parameters : - http_header_list : allows to explicitely list HTTP header fields that should be cached in sympa user_table. - http_header_value_separator : user attributes may be multi-valued (including the user email address. This parameter defines the values separator ; defualt is ';' (adapted for Shibboleth) Changes: soap/sampleClient.php, src/lib/Message.pm, src/lib/Scenario.pm, src/lib/confdef.pm, src/sympa.pl.in: spam_status message property is now evaluated from a scial scenario spam_status. This scenario accept ham, spam and unsure as result. This replace the antisspam_header_name antispam_tag_header_spam_regexp mail_tt2/digest.tt2, mail_tt2/digest_plain.tt2, mail_tt2/get_archive.tt2, mail_tt2/global_remind.tt2, mail_tt2/helpfile.tt2, mail_tt2/info_report.tt2, mail_tt2/review.tt2, mail_tt2/summary.tt2, src/lib/mail.pm, src/lib/tools.pm, src/lib/tt2.pm, src/sympa_wizard.pl.in, wwsympa/wwsympa.fcgi.in: [Submitted by S. Ikeda] Line wrapping is now enabled for both European and non European languages. src/etc/script/create_db.Oracle, src/etc/script/create_db.Pg, src/etc/script/create_db.SQLite, src/etc/script/create_db.Sybase, src/etc/script/create_db.mysql, src/lib/Upgrade.pm: change database structure in order to store nimber of wrong login attempts src/bulk.pl.in, src/lib/Bulk.pm, src/lib/List.pm, src/lib/mail.pm, web_tt2/suboptions.tt2, wwsympa/wwsympa.fcgi.in: Is is now possible to enable topics chen the reception mode is 'mail', 'notice', 'not_me', 'txt', 'html' or 'urlize'. web_tt2/get_inactive_lists.tt2: [Submitted by M. Warkus] Lists for which no message was ever sent will display a user friendly message instead "January 1 1970". doc/sample/test/web_tt2/welcome.tt2, src/lib/Archive.pm, src/lib/Message.pm, src/lib/PlainDigest.pm, src/lib/mail.pm, src/lib/tools.pm, src/sympa_wizard.pl.in, sympa.spec.in, wwsympa/wwsympa.fcgi.in: Changes to the cpan installation process : - Mail::Internet and MIME::Lite modules not directly required - fix calls to install_module() - added informations about prerequisites - generalized the 'usage' entry for each module - added an introduction to warn the user about the length/nature of the process [Submitted by M.Warkus, Univ. Marburg, Germany] fixing many German translations as well as typography errors. doc/sample/test/web_tt2/welcome.tt2, src/lib/Makefile.am, sympa.spec.in: AuthCAS module used to be distributed with Sympa. Since Sympa 6, it is a standalone CPAN module. The module still has the same name, therefore old installed versions of the module need to be removed src/sympa_wizard.pl.in, wwsympa/wwsympa.fcgi.in: [#6022][Submited by Soji Ikeda] Text::Wrap module worked only with languages with word separator (space). New module Text::LineFold supports most languages. src/etc/script/sympa.in: [proposed by Jpse-Marcio Martins] no more check the OSYTE, check if functions file exists instead Bug fixes: wwsympa/wwsympa.fcgi.in: Dan Pritts fix https://sourcesup.cru.fr/tracker/index.php?func=detail&aid=6839&group_id=23&atid=167 src/lib/List.pm: Reverting a part of revision #6227. This lead to datasources loosing all their subscribers when using a single datasource and the synchronizing failed. src/lib/List.pm: When calling send_notify_to_owner, the '$param' parameter was used as a hash, wihout checking first that it was actually a hash. in some cases though, such as in set_status_family_closed(), it was a ref to an array. This caused Sympa to crach with a "Can't coerce array into a hash" error. Fixed by moving the bad line in the hash-specific part of the sub. wwsympa/wwsympa.fcgi.in: security fix : block login submitted with any http method but POST. (security audit vuln #5) web_tt2/edit_config.tt2: missing template for config editor src/etc/script/arc2webarc.pl.in: fix incorrect check of date format that block 2010 messages (reported by Omen Wild (ucdavis.edu) src/etc/script/create_db.Sybase: fix missing conf_table in Sybase creation script. web_tt2/error.tt2, wwsympa/wwsympa.fcgi.in: Now shared document can't be read or edited unless list is open. This is a security fix soap/sympa_soap_client.pl.in: Fixed a bug that prevented authentication while using authenticateAndRun() src/lib/SQLSource.pm: [Submùitted by F. Lachapelle, Inverse] If the db_type is set to Oracle and db_port is specified in the main configuration file, than the port would appear two times in the connection string. src/lib/tools.pm: [reported by F.Fareneau, univ Valenciennes] shared documents/folders names were badly encoded while using Encode >= 2.19. The issue was related to a low level subroutine (Encode::MIME::Header::_encode_q()) that slightly changed its API (expecting unicode instead of bytes parameter). Now using MIME::EncWords::encode_mimewords() instead. src/lib/tools.pm: [#6552] [Soji IKEDA] Wwsympa would stall while loading session data including metacharacters. Existing code (tools::string_2_hash()) would loop on a regular expression match. Patch also escapes ``"'' characters. src/sympa.pl.in: [Submitted by H. Moa] Some message could cause a sympa.pl crash. Fixed by embedding the dangerous part of the code in an eval statement. src/lib/List.pm: Users received the same message multiple times. This was due to a problem in the VERP provisionning. When filling the array containing the users for which VERP will be used, Sympa add to sources of users : a certain rate of all the users and all the users that have a high bounce rate already. for each reception mode, Sympa provisions VERP users this way. the problem was the following: for each reception mode, Sympa used the list of users using the default distribution mode instead of the list of users using the specific distribution mode currently treated. this lead to the addition, to the list of bouncing users of each reception mode, the list of users selected to receive the message in VERP for normal reception mode instead of the high bouncers for this reception mode. fixed by using an aray variable regarding the kind of reception mode currently treated. src/bulk.pl.in, src/lib/tools.pm: When parsing a message to merge or verifying DKIM signature, a MIME::Parser object was created and the message parsed into a MIME::Entity. The output of the parser was not set to core, so it used its default: the filesystem. It led to the creation of a lots of files in the expl directory, that were never removed. Fixed by adding the line : src/bulk.pl.in: bulk.pl exited when it could not remove the packet it had juste sent. It now only issue an error messge in the logs. mail_tt2/urlized_part.tt2, src/lib/List.pm: Urlize messages charset was nor properly set. Consequently, bulk crashed when trying to merge the message. In addition, a faulty var name caused Sympa to try to send the originla message instead of the urlized message. src/lib/Bulk.pm: Messages were tagged multiple times as last. mail_tt2/command_report.tt2: fixed bug introduced in revision 6187. Sympa.pl would send empty command reports with a "Failed to parse command_report.tt2 : Template::Exception" error in its log file wwsympa/wwsympa.fcgi.in: Fixed bug introduced in revision 5998. web signoff did not recognize authenticated users. src/bulk.pl.in: When merge was not activated, Messages were not initialized, leading to empty messages. src/lib/Bulk.pm: remove usage of fingerprint authentication token web_tt2/compose_mail.tt2: remove some coin coin style text src/lib/List.pm: [#3047][reported by N.Chipaux, Mandriva] Some service messages sent by Sympa would use an unappropriate language (did not match the user language). This issue happened whenever a message was sent to more than one reciepient; the first user's language was used for the following ones. Fixed List::send_file() and List::send_global_file(): now duplicating the 'context' parameter to prevent changes of the original data structure. src/lib/confdef.pm: http_host was not set by default in syma.conf, making the sympa wizard to fail starting. doc/sample/test/web_tt2/welcome.tt2, sympa.spec.in, wwsympa/Auth.pm: [Submitted by M. Warkus, univ. Marburg] When a user logged in, using LDAP, by providing an email address, if this email was not the first one in the LDAP email attribute, then the uiser was not logged with the address she provided but with the default address found in the LDAP directory. Now, if an email is provided and the login is successful ,the user is logged in with the email she provided. doc/sample/test/web_tt2/welcome.tt2, soap/sympa_soap_client.pl.in, sympa.spec.in: Fixed a typo in the sympa_soap_client.pl command line tool that prevented the service parameters to be used. doc/sample/test/web_tt2/welcome.tt2, src/sympa_wizard.pl.in, sympa.spec.in: Installed MHonArc version was not properly detected doc/sample/test/web_tt2/welcome.tt2, src/sympa_wizard.pl.in, sympa.spec.in: Can't do $module->require() since we no more require the UNIVERSAl::require module. Replaced with eval "require $module". Makefile.am: [Submitted by M.Deranek] On a multi core system, installdir & installconfig targets can run in parallel. Added a dependency between these targets. doc/sample/test/web_tt2/welcome.tt2, src/lib/Bulk.pm, src/lib/List.pm, sympa.spec.in: Missing "use WebAgent" directive since recent reorganization of code (revision 5939). Makefile.am, doc/sample/test/web_tt2/welcome.tt2, src/lib/tools.pm, sympa.spec.in: [#6380][Reported by M.Warkus, Philipps-Univ. Marburg] Added a line break to written PID files. configure.ac, doc/sample/test/web_tt2/welcome.tt2, sympa.spec.in: Fix typo introduced in recent commit. src/lib/Conf.pm: [Submitted by M. Warkus, univ.Marburg] Inverted test caused the config not to be loaded. Makefile.am: The last install message didn't tell to launch sympa_wizzard.pl but sympa.pl. src/lib/Conf.pm, src/lib/confdef.pm: Now Sympa don't complain about optional robot parameters without definition in sympa;conf and wwsympa.conf. Sympa now stop because of required robot parameters without value (minimum a default). wwsympa/wwsympa.fcgi.in: [reported by N.Matthies] Added notice when user preferences have been updated doc/sample/test/web_tt2/welcome.tt2, po/de.po, po-wwsympa/de.po, sympa.spec.in, web_tt2/help_listconfig.tt2, web_tt2/help_shared.tt2, web_tt2/help_user.tt2: [Submitted by M. Warkus, univ. Marburg] Reporting commits 6012 and 6013 from the 6.0 branch: german translation and fixed typos in webhelp. src/bulk.pl.in: bulk.pl now uses the "use strict" pragma. Some variables were not properly defined. 6.0.3 June 03, 2010 Bug fixes: src/lib/SQLSource.pm: [Reported by O. Germes, univ. Rennes1] The upper case "O" in "Oracle" caused the task_manager.pl to be unable to synchronize datasources. This is a quick fix that reverts the patch for bug [#6603]. src/lib/Conf.pm: [submitted by G. rousse, INRIA] Spool directories created in Conf.pm didn't have ownership set, meaning they belonged to root.root, preventing sympa to create new content therein, preventing sympa.pl to start. src/bulk.pl.in: [Reported by S. Bosquin, Ejinov] A bad variable name seemed to have appeared just before the version tag, making bulk.pl to fail starting. Fixed by giving the right name to this variable. 6.0.2 May 28, 2010 Bug fixes: src/lib/Bulk.pm: [Submitted by S. Ikeda] When bulk_max_count was increased, some message packets were processed more than once. Fixed to check that a packet is really not locked before trying to send it and using a prepared statement to quicken lock process. wwsympa/wwsympa.fcgi.in: Dan Pritts fix https://sourcesup.cru.fr/tracker/index.php?func=detail&aid=6839&group_id=23&atid=167 src/bulk.pl.in: When a packet was found which corresponded to no message in the spool table, then an empty message was sent anyway. Should such a case arise again, the packet would be deleted. src/lib/List.pm: Reverting a part of revision #6227. This lead to datasources loosing all their subscribers when using a single datasource and the synchronizing failed. src/lib/List.pm: When calling send_notify_to_owner, the '$param' parameter was used as a hash, wihout checking first that it was actually a hash. in some cases though, such as in set_status_family_closed(), it was a ref to an array. This caused Sympa to crach with a "Can't coerce array into a hash" error. Fixed by moving the bad line in the hash-specific part of the sub. src/lib/List.pm: [Submitted by M. Brethous, Orange FT Group] When a file was used as datasource for subscribers inclusion, no test was done on the data found in the file. This led to 100% CPU usage when, for example, a very large excel file was used instead of a normal text file - a likely error when sources are handled by list owners. Fixed by cancelling inclusion when no valid email is found in the 50 first non empty lines of the source file. src/lib/Bulk.pm: Fix a bug reported by K Clair (riseup) and Thomas Berry (nasa) : no purge where done in bulk_spool_table. src/sympa_wizard.pl.in: [Submitted by R. ANDERSSON] With older version of DBD::Mysql, bulk.pl happened to die with an "Out of memory!" cry. Fixed by increasing the version to the oldest fixing this problem. See http://bugs.mysql.com/bug.php?id=19453 for more details. src/lib/SQLSource.pm: [Submitted by T. Berry, NASA] Some SQL statements with Sybase failed when the actual backend was Microsoft SQL Server 2005 sp3. This was due to a double quote in the definition of a constant breaking the query. Fixed by replacing double quotes by slash-escaped simple quotes. src/lib/Log.pm: [Submitted by P. DiCamillo, univ. Brown] Using Oracle 10, the logs for the list were never displayed in the web interface. This was due to Oracle returning 0 to function $sth->rows, before any row are fetched. fixed by first trying to fetch rows before counting the number of rows. src/sympa_wizard.pl.in: [Reported by M. anderson, riseup.net] changed the minimal version of Time::hires to the older which doesn't seem to have any problem with the "time()" function. po/ar.po, po/bg.po, po/br.po, po/ca.po, po/cs.po, po/de.po, po/el.po, po/en_US.po, po/es.po, po/et.po, po/eu.po, po/fi.po, po/fr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/la.po, po/ml.po, po/nb_NO.po, po/nl.po, po/oc.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/sv.po, po/sympa.pot, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, web_tt2/home.tt2: [Reported by M. deranek, slonko.net] Removed inheritance of a faulty message with the sympa email address in it. Makefile.am: [Reported by P. Polkinghorne, Brunel univ.] The message displayed at the end of the "make install" didn't make it clear that the Perl modules checking must be done before any other upgrade or setting operation. wwsympa/wwsympa.fcgi.in: [Submitted by K. Maneva-Jakimoska, univ. Montclair] when a user had set her name, she could not delete it. the only was to set it as ' '. fixed by setting it to undef if no value is provided by the form. wwsympa/Bounce.pm: [Reported by Q. Brown, univ. Simmons] Sympa misinterpreted a header added by the puremessage antispam engine when no from was present in a bounce file. this lead to huge filenames for bad bounces and overwhlmingly large logs. src/lib/List.pm: [Submitted by R. Pinson] When a cutsom_subject was used AND the user added the tag herself AND The subject was a multi-line subject, then only the first line of the subject was kept in the final messgage. Fixed by changing the way Wympa catches the non-funtional (subject message and "Re:") part of the subject. wwsympa/wwsympa.fcgi.in: [Submitted by K. clair, when no user was bouncing in a list, trying to access to the bounces review lead to a cryptic error : "No page 1". Fixed by checking if there are more than 0 bounces before issuing an error. src/lib/Upgrade.pm: [Reproted by M. Deranek, slonko.net] Upgrade.pm had three problems : src/lib/Conf.pm: [Reported by J. Bazik, Brown University] When the 'sendmail_aliases' parameter was set to 'none', a file named 'none' was still created in the list_data directory. Fixed by testing the value of this parameter before creating the file. src/lib/Lock.pm: [Reported by J. Bazik, Brown University] In the subroutine Lock::_lock_nfs, if File::NFSLock failed, the else clause attempted to close a filehandle that was never set. Fixed by removing this closing attempt. Makefile.am: During the make isntall, the Makefile used a line tha ttested the existence of the data_structure.version file in the sympa subdirectory of etc. If the file did not exist, then it was created. Problems: configure.ac: [Reported by M. Deranek, slonko.net] While running configure, the option "--with-localedir" could be used, but a warning was issued, stating that this option was obsolete. But the replacement option proposed (--localedir) was invalid. Fixed by deleting this warning message and the overall documentation in configure. Same problem fixed with the pair "--with-docdir"/"--docdir". src/lib/Upgrade.pm: [Submitted by M. Deranek, slonko.net] The upgrade process failed with SQLite, because DBD::SQLite >= 1.26_02 returns the table names prefixed with "main". web_tt2/compose_mail.tt2: [Submitted by M. Warkus, univ. Marburg]When accessing the "Compose message" page from an archive by selecting "sender", "list" or "both" with the radio buttons, the selected destination address appeared next to two buttons: "Send to the list" and "Send to me". wwsympa/wwsympa.fcgi.in: Avoid to print a sybillin message when no bounces exist. If nothing exist, just go on and display a page with no entries. src/lib/SQLSource.pm: [Submitted by F. Lachapelle, Inverse] If the db_type is set to Oracle and db_port is specified in the main configuration file, than the port would appear two times in the connection string. Fixed by removing useless isolated port insertion in the connect string, as it is done for any connection in a central place. src/lib/tools.pm: [reported by F.Fareneau, univ Valenciennes] shared documents/folders names were badly encoded while using Encode >= 2.19. The issue was related to a low level subroutine (Encode::MIME::Header::_encode_q()) that slightly changed its API (expecting unicode instead of bytes parameter). Now using MIME::EncWords::encode_mimewords() instead. src/lib/tools.pm: [#6552] [Soji IKEDA] Wwsympa would stall while loading session data including metacharacters. Existing code (tools::string_2_hash()) would loop on a regular expression match. Patch also escapes ``"'' characters. Changes: po/Makefile.in.in: Updated the make rules for i18N to update the English catalogue withou loosing customization. 6.0.1 9th December 2009 Bug fixes: [Submitted by Wen Si] "date" is a reserved keywork with Oracle. Fixed by replacing all the occurrences of "AS date" by "AS \"date\". wwsympa/wwsympa.fcgi.in: [Submitted by T. Bellempois, ENS Lyon] In case of CAS error, wwsympa.fcgi crashed, because it was calling a subroutine in the module CAS, which doesn't exist in Sympa, instead of AuthCAS. mail_tt2/listmaster_notification.tt2, wwsympa/wwsympa.fcgi.in: [Reported by P. Maes, univ. Louvain] The report sent to the listmaster when a user cloned a list said " was cloned as ". the old listname was not used. src/sympa.pl.in: [Submitted by H. Moa] Some message could cause a sympa.pl crash. Fixed by embedding the dangerous part of the code in an eval statement. src/etc/script/tpl2tt2.pl.in: [Reported by A. Schieber, AMUE] tt2.pl was still called by tpl2tt2.pl, though the former has been renamed to tt2.pm. configure.ac: [Submitted by G. rousse, INRIA] Existence of a postfix command was tested in the configure step. failing to find such a command caused the configure to stop. As postfix is not mandatory, such a behaviour is a bug. Check command path (both for postmap and newaliases) only if explicitely given by user, otherwise it revert to default values. configure.ac: [Submitted by G. Rousse, INRIA] Verifies in detail that the newaliases commnd exists and is executable by Sympa. Changes: po/ po-wwsympa: [Submitted by M. Warkus, univ. Karlsruhe]: All the i18n strings include now diacritics signs, such as semi-column. this allows to respect each language's typography rules. po/de.po, /po-wwsympa/de.po: [Submitted by M. Warkus, univ. Karlsruhe] Updated german translations. po/pl.po: [Submitted by Marcin Woloszyn, Silesian univ. of Poland] Updated polish translation. 6.0 1st October 2009 The changes and features below are the compilation of the announces made for the previous beta releases of Sympa 6.0. Son't bother read them if you followed the beta. The bugs specifically fixed in each beta are still referred in these beta version sections below. Features: ***** New bulk.pl daemon installed with Sympa. This daemon is dedicated to mail distribution and ***** allows to parallelize this process on a single server as well as on multiple servers. ***** The main bulk.pl processes will automatically fork new processes, depending on the amount ***** of messages left in the database. You can control this behavior with the parameters ***** bulk_fork_threshold, bulk_max_count,bulk_fork_threshold, see below. ***** ***** Messages spool used by the bulk.pl daemon is stored in the database, in two tables : ***** - bulkspool_table : one entry per message ***** - bulkmailer_table : subset of receipients for each message ***** New associated sympa.conf parameters : ***** - bulk_fork_threshold : minimum number of packets in database before the bulk forks to increase sending rate ***** - bulk_max_count : max number of bulks that will run on the same server ***** - bulk_lazytime : number of seconds a slave bulk will remain running without processing a message before ***** it spontaneously dies ***** - bulk_wait_to_fork : number of seconds a master bulk waits between two packets number checks ***** - sympa_packet_priority : default priority set to a packet to be sent by the bulk (for future use) ***** - pidfile_bulk : location of the daemon PID file ***** [Olivier Lumineau, CRU] Fresh new web CSS for the web interface. ***** Here is the list of changes in the web interface : ***** - New css.tt2 ***** - A new Sympa logo :-) ***** - New navigation menu through list admin menu and server admin menu ***** - Miscellaneous modifications in templates (list_admin_menu.tt2 not used anymore) ***** WARNING : if you customize your own templates you may notice some mess in the page layout. ***** In such a case compare your templates to the distributed version and report any difference ***** to your own files... ***** Replace storage of password with encryption by md5 fingerprint. This ***** make remind password impossible. So now a one time ticket table is created ***** ticket are sent by email as an authentication token. Ticket can be used ***** for lost password, create account, moderation request . It should be ***** generalized to all operation that need a email chalenge. ***** ***** sympa.pl --md5_encode_password change password encoding in the database using md5.So IT IS NOT REVERSIBLE, ***** so you should save the database (in a safe place to protect password) ***** ***** ***** ***** UPGRADING TO SYMPA 6.0 WILL NOT BE REVERSIBLE! ***** BECAUSE WE DRASTICALLY CHANGED THE WAY THE PASSWORDS ARE STORED, ONCE YOU UPGRADED TO 6.0 ***** YOU WILL NEVER BE ABLE TO USE THE SYMPA DATABASE WITH A PREVIOUS VERSION AGAIN (UNLESS YOU ERASE ALL PASSWORDS) ***** SO IF YOU'RE NOT SURE YOU WILL KEEP SYMPA 6.0, ***** ***** MAKE SURE YOU SAVED YOUR DATABASE BEFORE UPGRADING! ***** ***** MAKE SURE YOU SAVED YOUR DATABASE BEFORE UPGRADING! ***** ***** src/Conf.pm, src/sympa_wizard.pl: Four new languages are now available by default in Sympa: - Bokmal (B. C. Aasgaard) - Polish (L. Zygmanski) - Finn (J.P. Paloposki) - Vietnamese (C. Siddall) Thanks to the translators for their efforts! /po/Makefile: New make command: "clean-po". Updates the PO catalogues but doesn't try to save strings that disappeared in this version. New button to toogle select/unselect all spams in modindex page New propertie in object message : spam_status . This feature is used in modindex (listing of message waiting for moderation) to show message tagued as spam. 4 new parameters : - antispam_feature default off - antispam_tag_header_name default X-Spam-Status - antispam_tag_header_spam_regexp default ^\s*Yes - antispam_tag_header_ham_regexp default ^\s*No If you change antispam_feature to value 'on' the other parameters default are compatible with spamassassin defaults. src/sympa.pl: new sympa.pl options in order to recode shared document files and solve charset slag src/Conf.pm: Legacy character set support (submitted by S. Ikeda) is now enabled if the 'legacy_character_support_feature' sympa.conf parameter is set to on. New parameter 'legacy_character_support_feature'. If set to 'on', legacy character support will be enabled, as discussed in https://listes.cru.fr/sympa/arc/sympa-dev/2006-09/msg00029.html and its follow-ups. Any other value or no definition at all disables the functionnality. Now http://server/sympa/ is redirect to http://server/sympa/info/ insteed of "unkown action" error New database table in order to store robot config parameters that can be edited inline. This feature is used for color edition in sympa admin/skinsedit New scenario test : less_than. (Submitted by S. Amrani, gendarmerie nationale). It Allows to compare two values. Is true if the first one is less than the second one. Works with strings, too, if you like. Now sympa.pl --test_database_message_buffer can be used in order to verify database capacity to store messages spool (dirty output a nicer is needed ;-) New delivery_time list parameter in order to make distribution at a specified time Now template of lists created using web interface can use any input from the create_list_request form referenced as [% custom_input.VARNAME %] New parameter 'inclusion_notification_feature'. If its value is set to 'on', subscribers are notified when they are included in a list through an external datasource. We no longer use the visibility to manage this behaviour to avoid confusion for users and an overwhelming number of scenario evaluations. New inline color editor (skins section from "sympa admin") New [% editor_msg_body %] mail_tt2 variable : When rejecting a message by email reject command, the message body is transmisted to the tt2 parser so it is now possible to print the message body in the notification sent to the original message sender. The tt2 var to use is [%editor_msg_body%] The change_email feature has been rewritten as follows: - using authenticating URLs to check the new user email (instead of collecting his password) - provide an equivalent listmaster feature to change a user's email address - check if user is included ; if so, notify the list owner - rename list member picture if he changes his member email address [Peter Hart] Message moderation : Added a new function for the moderation of messages. On rejection of messages personalised messages can be created and saved and used to give more information as to why these messages were refused by the moderator. [Peter Hart] New scenario condition verify_netmask. exemple : verify_netmask('1.12.123.00/24') (changes in intanet scenrii are just comment because we don't have access to the local netmask of installation) [Roland Hopferwieser] Extended the ldap_alias_manager.pl to use template to create LDAP entries. Also added a simulation mode for debug purpose. New sympa;conf parameters to control logging for a specific module. Current version provide only logs for scenario . - log_condition is used to controle in which case logs are applied. Both are multivaluated (list of values comma separated). Example: log_module scenario,smtp - log_condition ip=127.0.0.1,email=foo@domain - log_module is not implemented for most modules. 'log_module smtp' should replace the option sympa.pl -m Clone list : a new way to create lists : creation list form allows now to clone a list as a new empty list, all config and customization are copied but not subscribers, archives and shared. src/lib/Conf.pm, wwsympa/wwsympa.fcgi.in: Extended the format of the generic_sso paragraph in auth.conf. Added two new parameters : - http_header_list : allows to explicitely list HTTP header fields that should be cached in sympa user_table. - http_header_value_separator : user attributes may be multi-valued (including the user email address. This parameter defines the values separator ; defualt is ';' (adapted for Shibboleth) soap/sympa_soap_client.pl.in: add new features to soap client : add,del,subscribe,signoff Changes: ***** [Submitted by G. Rousse, INRIA] A lot of modification brought to the autotools usage in Sympa. ***** This is still a work in progress, but should make the life of Sympa packagers quite easier once it is finished. ***** This work has greatly simplified all Makefiles, turned into Makefile.am ***** Substitutions in perl modules are now performed at the "make" time, no more during "make install" ***** ***** HERE IS THE LIST OF SIGNIFICANT CHANGES REGARDING THE INSTALLATION PROCESS: ***** - Default sympa configuration files, previously stored in PREFIX/bin/etc/ are now stored in ***** PREFIX/share/default/ directory ***** ***** - Most --with-xxdir configure options are now obsolete, replaced by equivalent standard --xxdir options ***** Here is the list of concerned options : ***** --with-etcdir => --sysconfdir ***** --with-bindir => --bindir ***** --with-sbindir => --sbindir ***** --with-libexecdir => --libexecdir ***** --with-datadir => --with-defaultdir ***** --with-libdir => --with-modulesdir ***** --with-localedir => --localedir ***** --with-mandir => --mandir ***** --with-docdir => --docdir ***** --with-sampledir => now installed with the documentation ***** ***** - Most default installation directories have been change to adopt standard FHS-compliant locations ***** However, the distributed tar.gz still uses most of the previous locations to make upgrade process ***** less awkward. If you run "./configure ; make ; make install" with the tar.gz things will install as ***** usually. ***** If you run autoconf, it will define the set of target directories either the old way ***** or the FHS way, depending on wether it finds an existing /etc/sympa.conf file. ***** ***** - Removed obsolete sudo wrappers ; Sympa now includes C wrappers for both wwsympa.fcgi and sympa_soap_server.fcgi ***** Check the manual for more informations on that topic ***** New required library : gettext-devel ***** New required CPAN modules : ***** - AuthCAS : replaces the Sympa's CAS.pm own library ***** - File::Copy::Recursive ***** - Net::Netmask ***** - Term::ProgressBar ***** - Time::HiRes ***** - MIME::Lite ***** - MIME::Lite::HTML ***** - Email::Date::Format [Submitted by G.Rousse, INRIA] check_perl_modules.pl now replaced with sympa_wizard.pl --check. All recent changes in check_perl_modules.pl have been reported in sympa_wizard.pl When subscribing to a list, the confirmation popup now shows up only if no custom attributes will be used; Otherwise, this would require that the user confirm twice : first in the popup, then in the custom attributes form; Also adapted the text displayed in the submission form to custom attributes. No more require Net::SSLeay perl module. Using LWP::UserAgent instead Now, when performing "make update-po", the catalogue file to update is temporarily saved to avoid losing strings from beta version when updating stable version, or vice-versa. Both updated and saved files are then merged. If a message is tagued as a spam and if it is to be moderated or rejected, do not send a report information to the message sender even if the scenario did not return 'quiet' directive Now message for moderation is not attached in the message sent to the moderator if tagued as spam. Now archives by thread or by chronologie is a session attribute (and a user preference). This feature also fix a bug related to the way archives are cached by client. Now page are "static" for robots (as detected by SympaSession) and dynamic for any others. Now if antispam_feature is configured, sympa robot will ignore incomming command messages if tagued as spam. By the same way, spam messages for listmaster, list-request and list-editor will be ignored. Such messages are moved in spool bad and message-id is loggued. New structure %required_args defining required parameters, %required_privileges defines required privileges to run actions and new subroutine check_action_parameters() that does the checking. Removed 1200 lines of code in wwsympa.fcgi Changes regarding SOAP session management : * SOAP session now uses the session DB table * session_id can be validated, checked, used in authenticateAndRun() * sympa_soap_client.pl has been extended : new --session_id option, new supported service --service=getUserEmailByCookie No more store unknown bounces in OTHER directories. They are now kept in a bad/ subdirectory in the bounce spool. When subscribing to a list, the confirmation popup now shows up only if no custom attributes will be used; Otherwise, this would require that the user confirm twice : first in the popup, then in the custom attributes form; Also adapted the text displayed in the submission form to custom attributes. css modifications for different internet explorer versions compatibilities Notifications are now sent to users, for remind, add and del commands, only if the visibility is set to true for these users. Notifications can now be sent to users included by external data sources, when they are added or removed from user list. Recent versions of Oracle do support the AS clause Web interface: - Adding HTML comments in web templates to help users spotting which template is used for customizing purpose. - Alphabetical index of lists in lists action. - added contextual help links whenever appropriate - thread/chronological archive sorting is now a user session preference Use homogenous terminology for authentication. Also use one-time tickets for web signoff now [reported by Micah Anderson, Riseup] Micah reported problems with the use of $* instead of /m in the parser.pl module. It was a good oportunity to remove the old parser code that was used by the task_manager only. The task_manager now uses the TT2 parser. It forces us to change the task template format for structured variables : [x->y] should now be written [x.y]. [submitted by Peter Langhans, univ Zurich] in create_list form, bring back the form if a parameter is missing [proposed by Peter Langhans, univ Zurich] made units for list parameters translatable Add "toggle selection" button in list of closed lists Now raising an error if alias_manager failed to install new aliases [#713] Now notifying new list owners/moderator as they are added to the list configuration. [#534] added more informations to the reviewbouncing page (bounce total, first bounce and last bounce date). Now printing "no score" when the bounce score could not be computed Show custom attributes as cells in the list members html table. Now it can be copy&paste in openoffice or excel. SOAP server : Changes regarding SOAP session management : - SOAP session now uses the session DB table - session_id can be validated, checked, used in authenticateAndRun() - sympa_soap_client.pl has been extended : new --session_id option, new supported service --service=getUserEmailByCookie [Reported by L. Gentis, IUFM Lorraine]When updating a config file while the upgrade process, the "email" parameter value of the "update" paragraph was set to 'listmaster'. However, this value was validated against a regexp for emails. this produced an error log, as 'listmaster' is not a valid email address. Fixed by allowing 'listamster' and 'automatic' strings in this regexp. 'automatic will be used to designate updates done by processes instead of users. Message moderation : - Now message for moderation is not attached in the message sent to the moderator if tagued as spam. src/confdef.pm: define longer period for default values of cleandelay_xx parameters src/lib/List.pm, /src/lib/confdef.pm: Now ttl and distribution_ttl list parameters take their defaults in default_ttl and default_distribution_ttl sympa.conf parameters. po/de.po, po-wwsympa/de.po: [Submitted by M. Warkus, univ. Marburg] Updated German translation. ***** The directory in which all the default configuration files and directories is installed ***** is now "default", under the root installation directory. In the previous release, it was ***** share/sympa/default. You should remove this directory now to avoid confusion. ***** New configure option: '--enable-fhs'. Sympa supports two kinds of files hierarchies. ***** The historical one, where by default all is gathered in the Sympa directry, and also the FHS ***** recommended hierarchy. Now if the '--enable-fhs' configure option is set, Sympa is installed ***** according to the FHS. Otherwise, it is installed using the historical paths. sympa.spec.in: [proposed by Jose-Marcio Martins] no more check the OSYTE, check if functions file exists instead. [Suggested by G.Rousse] removed 'check-macro-version' Makefile target to avoid the "*** warning: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.17 but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" error. The check can be safely removed because very few macros are used ***** [#6190][Submitted by P.Crandall, univ Chicago] custom inputs, set in create_list, are now clearly prefixed ***** in the create_list_request.tt2 HTML form. Prefix is 'custom_input.' src/lib/Makefile.am: AuthCAS module used to be distributed with Sympa. Since Sympa 6, it is a standalone CPAN module. The module still has the same name, therefore old installed versions of the module need to be removed po/de.po: [Submitted by M. Warkus, univ. Marburg] Updated German translation. src/lib/CAS.pm: Use a standard AuthCAS module instead of CAS.pm check_perl_modules.pl, src/sympa_wizard.pl.in: check_perl_modules.pl now replaced with sympa_wizard.pl --check src/lib/Archive.pm, src/lib/Message.pm, src/lib/PlainDigest.pm, src/lib/mail.pm, src/lib/tools.pm, src/sympa_wizard.pl.in, wwsympa/wwsympa.fcgi.in: Changes to the cpan installation process : - Mail::Internet and MIME::Lite modules not directly required - fix calls to install_module() - added informations about prerequisites - generalized the 'usage' entry for each module - added an introduction to warn the user about the length/nature of the process ***** configure.ac: default value for localstatedir changes from $prefix/var to /var. ***** This change should make upgrade easier for sympa 5.x and previous ***** The expl directory has been renamed "list_data". This name better reflects the actual directory content. ***** If you are upgrading from a previous version, you SHOULD: ***** 1- rename you "/home/sympa/expl" directory to "/home/sympa/list_data" to reflect this change. ***** 2- set the "home" sympa.conf parameter to "/home/sympa/list_data". Makefile.am, NEWS, configure.ac: - Improving the last install message to help people know what command is required to have a running Sympa. - Restoring usage of list_data instead of expl. Updating the NEWS file to reflect this change. - Restoring the localedir definition in non FHS context to avoid i18n directories to be scattered in the root directory. src/etc/create_list_templates/discussion_list/comment.tt2, src/etc/create_list_templates/hotline/comment.tt2, src/etc/create_list_templates/html-news-letter/comment.tt2,src/etc/create_list_templates/news-letter/comment.tt2, src/etc/create_list_templates/private_working_group/comment.tt2, src/etc/create_list_templates/public_web_forum/comment.tt2, web_tt2/create_list_request.tt2: [Submitted by M. Warkus, univ. Marburg] In the list creation form, suppress the display of the files name without a comment.tt2. Get also rid of useless
tags. The whole page is now translatable. web_tt2/css.tt2, web_tt2/javascript.tt2, web_tt2/main.tt2, web_tt2/notice.tt2: When notifying a successful action in the web interface, the full interface was unusable before a user clicked a validation button. Now, the notification doesn't prevent users from clicking other links or button in the interface. It is also smaller, though visible. Bug fixes: Unsorted: - When storing subscription requests, Sympa ignored subscription request if an user had already asked for a subscription, event if the new request was for another list. Fixed by checking the list name before searching previous subscription requests for the user. - [#3953] Lock.pm imports some constants from Fnctl module and used to redefine them. it resulted in warnings while running wwsympa.fcgi : "Prototype mismatch: sub Lock::LOCK_SH () vs none at /usr/share/sympa/lib/Lock.pm line 38. Constant subroutine LOCK_SH redefined at /usr/share/sympa/lib/Lock.pm line 38.". Removed duplicate definitions. - [#3990][Submitted by A. Berstein, electricembers.net] The quiet option had been deactivated from the "reject" mail command. Bounce management : - When a bounce file could not be created, nothing was done, so at the next bounced.pl iteration, the faulty report was still present. In such a case, the bounce report is now moved to bad. - [reported by H.Rousseau]: bounced.pl would fail to create files in OTHER/ if From contained incorrect chars. The bounced.pl process would loop on these files. Now such bounce files are moved to the bad/ subdirectory. Init.d script: - Sympa start and stop script used the "status" command for system whose OSTYPE was 'linux-gnu'. These systems don't seem to have such a command. - Error in the status check for plain gnu-linux stystems. - [Submitted by P. Brown, univ.Southern California] init script sympa was broken for Solaris. It used some syntaxes not supported by this OS' shell language. Install process : - [#3898][Submitted by M. Keisler, mitsein.net] Fix: When checking perl version, Sympa was using human readable version notation (5.8.8 for example) instead of the format returned by $] (5.008008 for example). - [#4453][reported by Chris Hastie] Added dependencies for HTML::TreeBuilder and HTML::FormatText CPAN modules Internationalization : - [#3919][reported by M.Denarek] Error "missing locale parameter" would happen whenever a notification is sent to the listmaster before the current language et set. Now using the default language when set. Also initialized the default language with 'en'. - [submitted by A.de Bignicourt, UREC] : fixed a charset problem with custom attributes LDAP: - [Reported by F. Perrichon, univ. Lille 2 and C. Zimmer, univ. Nice Sophia Antipolis] LDAP 2 level queries failed as soon as one of the queries failed during the second passe. Sympa now just issues a warning in the logs, specifying that a part of the second passe was not successful. - [Submitted by O. Menkens, Fraunhofer IAIS] Wrong error handling of LDAP searches caused Sympa to be unable to sychronize sources. Some attributes in the LDAP search were not correctly passed to the function. List configuration : - [#3229][#3237][#3518][Reported by T. Berry, NASA and D. Lalot, univ. Aix-Marseille] Lock failed when two processes were reading the same file, then one of them switched to write mode. It could then modify the file while the other process was reading, leading to uncomplete informations gathered from reading. Fixed by changing behaviour: Now if a process wants to switch to or from write mode, it first release the file lock at the filesystem level, then tries to put a new one. this way, switching to write mode is controlled by the filesystem. - [#3713][Reported by A. Bernstein, evil-wire.org] Call to functions in the Storage CPAN module could lead to Sympa processes dying because these functions could issue "croak" message. Fixed by enclosing these call into eval{} blocks. - [#3596] "spam_protection" list parameter was not used. Just the robot parameter value. - The anti-XSS mecanism HTML-escape outgoing parameters before web pages are parsed. This leads to quotes '"' replaced with " while editing list parameters. This could break SQL queries for example. The fix consists in unescaping HTML characters in edit_list function. - When notifying the listamaster that an owner had changed her/his mail address, the message was croped. Only on affected list name was displayed instead of the full list. this was due to a bad parameter sending to the tt2 engine and to a bad syntax in TT2 FOREACH directive. - When removing the last data source by manual edition of the config file, the task manager didn't do the last synchronization needed to remove the last included subscribers. Fixed by checking if a data source still exist after each synchronization (instead of before). - [Reported by V. Mathieu, univ. Nancy 2] When deleting the last data source, the subscribers list was not correctly updated. Fixed by restoring a faulty test in wwsympa.fcgi. - It was possible to manually remove all the list owners. This is now impossible by taking into account the minimal cardionality of complex list parameters. List creation : - create_list notification failed if listname contained uppercased chars - When a list was created, Sympa failed to display the liste activation page to listmaster if an info file didn't exist for this list. Fixed by testing the existence of this file, and, if it isn't found, displaying an informative message instead. Message moderation : - [#3790][Reported by R. Tassoni, National Library of Australia and T. Danel] When displaying a message to moderate in the web interface, if a document was attached to the message, the link to display the message lead to empty documents. This was because we didn't take into account the fact that MHonArc put the file in a subdirectory. Fixed by changing the kind of ergument file passed from scalar to vector. MIME : - [#3702][Reported by A. Bernstein, electricembers.net] Some malformed headers caused Sympa to crash by calling a method on an undefined MIME::Entity::head object. Fixed by testing the definition of this object before calling the method. RDBMS support : - [M.Redinger] reported problems with field names upper cased with Oracle. Now forcing lower cased field names. - [Submitted by B.C. Aasgaard, Univ. Oslo] Fix several errors int Postgres database definition and usage in Sympa 6. - [Reported by M. Jozsef, Budapest University of Technology and Economics] When fetching queries result into a hash, the case of each key string was unsure, as some RDMS could return higher cased field name, for example. This led to apparently empty queries result when trying to acces a lower case field value that had been returned with a higher case name. Fixed by systematically lowercasing the field name when fetching results in a hash. - [Submited by Ryan Fox] Patch to allow informix external data source. - [submitted by Peter Langhans, univ Zurich] fixed oracl-related issues ($parameter longer than 100 chars would make errors and "date" is a reserved keyword with Oracle) Security: - [reported by T. Retout] SQL injection threat removed by using place holders instead of direct sprint in a query. - [Submitted by N. Bertrand, univ. Minnesota] Basic logs in debug don't issue the password unencrypted in the logs for function Auth::ldap_authentication. This way, this password won't be sent unencrypted to a possible syslog server. - [#4439] [#4440] [reported by O.Berger] security vulnerability which use a file in /tmp. - [#4430] store temporary files in Sympa's own tmp directory instead of /tmp to prevent symlink attacks Shared web documents : - [#1809][Reported by P. von der Hagen, univ. Karlsruhe] Files in the shared directory with regexp special characters could not be renamed. Fixed by using "\Q" escape signal at the beginning of the regexp (s/\Q$strtofind/strtosubst/). - [Submitted by H. Moa] When accessing an rss-feed for the shared files of a list upgraded from 5.2b, wwsympa entered a tight-loop, load went up to 100%, the webfrontend failed making the webserver reply with 500 and a single-processor system had to be rebooted. The list in question had no shared files. Fixed by checking that we don't use double slashes in the path to the shared directory. S/MIME : - [Submitted by W. Werner, Fraunhofer-Institut SIT] Message signature verification didn't work if user used different certificate for signing and encrypting AND didn't send both in each message, like Kmail does. - [Submitted by W. Werner, Fraunhofer-Institut SIT] The path that Sympa used to look for encryption keys had '.enc' instead of a '@enc' in the file name. SOAP server: - [reported by S. Bilbeau, univ. Rennes 1] For trusted applications, when declaring an application in trusted_applicaitons.conf, if the app name contained a higher case character, the application was not found, because Sympa compared the app name to its lower-cased version. Fixed by comparing two lower case strings, thus making the app name completely case insensitive for Sympa. Web archive: - Fixing a problem in custom archiver : now the custom archiver MUSt accept two parameters : list and filename. Both parameters are filled by archived.pl at execution time. wwsympa.conf must contain the absolute path to the custom archiver script if admins to use this feature. - [Reported by F. Guilleux, CRU] Searching for a string containing some special characters provoked various errors. Fixed by escaping characters at the moment we use the search engine and not just when parising the characters. - [Reported by M. Kretchner, INRIA] It was impossible to remove a message from web archvives or to rebuild them. this was due to a regexp to prevent archived.pl from using dot-starting files added by some Linux distribution (as Gentoo). Fixed by extending the regexp. Web authentication : - Login banner was shown even though no user_table entry was listed in auth.conf - [Reported by M. Gorecka-Wolniewicz, Nicolaus Copernicus univ., Torun] In some cases, CAS logout didn't work, due to a value of "0" trnaformed into an empty string in the session cookie. Fixed by upgrading CGI version. - [#3947][Reported by S. costard Univ. Haute Bretagne] In the case of CAS authentication, a CAS ticket was requested for any request in the web interface. Fixed by ensuring that the user email is attached to the session. - Fix web pages in order to give appropriate messages when requesting first password or password renewal. - Fix incorrect password storage when crating a new user (add_user_db did not use password finger print as update_user_db does) - [#4543] When multiple "ldap" entries were defined in the auth.conf file, only the first one was queried. Also fixed a bug with the default scope being "base", now "sub". Web interface: - [Reported by M.P. Laisne, Rennes Academy] email change through the user preferences in the web interface was our of order. This was due to a bad initialization of old and new email parameters. Fixed by using values associated to the ticket. - [Reported by A. Stephens, Bristol University] A [% list %] TT2 var was trailing after e return directive in javascript. - [Reported by F. Guilleux] the W3C gives recommendations for the use of GET and POST: http://www.w3.org/2001/tag/doc/whenToUseGet.html#checklist. Sympa was not fully compliant to these recommendations, leading for example to possible unwanted list deletion by administrators using prefetching tools. Fixed by replacing all the threatening GET requests by POST requests. - When using the multiple add form, it was difficult to create a list by copy / paste, because a javascript erased any data in the textarea on click event. Fixed by modifying said javascript. - [Submitted by M. Keisler, mitsein.net] Sympa refused to save topics which contained dashes in their name, due to an excessively selective regexp. Consequently, it was showing lists with such topics as topicsless. Fixed by accepting dashes in their regexp. Topics can now contain any alphanumeric, plus '-' and '_'. That should be enough for most needs. - DB logs : 'logs_expiration_period' sympa.conf parameter was not loaded. As a result DB logs were expired every day. Also added an error message if two virtual hosts use the same URL. Web list config edition form : - default value for parameters like owner/visibility are now compliant with the default value defined in %List::pinfo. - is the edit_list context, some unedited parameters were shown as edited. This has been fixed. Web template edition : - [Reported by J.M. Beuken, univ. cat. Louvain] Fix: When copying a template through the web interface, HTML was not unescaped before writing the file. c onsequently, the file used to reload the page for template edition had escaped HTML. for critical files such as main.tt2 or title.tt2, this caused the web page diaply to choke on tt2 parse errors. - Copy_template failed when multiple directories had to be created (mail_tt2/ll_CC for example). Now calling mkdir_all() from tools::mk_parent_dir(). Also fixed a typo regarding authz errors handling 6.0b.4 23 September 2009 Bug fixes: src/lib/Bulk.pm: [Reported by M. Waltz, univ. univ. of the Pacific] When the verp value was not defined, it resulted in the value used when storing a packet into database to be an empty value. PostgreSQL refuses to store an integer with an empty value. Fixed by forcing the value of the VERP field to '0' when it is given undefined to the Bulk::store function. wwsympa/wwsympa.fcgi.in: When a user already connected on the web interface used a one time ticket based on another address than the one she was connected with, the identity was not changed in the session. It lead to the impossibility to actually change its user email address. Now the session email is defined using the email of the one time ticket, whatever was previously set in the current session. wwsympa/wwsympa.fcgi.in: [Reported by S. Lorenz, univ. Karlsruhe] If an owner or editor of a list was registered with one ore more large capitals in her address, the change_email function did not change the address for that list. Fixed by lowercasing the addresses. when comparing them. src/lib/Bulk.pm: [Submitted by M. Waltz, univ. univ. of the Pacific] The reception_date_bulkmailer field's value was set to an integer value when storing a packet, htough it is an integer field. This led PostGReSQL to refuse to sotre the packets. Fixed by restricting thi value to its integer part. wwsympa/wwsympa.fcgi.in: [Reported by M. Warkus, univ. Marburg] In the mulitple add form, if a a usbscriber address was preceded by empty spaces, it was ignored. Fixed by ignoring leading white spaces in that form. src/lib/Scenario.pm: [Reported by M. Warkus, univ. Marburg] In the "match" scenario condition, if the regexp was empty, the condition returuned true. So if the regexp contained a list variable that was not set for that list, the condition returned true. Logically, norhing matches an empty regexp, so if the rexep is empty (not white space, really empty) then the condition now return false. src/etc/Makefile.am: [Reported by M. Walts, univ. of the Pacific][solution by G. Rousse, INRIA] Default scenarios were not installed on Solaris 10 x64/x86, because the regular expression used to do it in the Makefile used the "+" sign which is not available in POSIX. replaced it by "*" fixed the problem. mail_tt2/listmaster_notification.tt2, src/lib/List.pm: [Reported by P. Maes, univ. Louvain] When using several user data sources, if one source failed the whole synchronization aborted. Now Sympa keeps one synchronizing all the data sources, and a mail is sent to the listmaster, in which all the sources for which an error was encountered are listed. no error is diplayed to the list owner. wwsympa/wwsympa.fcgi.in: [#6438][Reported by M. Warkus, univ. Marburg]When the list homepage of a list was empty, displaying the info in lieu of it resulted in displaying a text without any linebreaks, as they have no meaning in HTML. fixed by replacing linebreaks with
tags when this happens. 6.0b.3 14 September 2009 Bug fixes: src/lib/tools.pm: [Reported by M.Warkus] remove_dir() subroutine (used to remove web archives of closed lists) did expect the path to include a minimum of 4 slashes '/'. This limitation was introduced in revision 2108. Removed this limitation. src/lib/confdef.pm: http_host was not set by default in syma.conf, making the sympa wizard to fail starting. src/lib/tools.pm: [#6380][Reported by M.Warkus, Philipps-Univ. Marburg] Added a line break to written PID files. Without the linebreak, the init script failed to check process status on OS without /etc/init.d/functions src/lib/Bulk.pm, src/lib/List.pm: [bug] Missing "use WebAgent" directive since recent reorganization of code (revision 5939). Error: Sympa.pl would die while running List::_include_users_remote_file() with error "Can't locate object method "new" via package "WebAgent" at /home/sympa/bin/List.pm line 7505." Makefile.am: [Submitted by M.Deranek] On a multi core system, installdir & installconfig targets can run in parallel. Added a dependency between these targets. src/sympa_wizard.pl.in: Can't do $module->require() since we no more require the UNIVERSAl::require module. Replaced with eval "require $module". Error message : Can't locate object method "require" via package "XX" at /home/sympa/bin/sympa_wizard.pl line 515 src/sympa_wizard.pl.in: Installed MHonArc version was not properly detected soap/sympa_soap_client.pl.in: Fixed a typo in the sympa_soap_client.pl command line tool that prevented the service parameters to be used. wwsympa/Auth.pm: [Submitted by M. Warkus, univ. Marburg] When a user logged in, using LDAP, by providing an email address, if this email was not the first one in the LDAP email attribute, then the uiser was not logged with the address she provided but with the default address found in the LDAP directory. Now, if an email is provided and the login is successful ,the user is logged in with the email she provided. wwsympa/wwsympa.fcgi.in: return to the user target page after authentication even if using shibboleth. src/lib/Scenario.pm: [Submitted by P. Maes, univ. Louvain] On some servers, the 'is_bcc' condition failed event though the message sent was not a BCC. Fixed by moving the code setting the BCC state to another place in the module. Makefile.am, configure.ac: [Submitted by G. rousse, INRIA] - Make sure that directories exist before trying to copy files into them - Copy i18n catalogues into standard directories instead of dedicated location - Remove modification of $datadir. Replaced by defaultdir redefinition. - gives explicit ownership of pid dir to Sympa by adding the "sympa" subdirectory. soap/sympasoap.pm: [#6400][Submitted by A. Bendzsak] There was a typo in sympasoap.pm making it use authorization.tt2 instead of authorization_reject.tt2. src/lib/confdef.pm: [#6425][Reported by S. Rijnhart, milieudefensie.nl] The spool directories not often used were automatically deleted because CleanSpool was sometimes called on the spool root directory instead of one the actual spools.This was due to the automatic spool being initialized as the spool root directory. Therefore, the sympa.pl automatic cleaning was called on the root directory and all its too old subdirectories were deleted. Fixed by giving its right value to this spool (and to the digest spool too, by the way). 6.0b.2 31 July 2009 Bug fixes: src/sympa_wizard.pl.in: [Reported by P. Maes, univ. Louvain] Net::Netmask CPAN module was not checked by the Sympa wizard, though it is required. d_install_shared.tt2, mail_tt2/moderate.tt2, mail_tt2/modindex.tt2, mail_tt2/user_notification.tt2, mail_tt2/welcome.tt2, po/fr.pomail_tt2/moderate.tt2: [Submitted by P. Maes, univ. Louvain] The one time ticket URL was included in the internationalization message. It had no sense, as an URL won't be translated, and any change in the layout (such as putting the URL in another line) would break the translation key. Fixed by putting the URL out of the i18n string. src/etc/script/create_db.mysql: [Submitted by D. Ayre, univ. E. Carr, Vancouver] A missing comma in create_db.mysql made the creation script fail with an SQL error. src/lib/Conf.pm: [Reported by M. Warkus, univ. Marburg] When using the default robot, wwsympa.conf parameters were not taken into account, only the default values set in confdef.pm. The value could only be set in sympa.conf. This was due to the load_robots function which initialized the config with default values and sympa.conf values and then looked for customized values for virtual hosts only. Fixed by replacing default values by their equivalent in wwsympa.conf when found. wwsympa/wwsympa.fcgi.in: [Reported by Wen Si] Single value and single instance list parameters value could not be removed using the web interface. fixed by *not* going directly to the next parameter in do_edit_list when such a parameter is found empty. src/lib/Upgrade.pm: [Reported by A. Suter, crox.net] "0" character was not allowed in md5 encoded passwords. Changed regular expression to allow it. src/lib/Sympa/Constants.pm.in: [Reported by N. Matthies] Typo in ARCDIR constant declaration. src/task_manager.pl.in: [Reported by N. Matthies] The task manager failed to process the eval_bouncers and purge_orphan_bounces tasks because the corresponding functions did not return 1. It cause the manager to conclude there had been an error. Makefile.am, configure.ac: [Reported by N. Matthies] It looks like some "general_task_models" and "task_models" directory still installed in the etc directory. These directory are not used anymore. this was due to a command in Makefile.am installing "non writable directories". These directories were all isntalled in a separate part of the install process, using their normal names and location. src/lib/Conf.pm, src/lib/confdef.pm: Sympa doesn't complain anymore when an optional parameter is missing in robot.conf. src/lib/Bulk.pm: [Reported by Wen Si] A query in the Bulk.pm module was using MySQL-specific SQL orders. This caused Oracle (and probably Sybase too) to fail to lock packets in database. Fixed by splitting the query into a selection followed by an update, and by tweeking it on the base of the RDBMS used. src/etc/script/create_db.SQLite, src/lib/Upgrade.pm: [Submitted by M. deranek, slonko.net] SQLite support was broken in Sympa, due to syntax errors. src/etc/script/ldap_alias_manager.pl.in: --modulesdir-- placeholder was badly spelled in ldap_alias_manager.pl, cauing it not to be replaced by its real value at install time. src/sympa_wizard.pl.in: Removing useless warning when the 'file' parameter is not indicated in the confdef.pm parameter definition. This 'file' parameter is used only when we want to write a value by default in the config file. Otherwise default value will be used. 6.0b.1 16 June 2009 Changes introduced by this version are int the main 6.0 section. 5.4.3 05 May 2008 Features: po/ja.po, po/web_help_ja.po: Introduction of the huge work in progress by Soji Ikeda to update the Japanese translation of the user interface and translate the online help in Japanese. po/ru.po: Updated Russian translation. src/Commands.pm: [#3990][Submitted by A. Berstein, electricembers.net] The quiet option has been reactivated for the "reject" mail command. Bug fixes: wwsympa/archived.pl: [Reported by M. Kretchner, INRIA] It was impossible to remove a message from web archives or rebuild these archives. This was due to a regexp to prevent archived.pl from using dot-starting files added by some Linux distribution (as Gentoo). Fixed by extending the regexp. check_perl_modules.pl: [Reported by M. Gorecka-Wolniewicz, Nicolaus Copernicus univ., Torun] In some cases, CAS logout didn't work, due to a value of "0" transformed into an empty string in the session cookie. Fixed by upgrading CGI version. src/task_manager.pl, wwsympa/archived.pl, wwsympa/bounced.pl: [#3957][Reported by O. Berger, Telecom & Management SudParis] When launching Sympa daemons (other than sympa.pl) with an unknown option, the daemon was still launched instead of failing to launch. 5.4.2 14 April 2008 Features: po/zh_CN.po: [Submitted by Li Xuejiang, Zhao Yongming, Yahoo!] Simplified Chinese is now fully translated. Changes: src/List.pm, src/Upgrade.pm: [Reported by L. Gentis, IUFM Lorraine]When updating a config file while the upgrade process, the "email" parameter value of the "update" paragraph was set to 'listmaster'. However, this value was validated against a regexp for emails. this produced an error log, as 'listmaster' is not a valid email address. Fixed by allowing 'listamster' and 'automatic' strings in this regexp. 'automatic will be used to designate updates done by processes instead of users. Bug fixes: wwsympa/wwsympa.fcgi: [#3947][Reported by S. costard Univ. Haute Bretagne] In the case of CAS authentication, a CAS ticket was requested for any request in the web interface. Fixed by ensuring that the user email is attached to the session. src/List.pm: [Submitted by W. Werner, Fraunhofer-Institut SIT] The path that Sympa used to look for encryption keys had '.enc' instead of a '@enc' in the file name. src/List.pm: [Submitted by W. Werner, Fraunhofer-Institut SIT] Message signature verification didn't work if user used different certificate for signing and encrypting AND didn't send both in each message, like Kmail does. src/Upgrade.pm, src/etc/script/create_db.SQLite: [#3915][Submitted by M. Deranek, slonko.net] SQLite support was broken for the session table. 5.4.1 01 April 2008 Bug fixes: /wwsympa/wwsympa.fcgi: [Reported by J.M. Beuken, univ. cat. Louvain] When copying a template through the web interface, HTML was not unescaped before writing the file. c onsequently, the file used to reload the page for template edition had escaped HTML. for critical files such as main.tt2 or title.tt2, this caused the web page diaply to choke on tt2 parse errors. Changes: src/Lock.pm: Increasing log levels in low level functions of Lock.pm. 5.4 27 March 2008 Bug fixes : /wwsympa/wwsympa.fcgi: While processing a subscription request, first check if user is member of the list /wwsympa/bounced.pl: When a bounce file could not be created, nothing was done, so at the next bounced.pl iteration, the faulty report was still present. In such a case, the bounce report is now moved to bad. /wwsympa/wwsympa.fcgi: Anybody loading a page from the web archives would presented a HTTP header for the page expiration corresponding to the last time the archive file was modified (this was introduced to limit multiple harvesting of hte same page by web crawlers). The drawback was that, when browsing archives, all the page is not staitc, just the part related to archives. This posed problems for session management. Fixed by testing if a user is a crawler prior to define the expiration header. /wwsympa/wwsympa.fcgi: [#3790][Reported by R. Tassoni, National Library of Australia and T. Danel] When displaying a message to moderate in the web interface, if a document was attached to the message, the link to display the message lead to empty documents. This was because we didn't take into account the fact that MHonArc put the file in a subdirectory. Fixed by changing the kind of ergument file passed from scalar to vector. src/etc/scenari/access_web_archive.intranet, src/etc/scenari/review.intranet, src/etc/scenari/visibility.intranet: [#3744] [remote_addr] variable might not be available for a scenario. [env->remote_addr] should be used instead wwsympa/wwsympa.fcgi: [#1809][Reported by P. von der Hagen, univ. Karlsruhe] Files in the shared directory with regexp special characters could not be renamed. Fixed by using "\Q" escape signal at the beginning of the regexp (s/\Q$strtofind/strtosubst/). src/Lock.pm: [#3229][#3237][#3518][Reported by T. Berry, NASA and D. Lalot, univ. Aix-Marseille] Lock failed when two processes were reading the same file, then one of them switched to write mode. It could then modify the file while the other process was reading, leading to uncomplete informations gathered from reading. Fixed by changing behaviour: Now if a process wants to switch to or from write mode, it first release the file lock at the filesystem level, then tries to put a new one. this way, switching to write mode is controlled by the filesystem. wwsympa/SympaSession.pm, wwsympa/wwsympa.fcgi: Bug related to session lost when RSS access comes from the same browser as web browser. src/PlainDigest.pm: [#3702][Reported by A. Bernstein, electricembers.net] Some malformed headers caused Sympa to crash by calling a method on an undefined MIME::Entity::head object. Fixed by testing the definition of this object before calling the method. src/List.pm: [#3713][Reported by A. Bernstein, electricembers.net] Call to functions in the Storage CPAN module could lead to Sympa processes dying because these functions could issue "croak" message. Fixed by enclosing these call into eval{} blocks. src/etc/script/create_db.Pg: [Reported by S. Kristoffersen, univ. Oslo] Missing "DROP TABLE session_table;" line in Pg creation script. Field id_session in table session_table had the type "int4" which was too small for the size of session id. Fixed by changing type to int8. wwsympa/wwsympa.fcgi: [#3479] http://listes.mydomain.fr/sympa/dump/mylist/light returned an error if authentication was required and not satisfied. Now Sympa asks for authentification instead. wwsympa/wwsympa.fcgi: [#3596] "spam_protection" list parameter was not used. Just the robot parameter value. Changes: src/SQLSource.pm: [M.Redinger] Reported problems with field names upper cased with Oracle. Now forcing lower cased field names. src/Commands.pm, src/List.pm, src/report.pm: [#3636] When accepting multiple subscription requests, the list of pending subscription was not updated. This was due to two loops over email addresses one the one hand and over files on the other hand which were embedded in the wrong order, causing only the first file to be parsed. When an authorized subscription request is received, if the sender is subscribed already, the request is rejected. 5.4b.1 31 January 2008 New features : [A.de Bignicourt, UREC]: Custom user attributes This feature allows the use of per list custom user attributes. Once defined by the list owner, a form will be presented to new list members on the subscription web page. These custom attributes are either optional or mandatory. The list owner will then see the provided user information while taking the subscription decision. Custom attributes can later be viewed from the review page and editsubscriber page. Custom attributes are stored in a dedicated field of the subscriber_table DB table, as XML data. wwsympa/wwsympa.fcgi: Anti-XSS protection. Sympa escapes any HTML that is not its generated by its templates. Some exceptions are the homepage file, which is filtered using the perl module HTML::StripSripts. [#3235][requested by T.Berry, NASA] Allow list owners and editors to set a visibility option. If set to 'conceal', the person is not listed in the list panel. This new option also applies to owner_include and editor_include parameters. [requested by S.Carmody, Internet2] New 'remove_outgoing_headers' sympa.conf and list parameter. This parameter allows to define a list of SMTP header fields that should be removed before a message is distributed to list members. Thus it even makes it possible to remove the header fields that Sympa sets. The existing 'remove_headers' can now be set in a list config file. New 'ignore_x_no_archive_header_feature' sympa.conf parameter ; if set to 'on', x-no-archive SMTP header field is ignored if found in an incoming message (sympa will archive the message). custom_vars. Users can define custom parameters in lists and use them in scenarios and mail templates. User pictures are now showed (if available) in the web archives. Pictures are showed to authenticated users only, to prevent web harvesters to get them. Online help is now internationalized. Use [%helploc%] tags anywhere in the code to create strings that will be located in web_help.po catalogue. [#3520][Submitted by C. Paul, evil-wire.org] New parameter in sympa.conf: "allow_subscribe_if_pending". Default value is "on". If set to "off", it is forbidden to add subscribers (through wwsympa) to a list whose status is different from "open". [#3357][P.Baumgart, British Telecom] LDAP alias manager is now LDAPS enabled and can be configured via a separate configuration file. We've also added a new 'alias_manager' sympa.conf parameter that allows to use such alternate mail aliases management scripts. Add custom button in main menu by config https://www.sympa.org/wiki/manual/conf-parameters/part1#main_menu_custom_button [requested by B.Thale, Motorola] Keep the 'nomenu' attribute from page to page. Note that the nomenu attribute is lost whenever the user hits a button that uses POST. A better implementation would require the nomenu attribute to be attached to the user session. Five new languages supported in Sympa: Almost complete: - Korean: Mark Smith and Kang Tae-Hee (HP) - Simplified Chinese: Mark Smith and Xun Yan (HP) - Tradional Chinese: Mark Smith (HP) Still partial but on good way: - Russian: Chernysh - Catalan: Jordi Deu-Pons Changes : Character strings in po files are now sorted following the files they are found in and their order of apparition in the files. src/Scenario.pm: Now, in scenari using SMTP header fields, if a message exists, the value of the header is defaulted to an empty strings if it is empty or missing. ***** NOTE 1 :YOU MAY HAVE TO CHANGE YOUR WEB SERVER CONFIGURATION! We definitely disabled the setuid solution to run **wwsympa.fcgi**. ***** If the script you used in your web server configuration was wwsympa.fcgi (to whom you had attributed the "S" bit) you MUST change ***** your Apache configuration so that the script you use becomes wwsympa-wrapper.fcgi instead of wwsympa.fcgi. ***** NOTE 2 :YOU MUST CHANGE YOUR SOAP SERVER CONFIGURATION! We ALSO definitely disabled the setuid solution to run **sympa_soap_server.fcgi**. ***** If the script you used in your web server configuration was sympa_soap_server.fcgi (to whom you had attributed the "S" bit) you MUST change ***** your Apache configuration so that the script you use becomes sympa_soap_server-wrapper.fcgi instead of sympa_soap_server.fcgi. wwsympa/wwsympa.fcgi: Now wwsympa switches to maintenance mode if not run under the right user id. It quits the maintenace mode as soon as the user id is the good one. web_tt2/review.tt2: The Dump button is now proposed to list owners only src/List.pm, src/SQLSource.pm: [#3550] Change: Changed the SQLSource module to keep track of existing DB handler and their status. The new code allows to save connect() if $dbh already exists. It also allows to prevent multiple "DB connectoin" notifications to be sent to the listmaster ; only the first one is sent. mail_tt2/listmaster_notification.tt2, wwsympa/archived.pl, src/tools.pl: [#3388] If archived.pl can't create the list archive directory when archiving the first message, a notification is set to the listmaster, and the message is saved to spool/outgoing/bad. mail_tt2/listmaster_notification.tt2, wwsympa/bounced.pl: When a problem occurs while handling a bounce, the message is saved to a "spool/bounce/bad" directory. src/List.pm: [#3219][Charles Paul, evil-wire.org] Optimizations to List::get_list and List::get_which. List::get_lists() calls from List::get_which() now only load lists of interest, ie those that were determined by querying the subscriber_table DB table. src/List.pm: [#1174] default_user_options now applies to included list members. Sympa now ignore most user attributes coming from the original data source (date, update_date, reception, visibility). It make sence to adopt this behavior because these data were set in another list's context and should not be inherited in the new list. src/Conf.pm, web_tt2/menu.tt2, wwsympa/wwsympa.fcgi: [#3537] In web archives, sets a "Last-Modified" HTTP header to prevent frequent web-harvesting. [#2989][Reported by J.C. Delepine, univ. Picardie] If "apply" has the value "forced", then a single "reply" button is available, without any choice. The reply is sent to the addresses specified by "value". Otherwise, the user has three choices: reply to sender, to list or to both. Web mail composer is now able to send messages to several recipients. Genralization of "use strict vars" wwsympa/SympaSession.pm, wwsympa/wwsympa.fcgi: Reduce SQL queries for sessions. Don't exist if new session abort. Also renew the cookie (a random used as session_id) so it make session hijacking much more difficult. src/List.pm: [#3611][Reported by A. Berstein, electricembers.net] Adds a "Precedence:" field with value "bulk" in addition to the preexisting one with the value "list" to let MS exchange autoresponders ignore mails from Sympa. src/Task.pm: [Reported by M. Deranek, slonko.net] task_manager now ignores files whose name starts with a dot in the spool directory. this done to avoid errors in distributions (such as gentoo) which add doted (system) files in the file system. src/sympa.pl, src/List.pm: [#3253][Reported by P. Ferrari, riseup.net] When all editors and owners have set their reception mode to "nomail", a message is sent to all of them instead of generating an internal server error and sendinf a message to listmaster. src/Commands.pm, src/List.pm, src/Scenario.pm, src/sympa.pl, src/tools.pl: [#3662][Submitted by J. Kirkland, westover.org] Message headers can now be used by any scenario. Admin can use, for example, match([msg_header->],/someregexp/) smtp -> do_it in a scenario, for any message header. web_tt2/add_request.tt2: multiple_add : a JS to clear textarea on click src/List.pm: [Reported by C. desmoulins and J. Beretta, Orange] During an LDAP include, we didn't check if an email address was present several times, leading to a database field "include_sources_subscriber" containing the LDAP source id as many times as the address had been found. Fixed by preventing an address to be taken into account if it has been met already in the LDAP query result set. Bug fixes : src/Log.pm: Sympa no longer crashes when logs are not available. src/List.pm, /src/admin.pm: When a new Lock object is created, we didn't check that the object tcreation had succeeded. On one occasion, it made task-manager to crash. Now, if the object isn't defined after the "new" invocation, the functions return undef. wwsympa/wwsympa.fcgi: [#3363][Reported by M. Deranek, slonko.net] The HTML document date was set to 1 jan 1970 instead of current date, causing some browser to be unable to unlog because they seem to compare cookie date to document date for expiration purpose. src/SQLSource.pm, /src/Upgrade.pm:[#3305][#3136][#3319] [Reported by G. Haverkamp and M. Deranek] Support of SQLite was broken. src/List.pm: [#3298][Reported by A. Ma and S. Ikeda] Fix: Sympa would add a "Re:" to each reply, leading to possibly very long chains of "Re:" in messages subjects. src/List.pm: [#3182][Reported by G. Bouteille, univ. Rennes 1 and J.H. Belpois, univ. Brest] Fix: When instantiating a family with list containing an include_sql_query paragraph, new parameters appeared in the paragraph (db_user, db_host, db_psswd). This was because we used to pass a ref to the hash containing list config values to functions which added values to this hash. We now pass a copy of this hash, temporary values are then never added to the hash finally saved. wwsympa/wwsympa.fcgi: [#3334, #3308][reported by C.Peck, wm.edu and D. Stefano] Dump of bouncers would only return the first 25 entries. src/tools.pl: [#3499][reported by R.Morvan] Prevent sympa.pl to crash while processing malformed multipart command message. Error message is "Can't call method "effective_type" on an undefined value". Now tools::as_singlepart() does not recurse with an undefined $msg parameter. wwsympa/wwsympa.fcgi: sympa was not able to create missing picture directory in a recursive way src/Log.pm: [#3137][Reported by M. Walther, Sun] Error in SQL request for web logs visualization. "GROUP BY" was used instead of "ORDER BY". web_tt2/rss.tt2: [#2959] [proposed by Luoh Ren-Shan] escape sensible chars in RSS title soap/SympaTransport.pm, src/task_manager.pl, wwsympa/wwsympa.fcgi: Some Sympa processes did not initialize the List.pm cache between 2 requests. It could lead to false responses from these processes that still used the cache in memory. web_tt2/menu.tt2, wwsympa/wwsympa.fcgi: [#3541] The code and web templates have been changed to still provide the list of topics, even though the default_home is set to 'lists'. wwsympa/wwsympa.fcgi: [#3466] Could no more change user's email from the preference page. wwsympa/bounced.pl: [Reported by M. Anderson, riseup.net] Sympa didn't support ARF format correctly. errors were thrown when Original-Rcpt-To field was missing, though this field is optional. We now separate two steps of control: the Feedback-Type field value control and the Original-Rcpt-To field value control. wwsympa/bounce-lib.pl: [Submitted by M. Quintero, North Central College, Naperville, IL] Bounces from Postfix were not always properly spotted due to a bad identification of the postfix bounce message. Fixed by extending the regexp to match a new kind of message. mail_tt2/listmaster_notification.tt2, src/List.pm: [#3272][Reported by M. Anderson, riseup.net] In some cases still to elucidate, the "verp_rate" parameter trailing percent sign disappears before being use. This would mak sympa crash. We now return undef if this parameter hasn't the right structure. web_tt2/main.tt2, wwsympa/wwsympa.fcgi: [#2222] RSS feeds for web archives and shared documents are only proposed if access to these contents is available and public. This is required because RSS does not provide authentication methods. wwsympa/wwsympa.fcgi: [#3397] while running change_email(), don't try to update the member in DB if new email address is already member of the list. src/Conf.pm, src/sympa.pl, task_manager.pl, tools.pl: [#3234] Bounces in spool/bounce/OTHER/ were never cleaned up. Cleaning is now intergrated into the "expire_bounce" task, and the existence duration of such bounces is ruled by a new parameter : clean_delay_queueother. soap/sympasoap.pm, src/Commands.pm: [#1287] ADD commands are now rejected if user is already member. This will prevent multiple welcome messages to be sent. src/Family.pm: [Reported by D. Lalot, univ. Aix-Marseille] Opening XML files when instantiating families would make Sympa crash under Debian Etch. Fixed by switching "<:utf8" opening mode to "<:raw". src/Family.pm, src/List.pm: [#3528][Reported by D. Lalot, univ. Aix-Marseille] A list created by family instantiation without "config_changes" file in its directory would be set to status "error_config". Now, if the file is missing we assume that no changes occur. We still set the list in status error_config if the file exists but can't be opened. **Same behaviour implemented with the file "param_constraint.conf".** mail_tt2/invite.tt2: [Reported by M. Bouissou] Invite message suggested to reply to the message to accept to subscribe to a list. This led to an answer with "unknown command" error. Fixed by removing this message and giving an answer address and an appropriate subject string for people who couldn't hit the "mailto" link. src/sympa.pl: [Reported by M Bouissou] Command "quit" was ignored in mail commands. This was due to the correction of bug fix in Rev 3548: "Commands starting with 'qui' would be skipped, including QUIET". Fixed by removing comments and changing the regexp to match lines containing 'quit', 'stop', 'end' or '-' ONLY. wwsympa/wwsympa.fcgi: [#3661][Reported by S. Kristofferesen, univ. Oslo] In-Reply-To header did not follow rfc2822 format: opening '<' and closing '>' were missing. src/tools.pl: [Reported by C. Andrews, Boston College] Ampersand character was forbidden in email addresses though it is authorized by the RFC 2822. web_tt2/copy_template.tt2: [#3032][Submitted by J. Kirkland] It was impossible to copy a template through wwsympa to a language-specific directory because the lang was no passe as argument to Sympa. Fixed by modifying the template. web_tt2/serveradmin.tt2: All the radio buttons in the form used by the "set_log_level" action didn't share the same control name, thus preventing the web client from expliting them as a set of buttons. This prevented the value from being correctly processed. src/Datasource.pm: In a review, data sources name were not displayed because they were searched by comparing a MD5 hash on their parameters to the value stored in the database. As for complex datasources, these description were stored in hash, the order of the parameters was not fixed, leadinf to different values of MD5 for the same data sources. Fixed by sorting the hashes according to the hash keys, storing the result into an array and computing the MD5 with the array. 5.4a.4 25 September 2007 New features : New session management : introduction of http session in order to replace a lot of cookies, for better user interface and security. -new table session_table -new module SympaSession.pm -new features - from admin page set log level for the current session - from admin page list active sessions - from admin page change user email identity -new task to purge old sessions from table (inactive delay to remove session is set by the sympa.conf parameter session_expiration_period (defaul 1 month) -session start at first hit usually with an anonymous user. The session continue when the user logging. -cookie lang replaced by a session parameter -cookie sympa-user removed -Crawler detection is controled by /etc/crawlers_detection.conf. src/Log.pm: Added "trace" log facility to facilitate development messages insertion, visualization and deletion. Changes : check_perl_modules.pl, src/tools.pl, src/tt2.pl, wwsympa/wwsympa.fcgi: XSS protection: Any output web parameter is filtered to avoid creation of XSS vector. Change:Additionnaly, any HTML file put in the shared directory is filtered using StripScripts. Change:HTML::StripScripts::Parser CPAN module is now mandatory. src/Conf.pm: [requested by JM.Martins da Cruz] Added X-Sympa-To and X-Family-To header fields to those header that should be removed by Sympa for outgoing mails web_tt2/home.tt2: Moved the search list form to the top of the Sympa home page. Makefile.am, Makefile.in, configure, configure.in, src/sympa_wizard.pl, wwsympa/Makefile, wwsympa/wwslib.pm, wwsympa/wwsympa.fcgi: icons are now included in the sympa static content directory. Consequently, the "--with-iconsdir" configure option and the "icons_url" wwsympa.conf parameter are no longer used. The default path to icons is now {sympa home}/static_content/icons and the default icons URL is http://host/icons/. src/tools.pl: refined Simple XSS filter. Don't ding on simple "<" only, but on {'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 searched in the robot directory wwsympa/cookielib.pm: Fix: could not set 'sympalang' cookie INSTALL: [micah AT riseup.net] Fix HTML documentation URL src/alias_manager.pl: [Zakaria] unset PATH before anything else ; store the lock in a writeable directory src/List.pm: [BugID 179] [user->xxx] variables were never available in scenarios src/List.pm: [reported by R. Pfeiffer & T. Oger] recent versions of DBD::mysql have changed the behavior for tables() : Table names are surrounded by ``. Sympa considered Sympa DB did not have the right structure. src/Conf.pm: [reported by P. Machard] remove trailing spaces in robot.conf src/tools.pl: tools::split_mail did not return 1 ; antivirus was not applied on messages 4.0.a3 17 June 2003 New features : [Benoit Ortner] web archive management ; allows to remove multiple months and/or get and archive (zip) or archive month. src/List.pm: Sympa is now able to create its database (try as root) and tables. Change: if database is unreachable, Sympa daemon dies to prevent blocking of Server startup 'remove_list' sympa.pl option to remove a list from the command line [proposed by J. Douglass]: Add SSL support while authenticating to LDAP server New 'use_ssl', 'ssl_version' and 'ssl_ciphers' parameters in auth.conf src/parser.pl, wwsympa/wws_templates/us/viewbounce.us.tpl: [reported by G. Helou] Add escape_html option to the parser. This was required to escape <> chars in bounces [requested by Eric Sandquist] : db_additional_subscriber_fields (declared in sympa.conf) can now be edited in editsubscriber page (ENUM are used) src/List.pm, src/etc/script/create_db.mysql, wwsympa/wwsympa.fcgi: (incomplete) New subroutine for logs in DB. It could provide data for statistics INSTALL, src/etc/script/sympa.spec, src/etc/script/sympa.spec.rh80: Add quick install notes src/etc/script/mod2html.pl: provide a script for generating missing HTML views of moderated messages src/etc/script/: Makefile, testlogs.pl: new script "testlogs.pl" that use sympa.conf file and just add a line to logs. wwsympa/wwsympa.fcgi: new suported parameter 'failure_referer' for login action src/etc/mhonarc-ressources, wwsympa/wwsympa.fcgi: Add a button in archive to send back a message to a user. Feature not complete : -encrypted message ? -add some headers "resent-from" resend-date ? src/List.pm: [V. Mathieu] allow usage of multiple ldap host for include_ldap: ldap1.dom.net:port,ldap2.dom.net:port wwsympa/wwsympa.fcgi: New "Rename list" button. (move and rewrite of pending messages in spool is not yet implemented). Changes : Makefile.am, src/etc/script/sympa.spec: these changes are related to the RPM building : + Add missing variables to build sympa.spec for RH + require 'smtpdaemon' with RH, 'MailTransportAgent' with MDK + ./configure is done at RPM build time with relevant options + correct path to sympa_wizard + fix problems with the %files section, when changing directories + missing %changelog [B. Ortner] : no more use Locale::Msgcat for NLS management, home-made functions instead. This solves MacOS X users problem that don't have gencat available ;-) Makefile.am, configure.in: check suidperl and mhonarc are installed src/etc/create_list_templates/: [S. Hornburg]: German translation, English text for hotline type, Spelling fix for English src/List.pm, wwsympa/wwsympa.fcgi: HTML version of moderated messages were generated by WWSympa, but recent release of MhOnArc (5.6) refuse to run SetUID. Therefore mhonarc is now run by sympa.pl when storing moderated messages. src/etc/templates/us/welcome.us.tpl: [ben AT socialtools.net] Grammatical error in English translations wwsympa/wwsympa.fcgi: allow to have multiple virtual robots on the same http_host check_perl_modules.pl: Require recent LDAP modules with SSL features Ignore topics if no topics.conf was found. Also install a default topics.conf wwsympa/wws_templates/us/main.us.tpl: [reported by Antoine AT rezo.net] : complete cookies warning message, Javascript might not have cookies read access doc/sympa.tex.tpl: Complete documentation about mail aliases Makefile.am: use different SPEC file for RedHat RPM building src/etc/script/sympa.spec.rh80: only require packages for standard Sympa installation (not LDAP, SSLEAY). Some package have different naming conventions with Mandrake and RedHat Makefile.am, src/etc/script/sympa.spec: [reported by G. Paressant] : make languages no required since NLS or no more compiled src/etc/script/: Search functions in INITDIR check_perl_modules.pl: set FTP Passive mode for CPAN install to work behind a firewall wwsympa/wwsympa.fcgi: [from Guy Paressant] Remove in ldap_authentication a unusefull anonymous bind check_perl_modules.pl: Net::LDAP 0.27 is required if using multiple ldap host definition. src/: List.pm, Log.pm, sympa.pl: use &fatal_error() instead of exit. fatal_error() now notifies the listmaster src/: List.pm, etc/script/create_db.Pg: [E. Dreyfus] [reported by pamelant AT nerim.net] Postgresql 7.3 has no support for not SQL standard type 'datetime'. ***** If you are upgrading from a previous Sympa version, you should update ***** your sympa DB as follows : ***** ALTER TABLE subscriber_table CHANGE date_subscriber timestamp with time zone NOT NULL; ***** ALTER TABLE subscriber_table CHANGE update_subscriber timestamp with time zone; Bug fixes : ** NOW refer to the Changelog file for ug fixes ** 4.0.a1 14 November 2002 New features : [requested by V. Mathieu]: Add names to data sources, also allow sorting from REVIEW page [O. Lacroix] New feature: new 'FastForward' and 'Rewind' button in archives New web templates translation system (first version) Changes : sympa_wizard.pl: Change: make the wizard less quiet src/Conf.pm: detect 'SET listname mode' commands as miaddressed commands check_perl_modules.pl: Require recent Mailtools because of mailx security problems src/List.pm: lots of errors were logged in 'debug' log level ; now use 'err' wwsympa/wws_templates/: remove unusefull 'domain' column in REVIEW page src/tools.pl: Also look for templates in the list's templates/ subdir wwsympa/wwsympa.fcgi: Fix: re-evaluate important vars before parsing templates ; things change so fast.... wwsympa/wwsympa.fcgi: [path_info] available in web templates Bug fixes : src/List.pm: [reported by M. Beheregaray] : Sympa.pl would die with error "unmatched [] in regexp" if custom_subject contained '[]' Now do some custom_subject cleanup src/tools.pl: Fix incorrect openssl argument rtelated to null capath or null cafile argument. [reported by G. Paressant] : if email entries returned by List::_include_users_ldap() contained spaces characters, then the database update could lead to a "duplicate entry error", causing the List::sync_include() to fail src/List.pm: [BugID 63] [reported by G. Paressant]: sync_include() made the task_manager die if duplicate emails where found in SQL or LDAP query result wwsympa.fcgi: wwsympa would die under certain circumstances if LDAP Bind failed with error message : "Can't call method "code" on an undefined value" wwsympa would prompt a 'template error' if an LDAP user requested a password reminder when the authentication_info_url URL was not defined in auth.conf. Now return an error message. src/List.pm: reset 'get_subscriber' cache entry after an update in inckude2 mode, show 'subscribe' button even if user is included wwsympa/wwsympa.fcgi: with 'include2', included users could not be added ; included+subscribed users could not be deleted doc/:Missing documentation for 'authentication_info_url' in auth.conf doc/sympa.tex.tpl: Fixe cookie format description doc/sympa.tex.tpl: [Janek Hiis] Fix AVP example [reported by R. Salmon] rejection of pending lists was not coded src/Commands.pm: Sympa would use part of the email address as the user name. Fix regular expretion usage src/sympa.pl: 'antivirus_notify' was only used in message forwarding context wwsympa/wwsympa.fcgi: [O. Lacroix] wrong comparison operator for reloading wwsympa wwsympa/wwsympa.fcgi: [reported by Philippe Amelant] incorect command for remove_aliases src/sympa_wizard.pl: [BugID 58] [reported by Xavier AT cs.gouv.qc.ca] : sympa_wizard used temporary files in /tmp/ ; if /tmp/ was an a different filesystem than /etc/, then the rename() would fail. No more use temporary files. Change: only warn if rename() of previous cong files failed src/sympa.pl: [BugID 70] [H. Maza] : In the final report of expire process, the first subscriber is skiped, no matter his subscription is confirmed ot not. src/Commands.pm: [BugID 70] [H. Maza] : In many cases, uncorrect list of subscribers to be notified, or uncorrect list of unconfirmed subscriptions, is reported during an expire process. In addition, sympa reports an error : "Command not understood: ignoring end of message." 3.4 15 October 2002 Changes : Bug fixes : [reported by O. Lacroix & V. Mathieu] Better syntaxical checks on email addresses ; also lowercase src/List.pm: 'db_env' no more a multiple parameter ; variables/values pairs should be separated by ';' Fixes the problem with 'ARRAYxxxx' appearing in the 'db_env' entry of edit_list web form src/etc/list_aliases.tpl: Fix: incorrect alias parameters [BugID 50] allow (privileged) listowner to close/restore list. Also allow shared opening/closure wwsympa/wwsympa.fcgi: [BugID 52] Fix : Moderated messages were not accessible from the web interface. WWSympa runs as user 'sympa' and the mhonarc process that generates HTML version of moderated messages also requires to run as user 'sympa'. Obviously Perl refused to allow this script to run as SetUID 'sympa' because mhonarc had double quotes (") in its argument. 3.3.6b.6 03 October 2002 Changes : src/alias_manager.pl: Requires at least 3 arguments Bug fixes : wwsympa/wwsympa.fcgi: No more 'alias_manager' parameter in sympa.conf src/parser.pl: $current_output was not set when working on a file descriptor Bug description: the parser would append output to the latest arrayref used, whereas fd is not used wwsympa/wwsympa.fcgi: vars used in list_aliases.tpl had changed wwsympa/wwsympa.fcgi: Fix: parse_tpl() requires a reference to a file descriptor as a parameter 3.3.6b.5 02 October 2002 New features : check_perl_modules.pl: provide further information about required Perl modules wwsympa/wwsympa.fcgi: Allow non-anonymous bind in auth.conf. New bind_dn and bind_pawword parameters Changes : Makefile.in, configure, configure.in: [Julien Wajsberg] Use virtual_aliases as default postmap_arg Bug Fixes : src/List.pm: [reported by A. Bernstein] [BugID 45] robot-related variable used in summary.tpl were not available. List::send_msg_digest() was expecting an additional $robot parameter src/List.pm: don't add a 'dir' entry in 'admin' ; it was considered a list parameter wwsympa/wwslib.pm: Reported by J. Andre better checking of email syntaxe src/List.pm: [Paul Marquess] [reported by Jean-Claude Ben, Harri Czesla, Glenn Gillis] with DB_File (Perl module) 1.805, Sympa processes died with the following error message : Key 'compare' not associated with a code reference at /var/sympa/bin/List.pm line 918 Compare callback had to be changed to DB_BTREE->{compare} = \&_compare_addresses src/sympa.pl: Use list domains instead of list host for making aliases src/: task_manager.pl: task manager error management [Harry Westerman] Fix web templates, were based on release 3.3.3 3.3.6b.4 19 September 2002 New features : [Harry Westerman] Complete translation to Dutch src/sympa.pl: New '--make_alias_file' option to build a complete alias file wwsympa/wwsympa.fcgi: to avoide httpd restart when installing some change wwsympa/wwsympa.fcgiserver exit just after serving a page if wwsympa.fcgi as changed on disk.. Then Apache launch a new fastcgi server [requested by Janek Hiis] : custom subject can now refer to list variables ([list->name] or [list->sequence]) Changes : ***** wwsympa.conf parameter 'alias_manager' no more used ***** Sympa now always uses alias_manager.pl script ; installed aliases can be customized ***** via the 'list_aliases.tpl' file (can be done via sympa admin web interface) New Message.pm module that provide a complex message object including S/MIME information. This should fix the bug related to moderation of crypted messages src/List.pm: query database for total of subscribers, if no LIMIT was given or if first page wwsympa/wwsympa.fcgi: [reported by Vincent Mathieu] Add filename to upload log Bug fixes : [reported by Sergiy Zhuk] Fix: umask was considered a decimal number ; now taken as octal wwsympa/wwsympa.fcgi: [Herve Maza]: missing $robot parameter to load_scenario_list() subroutine. Robot-specific d_read and d-edit scenarios were not available. src/List.pm: wwsympa died (in request_action) if scenario had incorrect format wwsympa/wwsympa.fcgi: reply-to problem from web archives src/X509.pm: SSL and LWP were required ; made them optional 3.3.6b.3 10 September 2002 New features : src/parser.pl: a arrayref can be used by parse_tpl() as an output ; template can also be an arrayref New include : include_remote_sympa_list allow to fetch a list from a remote sympa server using https only. New action dump use as the server part of sympa to sympa subscribers importation src/X509.pm: X509.pm currently just include subroutines for sympa to sympa https communication. All S/mime should be moved from tools.pl to X509.pm as soon as ther use openssl perl module instead of openssl commands. ***** src/etc/script/p12topem.pl: Now can be used to install a ***** certificate to sympa robot itself. Usage ***** P12topem.pl --pkcs12 --robot ***** p12topem.pl --pkcs12 --listname wwsympa/bounce-lib.pl: Now recognize "x-failed-recipients:" comma separated list of recipient. (exim). Reported by Stefan Hornburg ***** Introduce a 2 new parameters in sympa;conf : spam_protection and ***** web_archive_spam_protection. They are use to define the way that ***** sympa protect email adrersses from spambot. "cookie" "at" "javascript" "none" ***** Because mhonarc ressources as changed, you MUST rebuild all archives ***** otherwise old archive are unprotected. (Use rebuild button in sympa ***** admin page). New [SETOPTION ignore_undef] in parser src/sympa.pl: Loop prevention based on X400-Content-Identifier header field add [current_date] in scenarios Changes : wwsympa/wws_templates/us/admin_menu.us.tpl: Revised by john Douglas for a better organisation. ***** src/List.pm: now sympa.pl dump any list (even if user_data_source = file) ***** in a single file $list->{'dir'}/subscribers.db.dump nls/de.msg: [Andreas Krueger] small improvements src/List.pm: if cannot connect to DB, keep trying, do not die (this prevent from sending hundreds of worning messages to listmaster) ***** src/Commands.pm: 'lists', 'lists.header' and 'lists.footer' file no ***** more recognized by Sympa. 'lists.tpl' template used instead Bug fixes : src/List.pm: (related to include2 implementation): _include_users_xxx() not properly working on tied hash. Failed including duplicates in 'include' mode src/List.pm: Reported by Sergiy Zhuk. Fix incorrect number of subscriber when deleting. wwsympa/wwsympa.fcgi: Fix wwsympa infinite loop when adding subscribers with incorrect adress ! Fix moderate.xx.tpl templates : Incorrect From, breaking SMIME signatures ; add correct reply-to header field src/sympa.pl, src/task_manager.pl, src/tools.pl, wwsympa/archived.pl, wwsympa/bounced.pl: [Marcin Deranek] Fix: Previously group_id and user_id were always set to user_id. Now use getgrnam() instead of getpwnam() src/tools.pl: better log in virus_infected wwsympa/wwsympa.fcgi: Reported by John Douglass john.douglass AT oit.gatech.edu : Allow listowner to close a list. Makefile.am: Fix: wizard was never started src/etc/script/sympa: ps -A|grep failed because of a space char ; could not stop processes. Also supress removal of .pid file (sympa processes do it themselves) src/task_manager.pl: Use Digest::MD5 instead of MD5 wwsympa/wwsympa.fcgi: [reported by S. Medard] do_arcsearch_id failed if key_word (Message-ID) contained '$' character Makefile.am, src/Makefile, src/etc/script/Makefile: do not install scripts and aliaswrapper in bindir (install them in sbindir and libexecdir instead) wwsympa/wws_templates/de/compose_mail.de.tpl: [reported by Hanke Penning] could not reply to the sender src/sympa.pl: Sympa.pl would die if smime_decrypt() failed src/sympa.pl: Sympa would consider application/pkcs7-mime;...; smime-type=signed-data as crypted messages and would die while trying to decode them 3.3.6b.2 31 July 2002 New features : ############################################################### New 'include2' user_data_source ; should replace 'include'. Users cache is stored in the main database instead of using a DB_File. Updates of the cache are performed by the task_manager * Advantages + lower memory usage : Sympa processes used to use lots of memory when managing big (>200 000) 'include' types of lists. The list of subscribers is now stored in the database. + updating the cache : Cache update is now performed by the task manager. It used to be performed by sympa.pl and wwsympa.fcgi. + bounces management : Because included users now have an entry in subscriber_table, their bounces are managed like any other subscribed users + user reception options : Included users can set their reception mode * Subscriber_table changes The subscriber_table Db table has 3 new fields : * included_subscriber This boolean value tells if the user has been included into the list * subscribed_subscriber This boolean value tells if the user has subscribed to the list * include_sources_subscriber Comma-separated list of include source IDs. It is not exploited yet, but could be used to : - set different TTL for each include data_sources - show include sources in the REVIEW pages - tell the user he/she has been included as part of X,Y external datasources * Task manager New 'sync_include' list task : Only one model (ttl) is available. TM checks if the list is in 'include2' mode and runs the sync_include. The syn_include() does an in-memory comparison of already cache users list and included users list ; subscriber_table is then updated. List::delete_user() and List::add_user() have been optimized to make sync_include() faster. A new task is created based on 'ttl' list parameter. New 'purge_user-table' global task : Each time a user unsubscribes the user_table had to be cleaned ; this was time-consuming. This is now performed periodically by the 'purge_user-table' task. * Changes of commands behavior Reception options Included users can now set their reception mode Subscription Included users can moreover subscribe to the list (if allowed by scenario). It allows them to remain in the list though they might no more be included. Review (web only) Foreach user, tell if he/she is included or subscribed * Locking while updating cache An exclusive lock is performed by sync_include() to prevent other processes from accessing an uncomplete list of users. A shared lock is set in List::get_first_user(), then released for the last List::get_next_user(). File locking is performed on ~sympa/expl//include.lock file * Stats file A new value has been added to lists 'stats' file : last_sync I is the date (epoch format) of the last include cache update. * List configuration edition When the list configuration has been changed (from the web), then : * if we changed a datasource-related parameter => the current 'sync_include' task is removed from the task spool, to make cache update happen as soon as possible. * if user_data_source changed from 'database' to 'include2' => existing subscribers have their 'subscribed_subscriber' DB field set to '1' * if user_data_source changed from 'include2' to 'database' => existing included users are purged from subscriber_table * TODO + sending messages when users are included/decluded (should be an option) + migrating from 'include' to 'include2' + showing user datasources within REVIEW page + adding "sort by datasource" in REVIEW page ##################################################################### Changes : database structure has been extended for 'include2' user_data_source ***** New database fields added to subscriber_table ***** With MySQL : ***** ALTER TABLE subscriber_table ADD subscribed_subscriber enum ('0','1'); ***** ALTER TABLE subscriber_table ADD included_subscriber enum ('0','1'); ***** ALTER TABLE subscriber_table ADD include_sources_subscriber varchar(50); ***** If you are using another RDBMS, please check create_db.xxx scripts src/etc/script/sympa: [Pierre Métras] Changes: adapt statup script for Solaris (second episod) * comparison operator with SH is '=' ('==' is Bash-specific) * use PIDDIR * check if process is running before stopping src/task_manager.pl: create missing task before exuting existing ones. It allows faster excution of newly created tasks src/task_manager.pl: use the task model to create a new task, not a simple copy of previous task. This was required for sync_include() wwsympa/wwsympa.fcgi: call List::add_user() and List::del_user() with multiple emails as parameters Bug fixes : wwsympa/wwsympa.fcgi: Fix: prevent document edition/deletion by anonymous users in the shared src/tools.pl: [Robert Marcjand] Fix virus detection : With McAffee, MIME Exploit gen virus are found, but are not detected by the Sympa Software because the report is "Found application" instead of "Found the .... virus" src/tools.pl: [Thibaut Dabonneville] Fix AVP virus detection src/tools.pl: Fix duration_conv() src/List.pm: make sql_query regexp case-insensitive wwsympa/wwsympa.fcgi: [reported by Robert Marchand] When closing a list the subscribers.db.closed was not created (wrong path) Makefile.am, Makefile.in, src/etc/sample/Makefile: [BugID 0000019] Fix: EXPLDIR (set by configure --with-expldir) was not used at directory creation time src/List.pm: [BugID 0000024] When URLIZINg attachments which contain a single Content-Type header without attributes, the attachment saved contains an additional newline after the Content-Type header on disk. wwsympa/wwsympa.fcgi: [reported by Denis Creusot] missing closedir() could leed to a 'too many open files' problem wwsympa/wwsympa.fcgi: [Laurent.Aublet-Cuvelier] Fix scenario_test action : authentication's methods do not appear src/sympa.pl: [reported by Robert Marchand] message confirmations request was not sent in the proper language (robot lang instead of list lang) nls/: et.msg, ro.msg: [Olivier LACROIX] Fix: NLS compilation (with gencat) failed with HP-UX src/task_manager.pl: [BugID 0000026][Stephen Braswell] Fix: task_manager.pl now removing its PIDfile 3.3.6b.1 26 June 2002 New features : src/tools.pl: Sympa working with Clam antivirus (http://clamav.elektrapro.com/) src/Conf.pm, src/sympa.pl: Add 'antivirus_notify' sympa.conf parameter to disable antivirus notification src/List.pm: [list->total] variable made available in scenarios [Vesa Alho] Finnish translations of templates src/etc/mhonarc-ressources: [Georg Bauer] German translation of Mhonarc ressources Changes : src/List.pm: [proposed by Guy Paressant] make LDAP queries asynchronous. Entries are fetched on the fly. This saves lots of memory while building big inlude type of lists wwsympa/wws_templates/fr/list_menu.fr.tpl: Hide owners/editors email addresses wwsympa/wws_templates/us/main.us.tpl: Language menu now available in login page src/List.pm: [reported by gilles tellier] Add a Fileneme message-header.txt or message-footer.txt name for compatibility with outlook. src/etc/templates/us/your_infected_msg.us.tpl: Adapt virus alert message for spoofing virus ***** src/tools.pl: replace trusted_ca_option with cafile and capath in ***** sympa.conf src/etc/script/sympa.spec: [Zenon Panoussis] Added check and aliases file and link for Courier. Changed "Requires: apache" to "Requires: webserver" for compatibility with apache2 Bug fixes : src/List.pm: [reported by Fabien Salvi] made Sympa die if sender address contained '*' src/List.pm: [reported by Marty Pauley] Email comparison performed with a regexp. This could leed to incorrect comparison if email contained '+' chars src/task_manager.pl, wwsympa/bounced.pl: [reported by Hanke Penning] Fix: Zombie sendmail processes were not made free src/List.pm: [reported by Sergiy Zhuk] if a list was in 'user_data_source include' and had no include source, the List object could not be created. src/List.pm: [reported by Adam Bernstein] 'not_me' reception option did not have the expected behavior src/etc/script/sympa: [reported by J.P. Dalbec] 'status' action src/sympa.pl: [reported by Christophe Ruhlmann] do not reject mails from sender starting with 'sympa' ; perform exact match on the local part src/tools.pl: suppress '2>&1' when calling openssl ; this syntax is shell-dependant wwsympa/wwsympa.fcgi: write cookie even if empty (otherwise previous one was used) Set 'which_info' once only, before template parsing wwsympa/wwsympa.fcgi: [reported by Jeg] file renaming failed in shared root directory wwsympa/wwsympa.fcgi: [reported by Jeg] desc files were not renamed wwsympa/wwsympa.fcgi: [reported by Jeg] check URL renaming wwsympa/wwsympa.fcgi: [reported by Jeg] filename containing %xx chars could not be accessed/edited/deleted. Supress the global unescape_chars() call in get_parameters() Also fix escaping in do_editsubscriber() wwsympa/wwsympa.fcgi: [reported by Jeg] '/' not allowed in filenames wwsympa/wwsympa.fcgi: [reported by patrick]: For a list of files/dirs wwsympa (in the shared section) list the "last update time". However it is wrong, since it is based on the ctime instead of the mtime. wwsympa/wwsympa.fcgi: [Adam Bernstein] Remove DOS linefeeds (^M) that cause problems with Outlook 98, AOL, and EIMS src/sympa_wizard.pl: [reported by H. Ulliac] missing task_manager_pidfile 'expire_bounce' => 'expire_bounce_task' src/Commands.pm: [reported by Philippe Allart] Bad report when 'REMIND *' is not allowed src/Commands.pm, wwsympa/wwsympa.fcgi: Fix Gecos management with subrequest src/List.pm, wwsympa/wwsympa.fcgi: [Sergiy Zhuk] check listname for '-request' '-unsubscribe'... in List::new() and wwsympa::create_list() 3.3.5 14 May 2002 New features : doc/Makefile: now generate sympa.pdf Changes : src/Conf.pm, src/task_manager.pl: Rename task-related sympa.conf parameters (append _task). Restore default for 'global_remind' parameter Makefile.am: rename doc target documentation (because of the confusion with doc directory) Bug fixes : wwsympa/wwsympa.fcgi: [reported by Olivier Lonni] when creating a list, 'other' now means no topic 3.3.4b.9 07 May 2002 New features : New "your_subscribtions" HTTP cookie to carry subscriptions in all templates. [get_which] is a table with one entry per list [which_info] is a hash using listname keys and SUBJECT and HOST as value Topics are now available in all templates [Frederic Connes] add postfix-style alias management in Sympa New Makefile parameters POSTMAP, POSTMAP_ARG and VIRTUAL_ALIASES New script postfix_manager.pl. New C wrapper virtualwrapper.c sympa_wizard.pl: new script to help filling sympa.conf & wwsympa.conf at first installation Bug fixes : src/mail.pm: [reported by Anas Agoumi] S/MIME signed templates sent from the web (welcome/bye) where empty messages. This was due to same file descriptor used in different contexts and rename() performed too early src/List.pm: Can't use string ("mail") as an ARRAY ref while "strict refs" in use at /home/sympa/bin/List.pm line 6735 while installing pending lists _save_admin_file() would modify the List object (change array references to scalar) wwsympa/wwsympa.fcgi: skip auth.conf if empty This prevents 'require Net::LDAP' to be run, only because auth.conf exists wwsympa/wwsympa.fcgi: [reported by O. Lonni] Scalar list parameters could not be reset Because of the split config edition form, empty parameters were skipped. All parameters editable in the form are now processed wwsympa/wwsympa.fcgi: [reported by Frederic Connes] could not empty parameters such as web_archive quota. [reported by Frederic Connes] admin page help always appeared in its US english version [Frederic Connes] Typography fixes in French mail and web templates wwsympa/wwsympa.fcgi: [Frederic Connes] set default value for bounce rate src/Conf.pm: also skip lines beginning with '\s+#' in auth.conf get 'info' as default for 'homepage' in editfile ; also detail documentation Changes : src/parser.pl: Use syslog instead of STDERR src/parser.pl: Prevent loops when parsing/including files 3.3.4b.8 25 Apr 2002 New features : [Lauri Jesmin] Complete translation to Estonian [Valics Lehel] Web templates translation to Romanian src/List.pm: [proposed by Lauri Jesmin] Add Erros-to: header field to messages Bug Fixes : src/List.pm: "Can't use string ("monthly") as a HASH ref" _load_list_param() did not match task structure in memory (scalar vs hash) src/List.pm: 'urlize' reception option failed with lists in a Virtual Robot Did not work on the proper directory wwsympa/wwsympa.fcgi: closed lists are no more seen from other Virtual robots wwsympa/wwsympa.fcgi: editfile did not work on the correct language Now uses list's lang or robot's lang to find apropriate template [Valics Lehel] HTML fixes in web templates 3.3.4b.7 22 Apr 2002 New features : [Valics Lehel] NLS and Mail templates translation to Romanian Bug Fixes : src/List.pm: did not load 'stats' file when creating List object wwsympa/wwsympa.fcgi: [reported by Virginie Perrot] Could not set file description in shared Error message : Synchronization failed for... [reported by Frederic Connes] main title used in sendpassword template instead of robot title. Fix: Load wwsympa.conf in Conf.pm ; use [conf->title] instead of [wwsconf->title] [Frederic Connes] Fix boundary in welcome messages src/List.pm: messages Header/footer addition did not work for VRobots 3.3.4b.6 10 Apr 2002 New features : Changes : ***** [reported by Daniel Pittman] extend 'bounce_subscriber' database field. ***** Could lead to errors in Mysql : "value too long for type character varying(30)" ***** With MySQL sympa.pl will make database structure changes at startup (if ***** it has the alter_table privilege) ***** DB_FIle < 1.75 will not work properly with BerkeleyDB 3.2 Sympa error log : ***** "_load_users : cachesise too small" ; you probably need to upgrade DB_FIle ***** perl module [John Paul Dalbec] Better english translations of web templates Bug Fixes : src/List.pm: [Guy Brand] Integer overflow occured when saving 'stats' file. loadstats would fail leeding to "empty list" ; message was considered as bad src/List.pm: [reported by V. Mathieu] 'stats' file was not updated when 'subscribers.db' was updated (this concerns 'include' type of lists) src/List.pm: processes were always synchronizing with 'subscribers.db' file even when they had up to date subscribers in memory, This was due to a wrong condition for _load_users_include() src/aliaswrapper.c: [Frederic Connes] problems when NEWALIASES_ARG is defined src/aliaswrapper.c: [Christian Mock] when NEWALIASES_ARGS is empty aliaswrapper died ; should be a NULL pointer wwsympa/wwsympa.fcgi: [Reported by Frederic Connes] : fix quota checking. (no quota applied if shared/quota is undef) wwsympa/archived.pl: don't check archives quota if no quota is defined wwsympa/wws_templates/fr/compose_mail.fr.tpl: Add hidden message_id [reported by Tellier Gilles] Don't propose 'close_list' button to listowners src/etc/scenari/create_list.listmaster: [reported by Frederic Connes] Wrong scenario (was public_listmaster) 3.3.4b.5 4 Apr 2002 New features : Quotas for shared and archives. New list parameters in 'shared_doc' and 'web_archive' paragraphs. New sympa.conf parameters 'default_archive_quota' and 'default_shared_quota' Changes : wwsympa/wwsympa.fcgi: Review Virtual robots from serveradmin page if Superlistmaster wwsympa/wwsympa.fcgi: Change log facilities from 'debug' to 'info' Bug fixes: src/tools.pl: [Sergy (Yahoo-inc)] fix incorrect file extention src/etc/script/p12topem.pl: Fix: p12topem.pl now working with VRobots src/tools.pl: Fix certificate location for list in virtual robot Fix digest inclusion of encrypted message src/List.pm: Fix wrong list certificate path related to a virtual robot wwsympa/wwsympa.fcgi: all pending lists were seen from each robot wwsympa/wwsympa.fcgi: [John Douglass] alternative email registering failed (incorrect listname) src/List.pm: better synchronization of processes with 'stats' file (in partcular total of subscribers) src/etc/create_list_templates/private_working_group/config.tpl: [O. Lacroix] : wrong syntax for parameter reply_to src/List.pm: return 0 (instead of undef) in send_msg() if no subscribers 3.3.4b.4 26 Mar 2002 New features : src/List.pm: custom subject can now refer to list variables ([list->name] or [list->sequence]) src/parser.pl: extend parse_tpl parameters format. Allow an ARRAY ref for $template Allow a SCALAR ref for $output Changes : src/List.pm: query DB for # of subscribers only if called without LIMIT in get_first_user ; perform total-- just before savestats (could be reinit because of get_which()) src/List.pm: when evaluating a scenario, load subscriber database entry only if needed src/List.pm: if list has 0 subscriber, each time a new() is performed, the database was queried Bug fixes: wwsympa/wwsympa.fcgi: [reported by Herve.Brunet] "Sympa could not set a cookie for login" when accessing WWSympa via a hostname different from the Servername. If http_host does NOT match cookie_domain then set cookie_domain to http_host wwsympa/wwsympa.fcgi: [Hanke Penning] navigation in archives failed with HTTPS HTTP_HOST env variable already contained the TCP port wwsympa/wwsympa.fcgi: [reported by Robert Marchand] password setup notice appeared twice src/aliaswrapper.c: [Nicolas Orlando Nappe] aliaswrapper exited with a bad address error (on RH 7.2 + gcc3) execle expects a pointer to NULL rather than a NULL pointer in the environment set_symlinks.pl: Security fix: default REVIEW was public 3.3.4b.3 13 Mar 2002 New features : [Josep Roman] Update Spanish web templates wwsympa/wwsympa.fcgi: Add by_domain sort in REVIEW Also changed query for mysql in get_first_user() src/List.pm: [requested by Walter Hopgood] Make 'body' and 'full_msg' available to summary.tpl Add 'log_level' conf parameter With FastCGI, serveradmin provides processid and request count Make 'lang' a robot.conf parameter New 'cookie_domain' parameter in robot.conf src/sympa.pl: [Christian Mock] : handle pkcs7-mime content-type of signed messages (outlook) Add use_ssl variable availible for all wwsympa template. This [use_ssl] and [auth_method]=smime must not be mistakeen one for the other. [use_ssl] may be set while user are not logged because they don't have certificate add 'db_env' parameter to 'include_sql_query' Changes : just a few commands are now searched in messages. This is now defined in sympa.conf ('misadressed_commands_regexp' parameter) no more provide mailto: in info page ; spam prevention wwsympa/wwsympa.fcgi: [Herbert Straub] also search in previous month in do_arcsearch_id() wwsympa/wwsympa.fcgi: [reported by Yves Agostini] Change: navigation in archives could fail because did not correspond to requested URL. Now use HTTP_HOST and SERVER_PORT to build BASE. so Mhonarc uses its default [reported by Joe Davidson] add a Message-ID to compose form to prevent Sympa from distributing twice the same message (reload). New tools::get_message_id() sub check_perl_modules.pl, src/List.pm: _ListTables is deprecated, use $dbh->tables() instead. Therefore requires recent version of DBD::mysql src/sympa.pl: Prevent loop while unable to rename file to the 'bad' directory. src/List.pm: [Vincent Mathieu] multiple reference to variable [sender] in lDAP filters. Bug fixes : Makefile.am: Change configure options to with-xxx so they can be customized at configure time wwsympa/wwsympa.fcgi: did not store subscription request in wwsympa wwsympa/Marc/Search.pm: [Sergiy Zhuk] Bug fix: with FastCGI, despite the fact you're getting new search results, it still marks the old keyword. The problem was caused by the 'o' modifier in Search.pm, which compiles the search pattern just once. [Maguy Lebreton] Make sleep() longer in archived, so mhonarc has time to process big messages. src/etc/mhonarc-ressources: [reported by Serge Algarotti] Messages header fields were parsed in archives src/etc/mhonarc-ressources: [Sergiy Zhuk] Fix formating (introduced in 1.14) src/Conf.pm: [reported by Pascal Schelcher] allow \s in auth.conf entries (filters) auth.conf paring should be more strict src/tools.pl: Fixe sign_check : checking using original message instead of object message in order to handle properly multipart messages (b64 sign bug) wwsympa/wwsympa.fcgi: [reported by Hanke Penning] 'quiet' scenario action was not used in do_add() and do_subscribe() src/List.pm: [reported by Walter Hopgood] wrong value for Sunday digest Could not send Sunday digests wwsympa/wwsympa.fcgi: [Sergiy Zhuk] Fix Net::SMTP::mail() call src/Commands.pm: no relation between 'do_it' action and owner notification src/sympa.pl: Fix CleanSpool: could not remove directories wwsympa/bounced.pl: [reported by Malcolm] do not force file access permissions to 777 wwsympa/wwsympa.fcgi: [reported by Michel Bouissou] wrong link to father directory in shared src/etc/scenari/send.publicnoattachment: [Reported by Roussel Florian] : fix missmatch Content-Disposition/Content-Type src/Commands.pm: Command::which() did not skip first argument WHICH command returned a wrong result for Virtual Robots src/List.pm: [John Paul Dalbec] this section of code fixed "name=" but broke "URL=" src/etc/mhonarc-ressources: reported by Vincent Mathieu : fix icons location in archive. must be related to wws.conf icons_url parameter [John Dalbec] Fix lots of misspellings/typos in templates 3.3.3 25 Jan 2002 New features : src/task_manager.pl: New task : expire_bounce remove all bounces if the latest_bounce is older than 10 day before last distribution message. The delay "10 day" is set in the task model but it should be set in the bounce parameter paragraph in list/robot/site configuration file. [Luca Maranzano] Add support for the Sophos antivirus Changes : Makefile.am, wwsympa/Makefile: [reported by J.Marant] WWSBINDIR var in Makefile had desappeared. Reintroduce it as 'CGIDIR' wwsympa/wwsympa.fcgi: Initialisation of all lists context while starting wwsympa using fastcgi. Create msg/bad. spool at startup [reported by Samuel Tardieu] Change Digest::MD5->md5_hex calls to Digest::MD5::md5_hex Bug fixes : src/List.pm: suppress 'untie %users' in _load_users_include get_subscriber() and is_user() subroutines failed with 'include' type of lists src/alias_manager.pl: [reported by Sergiy Zhuk] wrong argument to bouncequeue Also add @domain to arguments, even if default_domain src/smtp.pm: [John Dalbec] Patch for exim compatibility task_manager.pl: desactivate global_remind task (not implemented yet) src/task_manager.pl: run task_manager in background src/Commands.pm: REVIEW requested by non-owners failed (command not found) if a 'concealed' subscriber was found. wwsympa/wwsympa.fcgi: [reported by Sergiy Zhuk] Bug fix: Could not delete scalar multiple parameters (like 'include_list') via edit_list form. some default robot conf parameters where used instead of virtual robot ones. Added Conf::get_robot_conf() subroutine src/List.pm: Fix: do not save empty list parameters [reported by J. Marant] use $Conf{'etc'} instead of --DIR--/etc wwsympa/wwsympa.fcgi: [John Dalbec] save stats file when data_source changed src/parser.pl: parser could recursively evaluate vars ; made this cleaner (new do_eval() subroutine) wwsympa/Makefile: [reported by Benoit Marchal] chown of SRC (mime.types) had wrong path 3.3.1 11 Jan 2002 Bug fixes : src/List.pm: [reported by M. Langlois] List::user_add() used the wrong entry in %$values. With Oracle, subscriber insertion failed (ORA-00936: missing expression) ; with other RDBMS update_subscriber was empty [Sergiy Zhuk] Bug fix: in List::_load_users_include() subscribers data could get corrupted if 'config' changed or 'subscribers.db' was deleted. nls/: reverting us and fr translations wwsympa/wwsympa.fcgi: replace buggy call to sendmail in do_change_email by &List::send_global_file... Changes : src/List.pm: [Sergiy Zhuk] If 'include' data source is unavailable, use previous cache (subscriber.db). Caution: if one data source is unavailable, other sources updates will not be applied src/alias_manager.pl: [proposed by Sergiy Zhuk] Remove temporary file when removing a list 3.3 09 Jan 2002 New feature : src/List.pm: [John Dalbec] 'include_ldap_2level_query' perform an LDAP query in 2 times. [Michel Bouissou] works with AvpLinux antivirus src/tools.pl: [Mathieu Peltier] Now Sympa can work with 'F-Prot' anti-virus Chronological list of lists in server_admin web pages Purge_list feature in server_admin web pages Provide the list of Virtual Robots in server_admin web pages [Sergiy Zhuk] allows Sympa to check listname on SMTP server before list creation. New sympa.conf/robot.conf parameters (list_check_smtp, list_check_suffixes) [requested by Sergiy Zhuk] add wwsympa.conf 'password_case' parameter New html-newsletter list template src/etc/script/sympa.generic: [Harald Wilhelmi] Generic startup script that should work with HPUX. It SHOULD be installed in /sbin/init.d ; Makefile should check system type (`uname -s` eq HP-UX) src/etc/script/logrotate: [Mathieu Peltier] Log rotation script Changes : List parameters edition (web) is now split into groups of parameters Move BAD messages to bad/ subdirectory instead of renaming them. This should fasten the readdir() in spool src/List.pm: if subscribers total is empty, query datasource [Autrijus Tang] Changes: cn-gb -> cn ; cn-big5 -> tw [Autrijus Tang] Updates of Chinese translations [requested by GNU] Add copyright notices and license notices to all source files [Jerome Marant] default welcome messages changed to multipart/alternative (used to be HTML) Write PID on disk as user 'root' ; this allows to create .pid files in /var/run/ Move configuration vars from Makefile to configure (still available at make time) Bug fix: [reported by B. De Boursetty] Fix: MS Exchange sends encrypted mail with a "Content-type: application/pkcs7-mime" header wwsympa/wwsympa.fcgi: [reported by Sergiy Zhuk] Security fix: no more tell if part of password was correct ; no more lowercase passwords src/List.pm: [reported by John Dalbec] List::send_file did not set the return path if the recipient(s) is/are passed as an array reference. This caused problems with my MTA (exim) and results in sympa dying. Add 'robot' parameter to List::new() and List::load() This avoid robots from accessing each others lists from the web interface wwsympa/wwsympa.fcgi: wrong location of 'subscribers' file when changing datasource (failed for VRobots) src/List.pm: bad condition for 'subscribers.db' update src/List.pm: 'subscribers.db' could get corrupted ; leading to empty lists Processes were not benefitting from include cache ('subscribers.db') src/List.pm: Allow WWSympa to update subscribers.db if config changed If subscribers.db changed on disk, use it, don't overwrite it task_manager.pl, sympa.pl, archived.pl, bounced.pl: [reported by Harald Wilhelmi] Change group before change user [Thomas Leavitt]: Typos/spelling/grammatical errors [J. Marant] Fix: replace /icons with [icons_url in web templates configure.in: [reported by Harald Wilhelmi] use ${prefix} instead of ${ac_default_prefix} This allows to override prefix at configure time (with --prefix=/xxx) src/etc/script/sympa: Fix stop and start functions. Stop was using killproc wwsympa/wwsympa.fcgi: [reported by V. Mathieu] Bug fix: could not perform a subrequest, providing an LDAP UID (for not identified people). src/List.pm: Fix: do not restrict 'db_type' to listed RDBMS for includes get_file did not find templates in list dir. Could not edit list templates from the web 3.3b.4 16 Nov 2001 New feature : Reply_to_header/value parameter allow the value 'all' to force Reply-to: [list],[sender]. This is usefull for hotline MLs New 'log_smtp' sympa.conf/robot.conf parameter : allows per/robot logging of Sendmail calls Changes : [requested by Daniel Pittman] If 'default_home' parameter was defined use it anytime instead of 'home'. Also use 'lists' as a default action if no topics.conf was found [requested by GNU] Change GIF icons to PNG. (Problem with transparency) Bug fix: edit_list_conf memory cache was not used Fix a bug in check_arc_cookie (users always redirected to the "I'am not a spammer" form) REMIND failed [reported by V. Mathieu] Supress logging in Apache error log 3.3b.3 14 Nov 2001 New features : [L. Hamadouche] Ldap authentication via uid and emails stored in LDAP Directories. Alternative email addresses extracted from LDAP directory ; may be used to "unify" subscriptions. [L. Hamadouche] Sympa can export lists in an LDAP directory. Directory is defined in sympa.conf (ldap_export_xxx), exportation via 'export' list parameter. WWSympa's search_list feature may be extended to LDAP directories. [L. Hamadouche] LDAP search filters can be used in scenarios via 'search' condition. Add 'timeout' and 'scope' to 'include_ldap_query' list parameter New sympa.conf parameter 'db_port' New db_env sympa.conf parameter ; usefull to set Oracle's 'ORACLE_HOME' New sympa.conf parameter 'misaddressed_commands' to disable command detection in messages Changes : src/List.pm: Changes: DB_File structure for 'includes' now stored on disk (used to be in memory). It allows sharing of this cache between processes. The cache is not updated by WWSympa, because it would leed to bad performences ***** is_listmaster => write no more hardcoded in List::may_edit() ; 'default' no more ***** allowed for population in edit_list.conf ***** Now use configure.in and Makefile.am (uses automake/autoconf) ***** Makefile is generated as follows : ***** automake -a ; aclocal ; automake ; ./configure wwsympa/wwsympa.fcgi: [proposed by D. Bernard] Use 'SERVER_NAME' instead of 'HTTP_HOST' to determine current VirtualRobot. This is much more reliable (Apache uses the server name as defined in its config file) wwsympa/wwsympa.fcgi: [requested by Janos Kovacs] Replace glob() with opendir/readdir(). This allows using WWSympa over an apache running in jail [requested by Janos Kovacs] Password remind message is now sent via sympa.pl ; no more direct call to sendmail. This allows using WWSympa over an apache running in jail [reported by Daniel Pittman] Add missing icons Moderation message is now a template A unique template for listmaster notification src/Commands.pm: [Ralf Ebeling] Allow subscription request to be forwarded with no sender notification Notify listmaster if Virus scan failed [reported by J. Dalbec] RH 7 compatibility changes : Web hierarchy location, Sympa directory location [Szilard Vizi] Update ALL Hungarian translations nls/de.msg: [H. Wilhelmi]: update nls/cn-big5.msg: [Autrijus Tang] Update : adapt terms to Taiwan usage Bug fixes : When saving a pending list, 'send' and 'visibility' were saved as 'closed' ; previous values were lost. moderation message had no trailing boundary ; crypted messages were not properly moderated ; template sent to multiple recepients could not be crypted ; all message header fields were passed to OpenSSL, only content-type and content-transfer-encoding are passed now. Many Virtual Robot related bug fixes [reported by S. Tardieu] Bug fix: summary of messages was sent to the list itself. Digest/summary could be sent to an empty list of recipients. [Harald Wilhelmi] Bug fix: Could not perform an anonymous LDAP bind [reported by Anne Durand] Bug fix: wwsympa did not reset list of topics before reloading topics.conf wwsympa/bounce-lib.pl: Bug fix: NTMail reports made bounced die [reported by V. Mathieu] Bug fix: LDAP authentication is case-sensitive src/Conf.pm: [reported by JM Pouchoulon] Bug fix: auth.conf needed a last empty lines Bug fix: moderation message had an empty boundary (unless md5) Raise an error if subscribers inclusion failed Raise error if incorrect scenario rule, so the message/command is kept as BAD Add 'other' topic in create_list form [reported by G. Mercey]Bug fix: scenario with '-' in name were not listed src/List.pm: [reported by Tanel Kokk] 'mkdir' function requires mode [Straub Herbert]: Encode mail subject for LISTS and HELP src/List.pm: Bug fix: Do NOT consider .tpl as hierarchical parameters (like owner.email) src/etc/script/sympa.spec: [reported by D. Mostacero] corrected 'perl-ldap' RMP name src/etc/script/sympa.spec: [John Dalbec] Fix Perl dependency 3.3a-vhost.10 25 Sep 2001 New features : Sympa at last implements virtual robot : Sympa virtual robots are likely Apache virtual hosting : a single daemon sympa.pl and a single cgi server wwsympa.fcgi now can serve multiple domains with their own set of list, templates and scenarii. All configuration parameters can be define for each robot except Sympa installation parameters such as binary and spool location, SMTP engine, antivirus plugging etc. A robot is named by its domain, and defined by a directory ~sympa/etc/somedomain.org. This directory must contain a robot.conf file that defines the virtual robot parameters http_host title default_home lang listmaster max_size and colors. ~sympa/etc/dom.org/ contains lists of dom.org robot ~sympa/etc/dom.org/wws_templates/, ~sympa/etc/dom.org/templates/, ~sympa/etc/dom.org/scenari/ directories are applied when loading templates or scenarii before searching into ~sympa/etc and ~sympa/bin/etc. Check sample dir. [Florent Guilleux]: Task manager wwsympa/wws_templates/fr/edit_list_request.fr.tpl Various task automatic processing. List master may use predefined task models to automate recurrent processings such as regurlaly reminding subscribers their belonging to a list or updating certificate revocation lists. It is also possible to write one's own task models to meet particular needs. Unique actions may also be scheduled by this way. Sympa.pl recognize SIGHUP to reload sympa.conf, all sympa.conf parameters are reloaded except those related to syslog. In addition each HUP received change the value of the -mail option. New variable 'is_bcc' available in scenario ; it is set to 1 if the list was NOT mentioned in To: or Cc: This provides a usefull spam/viruses prevention You can define a set of common scenario rules, used by ALL LISTS. 'include..header is automatically added to evaluated scenarios. Changes : Web interface colors are now defined in sympa.conf 'reject' scenario action now accepts a template name as parameter Bug fixes : Forbid [] chars for shared documents STATS command controlled by "review" scenario List-specific invite.tpl was not used 'dir'. List attribute is now an absolute path List config file contained strange 'default_user_options' entries. &List::get_default_user_options() returns a reference ; the value was changed when adding a subscriber, and might be saved later. Did not apply default_user_options while importing bouced.pl died if bounce file was empty bounced now die if it can't create file to store bounces. This is needed to prevent the loop describe by Claus Atzenbeck. 3.2.2a 03 August 2001 New features : Sympa returns non-delivery reports as multipart/report first version of subscription moderation new message-related variables available in scenari : [msg_body], [msg_part->type] and [msg_part->body] rename file/directory in 'web repository' Add bookmarks management to the document repository (shared) New 'db_additional_user_fields' AND 'db_additional_subscriber_fields' in sympa.conf. These fields are accessible from within templates and scenario. List creation request is a template. Add list creation notification (using a template) [requested by C. Turbout] New feature: add 'connect_options' to include_sql_query list param. Add 'db_options' to sympa.conf [Didier Lamballais] Change: add NEWALIASES_ARG var to Makefile [N. Euzen] new 'not_me' user reception option changes for 'urlize' (added size, name ; add header/footer afterward) [requested by C. Atzenbeck] New 'anonymous_header_fields' sympa.conf parameter. [Nadia Euzen]: Add new user reception options "html","txt" and "urlize". Sympa recognises Trend Micro virusWall API non-identified users can change the language of WWSympa. The preferred lang is stored in a cookie. src/Commands.pm: New 'verify' command (for s/mime checking) Changes : Replace remaining get_action() with request_action() Turn command (review,stats,info,modindex) reports into templates Split templates ; one per lang This makes translation easier (charset problems, patches appliance) Now fully uses the update_subscriber DB field src/List.pm: 'update' changed to 'update_date' ; 'update' is a MySQL keyword use internal session cache for List::get_subscriber() src/List.pm: no more SQL join in List::get_subscriber() This should fasten list-related web actions (such as INFO, ARC, ADMIN,...) [proposed by Josep Roman] Use Digest::MD5 instead of MD5 module doc/sympa.tex.tpl: Latex file is now parsed, to include sample files check_perl_modules.pl: Set inactivity timeout to 4 sec src/etc/ca-bundle.crt: Add Ca-CRU to bundle Bug fixes : wwsympa/bounced.pl: daemon would die on a strange bouncing address Better log messages [nablaphi] Fix logging for archived & bounced ; use Getopt::Long src/List.pm: Ignore empty email addresses, from LDAP doc/sympa.tex.tpl: [reported by M. Leclair] Fix 'host' list param documentation srand() is done once to avoid multiple moderated messages to have the same ID src/etc/script/sympa.spec: [reported by S. AZRIEL] aliaswrapper was not installed [Vizi Szilard] cancel translation of From/Subject/To headers src/etc/mhonarc-ressources: fix the reply feature (when replying to list the adresse was not qualified) [reported by Foudil BRETEL] create_list.conf was not properly parsed Make it case-insensitive src/tools.pl: Sympa was bloquing in tools::smime_decrypt() on big encrypted messages. => now creates the FIFO before OpenSSL is called. Fix re-encryption of signed base64 messages [reported by Christian Mock] Bug fix: S/MIME encryption fixed signed AND crypted messages are recognized as signed wwsympa/wws_templates/us/create_list.us.tpl: [R. Manfredi] makes the message clearer wwsympa/wwsympa.fcgi: change_email fixed doc/sympa.tex.tpl: [Vizi Szilard] Hungarian NOT hungrian src/etc/script/create_db.Pg: [Jerome Marant] CREATE INDEX ends with 2 parentheses instead of one src/mail.pm: Also encode $to, From and all $headers entries src/mail.pm: [reported by Straub Herbert] owner notification messages subject was not encoded src/etc/script/create_db.Sybase: [reported by Guenter Lau] Update database structure, make password longer 3.2.1 05 June 2001 Bug Fix : src/tools.pl: [Renato Bonomini] typo Not enough arguments for mkdir at tools.pl line 815 src/List.pm: sympa.pl would die with error message "Can't use an undefined value as a HASH reference" It could not access reply-to value when defining an email as the reply-to Changes : src/etc/script/sympa.spec: [reported by Claus Atzenbeck] perl-CGI.pm has been renamed perl-CGI New features : Makefile, important_changes.pl: Print important changes extracted from RELEASE_NOTES (*****) 3.2 01 june 2001 New features : [Nadia Euzen] antivirus scanner, curently working with McAfee Uvscan and FSecure FSAV. New conf parameters antivirus_path and antivirus_args New template your_infected_msg.tpl nls/hu.msg, wwsympa/wws_templates/hu, src/etc/scenari/,src/etc/templates/: [Vizi Szilard] New feature: Translations to Hungarian src/etc/templates/: [Rodrigo Filgueira Prates] templates translated to Portuguese [Harald Wilhelmi] Mail templates translated to German wwsympa/wws_templates/fr/help_editlist.fr.tpl: [Michel Bouissou] Translated editlist helpfile to french [Jérôme Marant] New feature: change sympa man page to POD format Add archived, bounced and alias_manager man pages wwsympa/wwsympa.fcgi: "Reply" feature from web archives It uses the "compose_mail" action of WWSympa Changes : ***** For enhanced performences, we recommend you add an INDEX to your ***** 'sympa' database. This fasten the queries based on the subscriber email : ***** With MySQL : ***** ALTER TABLE subscriber_table ADD INDEX (user_subscriber,list_subscriber); ***** With PostgreSQL : ***** CREATE INDEX subscriber_idx ON subscriber_table (user_subscriber,list_subscriber)); ***** src/List.pm: [proposed by Petr Prazak] supress lower() function from SQL ***** SELECT queries in user_table. This makes query much faster (t/100) with MySQL ***** ***** You should therefore lowercase your database entries : ***** sympa.pl --lowercase src/List.pm: [proposed by Claus Atzenbeck] Add 'X-Envelope-To' header field deletion for anonymous mode src/etc/mhonarc-ressources: Decode encoded header fields src/List.pm, wwsympa/wwsympa.fcgi: Order list parameters within a paragraph src/List.pm: [Straub Herbert] Changes: change connect string for PostgreSQL Did not work with Pg 7.1 Replace 'reply_to' and 'forced_reply_to' list parameters with 'reply_to_header' parameter (paragraph) Less restrictions on file names in shared (allow spaces) wwsympa/wwsympa.fcgi: Bug fix: did not work when scenario returned multiple actions wwsympa/wwsympa.fcgi: could not edit digest hour wwsympa/wwsympa.fcgi: [proposed by Petr Prazak] Don't stop deletion process if one address is not subscribed src/etc/scenari/send.*: Changes in scenario titles src/etc/mhonarc-ressources: Changes: add deletion confirmation nls/es.msg, src/etc/create_list_templates/*, wwsympa/wws_templates/es/*: [Philippe Mingo] Changes: corrections nls/de.msg [Harald Wilhelmi] updates [Petr Prazak] Czech templates update nls/es.msg: [Josep Román] additions and corrections Bug Fixes : ***** Too many arguments for substr at CipherSaber.pm line 63 ***** If you have Perl Perl 5.005 or earlier installed, you ***** should either upgrade to Perl 5.6 or change CipherSaber::decrypt() to : ***** sub decrypt { ***** my $self = shift; ***** my ($iv, $message) = unpack("a10a*", +shift); ***** return $self->crypt($iv, $message); ***** } src/etc/scenari/visibility.conceal: titel => title Sympa Could not parse visibility.conceal scenario src/Commands.pm, wwsympa/wwsympa.fcgi: Apply list visibility to WHICH command (hide secret lists) src/Conf.pm: Check if we may executes programs listed in sympa.conf wwsympa/cookielib.pm: could not set HTTP cookie if 'cookie_domain' conf parameter was defined src/List.pm: [Michail Bachmann] missing comma (',') in Sybase SQL query src/etc/mhonarc-ressources: do not parse message body in archives src/Commands.pm: [reported by Odile Germes] Sympa would die when receiving a REMIND command for an unknown list src/List.pm: [reported by Petr Prazak] use correct charset for digest table of content src/tools.pl: always look for commands in subject (does not depend on body length) src/List.pm: Q-decode From header field in digest table of content src/List.pm: [Straub Herbert] encode digest Subject header field src/List.pm: Sympa was erasing user preferences (including password) when loading subscribers file to database (from wwsympa edit_list) wwsympa/wwsympa.fcgi: Set folder icon though directory has no .desc src/List.pm: [Yann Bizeul] Escape % chars in moderation message wwsympa/wwsympa.fcgi: Did not list lists with no topic could not delete editor/owner entries src/Makefile: [Jérôme Marant] Change: clean aliaswrapper src/Commands.pm: Missing list::get_user_db() in REMIND for getting user prefs (including password) wwsympa/wwsympa.fcgi: Bug fix: don't reject login if user has no password in db src/etc/templates/global_remind.tpl: correct [user->passwd] to [user->password] wwsympa/Marc/Search.pm: Bug fix: Search in message body was looping if was not found src/List.pm: [reported by Jean-Michel Beuken] Bug fix: Check if scenari dir exists Bug description: wwsympa died when editing list config : glob failed (child exited with status 1) src/sympa.pl: Bug fix: set list language for digest src/List.pm: Bug fix: Do not delete 'Received' header field in List::store_digest() src/Commands.pm: Bug fix: SET did not work Case-sensitivity problem doc/sympa.tex: [David Lewis] corrections in documentation wwsympa/wws_templates/de/: [Harald Wilhelmi] Changes: a few typos in the german wwsympa templates 3.1.1 Wed 25 Apr 2001 Bug fixes : Failed archiving emails. (this bug exists since 3.1 only) 3.1 Tue 24 Apr 2001 New features : [Harald Wilhelmi] Translations of web templates & scenario titles to German [Petr Prazak] Translation of scenari titles to Czech Add auto alias removal Bug Fixes : src/List.pm: [reported by Petr Prazak] Did not keep date of 'subscribers' file Could not synchronize with changed 'subscribers' file [reported by Fiona Dix] forgbid changes in subscriber options if user_data_source is 'include' src/List.pm: [Petr Prazak] Died while getting first subcriber if subscribers file is empty Bug error: Can't call method "seq" on an undefined value wwsympa/wwsympa.fcgi: [reported by Petr Prazak] did not apply subscriber options changes if user_data_source is 'file' doc/sympa.tex: [David Lewis] Many corrections wwsympa/archived.pl: [Petr Prazak] quote listname command line argument Add log if mhonarc call failed src/List.pm: Consider empty value as undef Empty editor/owner mailto: were displayed on WWSympa wwsympa/wws_templates/us/main.us.tpl: [reported by Petr Prazak] Bug fix: missing getCookieVal() function 3.1b.13 Fri 13 Apr 2001 New features : [Petr Prazak] Translations of Sympa to Czech (nle & templates) Auto-install of aliases at list creation time New parameter in wwsympa.conf: alias_manager [Harald Wilhelmi] run newliases via a C wrapper src/sympa.pl: --import option doc/sympa.man: Man pages for sympa src/sympa.pl: --help and --version options wwsympa/wwsympa.fcgi: New feature: Add Javascript cookie check wwsympa/wwsympa.fcgi: search_user for listmaster, available from "sympa admin" web page Bug Fixes : src/List.pm: when subscribers are extracted from an SQL query, the query ends getting emails at first empty entry src/sympa.pl: [reported by Jérôme Marant] parameter for --debug is compulsory wwsympa/wwsympa.fcgi: no more lowercase in shared ; otherwise could not access files with uppercase letters src/List.pm: Set list's lang for owner notification (instead of subscriber's lang) 3.1b.12 4 Apr 2001 New features : propose pre-defined cookie expiration periods in WWSympa src/sympa.pl: Add --keepcopy option to keep a copy of incoming messages Notices are different from errors. Create new templates Add X-No-Archive header field to distributed messages src/Log.pm: Attempt to restore lost connexion to syslogd Changes : nls/es.msg: [Josep Roman] Changes: Removals of extra \n chars, new messages added Add creation date and email in list templates config src/Conf.pm: Change default create_list for reverse compatibility wwsympa/wws_templates/: error.fr.tpl, error.us.tpl: Add action name when failed src/List.pm: look for global header/footer in ~sympa/etc/templates/ src/List.pm: if user_data_source is 'database', check if we have a database up wwsympa/wwslib.pm: provides file extention, given the content-type Bug fixes : src/: sympa.pl, tools.pl: Use original msg file for S/MIME signature checking src/: List.pm, sympa.pl: Use original message for confirmation, not MIME::Entity object This prevents signature breaking src/sympa.pl, src/tools.pl, wwsympa/wwsympa.fcgi: [reported by D. Lamballais] Make Cipher::Saber really optional Check in @INC first src/List.pm: bad condition, never alert owners about bounce rate src/etc/script/load_subscribers.pl: [Gérard Gachelin] insert comment src/tools.pl, wwsympa/wwsympa.fcgi: [reported by Anne Durand] escape quotes in edit_list_request src/sympa.pl, src/Commands.pm: Bug Fix: Messages to be approved were not sent to editor (unless editorkey) src/tools.pl: [reported by Michael Brennen] fix a bug in encryption module introduce in 3.1b5 src/: List.pm, sympa.pl: [reported by Philippe Leca] signed multipart messages were altered by moderating process doc/sympa.tex: [David Lewis] Lots of corrections for "good english" compliance wwsympa/wwsympa.fcgi: could not delete owners/editors. Format check was performed even on empty entries wwsympa/bounced.pl: [proposed by D. Lalot] use strict, basic check while opening files, daemon no more dying wwsympa/cookielib.pm: [reported by Fiona Dix] Logged in as unknown, because of wrong date format in cookie. Now use CGI::Cookie for cookie read/write 3.1b.10 15 Mar 2001 Changes : ***** HTTP cookie prefix becomes sympauser (used to be user) Bug fixes : [O. Lacroix] nls/cn-gb.msg: leading tabs instead of spaces, failed compiling on HPUX wwsympa/wws_templates/d_read.us.tpl: badly placed
s File upload and directory creation failed sympa.tex: missng/wrong sympa.conf parameters 3.1b.9 14 Mar 2001 Changes : Attempt to change database structure if needed (MySQL only) 3.1b.8 12 Mar 2001 New features: Check db tables structure at sympa.pl startup 3.1b.7 9 Mar 2001 New features: 'post' action available on list info page [requested by Fil] Add an SQL clause while searching among subscribers (used to fetch all subscribers and select afterward) [Lukasz Zalubski] Translation to polish [Olivier LACROIX] New list parameter 'available_user_options' Only available reception modes are listed on the web interface. If a user sets a forbidden mode (not listed), he is asigned the mode in 'default_user_options'. If default_user_option reception mode is not listed in 'available_user_options' it is appended to it. wwsympa/wwsympa.fcgi: New action "show_cert" to print SSL information. ***** src/tools.pl: Add reversible encryption for password (rc4) ***** &crypt_passwd ; &decrypt_passwd ; &ciphersaber_installed ***** You need to change your database structure : ***** ***** with MySQL ***** ALTER TABLE user_table CHANGE password_user password_user varchar (40); ***** ***** with PostgreSQL ***** SELECT * FROM user_table IN user_table_save; ***** DROP TABLE user_table; ***** CREATE TABLE user_table ( ***** email_user varchar (100) NOT NULL, ***** gecos_user varchar (150), ***** cookie_delay_user int4, ***** password_user varchar (40), ***** lang_user varchar (10), ***** CONSTRAINT ind_user PRIMARY KEY (email_user) ***** ); ***** INSERT INTO user_table SELECT * FROM user_table_save ***** GRANT ALL ON user_table TO public; ***** GRANT ALL ON user_table TO sympa; ***** ***** crypt_passwd.pl: Script for password encryption in database [Wang Jian ] Web templates translated to zh_CN.GB2312 encoding, Simplified Chinese Add links to archives in summary Makefile: Added SHADED_COLOR src/parser.pl: Allow SET var=number Add 'toggle selection' in review page [requested by Beatrice Gatto Charton] Provide mailto: URL for confirming a subscriber deletion src/etc/script/list_alias.pl ***** New field in table subscriber_table : comment_subscriber ***** You **MUST** change your database sctructure: ***** ALTER TABLE subscriber_table ADD comment_subscriber varchar (150); ***** ***** src/etc/script/init_comment.pl: Script to initialize newly ***** introduced comment_subscriber data row owners can edit subscribers email address Bug fixes : src/List.pm: [reported by Ronan Salmon] Can't call method "compute_auth" on unblessed reference [reported by Fil] When sympa.pl send a message for wwsympa.fcgi, it uses From: header field for the Return-Path: Now uses additional X-Sympa-From header field src/tools.pl: [reported by Fil] '#' chars were not escaped in editsubscriber src/etc/script/Makefile: [reported by Jerome Dubois] wrong 'wwsympaconf' [Harald Wilhelmi] Bug fix : Subscribers count was going mad when closing/restoring a list Makefile: installconfig failed parsing PIDDIR and SPOOLDIR Sympa would break S/MIME signatures if message contained encoded parts. This is due to MIME::Entity library use. It would not always encode the msg exactly the original way (Ex : number of columns for Base64) ; S/MIME signature is broken. Correction : Unless message body was altered (header/footer added), Sympa uses the original message's body, bypassing MIME::Parser src/Archive.pm, wwsympa/archived.pl: [reported by Hubert Ulliac ] Bug fix : if 2 mails for the same list at same time, first was erased in outgoing/ Changed file format to .. wwsympa/bounced.pl: check if SIGTERM was received before processing each file src/List.pm: decode subject while searching custom_subject avoids multiple custom_subjects src/tools.pl: [reported by Odile Germes] comment in list_templates were not seen by wwsympa [reported by Wang Jian] Bug fix : multiple add failed if one failed. Display ALL error messages src/etc/templates/helpfile.tpl: [Lukasz Zalubski] : wrong var nls/es.msg: [reported by X-Term] Bug fixes: unwanted \n at the end of some messages Bug report: Helpfile contained MIME-Version, Content-Type & Content-Transfer-Encoding: 8bit in its body src/List.pm: used an obsolet var $Language::sympa_lang Bug description: If user had no lang pref, helpfile body was not in the correct lang src/tools.pl: Bug fix: could not create user cert dirs src/etc/scenari/visibility.conceal: show list for owners and editors src/etc/script/load_subscribers.pl: [Anton Slabbinck] use db_xxx conf parameter src/List.pm: Escape \s chars in gecos and email wwsympa/wwsympa.fcgi: Escape weird chars in email Don't stop resetbounce processing if lastbounce not found wwsympa/bounced.pl: [reported by Philippe Riviere] : Escape weird chars in from before creating directories When logged in, if main window's URL is wws/logout, then change it to wws/ before refresh src/List.pm: [reported by Fil] : truncated email address last char while including file src/List.pm: [reported by Dominique Marant] Failed to open list local scenario src/List.pm: For compatibility concerns, [host] var is now available in scenari. check_perl_modules.pl: Fix typos. reported by Michael Yount src/List.pm: Bug fix: last topic not loaded if no ending blank line. Reported by ronan.salmon@staff.ittralee.ie wwsympa/wwsympa.fcgi: Wrong parameters to &List::send_sub_to_owner() src/List.pm: Set undefined Topic (defined via subtopic) Bug reported by thomas.morin@webmotion.com wwsympa/wwsympa.fcgi: Fixed "syntax errors, param xxx" while editing list config wwsympa/wwsympa.fcgi: Make %changed_params a global var Fix problem in edit_list wwsympa/wwsympa.fcgi: Lower case path for each do_d_XXX proc. The goal is to support random case in URL generated by some microsoft products. src/List.pm: Allow . and - in scenario file names. (reported by Odile Germès) Hard-coded colors in wws_templates src/Language.pm: Bug fix (reported by Odile Germes) : Glob failed in language.pm src/Makefile: Install scenari/*.* and templates/*.tpl (not CVS/) wwsympa/Makefile: Install *.gif only (not CVS/) Changes : src/List.pm: Change: Don't query database for subscribers # ; read stats file instead Use mailto URLs instead of FORMs Did not work with Netscape 6 Makefile: Setting sympa owner of installation directory src/Archive.pm: don't delete Received: header fields src/List.pm: Accept more characters for db_name and user Accept connect_string without db_name and host Make user password case-insensitive Add RCS Identification tags to templates Require MhOnArc 2.4.6 set_symlinks.pl: Symlinks are set at installation time for templates and scenari src/List.pm: [requested by Dominique Marant & Odile Germes] provide current config files when reporting errors rename wws-lib.pl to wwslib.pl wwsympa/wwsympa.fcgi: using "use strict vars" src/sympa.pl: when sending mail to -editor, use -owner if no editor are defined src/etc/scenari/create_list.listmaster: listmaster is listmaster public_listmaster is anyone with validation Allow longer options (--debug for -d, --lang for -l) in sympa.pl sympa.pl has a new option for dumping subscribers list. sympa.pl -s |ALL Using a memory cache for is_user() in List.pm src/List.pm: Change : get_first_user() and get_first_bouncing_user() don't do JOIN with user_table anymore 3.0 4 Jan 2001 3.0 is a major release of Sympa. It includes a lot of changes but no significant uncompatible changes. Major new features : -list configuration edition. At last !!! -S/MIME encryption and HTTPS authentication (because OpenSSL itself is a beta test distribution, all features based on OpenSSL are distributed under beta testing status) -Shared web space for each list. -New web navigation ergonomie. This version 3.0 has been distributed under alpha and beta testing version since October and has been widely tested. Special thanks to Olivier Lacroix for a lot of contributions. Changes : tarball now include a KOWNBUGS file. Bug fixes : [Olivier LACROIX ] Corrected es.msg for HPUX Corrected chmod (for HPUX compatibility) in wwsympa/Makefile wwsympa::Savefile() failed because filename was lost when calling editfile() afterward (may_edit on an unblessed list reference) 3.0b.9 23 Dec 2000 Bug Fixes : [reported by Jean-Luc OMS ] "comment" files used for site's list templates [Olivier LACROIX ] Fixed message rejection format in sympa.pl [Olivier LACROIX ] Replace system call to MhOnArc in wwsympa.fcgi [reported by François Dagorn ] When subscribtion is sent to owner, the approve command should be a mailto: [reported by Fil ] Using uniq Return-path impossible with postfix. Replace the separator char "/" by "==". [Jérôme Marant ] Missing "CREATE DATABASE" in create_db.Pg 3.0b.8 18 Dec 2000 New features : Sympa not archive anymore message with 'X-no-archive: yes' or 'Restrict: no-external-archive' smtp header. [Fil ] New "remove_headers" parameter in sympa.conf It tells sympa what SMTP header fields to remove in distributed messages. ***** You need to add an alias for listmaster : ***** listmaster: "|/home/sympa/bin/queue listmaster" New optional wwsympa.conf parameter "default_home" in order to choose another home page for exemple "lists" A new link to load X509 certificat in list page is added if list as it's own email certificat. New sympa.conf parameter "ssl_cert_dir" Default is expl/X509-user-certs Its value in sample sympa.conf can be overwritten with SSLCERTDIR variable at make time New [list->xxx] vars available within scenario conditions Bug fixes : [reported by Hubert Ulliac ] First subscriber in digest mode did NOT receive digests The problem was due to a missing parameter at mailto() call [reported by Hubert Ulliac ] [conf->xx] where not recognised in scenari match() conditions Fix welcome message lost when must be signed (bug introduced in 3.0b4) Reviewbouncing failed with "No Page 1" error message. [Philippe Bricout ] Change some hard-coded path to --ETCBINDIR-- in wws_templates [reported by J.E. Gadenne ] Escape '<' and '>' chars in modindex's Subject field [Jérôme Marant ] Delete Perl interpreter calls in perl modules Correct privileges on mhonarc-ressources file [Philippe Bricout ] fixe bugs in wwstemplates\admin_menu.*tpl [Olivier LACROIX ] fixe the "%s" bug in sentence "Your message for list %s has been ..." fr translation of d_read template Could not change "digest" time in edit_list_request form [reported by Didier Lamballais ] Makefile : Missing conditional around Perl 5.6.0 warning "Make clean" now deletes the "bouncequeue" program Remove unused module sign_filter.pl Fix reviewbouncing Changes : [Josep Roman ] Updated spanish wws_templates Return the filled form when an error occurs in create_list Use a new window for Login Resulting addresses of a "search" are selected Deletion requires confirmation Subscribe/signoff web confirmation now performed with Javascript wwsympa.fcgi : default cookie expiration is 0 min Login will last until the web browser is closed. 3.0b.4 30 Nov 2000 New features : [Josep Roman ] Complete spanish translations of the web interface, including update of es.msg Change_email feature in WWSympa (accessible from prefs) [requested by Geoffrey Lee ] Makefile : include RPMTOPDIR variable Makefile : new "make rpm" building Linux RPM binaries for both RedHat and Mandrake. Makefile : new PIDDIR variable ; creating spool directories [reported by Patrick BROSSIER ] The main CGI (wwsympa.fcgi) can now be installed elsewhere (not BINDIR) by setting WWSBINDIR in Makefile [Renato Bonomini ] Translation of web templates in Italian Bug fixes : [reported by Olivier LACROIX ] Changes in mail::mailback() to leave messages in msg/ spool when working with FastCGI [Robert Marchand ] A few bug fixes in Makefiles [reported by Olivier LACROIX ] "unknown locale" errors in wwsympa log file [Olivier LACROIX ] chomp() on From: in DoSendMessage() Corrected template inclusions archived.pl : backslashed '$' in msgid before system call to mhonarc Under some circonstances (FastCGI+Perl 5.6+...), WWSympa was dying with the following error : FastCGI: server wsympa.fcgi stderr: Not a GLOB reference This happened while sending a service message (welcome, bye,...) because of the fork performed by WWSympa, not supported by FastCGI. WWSympa now completely relies on Sympa for message distribution. Communication is performed via spool/msg/. Could not set owner of non-empty directories or documents in shared. Better check of email addresses in ADD and DEL commands Marc/Search.pm : add trailing '/' to directories to make it work (on Linux system) with symbolic links Corrected REMIND from the web Changes Search among subscribers limited to 500 records Sympa deletes its pidfile when exiting wwsympa.fcgi : request a confirmation before unsubscription Generalization of mail::mailback() in List.pm wwsympa.fcgi (edit_list) : deleting an email address, deletes the corresponding owner/editor entry WWSympa.fcgi installed with SetUID bit New admin information in list_menu french templates 3.0a.1 Bug fixes Pass the module name to CPAN::Shell->install(), not the package name A few corrections in load_subscribers.pl Multple "list" INPUTs in wws_templates/review.tpl [reported by Jean-Marc Larre ] Accept complex string for 'user' entry in paragraph 'include_ldap_query' Error in review.tpl ; could not delete users form review page. [Bill Shirley (default 'mail') attribute containing the email address(es) o select (default 'first') if the query returns multiple values, do we keep the first one or all of them Add a protection at the entrance of archives. If the user is not identified, he/she has to click a button to access archives. New parameter "visibility" for a topic in topics.conf It refers to "topics_visibility" scenario Check Message-IDs to avoid loops. "default_user_options" now applied to included users. Importing lists to 'database' mode can be performed using WWSympa. All you have to do is edit the list config (in WWSympa) and change the user_data_source from 'file' to 'database'. Changes : **** [] are automatically added to the custom subject **** Daemons(sympa.pl, archived.pl, bounced.pl) now set their UID themselves. **** You can thereby run them with root privileges (a script is provided **** in script/ directory for starting/stoping Sympa) No more list_parameter.conf : comments are in wws_template files titles are in NLS "make install" will install sample sympa.conf and wwsympa.conf if none exist Added "INITDIR" var in Makefile, to install SYSV init scripts No more translations in wwsympa.fcgi and wws-lib.pl ["Pascal J. Bourguignon" Add missing error messages to queue.c Multipart/report messages are ignored in distribution process Disposition-Notification-To headers are removed before distribution Search (among subscribers) in WWSympa, also searches the gecos Included files can now have a gecos column Set a password for users subscribing/ed via email. It can be added in templates ([user->password]) Do not enter user information in user_table before he/she has subscribed. Set "log_socket-type" to "inet" in sample/sympa.conf if on a Linux system. [requested by Geoffrey Lee ] "DESTDIR" can be set in the main Makefile to install it in directory different from "DIR" This should make RPM & DEB packagers' life easier. Install samples in $(DIR)/sample Install scripts in ~sympa/bin/ Variables parsed at make time in scripts [requested by Mathieu Arnold ] Add "quiet" option to multiple add "editor,quiet" & "editorkey,quiet" actions in "send" scenario New "close_list" and "restore-list" features in WWSympa Made List::request_auth() and List::compute_auth() object methods List::_load_users_file() split in 2 subroutines Scripts in script/ are now parsed, via a Makefile and installed. Access to "info" page is controlled by "info" list parameter Bug fixes : [Jean-Marc Larre ] fixe LDAP interoperability problem with Netscape directory server. Use List::distribute_msg() with CONFIRM command. This will allow usage of anonymous_sender with confirmations. [Cedric Scott ] fix the quiet option in scenario. Fixe am_i('editor',..) in order to make owners as default editors List::verify() failed to evaluate [conf->xxx] and [header->xxx] if not exact match [Thibault Verollet ] INSERT IGNORE in load_subscribers.pl [reported by Richard Balint ] List::send_msg_digest() does a BULK call to sendmail with ALL the recepients (in Digest mode) Bounced.pl failed writing bounces in OTHER directories Bounced enable to remove errors (get_action replace by request_action) Idem for Commands.pm : del [reported by Patrick CAO HUU THIEN ] Strip end of lines from wwsympa.conf [reported by Christian Perez ] Syntaxe error in Archi.pm and arc2webarc.pl (COMPILANT => COMPLIANT) [reported by Odile Germes ] Sympa would die while archiving a message for a list not in database mode. [Hadmut Danisch ] SQL query for MySQL changed from : bounce_subscriber != 'NULL' to : bounce_subscriber is not NULL [reported by "J.E. Gadenne" ] Decode messages subject, included in reject.tpl [reported by Olivier LACROIX ] With PostgreSQL, WHICH failed because SELECT is case-sensitive. Sender email address is now lower-cased in Commands.pm 'comment' files in create_list_templates/ directories are now available from within 'create_list_request' template Changed Language.pm to use multiple NLS catalogues. Command reports related to a list now use its language. Number of subscribers of lists in 'include' mode is now correct. Variables in match expresions (/[var]/) were not evaluated in scenario [Dominique ROUSSEAU ] archived.pl could not log anymore [Olivier LACROIX ] Rejection and forwarding reports did not include correct MIME headers Don't log strings with \0, driving syslogd mad. In WWSympa, listmaster has privileged_owner privileges [Dominique ROUSSEAU ] Pass the umask to mhonarc in archived.pl [reported by Laurent Aublet-Cuvelier ] X-Sympa-To should be assigned 'email'@'host' as defined in sympa.conf. Rename a message as BAD if it cannot be opened [reported by Hervé Maza ] Add Subject: to moderation notification message Create "spool/" directory before attempting to create spools. [reported by Denis Havlik ] Header and Footer were not added in 'append' mode Could not remove_arc with Message-IDs containing a '$' $sortby now used in List::get_first_user() for Oracle and Sybase Deletes all Mail::Internet in Commands.pm [Hubert Ulliac ] Corrected scenario "access_web_archive.intranet" fix &is_web_archived function in order to adapt it to the new load_admin proc. fix incorrect storage of user certificats [reported by Olivier LACROIX and Bertrand.Poulet AT pasteur-lille.fr (Bertrand Poulet) ] Fix src/Makefile in order to update queue and bouncequeue when edition main Makefile. [reported by Mathieu Arnold ] Confirmation for QUIET commands now works Change to check_perl_modules.pl : argument passed to CPAN::Shell->install() is the module name Save a copy of messages for digest before customizations (custom_subject, List-xx header fields, footer, ...) Warn if topics.conf is empty while creating list. [Luc Saillard ] Aditional Bounce recognition (Wanadoo, Postfix, bigfoot) Don't consider messages as BAD if list has 0 subscriber [reported by Emmanuelle Rivière ] Hide recepients of summaries [reported by Michel Bouissou ] Corrected templates edition in serveradmin [Laurent Rathle ] Corrected scenario_test, wrong path to scenari [Raymond Bourges ]> Missing quote in arcsearch_form.fr.tpl 2.7.3 25 July 2000 Bug Fixes : [Gustavo Araujo Bittencourt ] Database name hard-coded for one query (Sybase only) [Marc Baudoin ] Add <> to anonymous_sender MessageID Replace real color by --XX_COLORS-- in mhonarc-ressources Allow welcome.tpl edition in edit_list.conf Correct path for aliases when creating a list. [Laurent Ghys ] Sort %todo in check_perl_modules.pl to avoid error message with CGI::Fast [Gustavo Araujo Bittencourt ] Changed connect string for Sybase ("server" instead of "host") [Christophe Labouisse ] NULL characters are coded as 'NULL' with PostgreSQL ('\N' with MySQL) [reported by Didier Lamballais ] WWSympa would not use its "log_facility" parameter [jmr AT computing.com] Corrected the LIMIT clause for to work with PostgreSQL LIMIT { count | ALL } [ { OFFSET | , } start ] Decode headers of command messages. Don't save decoded body data (MIME::Parser) to disk in bounced.pl Changes : Give up the "cgi-lib"-like ReadParse, to allow file upload. Every log entry is preceded by the service (sympa|wwsympa|bounced|archived) MIME::tools now requires File::Spec 2.7.2 30 June 2000 Bug Fixes : [PORTE Olivier ] Corrected "returned" to "return" in Commands.pm (4/07/2000) One more bug in modindex Changes : [Josep Román ] update spanish templates 2.7.1 30 June 2000 Bug Fixes : [reported by Claude Gross ] Inhibit message footer insertion in multipart/(signed|alternative) messages ! wws : default Content-Type 'application/octect-stream' for unknown file extention while viewing archive and moderated message attachement. wws : fixed modindex templates in order to be able to view message without subject [Christophe Labouisse ] bounced.pl : fixed test on regular file [proposed by Christophe Labouisse ] Sympa : patch file for List.pm is included in src directory, not yet tested by Sympa authors : http://listes.cru.fr/wws/arc/sympa-dev/2000-06/msg00017.html Changes : New list optional parameter paragraph shared_doc for a futur set of features. 2.7 27 June 2000 New features : [Christophe Labouisse ] bounced.pl patched to recognise Postfix bounces [proposed by Dominique Marant ] New configuration parameter "rfc2369_header_fields" to add RFC2369 compliant header fields (List-xxx). Changes : ***** Requires MIME::Parser >= 5.209 [Josep Román ] Updated nls/es.msg Default log_facility in wwsympa.conf is now sympa's log facility (used by wwsympa, archived and bounced) The directory for list creation templates is renamed "create_list_templates" Bug Fixes : [reported by John Sheehy ] Corrected permissions on sample files wwsympa.conf & sympa.conf Fixed privileges to rw.r..r.. in bin/etc/ [reported by Dominique Marant ] location of mhonarc-ressources file is now ~sympa/expl/ or ~sympa/etc or ~sympa/bin/etc [reported by Lucas ] Reply-to in list info command when using forced_reply_to [reported by Jean-Charles Godien ] incorrect subscribtion form for closed list if user is not logged in [reported by Dominique Marant ] Ignoring temporary files T. in bounce spool [Didier Lamballais ] 'hostname --long' on Solaris systems sets hostname to '--long' Changes in the Makefile to make it work on Solaris [reported by Josep Román ] Sympa is unable to use default helpfile.tpl and lists.tpl 2.7b.3 16 June 2000 Changes : Set -d option when using -D Add "Pragma: no-cache" to HTTP headers Bug fixes : [reported by Dominique Marant ] In WWS, editfile would always show the site's default. Missing last; [Didier Lamballais ] Missing spaces before batslashes in main Makefile [reported by Patrick BROSSIER ] Bounced.pl failed to load sympa conf file When asking WWS for archives of not archived list : Can't use an undefined value as an ARRAY reference Failed to decode message bodies with MIME::tools 5.xxx Now uses bodyhandle() method instead of body(). 2.7b.2 15 June 2000 Bug fixes : Unknown list parameters welcome_return_path, remind_return_path, serial Failed to store S/MIME certificates Fixed SMIME feature in various commands 2.7b.1 14 June 2000 New features : Boucing addresses are sorted by (last_bounce, bounce_class, bounce_count)in reviewbouncing page "make" now installs required CPAN modules WWSympa is now a part of sympa. Default installation location ***** for wwsympa is now the same as sympa (you may update your ***** httpd.conf) ***** Simplifyed installation process with a Makefile in upper directory ***** level. Others Makefile should not be applyed "by hand" anymore. You way define WWSympa colors in the main Makefile New etc/list_parameters. Allow templates in list's directory (eg info.tpl) Use a new message template named reject.tpl to send a notification to the sender of a rejected message while rejected by a editor. (quiet reject inibit this feature) View unmoderated messages on the web via MhOnArc for better viewing of complex MIME messages Implement wws/loginrequest/referer ; once logged in, WWS redirects to the referer URL [laurent Merot ] New Sympa logo Commands in multipart messages are recognized in the first text/plain part. RFC 2369 compliant header fields (List-xxx) are automaticaly added to distributed messages. New list parameter forced_reply_to like reply_to but overrights existing Reply-To: header. Changes : [proposed by Dominique Marant ] Show the site's default in edit_file if the template doesn't exist for the list. This makes the action more user-friendly and helps owners understand templates format. Supressed 'sympa_conf_file' param in wwsympa.conf Initial password generated randomly List-related makefile test the list's language instead of the user language New HTTP cookie format. This cookie can be checked without access to user passwd. The goal is to allow different application to use Sympa cookies. New library module : cookie-lib.pl for developpers who want to share authentication with WWSympa. New optional WWsympa parameter cookie_domain, used to control the domaine validity of Sympa cookies. Scenario can be now located in the list directory. Sympa search scenario in the following order : - ~sympa/expl//scenari/ - ~sympa/etc/scenari/ - ~sympa/bin/etc/scenari/ ~sympa/bin/scenari/ does not exist any more Replace --VAR-- in sample conf files ***** Extend topics.conf format in paragraph mode for further lang info ***** and scenarization, look at the sample to update you topics.conf Bug Fixes : Add "hidden" inputs in forms to allow submit when hitting "Return". [reported by Mathieu Arnold ] "SET *