Momentum 2.x Legacy Changelog from 2003-2006

April 14, 2020 Contributors

Ecelerity version 2.1.1.11 released on 2006-10-16

  • Fixed ticket #1702: Special characters cause problems for ec_stats2
  • Fixed ticket #1501: email_message_enqueue() doesn’t free bodies as they are placed on the delayed queue.
  • Fixed ticket #1719: DuraVIP disowns sometimes were not properly detected by the whole cluster.
  • Fixed ticket #1722: static buffer incorrectly used in regex_binding2:extract_fixed_field
  • Fixed ticket #1724: Large configs are not handled properly by eccmgr
  • Fixed ticket #1717: eclogmove_factory makes too much noise when no logs are configured.
  • Fixed ticket #1098: win32 timezone was cached across DST boundaries
  • Fixed ticket #1718: win32 eccmd fault with throttled licenses
  • Fixed ticket #1730: sieve discard crash instead of compile failure when used in the mailfrom phase.
  • Fixed ticket #1700: umem initialization issue on BSDish systems
  • Fixed ticket #1731: store rcptto string before syntax validation

Ecelerity version 2.1.1.10 released on 2006-09-27

  • Fixed ticket #1696: Binding into groups results in messages going into default binding.

Ecelerity version 2.1.1.9 released on 2006-09-25

  • Fixed ticket #1540: segfaults in clustering module (printf related)
  • Fixed ticket #1564: tighter rfc2821 address validation
  • Fixed ticket #1583: ec_keep failed to compile in sieve scripts
  • Fixed ticket #1588: crash when a sieve action written in perl returns no values
  • Fixed ticket #1589: fault in dns_expire_domains
  • Fixed ticket #1590: off-by-one and use-after-free issues with pinterp and generated mail.
  • Fixed ticket #1592: cloudmark API can use uinitialized memory
  • Fixed ticket #1617: smtp cbv rcptto phase validation broken
  • Fixed ticket #1619: Under-allocation in DKIM header creation
  • Fixed ticket #1622: IPMM bad failure mode when no valid messages are generated.
  • Fixed ticket #1627: OOB DNS response behavior fix
  • Fixed ticket #1649: Goodmail X-TokenInfo-TokenType header name change
  • Fixed ticket #1459: Cluster drops DuraVIPs
  • Fixed ticket #1656: Spread calls close the mbox inappropriately
  • Fixed ticket #1402: race condition breaks per-domain message expiration during spool-in.
  • Fixed ticket #1629: win32 gettimeofday implementation
  • Fixed ticket #1536: Error message incorrect in ec_cluster_duravip.c
  • Fixed ticket #1463: DuraVIP goal calc needs to account for expunged VIPs
  • Fixed ticket #1618: DKIM validation memory leaks
  • Fixed ticket #1640: allow fragmentation of console responses for excessively large responses on the cluster.
  • Fixed ticket #1004: eccmgr: sqlite_open fails silently
  • Fixed ticket #1455: Memory leak in ec_stats
  • Fixed ticket #1663: config unset binding foo binding_group crash
  • Fixed ticket #1665: permit regex_binding2 to incorporate binding group changes on the fly
  • Fixed ticket #1667: Resolve livelock issue with hook initialization.
  • Fixed ticket #1668: use system allocators by default on OSX
  • Fixed ticket #1621: segfault on cluster node when injecting messages
  • Fixed ticket #1673: bounce report in xml_summery dependent on log_permanent_failures
  • Fixed ticket #1676: Early free in ife-bpf.c, if_down
  • Fixed ticket #1677: Fix up Darwin packaging
  • Fixed ticket #1684: Disk image for Darwin package
  • Fixed ticket #1063: Fix custom_logger’s ability to print headers with : in their body.

Ecelerity version 2.1.1.8 released on 2006-08-05

  • Fixed ticket #1545: support rfc821 dotted address routing

Ecelerity version 2.1.1.7 released on 2006-08-04

  • Fixed ticket #1512: umem realloc memory leak
  • Fixed ticket #1526: win32 fault when disconnects complete immediately
  • Fixed ticket #1523: mtamark returns bogus multi-line response when rejecting mail.
  • Fixed ticket #1524: xslt reports hang on sparc
  • Fixed ticket #1393: print selector value during write config
  • Fixed ticket #1522: fault when using multiple body tests in sieve
  • Fixed ticket #1541: regex_binding2 header match is not anchored at beginning of line

Ecelerity version 2.1.1.6 released on 2006-07-21

  • Fixed ticket #1452: brightmail module hangs if num_workers > 0
  • Fixed ticket #1450: sieve memory leak with variable assignments and argument iteration.
  • Fixed ticket #1469: domainkeys race condition causes session hangs on win32
  • Fixed ticket #1480: file and digest auth password files with CRLF line endings were not handled correctly.
  • Fixed ticket #1481: pcre linkage issue caused crash with ec_pcre_match sieve action.
  • Fixed ticket #1489: refcounting issue with ec_include
  • Fixed ticket #1492: race condition in dns_expire_domains
  • Fixed ticket #1491: dns hooks don’t get called during refresh
  • Fixed ticket #1490: socket cache leak on win32
  • Fixed ticket #1478, #1479: improved online configuration for DK, DKIM and goodmail.
  • Fixed ticket #1495: perl Net::ECStream fails when talking to win32 relays
  • Fixed ticket #1414: RFC2821 Deviation with recieved header
  • Fixed ticket #1499: memory leak in domainkeys
  • Fixed ticket #1500: memory leaks in ds_ldap
  • Fixed ticket #1506: cluster_message_maintain_jobs does not break out of loop
  • Fixed ticket #1388: Messages sitting in queue far beyond Message_Expiration

Ecelerity version 2.1.1.4 released on 2006-07-03

  • Fixed ticket #1390: Memory leak in seedlist.c
  • Feature ticket #1394: Seedlist module no-seed condition
  • Fixed ticket #1397: ec_log_trace not installed
  • Fixed ticket #1398: capabilities support broken
  • Fixed ticket #1423: memory leak in regex_binding2 header rules
  • Fixed ticket #1437: win32 lseek call failing
  • Fixed ticket #1392: ds_ldap lookup failures
  • Fixed ticket #1439: rfc2822_parse_message() leaks memory on some failures
  • Feature ticket #1235: Allow setting supplemental groups in the Security section of the configuration file.
  • Feature ticket #1288: Added hooks pre and post drop privileges
  • Feature ticket #1262: Added hooks to facilitate per-message expiration times

Ecelerity version 2.1.1.3 released on 2006-06-15

  • Fixed ticket #1368: ecwebconsole fails to package on rhel3
  • Fixed ticket #1374: ec_stats fails to validate license
  • Fixed ticket #1296: ec_console history issues on Solaris

Ecelerity version 2.1.1.2 released on 2006-06-13

  • Fixed ticket #338: allow ec_include via iowrapper and the datasource layer.
  • Feature ticket #382: track and limit the number of recipients per message or per connection.
  • Feature ticket #424: provide a generic/http_io module that will enable reading files over http:// and https://
  • Feature ticket #577: use ec_atoi instead of atoi for conf and control
  • Feature ticket #732: Move the validate_set_binding callout prior to the core_finalize_validation_hook.
  • Feature ticket #786: Support for DuraVIP IP dependencies via the duravip_follow listener and binding attribute.
  • Fixed ticket #864: mysql_spool module would fail if ecspool dir was missing.
  • Fixed ticket #944: ecrrdd depends on Ecelerity-perl
  • Fixed ticket #960: implement DKIM signature z tag
  • Fixed ticket #962: Call dk signing from finalize_validation hook
  • Fixed ticket #987: libedit crash using ec_console when $TERM is invalid
  • Feature ticket #990: Implement Goodmail Signing
  • Feature ticket #994: Per-binding signing for Goodmail (implemented in #1040)
  • Feature ticket #995: Unify DK/DKIM/Goodmail signing statistics.
  • Fixed ticket #1006: Fixed crash in license fetching.
  • Fixed ticket #1012: Fixed crash in license fetching.
  • Feature ticket #1038: ClamAV virus scanning without a license
  • Feature ticket #1040: Update domainkeys, dkim and goodmail to support global, per-domain, and per-binding activation.
  • Fixed ticket #1052: mbuscfg now create config repository on demand.
  • Fixed ticket #1055: installer failure on CentOS 4
  • Fixed ticket #1056: eccmgr, ecspread RPMs fail to create users/groups
  • Fixed ticket #1060: eccmgr crash in eccmgr_log_feedmgr()
  • Fixed ticket #1063: print multiline header in custom_logger
  • Feature ticket #1064: Support auto-conversion of transient failure to permanent failure
  • Fixed ticket #1066: fixed segfault with custom_logger header if the header is omitted or a single character (%h{} or %h{X}).
  • Fixed ticket #1072: cloudmark config updates for 1.5 SDK
  • Fixed ticket #1078: fixed the problem that else block always gets executed when if block is empty
  • Feature ticket #1079: implement ec_rand() sieve action
  • Fixed ticket #1080: track metrics for IP addresses per binding. This fixes issues where deliverability on one binding can cause a failling binding to not actually fail and vice versa.
  • Fixed ticket #1101: fixed segfault in regex_binding2 related to applying sender_ip and received_via IP matching to message received over non IP channels.
  • Fixed ticket #1102: cluster membership control can SEGV if called while a node is joining the cluster.
  • Fixed ticket #1104: Added Permastore_Interval to the config system with a default of 300 seconds instead of the original hard-coded 60 seconds.
  • Fixed ticket #1105: Fixed issue where decreasing the thread pool size could cause too many threads to stop.
  • Fixed ticket #1106: Fixed lagging issues for certain modules that perform asynchronous work in the validate_data_spool and validate_data_spool_each_rcpt. This fixes a performance problem with the cloudmark authority module.
  • Fixed ticket #1108: Fixed install name for libEcelerity on Darwin
  • Fixed ticket #1110: make ec_header_add, ec_header_prefix, ec_header_postfix multi-charset safe.
  • Feature ticket #1113: allow cloudmark to be invoked from sieve
  • Fixed ticket #1114: Fixed intermittent failures with XCLIENT
  • Feature ticket #1116: provide a binding statistics on the binding group.
  • Feature ticket #1119: xml log summary reports now have the start/end date in the filename (instead of date of summarization).
  • Fixed ticket #1128: fixed segfault when using binding flush domain
  • Fixed ticket #1130: under allocation in regex_binding2 could cause crash.
  • Feature ticket #1136: Internally supported means for OEMs to rebrand Ecelerity.
  • Fixes ticket #1147: fixed inbound SMTP sessions disconnects when anti-virus subsystem was in use.
  • Feature ticket #1170: Implement signing statistics reset function.
  • Feature ticket #1177: Add option never_attempt_expired_messages
  • Fixed ticket #1184: fixed denial of service bug when AUTH is enabled.
  • Fix ticket #1186: sieve parser stack too small for complex scripts.
  • Fixed ticket #1195: extended the pluggable auth API to embrace asynchronous operation.
  • Fixed ticket #1201: addressed memory leak in regex_binding2 module
  • Fixed ticket #1202: mailfrom sometimes not null terminated, caused abberant behavior.
  • Feature ticket #1206: We now ship DBD::ODBC with our perl SDK
  • Fixed ticket #1239: fix quarantine to work with new spool (v2) format.
  • Fixed ticket #1261: regex_binding2 header match returns key as well
  • Feature ticket #1266: Should be able to avoid smtp_cbv by context var
  • Fixed ticket #1278: bounce code can mutilate original recipient address
  • Fixed ticket #1281: Windows pickup module crash
  • Fixed ticket #1280: Incorrect echash_delete free argument.
  • Fixed ticket #1287: Crash when mmap()ing 0 byte message bodies
  • Fixed ticket #1309: problem with qsort for Ecelerity.conf includes
  • Fixed ticket #1327: DuraVIP balancing sometimes resulted in a ping-pong

Ecelerity version 2.1.0.3 released on 2006-03-27

  • Fixed ticket #1026: improved canonicalization in ec_stats2
  • Feature ticket #1061: bounce classification improvement

Ecelerity version 2.1.0.2 released on 2006-03-23

  • Fixed various issued with license fetching on Windows.

Ecelerity version 2.1.0.1 released on 2006-03-21

  • Fixed ticket #989: mailerdaemon, if left blank, no longer causes crash
  • Fixed ticket #999: mbuscfg crashes on startup with error: MEMORY-00487 66
  • Fixed ticket #1000: crash in regex_binding2

Ecelerity version 2.1.0.0 released on 2006-06-06

  • Fixed ticket #534: automatic Message-ID: header generation on Windows platforms was not rfc2822 compliant.
  • Fixed ticket #535: Possible to wrap message id’s in ecmm
  • Fixed ticket #539: %{d} and %{s} failed to expand for domainkeys key file paths on FreeBSD.
  • Fixed ticket #54: upgrade PCRE to 6.5
  • Fixed ticket #518: Esmtp_Listener=(*.25) causes segv. Changed IPv6 address format in config file and console from <hex>:<hex>::<hex>.<port> to [<hex>:<hex>::<hex>]:port. Brackets are now required.
  • Fixed ticket #185: DNS server outage causes segv.
  • Fixed ticket #554: Fixed crash bug with parsing trash config files (such as specifying the Ecelerity binary as the config file).
  • Fixed ticket #567: Fixed erroneous compilation of sieve scripts with nested anyof and allof clauses.
  • Fixed ticket #91: Notice when duravip IPs are dropped or an unowned duravip occurs. Add duravip release all command. Add duravip announce view command.
  • Fixed ticket #542: sieve scripts loaded via the console didn’t report compilation errors to the console (but did log them to the paniclog).
  • Feature ticket #394: Add ec_forward action in sieve++.
  • Fixed ticket #580: Fixed crash in MDN generation.
  • Feature ticket #541: augment default queue layout to reduce I/O pressure on standard UNIX/Linux filesystems.
  • Feature ticket #71: Add ec_rewrite_mailfrom action in sieve++.
  • Feature ticket #586: implement pulling from eccmgr for sieve scripts.
  • Feature ticket #561: Negative offsets into stringlists.
  • Feature ticket #592: allow config includes to use the eccmgr:// io wrapper.
  • Fixed ticket #593: Fixed crash reading a configuration file lacking a trailing newline.
  • Feature ticket #599: Allow domains to exempt themselves from particular multivip bindings
  • Fixed ticket #612: Enhance rfc2822 parser/reconstructer to respect the exact whitespace preceding header lines (instead of replacing them with a single hard tab). This allows modules like domainkeys and DKIM to perform simple canonicalizations successfully.
  • Fixed ticket #410: (bad deps for ec_rrdd)
  • Fixed ticket #504: (spread user does not exist)
  • Fixed ticket #637: write conf should return set values even when they match defaults.
  • Fixed ticket #638: global inbound and EClogmove inbound connection counters were not decremented on a cluster logger disconnect.
  • Feature ticket #560: Add ec_pcre_match action in sieve++. (modules/generic/sievelib.c)
  • Fixed ticket #749: config parser crashes on empty Domain stanza
  • Fixed ticket #744: header corruption when using dk + dkim side by side
  • Fixed ticket #767: assertion failure under Solaris
  • Fixed ticket #761: ecmm can fault if you disconnect while waiting on xprt
  • Fixed tickets #350 and #636: fixed DK instablities and add simple canon support
  • Feature ticket #171: implement DKIM
  • Feature ticket #377: Add support for configuratable SNMP Traps
  • Fixed ticket #814: c macro missing from SPF macro set
  • Fixed ticket #869: ec_logto_xml does not update xml log file
  • Feature ticket #550: Improve bounce handling
  • Fixed ticket #896: SNMP causes Ecelerity to segfault add OmniTI MIB
  • Fixed ticket #941: static buffer usage in ec_forward
  • Fixed ticket #619: sieve mis-compilation problem when assigning a single element stringlist to a variable
  • Fixed ticket #469: SEGV when passing the sieve NUMBER type to built-in actions that expect strings
  • Feature ticket #1061: bounce classification improvement

Ecelerity version 2.0.5.2 released on 2006-02-02

  • Fixed ticket #516: throttling causes a seemingly infinite delay under certain circumstances
  • Fixed ticket #522: custom logger %m/%M tokens ocacsionally break on multi-recipient mails
  • Incremental ticket #519: demonstrate a 200 connection listen queue on the ESMTP listener in the provided configuration file. A 200 connection backlog will prevent throughput testing anamolies that arise when testing with smtpstone (smtp-source) and high concurrency.
  • Fixed ticket #498: strtok_r() skips delims until it gets a token or goes to the end. This caused reception lines with @@@ to be ignored in _ec_log_parse_reception(), which resulted no reception counted in ec_stats. Replace strtok_r() in GET_NEXT with next_at_field() in ec_log_parse.c
  • Fixed ticket #521: ec_console line editing would crash on Solaris 64-bit

Ecelerity version 2.0.5.1 released on 2006-01-29

  • Fixed ticket #513: improperly configured interfaces could lead to the complete downing of an interface by DuraVIP during start-up.
  • Incremental ticket #511: improved the speed of message enqueueing and maintaining the mailqueue by avoiding complicated cluster-based threshold assessments if no thresholds have been configured globally or for the domain/binding/binding group in question.

Ecelerity version 2.0.5 released on 2006-01-27

  • Fixed ticket #453: perl hooks not converting C stack correctly
  • Fixed ticket #463: custom_logger not respecting reopen command
  • Fixed ticket #464: custom logger can generate non-reparsable ‘write config’
  • Fixed ticket #472: case sensitivity issue in rcpt domains
  • Fixed ticket #154: message corruption in perl API
  • Fixed ticket #484: ec_ctl doesn’t pass CONFFILE option to Ecelerity
  • Fixed ticket #487: TLS bug workarounds: misconfigured exchange servers
  • Fixed ticket #490: connection metrics skewed causing no adequate servers
  • Fixed ticket #499: spool bodies are being stranded and never handled

Ecelerity version 2.0.4.3 released on 2006-01-04

  • Fixed ticket #433: Ecelerity Statistics Collector on Windows did not

Ecelerity version 2.0.4.2 released on 2005-12-23

  • Fixed ticket #416: crash in win32 under high network load when initiating

Ecelerity version 2.0.4.1 released on 2005-12-22

  • Fixes ticket #406: eccmgr segafults on ‘show cluster configuration’
  • Fixed ticket #407: eccmgr sqlite db crash
  • Fixed ticket #408: ec_cluster logging auto-timestamping backfires

Ecelerity version 2.0.4 released on 2005-12-21

  • Fixed ticket #352: Fixed memory leaks in message failure when Generate_Bounces=false
  • Fixed ticket #354: Fixed writing of initialized data in ec_logger.
  • Fixed ticket #355: Fixed occasional crash bug.
  • Feature ticket #360: Added proto={ipv4,ipv6} as a listener attribute to limit *:<port> listener specifications to a single address family.
  • Fixed ticket #361: Allow / as a regex delimiter for the regex_binding2 module.
  • Fixed ticket #363: Fixed delivery to maildir when rcpt to lists are expanded to meet maildir and non-maildir targets.
  • Feature ticket #365: Integrated inbound batch limit size support.
  • Fixed ticket #368: Included smtp_cbv in the distribution.
  • Fixed ticket #369: custom_logger header expansion in the delivery phase when the header is the last header in the RFC2822 message block clipped the last letter of the header value off. Fixed.
  • Fixed ticket #376: Solaris startups not working
  • Fixed ticket #383: ehlo_string should be a VCTX_CONN and not VCXT_MESS
  • Fix EHLO repsonse for IPV6

Ecelerity version 1.2.13 released on 2005-11-25

  • Fixed ticket #215: Header field length off by one.
  • Fixed ticket #263: Multiple headers with the same name when interleaved with other headers causes segfault.
  • Fixed ticket #350: Fixed intermitted invalid domainkey signatures.

Ecelerity version 2.0.3 released on 2005-10-31

  • Feature ticket #217: Allow gateway determination on domain, binding and now recipient local part as well. Hookable.
  • Fixed ticket #218: ds_mysql module removed from Ecelerity core RPM to Ecelerity-mysql RPM on Linux.
  • Feature ticket #236: Modules may hoook core configuration parsing to extend core Ecelerity.conf configuration syntax.
  • Fixed ticket #244: win32 now allows non-system disk installation.
  • Feature ticket #261: ec_console tab completion for config set/get
  • Fixed ticket #266: Checklist module should operate on email/domain matches case-insensitively.
  • Fixed ticket #275: some configuration hooks were not registered with the hook system prior to the post_conf phase. Fixed.
  • Fixed ticket #276: 64-bit perl interpreter how handles Ecelerity::register_hook correctly.
  • Fixed ticket #277: Extension_Dir not respected. Fixed.
  • Fixed ticket #278: On startup, if reading the spool directory entries alone exceeded 60 seconds, the monitor would terminate and restart the instance. Fixed.
  • Fixed ticket #284: fixed pinterp crash bug related to incorrect perl stack manipulation.
  • Fixed ticket #286: config_get_binding_domain_outbound_{conn,mess}_throttle hooks were not firing. Fixed.
  • Fixed ticket #288: Separated antivirus modules into Ecelerity-antivirus RPM on Linux.
  • Fixed ticket #289: Augmented Ecelerity headers for safe C++ inclusion.
  • Fixed ticket #292: Document how to access the message_construct structure from the accept_construct in esmtp_factory.h
  • Feature ticket #296: Expose the negotiated TLS cipher via the context as tls_cipher.
  • Feature ticket #297: Allow SSL keys to be encrypted. A pre_console_release hook was added and a SSL_CTX_fixup hook was added. A simple tls_passphrase module was introduced that will collect a single passphrase (at startup) to unlock TLS keys found to be encrypted.
  • Feature ticket #299: Allow the configuration include directive to be passed a directory from which all non-hidden files on the top level will be processed in lexicongraphical order.
  • Feature ticket #300: config_get_localpart_domain_binding_gateway_into_buffer removed for a simpler and more functional config_get_message_gateway_into_buffer.
  • Feature ticket #305: Make ecxs friendly to C++ module authors.

Ecelerity version 2.0.1 released on 2005-09-13

  • Feature ticket #199: Antivirus support on Win32
  • Feature ticket #209: module hooks accessible across all threads.
  • Feature ticket #183: Connection establishment throttling.
  • Feature ticket #212: More featureful SMTP tracing.
  • Fixed ticket #213: SPF states and initialization bugs. Fixed.
  • Fixed ticket #216: CPU wait during idle console connections. Fixed.
  • Fixed ticket #220: Make include configuration directive case insensitive.
  • Feature ticket #222: Match_Domain reimplemented. Performance increase.
  • Fixed ticket #225: disabling trash-on-crash broke console debugging. Fixed.
  • Fixed ticket #224: EHLO banner line continuations not working for AUTH.
  • Feature ticket #226: separate unlink into batch and time-bounded queues for more sensible service of unlink requests.
  • Feature ticket #229: Support MX lookups via ec_dns_lookup.
  • Fixed ticket #237: PID files locked by Ecelerity at startup to prevent clobbering.
  • Fixed ticket #238: Abort in custom logger. Fixed.
  • Fixed ticket #211: Allow inplace file rotation on Win32.
  • Feature ticket #241: Online perl interpreter leak inspection.
  • Fixed ticket #243: ec_md5passwd now preserves file ownership and permissions.
  • Feature ticket #251: ec_md5passwd now prompt for password reconfirmation.
  • Fixed ticket #249: monitor process now responds immediately to an instance’s clean exit. Solved ec_ctl restart hanging problems.
  • Fixed ticket #250: a long shutdown (typical to suppress_spool) could be aborted by the monitor process due to a lost heartbeat. Fixed.
  • Fixed ticket #252: ec_dns_lookup crash. Fixed.
  • Fixed ticket #263: domainkeys crash when same named headers were found not contiguous in an email. Fixed.
  • Fixed ticket #207: Fixed spf loop on broken include directive.
  • Feature ticket #17: SNMP access to per-domain and per-binding stats.
  • Fixed ticket #230: IO module APIs executed on more reliably.
  • Fixed ticket #208: Remove off all STREAMs usages.
  • Fixed ticket #205: Fixed crash in message retry.
  • Feature pinerp: More thorough perl embedding. Allow for full hooks integration as well as sieve registration of tests and actions.
  • Feature clustering: Replicated connection and resource utilization metrics across clustered nodes. Cluster-wide rate limiting and throttling. Cluster-wide caching of data. Durable MultiVIP bindings (DuraVIP) allowing for automatic failover of a binding from one node to another. Cluster-wide aggregating logging facilities. On-demand queue migration from node to node.

Ecelerity version 1.2.12.4 released on 2005-09-06

  • Fixed ticket #176: ec_injector bundling and PHP 4/5 support.
  • Fixed ticket #218: modules depending on mysql are now completely in their own packages.
  • Fixed ticket #228: MDNs generated with zeroed message IDs.

Ecelerity version 1.2.12.3 released on 2005-08-15

  • Fixed ticket #186: EHLO hostname not working on the default binding.
  • Fixed ticket #223: Match_Domain not correctly setting the outbound binding.

Ecelerity version 2.0.0 released on 2005-08-05

  • Feature ticket #31: Revamped configuration system to allow for nested configuration directives. Specifically allowing all domain-relevant configuration options to be nested under a Binding so that behaviour towards domains can differ between bindings. Depricated: Relay_Domain option for a global Relay_Domains list.
  • Feature ticket #68: Support for the Authentication-Results header.
  • Feature ticket #133: speed validate context dictionary implementation.
  • Fixed ticket #141: Permastore can’t access DB with drop-privs
  • Feature ticket #142: Native Sun Studio compiler compiles removing dependencies on libgcc_s.so
  • Fixed ticket #153: certain uses of relaying in listener ACLs could cause open relays.
  • Feature ticket #158: Complete sample config and sieve scripts to demonstrate policy arbitration.
  • Feature ticket #165: Implement SenderID and SPF using Authentication-Results header for reporting outcome.
  • Feature ticket #168: Make Generate_Bounces (et. al.) configurable on a per-binding basis.
  • Feature ticket #179: Allow fail domain to happen without tiggerring permanent failures via ‘binding fail domain quiet’ and ‘fail domain quiet’
  • Feature ticket #180: Allow customized hostname in prepended trace headers.
  • Fixed ticket #181: Fixed a variety of binding->global configuration fallback issues.
  • Feature ticket #182: Implement XCLIENT
  • Fixed ticket #186: EHLO_Hostname not respected in global scope
  • Fixed ticket #193: Remove the sudo dependency of edgerunning (add ec_running)
  • Fixed ticket #208: On highly concurrent instances, licnese checks could fail.

Ecelerity version 1.2.12.2 released on 2005-06-09

  • Fixed ticket #148: EHLO_Hostname not respected in bindings
  • Fixed ticket #147: Allow file modes to be set on ec_logger and custom_logger targets

Ecelerity version 1.2.12 released on 2005-05-09

  • Upgraded to sqlite3, you will need to run db_upgrade on your metadata files. web console users will also need to upgrade to the latest version of the web console.
  • You may now use C style /* */ comments in your Ecelerity.conf
  • Added a human readable alternative syntax for setting Debug_Flags. The traditional style is still supported, and the ‘write config’ console command will emit an out-commented old style Debug_Flags configuration, followed by the new style. Consult the manual for more information on this change.
  • Fully_Resolve_Before_SMTP = true|false to force Ecelerity to complete resolve all pertinent DNS records before it commences SMTP delivery [5436].
  • Support for Linux capabilities [5416].
  • Improved pipe_transport module. Other modules (including interpreters) may set message recipient(s) to |/path/to/command to facilitate dynamic mapping of recipients to pipe processes. Added error_file and output_file configuration options to control the destination of stderr and stdout, respectively.
  • Improved handling of low memory conditions.
  • Added ec_trace_context action to sieve, which adds an X-Trace-Context header to the message. This can be useful when debugging your mail policy.
  • Fixed a segfault with the inbound_audit module, when no configuration is provided.
  • Add core_control_shutdown_hook() that modules may use to gracefully handle shutdown.
  • Feature ticket #5: Reimplementation of ec_stats in C for memory efficiency and speed. It now directly produces XML and is transformed into plan text via XSLT.
  • Fixed ticket #13: errors that occur prior to loading a logging module are now logged to stderr.
  • Feature ticket #53: Reimplementation of memory allocators in assembly for improved performance.
  • Feature ticket #59: Improved async responsiveness for SMTP AUTH
  • Feature ticket #64: Rename the mailfrom_cbv module to smtp_cbv, to reflect that it can now validate based on RCPT TO as well as MAIL FROM.
  • Feature ticket #67: Allow configurable time windowing in throttles. You may specify n/y for throttle settings, which will allow n messages in y seconds. y defaults to 1 if not specified.
  • Fixed ticket #89: force bulk failure operations to run async
  • Fixed ticket #90: when sending mail to domains that have invalid MX records.
  • Feature ticket #97: NULL MX support. http://www.rfc-editor.org/internet-drafts/draft-delany-nullmx-00.txt.
  • Feature ticket #98: Support for Solaris 10, including a ports-based scheduler.
  • Fixed ticket #99: url_ripper missing name to A host extractions that matched previous named RHSBL lookups.
  • Feature ticket #100: expose inbound connections in an aribtrary CIDR mask in sieve for decision making.
  • Fixed ticket #102: pauses on SMTP connections after 55x failures.
  • Fixed ticket #103: Linux on Opteron no uses epoll when available.
  • Feature ticket #104: Allow sieve extensions to add simple and complex tests in addition to functions.
  • Fixed ticket #108: segfaults in regex binding module when performing regex matches on body or headers.
  • Fixed ticket #114: fixed segfault bug in SPFv1 state machine.
  • Fixed ticket #115: SQLite corruption.

Ecelerity version 1.2.10.1 released on 2005-02-04

  • Fixed race in async unlinks that could cuase spool bodies to not be deleted. Work around for 1.2.10 is Async_Unlink_Concurrency = 1. Ecelerity will remove headers with no bodies (an uncommitted message reception), however bodies without headers will be ignored and must be deleted manually.

Ecelerity version 1.2.10 released on 2005-02-03

  • Add Connect_Timeout_To_Delay, for sweeping of domains ‘stuck’ in the active queue.
  • A large number of per-binding statistics enhancements. Run ‘domain yahoo.com’ for an example.
  • new binding-aware console commands binding active $BINDINGNAME $THRESHOLD binding delayed $BINDINGNAME $THRESHOLD binding fail domain $BINDINGNAME $DOMAIN binding flush domain $BINDINGNAME $DOMAIN
  • Augment the delivery system to use sendfile(), allows fully asynchronous swapping in of messages not in memory, and incorporates some other related performance enahncements.
  • Additional toggleables for even more aggressive memory management in the event of large queue back pressure. Specifically Drop_Body_After_Trans_Fail = X which allows you to drop out the message bodies (from memory) after X transient failures (setting this to 0 is good for domains that experience a high number of transient failures).
  • Fix for a moderately critical connection allocation algorithm issue that causes very unaggressive connection allocation in some situations.
  • Message_Expiration and Max_Retries as Binding stanza paramters.
  • Provides binding visibility for messages through the showqueue and message details commands.
  • Adds history and tab completion to ec_console
  • Allows greater management of the memory subsystem by the end user via Malloc2MMAP_Threshold = X Which toggles use of anon mmaps over system mallocs past X bytes. This is aimed to reduce heap fragmentation. A suggested value is 4096.
  • Supports a configurable backlog and pool for the message unlinker thread via Async_Unlink_Concurrency = X Async_Unlink_Backlog = Y During some testing under XFS (which appears to perform very poorly), we saw very large amounts of backpressure in the unlink queue. This is not good, so this toggleable will cap that.
  • Outbound_Throttle now support granularity up to 1 message per minute. (Previously was 1 message per second). Still is expressed as a float (messages/second).

Ecelerity version 1.2.8 released on 2005-01-14

  • Win 2k3, 2k and XP performance enhancements and fixes.
  • DomainKeys updates and fixes.
  • Sieve enhancements, memory leak fixes.
  • SPF memory leak fixed.
  • Passive OS fingerprinting
  • LIstener/ACL contexts
  • Perl sieve extensions and hooking support.
  • Environment EC_TRACE_ON_CRASH=off disables segfault handler.
  • bug fixes in resolver.
  • config set resolver allow use of a new resolv.conf file and re-initializes the internal resolver.
  • Fix MX list reference counting for domains that have the same MX listed multiple times.
  • Add Outbound_Throttle on per-domain basis
  • Add received_via IP address to email_message data type
  • Statistical managed time series support.
  • Revamped and bundled inbound and outbound oriented delivery auditing
  • Fixed Max_Outbound_Connections in Binding context stanzas
  • Added Server_Max_Outbound_Connections in a per-Binding context.
  • Allow for match of incoming ip in regex module via [recv_via] tags

Ecelerity version 1.2.6 released on 2004-12-11

  • Fixed a crash bug when logging into the console with md5 digest

Ecelerity version 1.2.5 released on 2004-11-09

  • Phantom release, never made available for non-windows download.

Ecelerity version 1.2.4 released on 2004-11-02

  • PET 44 was missing configuration support. It exists in this release.
  • Stack trace support on FreeBSD.
  • [BI] Insertion of Message-ID if needed. RFC2822 { MessageID_Header = ignore }

Ecelerity version 1.2.3 released on 2004-10.05

  • Fix a sqlite mispackaging on Linux

Ecelerity version 1.2.2 released on 2004-09-25

  • BUG FIX: [PET 41] Further ensures that messages with connection errors are handed into the logging system with 45x errors.
  • BUG FIX: [PET 42] MX-00304 bug, race on expired domains with no queue but some in-progress deliveries (messages are not ‘in queue’ when they are in the SMTP delivery engine).
  • Addition of the MDN_Failures_Notify global option to allow delvery of errors on message with null envelope senders to an alternate email address.
  • BUG FIX: [PET 43] Fixes crash bug related to a given MXs being used by more than 20479 domains.
  • Increased connection reuse aggression across domains sharing MXs.
  • FEATURE REQUEST: [PET 44] Individual MXs can have max_outbound_connections set via: Host mail-in.freeserve.com { Max_Outbound_Connections = 5 }
  • Fixes for Sparcv9 (and sparcv8plus)
  • Fixes for Opteron x86_64
  • Expose configuration APIs though Java.

Ecelerity version 1.2.1 released on 2004-08-24

  • Various sieve stability fixes. Implemented ec_reject sieve command.
  • Added built-in standard context variables that can be requested by modules at init time.
  • SPF stablity improvements.
  • Expose bad SMTP command count to sieve.
  • Checklist stability improvments.
  • SMTP AUTH over MySQL.
  • On-the-fly module enabling and disabling.
  • console message_retry fixes.
  • Improve ec_stats interpretation of sieve results.
  • Expose configuration APIs through perl.

Ecelerity version 1.2.0 released on 2004-08-17

  • Improved Mac OS X and Win32 support.
  • Updated extension APIs — C, Perl, and Java
  • Extensible hooking system.
  • Updated to perl 5.8.5
  • Relay_Domain domains now require complete DNS resolution before delivery is attempted.
  • Outbound TLS support (default off) with variable CAs, client certs and verification policies (per-domain configurable).
  • Sieve implementation — extended for in-line SMTP use.
  • checklist module (whitelist/blacklist) based on senders and/or IPs.
  • Inbound TLS support with vairable CAs, server certs (per listener, or IP ACL).
  • Configurable global and netblock-based inbound concurrency limits.
  • Early talker detection
  • Distributed Checksum Clearinghouse (DCC) support.
  • BUG FIX: [PET 40] Maximum retries can be configured manually instead of automatically by the system.
  • Automatic scheduler fallback and start-time configurable scheduler selection.
  • Anti-virus support: Kaspersky, F-secure, Panda, ClamAV
  • MySQL and LDAP based validation modules.
  • SNMPv2 enterprise and MTA-MIB support.
  • LMTP delivery
  • XML output from the command console.

Ecelerity version 1.1.8 released on 2004-09-20

  • Fixed race condition that can leave messages in the lookuptable
  • BUG FIX: [PET 42] MX-00304 bug, race on expired domains with no queue but some in-progress deliveries (messages are not ‘in queue’ when they are in the SMTP delivery engine).

Ecelerity version 1.1.7 released on 2004-09-01

  • ec_console includes connected instance name in prompt.
  • Bug fixes in embedded perl interpreter.
  • Fix error reporting and termination via Ecelerity::Injector
  • Corrected debugging level for mailfrom allocation/deallocation events in ecstream.
  • BUG FIX: [PET 41] Further ensures that messages with connection errors are handed into the logging system with 45x errors.

Ecelerity version 1.1.6 released on 2004-03-16

  • BUG FIX: [PET 35] hangs on input from some ratware senders.
  • BUG FIX: [PET 36] rejection of messages with headers and body separated with LF CR LF. pedantic still rejects this.

Ecelerity version 1.1.5b released on 2004-03-12

  • ECStream injection fix.

Ecelerity version 1.1.5 released on 2004-03-10

  • BUG FIX: [PET 34] buffer underrun on messages with 0 length bodies needing rfc2822 reconstruction for the addition of a date header.

Ecelerity version 1.1.4 released on 2004-03-02

  • TLS Supprt
  • BUG FIX: [PET 30] flush domain binding fixes.
  • BUG FIX: [PET 31] fixed triggering permanent failures on fstat failures.
  • BUG FIX: [PET 32] log rotation fix for non-standard log locations.
  • BUG FIX: [PET 33] fixed auto crash-recovery ignoring certain spooled messages.
  • Full exposure of validation contexts into Ecelerity-perl.
  • Beta support for Windows 32bit architectures (Windows 2000 and 2003).
  • Parallelized accept()s on any listener for rapid connect()/disconnect() patterns.

Ecelerity version 1.1.3 released on 2004-02-27

  • binding suspension fixes.

Ecelerity version 1.1.2 released on 2004-02-17

  • SPFv1 validation module.
  • module API versioning (effects custom C modules)

Ecelerity version 1.1.1 released on 2004-01-16

  • SPFv1 validation module.

Ecelerity version 1.1.0 released on 2004-01-11

  • All permanent delivery failures except for SMTP rejections happen asynchronously now.
  • Connection reserves to handle domains. This prevents active queue wedging when server_max_outbound_connections is hit.
  • XML output over console.
  • Tracking of inbound concurrency as well as outbounc concurrency.
  • Integrated service monitor to detect unexpected failures and recover gracefully.
  • console access to recent paniclog entries.
  • rfc2822 compliance checking during reception with optional CR LF fixing.
  • Automatically add Date: header if it is missing on received messages.
  • digest-md5 authentication support over the control channel
  • Validation uses contexts now. Simple code, disconnection, time-cost assignment, and session descheduling are supported.
  • Validation contexts have environments that can be seen over both the scope of the message reception and the inbound SMTP session.
  • access control policies apply to esmtp_listener now. This allows relay control based on IP, destination and IP+sender domain.
  • Inbound SMTP session timeouts configurable in the applied access lists.
  • DNS realtime block list module.
  • CRAM-MD5, DIGEST-MD5, and LOGIN AUTH available over Esmtp_Listener. Activated through the IP ACL syntax attached to each listener.

Ecelerity version 1.0.4 released on 2003.11.20

  • Fixed string termination bug in logger which caused binary data to the paniclog.
  • ec_stats: added hourly deliveries histograms.

Ecelerity version 1.0.3 released on 2003.11.14

  • Revamped memory allocation system to have a tighter long-term footprint.
  • Fixed memory leak in binding code.
  • Performance enhancements in debugging code.
  • Custom logging module.

Ecelerity version 1.0.2 released on 2003.11.04

  • Fixed rlimit/pthread bug on Linux (causing rlimit nofiles to be the default shell limit in all but the main thread)
  • Lowered error level to informational on memory shortage rectification.

Ecelerity version 1.0.1 released on 2003.11.03

  • Fixed memory leaks in the message enqueue mechanism. Specifically effecting the backhole = internal mechanism.
  • Fixed memory corruption during RSS reduction phases. (PET #26)
  • Various low-level performance enhancements (code optimization)
  • Fixed rlimit setting when server_max_outbound_connections is very low.

Ecelerity version 1.0 released on 2003.10.31

  • Released