From f0f68aff24b4d003b96b4d84352814882cbda6b2 Mon Sep 17 00:00:00 2001 From: dowright Date: Mon, 23 Aug 2021 21:23:35 -0700 Subject: [PATCH] work on new packet --- new_packet.pxd | 2 +- new_packet.pyx | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/new_packet.pxd b/new_packet.pxd index 6a79aee..2a58f68 100644 --- a/new_packet.pxd +++ b/new_packet.pxd @@ -193,5 +193,5 @@ cdef class CPacket: cdef int nf_callback(self, nfq_q_handle *qh, nfgenmsg *nfmsg, nfq_data *nfa, void *data) cdef parse(self, nfq_q_handle *qh, nfq_data *nfa) nogil - cdef _parse(self) + cdef _parse(self, unsigned char *data) cdef void verdict(self, u_int32_t verdict) diff --git a/new_packet.pyx b/new_packet.pyx index d9270ff..d6720f1 100644 --- a/new_packet.pyx +++ b/new_packet.pyx @@ -88,7 +88,7 @@ cdef class CPacket: # with gil: # callback(self) - cdef _parse(self, readonly unsigned char *data): + cdef _parse(self, unsigned char *data): '''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.''' @@ -103,19 +103,19 @@ cdef class CPacket: if (ip_header.protocol == IPPROTO_TCP): - *tcp_header = data[iphdr_len:] + tcp_header[0] = data[iphdr_len:] self.tcp_header = tcp_header if (ip_header.protocol == IPPROTO_UDP): - *udp_header = data[iphdr_len:] + udp_header[0] = data[iphdr_len:] self.udp_header = udp_header if (ip_header.protocol == IPPROTO_ICMP): - *icmp_header = data[iphdr_len:] + icmp_header[0] = data[iphdr_len:] self.icmp_header = icmp_header