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 =~ /^\[/;
    }
 }


Reply via email to