78 lines
2.5 KiB
Diff
78 lines
2.5 KiB
Diff
From: Sophie Brun <sophie@offensive-security.com>
|
|
Date: Tue, 14 Dec 2021 17:54:33 +0100
|
|
Subject: Fix compilation for kernel 5.15
|
|
|
|
|
|
Drop IPX and Apple Talk support for Linux 5.15 Remove IPX support from
|
|
driver, set as obsolete in Jan 2018. IPX is not supported by the Linux
|
|
kernel since v5.15-rc1, see commit
|
|
6c9b40844751ea30c72f7a2f92f4d704bc6b2927
|
|
Origin: https://github.com/aircrack-ng/rtl8188eus/commit/4830d3906230a4d80ba67709a06c9d5b99764839
|
|
---
|
|
core/rtw_br_ext.c | 9 +++++++++
|
|
1 file changed, 9 insertions(+)
|
|
|
|
diff --git a/core/rtw_br_ext.c b/core/rtw_br_ext.c
|
|
index 6509df3..4507dce 100644
|
|
--- a/core/rtw_br_ext.c
|
|
+++ b/core/rtw_br_ext.c
|
|
@@ -17,7 +17,10 @@
|
|
#ifdef __KERNEL__
|
|
#include <linux/if_arp.h>
|
|
#include <net/ip.h>
|
|
+ #include <linux/version.h>
|
|
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
|
|
#include <net/ipx.h>
|
|
+#endif
|
|
#include <linux/atalk.h>
|
|
#include <linux/udp.h>
|
|
#include <linux/if_pppox.h>
|
|
@@ -169,6 +172,7 @@ static __inline__ void __nat25_generate_ipv4_network_addr(unsigned char *network
|
|
}
|
|
|
|
|
|
+#ifdef _NET_INET_IPX_H_
|
|
static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr,
|
|
unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr)
|
|
{
|
|
@@ -200,6 +204,7 @@ static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networ
|
|
memcpy(networkAddr + 1, (unsigned char *)network, 2);
|
|
networkAddr[3] = *node;
|
|
}
|
|
+#endif
|
|
|
|
|
|
static __inline__ void __nat25_generate_pppoe_network_addr(unsigned char *networkAddr,
|
|
@@ -329,6 +334,7 @@ static __inline__ int __nat25_network_hash(unsigned char *networkAddr)
|
|
x = networkAddr[7] ^ networkAddr[8] ^ networkAddr[9] ^ networkAddr[10];
|
|
|
|
return x & (NAT25_HASH_SIZE - 1);
|
|
+#ifdef _NET_INET_IPX_H_
|
|
} else if (networkAddr[0] == NAT25_IPX) {
|
|
unsigned long x;
|
|
|
|
@@ -342,6 +348,7 @@ static __inline__ int __nat25_network_hash(unsigned char *networkAddr)
|
|
x = networkAddr[1] ^ networkAddr[2] ^ networkAddr[3];
|
|
|
|
return x & (NAT25_HASH_SIZE - 1);
|
|
+#endif
|
|
} else if (networkAddr[0] == NAT25_PPPOE) {
|
|
unsigned long x;
|
|
|
|
@@ -888,6 +895,7 @@ int nat25_db_handle(_adapter *priv, struct sk_buff *skb, int method)
|
|
}
|
|
}
|
|
|
|
+#ifdef _NET_INET_IPX_H_
|
|
/*---------------------------------------------------*/
|
|
/* Handle IPX and Apple Talk frame */
|
|
/*---------------------------------------------------*/
|
|
@@ -1108,6 +1116,7 @@ int nat25_db_handle(_adapter *priv, struct sk_buff *skb, int method)
|
|
|
|
return -1;
|
|
}
|
|
+#endif
|
|
|
|
/*---------------------------------------------------*/
|
|
/* Handle PPPoE frame */
|