Package: shorewall
Version: 3.2.6-2
Shorewall do not process mss=<value> in interface properly. It not only
decrease mss, but also increase the mss
Consider this scenario:
MTU 1500
A-----B--------\
\ MTU 700
E---F---------G---H
MTU 500 /
C-----D--------/
Router D adjust MSS to 460 and router F adjust mss to 660.
if C initialize a tcp connection to H, then H got an incorrect MSS of 660.
May be this patch is helpful, it prevent shorewall from increasing the mss.
#! /bin/sh /usr/share/dpatch/dpatch-run
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad shorewall-3.4.2~/lib.config shorewall-3.4.2/lib.config
--- shorewall-3.4.2~/lib.config 2007-04-02 06:47:18.000000000 +0800
+++ shorewall-3.4.2/lib.config 2007-06-14 01:02:01.000000000 +0800
@@ -427,7 +427,7 @@
if [ "$policy" != NONE ]; then
ensurechain $1
- run_iptables -I $1 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS
--set-mss $2
+ run_iptables -I $1 -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss
$2:1500 -j TCPMSS --set-mss $2
fi
}
#