From 963067cd2a58c0a1e7e42cf6bdbe37fe280e4751 Mon Sep 17 00:00:00 2001
From: dowright <dowright@nationofnobodies.com>
Date: Mon, 23 Aug 2021 22:05:49 -0700
Subject: [PATCH] work on new packet

---
 new_packet.pxd | 1 +
 new_packet.pyx | 5 ++---
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/new_packet.pxd b/new_packet.pxd
index 0d5c35e..49ca104 100644
--- a/new_packet.pxd
+++ b/new_packet.pxd
@@ -175,6 +175,7 @@ cdef class CPacket:
     cdef nfqnl_msg_packet_hw *_hw
 
     # protocol headers
+    cdef iphdr *ip_header
     cdef tcphdr *tcp_header
     cdef udphdr *udp_header
     cdef icmphdr *icmp_header
diff --git a/new_packet.pyx b/new_packet.pyx
index 3fc0f69..9a9f5ce 100644
--- a/new_packet.pyx
+++ b/new_packet.pyx
@@ -178,14 +178,13 @@ cdef class NetfilterQueue:
         # processes using this libnetfilter_queue on this protocol family!
         nfq_close(self.h)
 
-    def bind(self, int queue_num, object user_callback, u_int16_t max_len=DEFAULT_MAX_QUEUELEN,
+    def bind(self, int queue_num, u_int16_t max_len=DEFAULT_MAX_QUEUELEN,
             u_int8_t mode=NFQNL_COPY_PACKET, u_int16_t range=MaxPacketSize, u_int32_t sock_len=SockRcvSize):
         '''Create and bind to a new queue.'''
 
         cdef unsigned int newsiz
 
-        self.user_callback = user_callback
-        self.qh = nfq_create_queue(self.h, queue_num, <nfq_callback*>global_callback, <void*>self)
+        self.qh = nfq_create_queue(self.h, queue_num, <nfq_callback*>CPacket.nf_callback, <void*>self)
         if self.qh == NULL:
             raise OSError(f'Failed to create queue {queue_num}')