summaryrefslogtreecommitdiffhomepage
path: root/src/platform/linux.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/linux.rs')
-rw-r--r--src/platform/linux.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/platform/linux.rs b/src/platform/linux.rs
index f19adc3..0faef31 100644
--- a/src/platform/linux.rs
+++ b/src/platform/linux.rs
@@ -213,6 +213,7 @@ pub fn run() -> Result<()> {
};
use nfq::Queue;
use crate::handle_packet;
+ use super::PACKET_SIZE_CAP;
let mut q = Queue::open()?;
q.bind(queue_num())?;
@@ -227,6 +228,8 @@ pub fn run() -> Result<()> {
splash!("{MESSAGE_AT_RUN}");
+ let mut buf = Vec::<u8>::with_capacity(PACKET_SIZE_CAP);
+
while crate::RUNNING.load(Ordering::SeqCst) {
{
let fd = q.as_fd();
@@ -246,6 +249,7 @@ pub fn run() -> Result<()> {
while let Ok(mut msg) = q.recv() {
let verdict = handle_packet!(
&msg.get_payload(),
+ &mut buf,
handled => nfq::Verdict::Drop,
rejected => nfq::Verdict::Accept,
);