HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //usr/libexec/webmin/iscsi-client/add_iface.cgi
#!/usr/bin/perl
# Add a new network interface

use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
require './iscsi-client-lib.pl';
our (%text, %in);
&ReadParse();
&error_setup($text{'iadd_err'});

# Check for a clash
my $ifaces = &list_iscsi_ifaces();
ref($ifaces) || &error(&text('ifaces_elist', $ifaces));
my ($clash) = grep { $_->{'name'} eq $in{'name'} } @$ifaces;
$clash && &error(&text('iadd_eclash', $in{'name'}));

# Validate and store inputs
$in{'name'} =~ /^[a-z0-9\.\_\-]+$/ || &error($text{'iadd_ename'});
my $iface = { 'name' => $in{'name'} };
$iface->{'iface.transport_name'} = $in{'transport'};
if (!$in{'ipaddress_def'}) {
	&check_ipaddress($in{'ipaddress'}) ||
		&error($text{'iadd_eipaddress'});
	$iface->{'iface.ipaddress'} = $in{'ipaddress'};
	}
if (!$in{'hwaddress_def'}) {
	$in{'hwaddress'} =~ /^[A-Fa-f0-9:]+$/ ||
		&error($text{'iadd_ehwaddress'});
	$iface->{'iface.hwaddress'} = $in{'hwaddress'};
	}
if ($in{'ifacename'}) {
	$iface->{'iface.net_ifacename'} = $in{'ifacename'};
	}

# Create to add the interface
my $err = &create_iscsi_interface($iface);
&error($err) if ($err);

&webmin_log("add", "iface", $in{'name'}, $iface);
&redirect("list_ifaces.cgi");