More info:

Options tried for compile:

pp -l C:\WINNT\system32\libeay32.dll -l C:\WINNT\system32\ssleay32.dll -M Crypt::SSLeay cam_reset.pl -o cam_reset.exe

Including -M Crypt:SSLeay appears to make no difference. On machines where perl is not installed, Exe produces:

Server returned error: 501 Protocol scheme 'https' is not supported (Crypt::SSLeay not installed)

Including use Crypt::SSLeay; in source script exe produces:

Can't load 'C:\DOCUME~1\user\LOCALS~1\Temp\user\cache-956f4474c8469d5dc52a0b30e6e115813cf9edc8\b58c32ab.dll' for module Crypt::SSLeay: load_file:This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem at C:/strawberry/perl/lib/DynaLoader.pm line 203. at C:/strawberry/perl/site/lib/PAR/Heavy.pm line 82 Compilation failed in require at script/cam_reset.pl line 8. BEGIN failed--compilation aborted at script/cam_reset.pl line 8.

It appears that everything needed by the script gets loaded on the client (no perl installed) machine to C:\DOCUME~1\user\LOCALS~1\Temp\par-user, included dlls, SSL crypt, etc. Part of the script:
#!\C:\strawberry\perl\bin use strict; use HTTP::Request::Common qw(POST GET); use HTTP::Headers; use LWP::UserAgent; use MIME::Base64; use Crypt::SSLeay; # set up the stuff my $ua = LWP::UserAgent->new(); # Set our own user-agent string! $ua->agent("CCAAgent/v3.5.8 CleanAccessManager API"); # Set the Basic Authentication credentials my $encoded = encode_base64('user:pass'); my $url = "https://somehost/admin/cisco_api.jsp"; # Params required for the POST... if (($ARGV[0] eq 'addmac') and defined($ARGV[1])) { my $req = POST $url, 'Authorization' => "Basic ".$encoded, Content => [ admin => "user", passwd => "pass", op => "addmac", mac => "$ARGV[1]", user => "i-command", provider => "pxebuild", type => "userole", role => "Authorized_Asset", desc => "Reset via icmd" # no comma here! ]; # Fire the cannon now ! my $res = $ua->request($req); # Get the error back from the server if any my $err = $res->status_line; if ($err != 200) { print "Server returned error: $err\n"; exit 1; } # Just print the whole stuff #print $res->as_string; # Just print the return html print $res->content; exit 0;

In reply to Re^6: Strawberry perl and PAR by perlnewb123
in thread Strawberry perl and PAR by perlnewb123

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.