Skip to content

Commit 97182ef

Browse files
committed
Run cargo fmt
Signed-off-by: Gris Ge <[email protected]>
1 parent d697bb7 commit 97182ef

File tree

11 files changed

+155
-101
lines changed

11 files changed

+155
-101
lines changed

.rustfmt.toml

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
max_width = 80
2+
wrap_comments = true
3+
reorder_imports = true
4+
edition = "2021"

examples/nflog.rs

+16-8
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ use netlink_packet_netfilter::{
2222
NfLogMessage,
2323
},
2424
nl::{NetlinkMessage, NetlinkPayload},
25-
NetfilterMessage,
26-
NetfilterMessageInner,
25+
NetfilterMessage, NetfilterMessageInner,
2726
};
2827
use netlink_sys::{constants::NETLINK_NETFILTER, Socket};
2928

@@ -56,11 +55,13 @@ fn main() {
5655
// And check there is no error
5756
let size = socket.recv(&mut &mut receive_buffer[..], 0).unwrap();
5857
let bytes = &receive_buffer[..size];
59-
let rx_packet = <NetlinkMessage<NetfilterMessage>>::deserialize(bytes).unwrap();
58+
let rx_packet =
59+
<NetlinkMessage<NetfilterMessage>>::deserialize(bytes).unwrap();
6060
println!("<<< {:?}", rx_packet);
6161
assert!(matches!(rx_packet.payload, NetlinkPayload::Ack(_)));
6262

63-
// After that we issue a Bind command, to start receiving packets. We can also set various parameters at the same time
63+
// After that we issue a Bind command, to start receiving packets. We can
64+
// also set various parameters at the same time
6465
let timeout: Timeout = Duration::from_millis(100).into();
6566
let packet = config_request(
6667
AF_INET,
@@ -79,7 +80,8 @@ fn main() {
7980

8081
let size = socket.recv(&mut &mut receive_buffer[..], 0).unwrap();
8182
let bytes = &receive_buffer[..size];
82-
let rx_packet = <NetlinkMessage<NetfilterMessage>>::deserialize(bytes).unwrap();
83+
let rx_packet =
84+
<NetlinkMessage<NetfilterMessage>>::deserialize(bytes).unwrap();
8385
println!("<<< {:?}", rx_packet);
8486
assert!(matches!(rx_packet.payload, NetlinkPayload::Ack(_)));
8587

@@ -91,12 +93,18 @@ fn main() {
9193
loop {
9294
let bytes = &receive_buffer[offset..];
9395

94-
let rx_packet = <NetlinkMessage<NetfilterMessage>>::deserialize(bytes).unwrap();
96+
let rx_packet =
97+
<NetlinkMessage<NetfilterMessage>>::deserialize(bytes)
98+
.unwrap();
9599

96100
for nla in get_packet_nlas(&rx_packet) {
97101
if let PacketNla::Payload(payload) = nla {
98-
let src = Ipv4Addr::from(NetworkEndian::read_u32(&payload[12..]));
99-
let dst = Ipv4Addr::from(NetworkEndian::read_u32(&payload[16..]));
102+
let src = Ipv4Addr::from(NetworkEndian::read_u32(
103+
&payload[12..],
104+
));
105+
let dst = Ipv4Addr::from(NetworkEndian::read_u32(
106+
&payload[16..],
107+
));
100108
println!("Packet from {} to {}", src, dst);
101109
break;
102110
}

src/buffer.rs

+13-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
// SPDX-License-Identifier: MIT
22

33
use crate::{
4-
message::{NetfilterHeader, NetfilterMessage, NetfilterMessageInner, NETFILTER_HEADER_LEN},
4+
message::{
5+
NetfilterHeader, NetfilterMessage, NetfilterMessageInner,
6+
NETFILTER_HEADER_LEN,
7+
},
58
nflog::NfLogMessage,
69
traits::{Parseable, ParseableParametrized},
710
DecodeError,
@@ -18,7 +21,9 @@ buffer!(NetfilterBuffer(NETFILTER_HEADER_LEN) {
1821
});
1922

2023
impl<'a, T: AsRef<[u8]> + ?Sized> NetfilterBuffer<&'a T> {
21-
pub fn nlas(&self) -> impl Iterator<Item = Result<NlaBuffer<&'a [u8]>, DecodeError>> {
24+
pub fn nlas(
25+
&self,
26+
) -> impl Iterator<Item = Result<NlaBuffer<&'a [u8]>, DecodeError>> {
2227
NlasIterator::new(self.payload())
2328
}
2429

@@ -38,16 +43,17 @@ impl<'a, T: AsRef<[u8]> + ?Sized> NetfilterBuffer<&'a T> {
3843
}
3944
}
4045

41-
impl<'a, T: AsRef<[u8]> + ?Sized> ParseableParametrized<NetfilterBuffer<&'a T>, u16>
42-
for NetfilterMessage
46+
impl<'a, T: AsRef<[u8]> + ?Sized>
47+
ParseableParametrized<NetfilterBuffer<&'a T>, u16> for NetfilterMessage
4348
{
4449
fn parse_with_param(
4550
buf: &NetfilterBuffer<&'a T>,
4651
message_type: u16,
4752
) -> Result<Self, DecodeError> {
48-
let header_buf = crate::message::NetfilterHeaderBuffer::new(buf.inner());
49-
let header =
50-
NetfilterHeader::parse(&header_buf).context("failed to parse netfilter header")?;
53+
let header_buf =
54+
crate::message::NetfilterHeaderBuffer::new(buf.inner());
55+
let header = NetfilterHeader::parse(&header_buf)
56+
.context("failed to parse netfilter header")?;
5157
let subsys = (message_type >> 8) as u8;
5258
let message_type = message_type as u8;
5359
let inner = match subsys {

src/constants.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ pub const NFNL_SUBSYS_ULOG: u8 = libc::NFNL_SUBSYS_ULOG as u8;
5252
pub const NFNL_SUBSYS_OSF: u8 = libc::NFNL_SUBSYS_OSF as u8;
5353
pub const NFNL_SUBSYS_IPSET: u8 = libc::NFNL_SUBSYS_IPSET as u8;
5454
pub const NFNL_SUBSYS_ACCT: u8 = libc::NFNL_SUBSYS_ACCT as u8;
55-
pub const NFNL_SUBSYS_CTNETLINK_TIMEOUT: u8 = libc::NFNL_SUBSYS_CTNETLINK_TIMEOUT as u8;
55+
pub const NFNL_SUBSYS_CTNETLINK_TIMEOUT: u8 =
56+
libc::NFNL_SUBSYS_CTNETLINK_TIMEOUT as u8;
5657
pub const NFNL_SUBSYS_CTHELPER: u8 = libc::NFNL_SUBSYS_CTHELPER as u8;
5758
pub const NFNL_SUBSYS_NFTABLES: u8 = libc::NFNL_SUBSYS_NFTABLES as u8;
5859
pub const NFNL_SUBSYS_NFT_COMPAT: u8 = libc::NFNL_SUBSYS_NFT_COMPAT as u8;

src/message.rs

+22-10
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
// SPDX-License-Identifier: MIT
22

33
use netlink_packet_core::{
4-
DecodeError,
5-
NetlinkDeserializable,
6-
NetlinkHeader,
7-
NetlinkPayload,
4+
DecodeError, NetlinkDeserializable, NetlinkHeader, NetlinkPayload,
85
NetlinkSerializable,
96
};
10-
use netlink_packet_utils::{buffer, nla::DefaultNla, Emitable, Parseable, ParseableParametrized};
7+
use netlink_packet_utils::{
8+
buffer, nla::DefaultNla, Emitable, Parseable, ParseableParametrized,
9+
};
1110

1211
use crate::{buffer::NetfilterBuffer, nflog::NfLogMessage};
1312

@@ -80,14 +79,18 @@ impl Emitable for NetfilterMessageInner {
8079
fn buffer_len(&self) -> usize {
8180
match self {
8281
NetfilterMessageInner::NfLog(message) => message.buffer_len(),
83-
NetfilterMessageInner::Other { nlas, .. } => nlas.as_slice().buffer_len(),
82+
NetfilterMessageInner::Other { nlas, .. } => {
83+
nlas.as_slice().buffer_len()
84+
}
8485
}
8586
}
8687

8788
fn emit(&self, buffer: &mut [u8]) {
8889
match self {
8990
NetfilterMessageInner::NfLog(message) => message.emit(buffer),
90-
NetfilterMessageInner::Other { nlas, .. } => nlas.as_slice().emit(buffer),
91+
NetfilterMessageInner::Other { nlas, .. } => {
92+
nlas.as_slice().emit(buffer)
93+
}
9194
}
9295
}
9396
}
@@ -99,7 +102,10 @@ pub struct NetfilterMessage {
99102
}
100103

101104
impl NetfilterMessage {
102-
pub fn new<T: Into<NetfilterMessageInner>>(header: NetfilterHeader, inner: T) -> Self {
105+
pub fn new<T: Into<NetfilterMessageInner>>(
106+
header: NetfilterHeader,
107+
inner: T,
108+
) -> Self {
103109
Self {
104110
header,
105111
inner: inner.into(),
@@ -148,10 +154,16 @@ impl NetlinkSerializable for NetfilterMessage {
148154

149155
impl NetlinkDeserializable for NetfilterMessage {
150156
type Error = DecodeError;
151-
fn deserialize(header: &NetlinkHeader, payload: &[u8]) -> Result<Self, Self::Error> {
157+
fn deserialize(
158+
header: &NetlinkHeader,
159+
payload: &[u8],
160+
) -> Result<Self, Self::Error> {
152161
match NetfilterBuffer::new_checked(payload) {
153162
Err(e) => Err(e),
154-
Ok(buffer) => match NetfilterMessage::parse_with_param(&buffer, header.message_type) {
163+
Ok(buffer) => match NetfilterMessage::parse_with_param(
164+
&buffer,
165+
header.message_type,
166+
) {
155167
Err(e) => Err(e),
156168
Ok(message) => Ok(message),
157169
},

src/nflog/message.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -49,20 +49,22 @@ impl Emitable for NfLogMessage {
4949
}
5050
}
5151

52-
impl<'a, T: AsRef<[u8]> + ?Sized> ParseableParametrized<NetfilterBuffer<&'a T>, u8>
53-
for NfLogMessage
52+
impl<'a, T: AsRef<[u8]> + ?Sized>
53+
ParseableParametrized<NetfilterBuffer<&'a T>, u8> for NfLogMessage
5454
{
5555
fn parse_with_param(
5656
buf: &NetfilterBuffer<&'a T>,
5757
message_type: u8,
5858
) -> Result<Self, DecodeError> {
5959
Ok(match message_type {
6060
NFULNL_MSG_CONFIG => {
61-
let nlas = buf.parse_all_nlas(|nla_buf| ConfigNla::parse(&nla_buf))?;
61+
let nlas =
62+
buf.parse_all_nlas(|nla_buf| ConfigNla::parse(&nla_buf))?;
6263
NfLogMessage::Config(nlas)
6364
}
6465
NFULNL_MSG_PACKET => {
65-
let nlas = buf.parse_all_nlas(|nla_buf| PacketNla::parse(&nla_buf))?;
66+
let nlas =
67+
buf.parse_all_nlas(|nla_buf| PacketNla::parse(&nla_buf))?;
6668
NfLogMessage::Packet(nlas)
6769
}
6870
_ => NfLogMessage::Other {

src/nflog/mod.rs

+4-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ pub mod nlas;
77
use crate::{
88
constants::NFNETLINK_V0,
99
nflog::nlas::config::ConfigNla,
10-
nl::{NetlinkHeader, NetlinkMessage, NetlinkPayload, NLM_F_ACK, NLM_F_REQUEST},
11-
NetfilterHeader,
12-
NetfilterMessage,
10+
nl::{
11+
NetlinkHeader, NetlinkMessage, NetlinkPayload, NLM_F_ACK, NLM_F_REQUEST,
12+
},
13+
NetfilterHeader, NetfilterMessage,
1314
};
1415

1516
pub fn config_request(

src/nflog/nlas/config/nla.rs

+27-23
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,11 @@ use derive_more::{From, IsVariant};
66

77
use crate::{
88
constants::{
9-
NFULA_CFG_CMD,
10-
NFULA_CFG_FLAGS,
11-
NFULA_CFG_MODE,
12-
NFULA_CFG_NLBUFSIZ,
13-
NFULA_CFG_QTHRESH,
14-
NFULA_CFG_TIMEOUT,
9+
NFULA_CFG_CMD, NFULA_CFG_FLAGS, NFULA_CFG_MODE, NFULA_CFG_NLBUFSIZ,
10+
NFULA_CFG_QTHRESH, NFULA_CFG_TIMEOUT,
1511
},
1612
nflog::nlas::config::{
17-
config_mode::ConfigModeBuffer,
18-
ConfigCmd,
19-
ConfigFlags,
20-
ConfigMode,
13+
config_mode::ConfigModeBuffer, ConfigCmd, ConfigFlags, ConfigMode,
2114
Timeout,
2215
},
2316
nl::DecodeError,
@@ -68,39 +61,50 @@ impl Nla for ConfigNla {
6861
match self {
6962
ConfigNla::Cmd(attr) => attr.emit_value(buffer),
7063
ConfigNla::Mode(attr) => attr.emit_value(buffer),
71-
ConfigNla::NlBufSiz(buf_siz) => BigEndian::write_u32(buffer, *buf_siz),
64+
ConfigNla::NlBufSiz(buf_siz) => {
65+
BigEndian::write_u32(buffer, *buf_siz)
66+
}
7267
ConfigNla::Timeout(attr) => attr.emit_value(buffer),
73-
ConfigNla::QThresh(q_thresh) => BigEndian::write_u32(buffer, *q_thresh),
68+
ConfigNla::QThresh(q_thresh) => {
69+
BigEndian::write_u32(buffer, *q_thresh)
70+
}
7471
ConfigNla::Flags(attr) => attr.emit_value(buffer),
7572
ConfigNla::Other(attr) => attr.emit_value(buffer),
7673
}
7774
}
7875
}
7976

80-
impl<'buffer, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'buffer T>> for ConfigNla {
77+
impl<'buffer, T: AsRef<[u8]> + ?Sized> Parseable<NlaBuffer<&'buffer T>>
78+
for ConfigNla
79+
{
8180
fn parse(buf: &NlaBuffer<&'buffer T>) -> Result<Self, DecodeError> {
8281
let kind = buf.kind();
8382
let payload = buf.value();
8483
let nla = match kind {
85-
NFULA_CFG_CMD => {
86-
ConfigCmd::from(parse_u8(payload).context("invalid NFULA_CFG_CMD value")?).into()
87-
}
84+
NFULA_CFG_CMD => ConfigCmd::from(
85+
parse_u8(payload).context("invalid NFULA_CFG_CMD value")?,
86+
)
87+
.into(),
8888
NFULA_CFG_MODE => {
8989
let buf = ConfigModeBuffer::new_checked(payload)?;
9090
ConfigMode::parse(&buf)?.into()
9191
}
9292
NFULA_CFG_NLBUFSIZ => ConfigNla::NlBufSiz(
93-
parse_u32_be(payload).context("invalid NFULA_CFG_NLBUFSIZ value")?,
93+
parse_u32_be(payload)
94+
.context("invalid NFULA_CFG_NLBUFSIZ value")?,
9495
),
95-
NFULA_CFG_TIMEOUT => {
96-
Timeout::new(parse_u32_be(payload).context("invalid NFULA_CFG_TIMEOUT value")?)
97-
.into()
98-
}
96+
NFULA_CFG_TIMEOUT => Timeout::new(
97+
parse_u32_be(payload)
98+
.context("invalid NFULA_CFG_TIMEOUT value")?,
99+
)
100+
.into(),
99101
NFULA_CFG_QTHRESH => ConfigNla::QThresh(
100-
parse_u32_be(payload).context("invalid NFULA_CFG_QTHRESH value")?,
102+
parse_u32_be(payload)
103+
.context("invalid NFULA_CFG_QTHRESH value")?,
101104
),
102105
NFULA_CFG_FLAGS => ConfigFlags::from_bits_preserve(
103-
parse_u16_be(payload).context("invalid NFULA_CFG_FLAGS value")?,
106+
parse_u16_be(payload)
107+
.context("invalid NFULA_CFG_FLAGS value")?,
104108
)
105109
.into(),
106110
_ => ConfigNla::Other(DefaultNla::parse(buf)?),

src/nflog/nlas/config/timeout.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ impl Timeout {
2020

2121
impl From<Duration> for Timeout {
2222
fn from(duration: Duration) -> Self {
23-
let hundredth = (duration.as_millis() / 10).try_into().unwrap_or(u32::MAX);
23+
let hundredth =
24+
(duration.as_millis() / 10).try_into().unwrap_or(u32::MAX);
2425
Self { hundredth }
2526
}
2627
}

src/nflog/nlas/packet/hw_addr.rs

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
// SPDX-License-Identifier: MIT
22

3-
use crate::{constants::NFULA_HWADDR, nla::Nla, traits::Parseable, utils::buffer, DecodeError};
3+
use crate::{
4+
constants::NFULA_HWADDR, nla::Nla, traits::Parseable, utils::buffer,
5+
DecodeError,
6+
};
47

58
const HW_ADDR_LEN: usize = 12;
69

0 commit comments

Comments
 (0)