mirror of
https://github.com/rosenpass/rosenpass.git
synced 2025-12-12 07:40:30 -08:00
chore: Clippy fixes on wireguard-broker
This commit is contained in:
@@ -88,7 +88,7 @@ where
|
||||
None => return Ok(None),
|
||||
};
|
||||
|
||||
let typ = res.get(0).ok_or(invalid_msg_poller())?;
|
||||
let typ = res.first().ok_or(invalid_msg_poller())?;
|
||||
let typ = msgs::MsgType::try_from(*typ)?;
|
||||
let msgs::MsgType::SetPsk = typ; // Assert type
|
||||
|
||||
@@ -113,7 +113,7 @@ where
|
||||
|
||||
fn set_psk(&mut self, config: SerializedBrokerConfig) -> Result<(), Self::Error> {
|
||||
let config: Result<NetworkBrokerConfig, NetworkBrokerConfigErr> = config.try_into();
|
||||
let config = config.map_err(|e| BrokerClientSetPskError::BrokerError(e))?;
|
||||
let config = config.map_err(BrokerClientSetPskError::BrokerError)?;
|
||||
|
||||
use BrokerClientSetPskError::*;
|
||||
const BUF_SIZE: usize = REQUEST_MSG_BUFFER_SIZE;
|
||||
|
||||
@@ -11,12 +11,12 @@ pub struct NetworkBrokerConfig<'a> {
|
||||
pub psk: &'a Secret<WG_KEY_LEN>,
|
||||
}
|
||||
|
||||
impl<'a> Into<SerializedBrokerConfig<'a>> for NetworkBrokerConfig<'a> {
|
||||
fn into(self) -> SerializedBrokerConfig<'a> {
|
||||
SerializedBrokerConfig {
|
||||
interface: self.iface.as_bytes(),
|
||||
peer_id: self.peer_id,
|
||||
psk: self.psk,
|
||||
impl<'a> From<NetworkBrokerConfig<'a>> for SerializedBrokerConfig<'a> {
|
||||
fn from(src: NetworkBrokerConfig<'a>) -> SerializedBrokerConfig<'a> {
|
||||
Self {
|
||||
interface: src.iface.as_bytes(),
|
||||
peer_id: src.peer_id,
|
||||
psk: src.psk,
|
||||
additional_params: &[],
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,7 +42,7 @@ impl SetPskRequest {
|
||||
self.iface_size = iface.len() as u8;
|
||||
|
||||
self.iface_buf = [0; 255];
|
||||
(&mut self.iface_buf[..iface.len()]).copy_from_slice(iface);
|
||||
self.iface_buf[..iface.len()].copy_from_slice(iface);
|
||||
|
||||
Some(())
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ where
|
||||
) -> Result<usize, BrokerServerError> {
|
||||
use BrokerServerError::*;
|
||||
|
||||
let typ = req.get(0).ok_or(InvalidMessage)?;
|
||||
let typ = req.first().ok_or(InvalidMessage)?;
|
||||
let typ = msgs::MsgType::try_from(*typ)?;
|
||||
let msgs::MsgType::SetPsk = typ; // Assert type
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ pub mod linux {
|
||||
|
||||
// Write the response
|
||||
stdout.write_all(&(res.len() as u64).to_le_bytes())?;
|
||||
stdout.write_all(&res)?;
|
||||
stdout.write_all(res)?;
|
||||
stdout.flush()?;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,7 +121,7 @@ async fn direct_broker_process(
|
||||
|
||||
// Read the message itself
|
||||
let mut res_buf = request; // Avoid allocating memory if we don't have to
|
||||
res_buf.resize(len as usize, 0);
|
||||
res_buf.resize(len, 0);
|
||||
stdout.read_exact(&mut res_buf[..len]).await?;
|
||||
|
||||
// Return to the unix socket connection worker
|
||||
@@ -163,7 +163,7 @@ async fn on_accept(queue: mpsc::Sender<BrokerRequest>, mut stream: UnixStream) -
|
||||
);
|
||||
|
||||
// Read the message itself
|
||||
req_buf.resize(len as usize, 0);
|
||||
req_buf.resize(len, 0);
|
||||
stream.read_exact(&mut req_buf[..len]).await?;
|
||||
|
||||
// Handle the message
|
||||
|
||||
@@ -52,23 +52,17 @@ impl MioBrokerClient {
|
||||
|
||||
// This sucks
|
||||
match self.inner.poll_response() {
|
||||
Ok(res) => {
|
||||
return Ok(res);
|
||||
}
|
||||
Err(BrokerClientPollResponseError::IoError(e)) => {
|
||||
return Err(e);
|
||||
}
|
||||
Err(BrokerClientPollResponseError::InvalidMessage) => {
|
||||
bail!("Invalid message");
|
||||
}
|
||||
};
|
||||
Ok(res) => Ok(res),
|
||||
Err(BrokerClientPollResponseError::IoError(e)) => Err(e),
|
||||
Err(BrokerClientPollResponseError::InvalidMessage) => bail!("Invalid message"),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl WireGuardBroker for MioBrokerClient {
|
||||
type Error = anyhow::Error;
|
||||
|
||||
fn set_psk<'a>(&mut self, config: SerializedBrokerConfig<'a>) -> anyhow::Result<()> {
|
||||
fn set_psk(&mut self, config: SerializedBrokerConfig<'_>) -> anyhow::Result<()> {
|
||||
use BrokerClientSetPskError::*;
|
||||
let e = self.inner.set_psk(config);
|
||||
match e {
|
||||
@@ -115,7 +109,7 @@ impl BrokerClientIo for MioBrokerClientIo {
|
||||
fn send_msg(&mut self, buf: &[u8]) -> Result<(), Self::SendError> {
|
||||
self.flush()?;
|
||||
self.send_or_buffer(&(buf.len() as u64).to_le_bytes())?;
|
||||
self.send_or_buffer(&buf)?;
|
||||
self.send_or_buffer(buf)?;
|
||||
self.flush()?;
|
||||
|
||||
Ok(())
|
||||
@@ -192,7 +186,7 @@ impl MioBrokerClientIo {
|
||||
|
||||
self.send_buf.drain(..written);
|
||||
|
||||
(&self.socket).try_io(|| (&self.socket).flush())?;
|
||||
self.socket.try_io(|| (&self.socket).flush())?;
|
||||
|
||||
res
|
||||
}
|
||||
@@ -204,7 +198,7 @@ impl MioBrokerClientIo {
|
||||
off += raw_send(&self.socket, buf)?;
|
||||
}
|
||||
|
||||
self.send_buf.extend((&buf[off..]).iter());
|
||||
self.send_buf.extend(buf[off..].iter());
|
||||
|
||||
Ok(())
|
||||
}
|
||||
@@ -231,7 +225,7 @@ fn raw_send(mut socket: &mio::net::UnixStream, data: &[u8]) -> anyhow::Result<us
|
||||
}
|
||||
})?;
|
||||
|
||||
return Ok(off);
|
||||
Ok(off)
|
||||
}
|
||||
|
||||
fn raw_recv(mut socket: &mio::net::UnixStream, out: &mut [u8]) -> anyhow::Result<usize> {
|
||||
@@ -255,5 +249,5 @@ fn raw_recv(mut socket: &mio::net::UnixStream, out: &mut [u8]) -> anyhow::Result
|
||||
}
|
||||
})?;
|
||||
|
||||
return Ok(off);
|
||||
Ok(off)
|
||||
}
|
||||
|
||||
@@ -87,21 +87,20 @@ impl WireGuardBroker for NetlinkWireGuardBroker {
|
||||
.sock
|
||||
.get_device(wg::DeviceInterface::from_name(config.iface))?;
|
||||
|
||||
if state
|
||||
if !state
|
||||
.peers
|
||||
.iter()
|
||||
.find(|p| &p.public_key == &config.peer_id.value)
|
||||
.is_none()
|
||||
.any(|p| p.public_key == config.peer_id.value)
|
||||
{
|
||||
return Err(SetPskError::NoSuchPeer);
|
||||
}
|
||||
|
||||
// Peer update description
|
||||
let mut set_peer = wireguard_uapi::set::Peer::from_public_key(&config.peer_id);
|
||||
let mut set_peer = wireguard_uapi::set::Peer::from_public_key(config.peer_id);
|
||||
set_peer
|
||||
.flags
|
||||
.push(wireguard_uapi::linux::set::WgPeerF::UpdateOnly);
|
||||
set_peer.preshared_key = Some(&config.psk.secret());
|
||||
set_peer.preshared_key = Some(config.psk.secret());
|
||||
|
||||
// Device update description
|
||||
let mut set_dev = wireguard_uapi::set::Device::from_ifname(config.iface);
|
||||
|
||||
@@ -36,6 +36,7 @@ mod integration_tests {
|
||||
impl WireGuardBroker for MockServerBroker {
|
||||
type Error = SetPskError;
|
||||
|
||||
#[allow(clippy::clone_on_copy)]
|
||||
fn set_psk(&mut self, config: SerializedBrokerConfig) -> Result<(), Self::Error> {
|
||||
loop {
|
||||
let mut lock = self.inner.try_lock();
|
||||
|
||||
Reference in New Issue
Block a user