#!/usr/bin/perl -w
sub
trim
{
my
$str
=
shift
;
$str
=~ s/[\r\n]+$//;
$str
=~ s/^\s*//;
$str
=~ s/\s*$//;
return
$str
;
}
sub
Prompt
{
my
(
$prompt
,
$def
) =
@_
;
$def
=
""
unless
defined
$def
;
chomp
(
$prompt
);
prompt(
$prompt
,
$def
);
}
WriteMakefile(
NAME
=>
'Net::MirapointAdmin'
,
VERSION_FROM
=>
'lib/Net/MirapointAdmin.pm'
,
( $[ >= 5.005) ?
(
AUTHOR
=>
'Adrian Hall (ahall@mirapoint.com)'
,
ABSTRACT
=>
'Modules to handle the Mirapoint Administration Protocol'
,
) : (),
PREREQ_PM
=> {
'IO::Socket'
=> 0 },
SIGN
=> 0,
clean
=> {
FILES
=>
".config"
},
);
print
<<_EOF;
Testing requires access to a Mirapoint host on port 10143 (and 10243 if you
are testing SSL connectivity).
_EOF
my
(
$enable
,
$host
,
$user
,
$pass
,
$ssl
);
do
{
$enable
= Prompt(
"Do you wish to enable live testing?"
,
"y"
);
$enable
=
lc
(
$enable
);
}
while
(
$enable
ne
"y"
&&
$enable
ne
"n"
);
if
(
$enable
eq
"n"
) {
open
(F,
">.config"
) ||
die
"Cannot write to .config: $^E\n"
;
print
F
"disabled\n"
;
close
(F);
goto
SKIP_ALL;
}
do
{
$host
= Prompt(
"Mirapoint host name?"
,
"testmail"
);
$host
=
lc
(
$host
);
}
while
(
length
(
$host
) == 0 ||
length
(
$host
) > 255);
do
{
$user
= Prompt(
"Enter Administrative Login"
,
"Administrator"
);
}
while
(
length
(
$user
) == 0 ||
length
(
$user
) > 64);
do
{
$pass
= Prompt(
"Enter $user password"
,
""
);
}
while
(
length
(
$pass
) == 0 ||
length
(
$pass
) > 64);
(
$pass
= encode_base64(
$pass
)) =~ s/[\r\n]+$//;
do
{
$ssl
= Prompt(
"Do you wish to enable SSL tests?"
,
"y"
);
$ssl
=
lc
(
$ssl
);
}
while
(
$ssl
ne
"y"
&&
$ssl
ne
"n"
);
open
(F,
">.config"
) ||
die
"Cannot open .config: $!\n"
;
print
F
<<_EOF;
enabled
$host
$user
$pass
$ssl
_EOF
close
(F);
SKIP_ALL:
exit
0;