Artifact 8b5a96a133946639929fd41ca539a42f026d5370d63980e08a9a0ce6420a8f4b:
- Executable file
scripts/gen-sdk-docs.sh
— part of check-in
[a87790f468]
at
2026-10-26 12:45:46
on branch main
— feat(sshverify): make in-process SSH signature verification opt-in
internal/clearsign keeps the SSH envelope, SSHSIG parsing, namespace, hash and SHA-1 checks, none of which need cryptography, and hands the key parse and signature check to an SSHVerifier that the new public package sshverify registers from init. The library therefore no longer links golang.org/x/crypto/ssh and the ECDSA, P-256, Ed25519 and RSA code it pulls in; html-artifact-publisher's TinyGo engine drops from 1,347,569 to 1,093,647 bytes gzipped (3,777,936 to 3,208,411 raw).
Without the verifier nothing is accepted unchecked: a well-formed SSH signature is ErrSSHVerifierUnavailable, which wraps ErrCannotVerify, so a seed under an SSH horizon-seed-key is refused, the held one is kept, and the sync or rebuild fails naming the package to import. Malformed signatures are still bad. The cli package (and so cmd/libfossil) and examples/tinygo import sshverify; a go list guard keeps x/crypto/ssh out of the root and db closures. (user: [email protected], size: 1067) [annotate] [blame] [check-ins using] [more...]
#!/usr/bin/env bash # Regenerates the SDK reference: one gomarkdoc page per public package, then # the Hugo frontmatter that titles each page by its package. Run from the repo # root. OUT_DIR redirects the output; scripts/check-docs-generated.sh uses it # to regenerate into a scratch dir and compare. # # gomarkdoc runs at the version pinned here through `go run`, so CI needs no # separate install and every machine renders the same bytes. set -euo pipefail OUT_DIR="${OUT_DIR:-docs/site/content/docs/reference/sdk}" GOMARKDOC="github.com/princjef/gomarkdoc/cmd/[email protected]" # Package directory, then its page under OUT_DIR. packages=( "./ libfossil/api.md" "./cli/ cli/api.md" "./db/ db/api.md" "./observer/otel/ observer/otel/api.md" "./dst/ dst/api.md" "./sshverify/ sshverify/api.md" ) for entry in "${packages[@]}"; do read -r pkg page <<<"$entry" mkdir -p "$(dirname "$OUT_DIR/$page")" GOWORK=off go run "$GOMARKDOC" --output "$OUT_DIR/$page" "$pkg" done SDK_ROOT="$OUT_DIR" bash scripts/prepend-sdk-frontmatter.sh