From cfb996543a257aa825db2159230059f1cb6e3bcd Mon Sep 17 00:00:00 2001
From: Issac Kelly <[email protected]>
Date: Tue, 18 Jul 2023 20:43:21 -0700
Subject: [PATCH] publish these private fields for debugging and testing in
other applciations
---
src/lib.rs | 44 ++++++++++++++++++++++----------------------
1 file changed, 22 insertions(+), 22 deletions(-)
diff --git a/src/lib.rs b/src/lib.rs
index 025e42d..d673d82 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -197,7 +197,7 @@ impl<'a> Nlmsg<'a> {
}
#[derive(Debug)]
-enum PayloadState {
+pub enum PayloadState {
Unmodified,
Modified,
Owned(Vec<u8>),
@@ -208,28 +208,28 @@ enum PayloadState {
pub struct Message {
// This is here for lifetime requirements, but we're not using it directly.
#[allow(dead_code)]
- buffer: Arc<Vec<u32>>,
- id: u16,
- nfmark: u32,
- nfmark_dirty: bool,
- indev: u32,
- outdev: u32,
- physindev: u32,
- physoutdev: u32,
- orig_len: u32,
- skbinfo: u32,
- secctx: *const libc::c_char,
- uid: Option<u32>,
- gid: Option<u32>,
- timestamp: *const nfqnl_msg_packet_timestamp,
- hwaddr: *const nfqnl_msg_packet_hw,
- hdr: *const nfqnl_msg_packet_hdr,
+ pub buffer: Arc<Vec<u32>>,
+ pub id: u16,
+ pub nfmark: u32,
+ pub nfmark_dirty: bool,
+ pub indev: u32,
+ pub outdev: u32,
+ pub physindev: u32,
+ pub physoutdev: u32,
+ pub orig_len: u32,
+ pub skbinfo: u32,
+ pub secctx: *const libc::c_char,
+ pub uid: Option<u32>,
+ pub gid: Option<u32>,
+ pub timestamp: *const nfqnl_msg_packet_timestamp,
+ pub hwaddr: *const nfqnl_msg_packet_hw,
+ pub hdr: *const nfqnl_msg_packet_hdr,
// conntrack data
- ct: Option<Conntrack>,
+ pub ct: Option<Conntrack>,
// The actual lifetime is 'buffer
- payload: &'static mut [u8],
- payload_state: PayloadState,
- verdict: Verdict,
+ pub payload: &'static mut [u8],
+ pub payload_state: PayloadState,
+ pub verdict: Verdict,
}
unsafe impl Send for Message {}
@@ -585,7 +585,7 @@ unsafe fn parse_msg(nlh: *const nlmsghdr, queue: &mut Queue) {
/// A NetFilter queue.
pub struct Queue {
/// NetLink socket
- fd: RawFd,
+ pub fd: RawFd,
/// Flag to send for recv operation. Decides whether or not the operation blocks until there is
/// message from the kernel.
recv_flag: libc::c_int,
--
GitLab