Initial commit

CalDAV and CardDAV checkers sharing a single Go module. Discovery follows
RFC 6764 (/.well-known + SRV/TXT), authenticated probes cover principal,
home-set, collections and a minimal REPORT query on top of go-webdav.
Common shape in internal/dav/; CalDAV adds a scheduling rule.

Surfaces its context URL (and each secure-SRV target) as TLS endpoints via
the EndpointDiscoverer interface, so the dedicated TLS checker can pick
them up without re-parsing observations.

HTML report foregrounds common misconfigs (well-known returning 200,
missing SRV, plaintext-only SRV, missing DAV capability, skipped auth
phase) as action-item callouts before the full phase breakdown.
This commit is contained in:
nemunaire 2026-04-19 13:44:10 +07:00
commit aae1452e12
37 changed files with 2730 additions and 0 deletions

17
go.mod Normal file
View file

@ -0,0 +1,17 @@
module git.happydns.org/checker-dav
go 1.25.0
require git.happydns.org/checker-sdk-go v1.0.0
// Pinned to the local checkout until the EndpointDiscoverer interface
// (commit 131e3cd, 2026-04-19) ships in a tagged release.
replace git.happydns.org/checker-sdk-go => ../checker-sdk-go
require github.com/emersion/go-vcard v0.0.0-20230815062825-8fda7d206ec9 // indirect
require (
github.com/emersion/go-ical v0.0.0-20240127095438-fc1c9d8fb2b6 // indirect
github.com/emersion/go-webdav v0.7.0
github.com/teambition/rrule-go v1.8.2 // indirect
)