--- /usr/src/linux-2.4.20/net/ipv4/netfilter/ip_queue.c 2003-02-15 00:04:41.000000000 +0200 +++ /usr/src/linux/net/ipv4/netfilter/ip_queue.c 2003-04-01 20:23:21.000000000 +0300 @@ -252,6 +252,10 @@ pmsg->hw_addr); } + if (!ip_conntrack_get(entry->skb, &pmsg->conntrack)) { + printk("Matrix has you!\n"); + goto nlmsg_failure; + } if (data_len) memcpy(pmsg->payload, entry->skb->data, data_len); --- /usr/src/linux-2.4.20/include/linux/netfilter_ipv4/ip_queue.h 2003-02-15 00:04:41.000000000 +0200 +++ /usr/src/linux/include/linux/netfilter_ipv4/ip_queue.h 2003-04-01 20:12:17.000000000 +0300 @@ -17,6 +17,8 @@ #include #endif /* ! __KERNEL__ */ +#include + /* Messages sent from kernel */ typedef struct ipq_packet_msg { unsigned long packet_id; /* ID of queued packet */ @@ -30,6 +32,7 @@ unsigned short hw_type; /* Hardware type */ unsigned char hw_addrlen; /* Hardware address length */ unsigned char hw_addr[8]; /* Hardware address */ + enum ip_conntrack_info conntrack; size_t data_len; /* Length of packet data */ unsigned char payload[0]; /* Optional packet data */ } ipq_packet_msg_t;