diff --git a/root/etc/functions.sh b/root/etc/functions.sh index 1f9afb2948a..2b85e15cbe0 100755 --- a/root/etc/functions.sh +++ b/root/etc/functions.sh @@ -104,5 +104,7 @@ ifdown () ( type=$1 debug "### ifdown $type ###" if=$(nvram_get ${type}_ifname) - if_valid $if && $DEBUG ifconfig $if down + if_valid $if || return + kill $(cat /var/run/${if}.pid 2>-)2>- + $DEBUG ifconfig $if down ) diff --git a/root/etc/init.d/S10boot b/root/etc/init.d/S10boot index 45b9dd28b4a..c7c9ba25690 100755 --- a/root/etc/init.d/S10boot +++ b/root/etc/init.d/S10boot @@ -2,11 +2,13 @@ sysctl -p echo "S" > /proc/jffs2_bbc +mkdir -p /var/run + # networking stub [ "$(nvram get il0macaddr)" = "00:90:4c:5f:00:2a" ] && { - # force unique mac + # force unique wireless mac nvram set il0macaddr=$(nvram get et0macaddr| - awk -F ":" '{for(x=6,y=2;x;x--){y+=int("0x"$x);$x=sprintf("%02x",y%256);y/=256}gsub(" ",":");print$0}') + awk -F ":" '{for(x=6,y=2;x;x--){y+=int("0x"$x);$x=sprintf("%02x",y%256);y/=256}gsub(" ",":");print}') } insmod et diff --git a/root/etc/init.d/S45firewall b/root/etc/init.d/S45firewall index 40ac81a49f5..4885c7c088b 100755 --- a/root/etc/init.d/S45firewall +++ b/root/etc/init.d/S45firewall @@ -18,5 +18,6 @@ $IPT -t filter -A INPUT -i $WAN -j REJECT --reject-with icmp-port-unreachable $IPT -t filter -A FORWARD -m state --state INVALID -j DROP $IPT -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT $IPT -t filter -A FORWARD -i $WAN -m state --state NEW,INVALID -j DROP +$IPT -t filter -A FORWARD -o $WAN -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu $IPT -t nat -A POSTROUTING -o $WAN -j MASQUERADE diff --git a/root/etc/nvram.overrides b/root/etc/nvram.overrides index e155df15a26..e334d751987 100644 --- a/root/etc/nvram.overrides +++ b/root/etc/nvram.overrides @@ -1,5 +1,6 @@ # NVRAM overrides # This file handles the NVRAM quirks of various hardware +# this is not a replacement for nvram. # linksys bug has lan doing dhcp; force static lan_proto="static"