Skip to content
go-libfossil Check-in [d79a35c16a]
Login

Check-in [d79a35c16a]

Overview
Comment:test: guard simio against linking SSH crypto too

simio is the third package an embedder links; the opt-in guard now checks it alongside the library and db.

Timelines: family | ancestors | descendants | both | main | trunk
Files: files | file ages | folders
SHA3-256: d79a35c16a2e10a24a67e48f33c1c10194d5177c2f5d144187763815350117d7
User & Date: [email protected] on 2026-10-26 12:59:59.000
Other Links: branch diff | manifest | tags
Context
2026-10-26
13:00
Merge remote-tracking branch 'origin/main' into feat/opt-in-ssh-verify

# Conflicts: # CHANGELOG.md check-in: 52d7948375 user: [email protected] tags: main, trunk

12:59
test: guard simio against linking SSH crypto too

simio is the third package an embedder links; the opt-in guard now checks it alongside the library and db. check-in: d79a35c16a user: [email protected] tags: main, trunk

12:45
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. check-in: a87790f468 user: [email protected] tags: main, trunk

Changes