Commit graph

10 commits

Author SHA1 Message Date
a9f37c79cf Add tlsenum package and add version/cipher enumeration into the checker
tlsenum package probes a remote endpoint with one ClientHello
per (version, cipher) pair via utls, so the checker can report the
exact set the server accepts rather than only the suite Go's stdlib
happens to negotiate. Probe accepts an Upgrader callback so STARTTLS
dialects plug in without tlsenum learning about them; the checker
bridges its existing dialect registry through upgraderFor.
2026-04-29 13:35:29 +07:00
fa212f0fae Harden contract validation, STARTTLS edge cases, and rule output 2026-04-26 19:55:44 +07:00
c99c13a7e0 fix: Implement CheckerDefinitionProvider on tlsProvider
Lets the SDK seed OptionEndpoints from the primary's DiscoverEntries
output when checker-tls runs as a sibling.
2026-04-26 00:36:44 +07:00
e32633ca40 Harden STARTTLS handlers and add per-dialect tests
Bound line reads with readLineLimited to prevent a peer from exhausting
memory by withholding line terminators, wrap previously bare error
returns for consistent context, surface XML decoder Skip errors, and
replace the goto in the XMPP feature scan with a labeled break. New
starttls_test.go exercises SMTP/IMAP/POP3/XMPP/LDAP success and
not-advertised paths through net.Pipe-mocked servers.
2026-04-25 23:15:17 +07:00
4177fcdc7b Split monolithic rule into per-test rules, collect gathers facts only 2026-04-25 23:14:42 +07:00
5b71e85f49 Bump SDK to 1.4.0 2026-04-24 17:43:36 +07:00
79782a49c4 Migrate to checker-sdk-go v1.3.0 with standalone build tag
The SDK split the HTTP server scaffolding into the new
checker-sdk-go/checker/server subpackage. Update main.go to import
server and call server.New, and isolate the interactive form code
behind the standalone build tag so plugin/builtin builds skip
net/http entirely.
2026-04-24 14:04:55 +07:00
9c54f5b0fb Expose FetchChain and BuildChain helpers for external callers 2026-04-24 12:18:44 +07:00
17ecf3beb5 Publish certificate chain data for DANE consumers
Add Chain []CertInfo to TLSProbe, carrying per-cert DER and precomputed
TLSA hashes (Cert/SPKI, SHA-256/SHA-512) plus the raw SPKI DER. This
lets downstream checkers (checker-dane) perform TLSA matching against
the observed chain without re-running a TLS handshake.
2026-04-24 12:14:58 +07:00
ccc5b0cd98 Initial commit 2026-04-24 12:13:57 +07:00