diff --git a/Cargo.lock b/Cargo.lock index ee6caa6..5e16b9f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -224,7 +224,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] @@ -262,7 +262,7 @@ checksum = "e0b121a9fe0df916e362fb3271088d071159cdf11db0e4182d02152850756eff" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] @@ -319,9 +319,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "bytecount" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e5f035d16fc623ae5f74981db80a439803888314e3a555fd6f04acd51a3205" +checksum = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce" [[package]] name = "byteorder" @@ -368,7 +368,7 @@ dependencies = [ [[package]] name = "card-cli" -version = "1.8.5" +version = "1.8.6" dependencies = [ "authenticator", "base64 0.21.7", @@ -409,9 +409,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.94" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6e324229dc011159fcc089755d1e2e216a90d43a7dea6853ca740b84f35e7" +checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" [[package]] name = "cexpr" @@ -436,9 +436,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.37" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", @@ -689,7 +689,7 @@ checksum = "5fe87ce4529967e0ba1dcf8450bab64d97dfd5010a6256187ffe2e43e6f0e049" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] @@ -770,7 +770,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] @@ -1013,7 +1013,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] @@ -1894,7 +1894,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] @@ -2021,9 +2021,9 @@ dependencies = [ [[package]] name = "pcsc-sys" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b7bfecba2c0f1b5efb0e7caf7533ab1c295024165bcbb066231f60d33e23ea" +checksum = "b09e9ba80f2c4d167f936d27594f7248bca3295921ffbfa44a24b339b6cb7403" dependencies = [ "pkg-config", ] @@ -2216,9 +2216,9 @@ checksum = "7be55bf0ae1635f4d7c7ddd6efc05c631e98a82104a73d35550bbc52db960027" [[package]] name = "proc-macro2" -version = "1.0.79" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" dependencies = [ "unicode-ident", ] @@ -2685,29 +2685,29 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.197" +version = "1.0.198" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.198" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] name = "serde_json" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" dependencies = [ "itoa", "ryu", @@ -2943,9 +2943,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.58" +version = "2.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" dependencies = [ "proc-macro2", "quote 1.0.36", @@ -3068,22 +3068,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] @@ -3170,7 +3170,7 @@ checksum = "8d9ef545650e79f30233c0003bcc2504d7efac6dad25fca40744de773fe2049c" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] [[package]] @@ -3582,7 +3582,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", "wasm-bindgen-shared", ] @@ -3616,7 +3616,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -3961,5 +3961,5 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote 1.0.36", - "syn 2.0.58", + "syn 2.0.60", ] diff --git a/Cargo.toml b/Cargo.toml index fb1dd6b..9ed95a7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "card-cli" -version = "1.8.5" +version = "1.8.6" authors = ["Hatter Jiang "] edition = "2018" diff --git a/src/cmd_signfile.rs b/src/cmd_signfile.rs index 5f11f57..6fba948 100644 --- a/src/cmd_signfile.rs +++ b/src/cmd_signfile.rs @@ -36,7 +36,7 @@ impl SignFileRequest { let tobe_signed_filename = SignFileTlv::Filename(self.filename.clone()).to_byes(); debugging!("Tobe signed filename: {} ({:?})", hex::encode(&tobe_signed_filename), &self.filename); tobe_signed.extend_from_slice(&tobe_signed_filename); - let tobe_signed_timestamp = SignFileTlv::Timestamp(self.timestamp.clone()).to_byes(); + let tobe_signed_timestamp = SignFileTlv::Timestamp(self.timestamp).to_byes(); debugging!("Tobe signed timestamp: {} ({})", hex::encode(&tobe_signed_timestamp), &self.timestamp); tobe_signed.extend_from_slice(&tobe_signed_timestamp); let tobe_signed_attributes = SignFileTlv::Attributes(self.attributes.clone()).to_byes(); @@ -196,8 +196,8 @@ impl Command for CommandImpl { let filename_opt = match filename_opt { Some(filename) => Some(filename), None => sub_arg_matches.value_of("file").map(|f| { - if f.contains("/") { - f.split("/").last().unwrap().to_string() + if f.contains('/') { + f.split('/').last().unwrap().to_string() } else { f.to_string() } @@ -218,11 +218,11 @@ impl Command for CommandImpl { let signed_data = opt_result!(sign_data(&mut yk, &tobe_signed_digest, algorithm_id, slot_id), "Sign PIV failed: {}"); let signature_bytes = signed_data.as_slice(); - debugging!("Tobe signed signature: {}", hex::encode(&signature_bytes)); + debugging!("Tobe signed signature: {}", hex::encode(signature_bytes)); let signature = SimpleSignFileSignature { algorithm: SIGNATURE_ALGORITHM_SHA256_WITH_ECDSA.to_string(), - signature: format!("{}", base64_encode(&signature_bytes)), + signature: base64_encode(signature_bytes), certificates, }; let simple_sig = SimpleSignFile { @@ -254,7 +254,7 @@ struct FetchCertificateResponse { fn fetch_certificates(fingerprint: &str) -> XResult> { let url = format!("{}{}", CERTIFICATES_SEARCH_URL, fingerprint); - let certificates_response = opt_result!( reqwest::blocking::get(&url), "Fetch certificates failed: {}"); + let certificates_response = opt_result!( reqwest::blocking::get(url), "Fetch certificates failed: {}"); let certificates_response_bytes = opt_result!(certificates_response.bytes(), "Fetch certificates failed: {}"); let response = opt_result!( serde_json::from_slice::(certificates_response_bytes.as_bytes()), diff --git a/src/cmd_signjwt.rs b/src/cmd_signjwt.rs index e62723e..76436d6 100644 --- a/src/cmd_signjwt.rs +++ b/src/cmd_signjwt.rs @@ -166,10 +166,7 @@ fn split_claim(claim: &str) -> Option<(String, Value)> { let mut claim_chars = claim.chars().peekable(); let ty = if let Some('^') = claim_chars.peek() { let _ = claim_chars.next(); - match claim_chars.next() { - None => return None, - Some(t) => Some(t), - } + claim_chars.next() } else { None }; @@ -192,7 +189,7 @@ fn split_claim(claim: &str) -> Option<(String, Value)> { match ty { None | Some('s') => Some((k, Value::String(v))), - Some('b') => Some((k, Value::Bool(vec!["true", "yes", "1"].contains(&v.as_str())))), + Some('b') => Some((k, Value::Bool(["true", "yes", "1"].contains(&v.as_str())))), Some('i') | Some('n') => { if let Ok(i) = v.parse::() { return Some((k, Value::Number(Number::from(i))));