From 6f2dbe49d167a0b493cabab7d93627ea6a066374 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 22:06:38 +0000 Subject: [PATCH 1/7] chore(release): bump version to 0.2.2 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01YBcxYXXtaadAw8KeoCw7ff --- CHANGELOG.md | 34 +++++++++++++++++++++++++++++++++- Cargo.lock | 2 +- Cargo.toml | 2 +- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b81814..fb7687b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,37 @@ begin at `1.0.0`. ## [Unreleased] +## [0.2.2] — 2026-09-02 + +### Security +- `CLUSTER_SECRET` is validated at startup with the same 32-256 character + rules as `LRTMP2_API_TOKEN`, and repeated failed cluster control-plane + auth attempts are locked out. +- Cluster media-plane `Subscribe` is rejected unless the peer is a + configured standby replica or reports active local players for the + stream, closing a secret-only stream-siphoning path. +- Cluster `admin_proof` digests are tracked per node so a captured + `ClientWrite`/membership proof cannot be replayed, without breaking + plaintext heartbeat accounting. +- Cluster join peer-address validation rejects loopback, link-local + (including cloud metadata addresses), unspecified, and multicast + targets when minting or accepting join proofs, closing an SSRF path. +- Plaintext (non-mTLS) clusters ignore heartbeat routing updates that + would let any `CLUSTER_SECRET` holder hijack an existing member's + `node_id`. + +### Fixed +- Dual-role connections update RTT for both the publisher and player side + instead of only one; `find_group` stats lookup no longer panics via + `unwrap`, using an index-based lookup instead. +- Docker multi-arch release builds use the `rust-musl-cross` builder so + `linux/riscv64` compiles (the plain `rust:alpine` image has no riscv64 + manifest); musl cross builds vendor OpenSSL instead of relying on the + host toolchain. + +### Changed +- Crate version `0.2.1` → `0.2.2`. + ## [0.2.1] — 2026-08-10 ### Security @@ -459,7 +490,8 @@ plaintext RTMP and RTMPS. ### Planned - REST API enhancements for server management -[Unreleased]: https://github.com/OpenRTMP/librtmp2-server/compare/v0.2.1...HEAD +[Unreleased]: https://github.com/OpenRTMP/librtmp2-server/compare/v0.2.2...HEAD +[0.2.2]: https://github.com/OpenRTMP/librtmp2-server/compare/v0.2.1...v0.2.2 [0.2.1]: https://github.com/OpenRTMP/librtmp2-server/compare/v0.2.0...v0.2.1 [0.2.0]: https://github.com/OpenRTMP/librtmp2-server/compare/v0.1.9...v0.2.0 [0.1.9]: https://github.com/OpenRTMP/librtmp2-server/compare/v0.1.8...v0.1.9 diff --git a/Cargo.lock b/Cargo.lock index c2fbf45..05be662 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1310,7 +1310,7 @@ dependencies = [ [[package]] name = "librtmp2-server" -version = "0.2.1" +version = "0.2.2" dependencies = [ "axum", "bytes", diff --git a/Cargo.toml b/Cargo.toml index 2d4dc45..586c4f8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "librtmp2-server" -version = "0.2.1" +version = "0.2.2" edition = "2024" rust-version = "1.95" license = "MIT" From 052db5ca0c855b354665b31456c932e1a267bf30 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 2 Sep 2026 22:06:59 +0000 Subject: [PATCH 2/7] Update Cargo.lock --- Cargo.lock | 248 ++++++++++++++++------------------------------------- 1 file changed, 74 insertions(+), 174 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 05be662..d72c96c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,17 +2,6 @@ # It is not intended for manual editing. version = 4 -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.17", - "once_cell", - "version_check", -] - [[package]] name = "aho-corasick" version = "1.1.5" @@ -164,9 +153,9 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" [[package]] name = "aws-lc-rs" -version = "1.18.0" +version = "1.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce2b2dcc879c3bae0d371e77c99f2238400ef24ec001394befa67b6e543add9e" +checksum = "b281d307588d634de920874890732659e2e7672f72b5e10e81badc1a8a83621e" dependencies = [ "aws-lc-sys", "zeroize", @@ -174,9 +163,9 @@ dependencies = [ [[package]] name = "aws-lc-sys" -version = "0.44.0" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f09fae7be8bb3174e05c6afdb34199e6dc0c7c04ba9fa237b1967adfbde27483" +checksum = "9bff6c3b54fad79a2e60b8102caf565819711497c1f5f092f49508e2f5c31b27" dependencies = [ "cc", "cmake", @@ -249,18 +238,6 @@ version = "2.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b588b76d00fde79687d7646a9b5bdf3cc0f655e0bbd080335a95d7e96f3587da" -[[package]] -name = "bitvec" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddcec3d12c579d40898fe0a9a358a803c23e9c52ca3c425707f81c9436211837" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - [[package]] name = "block-buffer" version = "0.12.1" @@ -312,28 +289,6 @@ dependencies = [ "utf8-width", ] -[[package]] -name = "bytecheck" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "bytes" version = "1.12.1" @@ -755,12 +710,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - [[package]] name = "futures" version = "0.3.34" @@ -862,6 +811,18 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" +dependencies = [ + "cfg-if", + "libc", + "r-efi 5.3.0", + "wasip2", +] + [[package]] name = "getrandom" version = "0.4.3" @@ -871,7 +832,7 @@ dependencies = [ "cfg-if", "js-sys", "libc", - "r-efi", + "r-efi 6.0.0", "rand_core 0.10.1", "wasm-bindgen", ] @@ -887,15 +848,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.16.1" @@ -1417,9 +1369,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "mio" -version = "1.2.2" +version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427" +checksum = "4b18443e9c262bfe8fa82f51666e2642c53393f7e5c27b3e1aeab922cff5b9d8" dependencies = [ "libc", "wasi", @@ -1727,26 +1679,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "quinn" version = "0.11.11" @@ -1815,15 +1747,15 @@ dependencies = [ [[package]] name = "r-efi" -version = "6.0.0" +version = "5.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" [[package]] -name = "radium" -version = "0.7.0" +name = "r-efi" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" +checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" @@ -1832,10 +1764,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c" dependencies = [ "libc", - "rand_chacha", + "rand_chacha 0.3.1", "rand_core 0.6.4", ] +[[package]] +name = "rand" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.5", +] + [[package]] name = "rand" version = "0.10.2" @@ -1857,6 +1799,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.5", +] + [[package]] name = "rand_core" version = "0.6.4" @@ -1866,6 +1818,15 @@ dependencies = [ "getrandom 0.2.17", ] +[[package]] +name = "rand_core" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c" +dependencies = [ + "getrandom 0.3.4", +] + [[package]] name = "rand_core" version = "0.10.1" @@ -1959,15 +1920,6 @@ version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" -[[package]] -name = "rend" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" -dependencies = [ - "bytecheck", -] - [[package]] name = "reqwest" version = "0.13.4" @@ -2022,35 +1974,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "rkyv" -version = "0.7.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2297bf9c81a3f0dc96bc9521370b88f054168c29826a75e89c55ff196e7ed6a1" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84d7b42d4b8d06048d3ac8db0eb31bcb942cbeb709f0b5f2b2ebde398d3038f5" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "rsqlite-vfs" version = "0.1.1" @@ -2078,16 +2001,16 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.42.1" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2a24f50780bc85f09cc6ac299bdf1424302742d77221106859c9d8b102126a" +checksum = "7653272e75dcac41dc199fbea6f5797633994fafd339943c06c9af16bf29cd3a" dependencies = [ "arrayvec", "borsh", "bytes", "num-traits", "rand 0.8.8", - "rkyv", + "rand 0.9.5", "serde", "serde_json", "wasm-bindgen", @@ -2263,12 +2186,6 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - [[package]] name = "security-framework" version = "3.7.0" @@ -2440,9 +2357,9 @@ checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" -version = "1.15.2" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90" +checksum = "b9be42f50aa861c555654aa3a37f52f4b1074bacf4e48fe0ef7fa584e80f1f0f" [[package]] name = "socket2" @@ -2484,17 +2401,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - [[package]] name = "syn" version = "2.0.119" @@ -2537,12 +2443,6 @@ dependencies = [ "syn 2.0.119", ] -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - [[package]] name = "tempfile" version = "3.27.0" @@ -2902,12 +2802,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - [[package]] name = "walkdir" version = "2.5.0" @@ -2933,6 +2827,15 @@ version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" +[[package]] +name = "wasip2" +version = "1.0.4+wasi-0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67efb37e106e55ce722a510d6b5f9c17f083e5fc79afc2badeb12cc313d9487" +dependencies = [ + "wit-bindgen", +] + [[package]] name = "wasm-bindgen" version = "0.2.127" @@ -3199,19 +3102,16 @@ dependencies = [ ] [[package]] -name = "writeable" -version = "0.6.4" +name = "wit-bindgen" +version = "0.57.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" +checksum = "1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e" [[package]] -name = "wyz" -version = "0.5.1" +name = "writeable" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] +checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc" [[package]] name = "x509-parser" From 7c06b7562fec4ab925ce6a0982c0042d59bfb83b Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 22:09:19 +0000 Subject: [PATCH 3/7] chore: correct changelog release date to 2026-09-03 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01YBcxYXXtaadAw8KeoCw7ff --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb7687b..ac3b911 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ begin at `1.0.0`. ## [Unreleased] -## [0.2.2] — 2026-09-02 +## [0.2.2] — 2026-09-03 ### Security - `CLUSTER_SECRET` is validated at startup with the same 32-256 character From d2ac76ecb1f50302eac774ea4ac8239c9defa383 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 22:16:50 +0000 Subject: [PATCH 4/7] chore: match existing changelog wording ("Package version") Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01YBcxYXXtaadAw8KeoCw7ff --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ac3b911..b1c4d49 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,7 +42,7 @@ begin at `1.0.0`. host toolchain. ### Changed -- Crate version `0.2.1` → `0.2.2`. +- Package version `0.2.1` → `0.2.2`. ## [0.2.1] — 2026-08-10 From 8de0e206ff0674329c04e7fa21328576f880b0d0 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 22:19:35 +0000 Subject: [PATCH 5/7] chore: bump librtmp2 dependency to 0.8.0 Cargo.lock still pins the crates.io 0.7.0 release; it will be updated automatically once librtmp2 0.8.0 is published (tag push triggers its publish-crates-io workflow). Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01YBcxYXXtaadAw8KeoCw7ff --- CHANGELOG.md | 5 +++++ Cargo.toml | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1c4d49..2c6e443 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,11 @@ begin at `1.0.0`. host toolchain. ### Changed +- Bump the `librtmp2` dependency to the crates.io release **0.8.0** + (FCPublish/releaseStream, AMF3 shared objects, HDR colorInfo, + ExVideo/ExAudio write helpers, E-RTMP v2 reconnect, and the publish/ + play/shared-object auth and budget-hardening fixes described in that + release's own changelog). - Package version `0.2.1` → `0.2.2`. ## [0.2.1] — 2026-08-10 diff --git a/Cargo.toml b/Cargo.toml index 586c4f8..35b8ff9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,11 +15,10 @@ name = "librtmp2-server" path = "src/main.rs" [dependencies] -# Pin to librtmp2 0.7.0 commit (relay export/inject). Switch to crates.io -# `version = "0.7.0"` once published. Local sibling override: +# Pinned to the crates.io release. Local sibling override: # [patch."https://github.com/OpenRTMP/librtmp2"] # librtmp2 = { path = "../librtmp2" } -librtmp2 = { version = "0.7.0", features = ["tls"] } +librtmp2 = { version = "0.8.0", features = ["tls"] } axum = "0.8" tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "signal", "time", "sync", "io-util"] } rusqlite = { version = "0.40", features = ["bundled"] } From 6e3c01c8581a5524732465b2385a1e1a7f08a3cb Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 22:23:09 +0000 Subject: [PATCH 6/7] chore: update Cargo.lock for librtmp2 0.8.0 (now on crates.io) Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01YBcxYXXtaadAw8KeoCw7ff --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d72c96c..50b8c2e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1249,9 +1249,9 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[package]] name = "librtmp2" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e06572bf7ad192098dd554351ab25d029ac7ebda207f41678b1b00de32e526af" +checksum = "2b3a5f38d4b3b1249f5c02e4f0ff02d6b8e2bc4374ee2fbcec05cd14990363f2" dependencies = [ "cc", "libc", From 2476c224a1b5cea2c598934866ea98d10e21b5f3 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 22:33:52 +0000 Subject: [PATCH 7/7] fix: correct local sibling override patch table for crates.io dependency librtmp2 is sourced from crates.io (version = "0.8.0"), not a git dependency, so overriding it locally requires [patch.crates-io], not [patch.""]. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01YBcxYXXtaadAw8KeoCw7ff --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 35b8ff9..5e2f65d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,7 +16,7 @@ path = "src/main.rs" [dependencies] # Pinned to the crates.io release. Local sibling override: -# [patch."https://github.com/OpenRTMP/librtmp2"] +# [patch.crates-io] # librtmp2 = { path = "../librtmp2" } librtmp2 = { version = "0.8.0", features = ["tls"] } axum = "0.8"