New Upstream Snapshot - libfurl-perl
Ready changes
Summary
Merged new upstream version: 3.14+git20220309.1.d518f1f (was: 3.14).
Resulting package
Built on 2022-10-18T04:34 (took 3m13s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-snapshots libfurl-perl
Lintian Result
Diff
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
new file mode 100644
index 0000000..b146759
--- /dev/null
+++ b/.github/workflows/linux.yml
@@ -0,0 +1,25 @@
+name: linux
+
+on:
+ - push
+ - pull_request
+
+jobs:
+ perl:
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ perl-version:
+ - '5.10'
+ - '5.30'
+ - '5.32'
+ - '5.34'
+ container:
+ image: perl:${{ matrix.perl-version }}
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Dependencies
+ run: |
+ curl -sL https://cpanmin.us/ | perl - -n --with-develop --with-recommends --with-suggests --installdeps .
+ - name: Run Tests
+ run: prove -lr t
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d466e58
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,30 @@
+Makefile
+inc/
+.c
+ppport.h
+.*.sw[pon]
+*.bak
+*.old
+Build
+_build/
+xshelper.h
+META.yml
+MYMETA.yml
+.online
+blib/
+pm_to_blib
+Furl.bs
+xs/Furl.o
+xs/Furl.c
+nytprof*
+core
+perltidy.ERR
+MYMETA.json
+/Furl-*
+/.build
+/_build_params
+/Build
+!Build/
+!META.json
+/Build.bat
+!LICENSE
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..d34b5d8
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "picohttpparser"]
+ path = picohttpparser
+ url = http://github.com/kazuho/picohttpparser.git
diff --git a/Changes b/Changes
index c4ac18e..9a50e9e 100644
--- a/Changes
+++ b/Changes
@@ -1,5 +1,7 @@
Revision history for Perl module Furl
+{{$NEXT}}
+
3.14 2021-05-13T05:30:22Z
- Support 308 HTTP status code
diff --git a/MANIFEST b/MANIFEST
deleted file mode 100644
index 4c573b8..0000000
--- a/MANIFEST
+++ /dev/null
@@ -1,93 +0,0 @@
-Build.PL
-Changes
-LICENSE
-META.json
-README.md
-TODO
-author/benchmark/byown.pl
-author/benchmark/note.mkdn
-author/benchmark/profile.pl
-author/benchmark/simple.pl
-author/mk-chunked-response.pl
-cpanfile
-example/get.pl
-lib/Furl.pm
-lib/Furl/ConnectionCache.pm
-lib/Furl/HTTP.pm
-lib/Furl/Headers.pm
-lib/Furl/Request.pm
-lib/Furl/Response.pm
-lib/Furl/ZlibStream.pm
-t/00_compile.t
-t/01_version.t
-t/100_low/01_simple.t
-t/100_low/03_redirect.t
-t/100_low/04_chunked.t
-t/100_low/05_slowloris.t
-t/100_low/06_errors.t
-t/100_low/07_timeout.t
-t/100_low/08_proxy.t
-t/100_low/09_body.t
-t/100_low/11_write_file.t
-t/100_low/12_write_code.t
-t/100_low/13_deflate.t
-t/100_low/15_multiline_header.t
-t/100_low/16_read_callback.t
-t/100_low/17_keep_alive.t
-t/100_low/18_no_proxy.t
-t/100_low/19_special_headers.t
-t/100_low/20_header_format_none.t
-t/100_low/21_keep_alive_timedout.t
-t/100_low/22_keep_alive.t
-t/100_low/22_keep_alive_http10.t
-t/100_low/23_redirect_relative.t
-t/100_low/24_no_content.t
-t/100_low/25_signal.t
-t/100_low/26_headers_only.t
-t/100_low/27_close_on_eof.t
-t/100_low/28_idn.t
-t/100_low/29_completion_slash.t
-t/100_low/30_user_agent.t
-t/100_low/31_chunked_unexpected_eof.t
-t/100_low/32_proxy_auth.t
-t/100_low/33_basic_auth.t
-t/100_low/34_keep_request.t
-t/100_low/35_get_address.t
-t/100_low/36_inactivity_timeout.t
-t/100_low/37_bad_content_length.t
-t/100_low/38_continue.t
-t/100_low/39_httpoxy.t
-t/300_high/01_simple.t
-t/300_high/02_agent.t
-t/300_high/04_http_request.t
-t/300_high/05_suppress_dup_host_header.t
-t/300_high/06_keep_request.t
-t/300_high/07_cookie.t
-t/300_high/99_error.t
-t/400_components/001_response-coding/01-file.t
-t/400_components/001_response-coding/t-euc-jp.html
-t/400_components/001_response-coding/t-iso-2022-jp.html
-t/400_components/001_response-coding/t-null.html
-t/400_components/001_response-coding/t-shiftjis.html
-t/400_components/001_response-coding/t-utf-8.html
-t/400_components/01_headers.t
-t/400_components/02_response.t
-t/400_components/03_request.t
-t/800_regression/01_capture_request.t
-t/999_intrenal/parse_url.t
-t/HTTPServer.pm
-t/Slowloris.pm
-t/Util.pm
-xt/02_perlcritic.t
-xt/04_leaktrace.t
-xt/05_valgrind.t
-xt/200_online/01_idn.t
-xt/200_online/02_google.t
-xt/200_online/03_yahoo_com.t
-xt/200_online/04_ssl.t
-xt/200_online/05_connect_error.t
-xt/200_online/06_net-dns-lite.t
-xt/200_online/07_ssl_shutdown.t
-xt/perlcriticrc
-META.yml
-MANIFEST
\ No newline at end of file
diff --git a/META.json b/META.json
index e4886f3..25c4baa 100644
--- a/META.json
+++ b/META.json
@@ -4,13 +4,13 @@
"Tokuhiro Matsuno <tokuhirom@gmail.com>"
],
"dynamic_config" : 0,
- "generated_by" : "Minilla/v3.1.12",
+ "generated_by" : "Minilla/v3.1.15, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
- "version" : "2"
+ "version" : 2
},
"name" : "Furl",
"no_index" : {
@@ -91,6 +91,7 @@
"Test::TCP" : "2.11"
},
"suggests" : {
+ "HTTP::Body" : "0",
"HTTP::CookieJar" : "0",
"HTTP::Proxy" : "0",
"HTTP::Server::PSGI" : "0",
@@ -106,39 +107,15 @@
}
}
},
- "provides" : {
- "Furl" : {
- "file" : "lib/Furl.pm",
- "version" : "3.14"
- },
- "Furl::ConnectionCache" : {
- "file" : "lib/Furl/ConnectionCache.pm"
- },
- "Furl::HTTP" : {
- "file" : "lib/Furl/HTTP.pm",
- "version" : "3.14"
- },
- "Furl::Headers" : {
- "file" : "lib/Furl/Headers.pm"
- },
- "Furl::Request" : {
- "file" : "lib/Furl/Request.pm"
- },
- "Furl::Response" : {
- "file" : "lib/Furl/Response.pm"
- },
- "Furl::ZlibStream" : {
- "file" : "lib/Furl/ZlibStream.pm"
- }
- },
- "release_status" : "stable",
+ "release_status" : "unstable",
"resources" : {
"bugtracker" : {
"web" : "https://github.com/tokuhirom/Furl/issues"
},
"homepage" : "https://github.com/tokuhirom/Furl",
"repository" : {
- "url" : "git://github.com/tokuhirom/Furl.git",
+ "type" : "git",
+ "url" : "https://github.com/tokuhirom/Furl.git",
"web" : "https://github.com/tokuhirom/Furl"
}
},
@@ -172,6 +149,6 @@
"tarao <tarao.gnn@gmail.com>",
"xaicron <xaicron@gmail.com>"
],
- "x_serialization_backend" : "JSON::PP version 4.06",
+ "x_serialization_backend" : "JSON::PP version 4.07",
"x_static_install" : 1
}
diff --git a/META.yml b/META.yml
deleted file mode 100644
index a4eb508..0000000
--- a/META.yml
+++ /dev/null
@@ -1,95 +0,0 @@
----
-abstract: 'Lightning-fast URL fetcher'
-author:
- - 'Tokuhiro Matsuno <tokuhirom@gmail.com>'
-build_requires:
- File::Temp: '0'
- Test::More: '0.96'
- Test::Requires: '0'
- Test::TCP: '2.11'
-configure_requires:
- Module::Build::Tiny: '0.035'
-dynamic_config: 0
-generated_by: 'Minilla/v3.1.12, CPAN::Meta::Converter version 2.150010'
-license: perl
-meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: '1.4'
-name: Furl
-no_index:
- directory:
- - t
- - xt
- - inc
- - share
- - eg
- - examples
- - author
- - builder
-provides:
- Furl:
- file: lib/Furl.pm
- version: '3.14'
- Furl::ConnectionCache:
- file: lib/Furl/ConnectionCache.pm
- Furl::HTTP:
- file: lib/Furl/HTTP.pm
- version: '3.14'
- Furl::Headers:
- file: lib/Furl/Headers.pm
- Furl::Request:
- file: lib/Furl/Request.pm
- Furl::Response:
- file: lib/Furl/Response.pm
- Furl::ZlibStream:
- file: lib/Furl/ZlibStream.pm
-recommends:
- Compress::Raw::Zlib: '0'
- HTTP::CookieJar: '0'
- IO::Socket::SSL: '0'
- Net::IDN::Encode: '0'
-requires:
- Class::Accessor::Lite: '0'
- Encode: '0'
- HTTP::Parser::XS: '0.11'
- MIME::Base64: '0'
- Mozilla::CA: '0'
- Scalar::Util: '0'
- Socket: '0'
- Time::HiRes: '0'
- perl: '5.008001'
-resources:
- bugtracker: https://github.com/tokuhirom/Furl/issues
- homepage: https://github.com/tokuhirom/Furl
- repository: git://github.com/tokuhirom/Furl.git
-version: '3.14'
-x_contributors:
- - 'Audrey Tang <audreyt@audreyt.org>'
- - 'Breno G. de Oliveira <garu@cpan.org>'
- - 'Debabrata Deka <60925700+ddeka2910@users.noreply.github.com>'
- - 'Fuji Goro <fuji.goro@dena.jp>'
- - 'Fuji, Goro <g.psy.va@gmail.com>'
- - 'Fuji, Goro <gfuji@cpan.org>'
- - 'Graham Ollis <plicease@cpan.org>'
- - 'HIROSE Masaaki <hirose31@gmail.com>'
- - 'Jari Salmela <bissei@users.noreply.github.com>'
- - 'Jiro Nishiguchi <jiro@cpan.org>'
- - 'Kazuho Oku <kazuhooku@gmail.com>'
- - 'Keiji, Yoshimi <walf443@gmail.com>'
- - 'Masahiro Nagano <kazeburo@gmail.com>'
- - 'Neil Bowers <neil@bowers.com>'
- - 'Shohei YOSHIDA <syohex@gmail.com>'
- - 'Shoichi Kaji <skaji@cpan.org>'
- - 'Toshio Ito <debug.ito@gmail.com>'
- - 'Yasuhiro Matsumoto <mattn.jp@gmail.com>'
- - 'bayashi <bayashi@cpan.org>'
- - 'ikasam_a <masaki.nakagawa@gmail.com>'
- - 'itchyny <itchyny@hatena.ne.jp>'
- - 'kimoto <peerler@gmail.com>'
- - 'ktat <ktat.is@gmail.com>'
- - 'lestrrat <lestrrat+github@gmail.com>'
- - 's-aska <s.aska.org@gmail.com>'
- - 'tarao <tarao.gnn@gmail.com>'
- - 'xaicron <xaicron@gmail.com>'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
-x_static_install: 1
diff --git a/cpanfile b/cpanfile
index d62b2ba..5f2d6aa 100644
--- a/cpanfile
+++ b/cpanfile
@@ -35,6 +35,7 @@ on test => sub {
suggests 'Plack';
suggests 'Test::Valgrind';
suggests 'HTTP::CookieJar';
+ suggests 'HTTP::Body';
};
on develop => sub {
diff --git a/debian/changelog b/debian/changelog
index 026f2dc..9f139ab 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+libfurl-perl (3.14+git20220309.1.d518f1f-1) UNRELEASED; urgency=low
+
+ * New upstream snapshot.
+
+ -- Debian Janitor <janitor@jelmer.uk> Tue, 18 Oct 2022 04:31:47 -0000
+
libfurl-perl (3.14-2) unstable; urgency=medium
* Team upload.
diff --git a/debian/patches/1001_relax_timeout_errormsg.patch b/debian/patches/1001_relax_timeout_errormsg.patch
index cd8a002..eec59c7 100644
--- a/debian/patches/1001_relax_timeout_errormsg.patch
+++ b/debian/patches/1001_relax_timeout_errormsg.patch
@@ -3,9 +3,11 @@ Author: Jonas Smedegaard <dr@jones.dk>
Last-Update: 2017-10-01
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/t/100_low/07_timeout.t
-+++ b/t/100_low/07_timeout.t
-@@ -73,7 +73,7 @@
+Index: libfurl-perl.git/t/100_low/07_timeout.t
+===================================================================
+--- libfurl-perl.git.orig/t/100_low/07_timeout.t
++++ libfurl-perl.git/t/100_low/07_timeout.t
+@@ -73,7 +73,7 @@ test_tcp(
$content_size_mb *= 2;
}
is $code, 500, "request()/$_";
diff --git a/debian/patches/1002_unset_http_proxy.patch b/debian/patches/1002_unset_http_proxy.patch
index ef611d3..030ba78 100644
--- a/debian/patches/1002_unset_http_proxy.patch
+++ b/debian/patches/1002_unset_http_proxy.patch
@@ -3,9 +3,11 @@ Author: Jonas Smedegaard <dr@jones.dk>
Last-Update: 2017-10-01
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/t/100_low/08_proxy.t
-+++ b/t/100_low/08_proxy.t
-@@ -104,6 +104,7 @@
+Index: libfurl-perl.git/t/100_low/08_proxy.t
+===================================================================
+--- libfurl-perl.git.orig/t/100_low/08_proxy.t
++++ libfurl-perl.git/t/100_low/08_proxy.t
+@@ -119,6 +119,7 @@ sub test_agent () {
}
local $ENV{'HTTP_PROXY'} = '';
@@ -13,9 +15,11 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
# Request target with non-default port
---- a/t/100_low/32_proxy_auth.t
-+++ b/t/100_low/32_proxy_auth.t
-@@ -23,6 +23,7 @@
+Index: libfurl-perl.git/t/100_low/32_proxy_auth.t
+===================================================================
+--- libfurl-perl.git.orig/t/100_low/32_proxy_auth.t
++++ libfurl-perl.git/t/100_low/32_proxy_auth.t
+@@ -39,6 +39,7 @@ my $verbose = 1;
my $via = "VIA!VIA!VIA!";
local $ENV{'HTTP_PROXY'} = '';
diff --git a/debian/patches/1003_proxy_localhost.patch b/debian/patches/1003_proxy_localhost.patch
index 8cd1e22..6dd8f80 100644
--- a/debian/patches/1003_proxy_localhost.patch
+++ b/debian/patches/1003_proxy_localhost.patch
@@ -16,9 +16,11 @@ Author: gregor herrmann <gregoa@debian.org>
Last-Update: 2019-03-21
Bug: https://github.com/tokuhirom/Furl/pull/116
---- a/t/100_low/08_proxy.t
-+++ b/t/100_low/08_proxy.t
-@@ -120,7 +120,7 @@
+Index: libfurl-perl.git/t/100_low/08_proxy.t
+===================================================================
+--- libfurl-perl.git.orig/t/100_low/08_proxy.t
++++ libfurl-perl.git/t/100_low/08_proxy.t
+@@ -135,7 +135,7 @@ test_tcp(
},
server => sub { # proxy server
my $proxy_port = shift;
@@ -27,7 +29,7 @@ Bug: https://github.com/tokuhirom/Furl/pull/116
$proxy->agent(test_agent);
$proxy->start();
},
-@@ -140,7 +140,7 @@
+@@ -155,7 +155,7 @@ test_tcp(
},
server => sub { # proxy server
my $proxy_port = shift;
@@ -36,7 +38,7 @@ Bug: https://github.com/tokuhirom/Furl/pull/116
$proxy->agent(test_agent);
$proxy->agent->real_httpd_port($httpd->port);
$proxy->start();
-@@ -183,7 +183,7 @@
+@@ -198,7 +198,7 @@ test_tcp(
},
server => sub { # proxy server
my $proxy_port = shift;
@@ -45,9 +47,11 @@ Bug: https://github.com/tokuhirom/Furl/pull/116
$proxy->start();
},
);
---- a/t/100_low/18_no_proxy.t
-+++ b/t/100_low/18_no_proxy.t
-@@ -70,7 +70,7 @@
+Index: libfurl-perl.git/t/100_low/18_no_proxy.t
+===================================================================
+--- libfurl-perl.git.orig/t/100_low/18_no_proxy.t
++++ libfurl-perl.git/t/100_low/18_no_proxy.t
+@@ -86,7 +86,7 @@ test_tcp(
},
server => sub { # proxy server
my $proxy_port = shift;
@@ -56,9 +60,11 @@ Bug: https://github.com/tokuhirom/Furl/pull/116
$proxy->start();
},
);
---- a/t/100_low/32_proxy_auth.t
-+++ b/t/100_low/32_proxy_auth.t
-@@ -79,7 +79,7 @@
+Index: libfurl-perl.git/t/100_low/32_proxy_auth.t
+===================================================================
+--- libfurl-perl.git.orig/t/100_low/32_proxy_auth.t
++++ libfurl-perl.git/t/100_low/32_proxy_auth.t
+@@ -95,7 +95,7 @@ test_tcp(
},
server => sub { # proxy server
my $proxy_port = shift;
diff --git a/t/100_low/08_proxy.t b/t/100_low/08_proxy.t
index 461d465..236213c 100644
--- a/t/100_low/08_proxy.t
+++ b/t/100_low/08_proxy.t
@@ -7,6 +7,7 @@ use Plack::Loader;
use Test::More;
use Plack::Request;
use Test::Requires qw(Plack::Request HTTP::Body), 'HTTP::Proxy';
+use Socket qw(AF_INET);
plan tests => (10*2 + 8)*3;
@@ -14,6 +15,20 @@ my $verbose = 1;
{
package Test::HTTP::Proxy;
use parent qw(HTTP::Proxy);
+ use HTTP::Daemon;
+
+ sub new {
+ my $self = shift;
+ my %args = @_;
+ my %daemon_args = (
+ LocalAddr => '127.0.0.1',
+ LocalPort => $args{port},
+ ReuseAddr => 1,
+ Family => Socket::AF_INET,
+ );
+ my $daemon = HTTP::Daemon->new(%daemon_args);
+ $self->SUPER::new(@_, daemon => $daemon);
+ }
sub log {
my($self, $level, $prefix, $msg) = @_;
::note "$prefix: $msg" if $verbose;
diff --git a/t/100_low/18_no_proxy.t b/t/100_low/18_no_proxy.t
index 70c9e0a..8d2d502 100644
--- a/t/100_low/18_no_proxy.t
+++ b/t/100_low/18_no_proxy.t
@@ -7,6 +7,7 @@ use Plack::Loader;
use Test::More;
use Plack::Request;
use Test::Requires qw(Plack::Request HTTP::Body), 'HTTP::Proxy';
+use Socket qw(AF_INET);
plan tests => 4 + 7*3;
@@ -14,6 +15,21 @@ my $verbose = 1;
{
package Test::HTTP::Proxy;
use parent qw(HTTP::Proxy);
+ use HTTP::Daemon;
+
+ sub new {
+ my $self = shift;
+ my %args = @_;
+ my %daemon_args = (
+ LocalAddr => '127.0.0.1',
+ LocalPort => $args{port},
+ ReuseAddr => 1,
+ Family => Socket::AF_INET,
+ );
+ my $daemon = HTTP::Daemon->new(%daemon_args);
+ $self->SUPER::new(@_, daemon => $daemon);
+ }
+
sub log {
my($self, $level, $prefix, $msg) = @_;
::note "$prefix: $msg" if $verbose;
diff --git a/t/100_low/32_proxy_auth.t b/t/100_low/32_proxy_auth.t
index 2b45816..2a0d9cb 100644
--- a/t/100_low/32_proxy_auth.t
+++ b/t/100_low/32_proxy_auth.t
@@ -7,6 +7,7 @@ use Plack::Loader;
use Test::More;
use Plack::Request;
use MIME::Base64 qw/encode_base64/;
+use Socket qw(AF_INET);
plan tests => 7*6;
@@ -14,6 +15,21 @@ my $verbose = 1;
{
package Test::HTTP::Proxy;
use parent qw(HTTP::Proxy);
+ use HTTP::Daemon;
+
+ sub new {
+ my $self = shift;
+ my %args = @_;
+ my %daemon_args = (
+ LocalAddr => '127.0.0.1',
+ LocalPort => $args{port},
+ ReuseAddr => 1,
+ Family => Socket::AF_INET,
+ );
+ my $daemon = HTTP::Daemon->new(%daemon_args);
+ $self->SUPER::new(@_, daemon => $daemon);
+ }
+
sub log {
my($self, $level, $prefix, $msg) = @_;
::note "$prefix: $msg" if $verbose;
diff --git a/t/800_regression/01_capture_request.t b/t/800_regression/01_capture_request.t
index 9148cce..d3b8586 100644
--- a/t/800_regression/01_capture_request.t
+++ b/t/800_regression/01_capture_request.t
@@ -6,7 +6,7 @@ use Test::More;
use Furl;
my $f=Furl->new(capture_request=>1, timeout=>5);
-my $r=$f->post("http://example.com.local");
+my $r=$f->post("http://example.com.local.");
is($r->captured_req_headers, undef);
is($r->captured_req_content, undef);
Debdiff
File lists identical (after any substitutions)
No differences were encountered in the control files