From 119f42e2bab46d2d53e0abcc7744c2969c3a0f37 Mon Sep 17 00:00:00 2001 From: alessiodam Date: Thu, 31 Oct 2024 13:54:21 +0100 Subject: [PATCH] Improve QoC Signed-off-by: DecDuck --- .gitignore | 5 ++++- src/file_utils.rs | 8 ++++---- src/lib.rs | 1 - src/manifest.rs | 7 +++---- src/ssl.rs | 34 ++++++++++++++++------------------ 5 files changed, 27 insertions(+), 28 deletions(-) diff --git a/.gitignore b/.gitignore index 00f3c11..52ff5c1 100644 --- a/.gitignore +++ b/.gitignore @@ -200,4 +200,7 @@ Cargo.lock index.js index.d.ts test.mjs -manifest.json \ No newline at end of file +manifest.json + +# JetBrains +.idea diff --git a/src/file_utils.rs b/src/file_utils.rs index ab06369..eb21219 100644 --- a/src/file_utils.rs +++ b/src/file_utils.rs @@ -1,8 +1,8 @@ use std::{fs::{self, metadata}, path::{Path, PathBuf}}; fn _list_files(vec: &mut Vec, path: &Path) { - if metadata(&path).unwrap().is_dir() { - let paths = fs::read_dir(&path).unwrap(); + if metadata(path).unwrap().is_dir() { + let paths = fs::read_dir(path).unwrap(); for path_result in paths { let full_path = path_result.unwrap().path(); if metadata(&full_path).unwrap().is_dir() { @@ -16,6 +16,6 @@ fn _list_files(vec: &mut Vec, path: &Path) { pub fn list_files(path: &Path) -> Vec { let mut vec = Vec::new(); - _list_files(&mut vec, &path); - return vec; + _list_files(&mut vec, path); + vec } diff --git a/src/lib.rs b/src/lib.rs index 6e2bac6..4eb7ac9 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -6,4 +6,3 @@ pub mod ssl; #[macro_use] extern crate napi_derive; - diff --git a/src/manifest.rs b/src/manifest.rs index 45a396c..95b6351 100644 --- a/src/manifest.rs +++ b/src/manifest.rs @@ -1,11 +1,10 @@ use std::{ - collections::HashMap, fs::File, hash::Hasher, io::{BufRead, BufReader}, path::Path, thread + collections::HashMap, fs::File, io::{BufRead, BufReader}, path::Path, thread }; #[cfg(unix)] use std::os::unix::fs::PermissionsExt; -use gxhash::{gxhash128, GxHasher}; use napi::{ threadsafe_function::{ErrorStrategy, ThreadsafeFunction, ThreadsafeFunctionCallMode}, Error, JsFunction, @@ -85,7 +84,7 @@ pub fn generate_manifest( let mut reader = BufReader::with_capacity(CHUNK_SIZE, file); let mut chunk_data = ChunkData { - permissions: permissions, + permissions, ids: Vec::new(), checksums: Vec::new(), lengths: Vec::new(), @@ -133,5 +132,5 @@ pub fn generate_manifest( ); }); - return Ok(()); + Ok(()) } diff --git a/src/ssl.rs b/src/ssl.rs index d50a99a..1dc6d66 100644 --- a/src/ssl.rs +++ b/src/ssl.rs @@ -7,7 +7,6 @@ use openssl::{ nid::Nid, pkey::PKey, sign::{Signer, Verifier}, - ssl::{SslConnector, SslContext, SslMethod}, stack::Stack, x509::{ extension::{AuthorityKeyIdentifier, BasicConstraints, KeyUsage, SubjectKeyIdentifier}, @@ -15,6 +14,13 @@ use openssl::{ X509Builder, X509NameBuilder, X509ReqBuilder, X509StoreContext, X509, }, }; +use openssl::asn1::Asn1Integer; + +fn create_serial_number() -> Asn1Integer { + let mut serial = BigNum::new().unwrap(); + serial.rand(159, MsbOption::MAYBE_ZERO, false).unwrap(); + serial.to_asn1_integer().unwrap() +} #[napi] pub fn generate_root_ca() -> Result, Error> { @@ -25,11 +31,7 @@ pub fn generate_root_ca() -> Result, Error> { let mut x509_builder = X509Builder::new().unwrap(); x509_builder.set_version(2).unwrap(); - let serial_number = { - let mut serial = BigNum::new().unwrap(); - serial.rand(159, MsbOption::MAYBE_ZERO, false).unwrap(); - serial.to_asn1_integer().unwrap() - }; + let serial_number = create_serial_number(); x509_builder.set_serial_number(&serial_number).unwrap(); let mut x509_name = X509NameBuilder::new().unwrap(); @@ -72,10 +74,10 @@ pub fn generate_root_ca() -> Result, Error> { let x509 = x509_builder.build(); - return Ok(vec![ + Ok(vec![ String::from_utf8(x509.to_pem().unwrap()).unwrap(), String::from_utf8(key_pair.private_key_to_pem_pkcs8().unwrap()).unwrap(), - ]); + ]) } #[napi] @@ -121,11 +123,7 @@ pub fn generate_client_certificate( x509_builder.set_version(2).unwrap(); x509_builder.set_pubkey(&key_pair).unwrap(); - let serial_number = { - let mut serial = BigNum::new().unwrap(); - serial.rand(159, MsbOption::MAYBE_ZERO, false).unwrap(); - serial.to_asn1_integer().unwrap() - }; + let serial_number = create_serial_number(); x509_builder.set_serial_number(&serial_number).unwrap(); x509_builder.set_subject_name(req.subject_name()).unwrap(); @@ -173,10 +171,10 @@ pub fn generate_client_certificate( let x509 = x509_builder.build(); - return Ok(vec![ + Ok(vec![ String::from_utf8(x509.to_pem().unwrap()).unwrap(), String::from_utf8(key_pair.private_key_to_pem_pkcs8().unwrap()).unwrap(), - ]); + ]) } #[napi] @@ -196,7 +194,7 @@ pub fn verify_client_certificate(client_cert: String, root_ca: String) -> Result .init(&store, &client_cert, &chain, |c| c.verify_cert()) .unwrap(); - return Ok(result); + Ok(result) } #[napi] @@ -210,7 +208,7 @@ pub fn sign_nonce(private_key: String, nonce: String) -> Result { let hex_signature = hex::encode(signature); - return Ok(hex_signature); + Ok(hex_signature) } #[napi] @@ -229,5 +227,5 @@ pub fn verify_nonce(public_cert: String, nonce: String, signature: String) -> Re let result = verifier.verify(&signature).unwrap(); - return Ok(result); + Ok(result) }