Skip to content

Releases: grommunio/gromox

Gromox 3.1

26 Oct 16:04
gromox-3.1

Choose a tag to compare

Enhancements:

  • http: support for SPNEGO authentication (Kerberos-in-SPNEGO or NTLMSSP-in-SPNEGO)
    with the HTTP "Authorization: Negotiate" header.
  • dscli: try all oxdisco URLs until one succeeds
  • exmdb: support repeated import of permission data (e.g. from kdb2mt)
  • ews: create calendar item after accepting a MR with MacMail

Fixes:

  • emsmdb: the total mail count in a contents view was not updated
  • emsmdb,zcore: Send-As mail now correctly has the delegator in Envelope-From
  • email_lib: deal with MIME parts with zero header lines
  • tools: reinstate submit.php for delayed sending
  • nsp: avoid buffer overruns in nsp_interface_fetch_property
  • emsmdb: Partial message change tracking was bug-ridden and deleted. Standard transfers are now used instead. (E.g. an IPM.Task object where only the percentage-completed field was changed would be mis-synchronized to another Cached Mode client as "delete start/end dates".)
  • exmdb: Public folders were missing timeindex queries and their content tables might have shown fewer messages.
  • http: A workaround was added for OpenSSL 3.0 so that connections from Outlook 2010 once again succeed.
  • mysql_adaptor: Improve the time needed to compute the composite mailbox permission for user in a case of a mailbox with 100K ACL entries.

Changes:

  • exmdb: deactivate movecopy/deletemessages event storm compaction
  • emsmdb: outgoing lzxpress compression in the EMSMDB protocol is now disabled as it does not compress well for the time invested.
  • http: the ntlm_program_helper config directive was removed; your gss_program simply needs to handle both GSS and NTLM.
  • event: support for reading the old event_acl.txt was deleted. The replacement is the event_hosts_allow config directive.
  • timer: support for reading the old timer_acl.txt was deleted. The replacement is the timer_hosts_allow config directive.

Gromox 3.0

30 Sep 21:23
gromox-3.0

Choose a tag to compare

Enhancements:

  • eml2mt now transmits the RFC5322 representation into the message store so that IMAP clients can serve that instead of representation synthesized from MAPI data. / Messages imported via eml2mt no longer "lose" their original structure and headers when viewed in IMAP.
  • midb now transmits the RFC5322 representations of messages created via IMAP into the message store. (Previously: just into the midb cache.) / Messages which have been client-side copied in IMAP, i.e. with FETCH+STORE rather than COPY, no longer "lose" their structure and headers.
  • oxcical: implement support for VTODO and VJOURNAL
  • mbop: add "freeze" and "thaw" commands
  • mbop: support UTC/zone suffixes for getfreebusy -a/-b arguments
  • mbop: using the -v option will now additionaly report the mailbox and subcommand in error messages
  • exmdb: new config directive exmdb_eph_prefix to put ephmeral files like tables.sqlite3 on a local disk (in case a mailbox is regularly on NFS).
  • exmdb: add a time index over messages to speed up common cases of grommunio-web GetContentsTable requests.
  • exmdb: the derivation for the PR_MESSAGE_*_ME property value, upon delivery, now includes PR_EMAIL_ADDRESS as a fallback if PR_SMTP_ADDRESS is unset.
  • oxdisco: the AutoConfig mechanism now emits an EWS server information block
  • ews: include ParentFolderId in FindFolder/GetFolder response
  • ews: implemented GetDelegate, CreateAttachment, FindPeople (GAL lookup), PushSubscriptionRequest request handlers
  • ews: implemented oofReply responses like EX/365
  • ews: Direct Meeting Response related serialization was added
  • ews: referenced calendar items are now updated when a CreateItem request contains AcceptItem or DeclineItem tags.
  • ews: support GetUserAvailabilityRequest request TimeZoneContext tag.
  • zcore: Out of Office configuration reading and writing is now performed over the network rather than through direct filesystem access.

Fixes:

  • fnevObjectCreate event notifications were not created when a mail was processed through TWOSTEP Rule Processor, now fixed.
  • fnevObjectCreated event notifications were not created when a mail was processed by ONESTEP Rule Processor when that executed a OP_COPY operation.
  • oxcical: iCal events with a date in DTSTART & DTEND but without X-MICROSOFT-CDO-ALLDAYEVENT are now transformed into Allday events even if the event is longer than one day.
  • delivery: emit MDN-RRT messages even with lda_twostep_ruleproc is set.
  • oxdisco: config-v1.1.xml now contains the homeservers as it should.
  • oxdisco: AutoConfig XML now features the incomingServer type parameter in the right place.
  • oxdisco: AutoConfig now emits outgoing server port 587 as type smtp.
  • ruleproc: auto-enter MRs into target calender even if the sender is not going to get a response.
  • ews: Avoid sending multiple <?xml ?> lines into the notification stream HTTP response body.
  • ews: trim "duplicate" recipients when a newly-created item has recipients in both <mimeContent> and <To>/<Cc>.
  • ews: prevent FAI messages from polluting the Normal Message Set during ICS
  • ews: when the FindItem requests finds no objects, an empty RootFolder tag is now still returned.
  • ews: delete excess NUL byte from tCalendarItem:UID tags

Changes:

  • kdb2mt no longer imports LocalFreebusy control messages, since dangling references in those can make delegate permission editing via OL nonfunctional.
  • emsmdb: outgoing lzxpress compression in the EMSMDB protocol is now disabled as it does not compress well for the time invested.

Gromox 2.48

31 Jul 16:11
gromox-2.48

Choose a tag to compare

Enhancements:

  • gromox.cfg now has a ruleproc_debug directive (applies to the TWOSTEP Processor only)

Fixes:

  • ews: repair a nullptr dereference from the OOF XML change
  • exmdb: make EXRPC write_message_v2 fill in return MID/CN values
  • ab_tree: restore filtering of objects with AB_HIDE_FROM_GAL for NSP (this was lost in a Global Address Book provider rewrite in 2.40)

Gromox 2.47

28 Jul 17:21
gromox-2.47

Choose a tag to compare

Enhancements:

  • oxdisco: support RFC 6764 well-known endpoints for CalDAV/CardDAV (if not running grommunio nginx config in front)
  • oxcical: try to handle ICS files with missing VTIMEZONE blocks
  • oxcical: support YEARLY recurrences with BYDAY without BYSETPOS
  • imap: offer $Forwarded keyword for APPEND/STORE commands
  • gromox.cfg now has a ruleproc_debug directive (applies to the TWOSTEP Processor only)
  • edb2mt, eml2mt, kdb2mt, oxm2mt, pff2mt, exm2eml: add --loglevel option

Fixes:

  • nsp: remove meaningless session_check directive; no longer erroneously reject requests after daemon received SIGHUP
  • oxcical: avoid setting out-of-spec MAPI recurnum for FREQ=MONTHLY,BYDAY= recurrences
  • oxcical: fix wrong BYMONTH calculation for MONTHNTH recurrences being exported to iCal
  • midb, imap: make EXPUNGE synchronous so that old UIDs don't reappear in a subsequent FETCH
  • midb: respect setting \Deleted, \Answered, \Flagged during APPEND
  • exmdb: resolve a case of "INSERT INTO t... UNIQUE constraint failed" log message appearing when the Twostep Rule Processor and a Move rule is encountered and a MAPI client has a Content Table with Sort Order open.
  • exmdb: stop losing RFC5322 representation when a message is copied
  • HTML-to-Text conversion using w3m suffered from an encoding mismatch, which was fixed.

Changes:

  • oxcmail: upon ingestion, the Precedence header (RFC 2076) is now transformed to the MAPI property PR_INTERNET_PRECEDENCE.
  • exmdb_local: Out-of-office autoreply logic now recognizes PR_INTERNET_PRECEDENCE values bulk and list to inhibit certain and all responses, respectively.
  • oxcmail: upon ingestion, the Auto-Submitted header (RFC 3834) and List-Help, List-Subscribe and List-Unsubscribe are now transformed into the MAPI property PR_AUTO_RESPONSE_SUPPRESS.
  • ews: unconditionally emit all OOF XML tags upon GetUserOofSettingsRequest to workaround OL crash when modifying Out-of-office settings.

Gromox 2.46

28 May 15:02
gromox-2.46

Choose a tag to compare

Enhancements:

  • cgkrepair: detect Change Keys with impossibly high values
  • cgkrepair: retain a PCL's foreign XIDs
  • ical2mapi: support FREQ=MONTHLY recurrences using BYDAY= but no BYSETPOS=
  • mt2exm: the -B option now supports numeric identifiers
  • ical2mapi: expand E-2718 error into new codes E-28xx with extended reason
  • imap: allow '%' '*' and '?' in folder names

Behavioral changes:

  • daemons: the default log destination is now "automatic" (stderr/syslog autodetect) rather than "stderr"
  • mapi2ical: deal with strange allday events that do not start/end on midnight
  • htmltotext: w3m is now instructed on charsets and does not need to guess anymore
  • exch: value for the PR_MAX_SUBMIT_MESSAGE_SIZE property was off by a factor of 1024, which has been fixed
  • mkprivate/mkpublic: generate a PR_MAPPING_SIGNATURE value distinct from PR_STORE_RECORD_KEY for newly-initialized stores
  • ical2mt, vcf2mt: messages are no longer emitted with an anchor, which now allows free placement with mt2exm -B
  • ical2mapi: ignore unreasonable requests like BYMONTHDAY=32

Gromox 2.45

15 Apr 21:47
gromox-2.45

Choose a tag to compare

Fixes:

  • emsmdb: avoid emissions of PR_MESSAGE_SIZE in fastdownctx streams (this makes PST export possible)
  • email_lib: fix a lost space in IMAP BODYSTRUCTURE response

Enhancements:

  • mysql_adaptor: add support for nesting mlists in permission checks
  • Recognize the IANA Character Set names utf-16le, utf-16be (and 32) when converting from RFC5322 to MAPI.

Behavioral changes:

  • MAPI tables now always offer a valid PR_ROW_TYPE value
  • emsmdb: the set of default properties (on blank message objects) has changed to be closer to what EXC2019 does

Gromox 2.44

19 Mar 18:46
gromox-2.44

Choose a tag to compare

Fixes:

  • mysql_adaptor: do not fail organization-level GAL population when a domain belonging to the org has zero members
  • gab: resolve assertion when traversing GAL [new implementation from Gromox 2.42]
  • mysql_adaptor: fix OOB when reading PT_DOUBLE entries from user_properties
  • emsmdb: fix OOB write when computing PR_MAILBOX_OWNER_NAME_A
  • zcore: PR_EMS_AB_DISPLAY_NAME_PRINTABLE of an address book object was filled with the email address even if the user's common name was umlaut-free
  • ews: PR_LAST_MODIFIER_NAME was filled with the email address even if the user's common name was umlaut-free
  • mbop: make clear-profile nuke all profile parts again
  • The documented default value outgoing_smtp_url=sendmail://localhost is now in effect

Behavioral changes:

  • Recognition for the smtp_server_ip config directive has been removed. Users must upgrade to outgoing_smtp_url (added in Gromox 2.21).

Gromox 2.43

06 Mar 17:24
gromox-2.43

Choose a tag to compare

Fixes:

  • imap: reduce memory footprint when FETCHing messages
  • imap: resolve shutdown ordering crash
  • exmdb: upgrade 0-length PR_ENTRYIDs to fake 1 byte to soothe Outlook Cached Mode syncer
  • ews: heed MAPI proptype semantics and interpret 0xffffffff as a signed int when serializing to XML (-1 rather than 4294967295)
  • gab: resolve out-of-bounds access in dntomid

Enhancements:

  • oxm2mt: support embedded messages
  • oxm2mt: add option to extract just an attachment embedded message
  • eml2mt: add option to extract just an attachment embedded message
  • mysql_adaptor: add TLS connection config directives

Behavioral changes:

  • exmdb: launch threads in more rapid succession when there is job queue contention

Gromox 2.42

19 Feb 15:14
gromox-2.42

Choose a tag to compare

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

07 Feb 10:39
gromox-2.41

Choose a tag to compare

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.