Author: freeandnil
Date: Tue Aug 18 20:42:21 2026
New Revision: 86864

Log:
log4net 3.4.0

Added:
   dev/logging/log4net/3.4.0/
   dev/logging/log4net/3.4.0/apache-log4net-binaries-3.4.0.zip   (contents, 
props changed)
   dev/logging/log4net/3.4.0/apache-log4net-binaries-3.4.0.zip.asc   (contents, 
props changed)
   dev/logging/log4net/3.4.0/apache-log4net-binaries-3.4.0.zip.sha512   
(contents, props changed)
   dev/logging/log4net/3.4.0/apache-log4net-source-3.4.0.zip   (contents, props 
changed)
   dev/logging/log4net/3.4.0/apache-log4net-source-3.4.0.zip.asc   (contents, 
props changed)
   dev/logging/log4net/3.4.0/apache-log4net-source-3.4.0.zip.sha512   
(contents, props changed)
   dev/logging/log4net/3.4.0/apache-log4net.3.4.0.nupkg   (contents, props 
changed)
   dev/logging/log4net/3.4.0/apache-log4net.3.4.0.nupkg.asc   (contents, props 
changed)
   dev/logging/log4net/3.4.0/apache-log4net.3.4.0.nupkg.sha512   (contents, 
props changed)
   dev/logging/log4net/3.4.0/apache-log4net.Ext.Mail.3.4.0.nupkg   (contents, 
props changed)
   dev/logging/log4net/3.4.0/apache-log4net.Ext.Mail.3.4.0.nupkg.asc   
(contents, props changed)
   dev/logging/log4net/3.4.0/apache-log4net.Ext.Mail.3.4.0.nupkg.sha512   
(contents, props changed)
   dev/logging/log4net/3.4.0/verify-release.ps1   (contents, props changed)
   dev/logging/log4net/3.4.0/verify-release.ps1.asc   (contents, props changed)
   dev/logging/log4net/3.4.0/verify-release.ps1.sha512   (contents, props 
changed)
   dev/logging/log4net/3.4.0/verify-release.sh   (contents, props changed)
   dev/logging/log4net/3.4.0/verify-release.sh.asc   (contents, props changed)
   dev/logging/log4net/3.4.0/verify-release.sh.sha512   (contents, props 
changed)
Deleted:
   dev/logging/log4net/3.3.2/

Added: dev/logging/log4net/3.4.0/apache-log4net-binaries-3.4.0.zip
==============================================================================
Binary file. No diff available.

Added: dev/logging/log4net/3.4.0/apache-log4net-binaries-3.4.0.zip.asc
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/apache-log4net-binaries-3.4.0.zip.asc     Tue Aug 
18 20:42:21 2026        (r86864)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQR9JElqIw4p1jSame9YPkkVePAtXQUCaoS/qwAKCRBYPkkVePAt
+XT29AP9+hhU5zbvQdEnq3uODjZt/vdwlGqfIw1kG5Z1hosop3gD6AhtHbK7jkBVI
+kb8TcAQL6WthXjlxbvBKEaEQISqKKQc=
+=TFml
+-----END PGP SIGNATURE-----

Added: dev/logging/log4net/3.4.0/apache-log4net-binaries-3.4.0.zip.sha512
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/apache-log4net-binaries-3.4.0.zip.sha512  Tue Aug 
18 20:42:21 2026        (r86864)
@@ -0,0 +1 @@
+20caea6b37e6ee1975f8161f5041a9513ebe3ed603e388033b79499d7db55ea4b15981fe2cb1a561436e5160ca294a504a55d32fafb04b725b739fccdfab8a32
 *./apache-log4net-binaries-3.4.0.zip

Added: dev/logging/log4net/3.4.0/apache-log4net-source-3.4.0.zip
==============================================================================
Binary file. No diff available.

Added: dev/logging/log4net/3.4.0/apache-log4net-source-3.4.0.zip.asc
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/apache-log4net-source-3.4.0.zip.asc       Tue Aug 
18 20:42:21 2026        (r86864)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQR9JElqIw4p1jSame9YPkkVePAtXQUCaoS/qwAKCRBYPkkVePAt
+XUWeAPkBQEpAzO1FUfHpReor9ucBn9697kUwyjLwv4wZPmI9+AD+OD2+iptOTny7
+BMggM7zWVogAlRJqjv5YpzAynTHuZwY=
+=/oPz
+-----END PGP SIGNATURE-----

Added: dev/logging/log4net/3.4.0/apache-log4net-source-3.4.0.zip.sha512
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/apache-log4net-source-3.4.0.zip.sha512    Tue Aug 
18 20:42:21 2026        (r86864)
@@ -0,0 +1 @@
+f8bea5ef4715632052195f52eb382c44879193476bce5be88b0828459e7f661f6baf8781c4f366ea22373e360202e7b7bb4f70c0dce7e2b5987a33f54a1f8977
 *./apache-log4net-source-3.4.0.zip

Added: dev/logging/log4net/3.4.0/apache-log4net.3.4.0.nupkg
==============================================================================
Binary file. No diff available.

Added: dev/logging/log4net/3.4.0/apache-log4net.3.4.0.nupkg.asc
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/apache-log4net.3.4.0.nupkg.asc    Tue Aug 18 
20:42:21 2026        (r86864)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQR9JElqIw4p1jSame9YPkkVePAtXQUCaoS/qQAKCRBYPkkVePAt
+XTYJAP4pHIU7Krf8337fozL8FYWhNQFAJeUso84LrwsfXdOp/QEAhqjT14+d7tgs
+IJ1EiwPDchSrMuMfkvvI0ZSeyNY7gA0=
+=9Cpc
+-----END PGP SIGNATURE-----

Added: dev/logging/log4net/3.4.0/apache-log4net.3.4.0.nupkg.sha512
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/apache-log4net.3.4.0.nupkg.sha512 Tue Aug 18 
20:42:21 2026        (r86864)
@@ -0,0 +1 @@
+22e6d8975977bece2967c8512415a37cf396f28b11d604bf140c1e558a5cda7ed2674cab67ae2e3064188e3b759e76bf1e99b5d081e2c380fa1d287f2456e3f7
 *./apache-log4net.3.4.0.nupkg

Added: dev/logging/log4net/3.4.0/apache-log4net.Ext.Mail.3.4.0.nupkg
==============================================================================
Binary file. No diff available.

Added: dev/logging/log4net/3.4.0/apache-log4net.Ext.Mail.3.4.0.nupkg.asc
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/apache-log4net.Ext.Mail.3.4.0.nupkg.asc   Tue Aug 
18 20:42:21 2026        (r86864)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQR9JElqIw4p1jSame9YPkkVePAtXQUCaoS/qgAKCRBYPkkVePAt
+XW7zAP9Mrrt3vaAF8K3hD+rNKgPtuFyJREGzkE+k6gsqiiW/WwD/abTnzOiU0NmR
+v9J23NbBf30ofKz+2rhvzPR1oWTylwE=
+=sACO
+-----END PGP SIGNATURE-----

Added: dev/logging/log4net/3.4.0/apache-log4net.Ext.Mail.3.4.0.nupkg.sha512
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/apache-log4net.Ext.Mail.3.4.0.nupkg.sha512        
Tue Aug 18 20:42:21 2026        (r86864)
@@ -0,0 +1 @@
+f294fc0cecf8684fde30f570a4c533f49bf35a48583d85efa1be56ffcb9c064cff8ed526f87f8e4d2b26bbbbf28d84408c7d4572f1bdee9d9da0fc2073584941
 *./apache-log4net.Ext.Mail.3.4.0.nupkg

Added: dev/logging/log4net/3.4.0/verify-release.ps1
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/verify-release.ps1        Tue Aug 18 20:42:21 
2026        (r86864)
@@ -0,0 +1,87 @@
+Param (
+  [Parameter()]
+  [System.IO.DirectoryInfo]$Directory
+)
+
+Set-StrictMode -Version Latest
+$ErrorActionPreference = 'Stop'
+# $ErrorActionPreference alone does not apply to native commands: gpg only 
sets $LASTEXITCODE, so
+# without this a failed signature check would still reach the extraction at 
the end and the script
+# would exit 0. Requires PowerShell 7.3+.
+$PSNativeCommandUseErrorActionPreference = $true
+
+if (!$Directory)
+{
+  $Directory = $PSScriptRoot
+}
+
+function Assert-Hash
+{
+  param
+  (
+    [Parameter(Mandatory=$true, HelpMessage='The artifact to check.')]
+    [System.IO.FileInfo]$File
+  )
+
+  $HashFile = "$($File.FullName).sha512"
+  if (!(Test-Path $HashFile))
+  {
+    throw "$($File.Name): no $($File.Name).sha512 to check it against"
+  }
+
+  $Hash = (@(Get-Content $HashFile)[0] -split 
'\s+')[0].Trim().ToUpperInvariant()
+  $ComputedHash = (Get-FileHash -Algorithm 'SHA512' 
$File.FullName).Hash.ToUpperInvariant()
+  if ($Hash -ne $ComputedHash)
+  {
+    throw "$($File.Name): SHA-512 mismatch, read $Hash but computed 
$ComputedHash"
+  }
+
+  "$($File.Name): hash ok"
+}
+
+# Everything that is not a hash, a signature or the key file has to be covered 
by both. Driving the
+# checks from the artifacts, rather than from the .sha512 and .asc files that 
happen to be present,
+# is what turns a missing signature into a failure instead of one loop 
iteration fewer.
+$Artifacts = @(Get-ChildItem $Directory -File |
+  Where-Object { $_.Extension -notin '.asc', '.sha512' -and $_.Name -ne 'KEYS' 
})
+
+if ($Artifacts.Count -eq 0)
+{
+  throw "No artifacts to verify in $Directory"
+}
+
+foreach ($Artifact in $Artifacts)
+{
+  Assert-Hash $Artifact
+}
+
+Invoke-WebRequest https://downloads.apache.org/logging/KEYS -OutFile 
$Directory/KEYS
+
+# A key ring of its own, holding only the downloaded KEYS. Importing into the 
default key ring
+# would accept a signature from any key this machine already has, not only 
from a key in the
+# Logging Services KEYS file.
+$KeyringDirectory = New-Item -ItemType Directory -Path (Join-Path 
([System.IO.Path]::GetTempPath()) ([guid]::NewGuid()))
+try
+{
+  $Keyring = Join-Path $KeyringDirectory 'logging-keys.gpg'
+  gpg --no-default-keyring --keyring $Keyring --batch --quiet --import 
$Directory/KEYS
+
+  foreach ($Artifact in $Artifacts)
+  {
+    $Signature = "$($Artifact.FullName).asc"
+    if (!(Test-Path $Signature))
+    {
+      throw "$($Artifact.Name): no $($Artifact.Name).asc to verify it with"
+    }
+
+    gpg --no-default-keyring --keyring $Keyring --batch --verify $Signature 
$Artifact.FullName
+    "$($Artifact.Name): signature ok"
+  }
+}
+finally
+{
+  Remove-Item $KeyringDirectory -Recurse -Force -ErrorAction SilentlyContinue
+}
+
+Expand-Archive $Directory/*source*.zip -DestinationPath $Directory/src
+pushd "$Directory/src/"

Added: dev/logging/log4net/3.4.0/verify-release.ps1.asc
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/verify-release.ps1.asc    Tue Aug 18 20:42:21 
2026        (r86864)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQR9JElqIw4p1jSame9YPkkVePAtXQUCaoS/qwAKCRBYPkkVePAt
+XXL5AQCg+g8ual+UyYNQgLr3BvDVdLFhPdvJq6+EP8TIyFzfmQEA+bzizcQOJlgv
+VGvLj9NoRPvYafSlbwl7mKCQY9VtZgc=
+=Nz3h
+-----END PGP SIGNATURE-----

Added: dev/logging/log4net/3.4.0/verify-release.ps1.sha512
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/verify-release.ps1.sha512 Tue Aug 18 20:42:21 
2026        (r86864)
@@ -0,0 +1 @@
+27296848d8136b5eb784535ebb7f72e4760ac497c95dee99345885cc7db4cde43d711b0eba81c5e192cb45045ae55708923e3b916c109e70b611cc249c85b6d8
 *./verify-release.ps1

Added: dev/logging/log4net/3.4.0/verify-release.sh
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/verify-release.sh Tue Aug 18 20:42:21 2026        
(r86864)
@@ -0,0 +1,62 @@
+#!/bin/bash
+set -euo pipefail
+
+if ! which unzip >/dev/null 2>&1; then
+  echo "The 'unzip' utility is required, but was not found in your path" >&2
+  exit 1
+fi
+
+TARGET_DIR="${1:-}"
+if test -z "$TARGET_DIR"; then
+  TARGET_DIR="$(pwd)"
+fi
+cd "$TARGET_DIR"
+
+# Everything that is not a hash, a signature or the key file has to be covered 
by both. Driving the
+# checks from the artifacts, rather than from the .sha512 and .asc files that 
happen to be present,
+# is what turns a missing signature into a failure instead of one loop 
iteration fewer.
+shopt -s nullglob
+artifacts=()
+for file in *; do
+  case "$file" in
+    *.asc|*.sha512|KEYS) continue ;;
+  esac
+  test -f "$file" || continue
+  artifacts+=("$file")
+done
+
+if test ${#artifacts[@]} -eq 0; then
+  echo "No artifacts to verify in $TARGET_DIR" >&2
+  exit 1
+fi
+
+for file in "${artifacts[@]}"; do
+  if test ! -f "$file.sha512"; then
+    echo "$file: no $file.sha512 to check it against" >&2
+    exit 1
+  fi
+  sha512sum --check "$file.sha512"
+done
+
+wget https://downloads.apache.org/logging/KEYS
+
+# A key ring of its own, holding only the downloaded KEYS. Importing into the 
default key ring
+# would accept a signature from any key this machine already has, not only 
from a key in the
+# Logging Services KEYS file.
+keyring_dir="$(mktemp -d)"
+trap 'rm -rf "$keyring_dir"' EXIT
+gpg --no-default-keyring --keyring "$keyring_dir/logging-keys.gpg" --batch 
--quiet --import KEYS
+
+for file in "${artifacts[@]}"; do
+  if test ! -f "$file.asc"; then
+    echo "$file: no $file.asc to verify it with" >&2
+    exit 1
+  fi
+  gpg --no-default-keyring --keyring "$keyring_dir/logging-keys.gpg" --batch 
--verify "$file.asc" "$file"
+done
+
+mkdir -p src
+cd src
+unzip -q -o ../*source*.zip
+
+cd src

Added: dev/logging/log4net/3.4.0/verify-release.sh.asc
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/verify-release.sh.asc     Tue Aug 18 20:42:21 
2026        (r86864)
@@ -0,0 +1,7 @@
+-----BEGIN PGP SIGNATURE-----
+
+iHUEABYKAB0WIQR9JElqIw4p1jSame9YPkkVePAtXQUCaoS/qwAKCRBYPkkVePAt
+XUppAP9dK9q+Xg66x2wycLnFZDBZ5Ok8rmvvRfdLBnfUXtAUIwEA6z3WGxkYh96S
+Ew61ol/02KJn2om2LiIgPAi1fBMNyQU=
+=pZ+J
+-----END PGP SIGNATURE-----

Added: dev/logging/log4net/3.4.0/verify-release.sh.sha512
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ dev/logging/log4net/3.4.0/verify-release.sh.sha512  Tue Aug 18 20:42:21 
2026        (r86864)
@@ -0,0 +1 @@
+5451c252cf5a7cffdb72dfbc3ea959adfe94cc233ec1b819f5969e9dde86d50e9f1acc88eb911578f48fc4279d9ed6b09e6792b710883e763f24f0a261ab8324
 *./verify-release.sh

Reply via email to