CLI app for developers prototyping atproto functionality
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

chore(deps): add getrandom for CSPRNG access

Also fix clippy format_collect warnings in existing tests.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>

authored by

Jack Grigg
Claude Haiku 4.5
and committed by
Tangled
3b9286c1 84178c97

+21 -3
+6
Cargo.toml
··· 26 26 ciborium = "0.2" 27 27 clap = { version = "4.6", features = ["derive"] } 28 28 futures-util = { version = "0.3", default-features = false, features = ["std"] } 29 + # Direct CSPRNG access for JWT `jti` nonces and the sentinel run-id. 30 + # Transitively present (k256 → elliptic-curve → rand_core with the 31 + # `getrandom` feature disabled), so we can't reach OsRng through the 32 + # existing dep graph. Promoting `getrandom` to a direct dep is the 33 + # smallest viable fix. 34 + getrandom = "0.2" 29 35 hickory-resolver = "0.25" 30 36 humantime = "2.1" 31 37 k256 = { version = "0.13", features = ["ecdsa"] }
+15 -3
src/common/identity.rs
··· 1096 1096 // [0xe7, 0x01] (k256 prefix) + 33-byte SEC1 point. 1097 1097 let expected_hex = 1098 1098 "0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798"; 1099 - let actual_hex: String = sec1_bytes.iter().map(|b| format!("{b:02x}")).collect(); 1099 + let actual_hex = sec1_bytes.iter().fold(String::new(), |mut s, b| { 1100 + use std::fmt::Write; 1101 + let _ = write!(s, "{b:02x}"); 1102 + s 1103 + }); 1100 1104 assert_eq!(actual_hex, expected_hex); 1101 1105 } 1102 1106 _ => panic!("Expected K256 verifying key"), ··· 1123 1127 // Expected bytes derived from the multikey fixture. 1124 1128 let expected_hex = 1125 1129 "026b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296"; 1126 - let actual_hex: String = sec1_bytes.iter().map(|b| format!("{b:02x}")).collect(); 1130 + let actual_hex = sec1_bytes.iter().fold(String::new(), |mut s, b| { 1131 + use std::fmt::Write; 1132 + let _ = write!(s, "{b:02x}"); 1133 + s 1134 + }); 1127 1135 assert_eq!(actual_hex, expected_hex); 1128 1136 } 1129 1137 _ => panic!("Expected P256 verifying key"), ··· 1153 1161 let mut key_bytes = vec![0xe7, 0x01]; 1154 1162 key_bytes.extend_from_slice(&[0; 33]); 1155 1163 // Manually create base16 multibase string (f prefix). 1156 - let hex_str: String = key_bytes.iter().map(|b| format!("{b:02x}")).collect(); 1164 + let hex_str = key_bytes.iter().fold(String::new(), |mut s, b| { 1165 + use std::fmt::Write; 1166 + let _ = write!(s, "{b:02x}"); 1167 + s 1168 + }); 1157 1169 let multikey = format!("f{hex_str}"); 1158 1170 1159 1171 let result = parse_multikey(&multikey);