diff options
| author | root <root@new-fish.medaka.james.internal> | 2023-09-12 13:46:41 +0100 | 
|---|---|---|
| committer | root <root@new-fish.medaka.james.internal> | 2023-09-12 13:46:41 +0100 | 
| commit | 4a0674cf55a8e2a76da1f88cce520acc3098774b (patch) | |
| tree | b7a1a107c44c4eb32b3cc4eb6655696c8817cca7 /INF | |
| parent | e4e0298d7abaa8203a5876abb0ea7989150336df (diff) | |
| download | inf-master.tar.gz inf-master.tar.bz2 inf-master.zip | |
Diffstat (limited to 'INF')
| -rw-r--r-- | INF/SuperMicro.pm | 21 | 
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, | 
