Update HTTP-Tiny to CPAN version 0.039
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Fri, 29 Nov 2013 21:07:00 +0000 (21:07 +0000)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Fri, 29 Nov 2013 21:07:00 +0000 (21:07 +0000)
  [DELTA]

0.039     2013-11-27 19:48:29 America/New_York

    [FIXED]

    - Temporary file creating during mirror() is now opened with O_EXCL
      for added security

Porting/Maintainers.pl
cpan/HTTP-Tiny/lib/HTTP/Tiny.pm

index c731d96..4623248 100755 (executable)
@@ -585,7 +585,7 @@ use File::Glob qw(:case);
     },
 
     'HTTP::Tiny' => {
-        'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.038.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.039.tar.gz',
         'FILES'        => q[cpan/HTTP-Tiny],
         'EXCLUDED'     => [
             't/00-compile.t',
index 0178d65..bb824c2 100644 (file)
@@ -3,7 +3,7 @@ package HTTP::Tiny;
 use strict;
 use warnings;
 # ABSTRACT: A small, simple, correct HTTP/1.1 client
-our $VERSION = '0.038'; # VERSION
+our $VERSION = '0.039'; # VERSION
 
 use Carp ();
 
@@ -113,13 +113,16 @@ sub mirror {
         $args->{headers}{'if-modified-since'} ||= $self->_http_date($mtime);
     }
     my $tempfile = $file . int(rand(2**31));
-    open my $fh, ">", $tempfile
-        or Carp::croak(qq/Error: Could not open temporary file $tempfile for downloading: $!\n/);
+
+    require Fcntl;
+    sysopen my $fh, $tempfile, Fcntl::O_CREAT()|Fcntl::O_EXCL()|Fcntl::O_WRONLY()
+       or Carp::croak(qq/Error: Could not create temporary file $tempfile for downloading: $!\n/);
     binmode $fh;
     $args->{data_callback} = sub { print {$fh} $_[0] };
     my $response = $self->request('GET', $url, $args);
     close $fh
-        or Carp::croak(qq/Error: Could not close temporary file $tempfile: $!\n/);
+        or Carp::croak(qq/Error: Caught error closing temporary file $tempfile: $!\n/);
+
     if ( $response->{success} ) {
         rename $tempfile, $file
             or Carp::croak(qq/Error replacing $file with $tempfile: $!\n/);
@@ -1010,7 +1013,7 @@ HTTP::Tiny - A small, simple, correct HTTP/1.1 client
 
 =head1 VERSION
 
-version 0.038
+version 0.039
 
 =head1 SYNOPSIS
 
@@ -1609,6 +1612,10 @@ Mike Doherty <doherty@cpan.org>
 
 =item *
 
+Petr Písař <ppisar@redhat.com>
+
+=item *
+
 Serguei Trouchelle <stro@cpan.org>
 
 =item *