Releases: grommunio/gromox
Releases · grommunio/gromox
Gromox 2.40
Fixes:
- zcore: avoid unwrapping Content-Transfer-Encoding twice for clearsigned S/MIME
- ews: calculate timezone offsets for local time only
- ews: deserialize no-content XML tags as empty strings rather than as absence of the element
Enhancements:
- imap, pop3: multi-server capability, replacing direct disk I/O by network RPCs to the exmdb storage backend
Gromox 2.39
Fixes:
- midb: resolve protocol mismatches with imap, pop3; resolves rejection of IMAP CREATE, POP3 PASS commands
- midb: synchronize "Answered", "Forwarded" and "Flagged" flags between MAPI and midb
- midb: pass message flag modification notifications (answered/forwarded/flagged/read/etc.) to imapd
- midb: stop producing the TRYCREATE response for every command
(e.g. message deletion will not succeed even if a non-existing folder is created, because the message will obviously not be in an empty folder)
Enhancements:
- When using import tools, no longer overwrite PR_LAST_MODIFICATION_TIME with the current time; retain the original timestamp if one exists.
- mbop: new
foreach.*command group which replacesfor-all-users
Behavioral changes:
- The default value for the
outgoing_smtp_urlconfig directive changed tosendmail://(using postdrop rather than direct SMTP contact).
Gromox 2.38
Fixes:
- oxcical: ignore zero-length PidLidTimeZoneStruct on export rather than failing the operation
- freebusy: process events with recurrence patterns > 510 bytes
- mbop-get-freeubsy: respect the absence of start_time,end_time (-a/-b) parameters
- mapi_lib: support TNEF export of messages without PR_INTERNET_CPID
- email_lib: no longer reject import of time-based recurrent series (
RRULEline withUNTILspecifier) with a single occurrence
Enhancements:
- midb: deal with folder changes that occurr during times when midb is not running
- exm2eml: add TNEF file export support
Behavioral changes:
- imap: reject creating extant folder
- midb: change M-COPY from a read-write cycle to server-side copy, thereby preserving mail headers from now on
- midb/imapd: folder names are now treated case-sensitive, just like MAPI did it already
Gromox 2.37
Fixes:
- exmdb: fix garbage being returned to clients when reading v1z files from cid/
- exmdb: stop an SQL error from appearing when
gromox-mbop recalc-sizesis used on an empty store - oxcical: evaluate all, instead of just two, STANDARD/DAYLIGHT tzprops for determining the relevant DST timezone
- ews: fix time elements, e.g. in OOF settings, always having value 1970-01-01
- email_lib: on vCard ingestion, treat ORG lines as the structured field that they are specified as, rather than as one text value
- exmdb_local: autovivify new named properties on delivery, fixing log message
D-1220: cu_set_properties called with PR_NULLwhen ingesting a vCard message into an empty store via SMTP/LMTP - dbop_sqlite: avoid use of the
UNIXEPOCHfunction since it is not available in AlmaLinux 9 - lib: add missing chown call on newly-created logfiles to account for subsequent privilege separation
Enhancements:
- dscli: evaluate not just one AutoDiscover URL but multiple as the specifation asks for
- mbop: stop printing the help text multiple times when the "for-all-users" subcommand was used but options were rejected
- gromox-mbsize: new debug utility for mailbox size analysis
- gromox-tnef2mt: add support for importing standalone TNEF files
Changes:
- stderr being a tty previously overruled daemons' log_file directive such as http.cfg:
http_log_file=/somewhere.log. This has now changed and http_log_file has precedence over any tty-ness of stderr.
Gromox 2.36
Fixes:
- ews: fix an ABA locking problem when EWS unsubscribe actions were processed
- genimport: fix a data juggling issue that led to mt2exm printing
proptag … from input stream has no named property info - mbck: do not attempt to repair allocated_eids if repair mode was not selected, fixing mbck printing
sqlite3_prep(INSERT INTO allocated_eids) … inside a readonly TXN. - exmdb: fix an issue where creating new messages-embedded-in-messages could lead to
sqlite3_exec(… INSERT INTO messages … VALUES (65536, …): UNIQUE constraint failed: messages.message_id (19), for msgids very close to the end of the block - mkprivate et al: fix an issue where force-overwriting databases would print
database is locked - oxcmail: during conversion from RFC5322 to MAPI form, avoid generating a zero-length attachment for a zero-length mail
Enhancements:
- mbop: new commands "ping", "for-all-users", "echo-username"
- exmdb: faster process shutdown through parallelized closing of sqlite files
- exmdb: better location diagnostics for RO-RO transactions, for RW-in-RO, and ROLLBACK issues
Changes:
- exmdb: the default value for exmdb_provider.cfg:cache_interval (time until inactive sqlite files are closed) was reduced from 2h to 15min to curb system resource use
- exmdb: the default value for exmdb_provider.cfg:populating_threads_num (asynchronous search folder population threads) from 50 to 4 to curb system resource use
- exmdb: deactivate implicit integrity check when upgrading a mailbox's database schema, it takes too much time
- (Integrity checks can still be done offline with
mkprivate -U --integ)
Gromox 2.35
Fixes:
- alias_resolve: resolve nullptr deref crash
- ews: resolve nullptr deref crash
- mapi_lib: fix out-of-bounds access in PROBLEM_ARRAY::transform
- mapi_lib: rop_util_get_gc_value used the wrong mask, which caused "Change commit failed because the object was changed separately"
Changes:
- exmdb: let PR_ACCESS include permissions from all group memberships
Gromox 2.34
Fixes:
- php_mapi: cure crash occurring with mapi_getidsfromnames
- midb: resolve "inside a readonly TXN" warnings during message deletion
- exmdb: emit notifications only after SQL transactions are complete
- imap: resolve unstable EXPUNGE observability
Enhancements:
- exm2eml: do output named property map when -p is used
- exm2eml: show named property mnemonics when -p is used twice
- php_mapi: allow calling namedprop resolution functions with not just store objects, but also folder/message/attachment objects
Gromox 2.33
Fixes:
- oxdisco: serve TB Autoconfig XML without requiring authentication (clients do not expect it to be protected)
- oxcical: revert commit which evaluates different MAPI timezone properties to generate DTSTART/DTEND's TZID value
Enhancements:
- oxcmail: Implement MIME fragment joining for the construction of the contents of PR_HTML.
- dscli: add
--acoption to test Mail Autoconfig (what Thunderbird uses in leu of AutoDiscover) - http: credential caching for HTTP Basic (config directive
http_basic_auth_cred_caching, defaulting to 60s)
Changes:
- The user_filter(4gx) plugin was replaced by a new implementation. user_filter.cfg is no longer read. New config directives (with new names) are in gromox.cfg.
Gromox 2.32
Fixes:
- mysql_adaptor: re-speedup queries that came to ran without an index
- mbop: make the "clear-profile" operation do clear g-web settings again
- zcore: workaround potential hang during shutdown
Enhancements:
- emsmdb, zcore: allow "Empty Folder" operations in public stores
- exmdb: increased verbosity during shutdown phase so it does not appear like a hang
Gromox 2.31
Fixes:
- freebusy: get_freebusy erroneously underreported occurrences for yearly occurrences
- freebusy: the get_freebusy routine erroneously landed in an infinite loop if a yearly-recurring February 29 appointment was originally created in a year not divisible by 12.
Enhancements:
- oxcmail: take /etc/mime.types under consideration when adding extensions to attachments
Changes:
- oxcmail: priorities for MIME parts have been rectified for multipart/alternative and non-alternative containers; the conversion routine is no longer making picks across multiple container siblings.