Releases: grommunio/gromox
Releases · grommunio/gromox
Gromox 2.6
Fixes:
- exmdb_provider: filter duplicate propids when they occur in the mailbox, resolving a failure to export (broken) recipients to MSG, and resolving one instance of OL sync error 80070057.
- oxvcard: PidLidBusinessCardDisplayDefinition named property was not assigned the right namespace (PSETID_ADDRESS)
- oxcmail: do not abort export routine if SMIME message is lacking an SMIME body (just treat it as empty instead)
- oxcical: do not abort export routine if IPM..Resp. has no attendee
- exmdb_local: perform online lookup of named properties, resolving vcarduid being erroneously assigned propid 0
- exmdb_provider: do not write propid 0 properties to database
- midb, imap: FETCHing some mails did not function due to a misparse of the compat format of the "mimes" structure in mjson_parse_array
- mapi_lib: rectify emission of \cf code in htmltortf
- delivery: reduce number of default worker threads to number of client connections to temporarily address "too many connections"
- delivery: retain queue messages on processing errors
- mlist_expand: resolve null dereference during mlist_expand
Behavioral changes:
- delivery: rename delivery_log_file -> lda_log_file (+ log_level)
- Errors from sqlite3_step() will now be logged.
- exch: consistently accept PT_STRING8 & PT_BINARY for RES_CONTENT evaluations
Gromox 2.5
Fixes:
- Repair a null deref during HTML-to-text conversion
- Inbox rules had RES_OR conditions wrongly evaluated
- Synchronization of embedded messages now works, resolving OL sync reports with error 80040301.
- Saving a draft in grommunio-web would erroneously strip the Re: subject prefix
- exmdb_provider: PR_NULL is now excluded from get_all_proptags's results, resolving one instance of OL sync error 80070057.
- EWS: Detailed FreeBusy requests did not return detailed info
Enhancements:
- authmgr: Alternate username support
- mt2exm: add --skip-notif, --skip-rules options
Behavioral changes:
- Treat standard and extended inbox rules equal per PR_RULE_SEQUENCE, instead of "(by sequence number) all standard rules first, then all (by sequence number) extended rules".
- The build no longer depends on the gumbo-parser library (a HTML parser); instead, it now uses libxml2 to do the same.
- daemons: disable client-side TLS renegotiation in OpenSSL 1.x and LibreSSL
(OpenSSL 3.x defaults to this behavior already) - php_mapi: block opcache from being present in the same process
Gromox 2.4
Enhancements:
- php_mapi: add mapi_strerror function
- mbop: emptyfld/delmsg support folder names now
- dscli: added an --eas option
- oxdisco: support autodiscover.json requests
- exmdb_provider: report overquota events with MAPI_E_STORE_FULL rather than MAPI_E_DISK_FULL
- php_mapi: add function "nsp_essdn_to_username"
Fixes:
- php_mapi: fix stack corruption in zif_mapi_createfolder
- exmdb_provider: resolved possible use-after-free in OP_DELEGATE rule handling
- emsmdb: fix stream_object::commit evaluating wrong member for open flags
- Parse Windows timezone list better and support multiple IANA timezone names per territory
Behavioral changes:
- exmdb_provider: enable CID file compression by default
- php_mapi: add mapi_strerror function (requires new version of mapi-header-php)
- exch: remove old PHP-OXDISCO and PHP-OAB implementation
Gromox 2.3
Enhancements:
- pff2mt: support non-Unicode PFF files
- ldap_adaptor: read ldap_start_tls, ldap_mail_attr from orgparam table
- Support Emojis in HTML-to-RTF conversion code
- exmdb_provider: implement message store softdelete count properties
- dbop_sqlite: guard schema upgrades with transaction
Fixes:
- Do not fail entire HTML-to-RTF conversion or calls like getpropvals(PR_RTF_COMPRESSED) when encountering garbage bytes.
- exmdb_provider: have folder message count properties respect softdelete
- zcore: mapi_copyto had inverted meaning of MAPI_NOREPLACE
Implementation changes:
- Replace custom SMTP sending code with vmime's
- emsmdb: temporarily deactivate ROP chaining for OL2013,2016 to work around a case where OL corrupts larger attachments (2 MB+)
Gromox 2.2
Behavioral changes:
- The
/usr/libexec/gromox/rebuild
utility has been removed in favor of using SQLite's own.clone
/.recover
commands. - dbop_sqlite: perform integrity check ahead of sqlite database upgrades
Fixes:
- emsmdb: sending mail could have yielded success even if there was an outgoing SMTP server outage
- exmdb_provider: repair SQL logic errors showing up when a folder's contents are requested in Conversation mode
- exmdb_provider: only delete links, not messages, from search folders
Enhancements:
- tools: add
--integrity
option for mkprivate, mkpublic, mkmidb
Gromox 2.1
Behavioral changes:
- exmdb_provider: the "exmdb_schema_upgrade" config directive is now enabled by default
- midb: the "midb_schema_upgrade" config directive is now enabled by default
- exmdb_provider: increase default value for the "max_store_message_count" directive from 200k to infinity
- mkmidb: removed the no-op -T command-line option
- dscli: XML dumps are now only shown with the (newly added) -v option
Enhancements:
- exmdb_provider: support for private store message and folder softdelete (and thus the Recover Deleted Items feature in OL)
- http: print HTTP responses in full, not just until the first \0
- mapi_lib: parse "Received" headers into PR_MESSAGE_DELIVERY_TIME for the sake of EML imports
- oxm2mt: named property translation
- oxdisco: homeserver support for EAS block
- zcore: allow opening oneoff entryids with openabentry RPC
Fixes:
- emsmdb: work around OL crash with Recover Deleted Items dialog
- emsmdb: rework interpretation of PR_SENT_REPRESENTING on IPM.Schedule objects (relates to the organizer of a meeting when such meeting is forwarded)
- Deletion of a folder from a public store did trash the store size counter and reduce it by an arbitrary amount towards 0, reporting the store to be smaller than it really was.
- zcore: perform texttohtml conversion in UTF-8 not Windows-1252
- nsp: attempt to fix infinite function recursion when trying to resolve ESSDN which are present in the GAB forest but out-of-organization
- oxcmail: recognize RFC822/5322 dates without a day-of-week part
- mt2exm: avoid running into PF-1123 error when -D option is used
- dscli: repair the warning that the tool was not built with DNS SRV support
- oxdisco: avoid read beyond end of buffer when request_logging is on
- exmdb_provider: fix an out of bounds write when PR_HTML_U is requested
Gromox 2.0
Changes:
- oxdisco: new module providing the AutoDiscover endpoints, replacing the PHP-based implementation
(To go back to the old implementation, set http.cfg:http_old_php_handler=1
) - oab: new module providing the OAB endpoint
- ews: new module providing the EWS endpoint, replacing the PHP-based implementation
- delmsg: program has been merged into gromox-mbop as a subcommand
Enhancements:
- gromox-mbop: added an "emptyfld" command
- gromox-oxm2mt: new utility to read .msg files
Fixes:
- midb: IMAP SEARCH commands had numeric sequence ranges
m:n
misparsed - midb, imap: recognize
*
in sequence sets (alias for*:*
) - nsp: resolve a wrong allocation size that led to a crash
Gromox 1.37
Enhancements:
- kdb2mt: full user resolution with new option
--mbox-name
/--user-map
- kdb2mt: translate PR_*_ADDRTYPE from ZARAFA to SMTP (via --user-map)
Fixes:
- kdb2mt: repair printing of tree graphics when ACL lists are dumped with -t -p
- Fixed a parsing inconsistency between LF and CRLF mail input
- zcore: support on-the-fly EML (re-)generation in zs_messagetorfc822
- zcore: allow zs_linktomessage RPC if store permissions allow for it
- emsmdb: avoid synchronizing PR_PREVIEW (works around OL showing a 255-char truncated mail body)
Changes:
- kdb2mt: rename SQL parameter options
- kdb2mt: rename mailbox selection options
- kdb-uidextract: new output format
- kdb2mt: add new
--acl
option for fine-grained control over ACL extraction - nsp: avoid generating ephemeral entryids from ResolveNamesW
(Selecting addresses from the "From" dropdown in OL's compose mail dialog works now) - zcore: reduce
threads_num
to belowrpc_proxy_connection_num
(Addressesexmdb_client: reached maximum connections ...
) - emsmdb: stop syncing named properties on folders to OL (it does not support them anyway)
Gromox 1.36
Enhancements:
- exmdb_provider: on-disk content file compression, controllable using the
exmdb_file_compression
config directive (affects only new files) - tools: new utility
gromox-compress
to compress existing content files - exmdb_provider: support evaluation of inbox rules that have RES_CONTENT restrictions with PT_BINARY properties
Fixes:
- Asynchronous notification over MH was not responsive due to a malformed HTTP response, which was fixed.
Changes:
- Bounce template generation was rewritten for size
- mysql_adaptor: silence PR_DISPLAY_TYPE_EX absence warning for admin user
- emsmdb: let SaveChangesMessage ROP return ecObjectDeleted when this is the case
- exmdb_provider: set PR_RULE_ERROR property when Deferred Error Messages (DEMs) are generated
Gromox 1.35
Enhancements:
- exmdb_provider: mlists that were granted the StoreOwner permission bit through an ACL now propagate it to the individuals in the mlist.
Fixes:
- imap: the response to the IDLE command had been malformed
- emsmdb: On outgoing mails, the Return-Receipt-To (Read Receipt Request) header was malformed. On the incoming side, this would then be translated back to
invalid@invalid
.
Changes:
- http: only show HTTP context log messages when the
g_http_debug
config directive is set to a non-zero value