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
     }
     #

Reply via email to