M3: bridge deployed + verified publicly reachable; webhook delivery blocked at Gitea (ALLOWED_HOST_LIST)
continuous-integration/drone/push Build is passing

Bridge healthz 200 over public DNS; HMAC verified. Gitea sends no deliveries
(suspect webhook host allowlist). Recorded in STATUS Blocked + operator options.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-26 23:46:43 +01:00
co-authored by Claude Opus 4.7
parent e07f8a4194
commit 2d6a312d44
6 changed files with 157 additions and 2 deletions
+3 -1
View File
@@ -116,7 +116,9 @@ class Handler(BaseHTTPRequestHandler):
sig = self.headers.get("X-Gitea-Signature", "")
expected = hmac.new(HMAC_SECRET, body, hashlib.sha256).hexdigest()
if not hmac.compare_digest(sig, expected):
log("rejected: bad signature")
log(f"rejected: bad signature event={self.headers.get('X-Gitea-Event')} "
f"got={sig[:12]} want={expected[:12]} bodylen={len(body)} seclen={len(HMAC_SECRET)} "
f"hub256={(self.headers.get('X-Hub-Signature-256') or '')[:20]}")
return self._send(401, "bad signature")
if self.headers.get("X-Gitea-Event") != "issue_comment":