Releases: grommunio/gromox
Releases · grommunio/gromox
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
--ac
option 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.
Gromox 2.30
Fixes:
- exmdb: instace_load_message RPC with unsynthesizable properties will no longer yield an erroneous error
- exmdb: setting anonymous-ID permissions on folders was erroneously treated as wanting to set default-ID permissions and did not complete
- oxcical: emit VTIMEZONE for events without PidLidAppointmentTimeZoneDefinitionStartDisplay
- php_mapi: delete nonsensical return types from function stubs used for introspection
- Set syslog process names (meaningful for non-glibc platforms)
- pam_gromox: resolve a use-after-free when the module is invoked twice in a row (as is the case with e.g. saslauthd)
- exmdb: resolve use-after-free/crash on process shutdown (search folder shutdown)
Enhancements:
- gromox-mbop: new subcommand
set-locale
to change store language - exmdb: add more SQLite transactions and make concurrent read access for stores possible
- ruleproc: initial autoprocessing for meeting requests
- conflict detection, response sending for conflicts, automatic addition to calendar
- needs to be enabled with gromox.cfg:
lda_mrautoproc
=yes
- imap, pop3, delivery-queue: HAProxy protocol support (send-proxy-v2)
- zcore: show private distribution lists the grommunio-web address book
Gromox 2.29
Fixes:
- dnsbl_filter: support DNSBL servers that do not emit TXT records
- email_lib: cure IMAP Structure Descriptions indicating a mail size 2 bytes larger than it is
- imap: cope with truncated EML files
- exmdb: delete leftover stray ROLLBACK statement
- ews: cure null dereference in tInternetMessageHeader::parse
- ews: use vmime parser to break down IMHs and reset an Apple workaround for "From" lines
Changes:
- emsmdb: attempt to synthesize PR_SENDER_ADDRTYPE & PR_SENT_REPRESENTING_ADDRTYPE when they are missing (also warn when those properties are deleted)
Gromox 2.28
Fixes:
- imap: repair messages not getting added to midb during 64K+ append
- imap: cure client session hang when midb failed to add a mail during 64K-append
- mysql_adaptor: gracefully handle attempts to use Unicode in usernames (treat as non-existing user rather than failing the user lookup altogether)
- zcore: a crash on shutdown was addressed
Enhancements:
- mysql_adaptor: allow Unicode in alternate usernames (altnames)
- Populate PR_DELETED_ON property for softdeleted items
- exmdb:
exmdb_rpc_debug
will now emit execution time for EXRPCs - zcore:
zrpc_debug
logging now includes the session GUID to help correlate which ZRPCs are executed by which user - imap:
imap_cmd_debug
logging now includes the client IP address to help correlate which actions are executed by which user - pop3:
pop3_cmd_debug
logging now includes the client IP address to help correlate which actions are executed by which user
Changes:
- remote_delivery.cfg is obsolete. If you need an SMTP relay for outgoing mail (and you do not have a local postfix to take care of that), you should set gromox.cfg:outgoing_smtp_url.
Gromox 2.27
Fixes:
- email_lib: avoid splitting UTF-8 code units across lines
- imap: avoid emitting NIL for body-fld-lines
Enhancements:
- php_mapi: expose default+anonymous ACEs to PHP programs
- zcore: expose new PR_EC_ENABLED_FEATURES_L property
- ews: implement updating folder permissions
- eml2mt: emit a hint if an Outlook .msg file is erroneously passed to eml2mt
Changes:
- exch: start ICS Change Numbers at 0 rather than 2^47 (new mailboxes only)
- PR_MAILBOX_OWNER_ENTRYID is generated for public stores
- exmdb database layer remodeled to support concurrent reads per mailbox in the future