From 3db76737be0ad9d059cb2bedad7c38dd001de68a Mon Sep 17 00:00:00 2001 From: dowright <dowright@nationofnobodies.com> Date: Mon, 23 Aug 2021 22:31:19 -0700 Subject: [PATCH] work on new packet --- new_packet.pxd | 2 +- new_packet.pyx | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/new_packet.pxd b/new_packet.pxd index 75bb486..71a7fdb 100644 --- a/new_packet.pxd +++ b/new_packet.pxd @@ -200,7 +200,7 @@ cdef class CPacket: cdef int nf_callback(self, nfq_q_handle *qh, nfgenmsg *nfmsg, nfq_data *nfa, void *data) cdef void parse(self, nfq_q_handle *qh, nfq_data *nfa) nogil - cdef void _parse(self, unsigned char **data) + cdef void _parse(self, unsigned char **data) nogil cdef void verdict(self, u_int32_t verdict) cdef class NetfilterQueue: diff --git a/new_packet.pyx b/new_packet.pyx index be8ae95..e1301eb 100644 --- a/new_packet.pyx +++ b/new_packet.pyx @@ -48,7 +48,8 @@ cdef class CPacket: # cdef object user_callback = <object > nfqueue.user_callback packet = CPacket() - packet.parse(qh, nfa) + with nogil: + packet.parse(qh, nfa) return 1 @@ -88,7 +89,7 @@ cdef class CPacket: # with gil: # callback(self) - cdef void _parse(self, unsigned char **data): + cdef void _parse(self, unsigned char **data) nogil: '''Index tcp/ip packet layers 3 & 4 for use as instance objects. the before_exit method will be called before returning, which can be used to create subclass specific objects like namedtuples or application layer data.'''