I have an application that runs on multiple platforms (windows, linux, solaris, aix, hpux). and uses SFTP to send files to our host server.
I needed a 64bit windows version, but the underlying libs for SFTP are not ported to 64bit windows (math::Pari, etc)..
so I rewrote the function to use SFTP:Foreign and use SSH2.
all works ok so far.. today I received a trouble report, the ftp send fails, leaving a 0 length file on the server.
I am trying to figure out how to debug this..
use Net::SSH2;
use Net::SFTP::Foreign;
my $ssh2 = Net::SSH2->new();
$ssh2->debug($debugFlag eq $true ? 1:0);
$ssh2->connect($ftpSecureServer)
or die "Connect failed!\n";
$ssh2->auth_password($ftpUser, $ftpPW)
or die "password auth failed\n";
$ftp = Net::SFTP::Foreign->new(ssh2 => $ssh2,
backend => 'Net_SSH2');
from this
$ftp = Net::SFTP::Foreign->
new(host => $ftpSecureServer,
backend => 'Net_SSH2',
user => $ftpUser,
password => $ftpPW);
both use this code to actually send
$ftp->put( $zipFileName, $ftpDir."/" . $newname );
if ( !$@ )
{
printl("Transmission complete..\n");
$rc = $true;
}
else
{
printl("file $zipFileName upload failed, try later\n");
}
the 32 SFTP version does
$ftp->put( $zipFileName, $newname );
if ( !$error )
{
# etc
setting SSH2 debug gets me the gory details, but nothing really useful
libssh2_channel_open_ex(ss->session, pv_channel_type, len_channel_type
+, window_s
ize, packet_size, ((void *)0) , 0 ) -> 0x47dc418
Net::SSH2::Channel::read(size = 4, ext = 0)
- read 4 bytes
- read 4 total
Net::SSH2::Channel::read(size = 5, ext = 0)
- read 5 bytes
- read 5 total
anyone have any suggestions?
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.