|
@@ -2960,9 +2960,11 @@ function openAddFilterModal() {
|
|
|
populateInterfaceSelect('fw-val-outiface');
|
|
populateInterfaceSelect('fw-val-outiface');
|
|
|
populateAddressListSelect('fw-val-srclist');
|
|
populateAddressListSelect('fw-val-srclist');
|
|
|
populateAddressListSelect('fw-val-dstlist');
|
|
populateAddressListSelect('fw-val-dstlist');
|
|
|
|
|
+ populateGeoIPSelect('fw-val-srcgeo');
|
|
|
|
|
+ populateGeoIPSelect('fw-val-dstgeo');
|
|
|
|
|
|
|
|
const allFieldKeys = [
|
|
const allFieldKeys = [
|
|
|
- 'src', 'dst', 'srclist', 'dstlist', 'proto', 'sport', 'dport', 'anyport',
|
|
|
|
|
|
|
+ 'src', 'dst', 'srclist', 'dstlist', 'srcgeo', 'dstgeo', 'proto', 'sport', 'dport', 'anyport',
|
|
|
'iniface', 'outiface', 'inifacelist', 'outifacelist', 'pktmark', 'connmark',
|
|
'iniface', 'outiface', 'inifacelist', 'outifacelist', 'pktmark', 'connmark',
|
|
|
'routingmark', 'conntype', 'cs', 'natstate',
|
|
'routingmark', 'conntype', 'cs', 'natstate',
|
|
|
'layer7', 'content', 'connbytes', 'connrate', 'pcc', 'srcmac',
|
|
'layer7', 'content', 'connbytes', 'connrate', 'pcc', 'srcmac',
|
|
@@ -2998,11 +3000,15 @@ function openEditFilterModal(id) {
|
|
|
populateInterfaceSelect('fw-val-outiface', (r.out_interface || '').replace(/^!/, ''));
|
|
populateInterfaceSelect('fw-val-outiface', (r.out_interface || '').replace(/^!/, ''));
|
|
|
populateAddressListSelect('fw-val-srclist', (r.src_address_list || '').replace(/^!/, ''));
|
|
populateAddressListSelect('fw-val-srclist', (r.src_address_list || '').replace(/^!/, ''));
|
|
|
populateAddressListSelect('fw-val-dstlist', (r.dst_address_list || '').replace(/^!/, ''));
|
|
populateAddressListSelect('fw-val-dstlist', (r.dst_address_list || '').replace(/^!/, ''));
|
|
|
|
|
+ populateGeoIPSelect('fw-val-srcgeo', r.src_geoip || '');
|
|
|
|
|
+ populateGeoIPSelect('fw-val-dstgeo', r.dst_geoip || '');
|
|
|
|
|
|
|
|
setFwFieldVal('src', r.src_address, true);
|
|
setFwFieldVal('src', r.src_address, true);
|
|
|
setFwFieldVal('dst', r.dst_address, true);
|
|
setFwFieldVal('dst', r.dst_address, true);
|
|
|
setFwFieldVal('srclist', r.src_address_list, true);
|
|
setFwFieldVal('srclist', r.src_address_list, true);
|
|
|
setFwFieldVal('dstlist', r.dst_address_list, true);
|
|
setFwFieldVal('dstlist', r.dst_address_list, true);
|
|
|
|
|
+ setFwFieldVal('srcgeo', r.src_geoip, true);
|
|
|
|
|
+ setFwFieldVal('dstgeo', r.dst_geoip, true);
|
|
|
if (r.protocol && r.protocol !== 'all') {
|
|
if (r.protocol && r.protocol !== 'all') {
|
|
|
setFwFieldVal('proto', r.protocol, true);
|
|
setFwFieldVal('proto', r.protocol, true);
|
|
|
} else {
|
|
} else {
|
|
@@ -3208,6 +3214,8 @@ async function applyFilterRule(closeAfter = false) {
|
|
|
const dst = getFwFieldVal('dst', true);
|
|
const dst = getFwFieldVal('dst', true);
|
|
|
const srclist = getFwFieldVal('srclist', true);
|
|
const srclist = getFwFieldVal('srclist', true);
|
|
|
const dstlist = getFwFieldVal('dstlist', true);
|
|
const dstlist = getFwFieldVal('dstlist', true);
|
|
|
|
|
+ const srcgeo = getFwFieldVal('srcgeo', true);
|
|
|
|
|
+ const dstgeo = getFwFieldVal('dstgeo', true);
|
|
|
const proto = getFwFieldVal('proto', true);
|
|
const proto = getFwFieldVal('proto', true);
|
|
|
const sport = getFwFieldVal('sport', true);
|
|
const sport = getFwFieldVal('sport', true);
|
|
|
const dport = getFwFieldVal('dport', true);
|
|
const dport = getFwFieldVal('dport', true);
|
|
@@ -3260,6 +3268,8 @@ async function applyFilterRule(closeAfter = false) {
|
|
|
connection_nat_state: natStates,
|
|
connection_nat_state: natStates,
|
|
|
src_address_list: srclist,
|
|
src_address_list: srclist,
|
|
|
dst_address_list: dstlist,
|
|
dst_address_list: dstlist,
|
|
|
|
|
+ src_geoip: srcgeo,
|
|
|
|
|
+ dst_geoip: dstgeo,
|
|
|
comment,
|
|
comment,
|
|
|
disabled: !enabled,
|
|
disabled: !enabled,
|
|
|
|
|
|
|
@@ -3730,9 +3740,11 @@ function openAddNATModal() {
|
|
|
populateInterfaceSelect('nat-val-outiface');
|
|
populateInterfaceSelect('nat-val-outiface');
|
|
|
populateAddressListSelect('nat-val-srclist');
|
|
populateAddressListSelect('nat-val-srclist');
|
|
|
populateAddressListSelect('nat-val-dstlist');
|
|
populateAddressListSelect('nat-val-dstlist');
|
|
|
|
|
+ populateGeoIPSelect('nat-val-srcgeo');
|
|
|
|
|
+ populateGeoIPSelect('nat-val-dstgeo');
|
|
|
|
|
|
|
|
const allFieldKeys = [
|
|
const allFieldKeys = [
|
|
|
- 'src', 'dst', 'srclist', 'dstlist', 'proto', 'sport', 'dport', 'anyport',
|
|
|
|
|
|
|
+ 'src', 'dst', 'srclist', 'dstlist', 'srcgeo', 'dstgeo', 'proto', 'sport', 'dport', 'anyport',
|
|
|
'iniface', 'outiface', 'inifacelist', 'outifacelist', 'pktmark', 'connmark',
|
|
'iniface', 'outiface', 'inifacelist', 'outifacelist', 'pktmark', 'connmark',
|
|
|
'routingmark', 'conntype',
|
|
'routingmark', 'conntype',
|
|
|
'layer7', 'content', 'connbytes', 'connrate', 'pcc', 'srcmac',
|
|
'layer7', 'content', 'connbytes', 'connrate', 'pcc', 'srcmac',
|
|
@@ -3770,11 +3782,15 @@ function openEditNATModal(id) {
|
|
|
populateInterfaceSelect('nat-val-outiface', (r.out_interface || '').replace(/^!/, ''));
|
|
populateInterfaceSelect('nat-val-outiface', (r.out_interface || '').replace(/^!/, ''));
|
|
|
populateAddressListSelect('nat-val-srclist', (r.src_address_list || '').replace(/^!/, ''));
|
|
populateAddressListSelect('nat-val-srclist', (r.src_address_list || '').replace(/^!/, ''));
|
|
|
populateAddressListSelect('nat-val-dstlist', (r.dst_address_list || '').replace(/^!/, ''));
|
|
populateAddressListSelect('nat-val-dstlist', (r.dst_address_list || '').replace(/^!/, ''));
|
|
|
|
|
+ populateGeoIPSelect('nat-val-srcgeo', r.src_geoip || '');
|
|
|
|
|
+ populateGeoIPSelect('nat-val-dstgeo', r.dst_geoip || '');
|
|
|
|
|
|
|
|
setNATFieldVal('src', r.src_address, true);
|
|
setNATFieldVal('src', r.src_address, true);
|
|
|
setNATFieldVal('dst', r.dst_address, true);
|
|
setNATFieldVal('dst', r.dst_address, true);
|
|
|
setNATFieldVal('srclist', r.src_address_list, true);
|
|
setNATFieldVal('srclist', r.src_address_list, true);
|
|
|
setNATFieldVal('dstlist', r.dst_address_list, true);
|
|
setNATFieldVal('dstlist', r.dst_address_list, true);
|
|
|
|
|
+ setNATFieldVal('srcgeo', r.src_geoip, true);
|
|
|
|
|
+ setNATFieldVal('dstgeo', r.dst_geoip, true);
|
|
|
if (r.protocol && r.protocol !== 'all') {
|
|
if (r.protocol && r.protocol !== 'all') {
|
|
|
setNATFieldVal('proto', r.protocol, true);
|
|
setNATFieldVal('proto', r.protocol, true);
|
|
|
} else {
|
|
} else {
|
|
@@ -3907,6 +3923,8 @@ async function applyNATRule(closeAfter = false) {
|
|
|
const dst = getNATFieldVal('dst', true);
|
|
const dst = getNATFieldVal('dst', true);
|
|
|
const srclist = getNATFieldVal('srclist', true);
|
|
const srclist = getNATFieldVal('srclist', true);
|
|
|
const dstlist = getNATFieldVal('dstlist', true);
|
|
const dstlist = getNATFieldVal('dstlist', true);
|
|
|
|
|
+ const srcgeo = getNATFieldVal('srcgeo', true);
|
|
|
|
|
+ const dstgeo = getNATFieldVal('dstgeo', true);
|
|
|
const proto = getNATFieldVal('proto', true);
|
|
const proto = getNATFieldVal('proto', true);
|
|
|
const sport = getNATFieldVal('sport', true);
|
|
const sport = getNATFieldVal('sport', true);
|
|
|
const dport = getNATFieldVal('dport', true);
|
|
const dport = getNATFieldVal('dport', true);
|
|
@@ -3945,6 +3963,8 @@ async function applyNATRule(closeAfter = false) {
|
|
|
connection_type: conntype,
|
|
connection_type: conntype,
|
|
|
src_address_list: srclist,
|
|
src_address_list: srclist,
|
|
|
dst_address_list: dstlist,
|
|
dst_address_list: dstlist,
|
|
|
|
|
+ src_geoip: srcgeo,
|
|
|
|
|
+ dst_geoip: dstgeo,
|
|
|
comment,
|
|
comment,
|
|
|
disabled: !enabled,
|
|
disabled: !enabled,
|
|
|
|
|
|
|
@@ -4356,7 +4376,7 @@ function toggleMangleLogPrefix() {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
const allMangleFieldKeys = [
|
|
const allMangleFieldKeys = [
|
|
|
- 'src', 'dst', 'srclist', 'dstlist', 'proto', 'sport', 'dport', 'anyport',
|
|
|
|
|
|
|
+ 'src', 'dst', 'srclist', 'dstlist', 'srcgeo', 'dstgeo', 'proto', 'sport', 'dport', 'anyport',
|
|
|
'iniface', 'outiface', 'inifacelist', 'outifacelist', 'pktmark', 'connmark',
|
|
'iniface', 'outiface', 'inifacelist', 'outifacelist', 'pktmark', 'connmark',
|
|
|
'routingmark', 'conntype', 'cs', 'natstate',
|
|
'routingmark', 'conntype', 'cs', 'natstate',
|
|
|
'layer7', 'content', 'connbytes', 'connrate', 'pcc', 'srcmac',
|
|
'layer7', 'content', 'connbytes', 'connrate', 'pcc', 'srcmac',
|
|
@@ -4396,6 +4416,8 @@ function openAddMangleModal() {
|
|
|
populateInterfaceSelect('mangle-val-outiface');
|
|
populateInterfaceSelect('mangle-val-outiface');
|
|
|
populateAddressListSelect('mangle-val-srclist');
|
|
populateAddressListSelect('mangle-val-srclist');
|
|
|
populateAddressListSelect('mangle-val-dstlist');
|
|
populateAddressListSelect('mangle-val-dstlist');
|
|
|
|
|
+ populateGeoIPSelect('mangle-val-srcgeo');
|
|
|
|
|
+ populateGeoIPSelect('mangle-val-dstgeo');
|
|
|
|
|
|
|
|
allMangleFieldKeys.forEach(k => toggleMangleField(k, false));
|
|
allMangleFieldKeys.forEach(k => toggleMangleField(k, false));
|
|
|
|
|
|
|
@@ -4438,11 +4460,15 @@ function openEditMangleModal(id) {
|
|
|
populateInterfaceSelect('mangle-val-outiface', (r.out_interface || '').replace(/^!/, ''));
|
|
populateInterfaceSelect('mangle-val-outiface', (r.out_interface || '').replace(/^!/, ''));
|
|
|
populateAddressListSelect('mangle-val-srclist', (r.src_address_list || '').replace(/^!/, ''));
|
|
populateAddressListSelect('mangle-val-srclist', (r.src_address_list || '').replace(/^!/, ''));
|
|
|
populateAddressListSelect('mangle-val-dstlist', (r.dst_address_list || '').replace(/^!/, ''));
|
|
populateAddressListSelect('mangle-val-dstlist', (r.dst_address_list || '').replace(/^!/, ''));
|
|
|
|
|
+ populateGeoIPSelect('mangle-val-srcgeo', r.src_geoip || '');
|
|
|
|
|
+ populateGeoIPSelect('mangle-val-dstgeo', r.dst_geoip || '');
|
|
|
|
|
|
|
|
setMangleFieldVal('src', r.src_address, true);
|
|
setMangleFieldVal('src', r.src_address, true);
|
|
|
setMangleFieldVal('dst', r.dst_address, true);
|
|
setMangleFieldVal('dst', r.dst_address, true);
|
|
|
setMangleFieldVal('srclist', r.src_address_list, true);
|
|
setMangleFieldVal('srclist', r.src_address_list, true);
|
|
|
setMangleFieldVal('dstlist', r.dst_address_list, true);
|
|
setMangleFieldVal('dstlist', r.dst_address_list, true);
|
|
|
|
|
+ setMangleFieldVal('srcgeo', r.src_geoip, true);
|
|
|
|
|
+ setMangleFieldVal('dstgeo', r.dst_geoip, true);
|
|
|
if (r.protocol && r.protocol !== 'all') {
|
|
if (r.protocol && r.protocol !== 'all') {
|
|
|
setMangleFieldVal('proto', r.protocol, true);
|
|
setMangleFieldVal('proto', r.protocol, true);
|
|
|
} else {
|
|
} else {
|
|
@@ -4598,6 +4624,8 @@ async function applyMangleRule(closeAfter = false) {
|
|
|
const dst = getMangleFieldVal('dst', true);
|
|
const dst = getMangleFieldVal('dst', true);
|
|
|
const srclist = getMangleFieldVal('srclist', true);
|
|
const srclist = getMangleFieldVal('srclist', true);
|
|
|
const dstlist = getMangleFieldVal('dstlist', true);
|
|
const dstlist = getMangleFieldVal('dstlist', true);
|
|
|
|
|
+ const srcgeo = getMangleFieldVal('srcgeo', true);
|
|
|
|
|
+ const dstgeo = getMangleFieldVal('dstgeo', true);
|
|
|
const proto = getMangleFieldVal('proto', true);
|
|
const proto = getMangleFieldVal('proto', true);
|
|
|
const sport = getMangleFieldVal('sport', true);
|
|
const sport = getMangleFieldVal('sport', true);
|
|
|
const dport = getMangleFieldVal('dport', true);
|
|
const dport = getMangleFieldVal('dport', true);
|
|
@@ -4649,6 +4677,8 @@ async function applyMangleRule(closeAfter = false) {
|
|
|
connection_nat_state: natStates,
|
|
connection_nat_state: natStates,
|
|
|
src_address_list: srclist,
|
|
src_address_list: srclist,
|
|
|
dst_address_list: dstlist,
|
|
dst_address_list: dstlist,
|
|
|
|
|
+ src_geoip: srcgeo,
|
|
|
|
|
+ dst_geoip: dstgeo,
|
|
|
comment,
|
|
comment,
|
|
|
disabled: !enabled,
|
|
disabled: !enabled,
|
|
|
|
|
|