#
# Copyright (C) 2009 OpenWrt.org
#
preinit_network_init() {
#   echo 0 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
	echo "preinit network_init"
	proto=$(uci get network.lan.proto)
	if [ "$proto" == "dhcp" ]; then
		uci set network.lan.twipaddr='192.168.1.250'
		uci set network.lan.twgateway='192.168.1.250'
		uci set network.lan.twnetmask='255.255.255.0'
		uci set network.lan.twdns='0.0.0.0'
		uci set network.lan.reqip='192.168.1.250'
		uci commit network
	fi
	ebtables  -A OUTPUT -o ra0 -p IPv4 --ip-proto 17 --ip-sport 68 --ip-dport 67 -j DROP
	ebtables  -A OUTPUT -o ra1 -p IPv4 --ip-proto 17 --ip-sport 68 --ip-dport 67 -j DROP
	ebtables  -A OUTPUT -o rax0 -p IPv4 --ip-proto 17 --ip-sport 68 --ip-dport 67 -j DROP
	ebtables  -A OUTPUT -o rax1 -p IPv4 --ip-proto 17 --ip-sport 68 --ip-dport 67 -j DROP

	disableTelnet=$(uci get system.@system[0].disableTelnet)
	if [ $disableTelnet -eq 0 ]; then
		telnetd &
	fi
	stpenable=$(uci get network.lan.stp)
	if [ "$stpenable" == "1" ]; then
		ebtables  -I OUTPUT -d 01:80:c2:00:00:00 -o apcli0 -j DROP
		ebtables  -I OUTPUT -d 01:80:c2:00:00:00 -o apclix0 -j DROP
	fi
	conf_mod=$(uci get wireless.2g_5g.conf_mode)
	ethifName=$(uci get network.lan.ifname)
	if [ "x$ethifName" = "x" ] ; then
		ethifName="eth0"
	fi
	apcli2g=$(uci get wireless.apcli_2g.rootap_ssid)
	apcli5g=$(uci get wireless.apcli_5g.rootap_ssid)
	if [ $conf_mod -eq 2 ]
	then
		if [ "$apcli2g" != 12345678NETGEAR ] || [ "$apcli5g" != "12345678NETGEAR-5G" ] ; then
			ebtables  -A OUTPUT -o $ethifName -p IPv4 --ip-proto 17 --ip-sport 68 --ip-dport 67 -j DROP
			#ebtables  -A OUTPUT -o $ethifName -j DROP
		fi
	fi
    uci -q set system.@system[0].passwordEnable='1'
#   uci -q set wireless.2g_5g.wpsLockdown=0
}

boot_hook_add preinit_main preinit_network_init
