コード例 #1
0
 if (isset($a_filter[$id]['ipprotocol'])) {
     $pconfig['ipprotocol'] = $a_filter[$id]['ipprotocol'];
 }
 if (isset($a_filter[$id]['protocol'])) {
     $pconfig['proto'] = $a_filter[$id]['protocol'];
 } else {
     $pconfig['proto'] = "any";
 }
 if ($a_filter[$id]['protocol'] == "icmp") {
     $pconfig['icmptype'] = $a_filter[$id]['icmptype'];
 }
 address_to_pconfig($a_filter[$id]['source'], $pconfig['src'], $pconfig['srcmask'], $pconfig['srcnot'], $pconfig['srcbeginport'], $pconfig['srcendport']);
 if ($a_filter[$id]['os'] != "") {
     $pconfig['os'] = $a_filter[$id]['os'];
 }
 address_to_pconfig($a_filter[$id]['destination'], $pconfig['dst'], $pconfig['dstmask'], $pconfig['dstnot'], $pconfig['dstbeginport'], $pconfig['dstendport']);
 if ($a_filter[$id]['dscp'] != "") {
     $pconfig['dscp'] = $a_filter[$id]['dscp'];
 }
 $pconfig['disabled'] = isset($a_filter[$id]['disabled']);
 $pconfig['log'] = isset($a_filter[$id]['log']);
 $pconfig['descr'] = $a_filter[$id]['descr'];
 if (isset($a_filter[$id]['tcpflags_any'])) {
     $pconfig['tcpflags_any'] = true;
 } else {
     if (isset($a_filter[$id]['tcpflags1']) && $a_filter[$id]['tcpflags1'] != "") {
         $pconfig['tcpflags1'] = $a_filter[$id]['tcpflags1'];
     }
     if (isset($a_filter[$id]['tcpflags2']) && $a_filter[$id]['tcpflags2'] != "") {
         $pconfig['tcpflags2'] = $a_filter[$id]['tcpflags2'];
     }
コード例 #2
0
    $after = $_GET['dup'];
}
if (isset($id) && $a_out[$id]) {
    if (isset($a_out[$id]['created']) && is_array($a_out[$id]['created'])) {
        $pconfig['created'] = $a_out[$id]['created'];
    }
    if (isset($a_out[$id]['updated']) && is_array($a_out[$id]['updated'])) {
        $pconfig['updated'] = $a_out[$id]['updated'];
    }
    $pconfig['protocol'] = $a_out[$id]['protocol'];
    list($pconfig['source'], $pconfig['source_subnet']) = explode('/', $a_out[$id]['source']['network']);
    if (!is_numeric($pconfig['source_subnet'])) {
        $pconfig['source_subnet'] = 32;
    }
    $pconfig['sourceport'] = $a_out[$id]['sourceport'];
    address_to_pconfig($a_out[$id]['destination'], $pconfig['destination'], $pconfig['destination_subnet'], $pconfig['destination_not'], $none, $none);
    $pconfig['dstport'] = $a_out[$id]['dstport'];
    $pconfig['natport'] = $a_out[$id]['natport'];
    $pconfig['target'] = $a_out[$id]['target'];
    $pconfig['targetip'] = $a_out[$id]['targetip'];
    $pconfig['targetip_subnet'] = $a_out[$id]['targetip_subnet'];
    $pconfig['poolopts'] = $a_out[$id]['poolopts'];
    $pconfig['interface'] = $a_out[$id]['interface'];
    if (!$pconfig['interface']) {
        $pconfig['interface'] = "wan";
    }
    $pconfig['descr'] = $a_out[$id]['descr'];
    $pconfig['nonat'] = $a_out[$id]['nonat'];
    $pconfig['disabled'] = isset($a_out[$id]['disabled']);
    $pconfig['staticnatport'] = isset($a_out[$id]['staticnatport']);
    $pconfig['nosync'] = isset($a_out[$id]['nosync']);
コード例 #3
0
        $configId = $_GET['id'];
        $id = $configId;
    }
    $pconfig = array();
    // set defaults
    $pconfig['interface'] = "wan";
    if (isset($configId)) {
        // copy 1-to-1 attributes
        foreach (array('disabled', 'interface', 'descr') as $fieldname) {
            if (isset($a_npt[$configId][$fieldname])) {
                $pconfig[$fieldname] = $a_npt[$configId][$fieldname];
            }
        }
        // load attributes with some kind of logic
        address_to_pconfig($a_npt[$configId]['source'], $pconfig['src'], $pconfig['srcmask'], $pconfig['srcnot'], $pconfig['__unused__'], $pconfig['__unused__']);
        address_to_pconfig($a_npt[$configId]['destination'], $pconfig['dst'], $pconfig['dstmask'], $pconfig['dstnot'], $pconfig['__unused__'], $pconfig['__unused__']);
    }
    // initialize empty form values
    foreach (array('disabled', 'interface', 'descr', 'src', 'srcmask', 'dst', 'dstmask', 'srcnot', 'dstnot') as $fieldname) {
        if (!isset($pconfig[$fieldname])) {
            $pconfig[$fieldname] = null;
        }
    }
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $input_errors = array();
    $pconfig = $_POST;
    if (isset($pconfig['id']) && isset($a_npt[$pconfig['id']])) {
        $id = $pconfig['id'];
    }
    if (isset($pconfig['after']) && isset($a_npt[$pconfig['after']])) {
        // place record after provided sequence number
コード例 #4
0
    // set defaults
    $pconfig['interface'] = "wan";
    $pconfig['src'] = 'lan';
    $pconfig['dst'] = 'any';
    if (isset($configId)) {
        // copy settings from config
        foreach (array('disabled', 'interface', 'external', 'descr', 'natreflection') as $fieldname) {
            if (isset($a_1to1[$id][$fieldname])) {
                $pconfig[$fieldname] = $a_1to1[$id][$fieldname];
            } else {
                $pconfig[$fieldname] = null;
            }
        }
        // read settings with some kind of logic
        address_to_pconfig($a_1to1[$id]['source'], $pconfig['src'], $pconfig['srcmask'], $pconfig['srcnot'], $pconfig['__unused__'], $pconfig['__unused__']);
        address_to_pconfig($a_1to1[$id]['destination'], $pconfig['dst'], $pconfig['dstmask'], $pconfig['dstnot'], $pconfig['__unused__'], $pconfig['__unused__']);
    } else {
        // init form data on new
        foreach (array('disabled', 'interface', 'external', 'descr', 'natreflection', 'src', 'srcmask', 'srcnot', 'dst', 'dstmask', 'dstnot') as $fieldname) {
            if (!isset($pconfig[$fieldname])) {
                $pconfig[$fieldname] = null;
            }
        }
    }
} elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $input_errors = array();
    $pconfig = $_POST;
    // input record id, if valid
    if (isset($_POST['id']) && isset($a_1to1[$_POST['id']])) {
        $id = $_POST['id'];
    }
コード例 #5
0
ファイル: firewall_nat_edit.php プロジェクト: Toudix/core
 }
 if (isset($_GET['after']) && (is_numericint($_GET['after']) || $_GET['after'] == "-1")) {
     $after = $_GET['after'];
 }
 if (isset($configId) && isset($a_nat[$configId])) {
     $pconfig = array();
     if (isset($a_nat[$configId]['created']) && is_array($a_nat[$configId]['created'])) {
         $pconfig['created'] = $a_nat[$configId]['created'];
     }
     if (isset($a_nat[$configId]['updated']) && is_array($a_nat[$configId]['updated'])) {
         $pconfig['updated'] = $a_nat[$configId]['updated'];
     }
     $pconfig['disabled'] = isset($a_nat[$configId]['disabled']);
     $pconfig['nordr'] = isset($a_nat[$configId]['nordr']);
     address_to_pconfig($a_nat[$configId]['source'], $pconfig['src'], $pconfig['srcmask'], $pconfig['srcnot'], $pconfig['srcbeginport'], $pconfig['srcendport']);
     address_to_pconfig($a_nat[$configId]['destination'], $pconfig['dst'], $pconfig['dstmask'], $pconfig['dstnot'], $pconfig['dstbeginport'], $pconfig['dstendport']);
     $pconfig['proto'] = $a_nat[$configId]['protocol'];
     $pconfig['localip'] = $a_nat[$configId]['target'];
     $pconfig['localbeginport'] = $a_nat[$configId]['local-port'];
     $pconfig['descr'] = $a_nat[$configId]['descr'];
     $pconfig['interface'] = $a_nat[$configId]['interface'];
     $pconfig['associated-rule-id'] = $a_nat[$configId]['associated-rule-id'];
     $pconfig['nosync'] = isset($a_nat[$configId]['nosync']);
     $pconfig['natreflection'] = $a_nat[$configId]['natreflection'];
     if (!$pconfig['interface']) {
         $pconfig['interface'] = "wan";
     }
 } else {
     if (isset($_GET['template']) && $_GET['template'] == 'transparant_proxy') {
         // new rule for transparant proxy reflection, to use as sample
         $pconfig['interface'] = "lan";