- added new partition_create and create_parts functions with the aim to stop managing table partitions using the old school way (by inheritance). Partitions will be managed using standard partitioned tables. the create_parts function will have to be called directly using SELECT command scheduled in pg_cron extension.
- bug fix: wrong return type in function wui_buildslist
- Implemented UTF8 decoding of Subject column
- in wui_userquarantinedlist() SQL function, for the ELSEMC, local ELSE administrators can now see the full list of quarantined emails for all the users that are members of the groups and email domains they are a member of.
- In trig_smtpd() function, insert into quarantined(...) is made in an unique violation exception catching block
- Added envelop and header columns to quarantined SQL table
- Added column content to quarantined SQL table
- updated wui_userquarantinedlist() SQL function to provide the date at which the quarantined will be automatically deleted
- updated to delete quarantined emails after a configurable number of days (4 by default)
- bug fix: in wui_userquarantinedlist() SQL function, for the ELSEMC, the full list of quarantined emails was displayed in the Web user interface, not considering what user was connected on the ELSEMC, so everybody was able to see this list of emails for any recipients (so for any other users). This is now fixed and the connected user can see the list of quarantined emails only for the emails he is set as a recipient. In addition, the root user of the ELSE/ELSEMC can continue to see the list ...
- Added several explicit messages to information returned by the greylse() SQL function, at various steps of the function code
- processing of global whitelist rules is now before processing of global blacklist rules in greylse funcion.
- Changed the SELECT ... FOR UPDATE in checkemail() function by SELECT ... FOR NO KEY UPDATE
- Add a SELECT ... FOR UPDATE in checkemail() function to avoid locking conditions
- bug fix: forgot to consider user's language when adding a new user. Now fixed.
- Bug fix: in the NOQUEUE Search Results window, the DSN column was blank for some of the grid entries. The parsing of NOQUEUE Postfix log lines was sometime incorrectly made for status and DNS parts of the log lines. Should be OK now.
- in the "users" tab, under the "Manage" tab, the users are now grouped by their main email domain name in the grid
- Bug fix: it was impossible to delete a group in the list of the "Groups" tab under the "Manage" tab because there was no reference to the right object store in the javascript ExtJS code. Now the correct "object" variable is used instead of "this" pointer.
- Bug fixed: the priority of the added SPF rule was not calculated against the specific role and user group, but globally against all existing SPF rules.
- Bug fixed: language store is remote, not local. Removed querymode='local'
- all changes are for version 0.9.20 ("2021 Christmas release")
- Added a localroot field in Users tab, model and store
- added basic messageid format checks in trig_cleanup() method in order to record messageids not having < and >
- minimum required PHP version is now 5.6
- replaced $HTTP_RAW_POST_DATA to be compatible with PHP >= 7
- Added AuthDigestDomain directive for Apache 2.4 configuration
- Added cleaning of qmgr_cache table in the cleanner() method
- updated web interface for greylse configuration: changed greylisting delay to take seconds instead of minutes. The minimum greylisting delay for the Greylse daemon was 1 minute, and this could be too much for a lot of legitimate SMTP servers on the planet that re-send their emails just 5 to 20 seconds after their first attempt and no more after, causing a lot of undelivered emails.
- fixed some typos
In the Proces() method:
- updated greylse() method to handle new Postfix v3.1 and v3.2 policy delegation protocol parameters. This method is to be used by the updated version of the Greylse daemon.
- updated Process() method to handle new parameters of the Postfix Delegation Protocol for Postfix v3.1 and v3.2
- drop part_id sequence
- bug fix: in checkdomaintree() method: the extraction of the email address domain name was wrong in the case where the email address contained several '@' symbols, like it can happen very often in the cse of mailing lists. That's because the regex was designed to find the first '@' in the email address and not the last one, at which point the domain name is extracted. This bug was fixed in the previous SVN commit but forgot to document it. Now it's done :)
- updated checkdomaintree() and checkdomaintreeexist() methods to work with PostgreSQL 9.6 by using row_number() window function instead of nextval('part_id') as it was before. Without this VERY important update, the domainstree table become completely messy as the time pass because of a change of behaviour from PostgreSQL 9.6 when using nextval() function to give a row number to the results of a SELECT SQL statement.
- bug fix: in trig_qmgr() method, added LIMIT 1 to a SQL command when looking for the oldest QID of a specific email, to avoid returning several results. This situation can happen when postfix has ben restarted with emails still in queues: when postfix is restarted, all QID numbers of all emails in queues are renewed, and we lost the trace of those already partially processed emails in the database.
- bug fix: exit from trig_postsuper() method when parsing a postfix log line matching a removed email and nothing is in the qmgr_cache SQL table. This situation can happen when postfix has ben restarted with emails still in queues: when postfix is restarted, all QID numbers of all emails in queues are renewed, and we lost the trace of those already partially processed emails in the database.
- added rule number in the logs for whitelisted emails
- in trig_httpd_access() SQL method, added primary key violation exception sections: that will not block this method with permanent INSERT trials
- in greylse() SQL method, updated several SQL SELECT statements to provide the priority column and add the field to some messages returned by the algorithm. This provides the exact rule priority ID in the SMTP 4xx or 5xx messages and is easier to find corresponding rules in the ELSE WUI.
Dear Satish, Could you explain where is your issue? For PostgreSQL, I strongly encourage...
ELSE installation Problem
- bug fix: in wui_wgbuserlistlist() method, mco...
- added a small section about PostgreSQL requir...
- bug fix: added pgcrypto extension. pgcrypto i...
- bug fix: added activatedon field in the resul...
- added some additional valuable installation i...
- bug fix: replaced MyRtaamConsolePanel.js by M...
- added a call to the fix_qmgr() SQL method eve...
- rewritten SQL request using materialized view...
- updated all wui_* SQL methods to make use of ...
- updated parser() SQL method to prepare for fu...
- updated to refresh impacted materialized views
- added materialized view mv_userperms
- bug fix: in trig_amavis(), moved a RETURN ins...
- in trig_amavis(), check if the record already...
Bug fix: in trig_amavis() SQL method, the amavi...
- bug fix: forgot to call the logs() PHP method...
Bug fix: forgot to initialize the apr1md5 field...
- bug fix: in trig_amavis() method, added a che...
- bug fix: in trig_httpd_access() SQL method, l...
- cancel changes made in previous commit, as it...
- Added management of unique constraint excepti...
- bug fix: in checkhttpmethod() method, the HTT...
- bug fix: a user having no "root" and no "ELSE...
- bug fix: in wui_usergreylistlist() SQL method...
- bug fix: in the ELSEMC WUI, the status of the...
- bug fix: fixed the same bug in the ELSE MC as...
- bug fix: a user having no "root" and no "ELSE...
- bug fix: in trig_httpd_access() method. When ...
Home
PostgreSQL database tuning
PostgreSQL database tunning
PostgreSQL database tunning
- updated checkhostbyip() SQL method to update ...
- updated cleanner() SQL method to clean the gr...
0919ELSE "RTAAM" tab
PostgreSQL database tunning
PostgreSQL database tunning
(ARCH) Use the ELSE in an infrastructure not designed for that
(ARCH) ISP type 2 architecture
(ARCH) ISP type 1 architecture
(ARCH) ISP type 1 architecture
(ARCH) Load proof architecture with Microsoft Exchange
(ARCH) Basic splitted roles architecture
(ARCH) Very basic architecture
(ARCH) Single server
PostgreSQL database tunning
PostgreSQL database tunning
PostgreSQL database tunning
PostgreSQL database tunning
PostgreSQL database tunning
PostgreSQL database tunning
Home
- bug fix: in greylse() SQL method, fixed a typ...
- rewritten to call wui_noqueuesearch() SQL met...
- rewritten to call wui_noqueuesearch() SQL met...
- Added wui_noqueuesearch() SQL method in repla...
- Bug fix: in the "NOQUEUE List" Search, email ...
- limit the length of the useragent field to 51...