var FW_REGEX_TEMPLATE = function() { } FW_REGEX_TEMPLATE.FW_FWIPTEXTFIELD_BLANKREG = /\S +\S/; FW_REGEX_TEMPLATE.FW_FWIPTEXTFIELD_MASKREG = /^\s*".*"\s*$/; FW_REGEX_TEMPLATE.FW_FWIPTEXTFIELD_MASKREG_TWO = /^\s*"[^"]{1,}"\s*$/; FW_REGEX_TEMPLATE.FW_FWIPTEXTFIELD_ALLOWLETTER = /^[a-zA-Z].*/; FW_REGEX_TEMPLATE.ENCODE = new RegExp('[&<>]', 'g'); FW_REGEX_TEMPLATE.RN = "\r\n"; FW_REGEX_TEMPLATE.ONLYN = /\n/g; FW_REGEX_TEMPLATE.SWEB_COMMON_ELSTR = /(\$)/g; FW_REGEX_TEMPLATE.SWEB_COMMON_TRIM = /^\s+|\s+$/g; FW_REGEX_TEMPLATE.SWEB_COMP_RULES = /apply|submit|yes|应用|提交|确定/; FW_REGEX_TEMPLATE.SWEB_COMP_CMDRESULTARRAYSPLIT = /\r\n\w*[\[|\<](?:\S| )*[\]|\>]\r\n/; FW_REGEX_TEMPLATE.SWEB_COMP_CMD_CUTSYSNAME_SPLIT = /\w*[\[|\<]\S*[\]|\>]/; FW_REGEX_TEMPLATE.SWEB_COMP_TIMEREG = /^\d{2}:\d{2}:\d{2}/; FW_REGEX_TEMPLATE.SWEB_COMP_CMDPAREERRORREG = [ / % Ambiguous command found at '\^' position./, / % 未知的命令, 错误发生在 '\^' 所指的位置./]; FW_REGEX_TEMPLATE.SWEB_COMP_CMDPAREERRORREG_ARRAY = [ "Ambiguous command found at fireCmd", "下发命令中含有防火墙不支持的命令"]; FW_REGEX_TEMPLATE.SWEB_COMP_PAREERRORREG_ARRAY = [ "The parameter is invalid, or the object is unavailable. ", "参数错误或对象不存在!"]; FW_REGEX_TEMPLATE.SWEB_COMP_PAREERRORREG = [ /\s% Wrong parameter found at '\^' position./, / % 参数错误, 错误发生在 '\^' 所指的位置./]; FW_REGEX_TEMPLATE.SWEB_COMP_IPADDRESSREG = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; FW_REGEX_TEMPLATE.SWEB_COMP_RMASK = /^1+0*$/; FW_REGEX_TEMPLATE.SWEB_COMP_RREMASK = /^0+1*$/; FW_REGEX_TEMPLATE.SWEB_COMP_RMASK_NOTALLOWBLANK = /^1+0*$/; FW_REGEX_TEMPLATE.IF_TAG_PARSER = /(\d+)\s+to\s+(\d+)/g; FW_REGEX_TEMPLATE.IF_TAG_PARSER_SPACE = / /g; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACENAME = /(([\w-]+\s+|[\w-]+[^\d.:\/])(\d+(?:\/\d+)*(?:[^.]*)))(?:(\.)(\d+))?/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_GETPAGEDDATA_REG = /\s+(\d{1,})[ ]+(\d{1,}).*/; FW_REGEX_TEMPLATE.SYSTEM_STATE_DEVRESINFO_CPUPARSETPL = /CPU[\S ]+: (\d{1,3})%/; FW_REGEX_TEMPLATE.SYSTEM_STATE_DEVRESINFO_FLASHPARSETPL = /(\d{1,5}) KB total \((\d{1,5}) KB free\)/; FW_REGEX_TEMPLATE.SYSTEM_STATE_DEVRESINFO_MEMORYPARSETPL = new Array([], [/System Total Memory Is: (\d{1,}) bytes/], [/Total Memory Used Is: (\d{1,}) bytes/], [/Memory Using Percentage Is: (\d{1,3})%/]); FW_REGEX_TEMPLATE.SYSTEM_STATE_SYSINFO_VERSIONPARSETPL = /Software Version: (.*) \(.*\)/; FW_REGEX_TEMPLATE.SYSTEM_STATE_SYSINFO_CLOCKPARSETPL = new Array([], [/^(\S{8}) \S{1,} \S{1,} (\d{1,4}\/\d{1,2}\/\d{1,2})/], [/Time Zone : (\S{1,}) add/]); FW_REGEX_TEMPLATE.SYSTEM_STATE_SYSINFO_DEVPARSETPL = new Array([], [/PWR\(AC\)[ ]*Present[ ]*(\S{1,})[ ]*/], [/PWR\(AC\)[ ]*Present[ ]*(\S{1,})[ ]*/], [/FAN[ ]*Present[ ]*(\S{1,})[ ]*/]); FW_REGEX_TEMPLATE.SYSTEM_STATE_SYSINFO_ENVIRPARSETPL = /CPU[ ]*(\d{1,})[ ]*\d{1,}[ ]*\d{1,}[ ]*\S{1,}[ ]*/; FW_REGEX_TEMPLATE.SYSTEM_STATE_SYSINFO_MODEPARSETPL = /firewall[ ]*mode[ ]*(\S{1,})[ ]*/; FW_REGEX_TEMPLATE.SYSTEM_STATE_SYSINFO_HRPPARSETPL = /Current state of virtual routers configured as (\S{1,}):/; FW_REGEX_TEMPLATE.SYSTEM_STATE_SYSINFO_ONLINEUSERTOTALPARSETPL = /Total online web users: (\d{1,})/; FW_REGEX_TEMPLATE.SYSTEM_STATE_SYSINFO_ONLINEUSERLISTPARSETPL = /(\S{1,64})[ ]*(\d)[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+(\d{1,4}\/\d{1,2}\/\d{1,2} \d{1,2}:\d{1,2}:\d{1,2})/; FW_REGEX_TEMPLATE.SYSTEM_STATE_STATICINFO_SESSIONLISTPARSETPL = /^[ ]*(\w{1,20}[ ]*\w{1,20}),[ ]*(\d*),[ ]*(.+)/; FW_REGEX_TEMPLATE.SYSTEM_STATE_STATICINFO_INTERFACELISTPARSETPL = new Array( ['\r\n\r\n'], [/^(?!Vlanif|Logic)([\w\/\.\-]*)[ ]*current state :.*/], [/^The Maximum Transmit Unit is \d* bytes, Hold timer is (\d*\(sec\))/], [/^ (Last |)5 minutes input rate (\d*[ ]*bytes\/sec), (\d*[ ]*packets\/sec).*/], [/^ (Last |)5 minutes output rate (\d*[ ]*bytes\/sec), (\d*[ ]*packets\/sec).*/]); FW_REGEX_TEMPLATE.SYSTEM_STATE_STATICINFO_INTERFACELINEPARSETPL = /^(\S{1,}\d{1,}\/\d{1,}\/\S{1,})[ ]*(\d{1,})[ ]*(\d{1,})[ ]*/; FW_REGEX_TEMPLATE.SYSTEM_STATE_LOGTRAPINFO_LOGTABLEPARSETPL = /([\d\-: ]{19})[ ]*([\d\D]+ \%+[\d]*?[\D]*?\/)(\d)(\/)(\w*)(\(\w*?\):)/; FW_REGEX_TEMPLATE.SYSTEM_STATE_LOGTRAPINFO_LOGLISTPARSETPL = /^([\d\-: ]{19})[ ]*([\d\D]+ \%+[\d]*?[\D]*?\/)(\d)(\/)(\w*)(\(\w*?\):)[ ]*(.*)$/; FW_REGEX_TEMPLATE.SYSTEM_STATE_LOGTRAPINFO_TRAPTABLEPARSETPL = /([\d\-: ]{19}) ([\d\D]* \%+[\d]*?[\D]*?\/)(\d)(\/\D*?\(\D*?\):)([\w\W]+)/; FW_REGEX_TEMPLATE.SYSTEM_STATE_LOGTRAPINFO_TRAPLISTPARSETPL = /([\d\-: ]{19}) ([\d\D]* \%+[\d]*?[\D]*?\/)(\d)(\/\D*?\(\D*?\):)([\w\W]+)/; FW_REGEX_TEMPLATE.SYSTEM_STATE_INTERFACEINFO_INTERFACELISTCMDTPL = 'dis cu interface | in GigabitEthernet[0-9]/[0-9]/[0-9]$|Ethernet[0-9]/[0-9]/[0-9]$'; FW_REGEX_TEMPLATE.SYSTEM_STATE_INTERFACEINFO_INTERFACELISTPARSEPARAMTPL = /^interface (GigabitEthernet\d\/\d\/\d|Ethernet\d\/\d\/\d)$/; FW_REGEX_TEMPLATE.SYSTEM_STATE_INTERFACEINFO_INTERFACELISTPARSETPL = new Array( ['\r\n\r\n'], [/^(\S{1,64}) current state : [Administratively| ]*(UP|DOWN)[\S ]*$/], [/^Line protocol current state \:[ ]*(UP|DOWN)[\(spoofing\)| ]*$/], [/current firewall zone : (.+)/], [/^Internet Address is (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\/\d{1,3}\s{1,}$/], [/mode, (\S{1,}) mode,/]); FW_REGEX_TEMPLATE.SYSTEM_STATE_INTERFACEINFO_ETHERNETLISTPARSETPL = new Array( ['\r\n\r\n'], [/^(\S{1,64}) current state : [Administratively| ]*(UP|DOWN)[\S ]*$/], [/^Line protocol current state \:[ ]*(UP|DOWN)[\(spoofing\)| ]*$/], [/current firewall zone : (.+)/], [/^Internet Address is (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\/\d{1,3}\s{1,}$/], [/mode, (\S{1,}) mode,/]); FW_REGEX_TEMPLATE.SYSTEM_CONFIG_ARP_QUERYINTERFACECOMBO = new Array(['\r\n'], [/((GE|Eth)\S{1,64})/]); FW_REGEX_TEMPLATE.SYSTEM_CONFIG_ARP_INTERFACE_ETHTRUNK = /(ETH-T)/; FW_REGEX_TEMPLATE.SYSTEM_CONFIG_ARP_INTERFACE_GIGABITETHERNET = /(GE)/; FW_REGEX_TEMPLATE.SYSTEM_CONFIG_ARP_INTERFACE_ETHERNET = /(ETH\d)/; FW_REGEX_TEMPLATE.SYSTEM_STATE_IPS = new Array(['\r\n'],[/(\d*)\s*"(.*)"\s*(\d*)\s*(\d{4}-\d{2}-\d{2}\s*\d{2}:\d{2}:\d{2})\s*/]); FW_REGEX_TEMPLATE.SYSTEM_STATE_AV = new Array(['\r\n'],[/"(.*)"\s*(\d*)\s*(\d{4}-\d{2}-\d{2}\s*\d{2}:\d{2}:\d{2})\s*/]); FW_REGEX_TEMPLATE.VTCOMBOBOX = new Array(['\r\n'], [/(^\S*)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_GETVFWS = new Array(['\r\n\r\n'], [/VPN-Instance : (\S+)/], [/ vpn-id : (\d+)/], [/ vlan-id : (\d+)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK = ''; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GRIDLISTREGEX = /^(?!\_)(\S{1,64})/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_VALIDATEINTERFACENAME = /^interface (\S{1,64})/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_SELECTINTERFACETYPE = /^(\w)/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETINTERFACENAME = new Array( ['\r\n'], [/^interface (\S*)$/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETVIRTUALTEMPLATE = new Array( ['\r\n'], [/(Virtual-Template)(\d{1,4})/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETZONECOMBOX = new Array(['\r\n#'], [/^((?: vpn-instance \S+ |)(?!vzone|local)(?:[\S]*))$/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_LAYERINTERFACE = new Array(['\r\n'], [/^(?!Line protocol)(?!NULL0)(\S{1,64}) current state :/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VERIFY_VLANID = new Array(['\r\n#'], [/^interface (\S+\.\d+)/], [/\s+vlan-type dot1q\s+(\d+)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_LAYERINTERFACE_L3 = new Array(['\r\n'], [/^(?!Line protocol)(\S{1,64}) current state :/]); FW_REGEX_TEMPLATE.GETETHTRUNKFORWARDTABLETPL = new Array(['\r\n'], [/(\S*Eth\S+)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETETHTRUNKCOMBOX = new Array( ['\r\n'], [/^(Eth-Trunk)(\d+)\s+current\s+state/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_SETTRACKGROUP = new Array(['\r\n'], [/(GigabitEthernet[\S]*|Eth-Trunk[\S]*|Ethernet[\S]*)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_INTERFACELISTSUCC = new Array( ['\r\n\r\n'], [/^(\S{1,64}) current state : [Administratively| ]*(UP|DOWN)[\S ]*$/], [/^Line protocol current state \:[ ]*(UP|DOWN)[\(spoofing\)| ]*$/], [/^\S* current firewall zone : (.+)/], [/^Description \: ([\S ]{1,64})[ ]*$/], [/^The Maximum Transmit Unit is ([\d]{1,4}) bytes\, Hold timer is 10\(sec\)[ ]*$/], [/^Internet Address is (\d+\.\d+\.\d+\.\d+)\/(\d+\.\d+\.\d+\.\d+}|\d{1,})[ ]*$/], [/^Vlan ID is (\d{1,4})/], [/^Eth-Trunk number: (\d{1,2})/], [/^([\d]{1,4})Mb\Ss\-speed mode\, ([\w]{1,12})\-duplex mode\,/], [ /^ (\S{1,32})[ ]*$/, '+']); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_INTERFACELISTSUCC_L2 = new Array( ['\r\n\r\n'], [/^(\S{1,64}) current state : [Administratively| ]*(UP|DOWN)[\S ]*$/], [/^Line protocol current state \:[ ]*(UP|DOWN)[\(spoofing\)| ]*$/], [/firewall\s*zone\s*:\s*(\S.*)/, '+'], [/^Description \: ([\S ]{1,64})[ ]*$/], [/^The Maximum Transmit Unit is ([\d]{1,4}) bytes\, Hold timer is 10\(sec\)[ ]*$/], [/^Internet Address is (\d+\.\d+\.\d+\.\d+)\/(\d+\.\d+\.\d+\.\d+}|\d{1,})[ ]*$/], [/^Eth-Trunk number: (\d{1,2})/], [/^port\s+default\s+vlan\s+(\d*)/], [/^port\s*trunk\s*allow-pass\s*vlan\s*(.*)/], [/^([\d]{1,4})Mb\Ss\-speed mode\, ([\w]{1,12})\-duplex mode\,/], [ /^ (\S{1,32})[ ]*$/, '+']); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETNOTBINDTRUNK_INTERFACE = /^\ (\S{1,64})/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETYESBINDTRUNK_INTERFACE = /^\Interface (\S{1,64})\,/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETYESBINDTRUNK_INTERFACE_REPLACE = /Eth-Trunk/g; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETETHTRUNKMEMBERTPL = { trunkID :[/^Trunk ID: (\w{1,64})/], trunkMemberUseState : [/^used status: (\w{1,64})/], trunkMemberType : [/^TYPE: (\w{1,64})/], trunkMemberInterfaceNumber : [/^Number Of Ports in Trunk = (\d{1,12})/], trunkMemberOperateState : [/^operate status: (\w{1,64})/], interfaceName : [ /^(Interface \S{1,64},\s*\w{1,64},\w{1,64},operate \w{1,64},\S{1,64},)/, '+'] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_interfaceNameNumberTPL = /Interface (\S{1,64}),\s*(\w{1,64}),(\w{1,64}),operate (\w{1,64}),(\S{1,64}),/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETMAININTERFACESTORE = new Array( ['\r\n\r\n'], [/^(\S{1,64}) current state/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETMAININTERFACESTORE_ETHERNET = new Array( ['\r\n\r\n'], [/^(Ethernet\d*\/\d*\/\d*) current state/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETMAININTERFACESTORE_GIGABITETHERNET = new Array( ['\r\n\r\n'], [/^(GigabitEthernet\d*\/\d*\/\d*) current state/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETMAININTERFACESTORE_ETHTRUNK = new Array( ['\r\n\r\n'], [/^(Eth-Trunk\d)\s/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_VIRTUALTEMPLATE = { description : [/^Description : (.*)[ ]/], virMtu : [/^The Maximum Transmit Unit is (\d{1,4}) bytes/], zoneName : [/^\S{1,64} current firewall zone : (.+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_VIRTUALTEMPLATE_THIS = { interfaceName : [/^interface (\S{1,64})\s*/], findAddressPPP : [/^\s*ip address ppp-(\w{1,32})\s*/], virFindModelInterfaceName : [/^\s*ip address unnumbered interface (\S{1,64})/], pppAuthMode : [/^\s*ppp authentication-mode (\w{1,12})\s*/], virLinkNumber : [/^\s*broadcast-limit link (\d{1,3})/], timerNegotiate : [/^\s*ppp timer negotiate (\d{1,3})/], ipcpDns : [/^\s*ppp ipcp dns (\d+\.\d+\.\d+\.\d+)/], timerHold : [/^\s*timer hold (\d{1,5})/], 'findAddressModeIpAddress,findAddressModeMaskAddress' : [/^\s*ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], remoteAddressPool : [/^\s*remote address (pool\s*\d{0,2})/], remoteAddress : [/^\s*remote address (\d+\.\d+\.\d+\.\d+)/], iphcCheck : [/^\s*ppp compression (\w{1,12})/], vjcompressCheck : [/^\s*ip tcp (\w{1,64})/], usernameChap : [/^ ppp chap user (\S*)/], passwordChap : [/^ ppp chap password simple (\S{1,64})/], 'usernamePap,passwordPap' : [/^ ppp pap local-user (\S{1,64}) password simple (\S{1,64})/], bindingVfw : [/ip binding vpn-instance (\S+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_ETHTRUNK = { description : [/^Description : (.*)[ ]/], trunkMtu : [/^The Maximum Transmit Unit is (\d{1,4}) bytes/], zoneName : [/^\S{1,64} current firewall zone : (.+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_ETHTRUNK_THIS = { interfaceName : [/^interface (\S{1,64})\s*/], trunkMacAddress : [/^ mac-address (\w{1,4}-\w{1,4}-\w{1,4})/], shutdown : [/^ shut(down)/], portswitch : [/^ port(switch)/], leastActiveLinknumber : [/^ least active-linknumber (\d{1,2})/], maxActiveLinknumber : [/^ max bandwidth-affected-linknumber (\d{1,2})/], snmp : [/^ undo enable snmp trap (\w{1,6})/], 'ipAddress,maskAddress' : [/^ ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], bindingVfw : [/ip binding vpn-instance (\S+)/], port_default : [/port default vlan (\d*)/], port_trunk_allow_pass : [/port trunk allow-pass vlan (.*)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_ETHTRUNKSUB = { description : [/^Description : (.*)[ ]/], zoneName : [/^\S{1,64} current firewall zone : (.+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_ETHTRUNKSUB_THIS = { interfaceName : [/^interface (\S{1,64})\s*/], vlanidInt : [/^ vlan-type dot1q (\d{1,4})/], shutdown : [/^ shut(down)/], snmp : [/^ undo enable snmp trap (\w{1,6})/], 'ipAddress,maskAddress' : [/^ ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], bindingVfw : [/ip binding vpn-instance (\S+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_GIGABITETHERNET = { description : [/^Description : (.*)[ ]/], mtuGe : [/^The Maximum Transmit Unit is (\d{1,4}) bytes/], zoneName : [/^\S{1,64} current firewall zone : (.+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_GIGABITETHERNET_THIS = { interfaceName : [/^interface (\S{1,64})\s*/], shutdown : [/^ shut(down)/], portswitch : [/^ port(switch)/], snmp : [/^ undo enable snmp trap (\w{1,6})/], ethtrunk : [/^ (eth-trunk \d{1,2})/], loopback : [/^ loop(back)/], speedGe : [/^ speed (\d{1,4})/], duplexGe : [/^ duplex (\w{1,12})/], virTemp : [/^ pppoe-server bind (\S* \d{1,4})/], 'ipAddress,maskAddress' : [/^ ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], bindingVfw : [/ip binding vpn-instance (\S+)/], port_default : [/port default vlan (\d*)/], port_trunk_allow_pass : [/port trunk allow-pass vlan (.*)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_GIGABITETHERNETSUB = { description : [/^Description : (.*)[ ]/], zoneName : [/^\S{1,64} current firewall zone : (.+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_GIGABITETHERNETSUB_THIS = { interfaceName : [/^interface (\S{1,64})/], vlanidInt : [/^ vlan-type dot1q (\d{1,4})/], shutdown : [/^ shut(down)/], virTemp : [/^ pppoe-server bind (\S* \d{1,4})/], snmp : [/^ undo enable snmp trap (\w{1,6})/], 'ipAddress,maskAddress' : [/^ ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], bindingVfw : [/ip binding vpn-instance (\S+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_ETHERNET = { description : [/^Description : (.*)[ ]/], mtuEther : [/^The Maximum Transmit Unit is (\d{1,4}) bytes/], zoneName : [/^\S{1,64} current firewall zone : (.+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_ETHERNET_THIS = { interfaceName : [/^interface (\S{1,64})\s*/], shutdown : [/^ shut(down)/], portswitch : [/^ port(switch)/], snmp : [/^ undo enable snmp trap (\w{1,6})/], ethtrunk : [/^ (eth-trunk \d{1,2})/], loopback : [/^ loop(back)/], speedEther : [/^ speed (\d{1,4})/], duplexEther : [/^ duplex (\w{1,12})/], 'ipAddress,maskAddress' : [/^ ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], bindingVfw : [/ip binding vpn-instance (\S+)/], port_default : [/port default vlan (\d*)/], port_trunk_allow_pass : [/port trunk allow-pass vlan (.*)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_ETHERNETSUB = { description : [/^Description : (.*)[ ]/], zoneName : [/^\S{1,64} current firewall zone : (.+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_ETHERNETSUB_THIS = { interfaceName : [/^interface (\S{1,64})/], vlanidInt : [/^ vlan-type dot1q (\d{1,4})/], shutdown : [/^ shut(down)/], snmp : [/^ undo enable snmp trap (\w{1,6})/], 'ipAddress,maskAddress' : [/^ ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], bindingVfw : [/ip binding vpn-instance (\S+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_LOOPBACK = { description : [/^Description : (.*)[ ]/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_LOOPBACK_THIS = { interfaceName : [/^interface (\S{1,64})/], 'ipAddress,maskAddress' : [/^ ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], bindingVfw : [/ip binding vpn-instance (\S+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_VLANIF = { description : [/^Description : (.*)[ ]/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_EDITINTERFACE_VLANIF_THIS = { interfaceName : [/^interface (\S{1,64})/], 'ipAddress,maskAddress' : [/^ ip address (\d+\.\d+\.\d+\.\d+) (\d+\.\d+\.\d+\.\d+)/], bindingVfw : [/ip binding vpn-instance (\S+)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_QUERYTYPE_SELECT_ZONENAME = /^firewall zone (?!vpn-instance)(?:name\s|)(?!vzone|local)(\S*)/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_SUBIPADDRESS = { subip : [ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\s\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\ssub/, '+'] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_IPADDRESS = [['\r\n'], /(\S+)\s+(\S+)\s+(sub)/]; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_ETHTRUNK_PORTCHANGE = { portswitch : [/^ port(switch)/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GETINTERFACETYPE = new Array( ['\r\n'], [/ (\S{1,64}) /]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_GIGABITETHERNETMAIN = 'GigabitEthernet[0-9]{1,4}\/[0-9]{1,4}\/[0-9]{1,4} current state'; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_ETHERNETMAIN = 'Ethernet[0-9]{1,4}\/[0-9]{1,4}\/[0-9]{1,4} current state'; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACE_ETHTRUNKMAIN = 'Eth-Trunk[0-7] current state'; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_REGEXP_IPLINKID = /^(\d{1,2})$/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_STATE = new Array(['\r\n'], [/^\s*The firewall's config state is: (\w{1,32})$/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_GROUP = new Array([], [/^\s*Master group status:/], [/^\s*Group enabled:[ ]*\w*/], [/^\s*State:[ ]*(\w{1,32})/], [/^\s*Priority running:[ ]*(\d{1,5})/], [/^\s*Total VRRP members:[ ]*(\d{1,4})/], [/^\s*Hello interval\(ms\):[ ]*(\d{1,5})/], [/^\s*Preempt delay\(s\):[ ]*(\d{1,4})/], [/^\s*Peer group available:[ ]*(\d{1,4})/], [/^\s*Peer's member same:[ ]*(\w{1,12})/], [/^\s*Slave group status:/], [/^\s*Group enabled:[ ]*\w*/], [/^\s*State:[ ]*(\w{1,32})/], [/^\s*Priority running:[ ]*(\d{1,5})/], [/^\s*Total VRRP members:[ ]*(\d{1,4})/], [/^\s*Hello interval\(ms\):[ ]*(\d{1,5})/], [/^\s*Preempt delay\(s\):[ ]*(\d{1,4})/], [/^\s*Peer group available:[ ]*(\d{1,4})/], [/^\s*Peer's member same:[ ]*(\w{1,12})/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_GETGIGETHSTORE = new Array( ['\r\n'], [/^((GigabitEthernet|Ethernet|Eth-Trunk)\S{1,64})\s*\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_VRID_GETDATA = { 'interfaceNameVrid,vrid' : [/^\s*(\S{1,64}) \| Virtual Router (\d{1,4})$/], VrrpGroup : [/^\s*VRRP Group : (\w{1,64})\s*$/], virtualIp : [/^\s*Virtual IP : (\d+\.\d+\.\d+\.\d+)$/], PriorityRun : [/^\s*PriorityRun : (\d{1,4})$/], PriorityConfig : [/^\s*PriorityConfig : (\d{1,4})$/], MasterPriority : [/^\s*MasterPriority : (\d{1,4})$/], 'Preempt,DelayTime' : [/^\s*Preempt : (\w{1,64}) Delay Time : (\d{1,4})$/], Timer : [/^\s*Timer : (\d{1,4})$/], 'AuthType,password' : [/^\s*Auth Type : (\w{1,12})\s\w{1,12} Auth key : (\S*)$/], trackInterface : [/\s*Track IF : (\S{1,64})/], CheckTTLs : [/^\s*Check TTL : (\w{1,20})$/], iplinkId : [/^\s*Ip-Link (\d{1,3})\S*/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_VRID_MASKADDRESS = /virtual-ip \d{1,3}.\d{1,3}.\d{1,3}.\d{1,3} (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_VRID_IPLINKCHECKIPADDRESS = /\d{1,3}\s*\w{1,12}\s*\d{1,9}\s*(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_VRID_IPLINK = /^\s*ip-link check (\w{1,32})$/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_REMOVED_SUCCESSFLAG = ['All hrp interfaces have been removed', '系统中所有的hrp备份通道都已经被删除', false]; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_GETIPLINKIDSTORE = new Array(['\r\n'], [/^(\d{1,2}) /]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_CONFIGURATION = { 'hrpEnable' : [/^\s*hrp (\w{1,12})\s*$/], 'preemptDelay' : [/((undo |)hrp preempt delay[ ]*(.*))/], 'mirrorSession' : [/^\s*hrp mirror session (\w{1,12})\s*$/], 'autoSync' : [/(undo) hrp auto-sync config/], 'autoSyncConnStatus' : [/(undo) hrp auto-sync connection-status/], 'remarkPackageSend' : [/(firewall) composite-hrp permit-backupforward/], 'ospfCost' : [/^\s*hrp ospf-cost adjust-enable (\d{1,5})\s*$/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_IPLINK_CHECKBOX = /^\s*ip-link check (\w{1,12})\s*$/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_GETCHECKMESSAGEINTERFACE = new Array( ['\r\n'], [/(Eth-Trunk\S{1,64}|GigabitEthernet\S{1,64})/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_HRPTRANSFERINTERFACE = new Array(['\r\n'], [/hrp interface (\S{1,64})(\stransfer-only|)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_VRIDLISTTPL = new Array(['\r\n\r\n'], [/^\s*([\S]{1,64}) \| Virtual Router ([\d]{1,4})$/], [/^\s*VRRP Group : (\w{1,32})\s*/], [/^\s*state : ([\w]{1,12})\s*$/], [/^\s*Virtual IP : (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\s*$/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_BACKORCHECKCMPTPL = /^\w*\s*\w*\s*\d{1,4}\/\d{1,2}\/\d{1,2}\s*\d{1,2}:\d{1,2}:\d{1,2}\s*\d{1,4}\/\d{1,2}\/\d{1,2}\s*\d{1,2}:\d{1,2}:\d{1,2}\s*([\S ]*)/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_GETIPLINKJSON = / (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\s*(\S{1,64})$/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_HRPCHANNELTPL = new Array(['\r\n'], [/hrp interface (\S{1,64})(\stransfer-only|)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_DISPLAY_STATE = /^\s*(\S*)\s*\:\s*(\S*)/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_HRP_STATE_MATCH = /\S{1,64}/g; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_GRIDPAGETOTAL = /\s+(\d{1,})[ ]+(\d{1,}).*/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_ZONE_ZONELISTSUCC = new Array(['\r\n#'], [/^(?!HRP)([\S\s]*)/], [/^ description ([\S\s]*)$/], [/^ priority is (\d{1,64})$/], [/^ interface of the zone is [(](\d{1,64})[)]:$/], [/^ (\S*)$/, '+']); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_ZONE_GETYESJOINZONE = /^ (\S{1,64})/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_ZONE_GETZONELISTDATA = new Array(['\r\n#'], [/^(?!HRP)([\S\s]*)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_ZONE_SHOWNEWOREDITPANEL_INTERFACENAME = new Array( ['\r\n'], [/^ (\S{1,64})/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_ZONE_ALREADYJOINZONE_INTERFACENAME = new Array( ['\r\n'], [/ (\S{1,64})$/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_ZONE_STARTLEVEL = /\b(vzone|untrust|dmz|trust|local)$/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_ZONE_NOTEDIT = /\b(vzone|local)$/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_INTERFACEGRID_NOTEDIT = /(NULL)/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_LISTSUCC = new Array(['Untagged Ports'], [/^\s*Vlan ([\d]{1,4}) is (enable|able)$/], [/^\s*binding vpn-instance (\S{1,20})/], [/^\s*Vlan interface name: ([\w]{1,64})$/], [/^\s*L3 state: (Up|Down)$/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_VLANEDITACTION = { vlanid : [/^vlan (\d{1,4})/], tovfwvlan : [/^\s*binding vpn-instance (\S{1,20})/], description : [/^ description ([\S ]*)/], hrpTrack : [/^ hrp track (\w{1,12})/], taggedPorts : [/^ Tagged Ports: (\w{1,4})$/], untaggedPorts : [/^ Untagged Ports: (\w{1,4})$/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_REFURBISHTWOLAYERINTERFACE = { taggedPorts : [/^\sTagged Ports: (\w{1,4})/], untaggedPorts : [/^\sUntagged Ports: (\w{1,4})/] }; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_INTERFACESTORE_MATCH = /\S{1,64}/g; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_MACLISTSUCC = new Array( ['\r\n'], [/^\s*(\d{1,4})\s*([a-f0-9]{1,4}-[a-f0-9]{1,4}-[a-f0-9]{1,4})\s*\w*\s*(\S{1,64}|)\s*(dynamic|static)\s*/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_MACCOMBOSELECT = new Array(['\r\n'], [/^\s*\d{1,4}\s*([a-f0-9]{1,4}-[a-f0-9]{1,4}-[a-f0-9]{1,4})/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_VLANCOMBOSELECT = new Array(['\r\n'], [/^\s*(\d{1,4})\s*[a-f0-9]{1,4}-[a-f0-9]{1,4}-[a-f0-9]{1,4}/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_LOGSERVERINTERFACETPL = new Array( ['\r\n'], [/(\S{1,64}) current state :/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_VLAN_INTCONFNEWGRID = new Array(['\r\n'], [/^(\S{1,64}) current state/], [/^Eth-Trunk number: (\d)/]); FW_REGEX_TEMPLATE.SYSTEM_NETWORK_MAC_INTERFACE_ETHTRUNK = /(E\d)$/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_MAC_INTERFACE_GIGABITETHERNET = /(G\d*\/\d*\/\d*)$/; FW_REGEX_TEMPLATE.SYSTEM_NETWORK_MAC_INTERFACE_ETHERNET = /(E\d*\/\d*\/\d*)$/; FW_REGEX_TEMPLATE.SYSTEM_CONFIGURE_CLOCKINFOPARSETPL = new Array([], [/^(\d*:\d*:\d*)[ ]*[a-zA-Z]*[ ]*[a-zA-Z]*[ ]*(\d*\/\d*\/\d*).*/], [/^Time Zone : (\S*)[ ]*(add|minus)[ ]*(\d*:\d*:\d*).*/]); FW_REGEX_TEMPLATE.SYSTEM_CONFIGURE_PRIVILEGELEVEL = new Array(['\r\n'], [/The\s*privilege\s*level\s*of\s*web\s*user\s*is\s*(\d)/]); FW_REGEX_TEMPLATE.SYSTEM_CONFIGURE_FTPSERVERGETPARSETPL = new Array( ["\r\n\r\n"], [/^[ %]*FTP server (has been|is) (\w*)/], [/^[ ]*Timeout value\(in minute\)[ ]*(\d*)/]); FW_REGEX_TEMPLATE.SYSTEM_CONFIGURE_EQUIPGETPARSETPL = new Array(["\r\n\r\n"], [/^ Httpd(?: security | )server is (\w*).*/], [/^ HTTP port is (\d*).*/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_COMPAREPARSETPL = new Array([], [/^[ ]*(WARNING:|)(t|T)he current configuration is (the |)(\w*).*/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_CONFIGURATIONQUERYPARSETPL = new Array( ['\n'], [/\s*(.*)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_GETMODEL = new Array(['\r\n'], [/\s*(\S+)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_GETLICENSEPARSETPL = new Array([], [/^Device ESN is: (\w*)/], [/^(\S*)\s*Activated time:\s*(.*)/, "+"], [/^(VPN\s*: \d*)/], [/^(VFW\s*: \d*)/], [/^(GTP\s*: \w*)/], [/^(IPS\s*: .+)/], [/^(URL Filter\s*: .+)/], [/^(Anti Virus\s*: .+)/],[/^(P2P\s*: \w*)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_LICENSEDIRPARSETPL_bak = new Array( ['\r\n'], [/^[ ]*\d*[ ]*\-rw\-[ ]*(\d*)[ ]*(\w* \d* \d* \d*:\d*:\d*)[ ]*([\w\-]*\.dat)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_LICENSEDIRPARSETPL = new Array( ['\r\n'], [/^[ ]*\d*[ ]*\-rw\-[ ]*(\d*)[ ]*(\w* \d* \d* \d*:\d*:\d*)[ ]*(\S*\.dat)$/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_GETVERSIONPARSETPL = new Array( ['\r\n\r\n'], [/^Software Version: (.*)(\(VSP \(R\)[ ]*)Software\,([ ]*Version .*)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_GETDETAILVERSIONPARSETPL = new Array([''], [/(.*)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_GETSTARTUPPARSETPL = new Array([], [/^[ ]*Startup system software:[ ]*([\-\w\:\/\.]*)/], [/^[ ]*Next startup system software:[ ]*([\-\w\:\/\.]*)/], [/^[ ]*Startup saved-configuration file:[ ]*([\-\w\:\/\.]*)/], [/^[ ]*Next startup saved-configuration file:[ ]*([\-\w\:\/\.]*)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_GETPATCHINFORMATIONPARSETPL = new Array( [], [/^ Current patch file name : (\S*)/], [/^ Total Patch Num : (\d*)/], [/^ Running Patch Num : (\d*)/], [/^ Active Patch Num : (\d*)/], [/^ Deactive Patch Num : (\d*)/], [/Status of Patch Unit \d*\s*:\s*(\S*)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_SYSDIRPARSETPL = new Array( ['\r\n'], [/^[ ]*\d*[ ]*\-rw\-[ ]*(\d*)[ ]*(\w* \d* \d* \d*:\d*:\d*)[ ]*(\S*\.bin)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_PATCHDIRPARSETPL = new Array( ['\r\n'], [/^[ ]*\d*[ ]*\-rw\-[ ]*(\d*)[ ]*(\w* \d* \d* \d*:\d*:\d*)[ ]*(\S*\.pat)/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_CONFDIRPARSETPL = new Array( ['\r\n'], [/^[ ]*\d*[ ]*\-rw\-[ ]*(\d*)[ ]*(\w* \d* \d* \d*:\d*:\d*)[ ]*([\w\-]*(\.cfg|\.zip))$/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_CONFDIRPARSETPL_bak = new Array( ['\r\n'], [/^[ ]*\d*[ ]*\-rw\-[ ]*(\d*)[ ]*(\w* \d* \d* \d*:\d*:\d*)[ ]*([\w\-]*(\.cfg|\.zip|))$/]); FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_TRIM = { trimRegex : /^\s+|\s+$/g } FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_GETDIRTOTAL = { dirTotal : /(\d* KB) total \((\d* KB) free\).*/ } FW_REGEX_TEMPLATE.SYSTEM_MAINTENANCE_Restart = { base64test : /[^A-Za-z0-9\+\/\=]/g } FW_REGEX_TEMPLATE.SYSTEM_CONSTTPL = { globeSpace : / /g, endFlag : /(\r\n\r\n\[.*)/, leftBracket : /\[/g, rightBracket : /\]/g, toleftBracket : /\^\!\^/g, torightBracket : /@&@/g, leftbracket : //g, sessionNatIP : /\[(\d*.\d*.\d*.\d*:\d*)\]/ } FW_REGEX_TEMPLATE.DELETEFILECMDTPL_SUCCESSFLAG = ['Done', '完成', false]; FW_REGEX_TEMPLATE.SETFTPENABLECMDTPL_SUCCESSFLAG = [ 'Start FTP server|Close FTP server', '启动FTP服务器|关闭FTP服务器', false]; FW_REGEX_TEMPLATE.SAVECMDTPL_SUCCESSFLAG = ['successfully', '成功', false]; FW_REGEX_TEMPLATE.NOTEMESSAGE = ['You will change the startup saved-configuration', '将改变系统配置文件', false]; FW_REGEX_TEMPLATE.SYSTEM_INFO_ARPLISTPARSETPL = new Array( ['\r\n'], [/^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+([a-z0-9]{4}\-[a-z0-9]{4}\-[a-z0-9]{4})[ ]+(\d*)[ ]*([A-Z]{1})[ ]*([a-zA-Z0-9\-\/]*)[ ]*([a-zA-Z0-9\-\/]*).*/]); FW_REGEX_TEMPLATE.SYSTEM_INFO_INTERFACELISTPARSETPL = new Array( ['\r\n\r\n'], [/^(?!Vlanif|Logic|Tunne)([\w\/\.\-]*)[ ]*current state :.*/], [/^The Maximum Transmit Unit is \d* bytes, Hold timer is (\d*\(sec\))/], [/^ (Last |)5 minutes input rate (\d*[ ]*bytes\/sec), (\d*[ ]*packets\/sec).*/], [/^ (Last |)5 minutes output rate (\d*[ ]*bytes\/sec), (\d*[ ]*packets\/sec).*/]); FW_REGEX_TEMPLATE.SYSTEM_INFO_SERVERMAPLISTPARSETPL = new Array( ['\r\n\r\n'], [/(Reverse)?:\s*(\S+)\s*->\s*(\S+),\s*Zone:\s*(\S+)/], [/Protocol\s*:\s*(\S*)\(.*\)\s*,\s*Left-Time\s*:\s*(\S+),/], [/Vpn\s*:\s*(\S+)\s*->\s*(\S+)/] ); FW_REGEX_TEMPLATE.SYSTEM_INFO_SESSIONLISTPARSETPL = new Array( ['\r\n\r\n'], [/^[ ]*(\S+.*)[ ]*VPN: ([a-zA-Z]+\S*) (\->|<\-) ([a-zA-Z]+\S*)(.*)/], [/^[ ]*[Zz]one: ([a-zA-Z]+\S*) (\->|<\-) ([a-zA-Z]+\S*)[ ]*TTL: (\d*:\d*:\d*)[ ]*[Ll]eft: (\d*:\d*:\d*).*/], [/^[ ]*Interface: (\S*)[ ]*Nexthop: (\d*.\d*.\d*.\d*)[ ]*M[Aa][Cc]: ([0-9a-z]*\-[0-9a-z]*\-[0-9a-z]*\-[0-9a-z]*\-[0-9a-z]*\-[0-9a-z]*).*/], [/^[ ]*(\d*.\d*.\d*.\d*:\d*(\[\d*.\d*.\d*.\d*:\d*\]|)(\+\->|\-\->|<\-\-|<\-\+)\d*.\d*.\d*.\d*:\d*(\[\d*.\d*.\d*.\d*:\d*\]|)).*/]); FW_REGEX_TEMPLATE.SYSTEM_INFO_SESSIONLISTPARSETPL_bak = new Array( ['\r\n\r\n'], [/^[ ]*(\S+.*)[ ]*\(vpn: ([a-zA-Z]*) (\->|<\-) ([a-zA-Z]*).*/], [/^[ ]*zone: ([a-zA-Z]+\S*) (\->|<\-) ([a-zA-Z]+\S*)[ ]*tag: (\w*)[ ]*State: (\w*).*/], [/^[ ]*ttl: (\d*:\d*:\d*)[ ]*left: (\d*:\d*:\d*)[ ]*Id: (\w*)[ ]*SlvId: (\w*).*/], [/^[ ]*Interface: (\S*)[ ]*Nexthop: (\d*.\d*.\d*.\d*)[ ]*Mac: ([0-9a-z]*\-[0-9a-z]*\-[0-9a-z]*\-[0-9a-z]*\-[0-9a-z]*\-[0-9a-z]*).*/], [/^[ ]*(\d*.\d*.\d*.\d*:\d*(\[\d*.\d*.\d*.\d*:\d*\]|)(\+\->|\-\->|<\-\-|<\-\+)\d*.\d*.\d*.\d*:\d*(\[\d*.\d*.\d*.\d*:\d*\]|)).*/]); FW_REGEX_TEMPLATE.SYSTEM_INFO_SESSIONADDRTPL = /(\d*.\d*.\d*.\d*:\d*)(\[\d*.\d*.\d*.\d*:\d*\]|)(\+\->|\-\->|<\-\-|<\-\+)(\d*.\d*.\d*.\d*:\d*)(\[\d*.\d*.\d*.\d*:\d*\]|)/; FW_REGEX_TEMPLATE.SYSTEM_INFO_STATISTICLISTPARSETPL = new Array(['\r\n'], [/^[ ]*(\w{1,20}[ ]*\w{1,20}),[ ]*(\d*),[ ]*(.+)/]); FW_REGEX_TEMPLATE.SYSTEM_INFO_DISCARDINFO = /(\w*)(Dis|Discard).*/; FW_REGEX_TEMPLATE.SYSTEM_INFO_PASSRCVINFO = /^\w*(Octs|pkts|bytes|Pkts)$/; FW_REGEX_TEMPLATE.SYSTEM_INFO_SESSMODEL = /(Tcp|Udp|Ftp|Http|H323|Rtsp|Smtp)(Session|Sess)$/; FW_REGEX_TEMPLATE.SYSTEM_INFO_STINFO = /^(Pass|Rcv)(\w*)pkts$/; FW_REGEX_TEMPLATE.SYSTEM_INFO_DISPKT = /(NonICMPACL|ICMPACL|BlkDiscard|IcmpFlood|UdpFlood|FragEx|AlgDiscard|SessFail)(Pkt|DisPkt|DiscardPkt|DiscardPkts|DisPkts)$/; FW_REGEX_TEMPLATE.VFW_LIST = new Array(['VPN-Instance'], [/^[ ]*:[ ]*((\S{1,19})(?:[ ]*\(being deleted\)|))/], [/^[ ]*vpn-id[ ]*:[ ]*(\d{1,2})/], [/^[ ]*Description[ ]*:[ ]((?:\S*[ ]*)*)/], [/^\s*((?:\d+|(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})):\d+)/]); FW_REGEX_TEMPLATE.VFW_ROUTEMATCH = /^\s*(\d{1,}):(\d{1,})/; FW_REGEX_TEMPLATE.VFW_ISEXIST = /^[ ]*(The)/; FW_REGEX_TEMPLATE.VFW_DELETE_JUDGMENT = / \(being deleted\)/; FW_REGEX_TEMPLATE.VFW_DEL_SUCCESSFLAG = [ 'IP addresses from all interfaces in VPN-Instance|does not exist', '中所有接口的IP地址已经被删除|实例不存在']; FW_REGEX_TEMPLATE.ROUTER_STATIC_GRID_LIST = new Array( ['\r\n'], [/[ ]+ip route-static ((vpn-instance[ ](\w{1,19}))|)[ ]*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*((vpn-instance[ ](\w{1,19}))|([a-zA-Z]{1,30}\S{1,20})|)[ ]*((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|)[ ]*(preference|)[ ]*(\d*)[ ]*(reject|blackhole|)/]); FW_REGEX_TEMPLATE.ROUTER_STATIC_VPNGRID_LIST = new Array( ['\r\n'], [/[ ]+ip[ ]+route-static[ ]+vpn-instance[ ]+ \w{1,19}[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*([^0-9]\S{1,63}|)[ ]*(\d{0,3}\.*\d{0,3}\.*\d{0,3}\.*\d{0,3})[ ]*(preference|)[ ]*(\d*)[ ]*(reject|blackhole|)/]); FW_REGEX_TEMPLATE.ROUTER_STATIC_STATICROUTINGTABLECONTROL = new Array( ['\n'], [/[ ]*\**NextHop:[ ]+(\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3})[ ]+Interface:[ ]+(\d{0,3}\.\d{0,3}\.\d{0,3}\.\d{0,3})\((\S+)\)/], [/[ ]*State:[ ]+/]); FW_REGEX_TEMPLATE.ROUTER_STATIC_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_POLICY_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_POLICY_IN_INTERFACE_DROPDOWN = new Array( ['\r\n\r\n'], [/^(GigabitEthernet\S*|Ethernet\S*|Virtual-Template\S*|Tunnel\S*) current state : (?:UP|DOWN)/]); FW_REGEX_TEMPLATE.ROUTER_POLICY_IN_INTERFACE = new Array(['\r\n'], [/^[ ]+(\w+)[ ]+([^\d]\S{1,64})/]); FW_REGEX_TEMPLATE.ROUTER_POLICY_IN_ACL = new Array( ['route-policy '], [/(\w+)[ ]+(permit|deny)[ ](\d+)/], [/^ if-match acl (\d+)/], [/^ apply output-interface ([^\d]\S{1,64})[ ]*([^\d]\S{0,64})/], [/^ apply ip-address next-hop (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*(\d{0,3}\.*\d{0,3}\.*\d{0,3}\.*\d{0,3})/]); FW_REGEX_TEMPLATE.ROUTER_POLICY_DISPLAY_ACL = new Array(['\r\n'], [/[ ]*rule (\d+) (permit|deny) (service-set \S{1,} \((?:group|object|predefined)\)|\w+)[ ]+(?:source|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:destination|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:precedence|)([ ][a-z\-]+|)[ ]*(?:tos|)([ ][a-z0-9\-]+|)[ ]*(?:logging|)[ ]*(?:time-range|)([ ]*[\S]+|)[ ]*\((\d+) times matched\)/] ); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_AREA_LIST = new Array( ['\r\n\r\n'], [/Area (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/], [/ Authtype: (\w*) Flags: <(\w*)[ |\w]*>[ ]*[Default]*[ ]*[cost:]*[ ]*(\d*)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_AREA_EDIT_MESSAGE = new Array( ['\r\n\r\n'], [/ Area (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/], [/ Authtype: (?:\w*) Flags: <(\w*)[ ]*(\w*)[ ]*(\w*)[ ]*(\w*)[ ]*/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_CONVERGE_LIST_ONE = new Array( ['\r\n #'], [/\s*area (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/], [ /\s*abr-summary (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ \S]*/, '+']); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_CONVERGE_LIST_TWO = new Array( ['\r\n'], [/[ ]*(asbr)-summary (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_CONVERGE_LIST_THREE = new Array( ['\r\n'], [/[ ]*(asbr|abr)-summary (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*(\w*[ ]*\-?\w*)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_CONVERGE_LIST_FOUR = new Array( ['\r\n'], [/\s*area (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/], [/[ ]*(asbr|abr)-summary (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*(\w*[ ]*\-?\w*)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_ENJOIN_INTERFACE = new Array(['silent'], [/^-interface[ ]+([^\d^\s]\S*)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_ENJOIN_INTERFACE_LIST = new Array( ['\r\n\r\n'], [/^(\S{1,64}) current state : [Administratively| ]*(UP|DOWN)[\S ]*$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_INTERFACE_LIST = new Array( ['\r\n\r\n'], [/Interface:[ ](\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]\(([^\d]\S{1,64}|)\)/], [/^\s*Cost:[ ]+(\d*)[ ]+State:[ ]+(\S{1,64})[ ]+Type:[ ]([^\d]\S{1,64}|)/], [/[ ]+Priority:[ ]+(\d+)/], [/[ ]+Timers:[ ]+Hello[ ]+(\d+),[ ]+Dead[ ]+(\d+),[ ]+Poll[ ]+(\d+),[ ]+Retransmit[ ]+(\d+),[ ]+Transmit[ ]+Delay[ ]+(\d+)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_INTERFACE_COMBO_LIST = new Array( ['\r\n'], [/^interface (\S+)/]); FW_REGEX_TEMPLATE.ROUTER_RIP_INTERFACE_LIST_DROPDOWN = new Array( ['\r\n\r\n'], [/^(GigabitEthernet\S*|Eth\S*|Virtual-Template\S*|LoopB\S*) current state : (?:UP|DOWN)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_INTERFACE_MD5_DISPLAY = new Array( ['#\r\n'], [/([ ]+ospf[ ]+mtu-enable)/], [/[ ]+ospf[ ]+authentication-mode[ ]+(\w+)[ ]+(\d{1,3})[ ]+(\S{0,24})/], [/[ ]*ospf[ ]+authentication-mode[ ]+simple[ ]+(\w+)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_GET_NETWORK_LIST = new Array(['\r\n '], [/\s*Area (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_NETWORK_LIST = new Array( ['\r\n #'], [/\s*area (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/], [ /network (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/, '+'], [/[ ]*authentication-mode[ ]+(simple|md5)/], [/[ ]+(nssa|stub)[ ]*(default-route-advertise|)[ ]*(no-import-route|)[ ]*(no-summary|)/], [/[ ]+default-cost[ ]+(\d+)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_NETWORK_LIST_DISPLAY = new Array( ['area'], [/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/], [ /network (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/, '+']); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_OSPF_GRID_LIST_VPN = new Array( ['\r\n'], [/^[ ]*ospf (\d{1,20})[ ]*(router-id[ ]+\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)[ ]+vpn-instance[ ]* (\w{1,19})/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_OSPF_GRID_LIST_VPN_1 = new Array(['\r\nos'], [/^[ ]*pf (\d{1,20})/], [ /import-route (ospf \d{1,20})/, '+'] ); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_OSPF_GRID_LIST = new Array(['Process'], [/^[ ]*(\d+) with Router ID (\d+\.\d+\.\d+\.\d+)/], [/^[ ]*VPN-Instance's name:[ ]*(\w{1,19})/], [/^ Spf-schedule-interval: (\d+)/], [/^[ ]Routing preference: Inter\/Intra: (\d+) External: (\d+)/], [/Nssa Area Count: (\d+)$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_OSPF_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_ROUTE_FILTER_MESSAGE = new Array( ['\r\n'], [/^[ ]+filter-policy[ ]+(\d+)[ ]+(import|export)[ ]*(\w*)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_ROUTE_FILTER_ACL_MESSAGE_DISPLAY = new Array( ['split_riproutefilter'], [/[ ]+(\S+)[ ]+(\S+)[ ]*(\S* *\d*)[ ]+\r\n[ ]+rule (\d+) (permit|deny) (service-set \S{1,} \((?:group|object|predefined)\)|\w+)[ ]+(?:source|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:destination|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:precedence|)([ ][a-z\-]+|)[ ]*(?:tos|)([ ][a-z0-9\-]+|)[ ]*(?:logging|)[ ]*(?:time-range|)([ ]*[\S]+|)[ ]*\((\d+) times matched\)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_ROUTE_FILTER_ACL_LIST_MESSAGE_DISPLAY = new Array( ['\r\n'], [/[ ]*Advanced[ ]+ACL[ ]+(\d+)/], [/[ ]*rule (\d+) (permit|deny) (service-set \S{1,} \((?:group|object|predefined)\)|\w+)[ ]+(?:source|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:destination|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:precedence|)([ ][a-z\-]+|)[ ]*(?:tos|)([ ][a-z0-9\-]+|)[ ]*(?:logging|)[ ]*(?:time-range|)([ ]*[\S]+|)[ ]*\((\d+) times matched\)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_ROUTE_FILTER_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_ROUTE_IMPORT_GRID_LIST = new Array( ['\r\n'], [/[ ]+import-route[ ]+(\w+-*\w+)[ ]*(\d*)[ cost ]*(\d*)[ type ]*(\d*)[ tag ]*(\d*)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_VLANK_GRID_LIST = new Array( ['\r\n\r\n\ '], [/^\s*Virtual-link[ ]Neighbor-id[ ]+->[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}),[ ]State:[ ]+(\S*)/], [/^\s*Transit[ ]+Area:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/], [/^\s+Timers:[ ]+Hello[ ]+(\d+),[ ]+Dead[ ]+(\d+),[ ]Poll[ ]+\d+,[ ]Retransmit[ ]+(\d+),[ ]+Transmit[ ]+Delay[ ]+(\d+)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_VLANK_PARSE_ALL = /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/; FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_VLANK_PARSE_SIMPLE = /simple \S+/g; FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_OSPF_VLANK_PARSE_MD5 = /md5[ ]+\d*[ ]+\S*/g; FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_INTERFACE_GRID_LIST = new Array( ['interf'], [/^ace[ ]+(\S+)[ ]*/], [/[ ]+(undo[ ]+rip[ ]+split-horizon)[ ]*/], [/[ ]+rip[ ]+authentication-mode[ ]+(\w+)[ ]+(\w*)[ ]*(\S{0,24})[ ]*(\d{0,3})[ ]*/], [/[ ]+rip[ ]+version[ ]+(\d{0,3})[ ]+(multicast|broadcast|)[ ]*/], [/[ ]+rip[ ]+metricout[ ]+(\d+)[ ]*/], [/[ ]+rip[ ]+metricin[ ]+(\d+)[ ]*/], [/[ ]+(undo[ ]+rip[ ]+output)[ ]*/], [/[ ]+(undo[ ]+rip[ ]+input)[ ]*/] ); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_INTERFACE_LIST = new Array(['\n'], [/^(\w+\/*\w*\/*-*\w*)[ ]+current[ ]+state[ ]+:[ ]+\w+[ ]+[ ]*/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_INTERFACE_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_NEIGHBOR_GRID_LIST = new Array(['\r\n'], [/[ ]*peer[ ]*(\d{0,3}\.*\d{0,3}\.*\d{0,3}\.*\d{0,3})/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_NEIGHBOR_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_NETWORK_GRID_LIST = new Array(['\r\n'], [/[ ]*network[ ]*(\d{0,3}\.*\d{0,3}\.*\d{0,3}\.*\d{0,3})/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_NETWORK_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_RIP_CHECK_RIP = new Array(['\n'], [/[ ]+RIP[ ]+is[ ]+turned[ ]+(on|off)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_RIP_PANEL_MESSAGE = new Array( ['RIP is turned'], [/Checkzero[ ]+is[ ]+(\w+)[ ]+Default[ ]+cost[ ]+:[ ]+(\d*)/], [/Host-route[ ]+is[ ]+(on|off)/], [/Summary[ ]+is[ ]+(on|off)[ ]+Preference[ ]+:[ ]+(\d*)/], [/Period[ ]+update[ ]+timer[ ]+:[ ]+(\d*)/], [/Timeout[ ]+timer[ ]+:[ ]+(\d*)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_RIP_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_ROUTE_FILTER_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_ROUTE_FILTER_DIS_THIS = new Array( ['\r\n'], [/^[ ]+filter-policy[ ]+(\d+)[ ]+(import|export)[ ]*(\w*[-]*\w*[ ]*\d*)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_ROUTE_FILTER_DISPLAY_ACL = new Array( ['split_riproutefilter'], [/[ ]+(\S+)[ ]+(\S+)[ ]*(\S* *\d*)[ ]+\r\n[ ]+rule (\d+) (permit|deny) (service-set \S{1,} \((?:group|object|predefined)\)|\w+)[ ]+(?:source|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:destination|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:precedence|)([ ][a-z\-]+|)[ ]*(?:tos|)([ ][a-z0-9\-]+|)[ ]*(?:logging|)[ ]*(?:time-range|)([ ]*[\S]+|)[ ]*\((\d+) times matched\)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_ROUTE_FILTER_DISPLAY_ACL_LIST = new Array( ['\r\n'], [/[ ]*Advanced[ ]+ACL[ ]+(\d+)/], [/[ ]*rule (\d+) (permit|deny) (service-set \S{1,} \((?:group|object|predefined)\)|\w+)[ ]+(?:source|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:destination|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:precedence|)([ ][a-z\-]+|)[ ]*(?:tos|)([ ][a-z0-9\-]+|)[ ]*(?:logging|)[ ]*(?:time-range|)([ ]*[\S]+|)[ ]*\((\d+) times matched\)/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_ROUTE_IMPORT_GRID_LIST = new Array( ['\n'], [/^[ ]+import-route[ ]+(\S{1,9})[ ]*(\d{0,5})[ ]*(?:cost|)[ ]*(\d{0,19}|)[ ]*/]); FW_REGEX_TEMPLATE.ROUTER_DYNAMIC_RIP_ROUTE_IMPORT_DOWN_COMMAND = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ROUTER_TABLE_GRID_LIST = new Array( ['\r\n'], [/^(\d{0,3}\.*\d{0,3}\.*\d{0,3}\.*\d{0,3}\/*\d{0,2})[ ]*(\S{0,64})[ ]*(\S{0,64})[ ]*(\S{0,64})[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(\S{1,64})/]); FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_QUARYADDRS1 = new Array( ["\r\nAddress-set: "], [/^(\S+)/], [/^Description: ([\S ]+)$/], [/^Item number\(s\): (\S+)$/], [/^Reference number\(s\): (\S+)$/], [/^ address (\d{1,4}) (?:range (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?: description (.*)|\s*)|(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:mask (?:[3][0-2]|[1-2][0-9]|[1-9]|)|)(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|0|))(?: description (.*)|\s*))$/,'+'] ); FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_QUARYGRPAll = new Array( ["\r\nAddress-set: "], [/^(\S+)/], [/^Description: ([\S ]+)$/], [/^Item number\(s\): (\S+)$/], [/^Reference number\(s\): (\S+)$/], [ /^ address (\d{1,4}) (?:range (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?: description (.*)|\s*)|(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:mask (?:[3][0-2]|[1-2][0-9]|[1-9]|)|)(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|0|))(?: description (.*)|\s*)|address-set (\S+)(?: description (.*)|\s*))$/, '+'] ); FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_ADDRDISTH = new Array(["#\r\n"], [/^ip address-set (\S+)[ ]*$/], [/^ description ([\S ]+)[ ]*$/], [ /^ address (\d{1,4}) (\S+) (\S+)[ ]*(["]?[\S ]*)[ ]*$/, '+']); FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_QUARYADD = new Array(["Items"], [/^(\S+)$/], [/^ description ([\S ]*)$/], [ /^ address (\d{1,4}) (\S+) (\S+)[ ]*([\S| ]*)[ ]*$/, '+']); FW_REGEX_TEMPLATE.FIREWALL_TIMERANGE_FORMAT = /^(2[0-3]|[0-1][0-9]):[0-5][0-9]$/; FW_REGEX_TEMPLATE.FIREWALL_TIMERANGE_QUARYALLTRS1 = /(\S+) \(/; FW_REGEX_TEMPLATE.FIREWALL_TIMERANGE_QUARYALLTRS2 = /(\d+:\d+\s*\d+\/\d+\/\d+|\d+:\d+)\s*to(\s*tomorrow|)\s*(\d+:\d+\s*\d+\/\d+\/\d+|\d+:\d+)[ ]*([\S ]+|)/; FW_REGEX_TEMPLATE.FIREWALL_TIMERANGE_QUARYALLTRS = new Array(["Time-range : "], [/^(\S+) \( \S+ \)[ ]*$/], [/^ (\S{5}) to (\S{5}) ([\S| ]+)[ ]*$/, '+'], [ /^ from (\S+[ ]\S+) to (\S+[ ]\S+)[ ]*$/, '+']); FW_REGEX_TEMPLATE.FIREWALL_POLICY_DISADDRESSSET = new Array(['\r\n\r\n'], [/^Address-set: (\S+)[ ]*$/], [/^Type: (object|group)\s*$/]); FW_REGEX_TEMPLATE.FIREWALL_POLICY_DISINTERVAL = new Array(["Time-range : "], [/^(\S+) \( \S+ \)[ ]*$/], [/^ (\S{5}) to (\S{5}) ([\S| ]+)[ ]*$/, '+'], [ /^ from (\S+[ ]\S+) to (\S+[ ]\S+)[ ]*$/, '+']); FW_REGEX_TEMPLATE.FIREWALL_PUBLIC_SPACE = /[ ]/g; FW_REGEX_TEMPLATE.USERDEFINDESERVICE = /Basic ACL[ ]+(\d+),[ ]+0[ ]+rule/; FW_REGEX_TEMPLATE.SERVICETPL0 = new Array(['\r\n'], [/ip service-set (\S+) protocol (\S+)/]); FW_REGEX_TEMPLATE.SERVICETPL1 = new Array( ['*'], [/\S+[ ]+\d+[ ]+(\d+)[ ]+user[ ]+defined\r\n[ ]+rule (\d{1,}) permit (source |)(address-set \S{1,} |[\d{1,}\. ]+ | |)(time-range \S{1,}| |)(logging | |)\(/]); FW_REGEX_TEMPLATE.FIREWALL_MAP1 = /\S+[ ]+\d+[ ]+(\d+)[ ]+/; FW_REGEX_TEMPLATE.FIREWALL_MAP2 = /(\S+)[ ]+(\d+)[ ]+(\d+)[ ]+user[ ]+defined/; FW_REGEX_TEMPLATE.FIREWALL_MAP3 = /rule (\d{1,}) (permit|deny) (?:source |)((?:any|\d+\.\d+\.\d+\.\d+ (?:\d+\.\d+\.\d+\.\d+|0)|address-set \S+ \((?:group|object)\)) |)(?:logging |)(?:time-range |)(\S+|)\(\d+ times matched\)/; FW_REGEX_TEMPLATE.FIREWALL_SERVICE_SERVICEGROUP_GET = /(\S+) protocol (\S+)/; FW_REGEX_TEMPLATE.FIREWALL_SERVICE_SERVICEGROUP = new Array(['\r\n\r\n'], [/^\s*Service-set Name:[ ]*([a-zA-Z0-9]{1,19}).*$/], [/Protocol: (\S+)/]); FW_REGEX_TEMPLATE.FIREWALL_SERVICE_SEARCHSERVICE1 = new Array( [], [/^ description (\S*)$/], [ /^ service (\d*) source-port range (\d*) (\d*) destination-port range (\d*) (\d*)[ ]*(\S*)$/, "+"]); FW_REGEX_TEMPLATE.FIREWALL_SERVICE_SEARCHSERVICE2 = new Array([], [/^ description (\S*)$/], [ /^ service (\d*) icmp-type (\d*) (\d*)[ ]*(\S*)$/, "+"]); FW_REGEX_TEMPLATE.FIREWALL_SERVICE_PORTMAPPING = new Array(['\r\n'], [/^[ ]+([\S]+)[ ]+([\d]+)[ ]+([\d]+| )[ ]+([\S| ]*)/]); FW_REGEX_TEMPLATE.FIREWALL_SERVICE_ACLINFOPARSETPL = new Array( ['\r\n'], [/rule (\d{1,}) permit (source |)(address-set \S{1,} |[\d{1,}\. ]+ | |)(time-range \S{1,}| |)(logging | |)\(/]); FW_REGEX_TEMPLATE.FIREWALL_SERVICE_GETACLNUMPARSETPL = new Array([], [/^\s*The ACL (\d+) is unused/]); FW_REGEX_TEMPLATE.FIREWALL_NATADDRESSPOOL_QUARY1 = /nat address-group \d+ (\S+) \d+.\d+.\d+.\d+ \d+.\d+.\d+.\d+/; FW_REGEX_TEMPLATE.FIREWALL_NATADDRESSPOOL_QUARYNGPS = new Array( ['\r\n\r\n'], [/number[ ]+:[ ]+(\d+)[ ]+name[ ]+:[ ]+(\S+)/], [/startaddr[ ]+:[ ]+(\S+)[ ]+endaddr[ ]+:[ ]+(\S+)/], [/reference[ ]+:[ ]+(\d+)[ ]+vrrp[ ]+:[ ]+(\S+)/], [/vpninstance[ ]+:[ ]+(\S+)/]); FW_REGEX_TEMPLATE.FIREWALL_NATADDRESSPOOL_QUARYNGPS1 = / nat address-group (\d+)/; FW_REGEX_TEMPLATE.FIREWALL_NATADDRESSPOOL_ = new Array([], [/^ nat address-group (\d+) [\S ]*\S+ \S+ vrrp (\d+)[ ]*$/]); FW_REGEX_TEMPLATE.FIREWALL_NATADDRESSPOOL_QUARYNGPBYNUM = new Array([], [/ nat address-group (\d+) [\S ]*\S+ \S+ vrrp (\d+)[ ]*/]); FW_REGEX_TEMPLATE.FIREWALL_ADDRESSMAPPING_LIST = new Array( ["\r\n\r\n"], [/id[ ]+:[ ]+(\d+)/], [/zone[ ]+:[ ]+(\S+)/], [/globaladdr[ ]+:[ ]+(\S+)[ ]+insideaddr[ ]+:[ ]+(\S+)/], [/globalport[ ]+:[ ]+(\S+)[ ]+insideport[ ]+:[ ]+(\S+)/], [/globalvpn[ ]+:[ ]+(\S+)[ ]+insidevpn[ ]+:[ ]+(\S+)/], [/protocol[ ]+:[ ]+(\S+)[ ]+vrrp[ ]+:[ ]+(\S+)/]); FW_REGEX_TEMPLATE.FIREWALL_ADDRESSMAPPING_SEARCH = new Array( ["\r\n"], [/nat server (\d+) (?:zone (\S+)|)(?: |)(?:protocol (\S+)|)[ ]?global (\d+.\d+.\d+.\d+) (\S*)[ ]?inside (\d+.\d+.\d+.\d+)[ ]?(\S*)[ ]?(?:vrrp|)[ ]?(\d*)/]); FW_REGEX_TEMPLATE.VPN_L2TP_CONFIG_DISPLAYL2TP = new Array( ["#\r\n"], [/^l2tp-group[ ]+(1000|[0-9]{1,3})$/], [/^\s*allow[ ]*l2tp[ ]*virtual-template[ ]*(\d+)(?:[ ]*remote[ ]*|)(\S+|)/], [/^[ ]+tunnel[ ]+name[ ]+(\S{1,30})$/]); FW_REGEX_TEMPLATE.VPN_L2TP_GETVT = /^(Virtual-Template(\d{1,4}))/; FW_REGEX_TEMPLATE.VPN_L2TP_L2TPUSERNAME = /^[\s]*((\S{1,63}@(\S{1,63}))|(\S{1,64}))[ ]+(Active|Block)[ ]*((\S{1,100}))[ ]+(?:Dft|30|1[0-9]|2[0-9]|\d)[ ]+(?:No|20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|---|)[\s]*$/; FW_REGEX_TEMPLATE.VPN_L2TP_CONFIG_GETL2TPINFO = ['\n', { groupid : [/^l2tp-group[ ]+(1000|\d{1,3})/], 'vt,oppositePortName' : [/\s*allow[ ]*l2tp[ ]*virtual-template[ ]*(\d+)(?:[ ]*remote[ ]*|)(\S+|)/], localPortName : [/^[\s]*tunnel[ ]+name[ ]+(\S{1,30})/], passwordauth : [/^[\s]*undo[ ]+tunnel[ ]+(authentication)/], password : [/^[\s]*tunnel[ ]+password[ ]+cipher[ ]+(\S{1,16})/], timer : [/^[\s]*tunnel[ ]+timer[ ]+hello[ ]+(1000|\d{3}|[6-9]\d)/], lcp : [/^[\s]*(mandatory-lcp)/], chap : [/^[\s]*(mandatory-chap)/], 'serverip,serveraddressvalue1,serveraddressvalue2,serveraddressvalue3,serveraddressvalue4,domain' : [/^[\s]*start[ ]+l2tp[ ]+ip[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(?:ip |)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)[ ]*(?:ip |)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)[ ]*(?:ip |)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)[ ]*(?:ip |)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)[ ]*domain (\S{1,64})/], 'serverip,serveraddressvalue1,serveraddressvalue2,serveraddressvalue3,serveraddressvalue4,user' : [/^[\s]*start[ ]+l2tp[ ]+ip[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(?:ip |)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)[ ]*(?:ip |)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)[ ]*(?:ip |)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)[ ]*(?:ip |)(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)[ ]*fullusername[ ]+(\S{1,64})/] }]; FW_REGEX_TEMPLATE.VPN_L2TP_CONFIG_QUERYL2TP = new Array( ["l2tp-group"], [/^[ ]+(1000|\d{1,3})$/], [/\s*allow[ ]*l2tp[ ]*virtual-template[ ]*(\d+)(?:[ ]*remote[ ]*|)(\S+|)/], [/^[ ]+tunnel[ ]+name[ ]+(\S{1,30})$/]); FW_REGEX_TEMPLATE.VPN_L2TP_L2TPTUNNEL_LIST = new Array( ["\r\n"], [/(\d{1,3})\s+(\d{1,3})\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(\d+)\s+(\d{1,20608})\s+(\S{1,30})/]); FW_REGEX_TEMPLATE.VPN_L2TP_L2TPSESSION_LIST = new Array(["\r\n"], [/^[\s]*(\d{0,})[ ]+(\d{0,})[ ]+(\d{0,})/]); FW_REGEX_TEMPLATE.VPN_L2TP_USER_QUERYUSER = ['\n', { 'userName,groupName' : [/^[\s]*Username[ ]+:[ ]+(\S{1,64}@(\S{1,64})|(\S{1,64}))/], state : [/^[\s]*State[ ]+:[ ]+(Active|Block)[\s]*/], assignFixedIP : [/^[\s]*L2tp-ip[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})/], serviceType : [/^[\s]*Service-type[ ]+:[ ]+(ppp|All)/], password : [/^[\s]*Password[ ]+:[ ]+(\S{8,16})/] }]; FW_REGEX_TEMPLATE.VPN_L2TP_USER_QUERYUSERUNDERGROUP = new Array( ['\n'], [/^[\s]*((\S{1,63}@(\S{1,63}))|(\S{1,64}))[ ]+(Active|Block)[ ]*((\S{1,100}))[ ]+(?:Dft|30|1[0-9]|2[0-9]|\d)[ ]+(?:No|20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|---|)[\s]*$/]); FW_REGEX_TEMPLATE.VPN_L2TP_GETL2TPGROUPLIST = new Array(["\r\n"], [/(\S{1,64})[ ]+(Active|Block)[ ]+\d{1,2}[ ]+\d{1,5}[ ]+\d{1,5}/]); FW_REGEX_TEMPLATE.VPN_L2TP_GETSCHEME = new Array(['\r\n'], [/\s+(\S{1,32})[ ]+.*/]); FW_REGEX_TEMPLATE.VPN_L2TP_GETRADIUS = new Array( [' -------------------------------------------------------------------\r\n'], [/^[ ]+Server-template-name[ ]+: (\S{1,32})/]); FW_REGEX_TEMPLATE.VPN_L2TP_GETIPPOOLLIST = new Array( ['\r\n'], [/^[\s]*(\d{1,2})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)[ ]+(?:\d{1,})[ ]+(?:\d{1,})[\s]*$/]); FW_REGEX_TEMPLATE.VPN_L2TP_USER_GETGROUPINFO = ['\n', { domainname : [/^[\s]*Domain-name[ ]+:[ ]+(\S{1,64})/], state : [/^[\s]*Domain-state[ ]+:[ ]+(Active|Block)/], dnshost : [/^[\s]*Primary-DNS-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], dnsguest : [/^[\s]*Second-DNS-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], winshost : [/^[\s]*Primary-NBNS-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], winsguest : [/^[\s]*Second-NBNS-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], authentication : [/^[\s]*Authentication-scheme-name[ ]+:[ ]+(\S{1,32})/], authorization : [/^[\s]*Authorization-scheme-name[ ]+:[ ]+(\S{1,32})/], account : [/^[\s]*Accounting-scheme-name[ ]+:[ ]+(\S{1,32})/], radiusserver : [/^[\s]*RADIUS-server-template[ ]+:[ ]+(\S{1,32}|-)/] }]; FW_REGEX_TEMPLATE.VPN_IPSEC_DISPLAYIKELIST = new Array( ["IKE "], [/Peer:\s*(\S*)/], [/\s*version:[ ]+(v1v2|v1|v2)/], [/ipsec policy:[ ]+(\S*)[ ]*(?:template:|)[ ]*(\S*)[ ]*Using interface: {(\S*)}/]); FW_REGEX_TEMPLATE.VPN_IPSEC_DISPLAYIPSECPOLICYEXTENDACL_SECONDCUT = /Policy:\s|IPsec|Using\s/; FW_REGEX_TEMPLATE.USER_ = ''; FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISIPSPOOFINGENABLE = new Array( [], [/^( firewall defend ip-spoofing enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISIPFRAGMENTENABLE = new Array( [], [/^( firewall defend ip-fragment enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISTEARDROPENABLE = new Array( [], [/^( firewall defend teardrop enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISSMURFENABLE = new Array([], [/^( firewall defend smurf enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISPINGOFDEATHENABLE = new Array( [], [/^( firewall defend ping-of-death enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISFRAGGLEENABLE = new Array( [], [/^( firewall defend fraggle enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISWINNUKEENABLE = new Array( [], [/^( firewall defend winnuke enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISLANDENABLE = new Array([], [/^( firewall defend land enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ABNORMAL_DISTCPFLAGENABLE = new Array( [], [/^( firewall defend tcp-flag enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_DDOS_DISPLAYRULEBYACLNUMBER = new Array( ['\r\n'], [/^[ ]*rule (\d+) (permit|deny) (service-set \S{1,} \((?:group|object|predefined)\)|\w+)[ ]+(?:source|)*([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\. ]+)*(?:source-port \w{2} \d*)*[ ]*(?:destination|)*([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\. ]+)*(?: destination-port \w{2} \d*)*[ ]*(?:precedence|)([ ][a-z\-]+|)[ ]*(?:tos|)([ ][a-z0-9\-]+|)[ ]*(?:logging|)[ ]*(?:time-range|)([ ]*[\S]+|)[ ]*\(\d+ times matched\)(?:\(Inactive\)|)/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_DNS_DISPLAYDNSFLOOD_INTERFACE = new Array( ['\r\n\r\n'], [/^Interface (\S{0,32}):$/], [/^DNS alert-rate: (\d{1,6})[ ]*\S{0,32}$/], [/^DNS Max-rate: (\d{1,6})[ ]*\S{0,32}$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_DNS_DISPLAYDNSFLOOD_IP = new Array( ['\r\n'], [/^ firewall defend dns-flood ip (\d+.\d+.\d+.\d+)[ ]*\S{0,5}[ ]*(\d{0,5})[ ]*\S{0,8}[ ]*(\d{0,5})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_DNS_DISPLAYDNSFLOOD_ZONE = new Array( ['\r\n'], [/^ firewall defend dns-flood zone (\S+)[ ]*\S{0,5}[ ]*(\d{0,5})[ ]*\S{0,8}[ ]*(\d{0,5})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_HTTPGET_DISPLAYGETFLOOD_IP = new Array( ['\r\n'], [/^ firewall defend get-flood ip (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]*(?:alert|)[ ]*(\d{1,5}|)[ ]*(?:interval|)[ ]*(\d{1,2}|)[ ]*(?:restore|)[ ]*(\d{1,5}|)[ ]*(?:interval|)[ ]*(\d{1,4}|)[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_HTTPGET_DISPLAYGETFLOOD_ZONE = new Array( ['\r\n'], [/^ firewall defend get-flood zone (\S{1,})[ ]*(?:alert|)[ ]*(\d{1,5}|)[ ]*(?:interval|)[ ]*(\d{1,2}|)[ ]*(?:restore|)[ ]*(\d{1,5}|)[ ]*(?:interval|)[ ]*(\d{1,4}|)[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ICMP_DISICMPENABLE = new Array(['\r\n'], [/^( firewall defend icmp-flood enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ICMP_GETICMPMAXRATE = new Array( ['\r\n'], [/^ firewall defend icmp-flood base-session max-rate (\d{1,3})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ICMP_LISTICMPINTERFACE = new Array( ['\r\n\r\n'], [/^Interface (\S{0,32}):$/], [/^ICMP Max-rate: (\d{1,6})[ ]*\S{0,32}$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ICMP_LISTICMPIP = new Array( ['\r\n'], [/^ firewall defend icmp-flood ip (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ICMP_LISTICMPZONE = new Array( ['\r\n'], [/^ firewall defend icmp-flood zone (\S+)[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SCAN_DISIPSWEEPENABLE = new Array( ['\r\n'], [/^( firewall defend ip-sweep enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SCAN_DISIPSWEEPMAXRATE = new Array( ['\r\n'], [/^ firewall defend ip-sweep max-rate (\d{1,5})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SCAN_DISIPSWEEPTIMEOUT = new Array( ['\r\n'], [/^ firewall defend ip-sweep blacklist-timeout (\d{1,4})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SCAN_DISPORTSCANENABLE = new Array( ['\r\n'], [/^( firewall defend port-scan enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SCAN_DISPORTSCANMAXRATE = new Array( ['\r\n'], [/^ firewall defend port-scan max-rate (\d{1,5})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SCAN_DISPORTSCANTIMEOUT = new Array( ['\r\n'], [/^ firewall defend port-scan blacklist-timeout (\d{1,4})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SYN_DISSYNENABLE = new Array(['\r\n'], [/^( firewall defend syn-flood enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SYN_LISTSYNINTERFACE = new Array( ['\r\n\r\n'], [/^Interface (\S{0,32}):$/], [/^Tcp Process Type: (\S{0,13})$/], [/^Tcp Process Mode: (\S{0,6})[ ]*\S{0,32}$/], [/^SYN Max-rate: (\d{1,7}) packets\/s[ ]*\S{0,32}$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SYN_LISTSYNIP = new Array( ['\r\n'], [/^ firewall defend syn-flood ip (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*(\S{1,13}|)[ ]*(\S{1,4}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SYN_LISTSYNZONE = new Array( ['\r\n'], [/^ firewall defend syn-flood zone (\S+)[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*(\S{1,13}|)[ ]*(\S{1,4}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_TPL_PHYSICSINTERFACE = new Array( ['\r\n'], [/^(\S{5,32})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_TPL_DISZONEALL = new Array(['\r\n'], [/^(?:firewall zone name|firewall zone )[ ]*(\S{1,32})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ARP_LISTUDPINTERFACE = new Array( ['\r\n\r\n'], [/^Interface (\S{0,32}):$/], [/^ARP Max-rate: (\d{1,6})[ ]*\S{0,32}$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ARP_LISTARPIP = new Array( ['\r\n'], [/^ firewall defend arp-flood ip (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_ARP_LISTARPZONE = new Array( ['\r\n'], [/^ firewall defend arp-flood zone (\S+)[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SIP_GETPORTRANGE = new Array( ['\r\n'], [/^ (\d*) (\d*)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SIP_LISTSIPIP = new Array ( ['\r\n'], [/^ firewall defend sip-flood ip (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) (?:alert (\d*) \S* (\d*) )?\S* (\S*)$/] ); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_SIP_LISTSIPZONE = new Array ( ['\r\n'], [/^ firewall defend sip-flood zone (?:v\S* \S* )?(\S*) (?:alert (\d*) \S* (\d*) )?\S* (\S*)$/] ); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_UDP_DISUDPENABLE = new Array(['\r\n'], [/^( firewall defend udp-flood enable)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_UDP_GETUDPPUBLIC = new Array( ['\r\n'], [/^ firewall defend udp-flood source-max-rate (\d{1,5}) interval (\d{1,2})$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_UDP_LISTUDPINTERFACE = new Array( ['\r\n\r\n'], [/^Interface (\S{0,32}):$/], [/^UDP Max-rate: (\d{1,6})[ ]*\S{0,32}$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_UDP_LISTUDPIP = new Array( ['\r\n'], [/^ firewall defend udp-flood ip (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]*(?:alert|)[ ]*(\d{1,5}|)[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_UDP_LISTUDPZONE = new Array( ['\r\n'], [/^ firewall defend udp-flood zone (\S+)[ ]*(?:alert|)[ ]*(\d{1,5}|)[ ]*(?:max-rate|)[ ]*(\d{1,5}|)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_IPMAC_MAC_BINDING = new Array([], [/^ Mac-binding is (Enabled|Disabled)[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_IPMAC_IPMAC_LIST = new Array( ['\r\n'], [/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(\w{1,4}-\w{1,4}-\w{1,4})[ ]*(?:(\w{1,19})|)/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_IPMAC_LISTARP = new Array( ['\r\n'], [/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(\w{1,4}-\w{1,4}-\w{1,4}|Incomplete)[ ]+(\d{1,2}|)[ ]*(S|I|D|\d{1,4})[ ]*([^-]\S{4,63}|)[ ]*([^-]\w+|)(-+|[ ]+)(\d{1,5}|)/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_BLACKLIST_DISPLAYCLOCKTPL = /\s*(\d{2}:\d{2}:\d{2})[ ]+\S+[ ]+\S+[ ]+(\d{4}\/\d{2}\/\d{2})/; FW_REGEX_TEMPLATE.ATTACKDEFENSE_BLACKLIST_DISPLAYBLACKLISTITEMTPL = new Array( ['\r\n'], [/^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+([^\d]{1,})(\d{4}\/\d{2}\/\d{2}[ ]\d{2}\:\d{2}\:\d{2})[ ]+(\S{1,})[ ]*(?:(\w{1,19})|)$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_BLACKLIST_SEARCHBLACKLISTITEMTPL = new Array( ['\r\n'], [/^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+([^\d]{1,})(\d{4}\/\d{2}\/\d{2}[ ]\d{2}\:\d{2}\:\d{2})[ ]+(\S{1,})[ ]*$/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_WHITELIST_LIST_PARSETPL = new Array( ["\r\n"], [/^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})[ ]+(Syn Flood|Dns Flood|Unknown)[ ]+(\d{4}\/\d{1,2}\/\d{1,2} \d{2}:\d{2}:\d{2})[ ]+\d{1,5}[ ]*(?:(\w{1,19})|)/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_WHITELIST_LIST_PARSESTATTPL = new Array( ["\r\n"], [/^\s*Total of End:(\d{1,32})[ ]+Syn-flood:(\d{1,32})[ ]+Dns-flood:(\d{1,32})[ ]+Unknown:(\d{1,32})/]); FW_REGEX_TEMPLATE.ATTACKDEFENSE_WHITELIST_GETAGETIME = new Array([], [/^ firewall source-ip detect aging-time (\d{1,5})$/]); FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_SESSIONLOG_ACLRULE = /^[ ]*rule (\d+) (permit|deny) (service-set \S{1,} \((?:group|object|predefined)\)|\w+)[ ]+(?:source|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:destination|)([ ]*address-set \S+ \((?:group|object)\)| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:precedence|)([ ][a-z\-]+|)[ ]*(?:tos|)([ ][a-z0-9\-]+|)[ ]*(?:logging|)[ ]*(?:time-range|)([ ]*[\S]+|)[ ]*\(\d+ times matched\)(?:\(Inactive\)|)/; FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_LOGHOSTLIST = new Array( ['\r\n'], [/info-center loghost (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]*((language){1,8})*/]); FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_GETINTERFACE = new Array(['\r\n'], [/^interface ([\w\d\/.-]*)/]); FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_QURYLOGHOSTINTERFACE = /^[ ]*info-center loghost source ([\S]+)/; FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_QUERYLOGHOSTSYSTEM = /^[ ]*info-center loghost type ([\w\-]+)/; FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_QURYSESSIONLOGHOSTINTERFACE = { sessionip : [/^[ ]*firewall session log-type binary host (\d*.\d*.\d*.\d*) \d+/], sessioninterface : [/^[ ]*firewall session log-type binary host \d*.\d*.\d*.\d* (\d+)/] }; FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_SESSIONLOG_INFIREWALL_INBOUND = { inbound : [/^\s*session log enable acl-number (\d{1,64}) inbound/] }; FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_SESSIONLOG_INFIREWALL_OUTBOUND = { outbound : [/^\s*session log enable acl-number (\d{1,64}) outbound/] }; FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_SESSIONLOG_GETHIDEACL = /^\s*The ACL (\d+) is unused/; FW_REGEX_TEMPLATE.LOGTRAP_CONFIG_SESSIONLOG_ADDRESSSET = new Array(['\r\n'], [/^ address (\d*) (\d*.\d*.\d*.\d*) (\d*.\d*.\d*.\d*) ([\w\-]*)/]); FW_REGEX_TEMPLATE.LOGTRAP_DISPLAY_LOGBUFFERLISTSUCCTPL = new Array( ['\r\n'], [/(DST [\d\-: ]{19}|[\d\-: ]{19})[ ]*(\S+)[ ]+([\%\w]+)(\/)(\d+)(\/)(\w+)(\(\w+\)\:)(.*)/]); var FW_REGEX_VIEW = function() { } FW_REGEX_VIEW.CTRL_FIELD_GIGABITETHERNET = /^(gigabitethernet\d{1,4}\/\d{1,4}\/\d{1,4}.\d{1,4})$/; FW_REGEX_VIEW.CTRL_FIELD_GIGABITETHERNET_INTERFACENAME = /\.(\d{1,4})/; FW_REGEX_VIEW.CTRL_FIELD_GIGABITETHERNET_INTERFACENAME_MINVALUE = /(\d{1,4})\/(\d{1,4})\/(\d{1,4})./; FW_REGEX_VIEW.CTRL_FIELD_ETHERNET = /^(ethernet\d{1,4}\/\d{1,4}\/\d.\d{1,4})$/; FW_REGEX_VIEW.CTRL_FIELD_ETHTRUNK = /^(eth-trunk[0-7])$/; FW_REGEX_VIEW.CTRL_FIELD_ETHTRUNKSUB = /^(eth-trunk[0-7].\d{1,4})$/; FW_REGEX_VIEW.CTRL_FIELD_VIRTUALTEMPLATE = /^(virtual-template\d{1,4})$/; FW_REGEX_VIEW.CTRL_FIELD_VIRTUALTEMPLATE_INTERFACE = /^virtual-template(\d{1,4})$/; FW_REGEX_VIEW.CTRL_FIELD_LOOPBACK = /^(loopback\d{1,4})$/; FW_REGEX_VIEW.CTRL_FIELD_LOOPBACK_INTERFACE = /^loopback(\d{1,4})$/; FW_REGEX_VIEW.CTRL_FIELD_ZONE = /^([A-Za-z])\S*$/; FW_REGEX_VIEW.CTRL_FIELD_FWTEXTAREA = /^[ ]*$/; FW_REGEX_VIEW.UTIL_CELLACTIONS_CLASSNAME = /ux-cell-action /; FW_REGEX_VIEW.UTIL_DDVIEW_CLASSRE = /class=(['"])(.*)\1/; FW_REGEX_VIEW.UTIL_DDVIEW_TAGRE = /(<\w*)(.*?>)/; FW_REGEX_VIEW.UTIL_EXPORT_BASE64TEST = /[^A-Za-z0-9\+\/\=]/g; FW_REGEX_VIEW.UTIL_FWUTIL_FILEURL = /^\s+|\s+$/g; FW_REGEX_VIEW.UTIL_PARSE_TRIM = /^\s+|\s+$/g; FW_REGEX_VIEW.UTIL_ROWACTIONS_CLASSNAME = /ux-row-action-item /; FW_REGEX_VIEW.UTIL_ROWACTIONS_ACTION = / ux-row-action-text/; FW_REGEX_VIEW.UTIL_ROWACTIONS_GROUP = /ext-gen[0-9]+-gp-/; FW_REGEX_VIEW.UTIL_ROWACTIONS_GROUPID = /ext-gen[0-9]+-gp-/; FW_REGEX_VIEW.UTIL_ROWACTIONS_CLASSNAMEREP = /ux-grow-action-item (ux-action-right )*/; FW_REGEX_VIEW.SYSTEM_STATE_SYSINFO_TOTAL = /[ ]+\d{1,}[ ]+(\d{1,})[ ]*/; FW_REGEX_VIEW.SYSTEM_STATE_LOG_REPALCE = /:(\r\n\t) /g; FW_REGEX_VIEW.SYSTEM_STATE_LOG_REPALCE = /[ ]+\d{1,}[ ]+(\d{1,})[ ]*/; FW_REGEX_VIEW.SYSTEM_INFO_TOTALNUMBER = /[ ]+(\d{1,})[ ]+(\d{1,})/; FW_REGEX_VIEW.ROUTER_STATIC_TRIM = /^\s+|\s+$/g; FW_REGEX_VIEW.ROUTER_STATIC_GRID_TOTAL = /[ ]+\d{1,}[ ]+(\d{1,}).*/; FW_REGEX_VIEW.ROUTER_POLICY_TRIM = /^\s+|\s+$/g; FW_REGEX_VIEW.ROUTER_POLICY_GRID_TOTAL = /[ ]+\d{1,}[ ]+(\d{1,}).*/; FW_REGEX_VIEW.ROUTER_POLICY_NONE_TO_USE_ACL = /^\s*The ACL (\d+) is unused.*$/; FW_REGEX_VIEW.ROUTER_DYNAMIC_TRIM = /^\s+|\s+$/g; FW_REGEX_VIEW.ROUTER_DYNAMIC_GRID_TOTAL = /[ ]+(\d{1,})[ ]+(\d{1,}).*/; FW_REGEX_VIEW.ROUTER_DYNAMIC_OSPF_CONVERGE_REPLACESTR = '\/'; FW_REGEX_VIEW.ROUTER_DYNAMIC_OSPF_CONVERGE_ADDSTR = '\/'; FW_REGEX_VIEW.ROUTER_DYNAMIC_OSPF_OSPF_INNER_VALIDATOR_1 = /\D+/g; FW_REGEX_VIEW.ROUTER_DYNAMIC_OSPF_OSPF_INNER_VALIDATOR_2 = /\d+/g; FW_REGEX_VIEW.ROUTER_DYNAMIC_OSPF_ROUTE_FILTER_NONE_TO_USE_ACL = /^\s*The ACL (\d+) is unused.*$/; FW_REGEX_VIEW.ROUTER_DYNAMIC_OSPF_INTERFACE_PASSWORD_VALIDATOR = /^[a-zA-Z0-9]{1,64}$/; FW_REGEX_VIEW.ROUTER_DYNAMIC_RIP_ROUTE_FILTER_NONE_TO_USE_ACL = /^\s*The ACL (\d+) is unused.*$/; FW_REGEX_VIEW.ROUTER_TABLE_TRIM = /^\s+|\s+$/g; FW_REGEX_VIEW.ROUTER_TABLE_GRID_TOTAL = /[ ]+\d{1,}[ ]+(\d{1,}).*/; FW_REGEX_VIEW.FIREWALL_ADDRESS_QUARYADDRNAME1 = /Address-set : (\S+)/; FW_REGEX_VIEW.FIREWALL_ADDRESS_QUARYADDRNAME2 = / address (\d+) (\S+) (\S+)[ ]*(\S*)/; FW_REGEX_VIEW.FIREWALL_ADDRESS_QUARYADDRNAME = /^[a-zA-Z][a-zA-Z0-9]*$/; FW_REGEX_VIEW.FIREWALL_ADDRESS_REPLACE = /\"/g; FW_REGEX_VIEW.FIREWALL_TIMERANGE_QUARYTRNAME = /^[a-zA-Z]\S*$/; FW_REGEX_VIEW.FIREWALL_TIMERANGE_REPLACE = /,/g; FW_REGEX_VIEW.FIREWALL_TIMERANGE_TRIM = /^[ ]+|[ ]+$/g; FW_REGEX_VIEW.FIREWALL_TIMERANGE_NUMDAYS = /-/g; FW_REGEX_VIEW.FIREWALL_POLICY_SUCCESSFLAG = [ 'Info: The policy is inactive or action is deny, so specifed application(s) is', '提示: 策略在无效状态或者动作为阻断,所以,指定的应用无效!', true]; FW_REGEX_VIEW.FIREWALL_POLICY_SERVICE_TEMP = /[ ]*(\d+)[ ]*(\d+)/; FW_REGEX_VIEW.FIREWALL_POLICY_SERVICE_VALIDATE = /(\d+)[a-z|A-Z]+/; FW_REGEX_VIEW.FIREWALL_POLICY_INSERT_REPLACE = /\[*(\d+)]/; FW_REGEX_VIEW.FIREWALL_POLICY_LONGLINK_MATCH = / Long-link aging-time is (\d+) hours/; FW_REGEX_VIEW.FIREWALL_POLICY_POPGRIDPANEL = /\d+.\S \S/; FW_REGEX_VIEW.FIREWALL_POLICY_POLICYTYPE = / (nat-policy|policy) \d+/; FW_REGEX_VIEW.FIREWALL_POLICY_VPN = /^ vpn-instance \S+ (\S*)\r\n(?: description [\S ]+\r\n|) priority is (\d+)/; FW_REGEX_VIEW.FIREWALL_POLICY_VPNLIST = new Array(["\r\n\r\n"], [/^VPN-Instance :[ ]*(\S*)$/]); FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICCMP1 = /^(\S*)\r\n(?: description [\S ]+\r\n|) priority is (\d+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICCMP2 = /^[A-Z|a-z][A-Za-z0-9]*$/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICCMP3 = /^\S*$|^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[/ ](?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[0])$/; FW_REGEX_VIEW.FIREWALL_POLICY_ADDRMULTI = /^((?:(?:[1-2][0-5][0-5]|[0-9]|[1-9][0-9])\.){3}(?:[1-2][0-5][0-5]|[0-9]|[1-9][0-9]))\/((?:(?:[1-2][0-5][0-5]|[0-9]|[1-9][0-9])\.){3}(?:[1-2][0-5][0-5]|[0-9]|[1-9][0-9])|(?:[0-9]|[1-2][0-9]|3[0-2]))$|^((?:(?:[1-2][0-5][0-5]|[0-9]|[1-9][0-9])\.){3}(?:[1-2][0-5][0-5]|[0-9]|[1-9][0-9]))-((?:(?:[1-2][0-5][0-5]|[0-9]|[1-9][0-9])\.){3}(?:[1-2][0-5][0-5]|[0-9]|[1-9][0-9]))$/; FW_REGEX_VIEW.FIREWALL_POLICY_MASKMULTI = /^(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))(?:\.(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])){3}([/\\])(?:(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])|(?:[0-9]|[1-2][0-9]|[3][0-2]))$/; FW_REGEX_VIEW.FIREWALL_POLICY_RANGEMULTI = /^(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])-(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])$/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICCMP3MULTI = /^\S*$|^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[/\\](?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|(?:[0-9]|[1-2][0-9]|3[0-2]))$|^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}-\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; FW_REGEX_VIEW.FIREWALL_POLICY_NUMBER = /^\d+$/; FW_REGEX_VIEW.FIREWALL_POLICY_OTHERMASK = /^((?:(?:[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]|[0-9]|[1-9][0-9])\.){3}(?:[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]|[0-9]|[1-9][0-9]))[ \/]((?:(?:[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]|[0-9]|[1-9][0-9])\.){3}(?:[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]|[0-9]|[1-9][0-9])|0)$/; FW_REGEX_VIEW.FIREWALL_POLICY_PROTOCOLMASK = /^(?:[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]|[1-9]|[1-9][0-9])$/; FW_REGEX_VIEW.FIREWALL_POLICY_POLICYMASK = /(?:^(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))(\.(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])){3}(\/(?:(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])|(?:[0-9]|[1-2][0-9]|[3][0-2]))|\\(?:(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])|0))$|^(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])-(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])$)/; FW_REGEX_VIEW.FIREWALL_POLICY_POLICYSEARCH = /(?:^(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))(\.(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])){3}[/\\](?:(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$|^(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])-(?:(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])$)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICCMP4 = /^[a-zA-Z]\S*$/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICCMP5 = /^(0|[1-9]|1[0-5]|max-reliability|max-throughput|min-delay|min-monetary-cost|immediate|normal)$/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICCMP6 = /^\S*$/; FW_REGEX_VIEW.FIREWALL_POLICY_HEADSTR = /(?:nat-policy|policy) (zone|interzone) (?:vpn-instance \S+ |)(?:\S+ \S+ \S+|\S+)/; FW_REGEX_VIEW.FIREWALL_POLICY_MULTITYPE = /((?:zone|interzone) (?:vpn-instance \S+ |)(?:\S+ \S+ \S+|\S+)) policy (\d+)/ FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT1 = /^(\S*)\r\n(?: description [\S ]+\r\n|) priority is (\d+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT2 = /(nat-policy|policy) interzone (\S+) (\S+) (\S+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT2VPN = /(nat-policy|policy) interzone \S+ \S+ (\S+) (\S+) (\S+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT3 = / firewall default packet-filter is (\S+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT4 = /policy (\d+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT5 = / policy (\d+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT6 = / policy (permit|deny) (service-set [\w\-]{1,} \((?:group|object|predefined)|\w+)[ ]+(?:source|)([ ]*address-set [\w\-]+| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:destination|)([ ]*address-set [\w\-]+| \d+.\d+.\d+.\d+ [0-9\.]+|)[ ]*(?:precedence|)([ ][a-z\-]+|)[ ]*(?:tos|)([ ][a-z0-9\-]+|)[ ]*(?:logging|)[ ]*(?:time-range|)([ ]*[\S]+|)[ ]*\((\d+) times matched\)*/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT7 = / apply-to nat address-group (\d+) (no-pat|)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT8 = /policy \d+ \(Inactive\)[ ]*/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT9 = /(nat-policy|policy) zone (\S+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT9VPN = /(nat-policy|policy) zone \S+ \S+ (\S+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT10 = / description ([\S ]*)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT11 = / service (\d*) icmp-type (\d+) (\d+)[ ]*([\S ]*)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT12 = / service (\d*) icmp-type (\S+)[ ]*([\S ]*)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT13 = /ip service-set \S+ protocol (\S+)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT14 = / service (\d+) source-port(?: range|) (\S+) (\S+) destination-port(?: range|)[ ]*(\S*)[ ]*(\S*)[ ]*([\S ]*)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT15 = /^"[\S ]+"$/; FW_REGEX_VIEW.FIREWALL_POLICY_NAT = /^ address-group (\d+)(?:\s*\(((?:[^\(])\S*)\)\s*(no-pat|)|)/; FW_REGEX_VIEW.FIREWALL_POLICY_LONGLINK = /^ apply-to (long-link)/; FW_REGEX_VIEW.FIREWALL_POLICY_ASPF = /^ apply-to aspf (java-blocking|)[ ]*(activex-blocking|)[ ]*(user-define|)/; FW_REGEX_VIEW.FIREWALL_POLICY_ID = /^ (?:nat-policy|policy) (\d+)[ ]*(\(Inactive\)|)\((\d+) times matched\)/; FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS0 = /^ action (permit|deny)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS0_ = /^ action (no-nat|source-nat)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS1 = /^ (?:nat-policy|policy) precedence ([a-z\-]+)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS2 = /^ (?:nat-policy|policy) tos ([a-z0-9\-]+)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS3 = /^ (?:nat-policy|policy) (logging)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS4 = /^ (?:nat-policy|policy) time-range ([\S]+)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_SERVICE = /^ (?:nat-policy|policy) service (service-set \S+(?: \((?:object|group|predefined)\)|))\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_SERVICESET = /^ (?:nat-policy|policy) service service-set (\S+) \((?:object|group|predefined)\)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_SOURCE = /^ (?:nat-policy|policy) source (address-set \S+ \((?:object|group)\)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|0|(?:mask (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[3][0-2]|[1-2][0-9]|[1-9])|))|any|range \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_SOURCEIP = /^ (?:nat-policy|policy) source (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:(?:mask (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[3][0-2]|[1-2][0-9]|[1-9])|)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|0)|range \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_SOURCESET = /^ (?:nat-policy|policy) source address-set (\S+) \((?:object|group)\)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_DEALADDR = /address-set (\S+) \((object|group)\)/; FW_REGEX_VIEW.FIREWALL_POLICY_DEALSERV = /service-set (\S+)(?: \((object|group|predefined)\)|)/; FW_REGEX_VIEW.FIREWALL_POLICY_ALLSET = /^Address-set: (\S+)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_DESTINATION = /^ (?:nat-policy|policy) destination (address-set \S+ \((?:object|group)\)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|0|(?:mask (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[3][0-2]|[1-2][0-9]|[1-9])|))|any|range \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_DESTINATIONIP = /^ (?:nat-policy|policy) destination (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:(?:mask (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[3][0-2]|[1-2][0-9]|[1-9])|)|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|0)|range \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_DESTINATIONSET = /^ (?:nat-policy|policy) destination address-set (\S+) \((?:object|group)\)\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_ALLSERVSET_ARRAYPARSE = /^\s+(\S+)\s+(?:Group|Object|Predefined) service set\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_ALLSERVSET = /^\s+(\S+)\s+(Group|Object|Predefined) service set\s*$/; FW_REGEX_VIEW.FIREWALL_POLICY_IPSPOLICY = / policy ips (.*)/; FW_REGEX_VIEW.FIREWALL_POLICY_AVPOLICY = / policy av (.*)/; FW_REGEX_VIEW.FIREWALL_POLICY_URLPOLICY = / policy url-filter (.*)/; FW_REGEX_VIEW.FIREWALL_POLICY_HTTP_ACCESS_ENABLE = / http-access log enable/; FW_REGEX_VIEW.FIREWALL_POLICY_TRANSMITGRID = new Array(["\r\n\r\n"], [FW_REGEX_VIEW.FIREWALL_POLICY_ID], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS0], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS1], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS2], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS3], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS4], [ FW_REGEX_VIEW.FIREWALL_POLICY_SERVICE, "+"], [ FW_REGEX_VIEW.FIREWALL_POLICY_SOURCE, "+"], [ FW_REGEX_VIEW.FIREWALL_POLICY_DESTINATION, "+"], [FW_REGEX_VIEW.FIREWALL_POLICY_IPSPOLICY], [FW_REGEX_VIEW.FIREWALL_POLICY_AVPOLICY], [FW_REGEX_VIEW.FIREWALL_POLICY_URLPOLICY], [FW_REGEX_VIEW.FIREWALL_POLICY_HTTP_ACCESS_ENABLE]); FW_REGEX_VIEW.FIREWALL_POLICY_NATGRID = new Array(["\r\n\r\n"], [FW_REGEX_VIEW.FIREWALL_POLICY_ID], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS0_], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS1], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS2], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS3], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS4], [ FW_REGEX_VIEW.FIREWALL_POLICY_SERVICE, "+"], [ FW_REGEX_VIEW.FIREWALL_POLICY_SOURCE, "+"], [ FW_REGEX_VIEW.FIREWALL_POLICY_DESTINATION, "+"], [FW_REGEX_VIEW.FIREWALL_POLICY_NAT]); FW_REGEX_VIEW.FIREWALL_POLICY_GETSERVICE = new Array(['\r\n'], [FW_REGEX_VIEW.FIREWALL_POLICY_SERVICESET]); FW_REGEX_VIEW.FIREWALL_POLICY_GETSOURCE = new Array(['\r\n'], [FW_REGEX_VIEW.FIREWALL_POLICY_SOURCESET]); FW_REGEX_VIEW.FIREWALL_POLICY_GETSOURCEIP = new Array(['\r\n'], [FW_REGEX_VIEW.FIREWALL_POLICY_SOURCEIP]); FW_REGEX_VIEW.FIREWALL_POLICY_RESTADDRESSSET = new Array(['\r\n'], [/^\s+(\S+)\s+(?:Group|Object) address set\s*$/]); FW_REGEX_VIEW.FIREWALL_POLICY_RESTSERVICESET = new Array(['\r\n'], [FW_REGEX_VIEW.FIREWALL_POLICY_ALLSERVSET]); FW_REGEX_VIEW.FIREWALL_POLICY_GETDESTINATIONIP = new Array(['\r\n'], [FW_REGEX_VIEW.FIREWALL_POLICY_DESTINATIONIP]); FW_REGEX_VIEW.FIREWALL_POLICY_GETDESTINATION = new Array(['\r\n'], [FW_REGEX_VIEW.FIREWALL_POLICY_DESTINATIONSET]); FW_REGEX_VIEW.FIREWALL_POLICY_LOGINGRID = new Array(["\r\n\r\n"], [FW_REGEX_VIEW.FIREWALL_POLICY_ID], [FW_REGEX_VIEW.FIREWALL_POLICY_PARAMS], [ FW_REGEX_VIEW.FIREWALL_POLICY_SERVICE, "+"], [ FW_REGEX_VIEW.FIREWALL_POLICY_SOURCE, "+"]); FW_REGEX_VIEW.FIREWALL_SERVICE_PORT = /^(?:(?:\d{1,5}-\d{1,5}|\d{1,5}),){0,63}(?:\d{1,5}-\d{1,5}|\d{1,5})$/; FW_REGEX_VIEW.FIREWALL_NATADDRESSPOOL_HEADARY = /(\d+)[ ]*(\d+)/; FW_REGEX_VIEW.FIREWALL_ADDRESSMAPPING = ''; FW_REGEX_VIEW.FIREWALL_ADDRESSMAPPING_PORT = /\d+([a-z|A-z])+/; FW_REGEX_VIEW.VPN_IPSEC_PAGEING = /\s*(\d+)\s+(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_NAME_VALID = /^[^-\s]*$/; FW_REGEX_VIEW.VPN_IPSEC_VALIDATE_HEX = /^[0-9a-fA-F]*$/; FW_REGEX_VIEW.VPN_IPSEC_VALIDATE_NOT_BLANK = /^\S*$/; FW_REGEX_VIEW.VPN_IPSEC_VALIDATE_NOT_BLANK2 = /^\S+$/; FW_REGEX_VIEW.VPN_IPSEC_VALIDATE_POLICY_FULLNAME = /^[^\s-]{1,15}(-(\d{1,4}|10000))?$/; FW_REGEX_VIEW.VPN_IPSEC_POLICY_FULLNAME = /^(\S+)-(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_POLICY_FULLNAME_AND_TYPE = /(\S+-\d+)-(\S+)/; FW_REGEX_VIEW.VPN_IPSEC_POLICY_NAME_SEQUENCE_AND_TYPE = /(\S+)-(\d+)-(\S+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_POLICY = /^\s*applied[ ]*to[ ]*\d+[ ]*\S*:[ ]*(.*)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_ADDRESS = /^\s*peer[ ]*ip[ ]*address:[ ]*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*$/; FW_REGEX_VIEW.VPN_IPSEC_POLICY_EXTEND_ACL = new Array( [/=+\r\nIPsec\s/], [/^Policy Group: \"(\S+)\"/], [/^interface: {(.*)}/], [ /^((\S+)-\d+)-(manual|isakmp|template),\s*ACL:\s(\d+).*(\s*rule (\d+) (permit|deny) (\S+)[ ]*(?:source\s|)(\s*\d+.\d+.\d+.\d+\s[0-9\.]+|)\s(?:source-port\s|)\s*(?:((?:eq\s*)(\d+|\S*))|)\s*(?:destination\s|)(\s*\d+.\d+.\d+.\d+\s[0-9\.]+|)\s*(?:destination-port\s*|)\s*(?:((?:eq\s*)(\d+|\S*))|)\s*(?:time-range|)\s*([\S\-]+|)\s*(?:\(\d*\stimes matched\)))/, '+']); FW_REGEX_VIEW.VPN_IPSEC_POLTPLNAME = /^\s*policy[ ]template[ ]name:\s*(\S+)/; FW_REGEX_VIEW.VPN_IPSEC_POLTPLNUM = /^\s*sequence[ ]number:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_POLICY_AND_INTERFACE_NAME = /^(\S+)(?:[ ].*[ ]|)(GigabitEthernet\d\/\d\/\d.\d+|GigabitEthernet\d\/\d\/\d|Virtual-Template\d+|)/; FW_REGEX_VIEW.VPN_IPSEC_D = /^\d/; FW_REGEX_VIEW.VPN_IPSEC_SERVICE_SET = /^service-set (\S+)/; FW_REGEX_VIEW.VPN_IPSEC_INTERFACE_NAME = /^\s*Using[ ]*interface:[ ]*{(.*|)}/; FW_REGEX_VIEW.VPN_IPSEC_RULE_COUNT = /ACL\s+\d+,\s*(\d+)\s*rule/; FW_REGEX_VIEW.VPN_IPSEC_UNUSED_RULE = /^\s*The ACL (\d+) is unused.*$/; FW_REGEX_VIEW.VPN_IPSEC_NO_SUCH = /^\s*(No) such an/; FW_REGEX_VIEW.VPN_IPSEC_SEARCH_RELATEACL_BEGIN = "Policy\\s*:\\s*"; FW_REGEX_VIEW.VPN_IPSEC_SEARCH_RELATEACL_END = "-\\w*,\\s*ACL:\\s(\\d+)"; FW_REGEX_VIEW.VPN_IPSEC_SEARCH_SEQUENCENUM_BEGIN = "^\\s*sequence\\snumber:\\s("; FW_REGEX_VIEW.VPN_IPSEC_SEARCH_SEQUENCENUM_END = ")"; FW_REGEX_VIEW.VPN_IPSEC_TMP_REGEX_SEARCH_IKE_PROPOSAL_BEGIN = "^\\s+"; FW_REGEX_VIEW.VPN_IPSEC_TMP_REGEX_SEARCH_IKE_PROPOSAL_END = "\\s+\\S*\\s+(\\S+)\\s+(AES|192-AES|256-AES|DES_CBC|3DES_CBC|)\\s+(\\S+)\\s+(\\d+)"; FW_REGEX_VIEW.VPN_DIS_IPSEC_IPSEC_ACL = /^\s*security\s*data\s*flow\s*:\s*(\d+|)/; FW_REGEX_VIEW.VPN_DIS_IPSEC_PROPOSAL_APPLIED = /^\s*applied\s*to\s*pol\S*\s*:\s*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_IPSEC_POLICY_DIS_THIS_CMD1 = /^\s*local-address[ ]*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/; FW_REGEX_VIEW.VPN_IPSEC_IPSEC_POLICY_DIS_THIS_CMD2 = /sa[ ]duration[ ]time-based\s(\d+|)/; FW_REGEX_VIEW.VPN_IPSEC_IPSEC_POLICY_DIS_THIS_CMD3 = /sa[ ]duration[ ]traffic-based\s(\d+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_POLICY_CMD1 = /^\s*ike-peer[ ]+name:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_POLICY_CMD2 = /^\s*proposal[ ]+name:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_POLICY_CMD6 = /^\s*proposal[ ]+name:[ ]*([a-z0-9]+)(?:(?:,[ ]*[a-z0-9]+)+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_POLICY_CMD3 = /^\s*perfect[ ]+forward[ ]*secrecy:[ ]*(.*)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_POLICY_CMD4 = /^\s*IPsec[ ]+sa[ ]*local[ ]*duration\(time[ ]*based\):[ ]*(\d+|)[ ]*seconds/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_POLICY_CMD5 = /^\s*IPsec[ ]+sa[ ]*local[ ]*duration\(traffic[ ]*based\):[ ]*(\d+|)[ ]*kilobytes/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_PROPOSAL_CMD1 = /^\s*encapsulation[ ]+mode:[ ]*(transport|tunnel)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_PROPOSAL_CMD2 = /^\s*transform:\s(ah-esp|esp|ah)-new/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_PROPOSAL_CMD3 = /^\s*ESP[ ]protocol:[ ]*(?:not use authentication|authentication)[ ]*(md5|sha1|)(?:\S+|),[ ]+encryption[ ]+(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_PROPOSAL_CMD4 = /^\s*AH[ ]protocol:[ ]*authentication[ ]*(md5|sha1|)\S+/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD1 = /^\s+tunnel[ ]+local[ ]+address:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD2 = /^\s+tunnel[ ]+remote[ ]+address:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD3 = /^\s+proposal[ ]+name:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD4 = /^\s+AH[ ]+spi:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD5 = /^\s+AH[ ]+string-key:\s*(.*)\s*$/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD6 = /^\s+AH[ ]+authentication[ ]+hex[ ]+key:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD7 = /^\s+ESP[ ]+spi:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD8 = /^\s+ESP[ ]+string-key:\s*(.*)\s*$/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD9 = /^\s+ESP[ ]+encryption[ ]+hex[ ]+key:[ ]*(\S\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD10 = /^\s+ESP[ ]+authentication[ ]+hex[ ]+key:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD11 = /^\s+AH[ ]+spi:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD12 = /^\s+AH[ ]+string-key:\s*(.*)\s*$/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD13 = /^\s+AH[ ]+authentication[ ]+hex[ ]+key:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD14 = /^\s+ESP[ ]+spi:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD15 = /^\s+ESP[ ]+string-key:\s*(.*)\s*$/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD16 = /^\s+ESP[ ]+encryption[ ]+hex[ ]+key:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_MANUAL_POLICY_CMD17 = /^\s+ESP[ ]+authentication[ ]+hex[ ]+key:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_MANUAL_NAMENOTQUOTATION = /^\"$/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD1 = /^\s*exchange[ ]*mode:[ ]*(\S+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD2 = /^\s*pre-shared-key:[ ]*(\S+|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD3 = /^\s*local[ ]id[ ]type:\s*(name|ip)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD4 = /^\s*proposal:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD5 = /^\s*peer[ ]*ip[ ]*address:[ ]*(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)[ ]*(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD6 = /^\s*peer[ ]name:\s*(\S+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD7 = /^\s*nat[ ]*traversal:[ ]*(\S+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD8 = /^\s*proposal:[ ]*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_CMD_VPN = /^\s*vpn:\s*(.*)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_LOCAL_NAME_CMD = /\s*ike[ ]local-name\s+(\S+)\s*/; FW_REGEX_VIEW.VPN_IPSEC_IKE_POLICYMODE_CMD = /^[\s]*mode:\s*(\S+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD1 = /\s*input\/output\s*security\s*packets:\s*(\d+\/\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD2 = /\s*input\/output security bytes:\s*(\d+\/\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD3 = /\s*input\/output\s*dropped\s*security\s*packets:\s*(\d+\/\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD4 = /\s*no\s*enough\s*memory:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD5 = /\s*can't\s*find\s*SA:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD6 = /\s*queue\s*is\s*full:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD7 = /\s*authentication\s*is\s*failed:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD8 = /\s*wrong\s*length:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD9 = /\s*replay\s*packet:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD10 = /\s*too\s*long\s*packet:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CMD11 = /\s*wrong\s*SA:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_ENCTY_FAIL = /encry\s*fail:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_DECTY_FAIL = /decry\s*fail:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_CHECK_ACL = /check\s*acl\s*car:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_SPEED_LIMIT = /speed\s*limit\s*car:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_PRE_CHECK = /pre-check\s*fail:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_SUCCEED_CHECK = /succeed-check\s*fail:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_STATISTICS_OTHER = /other\s*reasons:\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_SA_BRIEF = /^\s*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s+(\d+)\s+(\S+)\s+(\S+)\s*(\S+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_ACL_CMD = /^\s*rule (\d+) (permit|deny) (service-set\s\S+|\S+)[ ]*(?:source\s|)(address-set\s\S+|\s*\d+.\d+.\d+.\d+\s[0-9\.]+|)\s(?:source-port\s|)\s*(eq\s*1701|)\s*(?:destination\s|)(address-set\s\S+|\s*\d+.\d+.\d+.\d+\s[0-9\.]+|)\s*(?:destination-port\s*|)\s*(eq\s*1701|)\s*(?:precedence|)(\s[a-z\-]+|)\s*(?:tos|)(\s[a-z0-9\-]+|)\s*(?:logging|)\s*(?:time-range|)(\s*[\S\-]+|)\s*(?:\(\d*\stimes matched\))/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PROPOSAL_CMD = /^\s*(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IKE_PEER_BRIEF = /^\s*(\S{1,15})\s*(\S+)\s*(?:main|aggressive)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_BRIEF_CMD = /^\s*(\S+-\d+)[ ]+(\S+)[ ]+(\d+|)[ ]+(?:\S+|)\s+(?:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)[ ]*(?:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_BRIEF_CMD1 = /^\s*(\S+)-(\d+)[ ]+isakmp[ ]+(?:\d+|)[ ]+(\S+|)[ ]*(?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_BRIEF_CMD2 = /^\s*(\S+)-\d+\s*(?:manual|isakmp|template|)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_BRIEF_CMD3 = /^\s*(\S+-\d+)[ ]+(\?i)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_BRIEF_CMD4 = /^\s*(\S+-\d+)[ ]+(\?t)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_BRIEF_CMD5 = /^\s*(\S+-\d+)[ ]+(\?m)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_BRIEF_CMD6 = /^\s*(\S+-\d+)[ ]+(\?m)[ ]+(?:\d+[ ]+|)[ ]*(?:\S+\r\n|)[ ]*(|\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]*(|\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})$/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_BRIEF_CMD7 = /^\s*(\S+-\d+)\s*(\?i|\?m|\?t)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_IPSEC_POLICY_NAME_EXTEND_ACL_CMD = /^\s*:\s*(\S+-\d+)-(manual|isakmp|template),\s*ACL:\s(\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_INTERFACE_CMD = /interface\s+(GigabitEthernet\d\/\d\/\d\.\d+|GigabitEthernet\d\/\d\/\d|Virtual-Template\d+)/; FW_REGEX_VIEW.VPN_IPSEC_DIS_INTERFACE_UNAPPLY_CMD = /(GigabitEthernet\d\/\d\/\d\.\d+|GigabitEthernet\d\/\d\/\d|Ethernet\d\/\d\/\d|Eth-Trunk[0-7])/; FW_REGEX_VIEW.VPN_IPSEC_NAMENOTBLANK = /\S+/; FW_REGEX_VIEW.VPN_IPSEC_PROPOSALNUMBER = /current ipsec proposal number:[ ](\d+)/; FW_REGEX_VIEW.VPN_IPSEC_ISTEMPLATE = /^\s*mode:[ ]*(template)/; FW_REGEX_VIEW.VPN_IPSEC_PORTVALIDATE = /eq/; FW_REGEX_VIEW.VPN_IPSEC_GETZONE = /^[ ]*vpn-instance[ ]*\S*[ ]*(\S*)$/; FW_REGEX_VIEW.VPN_IPSEC_GETZONEFORCOMB = /^[ ]*sa[ ]*binding[ ]*vpn-instance[ ]*(\S*)[ ]*zone[ ]*(\S*)/; FW_REGEX_VIEW.VPN_IPSEC_GETIKEPEERNAME = /^[ ]*ike-peer[ ]*(\S*)/; FW_REGEX_VIEW.IPSEC_ACLRULE_PORT = /\d+\D+/; FW_REGEX_VIEW.VPN_L2TP_ENABLE = /^\s*l2tp (enable)$/; FW_REGEX_VIEW.VPN_L2TP_NOTALLOWSPACE = /^\S+$/; FW_REGEX_VIEW.VPN_L2TP_MATCHVT = /Virtual-Template(\d{1,4})/; FW_REGEX_VIEW.VPN_L2TP_MATCHALLCHARACTER = /\S/; FW_REGEX_VIEW.VPN_L2TP_USERNAMEMATCHFORMAT = /^[a-zA-Z0-9`~!#$%^&()_+=,.\[\{\]\};']{1,64}$/; FW_REGEX_VIEW.VPN_L2TP_IPRANGE = /^[0-9]{1,2}$/; FW_REGEX_VIEW.VPN_L2TP_IPFORMAT = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; FW_REGEX_VIEW.VPN_L2TP_IPPOOLNUMRANGE = /^\d{1,2}$/; FW_REGEX_TEMPLATE.USER_LOCAL_PASSWORD = /^(?![a-zA-Z]+$)(?![`~!@#$%^&*()_\-+=,.:|\\\[\{\]\};\"/'<>]+$)(?![0-9]+$)[a-zA-Z0-9`~!@#$%^&*()_\-+=,.:|\\\[\{\]\};\"/'<>]{8,16}$/; FW_REGEX_TEMPLATE.USER_LOCAL_USERNAME_LIST = new Array( ['\r\n\r\n'], [/^ ((\S{1,63}@(\S{1,63}))|(\S{1,64}))/], [/^[ ]+(Active|Block)[ ]*((\S{1,100}))[ ]+(Dft|30|1[0-9]|2[0-9]|\d)[ ]+(No|20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(?:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|---|)[ ]+(\S{1,19})[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_VPN_LIST = new Array(['\n'], [/^[\s]*((\S{1,63}@(\S{1,63}))|(\S{1,64}))[ ]+(\w{1,19})[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_SHOWSSHUSERINFO = /^\s*\S{1,64}[ ]*(null|all|rsa|password)[ ]*(\S{1,30}|)/; FW_REGEX_TEMPLATE.USER_LOCAL_SERVICETYPE_LIST = new Array( [' -------------------------------------------------------------------\r\n -------------------------------------------------------------------\r\n'], [/^\s*User access index[ ]+:[ ]+(\d{1,5})$/], [/^\s*User IP address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})$/], [/^\s*User access type[ ]+:[ ]+([a-zA-Z]{1,10}|x25-pad)$/]); FW_REGEX_TEMPLATE.USER_LOCAL_DISPLAYGROUPS = new Array( ["\r\n"], [/^\s*(\S{1,64})[ ]+(?:Active|Block)[ ]+(?:\d{1,20})[ ]+(?:\d{1,5})[ ]+(?:\d{1,5})[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_DISPLAYVPNS = new Array(["\r\n"], [/^\s*VPN-Instance :[ ]* (\S{1,19})[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_DISPLAYGROUPS22 = new Array( ['\r\n'], [/^\s*(\S{1,64})[ ]+(?:Active|Block)[ ]+(?:\d{1,20})[ ]+(?:\d{1,5})[ ]+(?:\d{1,5})[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_DISPLAYRSA = new Array(["\r\n"], [/^[\s]*(?:\d{1,4})[ ]+(\S{1,30})$/]); FW_REGEX_TEMPLATE.USER_LOCAL_SEARCH_BY_USERNAME = { username : [/^[\s]*Username[ ]+:[ ]+((\S{1,64}))/], password : [/^[\s]*Password[ ]+:[ ]+((\S{1,64}))/], state : [/^[\s]*State[ ]+:[ ]+(Active|Block)/], serviceType : [/^[\s]*Service-type[ ]+:[ ]+(([ ]*\S{1,100}){1,100})/], onlineNumber : [/^[\s]*Online-number[ ]+:[ ]+(\d{1,10})/], userLevel : [/^[\s]*User-level[ ]+:[ ]+(\S)/], ftpDir : [/^[\s]*FTP-directory[ ]+:[ ]+(\S+)/], l2tpIP : [/^[\s]*L2tp-ip[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|-)/], vpnInstance : '' }; FW_REGEX_TEMPLATE.USER_LOCAL_SEARCH_BY_USERNAME_VPN = new Array(["\r\n"], [/^[\s]*local-user[ ]+\S{1,64}[ ]+vpn-instance[ ]+(\w{1,19})$/]); FW_REGEX_TEMPLATE.USER_LOCAL_SEARCH_BY_USERNAME_VPN1 = new Array(["\r\n"], [/^[\s]*local-user[ ]+\S{1,64}[ ]+vpn-instance[ ]+(\w{1,19})$/]); FW_REGEX_TEMPLATE.USER_GROUP_SEARCH_BY_USERNAME = { 'userName,groupName' : [/^[\s]*Username[ ]+:[ ]+(\S{1,64}@(\S{1,64})|(\S{1,64}))/], state : [/^[\s]*State[ ]+:[ ]+(Active|Block)/], assignFixedIP : [/^[\s]*L2tp-ip[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|-)/] }; FW_REGEX_TEMPLATE.USER_GROUP_PAGE = new Array( ["#\r\ndomain "], [/^[\s]*(\S{1,64})[ ]*(invalid|valid)[\s]*/], [ /^[ ]+username[ ]+(\S{1,64})[ ]+(Active|Block)[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|---)[ ]+(\S{1,19})/, '+']); FW_REGEX_TEMPLATE.USER_GROUP_GETSINGLECOUNT = new Array(["\n"], [/^[\s]* Total (\d{1,4}),(\d{1,4}) printed[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_IPSEARCH_BY_USERNAME = /^[\s]*L2tp-ip[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|-)/; FW_REGEX_TEMPLATE.USER_LOCAL_SEARCH_BY_NAMEANDGROUP = { username : [/^[\s]*Username[ ]+:[ ]+((\S{1,64}))/], password : [/^[\s]*Password[ ]+:[ ]+((\S{1,64}))/], state : [/^[\s]*State[ ]+:[ ]+(Active|Block)/], serviceType : [/^[\s]*Service-type[ ]+:[ ]+(([ ]*\S{1,100}){1,100})/], onlineNumber : [/^[\s]*Online-number[ ]+:[ ]+(\d{1,10})/], userLevel : [/^[\s]*User-level[ ]+:[ ]+(\d{0,3})/], l2tpIP : [/^[\s]*L2tp-ip[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|-)/], vpnInstance : '' }; FW_REGEX_TEMPLATE.USER_LOCAL_SEARCH_BY_GROUP = new Array( ['\n'], [/^[\s]*((\S{1,64}@(\S{1,20}))|(\S{1,64}))[ ]+(Active|Block)[ ]+(([ ]*\S{1,100}){1,100})[ ]+(Dft|30|1[0-9]|2[0-9]|\d)[ ]+(No|20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(?:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|---)[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_SEARCH_BY_GROUPPAGE = new Array( ['\r\n\r\n'], [/^ ((\S{1,63}@(\S{1,63}))|(\S{1,64}))/], [/^[ ]+(Active|Block)[ ]*((\S{1,100}))[ ]+(Dft|30|1[0-9]|2[0-9]|\d)[ ]+(No|20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(?:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|---|)[ ]+(\w{1,19})[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_SEARCH_BY_GROUP1 = new Array( ['\n'], [/^[\s]*((\S{1,63}@(\S{1,63}))|(\S{1,64}))[ ]+(Active|Block)[ ]*((\S{1,100}))[ ]+(?:Dft|30|1[0-9]|2[0-9]|\d)[ ]+(?:No|20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|---|)[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_SEARCH_BY_SERVICETYPE = new Array( ['\n'], [/^\s*(\S{1,64})[ ]+(Active|Block)[ ]+(\w{1,100})[ ]+(?:\S{1,10})[ ]+(?:\S{1,10})[ ]+(\w{1,5})[ ]+(?:\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|---)[\s]*$/]); FW_REGEX_TEMPLATE.USER_LOCAL_NAME_REG = /^[a-zA-Z0-9`~!#$%^&()_+=,.\[\{\]\};']{1,64}$/; FW_REGEX_TEMPLATE.USER_LOGIN_LOCAL_NAME_REG = /^[a-zA-Z0-9`~!@#$%^&()_+=,.\[\{\]\};']{1,64}$/; FW_REGEX_TEMPLATE.USER_LOCAL_PAGE_MATCH = /[ ]+(\d{1,})[ ]+(\d{1,})/; FW_REGEX_TEMPLATE.USER_LOCAL_PAGE_MATCH1 = /[ ]+\d{1,}[ ]+(\d{1,})/; FW_REGEX_TEMPLATE.USER_RSA_PUBLIC_KEY_LIST = new Array(['\r\n'], [/^\s*(\d{1,100})[ ]+(\S{1,30})[\s]*$/]); FW_REGEX_TEMPLATE.USER_RSA_PEER_REPLACE = /\%.*\[yes\/no\]:/g; FW_REGEX_TEMPLATE.USER_RSA_LOCAL_REPLACE = /\%.*\r\n\%.*\[yes\/no\]:/g; FW_REGEX_TEMPLATE.USER_RSA_PUBLIC_KEY_LIST12 = new Array(['\r\n'], [/^\s*Key name: (\S{1,30})[\s]*$/]); FW_REGEX_TEMPLATE.USER_RSA_LOCALKEYPAIR_CREATED = new Array( [], [/^Time of Key pair created: (\d{1,2}:\d{1,2}:\d{1,2} \d{4}\/\d{1,2}\/\d{1,2})/]); FW_REGEX_TEMPLATE.USER_RSA_GETKEYCODE = new Array([], [/^([0-9A-F]{4,8})/], [/^ ([0-9A-F]{4,8})/], [/^ (([0-9A-F]{1,8}\s*){8})/], [/^ (([0-9A-F]{1,8}\s*){8})/], [/^ (([0-9A-F]{1,8}\s*){8})/], [/^ (([0-9A-F]{1,8}\s*){8})/], [/^ (([0-9A-F]{1,8}\s*){8})/], [/^ (([0-9A-F]{1,8}\s*){8})/], [/^ (([0-9A-F]{1,8}\s*){8})/], [/^ (([0-9A-F]{1,8}\s*){8})/], [/^ ([0-9A-F]{4,8})/], [/^ ([0-9A-F]{2,8})/]); FW_REGEX_TEMPLATE.USER_RSA_NAME_REG = /^[a-zA-Z0-9`~!@#$%^&()-_+=<>,.\[\{\]\}/:;']{1,30}$/; FW_REGEX_TEMPLATE.USER_RSA_EDIT_REG = /^[A-F0-9\s]{1,2048}$/; FW_REGEX_TEMPLATE.USER_RSA_PAGE_MATCH = /\S{1,70}/g; FW_REGEX_TEMPLATE.USER_GROUP_GROUPLIST1 = new Array( ['\n'], [/^[\s]*((\S{1,64}@(\S{1,20}))|(\S{1,64}))[ ]+(Active|Block)[ ]+(([ ]*\S{1,100}){1,100})[ ]+(?:Dft|30|1[0-9]|2[0-9]|\d)[ ]+(?:No|20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(?:20[0-6]0[0-8]|1\d{4}|\d{1,4})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|---)[\s]*$/]); FW_REGEX_TEMPLATE.USER_GROUP_ONEGROUP = { domainstate : [/^[\s]*Domain-state[ ]+:[ ]+(\S{1,32}|-)/], authenticationschemename : [/^[\s]*Authentication-scheme-name[ ]+:[ ]+(\S{1,32}|-)/], accountingschemename : [/^[\s]*Accounting-scheme-name[ ]+:[ ]+(\S{1,32}|-)/], authorizationschemename : [/^[\s]*Authorization-scheme-name[ ]+:[ ]+(\S{1,32}|-)/], webipaddress : [/^[\s]*Web-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], primarydnsipaddress : [/^[\s]*Primary-DNS-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], seconddnsipaddress : [/^[\s]*Second-DNS-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], primarynbnsipaddress : [/^[\s]*Primary-NBNS-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], secondnbnsipaddress : [/^[\s]*Second-NBNS-IP-address[ ]+:[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|-)/], idledataattribute : [/^[\s]*Idle-data-attribute[ ]+\(time,flow\)[ ]+:[ ]+(\d{1,5},[ ]+\d{1,10})/], userpriority : [/^[\s]*User-priority[ ]+:[ ]+([0-7]|-)/], useraccesslimit : [/^[\s]*User-access-limit[ ]+:[ ]+(\d{1,5}|-)/], radiusservertemplate : [/^[\s]*RADIUS-server-template[ ]+:[ ]+(\S{1,32}|-)/] }; FW_REGEX_TEMPLATE.USER_GROUP_AUTHENTICATION_LIST = new Array(['\r\n'], [/^\s+(\S{1,32})(?:(?:[ ]+[local|none|radius]+)+)/]); FW_REGEX_TEMPLATE.USER_GROUP_AUTHORIZATION_LIST = new Array(['\r\n'], [/^\s+(\S{1,32})(?:(?:[ ]+[Local|If\-authenticated|None]+)+)/]); FW_REGEX_TEMPLATE.USER_GROUP_ACCOUNTING_LIST = new Array(['\r\n'], [/^\s+(\S{1,32})[ ]+(?:No|RADIUS)[ ]+accounting/]); FW_REGEX_TEMPLATE.USER_GROUP_RADIUS_LIST = new Array( [' -------------------------------------------------------------------\r\n -------------------------------------------------------------------\r\n'], [/^[ ]+Server-template-name[ ]+:[ ]+(\S{1,32})$/]); FW_REGEX_TEMPLATE.USER_GROUP_CREATEGROUP_IPPOOL_LIST = new Array( ['\r\n'], [/^[\s]*(\d{1,2})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+(?:\d{1,3})[ ]+(?:\d{1,2})[\s]*$/]); FW_REGEX_TEMPLATE.USER_GROUP_UPDATEGROUP_IPPOOL_LIST = new Array( ['\r\n'], [/^[\s]*(\d{1,2})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)[ ]+(?:\d{1,6})[ ]+(?:\d{1,2})[\s]*$/]); FW_REGEX_TEMPLATE.USER_GROUP_FINDAUTHENTICATIONS = new Array( ['\r\n'], [/^[ ]+(\d{1,2})[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}.)[ ]+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})[ ]+\d{1,3}[ ]+\d{1,2}$/]); FW_REGEX_TEMPLATE.USER_GROUP_NAME_REG = /^[a-zA-Z0-9`~!#$%^&()_+=\[\{\]\},.;']{1,64}$/; FW_REGEX_TEMPLATE.USER_GROUP_IPPOOLNUMBER_REG = /^[0-9]{1,2}$/; FW_REGEX_TEMPLATE.USER_GROUP_IPPOOLSTARTIPADDRESS_REG = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; FW_REGEX_TEMPLATE.USER_GROUP_IPPOOLENDIPADDRESS_REG = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; FW_REGEX_TEMPLATE.USER_REMOTE_RADIUSLIST = new Array( [' -------------------------------------------------------------------\r\n -------------------------------------------------------------------\r\n'], [/^[ ]+Server-template-name[ ]+:[ ]+(\S{1,32})$/], [/^[ ]+Primary-authentication-server[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})$/], [/^[ ]+Primary-accounting-server[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})$/]); FW_REGEX_TEMPLATE.USER_REMOTE_RADIUSLISTONE = new Array( [], [/^[ ]+Server-template-name[ ]+:[ ]+(\S{1,32})$/], [/^[ ]+Protocol-version[ ]+:[ ]+(\S{1,32})$/], [/^[ ]+Traffic-unit[ ]+:[ ]+(B|KB|MB|GB)$/], [/^[ ]+Shared-secret-key[ ]+:[ ]+(\S{1,32})$/], [/^[ ]+Timeout-interval\(in second\)[ ]+:[ ]+([3-9]|10)$/], [/^[ ]+Primary-authentication-server[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})$/], [/^[ ]+Primary-accounting-server[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})$/], [/^[ ]+Secondary-authentication-server[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})$/], [/^[ ]+Secondary-accounting-server[ ]+:[ ]+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d{1,5})$/], [/^[ ]+Retransmission[ ]+:[ ]+([1-5])$/], [/^[ ]+Domain-included[ ]+:[ ]+(YES|NO)$/]); FW_REGEX_TEMPLATE.USER_REMOTE_REG1 = /---------/g; FW_REGEX_TEMPLATE.USER_REMOTE_RADIUSLISTONEPLUS = new Array(['#'], [/^radius-server template[ ]+(\S{1,32})$/], [/^ radius-server accounting-stop-packet resend enable (\d{1,4})$/], [/^ radius-server nas-port-format (new|old)$/], [/^ radius-server nas-port-id-format (new|old)$/]); FW_REGEX_TEMPLATE.USER_REMOTE_RADIUSIFONUSE = new Array([], [/(%The server template is used in some domain)/]); FW_REGEX_TEMPLATE.USER_REMOTE_NAME_REG = /^[^\\`~!@#$%^&*()+=|\/\[\{\]\};:'",<>\s]{1,32}$/; FW_REGEX_TEMPLATE.USER_REMOTE_SHAREDKEY_REG = /^[^"\s]{1,16}$/; FW_REGEX_TEMPLATE.USER_AUTHENTICATION_LIST = new Array(["\r\n"], [/^[\s]*(\S{1,32})[ ]+([\w ]+)$/]); FW_REGEX_TEMPLATE.USER_AUTHENTICATION_ONEAUTHENTICATION = { authenticationmethod1 : [/^[\s]*Authentication-method[ ]+:[ ]+(\S{1,32})[ ]+authentication/], authenticationmethod2 : [/^[\s]*Authentication-method[ ]+:[ ]+(\S{1,32})[ ]+authentication/], authenticationmethod3 : [/^[\s]*Authentication-method[ ]+:[ ]+(\S{1,32})[ ]+authentication/] }; FW_REGEX_TEMPLATE.USER_AUTHENTICATION_NAME_REG = /^[a-zA-Z0-9`~@!#$%^&()_+=\[\{\]\},.;']{1,32}$/; FW_REGEX_TEMPLATE.USER_AUTHORIZATION_LIST = new Array(["\r\n"], [/^[\s]*([^-*|\:"?<> ]{1,32})[ ]+(([a-zA-Z\-]{1,10}[ ]*){1,4})[\s]*$/]); FW_REGEX_TEMPLATE.USER_AUTHORIZATION_ONEAUTHORIZATION = { authorizationmethod1 : [/^[\s]*Authorization-method[ ]+:[ ]+(\S{1,32})[ ]+authorization/], authorizationmethod2 : [/^[\s]*Authorization-method[ ]+:[ ]+(\S{1,32})[ ]+authorization/], authorizationmethod3 : [/^[\s]*Authorization-method[ ]+:[ ]+(\S{1,32})[ ]+authorization/] }; FW_REGEX_TEMPLATE.USER_AUTHORIZATION_NAME_REG = /^[a-zA-Z0-9`~@!#$%^&()_+=\[\{\]\},.;']{1,32}$/; FW_REGEX_TEMPLATE.USER_ACCOUNTING_LIST = new Array(["\r\n"], [/^[\s]*(\S{1,32})[ ]+([No|RADIUS|HWTACACS]{1,10}) accounting[\s]*$/]); FW_REGEX_TEMPLATE.USER_ACCOUNTING_ONEACCOUNTING = { accountingname : [/^[\s]*Accounting-scheme-name[ ]+:[ ]+(\S{1,32})/], accountingtype : [/^[\s]*Accounting-method[ ]+:[ ]+(\S{1,32})[ ]+accounting/], accountinginterval : [/^[\s]*Realtime-accounting-interval\(min\)[ ]+:[ ]+(\S{1,32})/], accountingstart : [/^[\s]*Start-accounting-fail-policy[ ]+:[ ]+(Online|Cut user)/], accountinginterim : [/^[\s]*Realtime-accounting-fail-policy[ ]+:[ ]+(Online|Cut user)/], accountingmaxtimes : [/^[\s]*Realtime-accounting-failure-retries[ ]+:[ ]+(\d{1,2})/] }; FW_REGEX_TEMPLATE.USER_ACCOUNTING_NAME_REG = /^[a-zA-Z0-9`~@!#$%^&()_+=\[\{\]\},.;']{1,32}$/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_CONNECTION_ID_1 = /^\s*firewall defend tcp-illeage-session (enable)$/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_CONNECTION_ID_2 = /^\s*firewall defend tcp-illeage-session blacklist-timeout (\d{1,4})$/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_CONNECTION_ID_3 = /^\s*firewall defend tcp-illeage-session packet (\d{1,3}) interval (\d{1,3})/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_CONNECTION_ID_4 = /^\s*firewall defend tcp-illeage-session number (\d{1,3}) interval (\d{1,3})/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_CONTROL_VALIDATOR = /max-length[ ]+(\d{1,})/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_DDOS_GET_TIME = /\(\d+ times matched\)/g; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_DDOS_GET_ACL = /^\s*firewall defend ddos (\d+) outbound$/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_DDOS_GET_NONE_TO_USE_ACL = /^\s*The ACL (\d+) is unused.*$/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_DNS_ID_1 = /^\s*firewall defend dns-flood (enable)$/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_DNS_ID_2 = /^\s*firewall defend dns-flood source-max-rate (\d+) interval (\d+)/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_HTTP_ID_1 = /^\s*firewall defend get-flood (enable)$/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_HTTP_ID_2 = /^\s*firewall defend get-flood uriblock (\d{1,}) interval (\d{1,})$/; FW_REGEX_VIEW.ATTACKDEFENSE_DEFEND_HTTP_ID_3 = /^\s*firewall defend get-flood blacklist-timeout (\d{1,})$/; FW_REGEX_VIEW.ATTACKDEFENSE_WHITELIST_TOTALOFEND = [/Total of End:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_WHITELIST_SYNFLOOD = [/Syn-flood:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_WHITELIST_DNSFLOOD = [/Dns-flood:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_WHITELIST_UNKNOWN = [/Unknown:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_TOTALNUMBER = /[ ]+(\d{1,})[ ]+(\d{1,})/; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_IP = /(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_TOTAL = [/Total:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_MANUAL = [/Manual:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_IPSWEEP = [/IP Sweep:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_PORTSCAN = [/Port Scan:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_IDS = [/IDS:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_LOGINFAILED = [/Login Failed:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_PREAUTHED = [/PreAuthed:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_GETFLOOD = [/Get Flood:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_CONNECTIONFLOOD = [ /tcp-illeage-session:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_UNKNOWN = [/Unknown:(\d+)/, '*']; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_BLACKLIST = / Blacklist is (\S{1,})/; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_ICMP = /\s*undo firewall blacklist filter-type (icmp)/; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_TCP = /\s*undo firewall blacklist filter-type (tcp)/; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_UDP = /\s*undo firewall blacklist filter-type (udp)/; FW_REGEX_VIEW.ATTACKDEFENSE_BLACKLIST_OTHERS = /\s*undo firewall blacklist filter-type (others)/; FW_REGEX_VIEW.LOGTRAP_CONFIG_STATISTICTIME = /^[ ]*Stream statistic logtime is (\d+) s/; FW_REGEX_VIEW.LOGTRAP_CONFIG_DEFENDTIME = /^[ ]*Attack Defend logtime is (\d+) s/; FW_REGEX_VIEW.LOGTRAP_SESSIONLOGCONFIG_DATA = /\(\d+ times matched\)/g; FW_REGEX_VIEW.LOGTRAP_SESSIONLOGCONFIG_IP_INTERFACE = /^[ ]*firewall session log-type binary host (\d*.\d*.\d*.\d*) (\d+)/; FW_REGEX_VIEW.LOGTRAP_LOGDISPLAY_DATA_ONE = /:\r\n(\t )*/g; FW_REGEX_VIEW.LOGTRAP_SESSIONLOGCONFIG_ADDRESS = /^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)[ ]*(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}|)$/; FW_REGEX_VIEW.IPLINK_TWO_ADDMARK = { 'interfaceNameVrid,vrid' : [/^\s*(\S{1,64}) \| Virtual Router (\d{1,4})$/], VrrpGroup : [/^\s*VRRP Group : (\w{1,64})\s*$/], virtualIp : [/^\s*Virtual IP : (\d+\.\d+\.\d+\.\d+)$/], PriorityRun : [/^\s*PriorityRun : (\d{1,4})$/], PriorityConfig : [/^\s*PriorityConfig : (\d{1,4})$/], MasterPriority : [/^\s*MasterPriority : (\d{1,4})$/], 'Preempt,DelayTime' : [/^\s*Preempt : (\w{1,64}) Delay Time : (\d{1,4})$/], Timer : [/^\s*Timer : (\d{1,4})$/], 'AuthType,password' : [/^\s*Auth Type : (\w{1,12})\s\w{1,12} Auth key : (\S*)$/], trackInterface : [/\s*Track IF : (\S{1,64})/], CheckTTLs : [/^\s*Check TTL : (\w{1,20})$/], iplinkId : [/^\s*Ip-Link (\d{1,3})\S*/, '+'] }; FW_REGEX_VIEW.IPLINK_TWO_SIMPLE = new Array(['\r\n'], [/(GigabitEthernet[\S]*|Eth-Trunk[\S]*|Ethernet[\S]*)/]); FW_REGEX_VIEW.IPLINK_TWO_PANEL_NOTJOIN = new Array( ['\r\n'], [/^(\d+)\s+\w+\s+\d+\s+\w+\s+(\w*)\s+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\s*(\S*)/]); FW_REGEX_VIEW.IPLINK_TWO_PANEL_LOADALL = new Array( ['\r\n'], [/^(\d+)\s+\w+\s+\d+\s+\w+\s+(\w*)\s+(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\s*(\S*)/]); FW_REGEX_VIEW.IPLINK_TWO_OLD_MASTER = /Current state of interfaces tracked by master:/; FW_REGEX_VIEW.IPLINK_TWO_OLD_SLAVE = /Current state of interfaces tracked by slave:/; FW_REGEX_VIEW.GUANGDASERVICE1 = /(\S+)[ ]+(\S+|)/; FW_REGEX_VIEW.GUANGDASERVICE2 = /(\S+) \S+ \d+ (\d+) (\S+)[ ]*(\d+|)-(\d+|)[ ]*(\d+|)-(\d+|)/ FW_REGEX_VIEW.GUANGDASERVICE3 = / (\S+) \S+[ ]+members:([\S ]+|)/; FW_REGEX_VIEW.GUANGDASERVICE4 = /description ([\S ]+)/; FW_REGEX_VIEW.GUANGDASERVICE5 = /^ (\S+)[ ]+\S+/; FW_REGEX_VIEW.GUANGDASERVICE5_ = /(\S+)[ ]+\S+/; FW_REGEX_VIEW.GUANGDASERVICE51 = /\r\n description ([\S ]+)/; FW_REGEX_VIEW.GUANGDASERVICE6 = / /g; FW_REGEX_VIEW.GUANGDASERVICE7 = /service (\d+) service-set (\S+)/; FW_REGEX_VIEW.GUANGDASERVICE8 = / (\S+) public (\d+) (\S+) (\d+|)-(\d+|)[ ]*(\d+|)-(\d+|)/; FW_REGEX_VIEW.GUANGDASERVICE9 = /(\S+) public/; FW_REGEX_VIEW.GUANGDASERVICE10 = /(\d+)[ ]+(\S+)[ ]+(\d+)/; FW_REGEX_VIEW.GUANGDASERVICE11 = / service (\d+) (\S+)/; FW_REGEX_VIEW.GUANGDASERVICE12 = / service \d+ (?:tcp|udp) source-port ((?:(?:\d{1,5}-\d{1,5}|\d{1,5}) ){0,63}(?:\d{1,5}-\d{1,5}|\d{1,5})) destination-port ((?:(?:\d{1,5}-\d{1,5}|\d{1,5}) ){0,63}(?:\d{1,5}-\d{1,5}|\d{1,5}))/; FW_REGEX_VIEW.GUANGDASERVICE13 = / service \d+ icmp (\d+)-(\d+)/; FW_REGEX_VIEW.GUANGDASERVICE14 = /description (.*)/; FW_REGEX_VIEW.GUANGDASERVICE151 = /^(\d+)[ ]+(\S+)[ ]+(\d+)/; FW_REGEX_VIEW.GUANGDASERVICE16 = /(\S+)/; FW_REGEX_VIEW.GUANGDASERVICE17 = /^\d+$/; FW_REGEX_VIEW.GUANGDASERVICE18 = /time-range (\S+)\(/; FW_REGEX_VIEW.GUANGDASERVICE19 = /^(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}[ ](?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[0]))$/ FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_ITEMREG = / address \d{1,4} address-set \S*/g; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_MASKREG = / address \d{1,4} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:(?:mask (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[3][0-2]|[1-2][0-9]|[1-9]))|0|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(?:.*)/g; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_RANGEREG = / address \d{1,4} range \S+ \S+(.*)/g; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_MASKONE = /\s*address \d{1,4} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:(?:mask (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[3][0-2]|[1-2][0-9]|[1-9]))|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|0)(?: description (.*)|\s*)/; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_RANGEONE = / address \d{1,4} range \S+ \S+(.*)/; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_MASKONE1 = /^\s*address \d{1,4} \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} (?:(?:mask (?:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[3][0-2]|[1-2][0-9]|[1-9]))|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|0)(?: description (.*)|(?:\s*))/; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_RANGEONE1 = /^\s*address \d{1,4} range \S+ \S+(?: description (.*)|(\s*))/; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_ADDRSET = /\s+(\S+)\s+\S+ address set$/; FW_REGEX_TEMPLATE.SWEB_COMP_IP = /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/; FW_REGEX_TEMPLATE.SWEB_CM_GD = /\r\nAddress-set: (\S+)/g; FW_REGEX_TEMPLATE.SWEB_CM_GE = /Address-set: (\S+)/; FW_REGEX_TEMPLATE.SWEB_GET_DESC = /Description: (.*)/; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_ITEM = /\r\nItem number\(s\): (\S+)/; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_REFERENCE = /\r\nReference number\(s\): (\S+)/; FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_M_E_M = new Array(['\r\n '], [/^address (\d{1,4}) .*/]); FW_REGEX_TEMPLATE.FIREWALL_ADDRESS_DISSET = /\r\nAddress-set: (\S+)/; FW_REGEX_TEMPLATE.ATTACKDEFENSE_DEFEND_COMN_REG = / vpn-instance \S*/g; RE_CODE = /\'/g; FW_REGEX_TEMPLATE.IP_WARNING = ["ddress", "地址"]; FW_REGEX_TEMPLATE.SYSTEM_INTERFACE_IP_INFO = ['addresses on this interface have been removed', '接口的IP地址已经被删除']; FW_REGEX_TEMPLATE.SYSTEM_VLAN_UNDOBINDING_INFO = ['all interfaces in the L2 have been removed', '已将该VPN实例的安全域中的二层接口删除']; var UTM_REGEX_VIEW = function() { } FW_REGEX_TEMPLATE.CHANGESCANLEVELTPL_SUCCESSFLAG = ['result in|has not been', '会导致|没有改', false]; UTM_REGEX_VIEW.AV_VIRUSLIST = /[ ]+\d{1,}[ ]+(\d{1,})[ ]*/; UTM_REGEX_VIEW.AV_QUOTEREG = /^\"{1,} {1,}$|^\"{1,}$/ UTM_REGEX_VIEW.AV_BLANKREG = /\S +\S/; UTM_REGEX_VIEW.AV_MASKREG = /^\".*\"$/; UTM_REGEX_VIEW.AV_MASKREG_TWO = /^\"[^"]{1,}\"$/; UTM_REGEX_VIEW.AV_PREBLANKREG = /^\ {1,}\S{0,}\ {0,}$/; UTM_REGEX_VIEW.AV_FILELIMIT = / MBytes/g; UTM_REGEX_VIEW.AV_SUFFIXPRE = /(;)$/; UTM_REGEX_VIEW.AV_PRESUFFIX = /^(;)/; UTM_REGEX_VIEW.AV_SUFFIXPOST = /;/g; UTM_REGEX_VIEW.AV_SUFFIXFORMAT = /^[^\ \;]{1,6}$/; UTM_REGEX_VIEW.AV_SUFFIXSEMICOLON = /\ ;\ /g; UTM_REGEX_VIEW.AV_SUFFIXUNIFICATION = /^(\.|\*\.)/ig; UTM_REGEX_VIEW.AV_GLOBAL = /\W/g; UTM_REGEX_VIEW.AV_GLOBALENABLED = /Anti-Virus global switch\s*:\s*(\S{1,})/; UTM_REGEX_VIEW.AV_GLOBALESCANLEVEL = /Scan level\s*:\s*(\S{1,})/; UTM_REGEX_VIEW.AV_GLOBALEMAXLAYER = /Max decompressable layer\s*:\s*(\S{1,})/; UTM_REGEX_VIEW.AV_VURL_FUNCTION = /VURL Function\s*:\s*(\S{1,})/; UTM_REGEX_VIEW.AV_VURL_SERVERIP = /VURL Server IP\s*:\s*(\S{1,})/; UTM_REGEX_VIEW.AV_VURL_SERVERPORT = /VURL Server Port\s*:\s*(\S{1,})/; UTM_REGEX_VIEW.AV_POLICYPARAMETERLIST = new Array( ['AV Policy'], [/\s*\"(.*)\"/], [/Description\s*:\s*(.*)/], [/Referenced\s*:\s*(.*)/], [/Password-protected-file action\s*:\s*(.*)/], [/Deep-compressed-file action\s*:\s*(.*)/], [/Malformed-file action\s*:\s*(.*)/], [/Large-file action\s*:\s*(.*)/], [/HTTP switch\s*:\s*(.*)/], [/Action\s*:\s*(.*)/], [/Transfer mode\s*:\s*(.*)/], [/Resume-transfer\s*:\s*(.*)/], [/Accelerate-transfer\s*:\s*(.*)/], [/Max file size to scan\s*:\s*(.*)/], [/Scan mode\s*:\s*(.*)/], [/Web push notification\s*:\s*(.*)/], [/SMTP switch\s*:\s*(.*)/], [/Action\s*:\s*(.*)/], [/Max file size to scan\s*:\s*(.*)/], [/Scan mode\s*:\s*(.*)/], [/Declare notification\(English\)\s*:\s*(.*)/], [/Declare notification\(Chinese\)\s*:\s*(.*)/], [/Attachment detach notification\(English\)\s*:\s*(.*)/], [/Attachment detach notification\(Chinese\)\s*:\s*(.*)/], [/POP3 switch\s*:\s*(.*)/], [/Action\s*:\s*(.*)/], [/Max file size to scan\s*:\s*(.*)/], [/Scan mode\s*:\s*(.*)/], [/Declare notification\(English\)\s*:\s*(.*)/], [/Declare notification\(Chinese\)\s*:\s*(.*)/], [/Attachment detach notification\(English\)\s*:\s*(.*)/], [/Attachment detach notification\(Chinese\)\s*:\s*(.*)/] ); UTM_REGEX_VIEW.AV_VIRUSLISTPARSE = /(\S* {0,1}\S* {0,1}\S*) +(\S* {0,1}\S* {0,1}\S*) +(\S* {0,1}\S* {0,1}\S*)/; UTM_REGEX_VIEW.AV_HTTPEXTENSION = /HTTP file extension\s*:\s*(.*)/; UTM_REGEX_VIEW.AV_SMTPEXTENSION = /SMTP file extension\s*:\s*(.*)/; UTM_REGEX_VIEW.AV_POP3EXTENSION = /POP3 file extension\s*:\s*(.*)/; UTM_REGEX_VIEW.AV_DEFAULTEXTENSIONPARSE = /(\S{1,};\S{1,})/; UTM_REGEX_VIEW.AV_GLOBALNBSP = / /g; UTM_REGEX_VIEW.AV_GLOBALSPACE = / /g; UTM_REGEX_VIEW.AV_VITURSATISTIC_GRID = new Array(['\r\n'], [/([\S ]*)[ ]+(\d+)/]); UTM_REGEX_VIEW.AV_VITURSATISTIC_ENABLE = /(undo|)\s*av\s*virus-database\s*statistic\s*enable/; UTM_REGEX_VIEW.LU_DOMAINNAME = /^(?!^(?:[1-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-1][0-9]|[2][2][0-3])(?:\.(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-5][0-5])){3}$)\S{1,63}$|^\"[\S ]{1,63}\"$/; UTM_REGEX_VIEW.LU_IP = /^(?:[1-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-1][0-9]|[2][2][0-3])(?:\.(?:[0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-5][0-5])){3}$/; UTM_REGEX_VIEW.LU_UPDATETIME = /(\w+)\s+(\d{1,2}:\d{1,2})/; UTM_REGEX_VIEW.LU_TIMERANGE = /([0-1]\d|2[0-3]):[0-5]\d/; UTM_REGEX_VIEW.TRY_DNS_SERVER=/Trying DNS server.*/g; UTM_REGEX_VIEW.LU_QUERYLAC = { 'lu_lac' : [/The license authorization code.*:\s*([\w\-]*)/i] }; UTM_REGEX_VIEW.LU_ACTIVATEDCODE = { 'lu_activatedcode' : [/The activated serial code.*:\s*((?!NULL)[\w\-\+\/]*)/i] }; UTM_REGEX_VIEW.LU_UPDATESTATUS = { status : [/ *(?:Current update status\s*:|当前升级状态\s*:)\s*(.*)/i] }; UTM_REGEX_VIEW.LU_AVVERSION = { 'avversion' : [/ Version number\s*: (.*)/], 'avengineversion' : [/ Engine version\s*: (.*)/], 'avenginesize' : [/ Engine size\s*: (.*)/], 'avsignatureversion' : [/ Signature database version\s*: (.*)/], 'avsignaturesize' : [/ Signature database size\s*: (.*)/], 'avupdatetime' : [/ Update time\s*: (.*)/], 'avupdatefileissue' : [/ Issue time of the update file\s*: (.*)/], 'avversionold' : [/ Version number\s*: (.*)/], 'avengineversionold' : [/ Engine version\s*: (.*)/], 'avenginesizeold' : [/ Engine size\s*: (.*)/], 'avsignatureversionold' : [/ Signature database version\s*: (.*)/], 'avsignaturesizeold' : [/ Signature database size\s*: (.*)/], 'avupdatetimeold' : [/ Update time\s*: (.*)/], 'avupdatefileissueold' : [/ Issue time of the update file\s*: (.*)/], 'avversionfd' : [/ Version number\s*: (.*)/], 'avengineversionfd' : [/ Engine version\s*: (.*)/], 'avenginesizefd' : [/ Engine size\s*: (.*)/], 'avsignatureversionfd' : [/ Signature database version\s*: (.*)/], 'avsignaturesizefd' : [/ Signature database size\s*: (.*)/], 'avupdatetimefd' : [/ Update time\s*: (.*)/], 'avupdatefileissuefd' : [/ Issue time of the update file\s*: (.*)/] }; UTM_REGEX_VIEW.LU_IPSVERSION = { 'ipsversion' : [/ Version number\s*: (.*)/], 'ipsengineversion' : [/ Engine version\s*: (.*)/], 'ipsenginesize' : [/ Engine size\s*: (.*)/], 'ipssignatureversion' : [/ Signature database version\s*: (.*)/], 'ipssignaturesize' : [/ Signature database size\s*: (.*)/], 'ipsupdatetime' : [/ Update time\s*: (.*)/], 'ipsupdatefileissue' : [/ Issue time of the update file\s*: (.*)/], 'ipsversionold' : [/ Version number\s*: (.*)/], 'ipsengineversionold' : [/ Engine version\s*: (.*)/], 'ipsenginesizeold' : [/ Engine size\s*: (.*)/], 'ipssignatureversionold' : [/ Signature database version\s*: (.*)/], 'ipssignaturesizeold' : [/ Signature database size\s*: (.*)/], 'ipsupdatetimeold' : [/ Update time\s*: (.*)/], 'ipsupdatefileissueold' : [/ Issue time of the update file\s*: (.*)/], 'ipsversionfd' : [/ Version number\s*: (.*)/], 'ipsengineversionfd' : [/ Engine version\s*: (.*)/], 'ipsenginesizefd' : [/ Engine size\s*: (.*)/], 'ipssignatureversionfd' : [/ Signature database version\s*: (.*)/], 'ipssignaturesizefd' : [/ Signature database size\s*: (.*)/], 'ipsupdatetimefd' : [/ Update time\s*: (.*)/], 'ipsupdatefileissuefd' : [/ Issue time of the update file\s*: (.*)/], 'ipsversiondown' : [/ Version number\s*: (.*)/], 'ipsengineversiondown' : [/ Engine version\s*: (.*)/], 'ipsenginesizedown' : [/ Engine size\s*: (.*)/], 'ipssignatureversiondown' : [/ Signature database version\s*: (.*)/], 'ipssignaturesizedown' : [/ Signature database size\s*: (.*)/], 'ipsupdatetimedown' : [/ Update time\s*: (.*)/], 'ipsupdatefileissuedown' : [/ Issue time of the update file\s*: (.*)/] }; UTM_REGEX_VIEW.LU_SECURITY_SERVER = { 'server_domain' : [/\s*Security server\s*: (.*)/] } UTM_REGEX_VIEW.LU_UPDATECONFIG = { 'ipsinstallconfirm' : [/ Application confirmation\s*: (\w*)/], 'ipsupdatestate' : [/ Schedule update\s*: (\w*)/], 'ipsupdatefrequency' : [/ Schedule update frequency\s*: (\w*)/], 'ipsupdatetime' : [/ Schedule update time\s*: (.*)/], 'avupdatestate' : [/ Schedule update\s*: (\w*)/], 'avupdatefrequency' : [/ Schedule update frequency\s*: (\w*)/], 'avupdatetime' : [/ Schedule update time\s*: (.*)/] }; UTM_REGEX_VIEW.LU_DIRCF = /^[ ]*\d*[ ]*\-rw\-[ ]*(\d*)[ ]*(\w* \d* \d* \d*:\d*:\d*)[ ]*([\w\-\.\$]*\.\w*)/; UTM_REGEX_VIEW.UTMTIMEFIELD_HOUR = /^(2[0-3])$|^([0,1]?\d)$/; UTM_REGEX_VIEW.UTMTIMEFIELD_MINUTE = /^([0-5]?\d)$/; UTM_REGEX_VIEW.LU_LICENSE = /^[a-zA-Z0-9\-]{1,24}$/; UTM_REGEX_VIEW.LU_ACTIVATED_CODE = /^\S{1,128}$|^\"[\S ]{1,128}\"$/; UTM_REGEX_VIEW.LU_SUCCESSFLAG=['Are you sure', '请确认']; UTM_REGEX_VIEW.LU_ASYN_CMD_SUCCESSFLAG=['wait','等候',false]; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT16 = / policy ips (.*)/; FW_REGEX_VIEW.FIREWALL_POLICY_PUBLICEVENT17 = / policy av (.*)/; FW_REGEX_VIEW.IPSPOLICY = /^IPS policy \"(.*)\"/; FW_REGEX_VIEW.AVPOLICY = /^AV Policy \"(.*)\"/; FW_REGEX_VIEW.FIREWALL_POLICY_SPACE = / /g; UTM_REGEX_VIEW.BYPASS_DISUTM_STATUS = [/UTM bypass function is\s+(\S{1,})\./]; UTM_REGEX_VIEW.BYPASS_ISACTIVE = [/UTM bypass function is\s+(\S+)\s+at cur*ent\./]; UTM_REGEX_VIEW.MODESWITCH_DISRUNMODE_MODE = [/run\s*mode\s*:\s*(\S{1,})/i]; UTM_REGEX_VIEW.IPS_USER_NUMBER_MATCH = /^\d*$/; UTM_REGEX_VIEW.IPS_USER_REGEX_TEXTEAR_MATCH = /^[^?\u4e00-\u9fa5\"]{1,127}$/; UTM_REGEX_VIEW.IPS_USER_REGEX_TEXTEAR_MATCH_TWO = /^[^\"?\s\u4e00-\u9fa5]{2}\"[ ]{0,}\"$/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_ID = new Array([], [/\s*Signature ID\s*:\s*(.*)/], [/\s*State\s*:\s*(\w*)/], [/\s*Name\s*:\s*(.*)/], [/\s*Protocol\s*:\s*(.*)/], [/\s*Severity\s*:\s*(.*)/], [/\s*Reliability\s*:\s*(.*)/], [/\s*Direction\s*:\s*(.*)/], [/\s*Category\s*:\s*(.*)/], [/\s*Matched times\s*:\s*(.*)/], [/\s*Reference\s*:\s*(.*)/], [/\s*Description\s*:\s*(.*)/]); UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_HOLE = new Array( ['\r\n'], [/(\d*)\s*(\w*)\s*(to-server|to-client|any|all)\s*(critical|error|informational|notification|warning)\s*([\S ]*)\s*\[(\w*)\]\s*(\d*)\s*(active|deprecated)\s*(.*)/]); UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_ID = /\s*Signature ID\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_STATE = /\s*State\s*:\s*(\w*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_RELIABILITY = /\s*Reliability\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_PRENAME = /\s*Name\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_PROTOCOL = /\s*Protocol\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_SEVERITY = /\s*Severity\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_DIRECTION = /\s*Direction\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_CATEGORY = /\s*Category\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_STATISTIC = /\s*Matched times\s*:\s*(\d*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_REFERENCE = /\s*Reference\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_DETAIL_DESCRIPTION = /\s*Description\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_PROTOCOL = /(\b[a-zA-Z]\S*\b).*/; UTM_REGEX_VIEW.IPS_SIGNATURE_DISPLAY_CATEGORY = /(\b[a-zA-Z]\S*\b).*/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_DISPLAY_ID = new Array( [], [/\s*Signature ID\s*:\s*(\S*)/], [/\s*State\s*:\s*(\S*)/], [/\s*Name\s*:\s*(\S*)/], [/\s*Protocol\s*:\s*(\S*)/], [/\s*Severity\s*:\s*(\S*)/], [/\s*Direction\s*:\s*(\S*)/], [/\s*Matched Times\s*:\s*(\S*)/]); UTM_REGEX_VIEW.IPS_SIGNATURE_USER_DISPLAY_HOLE = new Array( ['\r\n'], [/(\d*)\s*(\w*)\s*(to-server|to-client|any|all)\s*(\w*)\s*(\S*)\s*(\d*)\s*(.*)/]); UTM_REGEX_VIEW.IPS_SIGNATURE_USER_SEARCH_ID = new Array( ['\r\n'], [/(\d*)\s*(\w*)\s*(to-server|to-client|any|all)\s*(\w*)\s*(\S*)\s*(\d*)\s*(.*)/]); UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_ID = /\s*Signature ID\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_STATE = /\s*State\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_NAME = /\s*Name\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_PROTOCOL = /\s*Protocol\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_SEVERITY = /\s*Severity\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_DIRECTION = /\s*Direction\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_SOURCEIP_MASK = /\s*Source IP\s*:\s*([\d\.]*)\/([\d\.]*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_SOURCEPORT = /\s*Source port\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_DESTINATIONIP_MASK = /\s*Destination IP\s*:\s*([\d\.]*)\/([\d\.]*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_DESTINATIONPORT = /\s*Destination port\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_OFFSET_PACHSTREAM = /\s*Offset\s*:\s*(\d*)[ ]*(\S*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_MAXSTREANMLENGTH = /\s*Max-stream-len\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_REGEX = /\s*Regex\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_DESCRIPTION = /\s*Description\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_UPDATE_DETAIL_MACHEDTIME = /\s*Matched times\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_DISPLAY_PROTOCOL = /(\b[a-zA-Z]\S*\b).*/; UTM_REGEX_VIEW.IPS_SIGNATURE_USER_DISPLAY_CATEGORY = /(\b[a-zA-Z]\S*\b).*/; UTM_REGEX_VIEW.IPS_SIGNATURE_PROTOCOL_IDDENTIRY_LIST = new Array(['\r\n'], [/(\d*)\s*(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\s*(\d*)\s*(\S*)/]); UTM_REGEX_VIEW.IPS_SIGNATURE_PROTOCOL_IDDENTIRY_QUERY = /\s*(\S*).*/ UTM_REGEX_VIEW.IPS_POLICY_PAGE_FILTER_NAME = /^\S{1,31}$|^\"[ \S]{1,31}\"$/; UTM_REGEX_VIEW.IPS_POLICY_PAGE_FILTER_UPDATE_DISABLE = /disable/i; UTM_REGEX_VIEW.IPS_POLICY_PAGE_FILTER_UPDATE_PROTOCOL_MODE_AND = /and/i; UTM_REGEX_VIEW.IPS_POLICY_PAGE_FILTER_UPDATE_TO_SERVER = /to-server/i; UTM_REGEX_VIEW.IPS_POLICY_PAGE_FILTER_UPDATE_TO_CLIENT = /to-client/i; UTM_REGEX_VIEW.IPS_POLICY_PAGE_FILTER_UPDATE_TO_ANY = /any/i; UTM_REGEX_VIEW.IPS_POLICY_PAGE_FILTER_UPDATE_ENABLE = /enable/i; UTM_REGEX_VIEW.IPS_POLICY_PAGE_FILTER_UPDATE_ALERT = /alert/i; UTM_REGEX_VIEW.IPS_POLICY_PAGE_POLICY_NAME = /^[`~\!@#\$%\^&*\(\)_+=|\\\{\}\[\]:;\"/'\,.<>a-zA-Z1-90]{1,31}$|^\"[ `~\!@#\$%\^&*\(\)_+=|\\\{\}\[\]:;/'\,.<>a-zA-Z1-90]{1,31}\"$/; UTM_REGEX_VIEW.IPS_POLICY_PAGE_REPLACE_DOUHAO = /,/g; UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_PRIVILEGY = /\s*Privileged policy is ([\S ]*)/; UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_ENABLE = /\s*IPS is (Enabled|Disabled)/; UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_MODE = /IPS mode is (Passive|Active|)/; UTM_REGEX_VIEW.IPS_POLICY_GLOB_ENABLE = /IPS global switch\s*:\s*(\w*)/; UTM_REGEX_VIEW.IPS_POLICY_GLOB_PRIVILEGE = /Privilege policy\s*:\s*(.*)/; UTM_REGEX_VIEW.IPS_POLICY_GLOB_MODE = /IPS mode\s*:\s*(\w*)/; UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_PRIVILEGY_FOR_POLICY = /\s*IPS policy\s*\"([\S ]*)\"/; UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_POLICY_LIST = new Array( ['\r\nIPS policy'], [/\"([\S ]*)\"/], [/\s*Description\s*:\s*(.*)/],[/\s*Referenced\s*:\s*(\d*)/]); UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_FILTER_LIST = new Array(['\r\n\r\n'], [/Signature set\s*:\s*(\"[ \S]*\"|\S*)/], [/Direction\s*:\s*(\S*)/], [/Severity\s*:\s([ \S]*)/], [/Reliability\s*:\s([ \S]*)$/], [/Protocol\s*:\s*(\S*)/], [/[ ]*Category\s*:\s*(disable|\(*?\w*\):)\s*(\S*)/], [/State\s*:\s*(\S*)/], [/Action\s*:\s*(\S*)/]); UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_OVRRIDES_SIG_BY_ID = new Array([], [/\s*Signature ID\s*:\s*(.*)/], [/\s*State\s*:\s*(.*)/], [/\s*Name\s*:\s*(.*)/], [/\s*Protocol\s*:\s*(.*)/], [/\s*Severity\s*:\s*(.*)/], [/\s*Reliability\s*:\s*(.*)/], [/\s*Direction\s*:\s*(.*)/]); UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_OVRRIDES_SIG_BY_HOLE = new Array( ['\r\n'], [/(\d*)\s*(\S*)\s*(to-server|to-client|any|all)\s*(\S*)\s*([\S ]*)\[(\S*)\]\s*(\S*)\s*(.*)/]); UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_OVRRIDES_LIST = new Array(['\r\n'], [/\s*(\d*)\s*(block|alert)\s*(enable|disable)\s*(.*)/]); UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_TEMPLATE_FOR_FILTER = /[ ]*Policy template\s*:\s*(\S*)/; UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_DISPLAY_TEMPLATE = new Array(['\r\n'], [/[ ]*Policy template\s*:\s*(\S*)/]); UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_DISPLAY_TEMPLATE_GROUP = new Array( ['Policy template:'], [/\s*(\w*)/], [/\s*Signature set\s*:\s*template\s*-(\S*)/], [/\s*Direction\s*:\s*(\S*)/], [/\s*Severity\s*:\s*(\S*)/], [/\s*Reliability\s*:\s*(\S*)/], [/\s*Protocol\s*:\s*(\S*)/], [/\s*Category\s*:\s*(\S*)/], [/\s*State\s*:\s*(\S*)/], [/\s*Action\s*:\s*(\S*)/]); UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_OVRRIDES_DISPLAY_PROTOCOL = /(\b[a-zA-Z]\S*\b).*/; UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_OVRRIDES_DISPLAY_CATEGORY = /(\b[a-zA-Z]\S*\b).*/; UTM_REGEX_VIEW.IPS_POLICY_TEMPLATE_FILTER_RENAME = /signature-set\s*:\s*(\S*)/; UTM_REGEX_VIEW.IPS_TEMPLATE_LIST = new Array(['\r\n'], [/\s*Policy template\s*:\s*(\S*)/]); UTM_REGEX_VIEW.IPS_TEMPLATE_LIST_GROUP = new Array(['\r\n\r\n'], [/\s*Signature set\s*:\s*(\S*)/], [/\s*Direction\s*:\s*(\S*)/], [/\s*Severity\s*:\s*(.*)/], [/\s*Reliability\s*:\s*(.*)/], [/\s*Protocol\s*:\s*(\S*)/], [/[ ]*Category\s*:\s*(disable|\(*?\w*\):)\s*(\S*)/], [/\s*State\s*:\s*(\S*)/], [/\s*Action\s*:\s*(\S*)/]); UTM_REGEX_VIEW.IPS_HIDE_PROTOCOL = new Array([], [/(\b[a-zA-Z]\S*\b)/, '+']); UTM_REGEX_VIEW.IPS_HIDE_CATEGORY = new Array([], [/(\b[a-zA-Z]\S*\b)/, '+']); UTM_REGEX_VIEW.IPS_OVERRID_QUERY_ID = /^[123456789]{1}[1234567890]{0,5}$/; UTM_REGEX_VIEW.IPS_USERSIG_NAME_REGEX = /^[a-zA-Z]\w{0,31}$/; UTM_REGEX_VIEW.DNS_DOMAIN_NAME_REGEX = /^[a-zA-Z0123456789\-_.]*$/; UTM_REGEX_VIEW.DNS_SERVER_GRID = new Array(['\r\n'], [/\d+\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/]); UTM_REGEX_VIEW.DNS_DOMAIN_GRID = new Array(['\r\n'], [/^\b[1234567890]{1,}\s+(\S+)/]); UTM_REGEX_VIEW.DNS_ENABLE_DIS = /DNS resolve is (\w*)/; UTM_REGEX_VIEW.USER_SIG_POP_PROTOCOL = /(\b[a-zA-Z]\S*\b)\s*\S*\s*protocol/; UTM_REGEX_VIEW.IPS_POLICY_GRID_NAME = / /g; UTM_REGEX_VIEW.IPS_POLICY_NAME_HORIZONTAL_LINE = /-/g; UTM_REGEX_VIEW.URL_FILTER_ENABLE = /switch\s*:\s*(\S+)/i; UTM_REGEX_VIEW.URL_DEFAULTACTION = /default\saction\s*:\s*(\S+)/i; UTM_REGEX_VIEW.URL_NOTIFICATION = /message\s*:\s*(.+)$/i; UTM_REGEX_VIEW.URL_NOTIFICATION_REGEX = /\S+/; UTM_REGEX_VIEW.URL_REMISSION_IP_ADDR_SET = /address-set\s*(\S+)/; UTM_REGEX_VIEW.URL_REMISSION_IP_TEXT = /^([\d\.]+)(?:-([\d\.]+)|([\/\\])([\d\.]+))/; UTM_REGEX_VIEW.URL_REMISSION_IP_VALUE = /^(range)?\s*([\d\.]+)\s+([\d\.]+)/; UTM_REGEX_VIEW.URL_REMISSION_IP_VALIDATE = /^((?:[01]?\d{1,2}|2(?:[0-4]\d|5[0-5]))(?:\.(?:[01]?\d{1,2}|2(?:[0-4]\d|5[0-5]))){3})(?:([\\\-])((?:[01]?\d{1,2}|2(?:[0-4]\d|5[0-5]))(?:\.(?:[01]?\d{1,2}|2(?:[0-4]\d|5[0-5]))){3})|\\(0))$/; UTM_REGEX_VIEW.URL_LOG_REMISSION_IP = /remission-ip\s*(\S+)?\s*:\s*(.+)$/i; UTM_REGEX_VIEW.URL_LOG_MERGEE_NABLE = /undo\s*http-access\s*(log-merge)\s*enable/; UTM_REGEX_VIEW.URL_LOG_EXTENTION_LIST = /^(?:\:\s(\d+))|(No\sExtension)|(\w+)$/gm; UTM_REGEX_VIEW.URL_LOG_NO_EXTENTION = /No\sExtension/i; UTM_REGEX_VIEW.URL_LOG_EXTENTION = /^[a-zA-Z\d_]+$/; UTM_REGEX_VIEW.URL_BLACK_WHITE_LIST = /(\d+)\s*(\S+)\s*(\d+)\s*(.*)\s*$/; UTM_REGEX_VIEW.URL_4_REGEX = /^\s*\S.{2,}\S\s*$/; UTM_REGEX_VIEW.URL_PRE_REGEX = /\s*(http[s]?\:\/\/)?(.*)/; UTM_REGEX_VIEW.URL_USERCATEGORY_UC = /^uc:/i; UTM_REGEX_VIEW.URL_BLACK_WHITE_LIST_EXISTS = function(pattern, url) { return new RegExp('\\r\\n\\d+\\s+'+pattern+'.*'+url+'\\r\\n'); } var URL_REGEX_VIEW = function() { } URL_REGEX_VIEW.URL_PRECATEGORY_DISPLAY = new Array( ['\r\n'], [/(\d+)\s*\"(.*)\s*\"\s*(?:(\d+)\s+)?(\d+)\s+(.*)/]); URL_REGEX_VIEW.URL_PRECATEGORY_SERVERDOMAIN = /Security server\s*:\s*(.*)/i; URL_REGEX_VIEW.URL_PRECATEGORY_SERVERIP = /Address\s*:\s*([\w.]*)/i; URL_REGEX_VIEW.URL_PRECATEGORY_SERVERPORT = /Port\s*:\s*(\d*)/i; URL_REGEX_VIEW.URL_PRECATEGORY_SERVERSTATE = /URL Filter Connection State\s*:\s*(\d+)/; URL_REGEX_VIEW.URL_PRECATEGORY_SERVERFAILT = /fail\s*action\s*:\s*(\w*)/i; URL_REGEX_VIEW.URL_USERCATEGORY_URL_GRID = new Array( ['\r\n'], [/(\S+)\s+(\d+)\s+(.+\S)?\s*$/]); URL_REGEX_VIEW.URL_POLICY_GRID = new Array( ['\r\n'], [/^\s*\"\s*(.*)\s+\"(\d+)\s+(.*\S)?\s*$/]); URL_REGEX_VIEW.URL_POLICY_CATEGORY_GRID = new Array( ['\r\n'], [/(\d*)\s*(\S*)\s*(permit|deny)/i]); URL_REGEX_VIEW.URL_POLICY_BLACKLIST = /Blacklist\s*:\s*(\w*)/i; URL_REGEX_VIEW.URL_POLICY_WHITELIST = /Whitelist\s*:\s*(\w*)/i; URL_REGEX_VIEW.URL_POLICY_SEMISSION = /Remission-IP\s*:\s*(\w*)/i; URL_REGEX_VIEW.URL_POLICY_PRE_DEFINED = /Pre-defined.*:\s*(\w*)/i; URL_REGEX_VIEW.URL_POLICY_USER_DEFINED = /User-defined.*:\s*(\w*)/i; URL_REGEX_VIEW.URL_POLICY_FOR_FIREWALL = new Array( ['\r\n'], [/\"(\S+)\s*\"/]); var FRAGMENTCACHE_REGEX = function() {} FRAGMENTCACHE_REGEX.FRAGMENT_CACHE = /undo\s*firewall\s*fragment-cache\s*(enable)/; FRAGMENTCACHE_REGEX.AGINGTIME = /firewall\s*fragment-cache\s*aging-time\s*(\d+)/; FRAGMENTCACHE_REGEX.FRAGMENT_FORWARD = /firewall\s*fragment-forward\s*(enable)/; FRAGMENTCACHE_REGEX.FRAGMENT_REASSEMBLE = /fragment-reassemble\s*overflow-policy\s*(forward)/; FRAGMENTCACHE_REGEX.STREAM_REASSEMBLE = /stream-reassemble\s*overflow-policy\s*(forward)/;