Hello community, here is the log from the commit of package perl-AnyEvent for openSUSE:Factory checked in at 2016-09-30 15:32:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-AnyEvent (Old) and /work/SRC/openSUSE:Factory/.perl-AnyEvent.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-AnyEvent" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-AnyEvent/perl-AnyEvent.changes 2016-04-28 16:52:54.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-AnyEvent.new/perl-AnyEvent.changes 2016-09-30 15:32:34.000000000 +0200 @@ -1,0 +2,33 @@ +Mon Sep 19 05:00:57 UTC 2016 - co...@suse.com + +- updated to 7.13 + see /usr/share/doc/packages/perl-AnyEvent/Changes + +------------------------------------------------------------------- +Sun Sep 18 05:01:01 UTC 2016 - co...@suse.com + +- updated to 7.13 + see /usr/share/doc/packages/perl-AnyEvent/Changes + + 7.13 Sat Sep 17 04:31:49 CEST 2016 + - Only call tlsext_host_name for non-empty common names (reported + by Maxime Soulé). + - log a (single) notice message if SNI is not supported. + - upgrade to UTS-46:9.0.0 draft and switch to non-transitional + behaviour, beating thunderbird, ie, edge, chrome and safari to it :) + (see also https://bugzilla.mozilla.org/show_bug.cgi?id=1218179) + - turns out the UTS-46 IDNA testcase failures were indeed bugs in the + testcases and the specification and not in the code - the post-9.0.0 + unicode files have all known problems fixed, so finally the AnyEvent + IDNA implementation can pass the full IDNA testsuite - without needing + a single fix :) + - guarantee (and document) that condvar callbacks will be removed + on invocation - important to avoid circular references. + +------------------------------------------------------------------- +Sun Feb 7 09:33:07 UTC 2016 - co...@suse.com + +- updated to 7.12 + see /usr/share/doc/packages/perl-AnyEvent/Changes + +------------------------------------------------------------------- Old: ---- AnyEvent-7.11.tar.gz New: ---- AnyEvent-7.13.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-AnyEvent.spec ++++++ --- /var/tmp/diff_new_pack.KQqXsP/_old 2016-09-30 15:32:36.000000000 +0200 +++ /var/tmp/diff_new_pack.KQqXsP/_new 2016-09-30 15:32:36.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-AnyEvent # -# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 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 @@ -17,7 +17,7 @@ Name: perl-AnyEvent -Version: 7.11 +Version: 7.13 Release: 0 #Upstream: CHECK(GPL-1.0+ or Artistic-1.0) %define cpan_name AnyEvent @@ -43,23 +43,21 @@ %{perl_requires} %description -the AnyEvent manpage provides a uniform interface to various event loops. -This allows module authors to use event loop functionality without forcing -module users to use a specific event loop implementation (since more than -one event loop cannot coexist peacefully). +AnyEvent provides a uniform interface to various event loops. This allows +module authors to use event loop functionality without forcing module users +to use a specific event loop implementation (since more than one event loop +cannot coexist peacefully). -The interface itself is vaguely similar, but not identical to the the Event -manpage module. +The interface itself is vaguely similar, but not identical to the Event +module. During the first call of any watcher-creation method, the module tries to detect the currently loaded event loop by probing whether one of the -following modules is already loaded: the EV manpage, the AnyEvent::Loop -manpage, the Event manpage, the Glib manpage, the Tk manpage, the -Event::Lib manpage, the Qt manpage, the POE manpage. The first one found is -used. If none are detected, the module tries to load the first four modules -in the order given; but note that if the EV manpage is not available, the -pure-perl the AnyEvent::Loop manpage should always work, so the other two -are not normally tried. +following modules is already loaded: EV, AnyEvent::Loop, Event, Glib, Tk, +Event::Lib, Qt, POE. The first one found is used. If none are detected, the +module tries to load the first four modules in the order given; but note +that if EV is not available, the pure-perl AnyEvent::Loop should always +work, so the other two are not normally tried. Because AnyEvent first checks for modules that are already loaded, loading an event model explicitly before first using AnyEvent will likely make that @@ -80,7 +78,7 @@ %prep %setup -q -n %{cpan_name}-%{version} -find . -type f -print0 | xargs -0 chmod 644 +find . -type f ! -name \*.pl -print0 | xargs -0 chmod 644 %build %{__perl} Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" ++++++ AnyEvent-7.11.tar.gz -> AnyEvent-7.13.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/Changes new/AnyEvent-7.13/Changes --- old/AnyEvent-7.11/Changes 2015-07-16 14:36:18.000000000 +0200 +++ new/AnyEvent-7.13/Changes 2016-09-17 04:33:43.000000000 +0200 @@ -8,9 +8,32 @@ TODO: AnyEvent::Handle with AnyEvent::IO? TODO: invalid. and localhost. specialcasing inside AEDNS and not AESocket (rfc6761) TODO: maybe implement env variable to give hosts precedence -TODO: hosts always read? that's not expected TODO: more formats for parse_ipv6 (single ipv6 address without port, ...p80, ...#80) +TODO: inet_aton maybe pack C4? no, add a comment why not +TODO: hosts read multiple times for initial concurrent tcp_connect's? + +7.13 Sat Sep 17 04:31:49 CEST 2016 + - Only call tlsext_host_name for non-empty common names (reported + by Maxime Soulé). + - log a (single) notice message if SNI is not supported. + - upgrade to UTS-46:9.0.0 draft and switch to non-transitional + behaviour, beating thunderbird, ie, edge, chrome and safari to it :) + (see also https://bugzilla.mozilla.org/show_bug.cgi?id=1218179) + - turns out the UTS-46 IDNA testcase failures were indeed bugs in the + testcases and the specification and not in the code - the post-9.0.0 + unicode files have all known problems fixed, so finally the AnyEvent + IDNA implementation can pass the full IDNA testsuite - without needing + a single fix :) + - guarantee (and document) that condvar callbacks will be removed + on invocation - important to avoid circular references. + +7.12 Wed Jan 27 19:12:26 CET 2016 + - use common name as hostname for tls connects, if Net::SSLeay + supports SNI. + - fix documentation of tls_autostart read type in AnyEvent::Handle, + analyzed by Felix Ostmann. + 7.11 Thu Jul 16 14:36:00 CEST 2015 - AnyEvent::Socket::parse_ipv6 could accept malformed ipv6 addresses (extra "::" at end and similar cases). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/META.json new/AnyEvent-7.13/META.json --- old/AnyEvent-7.11/META.json 2015-07-16 14:48:29.000000000 +0200 +++ new/AnyEvent-7.13/META.json 2016-09-17 04:33:45.000000000 +0200 @@ -4,7 +4,7 @@ "unknown" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001", + "generated_by" : "ExtUtils::MakeMaker version 7.1, CPAN::Meta::Converter version 2.150001", "license" : [ "unknown" ], @@ -45,5 +45,5 @@ } }, "release_status" : "stable", - "version" : 7.11 + "version" : 7.13 } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/META.yml new/AnyEvent-7.13/META.yml --- old/AnyEvent-7.11/META.yml 2015-07-16 14:48:29.000000000 +0200 +++ new/AnyEvent-7.13/META.yml 2016-09-17 04:33:45.000000000 +0200 @@ -8,7 +8,7 @@ Canary::Stability: '0' ExtUtils::MakeMaker: '6.52' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.0401, CPAN::Meta::Converter version 2.150001' +generated_by: 'ExtUtils::MakeMaker version 7.1, CPAN::Meta::Converter version 2.150001' license: unknown meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -27,4 +27,4 @@ Net::SSLeay: '1.33' Task::Weaken: '0' requires: {} -version: 7.11 +version: 7.13 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/README new/AnyEvent-7.13/README --- old/AnyEvent-7.11/README 2015-07-16 14:48:29.000000000 +0200 +++ new/AnyEvent-7.13/README 2016-09-17 04:33:45.000000000 +0200 @@ -814,8 +814,8 @@ "croak" have been called. $cb = $cv->cb ($cb->($cv)) - This is a mutator function that returns the callback set and - optionally replaces it before doing so. + This is a mutator function that returns the callback set (or "undef" + if not) and optionally replaces it before doing so. The callback will be called when the condition becomes "true", i.e. when "send" or "croak" are called, with the only argument being the @@ -823,6 +823,10 @@ callback is called immediately when it is set. Calling "recv" inside the callback or at any later time is guaranteed not to block. + Additionally, when the callback is invoked, it is also removed from + the condvar (reset to "undef"), so the condvar does not keep a + reference to the callback after invocation. + SUPPORTED EVENT LOOPS/BACKENDS The available backend classes are (every class has its own manpage): @@ -1610,7 +1614,7 @@ ... }); - EV::loop; + EV::run; 3b. The module user could use AnyEvent, too: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/lib/AnyEvent/Handle.pm new/AnyEvent-7.13/lib/AnyEvent/Handle.pm --- old/AnyEvent-7.11/lib/AnyEvent/Handle.pm 2015-06-28 11:30:06.000000000 +0200 +++ new/AnyEvent-7.13/lib/AnyEvent/Handle.pm 2016-01-07 11:01:45.000000000 +0100 @@ -1897,7 +1897,7 @@ This read type does not rely on L<AnyEvent::TLS> (and thus, not on L<Net::SSLeay>). -=item tls_autostart => $tls[, $tls_ctx] +=item tls_autostart => [$tls_ctx, ]$tls Tries to detect a valid SSL or TLS handshake. If one is detected, it tries to start tls by calling C<starttls> with the given arguments. @@ -1911,7 +1911,7 @@ Example: give the client a chance to start TLS before accepting a text line. - $hdl->push_read (tls_detect => "accept"); + $hdl->push_read (tls_autostart => "accept"); $hdl->push_read (line => sub { print "received ", ($_[0]{tls} ? "encrypted" : "cleartext"), " <$_[1]>\n"; }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/lib/AnyEvent/Log.pm new/AnyEvent-7.13/lib/AnyEvent/Log.pm --- old/AnyEvent-7.11/lib/AnyEvent/Log.pm 2014-10-28 18:21:44.000000000 +0100 +++ new/AnyEvent-7.13/lib/AnyEvent/Log.pm 2016-03-13 05:48:11.000000000 +0100 @@ -1230,6 +1230,9 @@ name is first mentioned. The difference to package contexts is that by default they have no attached slaves. +This makes it possible to create new log contexts that can be refered to +multiple times by name within the same log specification. + =item a perl package name Any other string references the logging context associated with the given diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/lib/AnyEvent/Socket.pm new/AnyEvent-7.13/lib/AnyEvent/Socket.pm --- old/AnyEvent-7.11/lib/AnyEvent/Socket.pm 2015-07-10 05:10:44.000000000 +0200 +++ new/AnyEvent-7.13/lib/AnyEvent/Socket.pm 2016-03-27 00:42:19.000000000 +0100 @@ -145,7 +145,7 @@ =item $token = parse_unix $hostname -This fucntion exists mainly for symmetry to the other C<parse_protocol> +This function exists mainly for symmetry to the other C<parse_protocol> functions - it takes a hostname and, if it is C<unix/>, it returns a special address token, otherwise C<undef>. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/lib/AnyEvent/TLS.pm new/AnyEvent-7.13/lib/AnyEvent/TLS.pm --- old/AnyEvent-7.11/lib/AnyEvent/TLS.pm 2014-08-28 12:59:30.000000000 +0200 +++ new/AnyEvent-7.13/lib/AnyEvent/TLS.pm 2016-07-21 12:34:40.000000000 +0200 @@ -586,7 +586,7 @@ tlsv1 => \&Net::SSLeay::CTX_tlsv1_new, ); -# Add TLSv1_1 and TLSv1_2 if Net::SSLEay and openssl allow them +# Add TLSv1_1 and TLSv1_2 if Net::SSLeay and openssl allow them if (_check_tls_gt_1) { $SSL_METHODS{tlsv1_1} = \&Net::SSLeay::CTX_tlsv1_1_new; $SSL_METHODS{tlsv1_2} = \&Net::SSLeay::CTX_tlsv1_2_new; @@ -827,6 +827,7 @@ #=cut #our %REF_MAP; +our $TLS_SNI_WARNED; sub _get_session($$;$$) { my ($self, $mode, $ref, $cn) = @_; @@ -842,6 +843,15 @@ } elsif ($mode eq "connect") { $session = Net::SSLeay::new ($self->{ctx}); + + if (defined &Net::SSLeay::set_tlsext_host_name) { + Net::SSLeay::set_tlsext_host_name ($session, $cn) + if length $cn; + } else { + AE::log 6 => "TLS SNI not supported by your Net::SSLeay module, connecting without" + unless $TLS_SNI_WARNED++; + } + Net::SSLeay::set_connect_state ($session); Net::SSLeay::set_options ($session, eval { Net::SSLeay::OP_NO_TICKET () }) Files old/AnyEvent-7.11/lib/AnyEvent/Util/uts46data.pl and new/AnyEvent-7.13/lib/AnyEvent/Util/uts46data.pl differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/lib/AnyEvent/Util.pm new/AnyEvent-7.13/lib/AnyEvent/Util.pm --- old/AnyEvent-7.11/lib/AnyEvent/Util.pm 2015-06-16 05:15:55.000000000 +0200 +++ new/AnyEvent-7.13/lib/AnyEvent/Util.pm 2016-04-24 23:39:16.000000000 +0200 @@ -365,7 +365,7 @@ =item $guard = guard { CODE } -This function creates a special object that, when called, will execute +This function creates a special object that, when destroyed, will execute the code block. This is often handy in continuation-passing style code to clean up some @@ -485,6 +485,12 @@ Appends program standard output to the referenced scalar. The condvar will not be signalled before EOF or an error is signalled. +Specifying the same scalar in multiple ">" pairs is allowed, e.g. to +redirect both stdout and stderr into the same scalar: + + ">" => \$output, + "2>" => \$output, + =item ">" => $filehandle Redirects program standard output to the given filehandle (or actually its @@ -821,7 +827,7 @@ # not in valid class, search for mapping utf8::encode $chr; # the imap table is in utf-8 (my $rep = index $uts46_imap, "\x00$chr") >= 0 - or Carp::croak "$_[0]: disallowed characters ($chr) during idn_nameprep" . unpack "H*", $chr; + or Carp::croak "$_[0]: disallowed characters (U+" . (unpack "H*", $chr) . ") during idn_nameprep"; (substr $uts46_imap, $rep, 128) =~ /\x00 .[\x80-\xbf]* ([^\x00]*) \x00/x or die "FATAL: idn_nameprep imap table has unexpected contents"; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/lib/AnyEvent.pm new/AnyEvent-7.13/lib/AnyEvent.pm --- old/AnyEvent-7.11/lib/AnyEvent.pm 2015-07-16 14:39:33.000000000 +0200 +++ new/AnyEvent-7.13/lib/AnyEvent.pm 2016-09-17 04:32:28.000000000 +0200 @@ -847,8 +847,8 @@ =item $cb = $cv->cb ($cb->($cv)) -This is a mutator function that returns the callback set and optionally -replaces it before doing so. +This is a mutator function that returns the callback set (or C<undef> if +not) and optionally replaces it before doing so. The callback will be called when the condition becomes "true", i.e. when C<send> or C<croak> are called, with the only argument being the @@ -856,6 +856,10 @@ callback is called immediately when it is set. Calling C<recv> inside the callback or at any later time is guaranteed not to block. +Additionally, when the callback is invoked, it is also removed from the +condvar (reset to C<undef>), so the condvar does not keep a reference to +the callback after invocation. + =back =head1 SUPPORTED EVENT LOOPS/BACKENDS @@ -1256,7 +1260,7 @@ use Carp (); -our $VERSION = 7.11; +our $VERSION = 7.13; our $MODEL; our @ISA; our @REGISTRY; @@ -2493,7 +2497,7 @@ ... }); - EV::loop; + EV::run; 3b. The module user could use AnyEvent, too: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/util/gen_uts46data new/AnyEvent-7.13/util/gen_uts46data --- old/AnyEvent-7.11/util/gen_uts46data 2013-07-31 01:29:32.000000000 +0200 +++ new/AnyEvent-7.13/util/gen_uts46data 2016-04-24 23:40:36.000000000 +0200 @@ -8,7 +8,7 @@ binmode STDOUT, ":utf8"; -open my $fh, "GET http://www.unicode.org/Public/idna/6.2.0/IdnaMappingTable.txt |" +open my $fh, "GET http://www.unicode.org/Public/idna/9.0.0/IdnaMappingTable.txt |" or die; my $valid; @@ -34,6 +34,8 @@ $map = join "", map chr hex, split ' ', $map; + $type = "valid" if $type eq "deviation"; # use non-transitional behaviour for deviation characters + given ($type) { when (/^(?:disallowed|disallowed_STD3_valid|disallowed_STD3_mapped)$/) { # nop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/AnyEvent-7.11/util/tst_uts46data new/AnyEvent-7.13/util/tst_uts46data --- old/AnyEvent-7.11/util/tst_uts46data 2013-07-31 01:30:01.000000000 +0200 +++ new/AnyEvent-7.13/util/tst_uts46data 2016-06-16 08:23:41.000000000 +0200 @@ -9,11 +9,11 @@ use Encode; use AnyEvent::Util; -open my $fh, "GET http://www.unicode.org/Public/idna/6.2.0/IdnaTest.txt |" +open my $fh, "GET http://www.unicode.org/Public/idna/9.0.0/IdnaTest.txt |" or die; while (<$fh>) { - next unless /^[TB]/; # no "N", we implement transitional only + next unless /^[NB]/; # no "T", we implement non-transitional only chomp; @@ -29,20 +29,23 @@ $toa = lc $toa; + $tou = $source unless length $tou; + $toa = $tou unless length $toa; + my $xtou = AnyEvent::Util::idn_to_unicode $source; my $xtoa = lc AnyEvent::Util::idn_to_ascii $source; $xtoa = "[error]" unless defined $xtoa; $xtou = "[error]" unless defined $xtou; - if ($tou ne $xtou && ($tou ne "" || $xtou ne $source)) { + if ($tou ne $xtou) { warn "$. TOU ERROR $type ($source expect $tou got $xtou) ($@)\n" unless $tou =~ /^\[/; } - if ($toa ne $xtoa && ($toa ne "" || $xtoa ne lc $source)) { + if ($toa ne $xtoa) { # use Data::Dump; ddx [$source, $toa, $xtoa] unless $toa =~ /^\[/; - warn "$. TOA ERROR $type ($source expect $toa got $xtoa) ($@)\n" + warn "$. TOA ERROR $type ($source expect <$toa|$tou> got $xtoa) ($@)\n" unless $toa =~ /^\[/; } }