mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
41 lines
1.2 KiB
Perl
Executable File
41 lines
1.2 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Actually add a connection
|
|
|
|
use strict;
|
|
use warnings;
|
|
no warnings 'redefine';
|
|
no warnings 'uninitialized';
|
|
require './iscsi-client-lib.pl';
|
|
our (%text, %in);
|
|
&ReadParse();
|
|
&error_setup($text{'add_err'});
|
|
|
|
# Re-check the list of targets
|
|
my $targets = &list_iscsi_targets($in{'host'}, $in{'port'}, $in{'iface'});
|
|
ref($targets) || &error(&text('add_etargets', $in{'host'}, $targets));
|
|
my $target = undef;
|
|
if ($in{'target'}) {
|
|
($target) = grep { $_->{'name'}.":".$_->{'target'} eq $in{'target'} }
|
|
@$targets;
|
|
$target || &error(&text('add_etarget', $in{'target'}));
|
|
}
|
|
|
|
# Validate username and password
|
|
my @auth;
|
|
if (!$in{'auth_def'}) {
|
|
$in{'authuser'} =~ /\S/ || &error($text{'auth_eusername'});
|
|
$in{'authpass'} =~ /\S/ || &error($text{'auth_epassword'});
|
|
@auth = ( $in{'authmethod'}, $in{'authuser'}, $in{'authpass'} );
|
|
}
|
|
|
|
# Try to make the connection
|
|
my $err = &create_iscsi_connection($in{'host'}, $in{'port'},
|
|
$in{'iface'}, $target, @auth);
|
|
&error($err) if ($err);
|
|
|
|
&webmin_log("add", "connection", $in{'host'},
|
|
{ 'host' => $in{'host'},
|
|
'port' => $in{'port'},
|
|
'target' => $target->{'target'} });
|
|
&redirect("list_conns.cgi");
|