Hello community,

here is the log from the commit of package perl-Mojolicious for 
openSUSE:Factory checked in at 2018-02-16 21:45:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Mojolicious (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Mojolicious.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Mojolicious"

Fri Feb 16 21:45:26 2018 rev:89 rq:577180 version:7.66

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Mojolicious/perl-Mojolicious.changes        
2018-02-13 10:31:17.761001959 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Mojolicious.new/perl-Mojolicious.changes   
2018-02-16 21:45:27.953370434 +0100
@@ -1,0 +2,16 @@
+Thu Feb 15 06:41:22 UTC 2018 - [email protected]
+
+- updated to 7.66
+   see /usr/share/doc/packages/perl-Mojolicious/Changes
+
+  7.66  2018-02-13
+    - This release contains fixes for security issues, everybody should 
upgrade!
+    - Removed origin attribute of Mojo::Cookie::Response.
+    - Removed deprecated data and remaining methods from Mojo::IOLoop::Delay.
+    - Added host_only attribute to Mojo::Cookie::Response.
+    - Improved all method in Mojo::Promise to resolve with no results if no
+      promises have been passed.
+    - Fixed a bug in Mojo::UserAgent::CookieJar where old cookies could be 
leaked.
+      (exp-innit, sri)
+
+-------------------------------------------------------------------

Old:
----
  Mojolicious-7.65.tar.gz

New:
----
  Mojolicious-7.66.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Mojolicious.spec ++++++
--- /var/tmp/diff_new_pack.eofnf8/_old  2018-02-16 21:45:28.765341150 +0100
+++ /var/tmp/diff_new_pack.eofnf8/_new  2018-02-16 21:45:28.769341005 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           perl-Mojolicious
-Version:        7.65
+Version:        7.66
 Release:        0
 %define cpan_name Mojolicious
 Summary:        Real-time web framework

++++++ Mojolicious-7.65.tar.gz -> Mojolicious-7.66.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/Changes new/Mojolicious-7.66/Changes
--- old/Mojolicious-7.65/Changes        2018-02-11 14:19:36.000000000 +0100
+++ new/Mojolicious-7.66/Changes        2018-02-13 18:03:58.000000000 +0100
@@ -1,4 +1,14 @@
 
+7.66  2018-02-13
+  - This release contains fixes for security issues, everybody should upgrade!
+  - Removed origin attribute of Mojo::Cookie::Response.
+  - Removed deprecated data and remaining methods from Mojo::IOLoop::Delay.
+  - Added host_only attribute to Mojo::Cookie::Response.
+  - Improved all method in Mojo::Promise to resolve with no results if no
+    promises have been passed.
+  - Fixed a bug in Mojo::UserAgent::CookieJar where old cookies could be 
leaked.
+    (exp-innit, sri)
+
 7.65  2018-02-11
   - Added EXPERIMENTAL timing->begin, timing->elapsed, timing->rps and
     timing->server_timing helpers to Mojolicious::Plugin::DefaultHelpers.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/META.json 
new/Mojolicious-7.66/META.json
--- old/Mojolicious-7.65/META.json      2018-02-11 22:54:53.000000000 +0100
+++ new/Mojolicious-7.66/META.json      2018-02-14 09:54:38.000000000 +0100
@@ -58,6 +58,6 @@
       },
       "x_IRC" : "irc://irc.perl.org/#mojo"
    },
-   "version" : "7.65",
+   "version" : "7.66",
    "x_serialization_backend" : "JSON::PP version 2.97001"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/META.yml 
new/Mojolicious-7.66/META.yml
--- old/Mojolicious-7.65/META.yml       2018-02-11 22:54:53.000000000 +0100
+++ new/Mojolicious-7.66/META.yml       2018-02-14 09:54:38.000000000 +0100
@@ -31,5 +31,5 @@
   homepage: http://mojolicious.org
   license: http://www.opensource.org/licenses/artistic-license-2.0
   repository: https://github.com/kraih/mojo.git
-version: '7.65'
+version: '7.66'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/lib/Mojo/Cookie/Response.pm 
new/Mojolicious-7.66/lib/Mojo/Cookie/Response.pm
--- old/Mojolicious-7.65/lib/Mojo/Cookie/Response.pm    2018-01-03 
13:49:50.000000000 +0100
+++ new/Mojolicious-7.66/lib/Mojo/Cookie/Response.pm    2018-02-13 
17:35:27.000000000 +0100
@@ -4,7 +4,7 @@
 use Mojo::Date;
 use Mojo::Util qw(quote split_cookie_header);
 
-has [qw(domain expires httponly max_age origin path secure)];
+has [qw(domain expires host_only httponly max_age path secure)];
 
 my %ATTRS = map { $_ => 1 } qw(domain expires httponly max-age path secure);
 
@@ -100,6 +100,14 @@
 
 Expiration for cookie.
 
+=head2 host_only
+
+  my $bool = $cookie->host_only;
+  $cookie  = $cookie->host_only($bool);
+
+Host-only flag, indicating that the canonicalized request-host is identical to
+the cookie's L</"domain">.
+
 =head2 httponly
 
   my $bool = $cookie->httponly;
@@ -115,13 +123,6 @@
 
 Max age for cookie.
 
-=head2 origin
-
-  my $origin = $cookie->origin;
-  $cookie    = $cookie->origin('mojolicious.org');
-
-Origin of the cookie.
-
 =head2 path
 
   my $path = $cookie->path;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/lib/Mojo/IOLoop/Delay.pm 
new/Mojolicious-7.66/lib/Mojo/IOLoop/Delay.pm
--- old/Mojolicious-7.65/lib/Mojo/IOLoop/Delay.pm       2018-01-03 
13:49:52.000000000 +0100
+++ new/Mojolicious-7.66/lib/Mojo/IOLoop/Delay.pm       2018-02-13 
17:54:49.000000000 +0100
@@ -4,8 +4,6 @@
 # DEPRECATED!
 use base 'Mojo::EventEmitter';
 
-use Mojo::Util 'deprecated';
-
 sub begin {
   my ($self, $offset, $len) = @_;
   $self->{pending}++;
@@ -13,23 +11,8 @@
   return sub { $self->_step($id, $offset // 1, $len, @_) };
 }
 
-# DEPRECATED!
-sub data {
-  deprecated 'Mojo::IOLoop::Delay::data is DEPRECATED';
-  Mojo::Util::_stash(data => @_);
-}
-
 sub pass { $_[0]->begin->(@_) }
 
-# DEPRECATED!
-sub remaining {
-  deprecated 'Mojo::IOLoop::Delay::remaining is DEPRECATED';
-  my $self = shift;
-  return $self->{steps} ||= [] unless @_;
-  $self->{steps} = shift;
-  return $self;
-}
-
 sub steps {
   my ($self, @steps) = @_;
   $self->{steps} = \@steps;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/lib/Mojo/Promise.pm 
new/Mojolicious-7.66/lib/Mojo/Promise.pm
--- old/Mojolicious-7.65/lib/Mojo/Promise.pm    2018-02-03 15:24:40.000000000 
+0100
+++ new/Mojolicious-7.66/lib/Mojo/Promise.pm    2018-02-13 18:09:41.000000000 
+0100
@@ -28,7 +28,7 @@
     );
   }
 
-  return $all;
+  return @promises ? $all : $all->resolve;
 }
 
 sub catch { shift->then(undef, shift) }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/lib/Mojo/UserAgent/CookieJar.pm 
new/Mojolicious-7.66/lib/Mojo/UserAgent/CookieJar.pm
--- old/Mojolicious-7.65/lib/Mojo/UserAgent/CookieJar.pm        2018-01-03 
13:49:43.000000000 +0100
+++ new/Mojolicious-7.66/lib/Mojo/UserAgent/CookieJar.pm        2018-02-13 
17:46:55.000000000 +0100
@@ -22,12 +22,11 @@
     next if length($cookie->value // '') > $size;
 
     # Replace cookie
-    my $origin = $cookie->origin // '';
-    next unless my $domain = lc($cookie->domain // $origin);
+    next unless my $domain = lc($cookie->domain // '');
     next unless my $path   = $cookie->path;
     next unless length(my $name = $cookie->name // '');
     my $jar = $self->{jar}{$domain} ||= [];
-    @$jar = (grep({ _compare($_, $path, $name, $origin) } @$jar), $cookie);
+    @$jar = (grep({ _compare($_, $path, $name, $domain) } @$jar), $cookie);
   }
 
   return $self;
@@ -45,8 +44,9 @@
   for my $cookie (@{$tx->res->cookies}) {
 
     # Validate domain
-    my $host   = lc $url->ihost;
-    my $domain = lc($cookie->domain // $cookie->origin($host)->origin);
+    my $host = lc $url->ihost;
+    $cookie->domain($host)->host_only(1) unless $cookie->domain;
+    my $domain = lc $cookie->domain;
     if (my $cb = $self->ignore) { next if $cb->($cookie) }
     next if $host ne $domain && ($host !~ /\Q.$domain\E$/ || $host =~ 
/\.\d+$/);
 
@@ -72,7 +72,7 @@
     # Grab cookies
     my $new = $self->{jar}{$domain} = [];
     for my $cookie (@$old) {
-      next unless $cookie->domain || $host eq $cookie->origin;
+      next if $cookie->host_only && $host ne $cookie->domain;
 
       # Check if cookie has expired
       if (defined(my $expires = $cookie->expires)) { next if time > $expires }
@@ -101,9 +101,11 @@
 }
 
 sub _compare {
-  my ($cookie, $path, $name, $origin) = @_;
-  return 1 if $cookie->path ne $path || $cookie->name ne $name;
-  return ($cookie->origin // '') ne $origin;
+  my ($cookie, $path, $name, $domain) = @_;
+  return
+       $cookie->path ne $path
+    || $cookie->name ne $name
+    || $cookie->domain ne $domain;
 }
 
 sub _path { $_[0] eq '/' || $_[0] eq $_[1] || index($_[1], "$_[0]/") == 0 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/lib/Mojolicious/Guides/Cookbook.pod 
new/Mojolicious-7.66/lib/Mojolicious/Guides/Cookbook.pod
--- old/Mojolicious-7.65/lib/Mojolicious/Guides/Cookbook.pod    2018-02-05 
17:27:58.000000000 +0100
+++ new/Mojolicious-7.66/lib/Mojolicious/Guides/Cookbook.pod    2018-02-13 
22:31:29.000000000 +0100
@@ -605,7 +605,7 @@
     my $minion = $c->ua->get_p($url->clone->query({q => 'minion'}));
 
     # Render a response once both promises have been resolved
-    Mojo::Promise->all(mojo, $minion)->then(sub {
+    Mojo::Promise->all($mojo, $minion)->then(sub {
       my ($mojo, $minion) = @_;
       $c->render(json => {
         mojo   => $mojo->[0]->result->json('/hits/hits/0/_source/release'),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/lib/Mojolicious.pm 
new/Mojolicious-7.66/lib/Mojolicious.pm
--- old/Mojolicious-7.65/lib/Mojolicious.pm     2018-02-11 02:26:05.000000000 
+0100
+++ new/Mojolicious-7.66/lib/Mojolicious.pm     2018-02-13 18:04:20.000000000 
+0100
@@ -65,7 +65,7 @@
 has validator => sub { Mojolicious::Validator->new };
 
 our $CODENAME = 'Doughnut';
-our $VERSION  = '7.65';
+our $VERSION  = '7.66';
 
 sub AUTOLOAD {
   my $self = shift;
@@ -1042,6 +1042,8 @@
 
 Paul Evans
 
+Paul Robins
+
 Paul Tomlin
 
 Pavel Shaydo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/t/mojo/cookiejar.t 
new/Mojolicious-7.66/t/mojo/cookiejar.t
--- old/Mojolicious-7.65/t/mojo/cookiejar.t     2018-01-03 13:48:53.000000000 
+0100
+++ new/Mojolicious-7.66/t/mojo/cookiejar.t     2018-02-13 18:07:32.000000000 
+0100
@@ -254,6 +254,10 @@
 $jar->prepare($tx);
 is $tx->req->cookie('foo')->name,  'foo',     'right name';
 is $tx->req->cookie('foo')->value, 'without', 'right value';
+is $jar->all->[0]->name,   'foo',             'right name';
+is $jar->all->[0]->value,  'without',         'right value';
+is $jar->all->[0]->domain, 'mojolicious.org', 'right domain';
+is $jar->all->[1], undef, 'no second cookie';
 $tx = Mojo::Transaction::HTTP->new;
 $tx->req->url->parse('http://www.mojolicious.org/perldoc');
 $jar->prepare($tx);
@@ -284,11 +288,9 @@
 $tx->req->url->parse('http://example.com/test');
 $jar->prepare($tx);
 $cookies = $tx->req->every_cookie('foo');
-is $cookies->[0]->name,  'foo',     'right name';
-is $cookies->[0]->value, 'without', 'right value';
-is $cookies->[1]->name,  'foo',     'right name';
-is $cookies->[1]->value, 'with',    'right value';
-is $cookies->[2], undef, 'no third cookie';
+is $cookies->[0]->name,  'foo',  'right name';
+is $cookies->[0]->value, 'with', 'right value';
+is $cookies->[1], undef, 'no second cookie';
 $tx = Mojo::Transaction::HTTP->new;
 $tx->req->url->parse('http://www.example.com/test');
 $jar->prepare($tx);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/t/mojo/promise.t 
new/Mojolicious-7.66/t/mojo/promise.t
--- old/Mojolicious-7.65/t/mojo/promise.t       2018-02-01 00:55:31.000000000 
+0100
+++ new/Mojolicious-7.66/t/mojo/promise.t       2018-02-13 18:10:09.000000000 
+0100
@@ -185,6 +185,14 @@
 is_deeply \@results, [], 'promises not resolved';
 is_deeply \@errors, ['third'], 'promise rejected';
 
+# Empty all
+(@results, @errors) = ();
+Mojo::Promise->all()
+  ->then(sub { @results = 'pass', @_ }, sub { @errors = 'fail', @_ });
+Mojo::IOLoop->one_tick;
+is_deeply \@results, ['pass'], 'promise resolved';
+is_deeply \@errors, [], 'promise not rejected';
+
 # Settle with promise
 $promise  = Mojo::Promise->new->resolve('works');
 @results  = ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Mojolicious-7.65/t/pod_coverage.t 
new/Mojolicious-7.66/t/pod_coverage.t
--- old/Mojolicious-7.65/t/pod_coverage.t       2018-01-03 13:49:07.000000000 
+0100
+++ new/Mojolicious-7.66/t/pod_coverage.t       2018-02-13 18:02:19.000000000 
+0100
@@ -7,5 +7,4 @@
 plan skip_all => 'Test::Pod::Coverage 1.04+ required for this test!'
   unless eval 'use Test::Pod::Coverage 1.04; 1';
 
-# DEPRECATED!
-all_pod_coverage_ok({also_private => ['data', 'remaining']});
+all_pod_coverage_ok();


Reply via email to