Skip to content

History / Event Scripts

Revisions

  • The eleven copies whose documents batch50 changes - the Assurance Case, Governance, the Release Process, the Security Policy, Regulatory Scope, Command Line, Event Scripts, Relocating an Installation, the Regression Test Environment, The Service Account and Migrating the Database Backend - are copied again from the documents as master has them from batch50, 0c0b6bae7, and each header says so and what the document changes, where they were the documents at batch49, f14412d39, or at v6.3.7, which batch49 left as they were. Migrating the Database Backend: step 3 runs DBSetup.exe - the wizard's Create a new hMailServer database, or DBSetup.exe /unattended with the HM_DB_* variables and HM_ADMIN_PASSWORD - which creates the database and its schema, writes the [Database] section through the service, the password encrypted (PasswordEncryption=6), and restarts the server on the new database, the login allowed to create a database and the database not existing yet, with Not DBSetupQuick.exe and the refusal of DBSetup under NT SERVICE\hMailServer, where it said to create an empty database, point hMailServer.ini at it by hand and run DBSetupQuick.exe, which made no usable database there; the short version, the MySQL and MariaDB section's account of who creates the database on Windows and on Linux, and step 4's first open of the new database follow it; the PostgreSQL row says that SQL Server's, PostgreSQL's and SQL Server Compact's DDL is transactional and that only MySQL and MariaDB commit each step's DDL as it runs, where it called PostgreSQL the only one of the four; and the note after the restore says that the schema is created in no transaction on every backend, where it said so of MySQL and SQL Server Compact alone. This wiki's comparison table under Choosing a target now has SQL Server and SQL Server Compact transactional and a failed upgrade leaving nothing applied on them, where it had SQL Server mostly transactional and SQL Server Compact committing as it goes, and its flowchart of the procedure has one step for DBSetup between the backup and the restore, where it stopped the service, created an empty database, edited the ini file, ran DBSetupQuick and started the service again; the table's link to DatabaseTls.md goes to this wiki's copy, Database TLS. The Service Account: in Reinstalling into a new folder, step 2 changes the settings file's other paths into the old installation - PostgreSQLSslRootCert and TlsCaFile, UpdateTrustRootsFile and UpdateLogPublicKeyFile, a path in [SettingsOverride] - to copies where nobody but the administrators may change them and deletes the lines the site did not set, and step 4 keeps the old folder private to SYSTEM and the Administrators until it is deleted; the live update's internal tests name 6.3.1 and 6.3.3 to 6.3.5, where they said 6.3.1 to 6.3.5; and its link to RelocatingAnInstallation.md under the message files outside the data folder goes to this wiki's copy, as its two others do. Relocating an Installation: step 1's inventory and step 4 name TlsCaFile beside PostgreSQLSslRootCert, and Seeing where the paths are says that Installation paths lists every path-shaped setting but that one. The Regression Test Environment: the list of what a new Windows bench needs names the release installers build/fetch-installer-fixtures.ps1 fetches for AdminUpdateTester and AdminUpdateStageTester. Command Line: the two queue examples filter on tries, the field a queue item has, where they named retry_count. Event Scripts: the rule action is "Run script function", as the Control Panel lists it, where it said "Run function". Regulatory Scope: the releases up to 6.3.3 whose files GitLab has are re-published there, 6.2.0 and 6.0.0-B4 being notes-only; SBOMs from 6.2.3, the five earlier releases that carry an installer having a CycloneDX SBOM of it alone; the assets from 6.2.19 to 6.3.3 signed but for 6.2.22-pre3's two SBOMs; and the releases before 6.3.1 unsigned because their original files are published byte for byte, where it gave a published release's immutability as the reason. The Assurance Case, Governance and the Release Process: GitHub's signer signed the releases from 6.2.19 to 6.3.3, where they said the releases up to 6.3.3. The Security Policy: Verifying a release names 6.2.22-pre3's two SBOMs and 6.3.4 beside the withdrawn and superseded pre-releases as the assets from 6.2.19 on without a Sigstore bundle. A link of the copied text to a document the wiki copies is a wiki link, and every other link to a repository file points at it as 0c0b6bae7 has it, where they pointed at f14412d39 or at v6.3.7; the text is otherwise the document's, but for the adaptations and additions the headers declare. The wiki's own tables on these pages say what the documents now say: the Assurance Case's traceability row for anyone downloading has the Sigstore signatures from 6.2.19 to 6.3.3 and the SBOMs from 6.2.3, and the Security Policy's row on the supply chain among the standing controls has 6.2.22-pre3's two SBOMs carrying no bundle and the SBOMs from 6.2.3, the five earlier releases that carry an installer having a CycloneDX SBOM of it alone, made afterwards. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 20, 2026
  • The twenty-two pages that copy a repository document are copied again from the documents as the tag v6.3.7 (31d656c0c), the release of 17 October 2026, has them, each keeping what this wiki adds of its own, and each header says so and what 6.3.7 changes in it, where the nine brought up on 17 October 2026 named the batch 6.3.7 was to be made from, at the same commit, and said that the rest of the copy was v6.3.6's. Re-copied from the tag: Security Policy (SECURITY.md: its latest release 6.3.7, published on 17 October 2026; "6.3.7 was the exception" under What gets a release, and step 3's pointer to it; Every change and Declaring a finding not exploitable; the release's scans as the second evaluation; the libraries dependency-scan says UNKNOWN for), Release Process (RELEASE.md: the release's notes and their Download table, step 9's gate asked before the tag with master's copy of the exceptions, 6.3.7's paragraph under A security release during the pause), Contributing (CONTRIBUTING.md: the runners each pipeline runs on, the change checks, the eighteen fetched inputs, the new checkers and generated files, the secret scans, sign-off since batch41, step 6 of Merge requests), Governance, Assurance Case, Regression Test Environment (Connector/C 3.4.11's folder; the 7-Zip path the document now writes right), The Service Account (/ProtectFolders hardening the program folder, Bin and ControlPanel, and the steps before upgrading an installation at a drive's root), The Update Feed (the Control Panel's Updates page, the summary past the Download table, the pages job on the project's own runners, where this copy said GitLab's shared runners), Upgrading Guide (the route between backends, the .NET 10 runtime setup leaves as it is), Third-Party Binaries (MariaDB Connector/C 3.4.11 built from MariaDB's source and fetched from build-inputs-2), Database TLS, Diagnosing Stalled Mail (the spam tests' failed lookups and the DNSSEC deferral's reasons), Event Scripts, Fuzzing (UTS 46 against ada), High Availability Runbook (the PROXY protocol behind a load balancer), Secrets at Rest, Secure Defaults, The SNMP Agent, Migrating the Database Backend, Regulatory Scope and Architecture (a transaction is its thread's). Command Line is unchanged at the tag; its header says so and its links point at it. A link to a document the wiki copies is a wiki link; every other link to a repository file that pointed at v6.3.6 points at it as v6.3.7 has it. The headers no longer list as this copy's departures what the tag's documents now say themselves: the day 6.3.6 was published (Security Policy, Contributing), the count of the findings accepted at 6.3.4 (Security Policy), the report of a command run as root on Linux (The Service Account), the route between backends (Upgrading Guide) and the 7-Zip path (Regression Test Environment). Release Process's notes marked Now at steps 9 and 11 say that every release since 6.3.5 has been made by its tag's pipeline, where step 9's said that no pipeline had run on a release tag, and that the installer's inputs are fetched from the build-inputs-1 and build-inputs-2 releases. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 18, 2026
  • The twenty-two pages that copy a repository document are copied again from the documents as the tag v6.3.6, the release, has them, each keeping what this wiki adds of its own. Re-copied from the tag v6.3.6 (e3c448aa6), each header saying so and what 6.3.6 changes in it: The Update Feed (UpdateFeed.md), The Service Account (ServiceAccount.md), Security Policy (SECURITY.md), Release Process (RELEASE.md), Upgrading Guide (Upgrading.md), Secure Defaults (SecureDefaults.md), Third-Party Binaries (ThirdPartyBinaries.md), Contributing (CONTRIBUTING.md), Secrets at Rest (SecretsAtRest.md), Assurance Case (ASSURANCE-CASE.md), Event Scripts (EventScripts.md), Command Line (CommandLine.md), Governance (GOVERNANCE.md), Regression Test Environment (RegressionEnvironment.md), The SNMP Agent (Snmp.md), High Availability Runbook (HighAvailabilityRunbook.md), Regulatory Scope (RegulatoryScope.md) and Fuzzing (Fuzzing.md). Architecture (ARCHITECTURE.md), Database TLS (DatabaseTls.md), Diagnosing Stalled Mail (DiagnosingStalledMail.md) and Migrating the Database Backend (MigratingDatabaseBackend.md) are unchanged at the tag; their headers say so and their links point at it. The wiki's own additions - the diagrams, the tables and the notes each header names as the wiki's - are kept. A link to a document the wiki copies is a wiki link; every other link to a repository file points at it as v6.3.6 has it. Where SECURITY.md and CONTRIBUTING.md say 6.3.6 was published on 1 October 2026, the copies give 6 October 2026, the day of its publication, and their headers say so. Where Upgrading.md says there is no first-class route from one database backend to another, the copy keeps its pointer at Migrating the Database Backend, the repository's own document on it. Secrets at Rest, "Who can open it": a wiki note under the paragraph that still describes the permissions hMailServer.ini inherits under Program Files, which 6.3.6's /ProtectFolders closes. Contributing, the wiki's own Service Desk section: the address at the group's path, as SECURITY.md gives it. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 5, 2026
  • Every link to the project points at its address in the group, gitlab.com/hmailserver/hmailserver, where it has been since 29 September 2026; the identities 6.3.5 was signed with, and the setting row that lists both paths, keep the path the project began at. The project's path in all 63 pages that linked it (548 links), 6.3.6 being the first release made at the group's path. Left as they were: the seven signing identities https://gitlab.com/Progressiverobot/hmailserver//.gitlab-ci.yml@refs/tags/v... (Release Process, Security Policy, The Update Feed, and the UpdateSigningIdentity row of Settings Reference), which name what 6.3.5 was signed as; and the UpdateSourceRepository row of Settings Reference, which lists both paths on purpose. The container registry's name is corrected with the container page. Signed-off-by: Christopher Holloway <chris.holloway@progressiverobot.com>

    Christopher Holloway committed Oct 5, 2026
  • Seven features 6.3.4 added have a page of their own, each a copy of its repository document as the tag v6.3.4 (51e2dbda0) has it, headed by the Source of truth note the other copies carry (GitLab issue #25): The SNMP Agent (Snmp.md), Event Scripts (EventScripts.md: the JavaScript engine of the Linux builds, and the contract for all three languages), Secure Defaults (SecureDefaults.md), The Service Account (ServiceAccount.md), Secrets at Rest (SecretsAtRest.md), Database TLS (DatabaseTls.md) and The Update Feed (UpdateFeed.md). A link to a document the wiki copies became a wiki link - Command Line, Third-Party Binaries, Warm Standby, High Availability Runbook, Upgrading Guide and The Service Account, the last two to their sections - and every other became a link to the document at v6.3.4. Each note says where the tag has moved on from its document. The installer smoke test SecureDefaults.md expects on a branch is in the tree at the tag, and does not yet make the checks it lists. ServiceAccountName and ServiceAccountPassword, which ServiceAccount.md calls no longer read, are still loaded by the settings loader (IniFileSettings.cpp:457-458) and used by nothing. The site that UpdateFeed.md's opening note calls not yet deployed has served the feed over HTTPS since 26 September 2026, and at 05:31 UTC on 27 September answered /releases/latest and /releases.json with 6.3.4 and /download/hMailServer-x64.exe with a 302 to 6.3.4's installer. The sidebar and the landing page list each page in its group: Database TLS, Secure Defaults, The Service Account and Secrets at Rest under Secure it; The SNMP Agent and The Update Feed under Operate it; Event Scripts under Extend it. The landing page counts 72 pages (the 74 files less the sidebar and the footer), the other 71, and twenty-two with a Source of truth note; the guides stay 38, since a copy is a repository document. The Runbooks Digest names the seven among the copies. Monitoring and Health, The COM API and Scripting, Security Hardening, Encryption and Certificates, Migrating the Database Backend and Upgrading hMailServer keep what they say of each feature, and gain a line pointing to its page. Every page was rendered with GitLab's Markdown API in the project's context on 27 September 2026: every wiki link, relative link, anchor and link into the repository, at master and at v6.3.4, resolves, and nothing on the new pages is HTML that could be stripped. The one finding, a link to Sigstore's cosign on GitHub from Installing hMailServer, is that project's own page and predates this change.

    Christopher Holloway committed Sep 27, 2026