Skip to content

Commit

Permalink
Fix clippy lints
Browse files Browse the repository at this point in the history
  • Loading branch information
Tehforsch committed Nov 27, 2024
1 parent 2eaa0fc commit 0f63731
Show file tree
Hide file tree
Showing 8 changed files with 35 additions and 38 deletions.
4 changes: 2 additions & 2 deletions rust/src/nasl/builtin/cryptographic/aes_cmac.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ fn aes_cmac(register: &Register, _: &Context) -> Result<NaslValue, FnError> {
let key = get_key(register)?;
let data = get_data(register)?;

let mut mac = Cmac::<Aes128>::new_from_slice(key)
.map_err(|e| CryptographicError::AesCmacInvalidLength(e))?;
let mut mac =
Cmac::<Aes128>::new_from_slice(key).map_err(CryptographicError::AesCmacInvalidLength)?;
mac.update(data);

Ok(mac.finalize().into_bytes().to_vec().into())
Expand Down
6 changes: 3 additions & 3 deletions rust/src/nasl/builtin/cryptographic/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ pub enum CryptographicError {
#[error("Invalid length of key in AesCmac {0}.")]
AesCmacInvalidLength(digest::InvalidLength),
#[error("Error in RSA: {0}.")]
RSA(String),
Rsa(String),
#[error("Error in RC4: {0}.")]
RC4(String),
Rc4(String),
}

enum Crypt {
Expand All @@ -62,7 +62,7 @@ fn get_required_named_data<'a>(
"a String or Data Value",
format!("{:?}", x).as_str(),
)),
_ => Err(ArgumentError::MissingNamed(vec![key.into()]).into()),
_ => Err(ArgumentError::MissingNamed(vec![key.into()])),
}
}

Expand Down
12 changes: 6 additions & 6 deletions rust/src/nasl/builtin/cryptographic/rc4.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ impl CipherHandlers {
) -> Result<NaslValue, FnError> {
let hd = match register.named("hd") {
Some(ContextType::Value(NaslValue::Number(x))) => *x as i32,
_ => return Err(CryptographicError::RC4("Handler ID not found".to_string()).into()),
_ => return Err(CryptographicError::Rc4("Handler ID not found".to_string()).into()),
};

let mut handlers = lock_handlers(&self.cipher_handlers)?;
Expand All @@ -74,7 +74,7 @@ impl CipherHandlers {
handlers.remove(i);
Ok(NaslValue::Number(0))
}
_ => Err(CryptographicError::RC4(format!("Handler ID {} not found", hd)).into()),
_ => Err(CryptographicError::Rc4(format!("Handler ID {} not found", hd)).into()),
}
}

Expand All @@ -89,7 +89,7 @@ impl CipherHandlers {

let key = match get_key(register) {
Ok(k) if !k.is_empty() => k.to_vec(),
_ => return Err(CryptographicError::RC4("Missing Key argument".to_string()).into()),
_ => return Err(CryptographicError::Rc4("Missing Key argument".to_string()).into()),
};

let rc_handler = Rc4Key::build_handler_from_key(key.to_vec())?;
Expand All @@ -116,7 +116,7 @@ impl CipherHandlers {
pub fn rc4_encrypt(&self, register: &Register, _: &Context) -> Result<NaslValue, FnError> {
let data = match get_data(register) {
Ok(d) if !d.is_empty() => d.to_vec(),
_ => return Err(CryptographicError::RC4("Missing data argument".to_string()).into()),
_ => return Err(CryptographicError::Rc4("Missing data argument".to_string()).into()),
};

let hd = match register.named("hd") {
Expand All @@ -135,7 +135,7 @@ impl CipherHandlers {

let key = match get_key(register) {
Ok(k) if !k.is_empty() => k.to_vec(),
_ => return Err(CryptographicError::RC4("Missing Key argument".to_string()).into()),
_ => return Err(CryptographicError::Rc4("Missing Key argument".to_string()).into()),
};

let mut rc_handler = Rc4Key::build_handler_from_key(key.to_vec())?;
Expand All @@ -156,7 +156,7 @@ macro_rules! build_rc4key_enum {
fn build_handler_from_key(bl: Vec<u8>) -> Result<Self, FnError> {
match bl.len() {
$($l => Ok(Self::$i(Rc4::new_from_slice(bl.as_slice()).unwrap())),)*
_ => {return Err(CryptographicError::RC4("RC4 Key size not supported".into()).into())}
_ => {return Err(CryptographicError::Rc4("RC4 Key size not supported".into()).into())}
}
}

Expand Down
28 changes: 14 additions & 14 deletions rust/src/nasl/builtin/cryptographic/rsa.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ fn rsa_public_encrypt(
rsa::BigUint::from_bytes_be(n),
rsa::BigUint::from_bytes_be(e),
)
.map_err(|e| CryptographicError::RSA(e.to_string()))?;
.map_err(|e| CryptographicError::Rsa(e.to_string()))?;
let biguint_data = BigUint::from_bytes_be(data);
let enc_data = if pad {
pub_key
.encrypt(&mut rng, Pkcs1v15Encrypt, data)
.map_err(|e| CryptographicError::RSA(e.to_string()))?
.map_err(|e| CryptographicError::Rsa(e.to_string()))?
} else {
rsa::hazmat::rsa_encrypt(&pub_key, &biguint_data)
.map_err(|e| CryptographicError::RSA(e.to_string()))?
.map_err(|e| CryptographicError::Rsa(e.to_string()))?
.to_bytes_be()
};
Ok(enc_data.to_vec().into())
Expand All @@ -57,7 +57,7 @@ fn rsa_private_decrypt(
) {
Ok(val) => Ok(val),
Err(code) => Err(
FnError::from(CryptographicError::RSA(format!("Error code {}", code))).with(
FnError::from(CryptographicError::Rsa(format!("Error code {}", code))).with(
ReturnValue(NaslValue::Array(vec![
NaslValue::Data(n.to_vec()),
NaslValue::Data(e.to_vec()),
Expand All @@ -66,22 +66,22 @@ fn rsa_private_decrypt(
),
),
}
.map_err(|e| CryptographicError::RSA(e.to_string()))?;
.map_err(|e| CryptographicError::Rsa(e.to_string()))?;
let mut rng = OsRng;
let biguint_data = BigUint::from_bytes_be(data);
let dec_data = if pad {
match priv_key.decrypt(Pkcs1v15Encrypt, data) {
Ok(val) => Ok(val),
Err(code) => Err(FnError::from(CryptographicError::RSA(format!(
Err(code) => Err(FnError::from(CryptographicError::Rsa(format!(
"Error code {}",
code
)))
.with(ReturnValue(NaslValue::Data(data.to_vec())))),
}
.map_err(|e| CryptographicError::RSA(e.to_string()))?
.map_err(|e| CryptographicError::Rsa(e.to_string()))?
} else {
rsa::hazmat::rsa_decrypt_and_check(&priv_key, Some(&mut rng), &biguint_data)
.map_err(|e| CryptographicError::RSA(e.to_string()))?
.map_err(|e| CryptographicError::Rsa(e.to_string()))?
.to_bytes_be()
};

Expand All @@ -90,20 +90,20 @@ fn rsa_private_decrypt(

#[nasl_function(named(data, pem, passphrase))]
fn rsa_sign(data: &[u8], pem: &[u8], passphrase: Option<&str>) -> Result<NaslValue, FnError> {
let pem_str = std::str::from_utf8(pem).map_err(|e| CryptographicError::RSA(e.to_string()))?;
let pem_str = std::str::from_utf8(pem).map_err(|e| CryptographicError::Rsa(e.to_string()))?;
let rsa: RsaPrivateKey = if passphrase.unwrap_or_default() != "" {
pkcs8::DecodePrivateKey::from_pkcs8_encrypted_pem(pem_str, passphrase.unwrap_or_default())
.map_err(|e| CryptographicError::RSA(e.to_string()))?
.map_err(|e| CryptographicError::Rsa(e.to_string()))?
} else {
RsaPrivateKey::from_pkcs8_pem(pem_str)
.map_err(|e| CryptographicError::RSA(e.to_string()))?
.map_err(|e| CryptographicError::Rsa(e.to_string()))?
};
let mut hasher = Sha1::new_with_prefix(data);
hasher.update(data);
let hashed_data = hasher.finalize();
let signature = rsa
.sign(Pkcs1v15Sign::new_unprefixed(), &hashed_data)
.map_err(|e| CryptographicError::RSA(e.to_string()))?;
.map_err(|e| CryptographicError::Rsa(e.to_string()))?;
Ok(signature.into())
}

Expand All @@ -112,11 +112,11 @@ fn rsa_public_decrypt(sign: &[u8], n: &[u8], e: &[u8]) -> Result<NaslValue, FnEr
let e_b = rsa::BigUint::from_bytes_be(e);
let n_b = rsa::BigUint::from_bytes_be(n);
let public_key =
RsaPublicKey::new(n_b, e_b).map_err(|e| CryptographicError::RSA(e.to_string()))?;
RsaPublicKey::new(n_b, e_b).map_err(|e| CryptographicError::Rsa(e.to_string()))?;
let mut rng = rand::thread_rng();
let enc_data = public_key
.encrypt(&mut rng, Pkcs1v15Encrypt, sign)
.map_err(|e| CryptographicError::RSA(e.to_string()))?;
.map_err(|e| CryptographicError::Rsa(e.to_string()))?;
Ok(enc_data.to_vec().into())
}

Expand Down
17 changes: 7 additions & 10 deletions rust/src/nasl/builtin/network/socket.rs
Original file line number Diff line number Diff line change
Expand Up @@ -179,8 +179,7 @@ impl NaslSockets {
if flags < 0 || flags > i32::MAX as i64 {
return Err(SocketError::WrongArgument(
"the given flags value is out of range".to_string(),
)
.into());
));
}
Ok(conn.send_with_flags(data, flags as i32)?)
} else {
Expand Down Expand Up @@ -245,7 +244,7 @@ impl NaslSockets {
match conn.read_with_timeout(&mut data[pos..], timeout) {
Ok(n) => pos += n,
Err(e) if e.kind() == io::ErrorKind::TimedOut => break,
Err(e) => return Err(SocketError::from(e).into()),
Err(e) => return Err(SocketError::from(e)),
}
}
Ok(NaslValue::Data(data[..pos].to_vec()))
Expand Down Expand Up @@ -295,12 +294,10 @@ impl NaslSockets {
}
NaslSocket::Udp(_) => Err(SocketError::Diagnostic(
"This function is only available for TCP connections".to_string(),
)
.into()),
)),
NaslSocket::Closed => Err(SocketError::WrongArgument(
"the given socket FD is already closed".to_string(),
)
.into()),
)),
}
}

Expand Down Expand Up @@ -335,9 +332,9 @@ impl NaslSockets {
Some(_) => Err(SocketError::Diagnostic(
"KB key 'Secret/kdc_port' has wrong type".to_string(),
)),
None => Err(
SocketError::Diagnostic("KB key 'Secret/kdc_port' is not set".to_string()).into(),
),
None => Err(SocketError::Diagnostic(
"KB key 'Secret/kdc_port' is not set".to_string(),
)),
}?;

let use_tcp: bool = get_kb_item(context, "Secret/kdc_use_tcp")?
Expand Down
2 changes: 1 addition & 1 deletion rust/src/nasl/builtin/raw_ip/packet_forgery.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2074,7 +2074,7 @@ fn nasl_send_packet(register: &Register, configs: &Context) -> Result<NaslValue,

let sock_str = format!("{}:{}", &packet.get_destination().to_string().as_str(), 0);
let sockaddr =
SocketAddr::from_str(&sock_str).map_err(|e| PacketForgeryError::ParseSocketAddr(e))?;
SocketAddr::from_str(&sock_str).map_err(PacketForgeryError::ParseSocketAddr)?;
let sockaddr = socket2::SockAddr::from(sockaddr);

match soc.send_to(packet_raw, &sockaddr) {
Expand Down
2 changes: 1 addition & 1 deletion rust/src/nasl/builtin/raw_ip/raw_ip_utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ pub fn bind_local_socket(dst: &SocketAddr) -> Result<UdpSocket, RawIpError> {
SocketAddr::V4(_) => UdpSocket::bind("0.0.0.0:0"),
SocketAddr::V6(_) => UdpSocket::bind(" 0:0:0:0:0:0:0:0:0"),
}
.map_err(|e| RawIpError::FailedToBind(e))
.map_err(RawIpError::FailedToBind)
}

/// Return the source IP address given the destination IP address
Expand Down
2 changes: 1 addition & 1 deletion rust/src/nasl/utils/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ pub fn get_named_parameter<'a>(
match registrat.named(key) {
None => {
if required {
Err(ArgumentError::MissingNamed(vec![key.to_owned()]).into())
Err(ArgumentError::MissingNamed(vec![key.to_owned()]))
} else {
// we use exit because a named value can be intentionally set to null and may be
// treated differently when it is not set compared to set but null.
Expand Down

0 comments on commit 0f63731

Please sign in to comment.