Skip to content

Releases: grommunio/gromox

Gromox 2.40

28 Jan 15:32
gromox-2.40

Choose a tag to compare

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

21 Jan 22:11
gromox-2.39

Choose a tag to compare

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 replaces for-all-users

Behavioral changes:

  • The default value for the outgoing_smtp_url config directive changed to sendmail:// (using postdrop rather than direct SMTP contact).

Gromox 2.38

07 Dec 11:31
gromox-2.38

Choose a tag to compare

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 with UNTIL 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

20 Nov 11:04
gromox-2.37

Choose a tag to compare

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

06 Nov 16:02
gromox-2.36

Choose a tag to compare

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

15 Oct 12:12
gromox-2.35

Choose a tag to compare

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

08 Oct 17:55
gromox-2.34

Choose a tag to compare

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

01 Oct 19:32
gromox-2.33

Choose a tag to compare

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

04 Sep 15:47
gromox-2.32

Choose a tag to compare

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

14 Aug 09:24
gromox-2.31

Choose a tag to compare

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.