Skip to content

Commit 8082cca

Browse files
committed
make imports more consistent with the other crates
1 parent 7d56ce8 commit 8082cca

File tree

18 files changed

+161
-138
lines changed

18 files changed

+161
-138
lines changed

examples/nflog.rs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,17 @@ use std::{net::Ipv4Addr, time::Duration};
1313
use byteorder::{ByteOrder, NetworkEndian};
1414
use netlink_packet_netfilter::{
1515
constants::*,
16-
message::{NetfilterMessage, NetfilterMessageInner},
1716
nflog::{
18-
self,
19-
config::{ConfigCmd, ConfigFlags, ConfigMode, Timeout},
20-
packet::PacketNla,
17+
config_request,
18+
nlas::{
19+
config::{ConfigCmd, ConfigFlags, ConfigMode, Timeout},
20+
packet::PacketNla,
21+
},
2122
NfLogMessage,
2223
},
23-
NetlinkMessage,
24-
NetlinkPayload,
24+
nl::{NetlinkMessage, NetlinkPayload},
25+
NetfilterMessage,
26+
NetfilterMessageInner,
2527
};
2628
use netlink_sys::{constants::NETLINK_NETFILTER, Socket};
2729

@@ -45,7 +47,7 @@ fn main() {
4547
socket.bind_auto().unwrap();
4648

4749
// Then we issue the PfBind command
48-
let packet = nflog::config::config_request(AF_INET, 0, vec![ConfigCmd::PfBind.into()]);
50+
let packet = config_request(AF_INET, 0, vec![ConfigCmd::PfBind.into()]);
4951
let mut buf = vec![0; packet.header.length as usize];
5052
packet.serialize(&mut buf[..]);
5153
println!(">>> {:?}", packet);
@@ -60,7 +62,7 @@ fn main() {
6062

6163
// After that we issue a Bind command, to start receiving packets. We can also set various parameters at the same time
6264
let timeout: Timeout = Duration::from_millis(100).into();
63-
let packet = nflog::config::config_request(
65+
let packet = config_request(
6466
AF_INET,
6567
1,
6668
vec![
@@ -92,7 +94,7 @@ fn main() {
9294
let rx_packet = <NetlinkMessage<NetfilterMessage>>::deserialize(bytes).unwrap();
9395

9496
for nla in get_packet_nlas(&rx_packet) {
95-
if let nflog::packet::PacketNla::Payload(payload) = nla {
97+
if let PacketNla::Payload(payload) = nla {
9698
let src = Ipv4Addr::from(NetworkEndian::read_u32(&payload[12..]));
9799
let dst = Ipv4Addr::from(NetworkEndian::read_u32(&payload[16..]));
98100
println!("Packet from {} to {}", src, dst);

src/constants.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,34 @@ pub const NFNL_SUBSYS_CTNETLINK_TIMEOUT: u8 = libc::NFNL_SUBSYS_CTNETLINK_TIMEOU
5656
pub const NFNL_SUBSYS_CTHELPER: u8 = libc::NFNL_SUBSYS_CTHELPER as u8;
5757
pub const NFNL_SUBSYS_NFTABLES: u8 = libc::NFNL_SUBSYS_NFTABLES as u8;
5858
pub const NFNL_SUBSYS_NFT_COMPAT: u8 = libc::NFNL_SUBSYS_NFT_COMPAT as u8;
59+
60+
pub const NFULA_CFG_CMD: u16 = libc::NFULA_CFG_CMD as u16;
61+
pub const NFULA_CFG_MODE: u16 = libc::NFULA_CFG_MODE as u16;
62+
pub const NFULA_CFG_NLBUFSIZ: u16 = libc::NFULA_CFG_NLBUFSIZ as u16;
63+
pub const NFULA_CFG_TIMEOUT: u16 = libc::NFULA_CFG_TIMEOUT as u16;
64+
pub const NFULA_CFG_QTHRESH: u16 = libc::NFULA_CFG_QTHRESH as u16;
65+
pub const NFULA_CFG_FLAGS: u16 = libc::NFULA_CFG_FLAGS as u16;
66+
pub const NLBUFSIZ_MAX: u32 = 131072;
67+
68+
pub const NFULA_PACKET_HDR: u16 = libc::NFULA_PACKET_HDR as u16;
69+
pub const NFULA_MARK: u16 = libc::NFULA_MARK as u16;
70+
pub const NFULA_TIMESTAMP: u16 = libc::NFULA_TIMESTAMP as u16;
71+
pub const NFULA_IFINDEX_INDEV: u16 = libc::NFULA_IFINDEX_INDEV as u16;
72+
pub const NFULA_IFINDEX_OUTDEV: u16 = libc::NFULA_IFINDEX_OUTDEV as u16;
73+
pub const NFULA_IFINDEX_PHYSINDEV: u16 = libc::NFULA_IFINDEX_PHYSINDEV as u16;
74+
pub const NFULA_IFINDEX_PHYSOUTDEV: u16 = libc::NFULA_IFINDEX_PHYSOUTDEV as u16;
75+
pub const NFULA_HWADDR: u16 = libc::NFULA_HWADDR as u16;
76+
pub const NFULA_PAYLOAD: u16 = libc::NFULA_PAYLOAD as u16;
77+
pub const NFULA_PREFIX: u16 = libc::NFULA_PREFIX as u16;
78+
pub const NFULA_UID: u16 = libc::NFULA_UID as u16;
79+
pub const NFULA_SEQ: u16 = libc::NFULA_SEQ as u16;
80+
pub const NFULA_SEQ_GLOBAL: u16 = libc::NFULA_SEQ_GLOBAL as u16;
81+
pub const NFULA_GID: u16 = libc::NFULA_GID as u16;
82+
pub const NFULA_HWTYPE: u16 = libc::NFULA_HWTYPE as u16;
83+
pub const NFULA_HWHEADER: u16 = libc::NFULA_HWHEADER as u16;
84+
pub const NFULA_HWLEN: u16 = libc::NFULA_HWLEN as u16;
85+
pub const NFULA_CT: u16 = libc::NFULA_CT as u16;
86+
pub const NFULA_CT_INFO: u16 = libc::NFULA_CT_INFO as u16;
87+
88+
pub const NFULNL_MSG_CONFIG: u8 = libc::NFULNL_MSG_CONFIG as u8;
89+
pub const NFULNL_MSG_PACKET: u8 = libc::NFULNL_MSG_PACKET as u8;

src/lib.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
11
// SPDX-License-Identifier: MIT
22

3+
pub extern crate netlink_packet_core as nl;
34
pub(crate) extern crate netlink_packet_utils as utils;
4-
pub use self::utils::{traits, DecodeError};
5-
pub use netlink_packet_core::{
6-
ErrorMessage,
7-
NetlinkBuffer,
8-
NetlinkHeader,
9-
NetlinkMessage,
10-
NetlinkPayload,
11-
};
5+
6+
pub use self::utils::{nla, traits, DecodeError};
127

138
pub(crate) mod buffer;
149
pub mod constants;
15-
pub mod message;
10+
mod message;
11+
pub use message::{NetfilterHeader, NetfilterMessage, NetfilterMessageInner};
1612
pub mod nflog;

src/message.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ impl Emitable for NetfilterMessageInner {
9393
}
9494

9595
#[derive(Debug, PartialEq, Eq, Clone)]
96-
9796
pub struct NetfilterMessage {
9897
pub header: NetfilterHeader,
9998
pub inner: NetfilterMessageInner,

src/nflog.rs renamed to src/nflog/message.rs

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,11 @@
1-
// SPDX-License-Identifier: MIT
2-
3-
use netlink_packet_core::DecodeError;
4-
use netlink_packet_utils::{nla::DefaultNla, Emitable, Parseable, ParseableParametrized};
5-
use std::fmt::Debug;
6-
7-
use crate::{buffer::NetfilterBuffer, constants::NFNL_SUBSYS_ULOG};
8-
9-
use config::ConfigNla;
10-
11-
use self::packet::PacketNla;
12-
13-
pub const NFULNL_MSG_CONFIG: u8 = libc::NFULNL_MSG_CONFIG as u8;
14-
pub const NFULNL_MSG_PACKET: u8 = libc::NFULNL_MSG_PACKET as u8;
15-
16-
pub const NFULA_CFG_CMD: u16 = libc::NFULA_CFG_CMD as u16;
17-
pub const NFULA_CFG_MODE: u16 = libc::NFULA_CFG_MODE as u16;
18-
pub const NFULA_CFG_NLBUFSIZ: u16 = libc::NFULA_CFG_NLBUFSIZ as u16;
19-
pub const NFULA_CFG_QTHRESH: u16 = libc::NFULA_CFG_QTHRESH as u16;
20-
21-
pub mod config;
22-
pub mod packet;
1+
use crate::{
2+
buffer::NetfilterBuffer,
3+
constants::{NFNL_SUBSYS_ULOG, NFULNL_MSG_CONFIG, NFULNL_MSG_PACKET},
4+
nflog::nlas::{config::ConfigNla, packet::PacketNla},
5+
nla::DefaultNla,
6+
traits::{Emitable, Parseable, ParseableParametrized},
7+
DecodeError,
8+
};
239

2410
#[derive(Debug, PartialEq, Eq, Clone)]
2511
pub enum NfLogMessage {

src/nflog/mod.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// SPDX-License-Identifier: MIT
2+
3+
mod message;
4+
pub use message::NfLogMessage;
5+
pub mod nlas;
6+
7+
use crate::{
8+
constants::NFNETLINK_V0,
9+
nflog::nlas::config::ConfigNla,
10+
nl::{NetlinkHeader, NetlinkMessage, NetlinkPayload, NLM_F_ACK, NLM_F_REQUEST},
11+
NetfilterHeader,
12+
NetfilterMessage,
13+
};
14+
15+
pub fn config_request(
16+
family: u8,
17+
group_num: u16,
18+
nlas: Vec<ConfigNla>,
19+
) -> NetlinkMessage<NetfilterMessage> {
20+
let mut message = NetlinkMessage {
21+
header: NetlinkHeader {
22+
flags: NLM_F_REQUEST | NLM_F_ACK,
23+
..Default::default()
24+
},
25+
payload: NetlinkPayload::from(NetfilterMessage::new(
26+
NetfilterHeader::new(family, NFNETLINK_V0, group_num),
27+
NfLogMessage::Config(nlas),
28+
)),
29+
};
30+
message.finalize();
31+
message
32+
}
File renamed without changes.

src/nflog/nlas/config/mod.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
// SPDX-License-Identifier: MIT
2+
mod config_cmd;
3+
mod config_flags;
4+
mod config_mode;
5+
mod nla;
6+
mod timeout;
7+
8+
pub use config_cmd::ConfigCmd;
9+
pub use config_flags::ConfigFlags;
10+
pub use config_mode::{ConfigMode, CopyMode};
11+
pub use nla::ConfigNla;
12+
pub use timeout::Timeout;

0 commit comments

Comments
 (0)