r41918 - in /branches/upstream/libnet-ssh2-perl/current: Changes META.yml Makefile.PL lib/Net/SSH2.pm

carnil-guest at users.alioth.debian.org carnil-guest at users.alioth.debian.org
Sat Aug 15 20:48:17 UTC 2009


Author: carnil-guest
Date: Sat Aug 15 20:48:12 2009
New Revision: 41918

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=41918
Log:
[svn-upgrade] Integrating new upstream version, libnet-ssh2-perl (0.22)

Modified:
    branches/upstream/libnet-ssh2-perl/current/Changes
    branches/upstream/libnet-ssh2-perl/current/META.yml
    branches/upstream/libnet-ssh2-perl/current/Makefile.PL
    branches/upstream/libnet-ssh2-perl/current/lib/Net/SSH2.pm

Modified: branches/upstream/libnet-ssh2-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libnet-ssh2-perl/current/Changes?rev=41918&op=diff
==============================================================================
--- branches/upstream/libnet-ssh2-perl/current/Changes (original)
+++ branches/upstream/libnet-ssh2-perl/current/Changes Sat Aug 15 20:48:12 2009
@@ -2,6 +2,10 @@
 
 Developer/maintainer: David B. Robins <dbrobins at cpan.org>.
 Project started 2005-10-23 in Redmond, Washington, USA.
+
+0.22  2009-08-15 11:10:03
+        - "or die" semantics for ->connect (in non-void context)
+        - Timeout option for ->connect
 
 0.21  2009-06-06 21:02:34
         - some fixes for Cygwin

Modified: branches/upstream/libnet-ssh2-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libnet-ssh2-perl/current/META.yml?rev=41918&op=diff
==============================================================================
--- branches/upstream/libnet-ssh2-perl/current/META.yml (original)
+++ branches/upstream/libnet-ssh2-perl/current/META.yml Sat Aug 15 20:48:12 2009
@@ -21,7 +21,7 @@
 provides:
   Net::SSH2:
     file: lib/Net/SSH2.pm
-    version: 0.21
+    version: 0.22
   Net::SSH2::Channel:
     file: lib/Net/SSH2/Channel.pm
   Net::SSH2::Dir:
@@ -38,4 +38,5 @@
   perl: 5.6.0
 resources:
   license: http://dev.perl.org/licenses/
-version: 0.21
+  repository: git://github.com/rkitover/net-ssh2.git
+version: 0.22

Modified: branches/upstream/libnet-ssh2-perl/current/Makefile.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libnet-ssh2-perl/current/Makefile.PL?rev=41918&op=diff
==============================================================================
--- branches/upstream/libnet-ssh2-perl/current/Makefile.PL (original)
+++ branches/upstream/libnet-ssh2-perl/current/Makefile.PL Sat Aug 15 20:48:12 2009
@@ -58,6 +58,10 @@
 inc "$inc -I.";
 realclean_files qw/const-c.inc const-xs.inc/;
 makemaker_args @define;
+
+resources repository =>
+    'git://github.com/rkitover/net-ssh2.git';
+
 WriteAll;
 
 if  (eval {require ExtUtils::Constant; 1}) {

Modified: branches/upstream/libnet-ssh2-perl/current/lib/Net/SSH2.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libnet-ssh2-perl/current/lib/Net/SSH2.pm?rev=41918&op=diff
==============================================================================
--- branches/upstream/libnet-ssh2-perl/current/lib/Net/SSH2.pm (original)
+++ branches/upstream/libnet-ssh2-perl/current/lib/Net/SSH2.pm Sat Aug 15 20:48:12 2009
@@ -17,155 +17,155 @@
 # constants
 
 my @EX_callback = qw(
-	LIBSSH2_CALLBACK_DEBUG
-	LIBSSH2_CALLBACK_DISCONNECT
-	LIBSSH2_CALLBACK_IGNORE
-	LIBSSH2_CALLBACK_MACERROR
-	LIBSSH2_CALLBACK_X11
+        LIBSSH2_CALLBACK_DEBUG
+        LIBSSH2_CALLBACK_DISCONNECT
+        LIBSSH2_CALLBACK_IGNORE
+        LIBSSH2_CALLBACK_MACERROR
+        LIBSSH2_CALLBACK_X11
 );
 
 my @EX_channel = qw(
-	LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE
-	LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE
-	LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL
+        LIBSSH2_CHANNEL_EXTENDED_DATA_IGNORE
+        LIBSSH2_CHANNEL_EXTENDED_DATA_MERGE
+        LIBSSH2_CHANNEL_EXTENDED_DATA_NORMAL
 );
 
 my @EX_error = qw(
-	LIBSSH2_ERROR_ALLOC
-	LIBSSH2_ERROR_BANNER_NONE
-	LIBSSH2_ERROR_BANNER_SEND
-	LIBSSH2_ERROR_CHANNEL_CLOSED
-	LIBSSH2_ERROR_CHANNEL_EOF_SENT
-	LIBSSH2_ERROR_CHANNEL_FAILURE
-	LIBSSH2_ERROR_CHANNEL_OUTOFORDER
-	LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED
-	LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED
-	LIBSSH2_ERROR_CHANNEL_UNKNOWN
-	LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED
-	LIBSSH2_ERROR_DECRYPT
-	LIBSSH2_ERROR_FILE
-	LIBSSH2_ERROR_HOSTKEY_INIT
-	LIBSSH2_ERROR_HOSTKEY_SIGN
-	LIBSSH2_ERROR_INVAL
-	LIBSSH2_ERROR_INVALID_MAC
-	LIBSSH2_ERROR_INVALID_POLL_TYPE
-	LIBSSH2_ERROR_KEX_FAILURE
-	LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE
-	LIBSSH2_ERROR_METHOD_NONE
-	LIBSSH2_ERROR_METHOD_NOT_SUPPORTED
-	LIBSSH2_ERROR_PASSWORD_EXPIRED
-	LIBSSH2_ERROR_PROTO
-	LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED
-	LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED
-	LIBSSH2_ERROR_REQUEST_DENIED
-	LIBSSH2_ERROR_SCP_PROTOCOL
-	LIBSSH2_ERROR_SFTP_PROTOCOL
-	LIBSSH2_ERROR_SOCKET_DISCONNECT
-	LIBSSH2_ERROR_SOCKET_NONE
-	LIBSSH2_ERROR_SOCKET_SEND
-	LIBSSH2_ERROR_SOCKET_TIMEOUT
-	LIBSSH2_ERROR_TIMEOUT
-	LIBSSH2_ERROR_ZLIB
+        LIBSSH2_ERROR_ALLOC
+        LIBSSH2_ERROR_BANNER_NONE
+        LIBSSH2_ERROR_BANNER_SEND
+        LIBSSH2_ERROR_CHANNEL_CLOSED
+        LIBSSH2_ERROR_CHANNEL_EOF_SENT
+        LIBSSH2_ERROR_CHANNEL_FAILURE
+        LIBSSH2_ERROR_CHANNEL_OUTOFORDER
+        LIBSSH2_ERROR_CHANNEL_PACKET_EXCEEDED
+        LIBSSH2_ERROR_CHANNEL_REQUEST_DENIED
+        LIBSSH2_ERROR_CHANNEL_UNKNOWN
+        LIBSSH2_ERROR_CHANNEL_WINDOW_EXCEEDED
+        LIBSSH2_ERROR_DECRYPT
+        LIBSSH2_ERROR_FILE
+        LIBSSH2_ERROR_HOSTKEY_INIT
+        LIBSSH2_ERROR_HOSTKEY_SIGN
+        LIBSSH2_ERROR_INVAL
+        LIBSSH2_ERROR_INVALID_MAC
+        LIBSSH2_ERROR_INVALID_POLL_TYPE
+        LIBSSH2_ERROR_KEX_FAILURE
+        LIBSSH2_ERROR_KEY_EXCHANGE_FAILURE
+        LIBSSH2_ERROR_METHOD_NONE
+        LIBSSH2_ERROR_METHOD_NOT_SUPPORTED
+        LIBSSH2_ERROR_PASSWORD_EXPIRED
+        LIBSSH2_ERROR_PROTO
+        LIBSSH2_ERROR_PUBLICKEY_UNRECOGNIZED
+        LIBSSH2_ERROR_PUBLICKEY_UNVERIFIED
+        LIBSSH2_ERROR_REQUEST_DENIED
+        LIBSSH2_ERROR_SCP_PROTOCOL
+        LIBSSH2_ERROR_SFTP_PROTOCOL
+        LIBSSH2_ERROR_SOCKET_DISCONNECT
+        LIBSSH2_ERROR_SOCKET_NONE
+        LIBSSH2_ERROR_SOCKET_SEND
+        LIBSSH2_ERROR_SOCKET_TIMEOUT
+        LIBSSH2_ERROR_TIMEOUT
+        LIBSSH2_ERROR_ZLIB
 );
 
 my @EX_hash = qw(
-	LIBSSH2_HOSTKEY_HASH_MD5
-	LIBSSH2_HOSTKEY_HASH_SHA1
+        LIBSSH2_HOSTKEY_HASH_MD5
+        LIBSSH2_HOSTKEY_HASH_SHA1
 );
 
 my @EX_method = qw(
-	LIBSSH2_METHOD_COMP_CS
-	LIBSSH2_METHOD_COMP_SC
-	LIBSSH2_METHOD_CRYPT_CS
-	LIBSSH2_METHOD_CRYPT_SC
-	LIBSSH2_METHOD_HOSTKEY
-	LIBSSH2_METHOD_KEX
-	LIBSSH2_METHOD_LANG_CS
-	LIBSSH2_METHOD_LANG_SC
-	LIBSSH2_METHOD_MAC_CS
-	LIBSSH2_METHOD_MAC_SC
+        LIBSSH2_METHOD_COMP_CS
+        LIBSSH2_METHOD_COMP_SC
+        LIBSSH2_METHOD_CRYPT_CS
+        LIBSSH2_METHOD_CRYPT_SC
+        LIBSSH2_METHOD_HOSTKEY
+        LIBSSH2_METHOD_KEX
+        LIBSSH2_METHOD_LANG_CS
+        LIBSSH2_METHOD_LANG_SC
+        LIBSSH2_METHOD_MAC_CS
+        LIBSSH2_METHOD_MAC_SC
 );
 
 my @EX_fxf = qw(
-	LIBSSH2_FXF_APPEND
-	LIBSSH2_FXF_CREAT
-	LIBSSH2_FXF_EXCL
-	LIBSSH2_FXF_READ
-	LIBSSH2_FXF_TRUNC
-	LIBSSH2_FXF_WRITE
+        LIBSSH2_FXF_APPEND
+        LIBSSH2_FXF_CREAT
+        LIBSSH2_FXF_EXCL
+        LIBSSH2_FXF_READ
+        LIBSSH2_FXF_TRUNC
+        LIBSSH2_FXF_WRITE
 );
 
 my @EX_fx = qw(
-	LIBSSH2_FX_BAD_MESSAGE
-	LIBSSH2_FX_CONNECTION_LOST
-	LIBSSH2_FX_DIR_NOT_EMPTY
-	LIBSSH2_FX_EOF
-	LIBSSH2_FX_FAILURE
-	LIBSSH2_FX_FILE_ALREADY_EXISTS
-	LIBSSH2_FX_INVALID_FILENAME
-	LIBSSH2_FX_INVALID_HANDLE
-	LIBSSH2_FX_LINK_LOOP
-	LIBSSH2_FX_LOCK_CONFlICT
-	LIBSSH2_FX_NOT_A_DIRECTORY
-	LIBSSH2_FX_NO_CONNECTION
-	LIBSSH2_FX_NO_MEDIA
-	LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM
-	LIBSSH2_FX_NO_SUCH_FILE
-	LIBSSH2_FX_NO_SUCH_PATH
-	LIBSSH2_FX_OK
-	LIBSSH2_FX_OP_UNSUPPORTED
-	LIBSSH2_FX_PERMISSION_DENIED
-	LIBSSH2_FX_QUOTA_EXCEEDED
-	LIBSSH2_FX_UNKNOWN_PRINCIPLE
-	LIBSSH2_FX_WRITE_PROTECT
+        LIBSSH2_FX_BAD_MESSAGE
+        LIBSSH2_FX_CONNECTION_LOST
+        LIBSSH2_FX_DIR_NOT_EMPTY
+        LIBSSH2_FX_EOF
+        LIBSSH2_FX_FAILURE
+        LIBSSH2_FX_FILE_ALREADY_EXISTS
+        LIBSSH2_FX_INVALID_FILENAME
+        LIBSSH2_FX_INVALID_HANDLE
+        LIBSSH2_FX_LINK_LOOP
+        LIBSSH2_FX_LOCK_CONFlICT
+        LIBSSH2_FX_NOT_A_DIRECTORY
+        LIBSSH2_FX_NO_CONNECTION
+        LIBSSH2_FX_NO_MEDIA
+        LIBSSH2_FX_NO_SPACE_ON_FILESYSTEM
+        LIBSSH2_FX_NO_SUCH_FILE
+        LIBSSH2_FX_NO_SUCH_PATH
+        LIBSSH2_FX_OK
+        LIBSSH2_FX_OP_UNSUPPORTED
+        LIBSSH2_FX_PERMISSION_DENIED
+        LIBSSH2_FX_QUOTA_EXCEEDED
+        LIBSSH2_FX_UNKNOWN_PRINCIPLE
+        LIBSSH2_FX_WRITE_PROTECT
 );
 
 my @EX_sftp = qw(
-	LIBSSH2_SFTP_ATTR_ACMODTIME
-	LIBSSH2_SFTP_ATTR_EXTENDED
-	LIBSSH2_SFTP_ATTR_PERMISSIONS
-	LIBSSH2_SFTP_ATTR_SIZE
-	LIBSSH2_SFTP_ATTR_UIDGID
-	LIBSSH2_SFTP_LSTAT
-	LIBSSH2_SFTP_OPENDIR
-	LIBSSH2_SFTP_OPENFILE
-	LIBSSH2_SFTP_PACKET_MAXLEN
-	LIBSSH2_SFTP_READLINK
-	LIBSSH2_SFTP_REALPATH
-	LIBSSH2_SFTP_RENAME_ATOMIC
-	LIBSSH2_SFTP_RENAME_NATIVE
-	LIBSSH2_SFTP_RENAME_OVERWRITE
-	LIBSSH2_SFTP_SETSTAT
-	LIBSSH2_SFTP_STAT
-	LIBSSH2_SFTP_SYMLINK
-	LIBSSH2_SFTP_TYPE_BLOCK_DEVICE
-	LIBSSH2_SFTP_TYPE_CHAR_DEVICE
-	LIBSSH2_SFTP_TYPE_DIRECTORY
-	LIBSSH2_SFTP_TYPE_FIFO
-	LIBSSH2_SFTP_TYPE_REGULAR
-	LIBSSH2_SFTP_TYPE_SOCKET
-	LIBSSH2_SFTP_TYPE_SPECIAL
-	LIBSSH2_SFTP_TYPE_SYMLINK
-	LIBSSH2_SFTP_TYPE_UNKNOWN
-	LIBSSH2_SFTP_VERSION
+        LIBSSH2_SFTP_ATTR_ACMODTIME
+        LIBSSH2_SFTP_ATTR_EXTENDED
+        LIBSSH2_SFTP_ATTR_PERMISSIONS
+        LIBSSH2_SFTP_ATTR_SIZE
+        LIBSSH2_SFTP_ATTR_UIDGID
+        LIBSSH2_SFTP_LSTAT
+        LIBSSH2_SFTP_OPENDIR
+        LIBSSH2_SFTP_OPENFILE
+        LIBSSH2_SFTP_PACKET_MAXLEN
+        LIBSSH2_SFTP_READLINK
+        LIBSSH2_SFTP_REALPATH
+        LIBSSH2_SFTP_RENAME_ATOMIC
+        LIBSSH2_SFTP_RENAME_NATIVE
+        LIBSSH2_SFTP_RENAME_OVERWRITE
+        LIBSSH2_SFTP_SETSTAT
+        LIBSSH2_SFTP_STAT
+        LIBSSH2_SFTP_SYMLINK
+        LIBSSH2_SFTP_TYPE_BLOCK_DEVICE
+        LIBSSH2_SFTP_TYPE_CHAR_DEVICE
+        LIBSSH2_SFTP_TYPE_DIRECTORY
+        LIBSSH2_SFTP_TYPE_FIFO
+        LIBSSH2_SFTP_TYPE_REGULAR
+        LIBSSH2_SFTP_TYPE_SOCKET
+        LIBSSH2_SFTP_TYPE_SPECIAL
+        LIBSSH2_SFTP_TYPE_SYMLINK
+        LIBSSH2_SFTP_TYPE_UNKNOWN
+        LIBSSH2_SFTP_VERSION
 );
 
 my @EX_disconnect = qw(
-	SSH_DISCONNECT_AUTH_CANCELLED_BY_USER
-	SSH_DISCONNECT_BY_APPLICATION
-	SSH_DISCONNECT_COMPRESSION_ERROR
-	SSH_DISCONNECT_CONNECTION_LOST
-	SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE
-	SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT
-	SSH_DISCONNECT_ILLEGAL_USER_NAME
-	SSH_DISCONNECT_KEY_EXCHANGE_FAILED
-	SSH_DISCONNECT_MAC_ERROR
-	SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
-	SSH_DISCONNECT_PROTOCOL_ERROR
-	SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED
-	SSH_DISCONNECT_RESERVED
-	SSH_DISCONNECT_SERVICE_NOT_AVAILABLE
-	SSH_DISCONNECT_TOO_MANY_CONNECTIONS
+        SSH_DISCONNECT_AUTH_CANCELLED_BY_USER
+        SSH_DISCONNECT_BY_APPLICATION
+        SSH_DISCONNECT_COMPRESSION_ERROR
+        SSH_DISCONNECT_CONNECTION_LOST
+        SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE
+        SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT
+        SSH_DISCONNECT_ILLEGAL_USER_NAME
+        SSH_DISCONNECT_KEY_EXCHANGE_FAILED
+        SSH_DISCONNECT_MAC_ERROR
+        SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE
+        SSH_DISCONNECT_PROTOCOL_ERROR
+        SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED
+        SSH_DISCONNECT_RESERVED
+        SSH_DISCONNECT_SERVICE_NOT_AVAILABLE
+        SSH_DISCONNECT_TOO_MANY_CONNECTIONS
 );
 
 our %EXPORT_TAGS = (
@@ -188,14 +188,15 @@
 
 our @EXPORT_OK = @{$EXPORT_TAGS{all}};
 
-our $VERSION = '0.21';
+our $VERSION = '0.22';
 
 # methods
 
 sub connect {
     my $self = shift;
     croak "Net::SSH2::connect: not enough parameters" if @_ < 1;
-    croak "Net::SSH2::connect: too many parameters"   if @_ > 2;
+
+    my $wantarray = wantarray;
 
     # try to connect, or get a file descriptor
     my ($fd, $sock);
@@ -209,15 +210,25 @@
             @_ = ($sock, getservbyname(qw(ssh tcp)) || 22);
         }
     }
+
+    my %opts = splice @_, 2;
+    $opts{Timeout} ||= 30;
+
     if (@_ == 2) {
         require IO::Socket::INET;
         $sock = IO::Socket::INET->new(
-	    PeerHost => $_[0],
-	    PeerPort => $_[1],
-	    Timeout  => 30,
-	);
-        croak "Net::SSH2::connect: failed to connect to $_[0]:$_[1]: $!"
-         unless $sock;
+            PeerHost => $_[0],
+            PeerPort => $_[1],
+            $opts{Timeout},
+        );
+
+        if (not $sock) {
+            if ($wantarray == undef) {
+                croak "Net::SSH2: failed to connect to $_[0]:$_[1]: $!"
+            } else {
+                return; # to support ->connect ... or die
+            }
+        }
 
         $sock->sockopt(SO_LINGER, pack('SS', 0, 0));
     }
@@ -458,8 +469,8 @@
     my ($error, $val) = constant($constname);
     if ($error) { croak $error; }
     {
-	no strict 'refs';
-	*$AUTOLOAD = sub { $val };
+        no strict 'refs';
+        *$AUTOLOAD = sub { $val };
     }
     goto &$AUTOLOAD;
 }
@@ -487,7 +498,7 @@
 
   my $ssh2 = Net::SSH2->new();
 
-  $ssh2->connect('example.com') or die;
+  $ssh2->connect('example.com') or die $!;
 
   if ($ssh2->auth_keyboard('fizban')) {
       my $chan = $ssh2->channel();
@@ -700,7 +711,7 @@
 
 =back
 
-=head2 connect ( [handle | host [, port]] )
+=head2 connect ( handle | host [, port [, Timeout => secs ]] )
 
 Accepts a handle over which to conduct the SSH 2 protocol.  The handle may be:
 




More information about the Pkg-perl-cvs-commits mailing list