0.039 bump

This commit is contained in:
Petr Písař 2013-11-28 13:29:48 +01:00
parent 693e0bc812
commit 4c81294b08
5 changed files with 16 additions and 60 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@
/HTTP-Tiny-0.036.tar.gz /HTTP-Tiny-0.036.tar.gz
/HTTP-Tiny-0.037.tar.gz /HTTP-Tiny-0.037.tar.gz
/HTTP-Tiny-0.038.tar.gz /HTTP-Tiny-0.038.tar.gz
/HTTP-Tiny-0.039.tar.gz

View File

@ -1,45 +0,0 @@
From 5391d7a3c315afbdfb56d68b729cd20c0c6a893d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Wed, 27 Nov 2013 10:58:07 +0100
Subject: [PATCH 2/2] Do not use already existing temporary files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
mirror() method tries to create a new temporary file as can be
concluded by using random name.
To prevent from from attacks, one has to make sure the file does not
exist. This patch creates temporary files with O_CREAT|O_EXCL mode.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
lib/HTTP/Tiny.pm | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lib/HTTP/Tiny.pm b/lib/HTTP/Tiny.pm
index 48763ff..04c4858 100644
--- a/lib/HTTP/Tiny.pm
+++ b/lib/HTTP/Tiny.pm
@@ -6,6 +6,7 @@ use warnings;
our $VERSION = '0.038'; # VERSION
use Carp ();
+use Fcntl ();
my @attributes;
@@ -113,8 +114,8 @@ 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/);
+ 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]
--
1.8.3.1

View File

@ -1,7 +1,7 @@
From 4ead7785b495b48f027f77abe2b1173f3c05f02c Mon Sep 17 00:00:00 2001 From 2dba24236cf734ce89a058541815eef2eb59475c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Wed, 27 Nov 2013 10:45:39 +0100 Date: Wed, 27 Nov 2013 10:45:39 +0100
Subject: [PATCH 1/2] Croak on failed write into a file Subject: [PATCH] Croak on failed write into a file
MIME-Version: 1.0 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -16,12 +16,12 @@ Signed-off-by: Petr Písař <ppisar@redhat.com>
1 file changed, 4 insertions(+), 1 deletion(-) 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/HTTP/Tiny.pm b/lib/HTTP/Tiny.pm diff --git a/lib/HTTP/Tiny.pm b/lib/HTTP/Tiny.pm
index 0178d65..48763ff 100644 index bb824c2..9d98e1f 100644
--- a/lib/HTTP/Tiny.pm --- a/lib/HTTP/Tiny.pm
+++ b/lib/HTTP/Tiny.pm +++ b/lib/HTTP/Tiny.pm
@@ -116,7 +116,10 @@ sub mirror { @@ -118,7 +118,10 @@ sub mirror {
open my $fh, ">", $tempfile sysopen my $fh, $tempfile, Fcntl::O_CREAT()|Fcntl::O_EXCL()|Fcntl::O_WRONLY()
or Carp::croak(qq/Error: Could not open temporary file $tempfile for downloading: $!\n/); or Carp::croak(qq/Error: Could not create temporary file $tempfile for downloading: $!\n/);
binmode $fh; binmode $fh;
- $args->{data_callback} = sub { print {$fh} $_[0] }; - $args->{data_callback} = sub { print {$fh} $_[0] };
+ $args->{data_callback} = sub { + $args->{data_callback} = sub {
@ -30,7 +30,7 @@ index 0178d65..48763ff 100644
+ }; + };
my $response = $self->request('GET', $url, $args); my $response = $self->request('GET', $url, $args);
close $fh 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/);
-- --
1.8.3.1 1.8.3.1

View File

@ -1,6 +1,6 @@
Name: perl-HTTP-Tiny Name: perl-HTTP-Tiny
Version: 0.038 Version: 0.039
Release: 2%{?dist} Release: 1%{?dist}
Summary: Small, simple, correct HTTP/1.1 client Summary: Small, simple, correct HTTP/1.1 client
License: GPL+ or Artistic License: GPL+ or Artistic
Group: Development/Libraries Group: Development/Libraries
@ -8,10 +8,7 @@ URL: http://search.cpan.org/dist/HTTP-Tiny/
Source0: http://www.cpan.org/authors/id/D/DA/DAGOLDEN/HTTP-Tiny-%{version}.tar.gz Source0: http://www.cpan.org/authors/id/D/DA/DAGOLDEN/HTTP-Tiny-%{version}.tar.gz
# Check for write failure, bug #1031096, # Check for write failure, bug #1031096,
# <https://github.com/chansen/p5-http-tiny/issues/32> # <https://github.com/chansen/p5-http-tiny/issues/32>
Patch0: HTTP-Tiny-0.038-Croak-on-failed-write-into-a-file.patch Patch0: HTTP-Tiny-0.039-Croak-on-failed-write-into-a-file.patch
# Do not use already existing temporary files, bug #1031096,
# <https://github.com/chansen/p5-http-tiny/issues/32>
Patch1: HTTP-Tiny-0.038-Do-not-use-already-existing-temporary-files.patch
BuildArch: noarch BuildArch: noarch
BuildRequires: perl BuildRequires: perl
BuildRequires: perl(ExtUtils::MakeMaker) >= 6.17 BuildRequires: perl(ExtUtils::MakeMaker) >= 6.17
@ -45,6 +42,7 @@ BuildRequires: perl(IO::Socket::INET)
BuildRequires: perl(IPC::Cmd) BuildRequires: perl(IPC::Cmd)
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
Requires: perl(bytes) Requires: perl(bytes)
Requires: perl(Fcntl)
Requires: perl(MIME::Base64) Requires: perl(MIME::Base64)
Requires: perl(Time::Local) Requires: perl(Time::Local)
@ -59,7 +57,6 @@ resumes after EINTR.
%prep %prep
%setup -q -n HTTP-Tiny-%{version} %setup -q -n HTTP-Tiny-%{version}
%patch0 -p1 %patch0 -p1
%patch1 -p1
%build %build
perl Makefile.PL INSTALLDIRS=vendor perl Makefile.PL INSTALLDIRS=vendor
@ -79,6 +76,9 @@ make test
%{_mandir}/man3/* %{_mandir}/man3/*
%changelog %changelog
* Thu Nov 28 2013 Petr Pisar <ppisar@redhat.com> - 0.039-1
- 0.039 bump
* Wed Nov 27 2013 Petr Pisar <ppisar@redhat.com> - 0.038-2 * Wed Nov 27 2013 Petr Pisar <ppisar@redhat.com> - 0.038-2
- Croak on failed write into a file (bug #1031096) - Croak on failed write into a file (bug #1031096)
- Do not use already existing temporary files (bug #1031096) - Do not use already existing temporary files (bug #1031096)

View File

@ -1 +1 @@
55f73a9b1cc9843e307487d2d7fe637a HTTP-Tiny-0.038.tar.gz 322bcc9567cc2c8d6202e0cb4a9528cc HTTP-Tiny-0.039.tar.gz