PaulHowarth/Blog/2022-03

Paul's Blog Entries for March 2022

Tuesday 1st March 2022

Fedora Project

  • Updated perl-Mail-Message to 3.012 in F-36 and Rawhide:

  • Fixes

    • ::Field::Attributes should be stored case insensitively (CPAN RT#140894)

    • ::Field::Full phrase with encoding: qp parsing failed when the qp contains non-atext characters (GH#2)

    • ::Field::Full QP encoding must be more strict for use in MIME headers (GH#3)

    • Coercion from Mail::Address to Mail::Message::Full::Address is too lazy (GH#4)

  • Improvements

    • Extend date in mbox-separator to accept 203X as well
  • Updated perl-Test-DistManifest (1.014) in F-36 and Rawhide to work around package note files breaking t/02manifest.t (Bug #2059504)

Local Packages

  • Updated perl-Test-DistManifest (1.014) as per the Fedora version

Wednesday 2nd March 2022

Fedora Project

  • Updated perl-Crypt-CBC (3.04) in F-36 and Rawhide to fix an issue around the -literal_key option (GH#4)

  • Branched and built perl-Data-Compare (1.27) for EPEL-9

Thursday 3rd March 2022

Fedora Project

  • Updated perl-DateTime to 1.57 in F-36 and Rawhide:

    • The DateTime->from_epoch constructor now accepts a single, non-hashref argument, and validates it as an epoch value (GH#119)

RPM Fusion Project

  • Updated xv (3.10a) to fix incorrectly applied corrupt GIF patch

Local Packages

  • Updated perl-DateTime to 1.57 as per the Fedora version

  • Updated xv (3.10a) as per the RPM Fusion version

Friday 4th March 2022

Fedora Project

Local Packages

  • Updated unrar to 6.11

Saturday 5th March 2022

Fedora Project

  • Updated perl-Test-Simple to 1.302190 in F-36 and Rawhide:

    • Fix subtest times to be hi-res

Local Packages

  • Updated perl-Test-Simple to 1.302190 as per the Fedora version

  • Updated perl-Test2-Suite to 0.000145:

    • Fix subtest times to be hi-res

Sunday 6th March 2022

Local Packages

  • Updated curl to 7.82.0:

    • curl: Add --json

    • mesalink: Remove support
    • appveyor: Update images from VS 2019 to 2022
    • appveyor: Use VS 2017 image for the autotools builds
    • azure-pipelines: Add a build on Windows with libssh

    • bearssl: Fix connect error on expired cert and no verify
    • bearssl: Fix EXC_BAD_ACCESS on incomplete CA cert

    • bearssl: Fix session resumption (session id)
    • build: Enable -Warith-conversion

    • build: Fix -Wenum-conversion handling

    • build: Fix ngtcp2 crypto library detection

    • checkprefix: Remove strlen calls

    • checksrc: Fix typo in comment

    • CI: Move 'distcheck' job from Zuul to Azure pipelines
    • CI: Move scan-build job from Zuul to Azure Pipelines
    • CI: Move the NSS job from Zuul to GHA
    • CI: Move the OpenSSL + c-ares job from Zuul to Circle CI

    • CI: Move the rustls CI job to GHA from Zuul
    • CI: Move two jobs from Zuul to Circle CI
    • CI: Test building wolfssl with --enable-opensslextra

    • CI: workflows/wolfssl: Install impacket

    • circleci: Add a job using libssh

    • cirlceci: Also run a c-ares job on arm with debug enabled

    • cmake: Fix iOS CMake project generation error
    • cmdline-opts/gen.pl: Fix option matching to improve references

    • config.d: Clarify _curlrc filename is still valid on Windows

    • configure.ac: Use user-specified gssapi dir when using pkg-config

    • configure: Change output for cross-compiled alt-svc support

    • configure: Fix '--enable-code-coverage' typo

    • configure: Remove support for "embedded ares"

    • configure: Requires --with-nss-deprecated to build with NSS

    • configure: Set CURL_LIBRARY_PATH for nghttp2

    • configure: Support specification of a nghttp2 library path

    • configure: Use correct CFLAGS for threaded resolver with xlC on AIX

    • curl tool: Erase some more sensitive command line arguments
    • curl-functions.m4: Fix LIBRARY_PATH adjustment to avoid eval

    • curl-functions.m4: Revert DYLD_LIBRARY_PATH tricks in CURL_RUN_IFELSE

    • curl-openssl: Fix SRP check for OpenSSL 3.0

    • curl-openssl: Remove the OpenSSL headers and library versions check

    • curl.h: Fix typo

    • curl: Remove "separators" (when using globbed URLs)

    • curl_getdate.3: Remove pointless .PP line

    • curl_multi_socket.3: Remove callback and typical usage descriptions

    • curl_url_set.3: Mention when CURLU_ALLOW_SPACE was added

    • CURLMOPT_TIMERFUNCTION/DATA.3: Fix the examples

    • CURLOPT_PROGRESSFUNCTION.3: Fix example struct assignment

    • CURLOPT_RESOLVE.3: Change example port to 443

    • CURLOPT_XFERINFOFUNCTION.3: Fix example struct assignment

    • CURLOPT_XFERINFOFUNCTION.3: Fix typo in example

    • CURLSHOPT_LOCKFUNC.3: Fix typo "relased" ⇒ "released"

    • DES: Fix compile break for OpenSSL without DES
    • docs/cmdline-opts: Add "mutexed" options for more http versions

    • docs/DEPRECATE: Remove NPN support in August 2022

    • docs: Capitalize the name 'Netscape'
    • docs: Document HTTP/2 not insisting on TLS 1.2
    • docs: Fix mandoc -T lint formatting complaints

    • docs: Update IETF links to use datatracker
    • examples/curlx: Support building with OpenSSL 1.1.0+

    • examples/multi-app.c: Call curl_multi_remove_handle as well

    • formdata: Avoid size_tlong typecast overflows

    • ftp: Provide error message for control bytes in path
    • gen.pl: Terminate "example" sections better

    • GHA: Add a macOS CI job with libssh

    • gskit: Convert to using Curl_poll

    • gskit: Fix errors from Curl_strerror refactor

    • gskit: Fix initialization of Curl_ssl_gskit struct

    • h2/h3: Allow CURLOPT_HTTPHEADER change ":scheme"

    • hostcheck: Fixed to not touch used input strings

    • hostcheck: Reduce strlen calls on chained certificates

    • hostip: Avoid unused parameter error in Curl_resolv_check

    • http2: Move two infof calls to debug-h2-only

    • http: Make Curl_compareheader() take string length arguments too

    • if2ip: Make Curl_ipv6_scope a blank macro when IPv6-disabled

    • KNOWN_BUGS: Fix typo "libpsl"

    • ldap: Return CURLE_URL_MALFORMAT for bad URL

    • lib: Remove support for CURL_DOES_CONVERSIONS

    • libssh2: Don't typecast socket to int for libssh2_session_handshake

    • libssh: Fix include files and defines use for Windows builds

    • Makefile.am: Generate VS 2022 projects

    • maketgz: Return error if 'make dist' fails

    • mbedtls: Enable use of mbedtls without CRL support

    • mbedtls: Enable use of mbedtls without filesystem functions support

    • mbedtls: Fix CURLOPT_SSLCERT_BLOB (again)

    • mbedtls: Fix ssl_init error with mbedTLS 3.1.0+

    • mbedtls: Remove #include <mbedtls/certs.h>

    • mbedtls: Return CURLcode result instead of a mbedtls error code

    • md5: Check md5_init_func return value

    • mime: Use a define instead of the magic number 24
    • misc: Allow curl to build with wolfssl --enable-opensslextra

    • misc: Remove BeOS code and references
    • misc: Remove the final watcom references
    • misc: Remove unused data when IPv6 is not supported
    • mqtt: Free 'sendleftovers' in disconnect

    • mqtt: Free any send leftover data when done
    • multi: Allow user callbacks to call curl_multi_assign

    • multi: Grammar fix in comment
    • multi: Remember connection_id before returning connection to pool

    • multi: Set in_callback for multi interface callbacks

    • netware: Remove support
    • next.d: Remove .fi/.nf as they are handled by gen.pl

    • ngtcp2: Adapt to changed end of headers callback proto

    • ngtcp2: Fix declaration of ‘result’ shadows a previous local

    • ngtcp2: Reset dynbuf when it is fully drained

    • nss: Handshake callback during shutdown has no conn->bundle

    • ntlm: Remove unused feature defines
    • openldap: Fix compiler warning when built without SSL support
    • openldap: Implement SASL authentication
    • openldap: Pass string length arguments to client_write()

    • openssl.h: Avoid including OpenSSL headers here

    • openssl: Check if sessionid flag is enabled before retrieving session

    • openssl: Check SSL_get_ex_data to prevent potential NULL dereference

    • openssl: Check the return value of BIO_new_mem_buf()

    • openssl: Fix 'ctx_option_t' for OpenSSL v3+

    • openssl: Fix build for version < 1.1.0

    • openssl: Return error if TLS 1.3 is requested when not supported
    • os400: Add function wrapper for system command
    • os400: Add link to QADRT devkit to README.OS400

    • os400: Default build to target current release
    • OS400: Fix typos in rpg include file
    • projects: Add support for Visual Studio 17 (2022)
    • projects: Fix Visual Studio wolfSSL configurations
    • projects: Remove support for MSVC before VC10 (Visual Studio 2010)
    • quiche: After leaving h3_recving state, poll again

    • quiche: Change qlog file extension to '.sqlog'

    • quiche: Fix upload for bigger content-length

    • quiche: Handle stream reset
    • quiche: Remove two leftover debug infof() outputs

    • quiche: Verify the server cert on connect
    • quiche: When *recv_body() returns data, drain it before polling again

    • README.md: Fix links

    • remote-header-name.d: Clarify

    • runtests.pl: Disable debuginfod

    • runtests.pl: Properly print the test if it contains binary zeros

    • runtests.pl: Support the nonewline attribute for the data part

    • runtests.pl: Tolerate test directories without Makefile.inc

    • runtests: Allow client/file to specify multiple directories

    • runtests: Make 'rustls' a testable feature

    • runtests: Make 'wolfssl' a testable feature

    • runtests: Set 'oldlibssh' for libssh versions before 0.9.5

    • rustls: Add CURLOPT_CAINFO_BLOB support

    • schannel: Move the algIds array out of schannel.h

    • scripts/cijobs.pl: Output data about all current CI jobs

    • scripts/completion.pl: Improve zsh completion

    • scripts/copyright.pl: Support many provided file names on the cmdline

    • scripts/delta: Check the file delta for current branch

    • sectransp: Mark a 3DES cipher as weak

    • setopt: Do bounds-check before strdup

    • setopt: Fix the TLSAUTH #ifdefs for proxy-disabled builds

    • sha256: Fix minimum OpenSSL version

    • smb: Pass socket for writing and reading data instead of FIRSTSOCKET

    • ssl: Reduce allocated space for ssl backend when FTP is disabled
    • test3021: Disable all msys2 path transformation

    • test374: GIF data without newline at the end

    • tests/disable-scan.pl: Properly detect multiple symbols per line

    • tests/unit/Makefile.am: Add NSS_LIBS to build with NSS fine

    • tool_findfile: Check ~/.config/curlrc too

    • tool_getparam: DNS options that need c-ares now fail without it

    • TPF: Drop support
    • unit1610: Init SSL library before calling SHA256 functions

    • url: Exclude zonefrom_url when no ipv6 is available

    • url: Given a user in the URL, find pwd for that user in netrc

    • url: Keep trailing dot in host name
    • url: Make Curl_disconnect return void

    • urlapi: Handle "redirects" smarter

    • urldata: CONN_IS_PROXIED replaces bits.proxy when proxy can be disabled

    • urldata: Remove conn->bits.user_passwd

    • version_win32: Fix warning for 'CURL_WINDOWS_APP'

    • vtls: Fix socket check conditions
    • vtls: Pass on the right SNI name
    • vxworks: Drop support
    • winbuild: Add parameter WITH_SSH

    • wolfssl: Return CURLE_AGAIN for the SSL_ERROR_NONE case

    • wolfssl: When SSL_read() returns zero, check the error

    • write-out.d: Fix num_headers formatting

    • x509asn1: Toggle off functions not needed for different tls backends

  • I had to add a fix for failing test1459 on EL-8 with libssh 0.9.4 (GH#8548)

Monday 7th March 2022

Fedora Project

  • Updated perl-Net-SSH-Perl (2.14) in F-36 and EPEL-9 to add full Elliptic Curve Cryptography support (courtesy of updated perl-CryptX packages)

  • Branched and built perl-Digest-BubbleBabble (0.02) for EPEL-8

  • Branched and built perl-Net-SSH-Perl (2.14) for EPEL-7 and EPEL-8

Wednesday 9th March 2022

Fedora Project

  • Updated perl-Apache-Session-Browseable to 1.3.10 in F-36 and Rawhide:

    • Add quote for fields in INSERT query

Thursday 10th March 2022

Fedora Project

  • Updated perl-Scalar-Properties (1.100860) in F-36 and Rawhide to work around package note files breaking t/release-dist-manifest.t (Bug #2062685)

Local Packages

  • Updated perl-Scalar-Properties (1.100860) as per the Fedora version

Friday 11th March 2022

Fedora Project

  • Updated perl-MouseX-SimpleConfig (0.11) in F-36 and Rawhide to work around FTBFS triggered by package note feature

  • Updated perl-Software-License-CCpack (1.11) in F-36 and Rawhide to work around FTBFS triggered by package note feature

  • Updated perl-Test-Assert (0.0504) in Rawhide to use the %license macro unconditionally

  • Updated perl-Test-Mojibake (1.3) in F-36 and Rawhide to work around FTBFS triggered by package note feature

  • Updated perl-Test-Signature (1.11) in F-36 and Rawhide to work around FTBFS triggered by package note feature

  • Updated perl-Test-Synopsis (0.17) in F-36 and Rawhide to work around FTBFS triggered by package note feature

Local Packages

  • Updated perl-Software-License-CCpack (1.11) as per the Fedora version

  • Updated perl-Test-Assert (0.0504) as per the Fedora version

  • Updated perl-Test-Mojibake (1.3) as per the Fedora version

  • Updated perl-Test-Signature (1.11) as per the Fedora version

  • Updated perl-Test-Synopsis (0.17) as per the Fedora version

Sunday 13th March 2022

Fedora Project

  • Updated python-paramiko to 2.10.1 in F-34, F-35, F-36 and Rawhide:

    • CVE-2022-24302: Creation of new private key files using '~paramiko.pkey.PKey' subclasses was subject to a race condition between file creation and mode modification, which could be exploited by an attacker with knowledge of where the Paramiko-using code would write out such files; this has been patched by using 'os.open' and 'os.fdopen' to ensure new files are opened with the correct mode immediately (we've left the subsequent explicit 'chmod' in place to minimize any possible disruption, though it may get removed in future backwards-incompatible updates)

    • Add support for the '%C' token when parsing SSH config files (GH#1976)

    • Add support for OpenSSH's Windows agent as a fallback when Putty/WinPageant isn't available or functional (GH#1509, GH#1837, GH#1868)

    • Significantly speed up low-level read/write actions on '~paramiko.sftp_file.SFTPFile' objects by using 'bytearray'/'memoryview' (GH#892); this is unlikely to change anything for users of the higher level methods like 'SFTPClient.get' or 'SFTPClient.getfo', but users of 'SFTPClient.open' will likely see orders of magnitude improvements for files larger than a few megabytes in size

    • Add 'six' explicitly to install-requires; it snuck into active use at some point but has only been indicated by transitive dependency on 'bcrypt' until they somewhat-recently dropped it (GH#1985); this will be short-lived until we drop Python 2 support

  • Updated python-paramiko (2.4.3) in EPEL-8 with back-ported fix (and tests) for CVE-2022-24302 from version 2.10.1

Tuesday 15th March 2022

Fedora Project

  • Updated perl-Math-GMP to 2.25 in F-36 and Rawhide:

    • Refactoring
    • Test::Builder overloading workaround (GH#9)

Local Packages

  • Updated curl (7.82.0) to fix incorrect CURLE_OUT_OF_MEMORY error on CN check failure with openssl backend (GH#8559, GH#8560)

  • Updated perl-Module-CoreList to 5.20220313:

    • Updated for v5.34.1

Wednesday 16th March 2022

Fedora Project

  • Rebuilt perl-PAR-Packer (1.054) for perl 5.34.1 in F-36 and Rawhide

Thursday 17th March 2022

Fedora Project

  • Updated perl-Math-Pari to 2.030520 in F-36 and Rawhide (see Changes file for details)

  • Updated perl-PPIx-QuoteLike to 0.020 in F-36 and Rawhide:

    • Correct and optimize the computation of logical column position (the one that takes account of tabs)
  • Rebuilt polymake (4.6) for perl-5.34.1 in Rawhide

Local Packages

  • Updated perl-DateTime-TimeZone to 2.52:

    • This release is based on version 2022a of the Olson database
    • Contemporary changes for Palestine
  • Updated perl-DBD-SQLite (1.70) to adapt it to SQLite-3.38.0 (Bug #2065567)

  • Updated perl-Locale-Maketext-Simple (0.21) to work around package note files breaking t/0-signature.t

  • Updated perl-Module-Signature (0.88) to drop workarounds for running the signature test as it requires network access

  • Updated perl-PPIx-QuoteLike to 0.020 as per the Fedora version

Friday 18th March 2022

Fedora Project

  • Built perl-Net-DNS (1.33) in F-36, main maintainer having already done it for F-34, F-35 and Rawhide

  • Rebuilt polymake (4.6) for perl-5.34.1 in F-36

Local Packages

  • Updated perl-PPIx-Regexp to 0.083:

    • Correct and optimize the computation of logical column position (the one that takes account of tabs)
  • Updated perl-Pod-Spell (1.20) to work around package note files breaking xt/release/dist-manifest.t

  • Updated perl-Test-Portability-Files (0.10) to work around package note files breaking t/release-dist-manifest.t

  • Updated perl-Text-Template (1.60) work around package note files breaking t/author-signature.t

Saturday 19th March 2022

Fedora Project

  • Updated python-paramiko to 2.10.3 in F-34, F-35, F-36 and Rawhide:

    • Certificate-based pubkey auth was inadvertently broken when adding SHA2 support in version 2.9.0 (GH#1963, GH#1977)

    • Switch from module-global to thread-local storage when recording thread IDs for a logging helper; this should avoid one flavour of memory leak for long-running processes (GH#2002, GH#2003)

Sunday 20th March 2022

Local Packages

  • Updated perl-Module-CoreList to 5.20220320:

    • Updated for v5.35.10

Wednesday 23rd March 2022

Fedora Project

  • Updated perl-Math-Pari to 2.03052101 in F-36 and Rawhide (see Changes for details)

Thursday 24th March 2022

Fedora Project

  • Updated perl-MouseX-App-Cmd (0.30) in F-35 to fix FTBFS due to test failure in t/build_emulates_new.t

  • I added this patch, based on the change to fix the equivalent issue in MooseX::App::Cmd

  •    1 Based on https://github.com/moose/MooseX-App-Cmd/commit/631fdba06b3ec24acc3c95d51e85f433063ac800
       2 
       3 Soften test to handle changes in App::Cmd 0.332 (RT#134752)
       4 
       5 --- t/build_emulates_new.t
       6 +++ t/build_emulates_new.t
       7 @@ -15,4 +15,8 @@ use Test::More tests => 1;
       8  
       9  }
      10  
      11 -is_deeply( \%{ Bar->new }, \%{ Foo->new }, 'Internal hashes match' );
      12 +my @attrs = qw(arg0 command full_arg0 show_version);
      13 +my $foo; @{$foo}{@attrs} = @{ Foo->new }{@attrs};
      14 +my $bar; @{$bar}{@attrs} = @{ Bar->new }{@attrs};
      15 +
      16 +is_deeply( $bar, $foo, 'Internal hashes match' );
      17 
    
  • That was in addition to this existing patch for compatibility with App::Cmd version 0.328:

  •    1 App-Cmd-0.328 something changed and that broke MouseX::App::Cmd.
       2 
       3 This patch is similar to change in MooseX-App-Cmd-0.32. It adds
       4 dependency on MouseX::NonMoose.
       5 
       6 CPAN RT#107068
       7 
       8 Petr Písař: Ported to 0.30.
       9 
      10 Signed-off-by: Petr Písař <ppisar@redhat.com>
      11 ---
      12  lib/MouseX/App/Cmd.pm | 20 ++------------------
      13  1 file changed, 2 insertions(+), 18 deletions(-)
      14 
      15 diff --git a/lib/MouseX/App/Cmd.pm b/lib/MouseX/App/Cmd.pm
      16 index d9bc2bc..30446bd 100644
      17 --- a/lib/MouseX/App/Cmd.pm
      18 +++ b/lib/MouseX/App/Cmd.pm
      19 @@ -3,27 +3,11 @@ use 5.006;
      20  package MouseX::App::Cmd; # git description: v0.29-32-g69e2d04
      21  use Mouse;
      22  use English '-no_match_vars';
      23 -use File::Basename ();
      24 +use MouseX::NonMoose;
      25 +extends 'App::Cmd';
      26  
      27  our $VERSION = '0.30'; # VERSION
      28  use namespace::autoclean;
      29 -extends 'Mouse::Object', 'App::Cmd';
      30 -
      31 -sub BUILDARGS {
      32 -    my ( undef, @arg ) = @_;
      33 -    return {} if !@arg;
      34 -    return { arg => $arg[0] } if 1 == @arg;
      35 -    return {@arg};
      36 -}
      37 -
      38 -sub BUILD {
      39 -    my $self  = shift;
      40 -    my $class = blessed $self;
      41 -    $self->{arg0}      = File::Basename::basename($PROGRAM_NAME);
      42 -    $self->{command}   = $class->_command( {} );
      43 -    $self->{full_arg0} = $PROGRAM_NAME;
      44 -    return;
      45 -}
      46  
      47  ## no critic (Modules::RequireExplicitInclusion)
      48  __PACKAGE__->meta->make_immutable();
      49 -- 
      50 2.4.3
    
  • I did this so that the Fedora 35 FTBFS (Bug #1939439) and FTI (Bug #1964649) bugs could be closed; the package is retired in later Fedora releases and I have no interest in bringing it back (it has even disappeared from MetaCPAN so there's no upstream anyway)

  • Updated perl-Net-SSH-Perl (2.14) in Rawhide to drop the weak dependency on the Crypt::RSA module, which I also maintain but intend to retire in the near future

  • Branched and built perl-Class-Accessor-Lite (0.08) for EPEL-9

Monday 28th March 2022

Local Packages

  • Updated symlinks to 1.7

  • Updated ud (0.7.1) always to assume systemd-based init

  • Rebuilt perl-Net-DNS (1.33) to sync with Rawhide

Tuesday 29th March 2022

Fedora Project

  • Rebuilt perl-PAR-Packer (1.052) and polymake (4.5) in side tag for update to perl 5.34.1 in F-35

Local Packages

  • Updated perl-Module-Build (0.4231) to handle missing ExtUtils::CBuilder as a missing compiler (Bug #1547165)

  • Updated python2-cffi to 1.15.0

  • Updated python2-pycparser to 2.20

Wednesday 30th March 2022

Fedora Project

  • Updated perl-Math-Pari to 2.030522 in F-36 and Rawhide (see Changes for details)

Local Packages

  • Updated nmap (7.92) to use bundled liblua on EL-9, which has liblua 5.4.x (nmap wants 5.3.x) and to use %{set_build_flags} where available

  • Updated perl-File-Find-Rule-Perl to 1.16:

  • Updated python2-xapian to 1.4.19 in F-36 and Rawhide to match the update of xapian-bindings there

Previous Month: February 2022
Next Month: April 2022

Recent