<?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.25: ACME issuance and renewal terminated the server process]]></title><description><![CDATA[<p dir="auto">ACME issuance and renewal ended the hMailServer process (#93). Anyone running automatic certificates on 6.2.24 lost the service on every issuance and every renewal.</p>
<p dir="auto">Two calls in the ACME client handed the OpenSSL DLL a <code>FILE*</code> opened by the server's own C runtime: the DANE TLSA line logged straight after issuance, and the re-read of the existing private key at the start of every renewal (the default, <code>AcmeReuseKey</code>). With no <code>OPENSSL_Applink</code> export in the executable, OpenSSL does not return an error. It writes <code>OPENSSL_Uplink(...): no OPENSSL_Applink</code> to the Windows Application log under the source "OpenSSL" and calls <code>TerminateProcess</code>. The symptoms: an OpenSSL event whose message looks blank, a 7031 from the service control manager in the same second, no crash dump, and no "ACME (automatic)" certificate record. Both calls now go through OpenSSL's own file I/O, and the deployment runs before the TLSA line.</p>
<p dir="auto">If 6.2.24 issued you a certificate before it died, the files under <code>Data\ACME</code> are valid. 6.2.25 deploys them at its first ACME check after start-up and logs "issued but never deployed".</p>
<p dir="auto"><strong>What the upgrade involved</strong></p>
<p dir="auto">The schema moves from 6025 to 6030 in five steps, one way. DBUpdater runs them in order and resumes from a partial upgrade; there is no downgrade. The 6029 to 6030 step adds seventeen FOREIGN KEY constraints with ON DELETE CASCADE and removes the orphan rows they would refuse. On a large database it reads every child table once, so plan for it like an index build.</p>
<p dir="auto">If you are on 6.2.21 or a 6.2.22/6.2.23 pre-release, read the 6.2.24 notes first. Everything there still applies.</p>
<p dir="auto"><strong>Behaviour that changes without a switch</strong></p>
<ul>
<li>The Apple <code>.mobileconfig</code> profile is served over HTTPS only. Plain HTTP gets a 301 to the <code>WebServicesHttpsPort</code> listener, or a 403 when none is configured. A TLS-terminating proxy must send <code>X-Forwarded-Proto: https</code>.</li>
<li>A Message-ID is added only to submissions (upstream #552). Relayed mail keeps its headers, so a filter counting on the header will now see messages without one.</li>
<li>IMAP sequence numbers are stable within a session (upstream #602). Another session's expunge no longer renumbers a client's messages under it.</li>
</ul>
<p dir="auto">Also fixed: two restarts at once, one over COM and one from an ACME deployment or backup restore, rebuilt the same queues under each other and could end in an access violation. Restarts now run in sequence.</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/28173/hmailserver-6.2.25-acme-issuance-and-renewal-terminated-the-server-process</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 04:32:02 GMT</lastBuildDate><atom:link href="https://www.hmailserver.co.uk/topic/28173.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 06 Sep 2026 09:59:30 GMT</pubDate><ttl>60</ttl></channel></rss>