Skip to content

Publish the newer of the source and stored ACME serials (0.6.4) - #16

Merged
alexy merged 1 commit into
masterfrom
fix/acme-serial-keeps-newer
Sep 12, 2026
Merged

alexy merged 1 commit into
masterfrom
fix/acme-serial-keeps-newer

Conversation

@alexy

@alexy alexy commented Sep 12, 2026

Copy link
Copy Markdown
Member

Bug. Zone::with_acme_overlay replaced an ACME-managed zone's SOA serial with the stored acme-serials value unconditionally. After an operator edit that raised the source serial, the primary kept publishing the older ACME serial, so secondaries never transferred the change. Deployments that wait for the new serial also fail.

Seen in production on a.ns.cron.sh: devreal.ai at 2026091201 in rgbdns.data kept publishing 2026081503 from acme-serials, and the cronsh deploy stopped at "Wait for primary publication".

Fix. Publish the newer of the two serials in RFC 1982 order (newer_serial). ACME updates are unchanged: next_serial already advances past both the stored and the source serial.

Release. Patch release 0.6.4, with versions synced as in the 0.6.3 release: Cargo, Debian, RPM, man pages, docs, changelogs.

Tests. A new unit test covers an operator edit newer than the stored serial, ACME updates newer than the source, equal serials, and wrap-around. Local runs of cargo fmt --check, cargo clippy --all-targets -- -D warnings, cargo test --all-targets (93 passed), packaging/tests/test-secondary-sync.sh and git diff --check all pass. make -C ietf check does not apply: no protocol or draft change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Cs9W8zZ4hWHGUfoQEydTab

with_acme_overlay replaced an ACME-managed zone's SOA serial with the
stored acme-serials value unconditionally. After an operator edit with a
higher serial, the primary kept publishing the older ACME serial, so
secondaries never transferred the change and deployments that wait for
the new serial failed. Keep the newer of the two in RFC 1982 order; the
next ACME update already advances past both through next_serial.

Found in production: devreal.ai at 2026091201 in the source data kept
publishing 2026081503 from acme-serials.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cs9W8zZ4hWHGUfoQEydTab
@alexy
alexy merged commit cd027bd into master Sep 12, 2026
4 checks passed
@alexy
alexy deleted the fix/acme-serial-keeps-newer branch September 12, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant