update
This commit is contained in:
parent
d744cb3794
commit
ea07dabc3e
|
|
@ -60,7 +60,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
|
||||
$network_primary_ip = $get('network_primary_ip');
|
||||
$network_primary_gateway = $get('network_primary_gateway');
|
||||
$network_primary_gateway = $get('network_primary_gateway');
|
||||
$network_primary_vlan = $get('network_primary_vlan');
|
||||
$network_primary_dns1 = $get('network_primary_dns1');
|
||||
$network_primary_dns2 = $get('network_primary_dns2');
|
||||
|
|
@ -84,40 +83,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
$network_secondary_ipv6_dns1 = $get('network_secondary_ipv6_dns1');
|
||||
$network_secondary_ipv6_dns2 = $get('network_secondary_ipv6_dns2');
|
||||
|
||||
$validate_ip_or_cidr = function ($v) {
|
||||
if ($v === '') return true;
|
||||
if (strpos($v, '/') !== false) {
|
||||
[$ip, $cidr] = explode('/', $v, 2);
|
||||
return filter_var($ip, FILTER_VALIDATE_IP) !== false && ctype_digit($cidr) && (int)$cidr >= 0 && (int)$cidr <= 32;
|
||||
}
|
||||
return filter_var($v, FILTER_VALIDATE_IP) !== false;
|
||||
};
|
||||
|
||||
foreach (
|
||||
[
|
||||
['field' => 'Primary IP', 'value' => $primary_ip],
|
||||
['field' => 'Primary Subnet', 'value' => $primary_subnet],
|
||||
['field' => 'Primary Gateway', 'value' => $primary_gateway],
|
||||
['field' => 'Secondary IP', 'value' => $secondary_ip],
|
||||
['field' => 'Secondary Subnet', 'value' => $secondary_subnet],
|
||||
['field' => 'Secondary Gateway', 'value' => $secondary_gateway],
|
||||
] as $f
|
||||
) {
|
||||
if ($f['value'] !== '') {
|
||||
$ok = $f['field'] === 'Primary Subnet' || $f['field'] === 'Secondary Subnet'
|
||||
? $validate_ip_or_cidr($f['value'])
|
||||
: filter_var($f['value'], FILTER_VALIDATE_IP) !== false;
|
||||
if (!$ok) $errors[] = $f['field'] . ' is invalid: ' . htmlspecialchars($f['value']);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ([['Primary VLAN', $primary_vlan], ['Secondary VLAN', $secondary_vlan]] as $v) {
|
||||
if ($v[1] !== '' && (!ctype_digit($v[1]) || (int)$v[1] < 0 || (int)$v[1] > 4094)) {
|
||||
$errors[] = $v[0] . ' must be a number 0-4094';
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($errors)) {
|
||||
$new = [
|
||||
'primary' => [
|
||||
'mode' => 'dhcp',
|
||||
|
|
@ -168,7 +133,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
]
|
||||
];
|
||||
|
||||
/* ---------- helper to build IPv4/IPv6 ---------- */
|
||||
function build_interface(array $d, string $key): array
|
||||
{
|
||||
$cfg = [];
|
||||
|
|
@ -280,8 +244,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||
$yaml = netplan_yaml($netplan);
|
||||
file_put_contents('/var/www/50-cloud-init.yaml', $yaml);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<form method="POST" novalidate>
|
||||
|
|
|
|||
Loading…
Reference in New Issue