s=m:section(TypedSection,"global",translate("Enable Uci/Luci control"))-- Set uci control on or off
s.anonymous=true
s:option(Flag,"uci_enabled",translate("Enable config overwrite"),translate("When unchecked, the config files in /etc/fwknopd will be used as is, ignoring any settings here."))
s=m:section(TypedSection,"access",translate("access.conf stanzas"))-- set the access.conf settings
s:option(Value,"SOURCE","SOURCE",translate("Use ANY for any source ip"))
k1=s:option(Value,"KEY","KEY",translate("Define the symmetric key used for decrypting an incoming SPA packet that is encrypted by the fwknop client with Rijndael."))
k1:depends("keytype",translate("Normal Key"))
k2=s:option(Value,"KEY_BASE64","KEY_BASE64",translate("Define the symmetric key used for decrypting an incoming SPA \
s:option(Value,"OPEN_PORTS","OPEN_PORTS",translate("Define a set of ports and protocols (tcp or udp) that will be opened if a valid knock sequence is seen. \
s:option(Value,"FW_ACCESS_TIMEOUT","FW_ACCESS_TIMEOUT",translate("Define the length of time access will be granted by fwknopd through the firewall after a \
s:option(Value,"REQUIRE_SOURCE_ADDRESS","REQUIRE_SOURCE_ADDRESS",translate("Force all SPA packets to contain a real IP address within the encrypted data. \
s:option(Value,"MAX_SPA_PACKET_AGE","MAX_SPA_PACKET_AGE",translate("Maximum age in seconds that an SPA packet will be accepted. defaults to 120 seconds"))
s:option(Value,"PCAP_INTF","PCAP_INTF",translate("Specify the ethernet interface on which fwknopd will sniff packets."))
s:option(Value,"ENABLE_IPT_FORWARDING","ENABLE_IPT_FORWARDING",translate("Allow SPA clients to request access to services through an iptables firewall instead of just to it."))