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

More details

Full run details