Hello community, here is the log from the commit of package perl-Net-SSH2 for openSUSE:Factory checked in at 2019-04-01 12:39:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Net-SSH2 (Old) and /work/SRC/openSUSE:Factory/.perl-Net-SSH2.new.25356 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Net-SSH2" Mon Apr 1 12:39:34 2019 rev:10 rq:690164 version:0.70 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Net-SSH2/perl-Net-SSH2.changes 2018-03-02 21:10:12.552174990 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Net-SSH2.new.25356/perl-Net-SSH2.changes 2019-04-01 12:39:34.837950022 +0200 @@ -1,0 +2,11 @@ +Sat Mar 30 06:30:48 UTC 2019 - Stephan Kulow <co...@suse.com> + +- updated to 0.70 + see /usr/share/doc/packages/perl-Net-SSH2/Changes + + 0.70 2019-3-17 + - Documentation improvements. + - SFTP stat was not reporting errors correctly (bug report and + patch by Thomas Lochmatter). + +------------------------------------------------------------------- Old: ---- Net-SSH2-0.69.tar.gz New: ---- Net-SSH2-0.70.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Net-SSH2.spec ++++++ --- /var/tmp/diff_new_pack.3jI4Fj/_old 2019-04-01 12:39:35.461950325 +0200 +++ /var/tmp/diff_new_pack.3jI4Fj/_new 2019-04-01 12:39:35.461950325 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Net-SSH2 # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,18 +12,18 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: perl-Net-SSH2 -Version: 0.69 +Version: 0.70 Release: 0 %define cpan_name Net-SSH2 Summary: Support for the SSH 2 protocol via libssh2 License: Artistic-1.0 OR GPL-1.0-or-later Group: Development/Libraries/Perl -Url: http://search.cpan.org/dist/Net-SSH2/ +Url: https://metacpan.org/release/%{cpan_name} Source0: https://cpan.metacpan.org/authors/id/S/SA/SALVA/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -52,11 +52,11 @@ # MANUAL END %build -%{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" -%{__make} %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" +make %{?_smp_mflags} %check -%{__make} test +make test %install %perl_make_install ++++++ Net-SSH2-0.69.tar.gz -> Net-SSH2-0.70.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/Changes new/Net-SSH2-0.70/Changes --- old/Net-SSH2-0.69/Changes 2018-02-24 21:37:53.000000000 +0100 +++ new/Net-SSH2-0.70/Changes 2019-03-17 10:32:35.000000000 +0100 @@ -1,5 +1,10 @@ Revision history for Perl extension Net::SSH2. +0.70 2019-3-17 + - Documentation improvements. + - SFTP stat was not reporting errors correctly (bug report and + patch by Thomas Lochmatter). + 0.69 2018-2-24 - Fix META.yml generation (bug report by Slaven Rezic). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/META.yml new/Net-SSH2-0.70/META.yml --- old/Net-SSH2-0.69/META.yml 2018-02-24 21:39:47.000000000 +0100 +++ new/Net-SSH2-0.70/META.yml 2019-03-17 10:35:49.000000000 +0100 @@ -8,7 +8,7 @@ ExtUtils::MakeMaker: 6.59 distribution_type: module dynamic_config: 1 -generated_by: 'Module::Install version 1.17' +generated_by: 'Module::Install version 1.19' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -22,7 +22,7 @@ provides: Net::SSH2: file: lib/Net/SSH2.pm - version: '0.69' + version: '0.70' Net::SSH2::Channel: file: lib/Net/SSH2/Channel.pm Net::SSH2::Dir: @@ -42,4 +42,4 @@ resources: license: http://dev.perl.org/licenses/ repository: git://github.com/rkitover/net-ssh2.git -version: '0.69' +version: '0.70' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/README new/Net-SSH2-0.70/README --- old/Net-SSH2-0.69/README 2018-02-24 21:38:48.000000000 +0100 +++ new/Net-SSH2-0.70/README 2019-03-17 10:31:53.000000000 +0100 @@ -92,7 +92,7 @@ Copyright (C) 2010-2016 by Rafael Kitover (rkito...@cpan.org). -Copyright (C) 2011-2018 by Salvador Fandino (sa...@cpan.org). +Copyright (C) 2011-2019 by Salvador Fandino (sa...@cpan.org). All rights reserved. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/SSH2.xs new/Net-SSH2-0.70/SSH2.xs --- old/Net-SSH2-0.69/SSH2.xs 2018-01-26 10:57:22.000000000 +0100 +++ new/Net-SSH2-0.70/SSH2.xs 2019-03-17 10:34:04.000000000 +0100 @@ -1,7 +1,7 @@ /* * SSH2.xs - C functions for Net::SSH2 * - * D. Robins, 20051022 + * Authors: D. Robins, Rafael Kitover, Salvador FandiƱo */ #include "EXTERN.h" @@ -2204,7 +2204,7 @@ LIBSSH2_SFTP_ATTRIBUTES attrs; PPCODE: pv_path = SvPVbyte(path, len_path); - error = !libssh2_sftp_stat_ex(sf->sftp, (char*)pv_path, len_path, + error = libssh2_sftp_stat_ex(sf->sftp, (char*)pv_path, len_path, (follow ? LIBSSH2_SFTP_STAT : LIBSSH2_SFTP_LSTAT), &attrs); if (error < 0) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Devel/CheckLib.pm new/Net-SSH2-0.70/inc/Devel/CheckLib.pm --- old/Net-SSH2-0.69/inc/Devel/CheckLib.pm 2018-02-24 21:39:46.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Devel/CheckLib.pm 2019-03-17 10:35:48.000000000 +0100 @@ -6,7 +6,7 @@ use 5.00405; #postfix foreach use strict; use vars qw($VERSION @ISA @EXPORT); -$VERSION = '1.07'; +$VERSION = '1.13'; use Config qw(%Config); use Text::ParseWords 'quotewords'; @@ -160,6 +160,10 @@ It is possible to use this callback, for instance, to inspect the binary for further dependencies. +=item not_execute + +Do not try to execute generated binary. Only check that compilation has not failed. + =back =head2 check_lib_or_exit @@ -271,6 +275,7 @@ @incpaths = (ref($args{incpath}) ? @{$args{incpath}} : $args{incpath}) if $args{incpath}; my $analyze_binary = $args{analyze_binary}; + my $not_execute = $args{not_execute}; my @argv = @ARGV; push @argv, _parse_line('\s+', 0, $ENV{PERL_MM_OPT}||''); @@ -344,18 +349,18 @@ } else { # Unix-ish: gcc, Sun, AIX (gcc, cc), ... @sys_cmd = ( @$cc, - @$ld, - $cfile, (map { "-I$_" } @incpaths), + $cfile, + @$ld, "-o", "$exefile" ); } warn "# @sys_cmd\n" if $args{debug}; my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); - push @missing, $header if $rv != 0 || ! -x $exefile; + push @missing, $header if $rv != 0 || ! -f $exefile; _cleanup_exe($exefile); unlink $cfile; - } + } # now do each library in turn with headers my($ch, $cfile) = File::Temp::tempfile( @@ -400,23 +405,26 @@ # gcc, Sun, AIX (gcc, cc) @sys_cmd = ( @$cc, - @$ld, - $cfile, - "-o", "$exefile", (map { "-I$_" } @incpaths), + $cfile, (map { "-L$_" } @libpaths), "-l$lib", + @$ld, + "-o", "$exefile", ); } warn "# @sys_cmd\n" if $args{debug}; + local $ENV{LD_RUN_PATH} = join(":", grep $_, @libpaths, $ENV{LD_RUN_PATH}) unless $^O eq 'MSWin32'; + local $ENV{PATH} = join(";", @libpaths).";".$ENV{PATH} if $^O eq 'MSWin32'; my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); - if ($rv != 0 || ! -x $exefile) { + if ($rv != 0 || ! -f $exefile) { push @missing, $lib; } else { + chmod 0755, $exefile; my $absexefile = File::Spec->rel2abs($exefile); $absexefile = '"'.$absexefile.'"' if $absexefile =~ m/\s/; - if (system($absexefile) != 0) { + if (!$not_execute && system($absexefile) != 0) { push @wrongresult, $lib; } else { @@ -472,7 +480,7 @@ push @Config_ldflags, $config_val if ( $config_val =~ /\S/ ); } my @ccflags = grep { length } quotewords('\s+', 1, $Config_ccflags||'', $user_ccflags||''); - my @ldflags = grep { length } quotewords('\s+', 1, @Config_ldflags, $user_ldflags||''); + my @ldflags = grep { length && $_ !~ m/^-Wl/ } quotewords('\s+', 1, @Config_ldflags, $user_ldflags||''); my @paths = split(/$Config{path_sep}/, $ENV{PATH}); my @cc = split(/\s+/, $Config{cc}); if (check_compiler ($cc[0], $debug)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Module/Install/Base.pm new/Net-SSH2-0.70/inc/Module/Install/Base.pm --- old/Net-SSH2-0.69/inc/Module/Install/Base.pm 2018-02-24 21:39:46.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Module/Install/Base.pm 2019-03-17 10:35:48.000000000 +0100 @@ -4,7 +4,7 @@ use strict 'vars'; use vars qw{$VERSION}; BEGIN { - $VERSION = '1.17'; + $VERSION = '1.19'; } # Suspend handler for "redefined" warnings diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Module/Install/Can.pm new/Net-SSH2-0.70/inc/Module/Install/Can.pm --- old/Net-SSH2-0.69/inc/Module/Install/Can.pm 2018-02-24 21:39:47.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Module/Install/Can.pm 2019-03-17 10:35:49.000000000 +0100 @@ -8,7 +8,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.17'; + $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Module/Install/Fetch.pm new/Net-SSH2-0.70/inc/Module/Install/Fetch.pm --- old/Net-SSH2-0.69/inc/Module/Install/Fetch.pm 2018-02-24 21:39:47.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Module/Install/Fetch.pm 2019-03-17 10:35:49.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.17'; + $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Module/Install/Makefile.pm new/Net-SSH2-0.70/inc/Module/Install/Makefile.pm --- old/Net-SSH2-0.69/inc/Module/Install/Makefile.pm 2018-02-24 21:39:46.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Module/Install/Makefile.pm 2019-03-17 10:35:48.000000000 +0100 @@ -8,7 +8,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.17'; + $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Module/Install/Metadata.pm new/Net-SSH2-0.70/inc/Module/Install/Metadata.pm --- old/Net-SSH2-0.69/inc/Module/Install/Metadata.pm 2018-02-24 21:39:46.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Module/Install/Metadata.pm 2019-03-17 10:35:48.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.17'; + $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Module/Install/Win32.pm new/Net-SSH2-0.70/inc/Module/Install/Win32.pm --- old/Net-SSH2-0.69/inc/Module/Install/Win32.pm 2018-02-24 21:39:47.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Module/Install/Win32.pm 2019-03-17 10:35:49.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.17'; + $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Module/Install/WriteAll.pm new/Net-SSH2-0.70/inc/Module/Install/WriteAll.pm --- old/Net-SSH2-0.69/inc/Module/Install/WriteAll.pm 2018-02-24 21:39:47.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Module/Install/WriteAll.pm 2019-03-17 10:35:49.000000000 +0100 @@ -6,7 +6,7 @@ use vars qw{$VERSION @ISA $ISCORE}; BEGIN { - $VERSION = '1.17'; + $VERSION = '1.19'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/inc/Module/Install.pm new/Net-SSH2-0.70/inc/Module/Install.pm --- old/Net-SSH2-0.69/inc/Module/Install.pm 2018-02-24 21:39:46.000000000 +0100 +++ new/Net-SSH2-0.70/inc/Module/Install.pm 2019-03-17 10:35:48.000000000 +0100 @@ -31,7 +31,7 @@ # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. - $VERSION = '1.17'; + $VERSION = '1.19'; # Storage for the pseudo-singleton $MAIN = undef; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/lib/Net/SSH2/Channel.pm new/Net-SSH2-0.70/lib/Net/SSH2/Channel.pm --- old/Net-SSH2-0.69/lib/Net/SSH2/Channel.pm 2017-12-02 10:33:05.000000000 +0100 +++ new/Net-SSH2-0.70/lib/Net/SSH2/Channel.pm 2019-03-16 12:10:09.000000000 +0100 @@ -508,8 +508,9 @@ =head2 flush ( [ ext ] ) -Flushes the channel; if C<ext> is present and set, flushes extended -data channel. Returns number of bytes flushed, C<undef> on error. +Discards the received but still unread data on the channel; if C<ext> +is present and set, discards data on the extended channel. Returns +number of bytes discarded, C<undef> on error. =head2 exit_signal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSH2-0.69/lib/Net/SSH2.pm new/Net-SSH2-0.70/lib/Net/SSH2.pm --- old/Net-SSH2-0.69/lib/Net/SSH2.pm 2018-02-24 21:38:07.000000000 +0100 +++ new/Net-SSH2-0.70/lib/Net/SSH2.pm 2019-03-17 10:32:51.000000000 +0100 @@ -1,6 +1,6 @@ package Net::SSH2; -our $VERSION = '0.69'; +our $VERSION = '0.70'; use 5.006; use strict; @@ -1188,6 +1188,8 @@ this method C<undef> as the public key argument is acceptable (OpenSSL is able to extract the public key from the private one). +See also L<Supported key formats>. + =head2 auth_publickey_frommemory ( username, publickey_blob, privatekey_blob [, passphrase ] ) Authenticate using the given public/private key and an optional @@ -1444,8 +1446,8 @@ Enable or disable blocking. -A good number of the methods in Net::SSH2/libssh2 can not work in -non-blocking mode. Some of them may just forcibly enable blocking +A good number of the methods in C<Net::SSH2>/C<libssh2> can not work +in non-blocking mode. Some of them may just forcibly enable blocking during its execution. A few may even corrupt the SSH session or crash the program. @@ -1454,6 +1456,55 @@ I<Don't hesitate to report any bug you found in that area!> +=head1 INTEROPERABILITY AND OTHER KNOWN ISSUES + +=head2 Protocol versions + +The underlaying C<libssh2> library does support version 2 of the SSH +protocol exclusively (hopefully, version 1 usage is almost extinct). + +The SFTP client implements version 3 of the SFTP protocol. + +=head2 Key formats + +Private and public keys can be generated and stored using different +formats and cyphers. Which ones are accepted by C<Net::SSH2> depends +on the libssh2 version being used and of the underlying crypto backend +(OpenSSL C<libssl> or C<libgcrypt>) it was +configured to use at build time. + +An increassingly common problem is that OpenSSH since version 7.8 +(released 2018-8-24) generates keys by default using the format +RFC4716 which is not supported by C<libssl>, the default crypto +backend. + +Keys can be converted inplace to the old PEM format using +L<ssh-keygen(1)> as follows: + + $ ssh-keygen -p -m PEM -N "" -f ~/.ssh/id_rsa + +On Windows, PuTTYgen (which is part of the PuTTY distribution) can be +used to convert keys. + +Another common issue is that in the last years OpenSSH has +incorporated several new cyphers that are not supported by any version +of C<libssh2> yet (though the incomming 1.8.1 may aliviate the +situation). Currently the best option from an interoperability +standpoint is probably to stick to RSA key usage. + +=head2 Security + +Nowadays C<libssh2> development is not thrilling; new versions (even +minor ones) are being released just every two or three years. On the +other hand security issues are found and reported far more +frequently. That means that C<Net::SSH2>/C<libssh2> could be an easy +attack vector. + +So, Net::SSH2 must be used with care only in trusted environments. + +More specifically, using it to connect to untrusted third party +computers over the Internet may be a very bad idea! + =head1 SEE ALSO L<Net::SSH2::Channel>, L<Net::SSH2::Listener>, @@ -1476,7 +1527,7 @@ Copyright (C) 2010 - 2016 by Rafael Kitover (rkito...@cpan.org). -Copyright (C) 2011 - 2018 by Salvador FandiE<ntilde>o (sa...@cpan.org). +Copyright (C) 2011 - 2019 by Salvador FandiE<ntilde>o (sa...@cpan.org). All rights reserved.