summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INF/SuperMicro.pm21
1 files changed, 14 insertions, 7 deletions
diff --git a/INF/SuperMicro.pm b/INF/SuperMicro.pm
index 121d36a..151735d 100644
--- a/INF/SuperMicro.pm
+++ b/INF/SuperMicro.pm
@@ -21,6 +21,7 @@ sub login($) {
my $self = shift;
my $post = POST( $self->{bmc_url} . '/cgi/login.cgi' );
+ $post->header( 'Referer' => $self->{bmc_url}.'/');
my $form_content =
'name=' . $self->{user} . '&' . 'pwd=' . $self->{password};
@@ -55,11 +56,14 @@ sub view($) {
$self->login() unless defined $self->{logged_in};
- my $get = GET( $self->{bmc_url}
- . '/cgi/url_redirect.cgi?url_name=ikvm&url_type=jwsk' );
+ my $get = GET( $self->{bmc_url} . '/cgi/url_redirect.cgi?url_name=ikvm&url_type=jwsk' );
+ $get->header( 'Referer' => $self->{bmc_url}.'/');
+
my $res = $self->{ua}->request($get);
+ print $res->request->as_string;
+
unless ( $res->is_success ) {
print STDERR "JWSK frequest failed - did not get 200\n";
return -1;
@@ -89,17 +93,18 @@ sub view($) {
if ( -d $prefix . $v ) {
printf "Known version\n";
- $prefix .= $v . '/';
}
elsif ( scalar(@$args) == 8 ) {
printf "Unknow version $v, 8 args using 1.69.21\n";
- $prefix .= '1.69.21.0x0/';
+ $v = '1.69.21.0x0';
}
else {
printf "Unknow version $v, 10 args using 1.69.25\n";
- $prefix .= '1.69.25.0x0/';
+ $v = '1.69.21.0x0';
}
+ $prefix .= $v . '/';
+
if ( defined $self->{proxy_host} ) {
my $tmp = File::Temp->new( UNLINK => 0, SUFFIX => '.cnf' );
@@ -134,6 +139,7 @@ sub get_host_power($) {
$self->login() unless defined $self->{logged_in};
my $post = POST( $self->{bmc_url} . '/cgi/ipmi.cgi' );
+ $post->header( 'Referer' => $self->{bmc_url}.'/');
my $form_content = 'op=POWER_INFO.XML&r=(0%2C0)';
$post->header( 'Content-Type' => 'application/x-www-form-urlencoded' );
@@ -168,6 +174,7 @@ sub set_host_power($$) {
$self->login() unless defined $self->{logged_in};
my $post = POST( $self->{bmc_url} . '/cgi/ipmi.cgi' );
+ $post->header( 'Referer' => $self->{bmc_url}.'/');
my $form_content = 'op=POWER_INFO.XML&r=(1%2C' . $what . ')';
$post->header( 'Content-Type' => 'application/x-www-form-urlencoded' );
@@ -265,7 +272,7 @@ sub new ($;$) {
my ( $class, $parm ) = @_;
my $self;
- $self->{ua} = my $ua = LWP::UserAgent->new;
+ $self->{ua} = my $ua = LWP::UserAgent->new(agent => 'Mozilla/5.0 (X11; Linux x86_64; rv:107.0) Gecko/20100101 Firefox/107.0');
$self->{cookie_jar} = HTTP::Cookies->new();
$self->{ua}->cookie_jar( $self->{cookie_jar} );
@@ -277,7 +284,7 @@ sub new ($;$) {
$self->{name} = $parm->{name} || $self->{host};
$self->{bmc_url} = $parm->{bmc_url}
- || 'https://' . $self->{host};
+ || 'http://' . $self->{host};
$self->{ua}->ssl_opts(
SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,