2020-11-12: EMG 7.2.8 is now released.
These are the changes in EMG 7.2.7 as compared to EMG 7.2.6.
- A new variant of outgoing HTTP, “
HTTP-JSON” is added. With this protocol, outgoing messages and delivery reports are formatted as a json object. The names of the MGP options, converted to lowercase, are used as keys. Only strings and integers are used for the values. The
Content-TypeHTTP header is set to “
application/json; charset=UTF-8“. The message body is always sent as UTF-8, and all options intended to change this are ignored. If the connector has XAUTH=basic, the username and password are sent as a “Basic Auth” header, otherwise as fields in the json object.
- For symmetry, messages sent with
Content-Typeset to “
application/json” are now automatically handled by EMG when sent to the usual “
/bin/send” endpoint. The
charsetsubheader is parsed and respected, as long as its value matches what is handled by EMG (IA5, LATIN1, UCS2 or UTF8). UTF8 is strongly preferred.
- Various cleanups in the HTTP drivers requires all C plugins with use this code to be recompiled. Plugins in Perl are not affected. For the same reason, the HTTP pdu log files now look slightly different in some places.
- The before_dlr() plugin hook is now called even for internally created delivery reports. There will of course not be any HLR information provided to this function, but this addition provides a way for the plugin to find this information itself and provide it back to EMG.
- The connector options ENABLE_MESSAGEBODY and ENABLE_MESSAGEOPTION has been added, making it possible to override the global DISABLE_MESSAGEBODY and DISABLE_MESSAGEOPTION setting on a connector basis.
- The configuration file parsing has been improved.
- Mandatory options missing from the configuration, such as CONNECTORGROUP.CONNECTOR, DB.TYPE, SAT.ADDRESSRANGE, and SERVICE.URL, now prevent emgd from starting, instead of just producing a warning in the log/general file.
- Whitespace is now allowed around “=”.
- Some validity checks are performed on the values. For example, values that must be integers are checked they actually are, file names must be possible to open, etc. This helps avoiding configuration entries which does not work as intended.
- Options no longer used are logged as such in the log/general file, so they can be removed from the configuration.
- Incoming MM1 connectors now support the new configuration option ALLOW_MULTIPLE_RECIPIENTS, which makes EMG keep MMS with multiple recipients as a single message. When forwarded, the additional addresses are sent as normal To headers over MM1, or as MGP option 221 (“EXTRA_DESTADDR”) over EBE and HTTP.
The downloads are password-protected. To obtain the username and password required, please use our license request form.