Skip to content

Changelog gives the 0.5.0 handshake error sizes as 0.5.0 builds them (#42) - #43

Merged
thebenignhacker merged 1 commit into
mainfrom
integrate/2026-10-18-r8
Oct 18, 2026
Merged

thebenignhacker merged 1 commit into
mainfrom
integrate/2026-10-18-r8

Conversation

@thebenignhacker

Copy link
Copy Markdown
Member

This pull request lands 1 commit in CHANGELOG.md and internal/scanner.

Included

Verified on this exact tree

  • go version: go1.26.3 darwin/arm64
  • git ls-files --others -- '*_test.go': no output; git ls-files -- '*_test.go' | wc -l: 103
  • go mod verify: all modules verified
  • go build ./...: exit 0
  • go vet ./...: exit 0
  • gofmt -s -l .: no output (0 lines)
  • golangci-lint run -j 4 --timeout=5m ./... (golangci-lint 2.12.2, empty GOLANGCI_LINT_CACHE directory): exit 0, 0 issues
  • go test -race -p 4 -count=1 -v -skip '^TestAZoneScopedLinkLocalTargetIsScanned$' ./...: exit 0, 6 of 6 packages ok
  • In that output: 427 --- PASS lines, 0 --- FAIL lines, 1 --- SKIP line (TestFIPSChildScanNamesTheHybridGroupsItCannotOffer), counted at top level; 961 PASS, 0 FAIL and 1 SKIP including subtests
  • In that output: --- PASS: TestTheChangelogGivesTheHandshakeFailureSizesThisTreeBuilds
  • Not run: TestAZoneScopedLinkLocalTargetIsScanned (excluded by the -skip above; it listens on a link-local IPv6 address)

Not included

None

Closes

Fixes #42

How to merge

Rebase and merge, so that each change stays its own commit on main.

…42)

Three 0.5.0 entries gave sizes for the error of a scan that completed no
TLS handshake that were measured before that error gained its sentence
about cipher suites (#34), which made each of those errors 28 bytes
longer. Against a local server on 127.0.0.1 and ::1 that answers every
ClientHello with a handshake_failure alert, `tlsanalyzer 127.0.0.1:47125`
printed a 426-byte error, `tlsanalyzer '[::1]:47125'` a 418-byte one, and
the first under GODEBUG=fips140=on,tlsmlkem=0 a 495-byte one, where the
entries said 398, 390 and 467. Both commands fit for a host name and port
of up to 39 characters, where the entry said 49: a 39-character host name
and port got both in 498 bytes and a 40-character one got one. For an
IPv6 address and port the limit is 38, where the entry said 47: a
38-character one got both in 499 bytes and a 39-character one got one.

The entries now give those figures, name the alert they were measured
after, and say that an error whose commands all fit names the groups only
in its commands, in place of "byte for byte the same as before". The
third entry's statement that scanner-target-example.localhost under that
GODEBUG setting, and a 51-character host name without it, get the command
for the first group still holds: each error gave that one command.

TestTheChangelogGivesTheHandshakeFailureSizesThisTreeBuilds builds the
error with handshakeFailureMessage and checks the figures the 0.5.0
section gives: the three sizes, and the longest host name and port (7 to
259 bytes) and IPv6 address and port (23 to 63 bytes) for which both
commands fit. It reports 4 errors on the changelog this commit replaces,
4 errors on the code from before the cipher suite sentence (876b7d0)
with the new changelog, and passes here. It is skipped once a section
other than 0.5.0 opens the changelog.

Fixes #42
@thebenignhacker
thebenignhacker merged commit 1857259 into main Oct 18, 2026
2 checks passed
@thebenignhacker
thebenignhacker deleted the integrate/2026-10-18-r8 branch October 18, 2026 23:22
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.

CHANGELOG 0.5.0 gives handshake error sizes measured before the cipher suite sentence was added

1 participant