<?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.15: IMAP sequence sets, and a restore that could empty the data directory]]></title><description><![CDATA[<p dir="auto">The IMAP sequence-set parsers only recognised <code>*</code> as the end of a range. Anywhere else it was parsed as zero, so <code>UID STORE *:* +FLAGS (\Deleted)</code> flagged every message in the mailbox, <code>UID EXPUNGE *</code> deleted every <code>\Deleted</code> message, and <code>FETCH *</code> returned nothing while answering OK. Any client using <code>*</code> outside a range was affected.</p>
<p dir="auto"><strong>What the upgrade involved</strong></p>
<p dir="auto">No database change. The schema stays at version 6005. Issue #18 is not fixed and remains open, see #20.</p>
<p dir="auto">All four sequence-set parsers now resolve <code>*</code> on either side of a colon and normalise descending ranges, so <code>3:1</code> is the same set as <code>1:3</code>, per RFC 3501. Twelve regression tests cover it, all twelve failing against 6.2.14.</p>
<p dir="auto">Also fixed:</p>
<ul>
<li>Restoring messages emptied the live data directory before checking the backup's message store existed. A settings-only backup restored with the messages option ticked, or a failed extraction, left an empty data directory and the only copy of the mail in a GUID-named temporary folder. It now checks first.</li>
<li>A message whose file could not be read hung the outbound connection after the remote answered 354, idle until the client timeout of up to ten minutes, then re-queued and repeated. It now fails immediately. Only a genuinely missing file fails the delivery permanently.</li>
<li>BDAT exact-length reads padded short chunks with NUL bytes. A sender announcing <code>BDAT 100000 LAST</code> that vanished after 40,000 octets had the truncated message delivered as complete.</li>
<li>DKIM signing hashed the header name in lower case while writing it capitalised (upstream PR #530), so signatures using simple canonicalization failed strict verifiers.</li>
<li>Several paths left files with no database row: rejected POP3 RETR, header rewrites leaving <code>.eml.tmp</code>, downloads with no local recipient, unsendable bounces. The account cache had no size cap.</li>
<li>ManageSieve now disconnects after three failed authentication attempts and registers them with auto-ban. <code>STATUS (RECENT)</code> reported the selected folder's count for every folder.</li>
<li>Settings configurable only in hMailServer.ini gained Control Panel pages: authentication, administrative access, DNS resolver, web services and autoconfiguration, and the consistency scan results.</li>
</ul>
<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/28207/hmailserver-6.2.15-imap-sequence-sets-and-a-restore-that-could-empty-the-data-directory</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 04:31:43 GMT</lastBuildDate><atom:link href="https://www.hmailserver.co.uk/topic/28207.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Aug 2026 23:06:28 GMT</pubDate><ttl>60</ttl></channel></rss>