From 7a036d58ad136efc5bf48c54ad6e03aac5b1b8ad Mon Sep 17 00:00:00 2001 From: moznion Date: Tue, 24 Nov 2020 01:37:36 +0900 Subject: [PATCH] Correct unsuitable signature --- src/attribute.rs | 6 +++--- src/attributes.rs | 2 +- src/packet.rs | 8 ++++---- src/server.rs | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/attribute.rs b/src/attribute.rs index 7507658..b8dd55f 100644 --- a/src/attribute.rs +++ b/src/attribute.rs @@ -16,7 +16,7 @@ impl Attribute { Attribute(v.as_bytes().to_vec()) } - pub fn from_bytes(v: &Vec) -> Self { + pub fn from_bytes(v: &[u8]) -> Self { Attribute(v.to_vec()) } @@ -28,7 +28,7 @@ impl Attribute { Attribute(v.octets().to_vec()) } - pub fn from_user_password(plain_text: &Vec, secret: &Vec, request_authenticator: &Vec) -> Result { + pub fn from_user_password(plain_text: &[u8], secret: &[u8], request_authenticator: &[u8]) -> Result { if plain_text.len() > 128 { return Err("the length of plain_text has to be within 128, but the given value is longer".to_owned()); } @@ -122,7 +122,7 @@ impl Attribute { } } - pub fn to_user_password(&self, secret: &Vec, request_authenticator: &Vec) -> Result, String> { + pub fn to_user_password(&self, secret: &[u8], request_authenticator: &[u8]) -> Result, String> { if self.0.len() < 16 || self.0.len() > 128 { return Err(format!("invalid attribute length {}", self.0.len())); } diff --git a/src/attributes.rs b/src/attributes.rs index 5201c37..c49e4bc 100644 --- a/src/attributes.rs +++ b/src/attributes.rs @@ -14,7 +14,7 @@ pub struct AVP { pub struct Attributes(pub(crate) Vec); impl Attributes { - pub(crate) fn parse_attributes(bs: &Vec) -> Result { + pub(crate) fn parse_attributes(bs: &[u8]) -> Result { let mut i = 0; let mut attrs = Vec::new(); diff --git a/src/packet.rs b/src/packet.rs index 8de2274..1e65e15 100644 --- a/src/packet.rs +++ b/src/packet.rs @@ -17,7 +17,7 @@ pub struct Packet { } impl Packet { - pub fn new(code: Code, secret: &Vec) -> Self { + pub fn new(code: Code, secret: &[u8]) -> Self { let mut rng = rand::thread_rng(); let authenticator = (0..16).map(|_| rng.gen()).collect::>(); Packet { @@ -33,11 +33,11 @@ impl Packet { self.identifier } - pub fn get_secret(&self) -> &Vec { + pub fn get_secret(&self) -> &Vec { // TODO &self.secret } - pub fn parse(bs: &Vec, secret: &Vec) -> Result { + pub fn parse(bs: &[u8], secret: &[u8]) -> Result { if bs.len() < 20 { return Err("radius packet doesn't have enough length of bytes; that has to be at least 20 bytes".to_owned()); } @@ -136,7 +136,7 @@ impl Packet { ].concat()).to_vec().eq(&response[4..20].to_vec()) } - pub fn is_authentic_request(request: &Vec, secret: &Vec) -> bool { + pub fn is_authentic_request(request: &[u8], secret: &[u8]) -> bool { if request.len() < 20 || secret.len() == 0 { return false; } diff --git a/src/server.rs b/src/server.rs index d6bc133..fe154eb 100644 --- a/src/server.rs +++ b/src/server.rs @@ -88,7 +88,7 @@ impl Server { async fn process_request( conn: Arc, - request_data: &Vec, + request_data: &Vec, // TODO local_addr: SocketAddr, remote_addr: SocketAddr, undergoing_requests_lock: Arc>>,