1The char * to unsigned char * change happened for the libnetfilter_queue 21.0.0 release, not the linux headers. 3So drop the linux headers version check since it causes more harm than 4good by trying the old API when the toolchain uses old linux headers 5with a new-enough libnetfilter_queue. 6 7Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> 8 9diff -Nura norm-1.5r6.orig/protolib/src/linux/linuxDetour.cpp norm-1.5r6/protolib/src/linux/linuxDetour.cpp 10--- norm-1.5r6.orig/protolib/src/linux/linuxDetour.cpp 2016-03-31 10:17:20.674745597 -0300 11+++ norm-1.5r6/protolib/src/linux/linuxDetour.cpp 2016-03-31 10:36:58.923084395 -0300 12@@ -16,8 +16,6 @@ 13 #include <linux/if_ether.h> // for ETH_P_IP 14 #include <net/if_arp.h> // for ARPHRD_ETHER 15 16-#include <linux/version.h> // for LINUX_VERSION_CODE 17- 18 /** NOTES: 19 * 20 * 1) This newer implementation of LinuxDetour uses netfilter_queue 21@@ -591,17 +589,7 @@ 22 23 // Finally record packet length and cache pointer to IP packet data 24 25- // A change to the nfq_get_payload() prototype seemed to kick in around Linux header files 26- // version 3.6? (This will probably need to be fine tuned for the right version threshold.) 27- 28-#define LINUX_VERSION_MAJOR (LINUX_VERSION_CODE/65536) 29-#define LINUX_VERSION_MINOR ((LINUX_VERSION_CODE - (LINUX_VERSION_MAJOR*65536)) / 256) 30- 31-#if ((LINUX_VERSION_MAJOR > 3) || ((LINUX_VERSION_MAJOR == 3) && (LINUX_VERSION_MINOR > 5))) 32 linuxDetour->nfq_pkt_len = nfq_get_payload(nfqData, (unsigned char**)(&linuxDetour->nfq_pkt_data)); 33-#else 34- linuxDetour->nfq_pkt_len = nfq_get_payload(nfqData, &linuxDetour->nfq_pkt_data); 35-#endif // 36 return 0; 37 } // end LinuxDetour::NfqCallback() 38 39