Releases: grommunio/gromox
Releases · grommunio/gromox
Gromox 2.15
Fixes:
- imap: do not emit continuation request on LITERAL+ (now also for large literals >64K)
- exmdb: ignore softdeleted folders when validating new folder name
- exmdb: explicitly rollback SQLite transactions when the commit operation failed, to resolve cases of
cannot start a transaction within a transaction
- exmdb: ACE entries for anonymous were misreported to clients
Enhancements:
- delivery: support for plus-addresses/recipient delimiters, e.g.
<[email protected]>
- delivery: new config directive
lda_recipient_delimiters
- mbop: new subcommand
recalc-size
to recalculate store size
Changes:
- alias_resolve: config directives are no longer read from
/etc/gromox/alias_resolve.cfg
but now from/etc/gromox/gromox.cfg
- oxcmail: do not emit Content-Disposition creation-time/modification-time parameters when those fields are not present in the MAPI object
- Delete unused columns and indexes from the
associations
MariaDB table; (grommunio-admin-api should be updated to >= 1.12)
Gromox 2.14
Enhancements:
- daemons: better SSL_accept error log messages
- alias_resolve: support for nested mlist expansion
- alias_resolve: support for Global Contact Objects
- delivery: SIGHUP triggers a reload of (more) plugins now
- gromox-mbop: add emptyfld options -a, -M
Fixes:
- oxdisco, oab: avoid emitting extraneous NUL byte at end of XML document
- imap: do not emit continuation request on LITERAL+
- mbop: restore emptyfld functionality after switch to empty_folder v2 RPC
- mbop:
delmsg -f DRAFT 12345
did nothing due to a bad translation of the special name
Gromox 2.13
- emsmdb: eliminiate duplicate message appearing when copying to a private non-default / shared store
- EWS: support the {Create,Delete,Move,Copy,Update,Empty}Folder operation(s)
- EWS: support the {Copy,Move}Item operation(s)
Gromox 2.12
Enhancements:
- ews: support CreateItem, DeleteItem, SendItem requests
- oxm2mt: support multi-valued properties
Fixes:
- kdb2mt: do not abort when
--src-mbox
is used - exmdb_provider: opening the detail view of Personal Addressbook entries now works in Outlook, as does selecting them as message recipients
- zcore: fix a flaw in permissions dialog that caused the delegates to be able to see the private items of the delegator
Behavioral changes:
- exch: remove old PHP EWS handler
- zcore: delete getuseravailability RPC and replace by new getuserfreebusy RPC
Gromox 2.11
Enhancements:
- exmdb: attachment storage with hash-based filenames
- exmdb_local: persistent (on-disk) last-autoreply time tracking
- imap: allow large literals with APPEND
- imap: add RFC 7888 support
- oxdisco: allow AutoDiscover information retrieval from secondary mailboxes even if the scndstore_hints table does not have an entry.
- emsmdb: "Mark all as read" in OL (Online mode) now works
Fixes:
- oxcical: resolved another case of recurring appointments shifting due to timezone/daylightbias
- exmdb_provider: resolve constraint failure on
movecopy_messages
- email_lib: add back CRLF when MIME::read_head is reconstructing headers
- mapi_lib: resolve an infinite loop during
html_to_rtf
- exmdb_provider: ignore absent directories during
gromox-mbop purge-datafiles
- exmdb_provider: make
exmdb_pf_read_states=1
hide folder sumamry counts as advertised by manpage - zcore: delegation dialog had erroneously set too many permission bits
Changes:
- exmdb_client: disable timeout during active calls
- delivery: raise context_average_mime limit from 8 to 500
- nsp: drop "custom address list" name suffix from mlists
Gromox 2.10
Fixes:
- imap: restore notifications during IDLE
- midb: do not present softdeleted messages to IMAP
- zcore: validate permissions when inbox rules or folder permissions are edited
- lda_twostep_ruleproc: resolve array out-of-bounds access when resolving named properties
- snapshot: switch back to root user identity to be able to purge snapshots
Enhancements:
- DNSBL filtering mechanism, cf.
man dnsbl_filter
- Address book name resolution now evaluates alias addresses
- pff2mt: speedup operation by 70%+
- emsmdb: strike limits (raise to infinity) for session handles, user handles and notify handles, and raise limit for ems_max_pending_sesnotif to 1K
- emsmdb: new configuration directives ems_max_active_notifh, ems_max_active_sessions, ems_max_active_users, ems_max_pending_sesnotif
- mbop: new subcommands
clear-photo
,clear-profile
,purge-softdelete
,purge-datafiles
Changes:
- The PHP-MAPI profile is now stored in the mail store as a property rather than as a flat file. The upgrade is automatically performed when the MAPI profile gets modified via PHP-MAPI.
- The user profile picture is now stored in the mail store as a property rather than as a flat file. The upgrade is automatically performed when the photo is modified via PHP-MAPI.
/usr/libexec/gromox/cleaner
is obsolete and replaced by mbop subcommandpurge-datafiles
.
Gromox 2.9
Fixes:
- zcore: plug memory leak when address book data structure reloads
- zcore: fix inverted evaluation of RES_CONTENT::comparable
- zcore: moving messages from one store to another obtained CNs from the wrong store and could fail the operation
- oxcical: add TZID for allday events
- imap: consistently show EXISTS status before RECENT
- imap: move EXISTS/RECENT response after SEARCH result
- imap: skip reporting EXISTS/RECENT if folder is unchanged
- imap: make FETCH RFC822 report FLAGS as well
- imap: SEARCH by size used the wrong column
- imap: avoid double status reporting when one message is changed multiple times
- imap: add and populate a per-context seqid list
- midb: unbreak search matching based on dates and sizes
- imap: cease emitting extraneous FETCH FLAGS responses (works around a shortcoming in the KDE kmail client)
- imap: resolve E-1995 erroneously showing when memory use is fine
- emsmdb: avoid hitting an assertion when sort-reloading a table of a deleted folder
Enhancements:
- emsmdb: support forwarding meeting requests from organizers that are not local to the installation
- imap: broadcast changes to mailbox from EXPUNGE commands
- midb: auto-regenerate ext/ digests when missing
- Log the filename of the SQLite database when a query fails
- emsmdb: add log messages for notification queue limits
Gromox 2.8
Fixes:
- exmdb_provider: repair a 4-byte cutoff when reading PR_BODY, PR_TRANSPORT_MESSAGE_HEADERS if they are compressed on disk
- emsmdb: setting multiple mails as read/unread was repaired
- php_mapi: fix a case where proptag arrays had bogus keys
- midb: resolve a crash when a P-SRHL HEADER search has not enough arguments
- zcore: do not lose folder for OP_MOVE rules when that folder is in a public store
- mda: the DATA command in LMTP mode did not emit one status line for every RCPT
- nsp: fix janky addressbook navigation when the GAL has hidden entries
- authmgr: resolve altnames before searching them in the LDAP backend
- php_mapi: reduce memory block retention scopes so that requests with a large response (~128MB+) won't die from Out Of Memory
- midb: fix E-1903 error appearing on shutdown
Enhancements:
- The "Hide from addresbook" functionality has gained another bit, so that name resolution ("Check names" button in OL/g-web) is no longer tied to visibility in the GAL.
- Support for non-default stores in the IMAP and POP3 protocols; use "actualusername!sharedmbox" as the username for login.
- imap: allow setting \Recent flag with STORE command
- imap: send TRYCREATE on failed SELECT
- imap: output \Junk alongside \Spam for the junk folder
- imap: emit special-use flags with plain LIST when so requested in the command
- imap: add LIST response to SELECT/EXAMINE
- pff2mt: add --with-assoc, --without-assoc
Changes:
- daemons: the files /etc/gromox/exmdb_acl.txt, midb_acl.txt, event_acl.txt, timer_acl.txt were made obsolete and replaced by the new (exmdb_provider.cfg) "exmdb_hosts_allow", (midb.cfg) "midb_hosts_allow, (event.cfg) "event_hosts_allow", (timer.cfg) "timer_hosts_allow" directives.
- http: adjust the built-in PHP-FPM socket paths to reflect changes in g-web and g-sync (this impacts test setups that run gromox-http without an nginx in front)
- mda: update "Received" headers in messages to look more like Postfix's
- pff2mt: --without-assoc is now the default
(This is only a concern with .ost files, as .pst does not have FAI messages.)
Gromox 2.7
Fixes:
- mbop: support folder strings for
delmsg -f
as was documented - oxcmail: do not fail exporting DSNs with unresolvable addresses
- oxcical: do not fail exporting calendar objects with unresolvable addresses
- oxvcard: repair NULL deref when exporting
PR_CHILDRENS_NAMES
- exmdb_provider: support
mbox_contention_*=0
as was documented - gromox-snapshot: safer parsing of snapshot.cfg
- emsmdb: resolve infinite loop when counting property value size of invalid UTF-8 strings
Behavioral changes:
- exmdb_provider: default to
mbox_contention_reject=0
- exch: support absent values with RES_PROPERTY, RES_BITMASK and RES_CONTENT comparisons
- zcore: make
mapi_message_imtoinet
operate on message instances, not messages
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