Releases: grommunio/gromox
Releases · grommunio/gromox
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-localeto 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_debugwill now emit execution time for EXRPCs - zcore:
zrpc_debuglogging now includes the session GUID to help correlate which ZRPCs are executed by which user - imap:
imap_cmd_debuglogging now includes the client IP address to help correlate which actions are executed by which user - pop3:
pop3_cmd_debuglogging 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
Gromox 2.26
Fixes:
- exmdb: Fix restriction mismatching on
PR_PARENT_SVREID&PR_PARENT_ENTRYID, which had caused reminders to go off even after appointments were moved to the wastebasket. - exmdb_local: rectify wrong/empty
From:lines in bounce messages - ews: fix segfault when loading public folder item
- zcore: repaired thumbnail retrieval, which used the wrong directory
Enhancements:
- mbop: add subcommands for manipulating websettings_persistent
Changes:
- zcore: store websettings_persistent directly in the store rather than the zcore shadow store object (automatic migration is in place)
- kdb2mt: avoid importing
PR_EC_WEBAPP_PERSISTENT_SETTINGS_JSON
Gromox 2.25
Fixes:
- mkpublic: newly created public stores lacked a
replguidmaptable - exmdb: repair initialization of PR_ATTACH_NUM when instances are opened
- oxcmail: strip leftover right angled bracket from Content-ID on oxcmail_import
- http: do not terminate if an illegal
outgoing_smtp_urlis used - http: avoid garbage From line in non-delivery reports generated by OP_BOUNCE rules
Changes:
- oxcmail: export no longer generates a MIME epilogue, which should workaround Outlook's broken S/MIME validator which fails to include epilogues in the signature verification.
- http: recognition for the
http_old_php_hanlderdirective has been removed - zcore: g-web settings are now stored in a named property rather than the shadow store object (automatic migration is in place)
Enhancements:
- mt2exm: the -B option can be used with all folder names
- mbop: new commands
get-photo,set-photo,get-websettings,set-websettings
Gromox 2.24
Fixes:
- email_lib: the last byte of a MIME part was erroneously deleted
- emsmdb: repair garbage memory read when creating a stream on a PT_STRING8 property
- ews: repair a potential lack of results with the ResolveNames operation when searching by email address
Enhancements:
- ews: add
t:AlternateIdTypeattribute
Gromox 2.23
Fixes:
- snapshot: on btrfs, fallback to rm when encountering reflink-based snapshots
- oxcmail: make PR_REPLY_RECIPIENT_NAMES be consistent with _ENTRYIDS
- oxcmail: deal with semicolons in Reply-To
- oxcmail: do not ignore IDN addresses when reading headers
- oxcmail: resolve a case with trashed body bytes when a line began with dot
Enhancements:
- exmdb: add config directive
exmdb_contention_reject_timefor configuring contention timeout - exmdb: have DB_ITEM instances track which function holds them, and report this upon reaching contention timeouts
- exmdb: make
dbg_synth_contentconfig directive work with theread_messageRPC - new command: gromox-exm2mt
Gromox 2.21
Fixes:
- exch: fix nonsensical compare operation in function
check_message_owner - lib: guard against an integer overflow when inserting last element in range_set
- imap: do not flag zero-length usernames/passwords as a syntax error
- exmdb: avoid showing E-5310/5311 for absent files
Enhancements:
- Support for outgoing message submission via postdrop. Use the new config directive
outgoing_smtp_url=sendmail://localhostin gromox.cfg. - gromox-snapshot: Support snapshots on XFS
- zcore: log REMOTE_ADDR on authentication failure for fail2ban
- ews: improve contact item and task item support
- php-mapi: add
mapi_getuserfreebusyicalfunction - exmdb: add ICS request dumper (config directive gromox.cfg:
exmdb_ics_log_file)
Behavioral changes:
- kdb2mt: remove option aliases that have been deprecated for a year
Gromox 2.20
Fixes:
- oxdisco: allow autodiscover for room/equipment stores
- oxcical: allday events are now emitted (pursuant to the
oxcical_allday_ymdconfig directive) as "floating time" per the OXCICAL spec recommendations - oxcical: resolve integer underflow that botched weekorder computation in weekly-recurring events
- oxcical: resolve out-of-bounds access during generation of iCal RDATE lines
- ews: avoid a heap-use-after-free during freebusy retrieval
- zcore: zs_getuserfreebusy had failed to resolve usernames and display freebusy status in the scheduling matrix view
- ldap_adaptor: resolve data race with double-free when per-organization LDAP settings were used
Enhancements:
- ews: improve calendar item coverage for mac calendar app
- all daemons: add various config directives to set file descriptor table limits
- zcore: add new error code and string for when the MAPI object handles have been exhausted by a user (as will normally happen when importing a multi-vCard/multi-iCal file with 400+ contacts/events, due to config directive
zcore_max_obh_per_session)
Behavioral changes:
- http: the file descriptor table limit is by default set to the environment hard limit (instead of 2256 fds, one will have 512K in Linux-systemd environments now)
- php_mapi: do not convert freebusy_event_details fields which are not available