From 0c46259cc2c0413b9d3d97e5f578c374d5cccfa3 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 28 May 2009 15:52:55 +0000 Subject: [PATCH] merge r16139, r16141 to 8.09 SVN-Revision: 16142 --- target/linux/brcm-2.4/config-default | 37 +------------- .../patches/626-netfilter_conntrack_fix.patch | 49 +++++++++++++++++++ 2 files changed, 51 insertions(+), 35 deletions(-) create mode 100644 target/linux/generic-2.4/patches/626-netfilter_conntrack_fix.patch diff --git a/target/linux/brcm-2.4/config-default b/target/linux/brcm-2.4/config-default index 1da93b854d..3d401f06e1 100644 --- a/target/linux/brcm-2.4/config-default +++ b/target/linux/brcm-2.4/config-default @@ -100,25 +100,6 @@ CONFIG_BLUEZ_RFCOMM=m CONFIG_BLUEZ_RFCOMM_TTY=y CONFIG_BLUEZ_SCO=m # CONFIG_BPQETHER is not set -# CONFIG_BRIDGE_EBT_802_3 is not set -# CONFIG_BRIDGE_EBT_AMONG is not set -# CONFIG_BRIDGE_EBT_ARPF is not set -# CONFIG_BRIDGE_EBT_ARPREPLY is not set -# CONFIG_BRIDGE_EBT_BROUTE is not set -# CONFIG_BRIDGE_EBT_DNAT is not set -# CONFIG_BRIDGE_EBT_IPF is not set -# CONFIG_BRIDGE_EBT_LIMIT is not set -# CONFIG_BRIDGE_EBT_LOG is not set -# CONFIG_BRIDGE_EBT_MARKF is not set -# CONFIG_BRIDGE_EBT_MARK_T is not set -# CONFIG_BRIDGE_EBT_PKTTYPE is not set -# CONFIG_BRIDGE_EBT_REDIRECT is not set -# CONFIG_BRIDGE_EBT_SNAT is not set -# CONFIG_BRIDGE_EBT_STP is not set -# CONFIG_BRIDGE_EBT_T_FILTER is not set -# CONFIG_BRIDGE_EBT_T_NAT is not set -# CONFIG_BRIDGE_EBT_VLANF is not set -# CONFIG_BRIDGE_NF_EBTABLES is not set CONFIG_CARDBUS=y CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200" # CONFIG_CMDLINE_BOOL is not set @@ -164,21 +145,7 @@ CONFIG_IDEDMA_PCI_AUTO=y # CONFIG_IDE_CHIPSETS is not set # CONFIG_IDE_TASK_IOCTL is not set # CONFIG_IEEE1394 is not set -# CONFIG_IP_NF_MATCH_PHYSDEV is not set -CONFIG_IP_VS=m -# CONFIG_IP_VS_DEBUG is not set -CONFIG_IP_VS_DH=m -CONFIG_IP_VS_FTP=m -CONFIG_IP_VS_LBLC=m -CONFIG_IP_VS_LBLCR=m -CONFIG_IP_VS_LC=m -CONFIG_IP_VS_NQ=m -CONFIG_IP_VS_RR=m -CONFIG_IP_VS_SED=m -CONFIG_IP_VS_SH=m -CONFIG_IP_VS_TAB_BITS=12 -CONFIG_IP_VS_WLC=m -CONFIG_IP_VS_WRR=m +# CONFIG_IP_VS is not set # CONFIG_LAN_SAA9730 is not set # CONFIG_LNE390 is not set CONFIG_LOG_BUF_SHIFT=0 @@ -204,7 +171,6 @@ CONFIG_NET_SCH_ESFQ=m CONFIG_NET_WIRELESS=y CONFIG_NEW_IRQ=y CONFIG_NEW_TIME_C=y -CONFIG_NLS=y CONFIG_PARPORT=m # CONFIG_PARPORT_1284 is not set # CONFIG_PARPORT_AMIGA is not set @@ -361,6 +327,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_OMNINET is not set CONFIG_USB_SERIAL_PL2303=m +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set CONFIG_USB_SERIAL_VISOR=m # CONFIG_USB_SERIAL_WHITEHEAT is not set # CONFIG_USB_SERIAL_XIRCOM is not set diff --git a/target/linux/generic-2.4/patches/626-netfilter_conntrack_fix.patch b/target/linux/generic-2.4/patches/626-netfilter_conntrack_fix.patch new file mode 100644 index 0000000000..865df8d9ee --- /dev/null +++ b/target/linux/generic-2.4/patches/626-netfilter_conntrack_fix.patch @@ -0,0 +1,49 @@ +--- a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h ++++ b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h +@@ -68,6 +68,35 @@ struct ip_conntrack_tuple + } dst; + }; + ++/* This is exposed to userspace, so remains frozen in time. */ ++struct ip_conntrack_old_tuple ++{ ++ struct ip_conntrack_manip src; ++ ++ /* These are the parts of the tuple which are fixed. */ ++ struct { ++ u_int32_t ip; ++ union { ++ /* Add other protocols here. */ ++ u_int16_t all; ++ ++ struct { ++ u_int16_t port; ++ } tcp; ++ struct { ++ u_int16_t port; ++ } udp; ++ struct { ++ u_int8_t type, code; ++ } icmp; ++ } u; ++ ++ /* The protocol. */ ++ u_int16_t protonum; ++ } dst; ++}; ++ ++ + /* This is optimized opposed to a memset of the whole structure. Everything we + * really care about is the source/destination unions */ + #define IP_CT_TUPLE_U_BLANK(tuple) \ +--- a/include/linux/netfilter_ipv4/ipt_conntrack.h ++++ b/include/linux/netfilter_ipv4/ipt_conntrack.h +@@ -25,7 +25,7 @@ struct ipt_conntrack_info + { + unsigned int statemask, statusmask; + +- struct ip_conntrack_tuple tuple[IP_CT_DIR_MAX]; ++ struct ip_conntrack_old_tuple tuple[IP_CT_DIR_MAX]; + struct in_addr sipmsk[IP_CT_DIR_MAX], dipmsk[IP_CT_DIR_MAX]; + + unsigned long expires_min, expires_max; -- 2.30.2