libwww-perl / libwww-perl/LWP-Protocol-https

Test 'https_proxy.t' fails on windows 10

Open
#62 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Perl
Stars
17
Forks
35
PR merge metrics
No merged PRs in 30d

Description

While installing the module through cpan, the 'https_proxy.t' testcase is failing with error - unexpected response: 500 SSL upgrade failed: SSL connect attempt failed error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed

The error is similar to https://github.com/libwww-perl/LWP-Protocol-https/issues/58. Since the test case is different and different OS hence creating this ticket. Installing it on personal PC hence no corporate firewall.

Perl version - Strawberry Perl 5.30.1 built for MSWin32-x64-multi-thread
LWP::UserAgent - 6.42

Here is the full installation log -

PS C:\> cpan install LWP::Protocol::https
Loading internal logger. Log::Log4perl recommended for better logging
CPAN: CPAN::SQLite loaded ok (v0.217)
Database was generated on Sun, 22 Nov 2020 20:05:47 GMT
Running install for module 'LWP::Protocol::https'
CPAN: Digest::SHA loaded ok (v6.02)
CPAN: Compress::Zlib loaded ok (v2.09)
Checksum for C:\berrybrew\5.30.1_64\cpan\sources\authors\id\O\OA\OALDERS\LWP-Protocol-https-6.09.tar.gz ok
CPAN: Archive::Tar loaded ok (v2.32)
CPAN: YAML::XS loaded ok (v0.80)
CPAN: CPAN::Meta::Requirements loaded ok (v2.140)
CPAN: Parse::CPAN::Meta loaded ok (v2.150010)
CPAN: CPAN::Meta loaded ok (v2.150010)
CPAN: Module::CoreList loaded ok (v5.20191120)
Configuring O/OA/OALDERS/LWP-Protocol-https-6.09.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for LWP::Protocol::https
Writing MYMETA.yml and MYMETA.json
  OALDERS/LWP-Protocol-https-6.09.tar.gz
  C:\berrybrew\5.30.1_64\perl\bin\perl.exe Makefile.PL -- OK
Running make for O/OA/OALDERS/LWP-Protocol-https-6.09.tar.gz
cp lib/LWP/Protocol/https.pm blib\lib\LWP\Protocol\https.pm
  OALDERS/LWP-Protocol-https-6.09.tar.gz
  C:\berrybrew\5.30.1_64\c\bin\gmake.exe -- OK
Running make test for OALDERS/LWP-Protocol-https-6.09.tar.gz
"C:\berrybrew\5.30.1_64\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00-report-prereqs.t .. #
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.38
#
# === Configure Suggests ===
#
#     Module      Want Have
#     -------- ------- ----
#     JSON::PP 2.27300 4.04
#
# === Build Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.38
#
# === Test Requires ===
#
#     Module                 Want     Have
#     ---------------------- ---- --------
#     ExtUtils::MakeMaker     any     7.38
#     File::Spec              any     3.78
#     File::Temp              any   0.2309
#     IO::Select              any     1.40
#     IO::Socket::INET        any     1.40
#     IO::Socket::SSL        1.54    2.066
#     IO::Socket::SSL::Utils  any    2.014
#     LWP::UserAgent         6.06     6.42
#     Socket                  any    2.029
#     Test::More              any 1.302169
#     Test::RequiresInternet  any     0.05
#     warnings                any     1.44
#
# === Test Recommends ===
#
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.150010
#
# === Runtime Requires ===
#
#     Module                  Want     Have
#     ------------------- -------- --------
#     IO::Socket::SSL         1.54    2.066
#     LWP::Protocol::http      any     6.42
#     LWP::UserAgent          6.06     6.42
#     Mozilla::CA         20180117 20180117
#     Net::HTTPS                 6     6.19
#     base                     any     2.27
#     strict                   any     1.11
#
t/00-report-prereqs.t .. ok
t/apache.t ............. ok
t/https_proxy.t ........ 1/56 # creating cert for direct.ssl.access
# creating cert for direct.ssl.access
# creating cert for foo
unexpected response: 500 SSL upgrade failed: SSL connect attempt failed error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
Content-Type: text/plain
Client-Date: Sun, 22 Nov 2020 20:14:20 GMT
Client-Warning: Internal response

SSL upgrade failed: SSL connect attempt failed error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed at C:/berrybrew/5.30.1_64/perl/vendor/lib/LWP/Protocol/http.pm line 209.
# Looks like your test exited with 9 just after 36.
t/https_proxy.t ........ Dubious, test returned 9 (wstat 2304, 0x900)
Failed 20/56 subtests
t/method_in_san.t ...... ok

Test Summary Report
-------------------
t/https_proxy.t      (Wstat: 2304 Tests: 36 Failed: 0)
  Non-zero exit status: 9
  Parse errors: Bad plan.  You planned 56 tests but ran 36.
Files=4, Tests=56,  6 wallclock secs ( 0.03 usr +  0.03 sys =  0.06 CPU)
Result: FAIL
Failed 1/4 test programs. 0/56 subtests failed.
gmake: *** [Makefile:890: test_dynamic] Error 255
  OALDERS/LWP-Protocol-https-6.09.tar.gz
  C:\berrybrew\5.30.1_64\c\bin\gmake.exe test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports OALDERS/LWP-Protocol-https-6.09.tar.gz
Stopping: 'install' failed for 'LWP::Protocol::https'.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The report identifies t/https_proxy.t and a Windows 10 Strawberry Perl environment. Reproduce that test first, then inspect the SSL proxy exchange and certificate-verification error reported in the log. Done means the test completes all 56 planned tests successfully on the reported setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl
Domain
testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.