<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[hMailServer 6.2.13: a DATA stall on relayed mail]]></title><description><![CDATA[<p dir="auto">The headline fix is an SMTP DATA stall that only affected relayed mail. Relaying from Postfix or Proxmox Mail Gateway, the connection could hang after <code>354 OK, send.</code> until the sending MTA gave up with "timed out while sending end of data", leaving a zero-byte spool file. The cause was a reverse-DNS (PTR) lookup on the network I/O thread while generating the Received header, so an internal relay with no reverse zone stalled the session through DNS retries. That lookup now runs on a worker thread and header generation never waits on it. Direct sending was unaffected.</p>
<p dir="auto"><strong>What the upgrade involved</strong></p>
<p dir="auto">No database change. Schema version stays at 6005. Minimum OS is Windows 10 1607 / Server 2016, 64-bit, which the installer's version check now names.</p>
<ul>
<li><strong>SMTP.</strong> A parse exception no longer wedges a connection, data pipelined in the same segment as DATA is consumed correctly, a rejected BDAT/CHUNKING command drains or terminates its payload instead of desyncing the session (it matters for Exchange), the EHLO SIZE keyword no longer overflows, and TCP_NODELAY is set on every connection.</li>
<li><strong>IMAP.</strong> A malformed partial-fetch range such as <code>BODY[]&lt;0.-1&gt;</code> could drive a near-SIZE_MAX allocation, or read heap memory from before the buffer and send it to an authenticated client. The octet range is now clamped and normalized. OnClientLogon now fires from every AUTHENTICATE mechanism (PLAIN, SCRAM-SHA-256, XOAUTH2/OAUTHBEARER).</li>
<li><strong>SpamAssassin.</strong> A malformed or truncated spamd response could spin a core and hang the session, write the raw SPAMD header into the message, or overwrite it with a zero-byte file. The 256 MB scan ceiling is now clamped to the 80 MB MIME parser limit, and the original message is preserved on any failure.</li>
<li><strong>Upgrade and installer.</strong> DBUpdater labels database versions 6002-6005, a failed database create or upgrade returns a real exit code instead of a false success, and a customised EventHandlers.vbs survives reinstall.</li>
<li><strong>Control Panel.</strong> Diagnostics no longer reports every test as FAILED, and restarting the service is elevation-aware.</li>
</ul>
<p dir="auto">The regression suite passed 1026 of 1026 against the rebuilt 6.2.13 service.</p>
<p dir="auto"><a href="https://www.progressiverobot.com/hmailserver-downloads/" rel="nofollow ugc">Full release notes, checksums and signatures</a></p>
]]></description><link>https://www.hmailserver.co.uk/topic/28204/hmailserver-6.2.13-a-data-stall-on-relayed-mail</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 04:32:15 GMT</lastBuildDate><atom:link href="https://www.hmailserver.co.uk/topic/28204.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Aug 2026 01:22:21 GMT</pubDate><ttl>60</ttl></channel></rss>