From a031c6e266c61df914b9c1f1284be432dc057e13 Mon Sep 17 00:00:00 2001 From: Stephen Waits Date: Mon, 31 Aug 2026 18:32:21 -0600 Subject: [PATCH] chore: repoint remaining links at git.swaits.com Rewrites lingering github.com / *.sr.ht references to this Gitea instance, translating GitHub and Sourcehut URL shapes to Gitea's (/blob// and sr.ht /tree//item/ -> /src/branch//, /tree/ -> /src/tag/, /actions/workflows/X -> /actions?workflow=X, /edit/ -> /_edit/). Left pointing at the old hosts on purpose: pull-request links (PRs were not migrated), forks that were never migrated, and GitHub-only surfaces Gitea lacks. OpenPGP identity proofs are untouched by design. --- book.toml | 4 ++-- src/00-overview.md | 8 ++++---- src/01-wire-format.md | 2 +- src/02-header.md | 2 +- src/03-path.md | 2 +- src/04-payload-ack.md | 2 +- src/05-payload-advert.md | 2 +- src/06-payload-encrypted.md | 2 +- src/07-payload-anon-req.md | 2 +- src/08-payload-group.md | 2 +- src/09-payload-path.md | 2 +- src/10-payload-trace.md | 2 +- src/11-payload-multipart.md | 2 +- src/12-payload-control.md | 2 +- src/13-payload-raw-custom.md | 2 +- src/14-crypto.md | 2 +- src/15-identity.md | 2 +- src/16-packet-hash.md | 2 +- src/18-companion-protocol.md | 2 +- src/19-kiss-protocol.md | 2 +- versions/v0.1.0/00-overview.md | 8 ++++---- versions/v0.1.0/01-wire-format.md | 2 +- versions/v0.1.0/02-header.md | 2 +- versions/v0.1.0/03-path.md | 2 +- versions/v0.1.0/04-payload-ack.md | 2 +- versions/v0.1.0/05-payload-advert.md | 2 +- versions/v0.1.0/06-payload-encrypted.md | 2 +- versions/v0.1.0/07-payload-anon-req.md | 2 +- versions/v0.1.0/08-payload-group.md | 2 +- versions/v0.1.0/09-payload-path.md | 2 +- versions/v0.1.0/10-payload-trace.md | 2 +- versions/v0.1.0/11-payload-multipart.md | 2 +- versions/v0.1.0/12-payload-control.md | 2 +- versions/v0.1.0/13-payload-raw-custom.md | 2 +- versions/v0.1.0/14-crypto.md | 2 +- versions/v0.1.0/15-identity.md | 2 +- versions/v0.1.0/16-packet-hash.md | 2 +- versions/v0.1.0/18-companion-protocol.md | 2 +- versions/v0.1.0/19-kiss-protocol.md | 2 +- 39 files changed, 46 insertions(+), 46 deletions(-) diff --git a/book.toml b/book.toml index a979b7e..26adc9b 100644 --- a/book.toml +++ b/book.toml @@ -8,8 +8,8 @@ src = "src" [output.html] default-theme = "navy" preferred-dark-theme = "navy" -git-repository-url = "https://github.com/swaits/meshcore-spec" -edit-url-template = "https://github.com/swaits/meshcore-spec/edit/main/{path}" +git-repository-url = "https://git.swaits.com/swaits/meshcore-spec" +edit-url-template = "https://git.swaits.com/swaits/meshcore-spec/_edit/main/{path}" # CI overrides per-version with MDBOOK_OUTPUT__HTML__SITE_URL. # Default below targets the "latest" deploy from main. site-url = "/meshcore-spec/latest/" diff --git a/src/00-overview.md b/src/00-overview.md index e061a16..4357c62 100644 --- a/src/00-overview.md +++ b/src/00-overview.md @@ -23,7 +23,7 @@ The **upstream MeshCore C++ firmware is the source of truth** for all protocol behavior. This spec is downstream and derivative. Whenever the spec and the upstream C++ disagree, **upstream wins** — and a fix to this spec is filed against this repo, not against MeshCore. Each substantive change in -[CHANGELOG.md](https://github.com/swaits/meshcore-spec/blob/main/CHANGELOG.md) +[CHANGELOG.md](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/CHANGELOG.md) records the upstream commit hash it was validated against. Refinements have also been driven in part by observations from building @@ -31,10 +31,10 @@ DongLoRa firmware and apps against live MeshCore deployments. Where DongLoRa behavior diverges from upstream, this spec follows upstream and treats the DongLoRa side as a follow-up bug, not a spec change. -Conformance against the [test corpus](https://github.com/swaits/meshcore-spec/tree/main/corpus) +Conformance against the [test corpus](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus) is a useful signal but **not a substitute** for cross-checking against upstream firmware. If you find a divergence from upstream, please -[file an issue](https://github.com/swaits/meshcore-spec/issues) — that is +[file an issue](https://git.swaits.com/swaits/meshcore-spec/issues) — that is exactly the kind of report this project exists to catch. ### Spec Versions @@ -61,7 +61,7 @@ version; switching keeps you on the same chapter where it exists in the target version. Spec versions use semver and are **independent** of the upstream MeshCore firmware's own versioning — each release records the upstream commit hash it was validated against in -[CHANGELOG.md](https://github.com/swaits/meshcore-spec/blob/main/CHANGELOG.md). +[CHANGELOG.md](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/CHANGELOG.md). ### Scope diff --git a/src/01-wire-format.md b/src/01-wire-format.md index 6e6b5b0..200ff9c 100644 --- a/src/01-wire-format.md +++ b/src/01-wire-format.md @@ -131,7 +131,7 @@ A conforming decoder MUST reject packets with any of the following: - [Section 2: Header](02-header.md) — Header byte encoding details - [Section 3: Path](03-path.md) — Path length encoding and path field -- Test vectors: [`corpus/wire-format/framing/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/wire-format/framing/), [`corpus/wire-format/invalid/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/wire-format/invalid/) +- Test vectors: [`corpus/wire-format/framing/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/wire-format/framing/), [`corpus/wire-format/invalid/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/wire-format/invalid/) ### Reference Implementation diff --git a/src/02-header.md b/src/02-header.md index a05ac93..4c8dd28 100644 --- a/src/02-header.md +++ b/src/02-header.md @@ -113,7 +113,7 @@ is an in-memory sentinel only and MUST NOT appear on the wire. A header of - [Section 1: Wire Format](01-wire-format.md) — Overall packet structure - [Section 3: Path](03-path.md) — Path encoding -- Test vectors: [`corpus/wire-format/header/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/wire-format/header/) +- Test vectors: [`corpus/wire-format/header/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/wire-format/header/) ### Reference Implementation diff --git a/src/03-path.md b/src/03-path.md index 6c38f18..bf70921 100644 --- a/src/03-path.md +++ b/src/03-path.md @@ -143,7 +143,7 @@ this class of bug. - [Section 1: Wire Format](01-wire-format.md) — Overall packet structure - [Section 2: Header](02-header.md) — Header encoding - [Section 15: Identity](15-identity.md) — Hash derivation from public keys -- Test vectors: [`corpus/wire-format/path/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/wire-format/path/) +- Test vectors: [`corpus/wire-format/path/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/wire-format/path/) ### Reference Implementation diff --git a/src/04-payload-ack.md b/src/04-payload-ack.md index cbbf03f..82f54bd 100644 --- a/src/04-payload-ack.md +++ b/src/04-payload-ack.md @@ -87,7 +87,7 @@ sender attribute each received ACK to a specific transmission attempt. See - [Section 1: Wire Format](01-wire-format.md) — Packet framing - [Section 11: Multipart](11-payload-multipart.md) — Multipart ACK encoding -- Test vectors: [`corpus/payloads/ack/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/ack/) +- Test vectors: [`corpus/payloads/ack/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/ack/) ### Reference Implementation diff --git a/src/05-payload-advert.md b/src/05-payload-advert.md index ac30d27..7fb07a4 100644 --- a/src/05-payload-advert.md +++ b/src/05-payload-advert.md @@ -115,7 +115,7 @@ preceding optional fields are present. - [Section 15: Identity](15-identity.md) — Ed25519 key management - [Section 14: Cryptography](14-crypto.md) — Signature operations -- Test vectors: [`corpus/payloads/advert/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/advert/) +- Test vectors: [`corpus/payloads/advert/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/advert/) ### Reference Implementation diff --git a/src/06-payload-encrypted.md b/src/06-payload-encrypted.md index ef3b4d0..22f1c7c 100644 --- a/src/06-payload-encrypted.md +++ b/src/06-payload-encrypted.md @@ -159,7 +159,7 @@ patterns include: - [Section 14: Cryptography](14-crypto.md) — Encrypt-then-MAC details - [Section 15: Identity](15-identity.md) — ECDH shared secret computation -- Test vectors: [`corpus/payloads/encrypted/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/encrypted/) +- Test vectors: [`corpus/payloads/encrypted/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/encrypted/) ### Reference Implementation diff --git a/src/07-payload-anon-req.md b/src/07-payload-anon-req.md index d331e15..441eb95 100644 --- a/src/07-payload-anon-req.md +++ b/src/07-payload-anon-req.md @@ -66,7 +66,7 @@ Header payload type field: `0x07` (ANON_REQ) - [Section 6: Encrypted Payloads](06-payload-encrypted.md) — Standard encrypted format - [Section 14: Cryptography](14-crypto.md) — Encrypt-then-MAC - [Section 15: Identity](15-identity.md) — ECDH key exchange -- Test vectors: [`corpus/payloads/anon-req/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/anon-req/) +- Test vectors: [`corpus/payloads/anon-req/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/anon-req/) ### Reference Implementation diff --git a/src/08-payload-group.md b/src/08-payload-group.md index b348dcf..7d9a392 100644 --- a/src/08-payload-group.md +++ b/src/08-payload-group.md @@ -72,7 +72,7 @@ secret. Only a successful MAC verification confirms the correct channel. ### Cross-References - [Section 14: Cryptography](14-crypto.md) — Encrypt-then-MAC -- Test vectors: [`corpus/payloads/group/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/group/) +- Test vectors: [`corpus/payloads/group/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/group/) ### Reference Implementation diff --git a/src/09-payload-path.md b/src/09-payload-path.md index ce463ca..5bacce3 100644 --- a/src/09-payload-path.md +++ b/src/09-payload-path.md @@ -82,7 +82,7 @@ hash is unique. - [Section 3: Path](03-path.md) — Path length encoding - [Section 6: Encrypted Payloads](06-payload-encrypted.md) — Outer envelope format - [Section 14: Cryptography](14-crypto.md) — Encrypt-then-MAC -- Test vectors: [`corpus/payloads/path-return/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/path-return/) +- Test vectors: [`corpus/payloads/path-return/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/path-return/) ### Reference Implementation diff --git a/src/10-payload-trace.md b/src/10-payload-trace.md index 34d21cf..2ff3115 100644 --- a/src/10-payload-trace.md +++ b/src/10-payload-trace.md @@ -97,7 +97,7 @@ At that point, `onTraceRecv` is called with: ### Cross-References - [Section 16: Packet Hash](16-packet-hash.md) — TRACE packets include path_len in hash -- Test vectors: [`corpus/payloads/trace/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/trace/) +- Test vectors: [`corpus/payloads/trace/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/trace/) ### Reference Implementation diff --git a/src/11-payload-multipart.md b/src/11-payload-multipart.md index dce90f7..5afe8fe 100644 --- a/src/11-payload-multipart.md +++ b/src/11-payload-multipart.md @@ -112,7 +112,7 @@ intends to emit, not a guarantee that they will arrive. ### Cross-References - [Section 4: ACK](04-payload-ack.md) — ACK CRC format -- Test vectors: [`corpus/payloads/multipart/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/multipart/) +- Test vectors: [`corpus/payloads/multipart/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/multipart/) ### Reference Implementation diff --git a/src/12-payload-control.md b/src/12-payload-control.md index a361bdf..dea7f94 100644 --- a/src/12-payload-control.md +++ b/src/12-payload-control.md @@ -60,7 +60,7 @@ formats are application-defined, but typically include: ### Cross-References - [Section 17: Routing](17-routing.md) — Zero-hop delivery -- Test vectors: [`corpus/payloads/control/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/control/) +- Test vectors: [`corpus/payloads/control/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/control/) ### Reference Implementation diff --git a/src/13-payload-raw-custom.md b/src/13-payload-raw-custom.md index fc4fd1f..54d7563 100644 --- a/src/13-payload-raw-custom.md +++ b/src/13-payload-raw-custom.md @@ -41,7 +41,7 @@ when received via direct routing. They are NOT flood-routed. ### Cross-References -- Test vectors: [`corpus/payloads/raw-custom/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/payloads/raw-custom/) +- Test vectors: [`corpus/payloads/raw-custom/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/payloads/raw-custom/) ### Reference Implementation diff --git a/src/14-crypto.md b/src/14-crypto.md index 5c77ac7..d40cc7f 100644 --- a/src/14-crypto.md +++ b/src/14-crypto.md @@ -110,7 +110,7 @@ Output format: - [Section 6: Encrypted Payloads](06-payload-encrypted.md) — Usage in packet payloads - [Section 15: Identity](15-identity.md) — Shared secret computation via ECDH -- Test vectors: [`corpus/crypto/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/crypto/) +- Test vectors: [`corpus/crypto/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/crypto/) ### Reference Implementation diff --git a/src/15-identity.md b/src/15-identity.md index c6eb01c..e2781c5 100644 --- a/src/15-identity.md +++ b/src/15-identity.md @@ -81,7 +81,7 @@ Hex representation uses uppercase characters with 2 hex digits per byte. - [Section 3: Path](03-path.md) — Hash size in path encoding - [Section 5: Advertisement](05-payload-advert.md) — Signature usage - [Section 14: Cryptography](14-crypto.md) — Shared secret usage -- Test vectors: [`corpus/crypto/ed25519/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/crypto/ed25519/), [`corpus/crypto/ecdh/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/crypto/ecdh/) +- Test vectors: [`corpus/crypto/ed25519/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/crypto/ed25519/), [`corpus/crypto/ecdh/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/crypto/ecdh/) ### Reference Implementation diff --git a/src/16-packet-hash.md b/src/16-packet-hash.md index bfe52da..9e02e81 100644 --- a/src/16-packet-hash.md +++ b/src/16-packet-hash.md @@ -59,7 +59,7 @@ function calculatePacketHash(packet): ### Cross-References - [Section 10: Trace](10-payload-trace.md) — TRACE packet special handling -- Test vectors: [`corpus/crypto/sha256/packet-hash.json`](https://github.com/swaits/meshcore-spec/blob/main/corpus/crypto/sha256/packet-hash.json) +- Test vectors: [`corpus/crypto/sha256/packet-hash.json`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/crypto/sha256/packet-hash.json) ### Reference Implementation diff --git a/src/18-companion-protocol.md b/src/18-companion-protocol.md index ec55ab3..f86de93 100644 --- a/src/18-companion-protocol.md +++ b/src/18-companion-protocol.md @@ -89,7 +89,7 @@ implementations SHOULD request a larger MTU (up to 512 bytes). ### Cross-References - [Section 1: Wire Format](01-wire-format.md) — Underlying packet format -- Test vectors: [`corpus/companion/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/companion/) +- Test vectors: [`corpus/companion/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/companion/) ### Reference Implementation diff --git a/src/19-kiss-protocol.md b/src/19-kiss-protocol.md index 95fe6b0..404ea23 100644 --- a/src/19-kiss-protocol.md +++ b/src/19-kiss-protocol.md @@ -173,7 +173,7 @@ Response codes: `response = command | 0x80` - [Section 1: Wire Format](01-wire-format.md) — Packet format within data frames - [Section 14: Cryptography](14-crypto.md) — Crypto operations via SetHardware -- Test vectors: [`corpus/kiss/`](https://github.com/swaits/meshcore-spec/tree/main/corpus/kiss/) +- Test vectors: [`corpus/kiss/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/corpus/kiss/) ### Reference Implementation diff --git a/versions/v0.1.0/00-overview.md b/versions/v0.1.0/00-overview.md index 6c891a7..a2ec856 100644 --- a/versions/v0.1.0/00-overview.md +++ b/versions/v0.1.0/00-overview.md @@ -23,7 +23,7 @@ The **upstream MeshCore C++ firmware is the source of truth** for all protocol behavior. This spec is downstream and derivative. Whenever the spec and the upstream C++ disagree, **upstream wins** — and a fix to this spec is filed against this repo, not against MeshCore. Each substantive change in -[CHANGELOG.md](https://github.com/swaits/meshcore-spec/blob/main/CHANGELOG.md) +[CHANGELOG.md](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/CHANGELOG.md) records the upstream commit hash it was validated against. Refinements have also been driven in part by observations from building @@ -31,10 +31,10 @@ DongLoRa firmware and apps against live MeshCore deployments. Where DongLoRa behavior diverges from upstream, this spec follows upstream and treats the DongLoRa side as a follow-up bug, not a spec change. -Conformance against the [test corpus](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus) +Conformance against the [test corpus](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus) is a useful signal but **not a substitute** for cross-checking against upstream firmware. If you find a divergence from upstream, please -[file an issue](https://github.com/swaits/meshcore-spec/issues) — that is +[file an issue](https://git.swaits.com/swaits/meshcore-spec/issues) — that is exactly the kind of report this project exists to catch. ### Spec Versions @@ -61,7 +61,7 @@ version; switching keeps you on the same chapter where it exists in the target version. Spec versions use semver and are **independent** of the upstream MeshCore firmware's own versioning — each release records the upstream commit hash it was validated against in -[CHANGELOG.md](https://github.com/swaits/meshcore-spec/blob/main/CHANGELOG.md). +[CHANGELOG.md](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/CHANGELOG.md). ### Scope diff --git a/versions/v0.1.0/01-wire-format.md b/versions/v0.1.0/01-wire-format.md index 60c424a..074a04d 100644 --- a/versions/v0.1.0/01-wire-format.md +++ b/versions/v0.1.0/01-wire-format.md @@ -131,7 +131,7 @@ A conforming decoder MUST reject packets with any of the following: - [Section 2: Header](02-header.md) — Header byte encoding details - [Section 3: Path](03-path.md) — Path length encoding and path field -- Test vectors: [`corpus/wire-format/framing/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/wire-format/framing/), [`corpus/wire-format/invalid/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/wire-format/invalid/) +- Test vectors: [`corpus/wire-format/framing/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/wire-format/framing/), [`corpus/wire-format/invalid/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/wire-format/invalid/) ### Reference Implementation diff --git a/versions/v0.1.0/02-header.md b/versions/v0.1.0/02-header.md index 33aadb5..d32200f 100644 --- a/versions/v0.1.0/02-header.md +++ b/versions/v0.1.0/02-header.md @@ -113,7 +113,7 @@ is an in-memory sentinel only and MUST NOT appear on the wire. A header of - [Section 1: Wire Format](01-wire-format.md) — Overall packet structure - [Section 3: Path](03-path.md) — Path encoding -- Test vectors: [`corpus/wire-format/header/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/wire-format/header/) +- Test vectors: [`corpus/wire-format/header/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/wire-format/header/) ### Reference Implementation diff --git a/versions/v0.1.0/03-path.md b/versions/v0.1.0/03-path.md index e5a3eda..55ada8f 100644 --- a/versions/v0.1.0/03-path.md +++ b/versions/v0.1.0/03-path.md @@ -143,7 +143,7 @@ this class of bug. - [Section 1: Wire Format](01-wire-format.md) — Overall packet structure - [Section 2: Header](02-header.md) — Header encoding - [Section 15: Identity](15-identity.md) — Hash derivation from public keys -- Test vectors: [`corpus/wire-format/path/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/wire-format/path/) +- Test vectors: [`corpus/wire-format/path/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/wire-format/path/) ### Reference Implementation diff --git a/versions/v0.1.0/04-payload-ack.md b/versions/v0.1.0/04-payload-ack.md index 6239d49..be39879 100644 --- a/versions/v0.1.0/04-payload-ack.md +++ b/versions/v0.1.0/04-payload-ack.md @@ -87,7 +87,7 @@ sender attribute each received ACK to a specific transmission attempt. See - [Section 1: Wire Format](01-wire-format.md) — Packet framing - [Section 11: Multipart](11-payload-multipart.md) — Multipart ACK encoding -- Test vectors: [`corpus/payloads/ack/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/ack/) +- Test vectors: [`corpus/payloads/ack/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/ack/) ### Reference Implementation diff --git a/versions/v0.1.0/05-payload-advert.md b/versions/v0.1.0/05-payload-advert.md index 76ad424..db29f51 100644 --- a/versions/v0.1.0/05-payload-advert.md +++ b/versions/v0.1.0/05-payload-advert.md @@ -115,7 +115,7 @@ preceding optional fields are present. - [Section 15: Identity](15-identity.md) — Ed25519 key management - [Section 14: Cryptography](14-crypto.md) — Signature operations -- Test vectors: [`corpus/payloads/advert/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/advert/) +- Test vectors: [`corpus/payloads/advert/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/advert/) ### Reference Implementation diff --git a/versions/v0.1.0/06-payload-encrypted.md b/versions/v0.1.0/06-payload-encrypted.md index f4e03c9..506c9e0 100644 --- a/versions/v0.1.0/06-payload-encrypted.md +++ b/versions/v0.1.0/06-payload-encrypted.md @@ -159,7 +159,7 @@ patterns include: - [Section 14: Cryptography](14-crypto.md) — Encrypt-then-MAC details - [Section 15: Identity](15-identity.md) — ECDH shared secret computation -- Test vectors: [`corpus/payloads/encrypted/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/encrypted/) +- Test vectors: [`corpus/payloads/encrypted/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/encrypted/) ### Reference Implementation diff --git a/versions/v0.1.0/07-payload-anon-req.md b/versions/v0.1.0/07-payload-anon-req.md index b239ffc..685ed61 100644 --- a/versions/v0.1.0/07-payload-anon-req.md +++ b/versions/v0.1.0/07-payload-anon-req.md @@ -66,7 +66,7 @@ Header payload type field: `0x07` (ANON_REQ) - [Section 6: Encrypted Payloads](06-payload-encrypted.md) — Standard encrypted format - [Section 14: Cryptography](14-crypto.md) — Encrypt-then-MAC - [Section 15: Identity](15-identity.md) — ECDH key exchange -- Test vectors: [`corpus/payloads/anon-req/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/anon-req/) +- Test vectors: [`corpus/payloads/anon-req/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/anon-req/) ### Reference Implementation diff --git a/versions/v0.1.0/08-payload-group.md b/versions/v0.1.0/08-payload-group.md index 1324cac..4ff50fc 100644 --- a/versions/v0.1.0/08-payload-group.md +++ b/versions/v0.1.0/08-payload-group.md @@ -72,7 +72,7 @@ secret. Only a successful MAC verification confirms the correct channel. ### Cross-References - [Section 14: Cryptography](14-crypto.md) — Encrypt-then-MAC -- Test vectors: [`corpus/payloads/group/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/group/) +- Test vectors: [`corpus/payloads/group/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/group/) ### Reference Implementation diff --git a/versions/v0.1.0/09-payload-path.md b/versions/v0.1.0/09-payload-path.md index e6450b8..b195157 100644 --- a/versions/v0.1.0/09-payload-path.md +++ b/versions/v0.1.0/09-payload-path.md @@ -82,7 +82,7 @@ hash is unique. - [Section 3: Path](03-path.md) — Path length encoding - [Section 6: Encrypted Payloads](06-payload-encrypted.md) — Outer envelope format - [Section 14: Cryptography](14-crypto.md) — Encrypt-then-MAC -- Test vectors: [`corpus/payloads/path-return/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/path-return/) +- Test vectors: [`corpus/payloads/path-return/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/path-return/) ### Reference Implementation diff --git a/versions/v0.1.0/10-payload-trace.md b/versions/v0.1.0/10-payload-trace.md index a627265..7dbe930 100644 --- a/versions/v0.1.0/10-payload-trace.md +++ b/versions/v0.1.0/10-payload-trace.md @@ -97,7 +97,7 @@ At that point, `onTraceRecv` is called with: ### Cross-References - [Section 16: Packet Hash](16-packet-hash.md) — TRACE packets include path_len in hash -- Test vectors: [`corpus/payloads/trace/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/trace/) +- Test vectors: [`corpus/payloads/trace/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/trace/) ### Reference Implementation diff --git a/versions/v0.1.0/11-payload-multipart.md b/versions/v0.1.0/11-payload-multipart.md index 69712e8..9471301 100644 --- a/versions/v0.1.0/11-payload-multipart.md +++ b/versions/v0.1.0/11-payload-multipart.md @@ -112,7 +112,7 @@ intends to emit, not a guarantee that they will arrive. ### Cross-References - [Section 4: ACK](04-payload-ack.md) — ACK CRC format -- Test vectors: [`corpus/payloads/multipart/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/multipart/) +- Test vectors: [`corpus/payloads/multipart/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/multipart/) ### Reference Implementation diff --git a/versions/v0.1.0/12-payload-control.md b/versions/v0.1.0/12-payload-control.md index 8df2153..cd7d5d4 100644 --- a/versions/v0.1.0/12-payload-control.md +++ b/versions/v0.1.0/12-payload-control.md @@ -60,7 +60,7 @@ formats are application-defined, but typically include: ### Cross-References - [Section 17: Routing](17-routing.md) — Zero-hop delivery -- Test vectors: [`corpus/payloads/control/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/control/) +- Test vectors: [`corpus/payloads/control/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/control/) ### Reference Implementation diff --git a/versions/v0.1.0/13-payload-raw-custom.md b/versions/v0.1.0/13-payload-raw-custom.md index a8c0b95..baf52e6 100644 --- a/versions/v0.1.0/13-payload-raw-custom.md +++ b/versions/v0.1.0/13-payload-raw-custom.md @@ -41,7 +41,7 @@ when received via direct routing. They are NOT flood-routed. ### Cross-References -- Test vectors: [`corpus/payloads/raw-custom/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/payloads/raw-custom/) +- Test vectors: [`corpus/payloads/raw-custom/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/payloads/raw-custom/) ### Reference Implementation diff --git a/versions/v0.1.0/14-crypto.md b/versions/v0.1.0/14-crypto.md index a8202cd..4334864 100644 --- a/versions/v0.1.0/14-crypto.md +++ b/versions/v0.1.0/14-crypto.md @@ -110,7 +110,7 @@ Output format: - [Section 6: Encrypted Payloads](06-payload-encrypted.md) — Usage in packet payloads - [Section 15: Identity](15-identity.md) — Shared secret computation via ECDH -- Test vectors: [`corpus/crypto/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/crypto/) +- Test vectors: [`corpus/crypto/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/crypto/) ### Reference Implementation diff --git a/versions/v0.1.0/15-identity.md b/versions/v0.1.0/15-identity.md index 29d175e..3f6bbcf 100644 --- a/versions/v0.1.0/15-identity.md +++ b/versions/v0.1.0/15-identity.md @@ -81,7 +81,7 @@ Hex representation uses uppercase characters with 2 hex digits per byte. - [Section 3: Path](03-path.md) — Hash size in path encoding - [Section 5: Advertisement](05-payload-advert.md) — Signature usage - [Section 14: Cryptography](14-crypto.md) — Shared secret usage -- Test vectors: [`corpus/crypto/ed25519/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/crypto/ed25519/), [`corpus/crypto/ecdh/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/crypto/ecdh/) +- Test vectors: [`corpus/crypto/ed25519/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/crypto/ed25519/), [`corpus/crypto/ecdh/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/crypto/ecdh/) ### Reference Implementation diff --git a/versions/v0.1.0/16-packet-hash.md b/versions/v0.1.0/16-packet-hash.md index 8d9d139..4a94761 100644 --- a/versions/v0.1.0/16-packet-hash.md +++ b/versions/v0.1.0/16-packet-hash.md @@ -59,7 +59,7 @@ function calculatePacketHash(packet): ### Cross-References - [Section 10: Trace](10-payload-trace.md) — TRACE packet special handling -- Test vectors: [`corpus/crypto/sha256/packet-hash.json`](https://github.com/swaits/meshcore-spec/blob/main/versions/v0.1.0/corpus/crypto/sha256/packet-hash.json) +- Test vectors: [`corpus/crypto/sha256/packet-hash.json`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/crypto/sha256/packet-hash.json) ### Reference Implementation diff --git a/versions/v0.1.0/18-companion-protocol.md b/versions/v0.1.0/18-companion-protocol.md index 970730e..ace744d 100644 --- a/versions/v0.1.0/18-companion-protocol.md +++ b/versions/v0.1.0/18-companion-protocol.md @@ -89,7 +89,7 @@ implementations SHOULD request a larger MTU (up to 512 bytes). ### Cross-References - [Section 1: Wire Format](01-wire-format.md) — Underlying packet format -- Test vectors: [`corpus/companion/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/companion/) +- Test vectors: [`corpus/companion/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/companion/) ### Reference Implementation diff --git a/versions/v0.1.0/19-kiss-protocol.md b/versions/v0.1.0/19-kiss-protocol.md index 6753d70..2f026bb 100644 --- a/versions/v0.1.0/19-kiss-protocol.md +++ b/versions/v0.1.0/19-kiss-protocol.md @@ -173,7 +173,7 @@ Response codes: `response = command | 0x80` - [Section 1: Wire Format](01-wire-format.md) — Packet format within data frames - [Section 14: Cryptography](14-crypto.md) — Crypto operations via SetHardware -- Test vectors: [`corpus/kiss/`](https://github.com/swaits/meshcore-spec/tree/main/versions/v0.1.0/corpus/kiss/) +- Test vectors: [`corpus/kiss/`](https://git.swaits.com/swaits/meshcore-spec/src/branch/main/versions/v0.1.0/corpus/kiss/) ### Reference Implementation