<?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.11: two Control Panel lists read their class name to screen readers]]></title><description><![CDATA[<p dir="auto">Two lists in the Control Panel announced their CLR type name to screen readers instead of their contents. The alias list on the Domains page read <code>hMailServer.ControlPanel.Views.DomainsView+AliasRow</code> for every row, and Live logs read <code>LogsView+LogLine</code> for every line. The live log is the worse of the two. It is the page an administrator is most likely to be reading with a screen reader when something has gone wrong.</p>
<p dir="auto">Both lists use an ItemTemplate, so the text a sighted user sees comes from a binding, while a <code>ListViewItem</code>'s accessible name falls back to <code>ToString()</code>. Neither class overrode it. Scope is genuinely those two. Every other list in the application is a DataGrid, which builds a row's name from its cells. The Domains page now reports <code>info@example.com  →  sales@example.com</code>, and the live log reports 37 items, none announcing a type name. (16184ce)</p>
<p dir="auto"><strong>The regression suite now runs in full</strong></p>
<p dir="auto">27 of the suite's 1026 tests had never executed on the release machine. They reported inconclusive because SpamAssassin and ClamAV were not installed. Installing both ran them for the first time and two failed, both defects in the tests rather than the server.</p>
<ul>
<li><code>TestWithVirus</code> put the EICAR string in the plain body of a non-MIME message. Current ClamAV does not extract a plain body as a scannable part, so the message scanned clean and was delivered, failing its own "no messages" assertion. It now sends EICAR as a base64 attachment and matches the signature family rather than one exact name.</li>
<li><code>TestSANotRunning</code> called <code>ServiceController.Stop()</code> and returned immediately. Stop() only asks, so spamd was still answering on port 783 and the message came back with the X-Spam-Status header. It now waits for the port to refuse connections. It also asserted error 5157, reported only when a connection is established then lost mid-read. With spamd stopped, only 5508 is reported.</li>
</ul>
<p dir="auto">1026 of 1026 now pass, zero inconclusive, with live SpamAssassin and ClamAV, DMARC against live DNS and TLS 1.2/1.3 handshakes.</p>
<p dir="auto">Drop-in over 6.2.10. No database change (schema version 6005), no configuration change, no server-core change.</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/28208/hmailserver-6.2.11-two-control-panel-lists-read-their-class-name-to-screen-readers</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 04:31:44 GMT</lastBuildDate><atom:link href="https://www.hmailserver.co.uk/topic/28208.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 Aug 2026 19:42:39 GMT</pubDate><ttl>60</ttl></channel></rss>