Changes
These are the changes in EMG 8.0.3 as compared to EMG 8.0.2.
- Changes merged from version 7.2.34:
- It is now possible to remove the connector option TLS and just run “
emgd -reload
“. This previously required a full restart. - The REGEXP connector options previously caused emgd to hang if the resulting output would become longer than 31 characters.
- Incoming connectors with the SSL option can now ben interrupted even if the client never initiates the TLS dialog.
- It is now possible to remove the connector option TLS and just run “
- The connector option ACCESS can now occur multiple times, allowing for increased readability when there are several entries.
- There is now a new set of log files, called eei.*. They show what is happening in the communication between EMG and Perl extensions.
- There is now a new global configuration option
FAIL_DESTADDR_MAX
=n, where n is the number of consecutive failures acceptable to the same destination address. The outcome for a message is based on returned delivery reports.
By default the value is 0, disabling this functionality. Useful values are probably 2-5 or so. After this number of failed messages to the same destination address, new messages to that address is rejected for some time, normally 5 minutes. After that, new messages are accepted again. If those should also fail, the delay is doubled, up to 24 hours, and then new traffic is rejected again. If a message should succeed, the database record for this address is removed, making the delay start over at 5 minutes. The idea is therefore similar to the circuit breaker used for outgoing connections since version 7.2.5.
To enable this functionality, you need to create a new database table, as shown below. The default value 300 corresponds to the initial delay in seconds, which you can set to whatever value you prefer. To enable traffic to a blocked destination address, just delete its database record or update itsretry_after
field.CREATE TABLE failed_addresses (
id int NOT NULL AUTO_INCREMENT,
destaddr varchar(255) NOT NULL,
failure_count tinyint unsigned NOT NULL DEFAULT '1',
next_delay int unsigned NOT NULL DEFAULT '300',
retry_after datetime NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY unique_failed_addresses_destaddr (destaddr)
) - We now include a new script,
run_summaries.sh
. This script can be used to run the “hourly_summary” scripts used by the EMG Portal in a way that avoids them running all the time. When there is a lot of traffic, the execution times of these scripts may be longer than a minute, causing them to keep the database busy for a long time. By using this new script, the load is distributed over a longer time period. To use this script, remove the two existing entries for these scripts from your crontab, and add the one below.* * * * * /home/emg/bin/with_lock.sh /home/emg/bin/run_summaries.sh
- There is now a new construction available for routing files. Normally each line has a “from”, a “to”, and possibly a list of additional options. Now the first two fields can also be the single string “
!pluginName
“. If no match has been found before reaching this line, the “route()
” endpoint in the given plugin will be called. If this plugin returns a route, that one is used. The plugin can also return a non-zero value, which will cause the message to be rejected with that error code.
Files
The downloads are password-protected. To obtain the username and password required, please use our license request form. If you already have an existing installation, you should download just the new binaries. However, if you’re upgrading from EMG 7 or earlier, please also take a look at the full installation guide, as you may also need a new Perl installation.
Binaries and scripts | EMG 8.0.3-binaries |
Full distribution | EMG 8.0.3-full |