Releases: grommunio/gromox
Releases · grommunio/gromox
Gromox 2.42
Fixes:
- exmdb_local: plug memory leak resulting from RPC execution
- alias_resolve: plug memory leak resulting from GAB refreshes
- alias_resolve: avoid unnecessary GAB refresh on shutdown
Enhancements:
- nsp: a few more RPCs now emit log messages under config setting nsp_trace=2
- mh_nsp: support transfer of additional undocumented property types
- oxdisco: recognize
/mail/config-v1.1.xml
URI
Behavioral changes:
- New internal addressbook implementation backing the NSPI-provided and Zcore-provided AB functionality.
Packaging changes:
- dscli, dnsbl_filter: DNS resolution via LDNS/libldns (desirable for linux-musl and BSDs) was replaced by c-ares/libcares.
Gromox 2.41
Fixes:
- ldap_adaptor: plug two memory leaks
- exmdb: plug a memory leak related to subscription destruction
- oxcical: do process TRIGGER duration value type for reminders
- midb: resolve flakey update of flagged/replied/forwarded status
- midb: when a MAPI message has changed and requires a new IMAPUID, convey the expunge of the old IMAPUID much sooner to IMAP clients
- pop3: resolve a NULL deref/crash during RETR command
- imap: restore SEARCH command looking at right portion of a QP-encoded message
Enhancements:
- ews: send flag status to clients
- imap: include username for IMAP actions when imap_cmd_debug logging is activated
- midb, imap: print asynchronous notification events when imap_cmd_debug>=2
- oxcical: invalid iCal timezone inputs are now logged when _log_level=6 (debug)
Behavioral changes:
- mkprivate: new message stores now have
frightsVisible
set on the calendar folder, because grommunio-web is picky about the existence of the calendar folder even if obtaining just freebusy blocks.
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_url
config 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 (
RRULE
line withUNTIL
specifier) 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-sizes
is 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_NULL
when ingesting a vCard message into an empty store via SMTP/LMTP - dbop_sqlite: avoid use of the
UNIXEPOCH
function 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
--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.