PaulHowarth/Blog/2022-08-31

Wednesday 31st August 2022

Local Packages

  • Updated curl to 7.85.0:

    • quic: Add support via wolfSSL
    • schannel: Add TLS 1.3 support
    • setopt: Add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR

    • amigaos: Fix threaded resolver on AmigaOS 4.x
    • amissl: Allow AmiSSL to be used with AmigaOS 4.x builds
    • amissl: Make AmiSSL v5 a minimum requirement
    • asyn-ares: Make a single alloc out of hostname + async data
    • asyn-thread: Fix socket leak on OOM
    • asyn-thread: Make getaddrinfo_complete return CURLcode
    • base64: base64url encoding has no padding
    • BUGS.md: Improve language

    • build: Improve OS string in CMake and 'config-win32.h'

    • cert.d: Clarify that escape character works for file paths

    • cirrus.yml: Replace py38-pip with py39-pip

    • cirrus/freebsd-ci: Bootstrap the pip installer

    • cmake: Add detection of threadsafe feature
    • cmake: Do not force Windows target versions
    • cmake: Fix build for mingw cross compile
    • cmake: Link curl to its dependencies with PRIVATE

    • cmake: Remove APPEND in export(TARGETS)

    • cmake: Set feature PSL if present

    • cmake: Support ngtcp2 boringssl backend

    • cmdline-opts/gen.pl: Improve performance

    • config: Remove the check for and use of SIZEOF_SHORT

    • configure: -pthread not available on AmigaOS 4.x

    • configure: Check for the stdatomic.h header in configure

    • configure: Fix --disable-headers-api

    • configure: Fix broken m4 syntax in TLS options

    • configure: Fixup bsdsocket detection code for AmigaOS 4.x

    • configure: If asked to use TLS, fail if no TLS lib was detected

    • configure: Introduce CURL_SIZEOF

    • connect: Add quic connection information

    • connect: Close the happy eyeballs loser connection when using QUIC

    • connect: Revert the use of IP*_RECVERR

    • connect: Set socktype/protocol correctly

    • cookie: Reject cookies with "control bytes" (CVE-2022-35252)

    • cookie: Treat a blank domain in Set-Cookie: as non-existing

    • cookie: Use %zu to infof() for size_t values

    • curl-compilers.m4: Make icc use -diag* options and disable two warnings

    • curl-config: Quote directories with potential space

    • curl-confopts: Remove leftover AC_REQUIREs

    • curl-functions.m4: Check whether atomics can link

    • curl-wolfssl.m4: Add options header when building test code

    • curl.h: CURLE_CONV_FAILED is obsoleted

    • curl.h: Include <sys/select.h> on SunOS

    • curl: Output warning when a cookie is dropped due to size

    • curl: writeout: Fix repeated header outputs

    • Curl_close: Call Curl_resolver_cancel to avoid memory leak

    • curl_easy_header: Add CURLH_PSEUDO to sanity check

    • curl_mime_data.3: Polish the wording

    • curl_multi_timeout.3: Clarify usage

    • CURLINFO_SPEED_UPLOAD/DOWNLOAD.3: Fix examples

    • CURLOPT_BUFFERSIZE.3: Add upload buffersize to see also

    • CURLOPT_CONNECT_ONLY.3: Clarify multi API use

    • CURLOPT_SERVER_RESPONSE_TIMEOUT: The new name

    • digest: Fix memory leak, fix not quoted 'opaque'
    • digest: Fix missing increment of 'nc' value for auth-int

    • digest: Pass over leading spaces in qop values
    • digest: Reject broken header with session protocol but without qop
    • docs/cmdline-opts/gen.pl: Encode leading single and double quotes

    • docs/cmdline-opts: Fix example and categories for --form-escape

    • docs/cmdline: Mark fail and fail-with-body as mutually exclusive

    • docs: Add dns category to --resolve

    • docs: Explain curl_easy_escape/unescape curl handle is ignored

    • docs: Remove him/her/he/she from documentation
    • doh: Move doh related struct definitions to doh.h

    • doh: Use https protocol by default
    • easy_lock.h: Include sched.h if available to fix build

    • easy_lock.h: Use __asm__ instead of asm to fix build

    • easy_lock: Fix build for mingw

    • easy_lock: Fix build with icc

    • easy_lock: Fix the #ifdef conditional for ia32_pause

    • easy_lock: Switch to using atomic_int instead of bool

    • easyoptions: Fix icc warning

    • escape: Remove outdated comment
    • examples/curlx.c: Remove

    • file: Add handling of native AmigaOS paths
    • file: Fix icc enumerated type mixed with another type warning

    • ftp: Use a correct expire ID for timer expiry
    • getinfo: Return better error on NULL as first argument

    • GHA: Add two Intel compiler CI jobs
    • GHA: Move libressl CI from zuul to GitHub

    • GHA: Move over ngtcp2-gnutls CI job from zuul
    • GHA: Move CI torture test from Zuul
    • h2h3: Fix overriding the 'TE: Trailers' header

    • hostip: Resolve *.localhost to 127.0.0.1/::1

    • HTTP3.md: Update to msh3 v0.4.0

    • http: Typecast the httpreq assignment to avoid icc compiler warning

    • http_aws_sigv4.c: Remove two unused includes

    • http_chunks: Remove an assign + typecast
    • hyper: Customize test1274 to how hyper unfolds headers

    • hyper: Enable obs-folded multiline headers
    • hyper: Use wakers for curl pause/resume
    • imap: Use ISALNUM() for alphanumeric checks

    • ldap: Adapt to conn->port now being an 'int'

    • lib/curl_path.c: Add ISC to license expression

    • lib3026: Reduce the number of threads to 100

    • libcurl-security.3: Fix typo on macro "SH_"

    • libssh2: Make atime/mtime date overflow return error

    • libssh2: Provide symlink name in SFTP dir listing
    • libssh: Ignore deprecation warnings
    • libssh: Make atime/mtime date overflow return error

    • Makefile.m32: Add 'CURL_RC' and 'CURL_STRIP' variables

    • Makefile.m32: Add 'NGTCP2_LIBS' option

    • Makefile.m32: Add support for custom ARCH

    • Makefile.m32: Allow -nghttp3/-ngtcp2 without -ssl

    • Makefile.m32: Do not set the libcurl.rc debug flag

    • Makefile.m32: Stop trying to build libcares.a

    • memdebug: Add annotation attributes
    • mprintf: Fix *dyn_vprintf() when out of memory

    • mprintf: Make dprintf_formatf never return negative

    • msh3: Fix the QUIC disconnect function
    • multi: Fix the return code from Curl_pgrsDone()

    • multi: Have curl_multi_remove_handle close CONNECT_ONLY transfer

    • multi: Use a pipe instead of a socketpair on Apple platforms
    • multi: Use larger dns hash table for multi interface
    • multi_wait: Fix and improve Curl_poll error handling on Windows

    • multi_wait: Fix skipping to populate revents for extra_fds

    • netrc.d: Remove spurious quote

    • netrc: Use the password from lines without login

    • ngtcp2: Fix build error due to change in nghttp3 prototypes
    • ngtcp2: Fix incompatible function pointer types
    • ngtcp2: Fix missing initialization of nghttp3_nv.flags

    • ngtcp2: Fix stall or busy loop on STOP_SENDING with upload data

    • ngtcp2: Implement cb_h3_stop_sending and cb_h3_reset_stream callbacks

    • openssl: Add 'CURL_BORINGSSL_VERSION' to identify BoringSSL

    • openssl: Add cert path in error message
    • openssl: Add details to "unable to set client certificate" error
    • openssl: Fix BoringSSL symbol conflicts with LDAP and Schannel
    • quiche: Fix build failure
    • select: Do not return fatal error on EINTR from poll()

    • sendf: Fix paused header writes since after the header API

    • sendf: Make Curl_debug a void function

    • sendf: Skip storing HTTP headers if HTTP disabled

    • sendf: Store the header type in an unsigned char to avoid icc warnings

    • splay: Avoid using -1 in unsigned variable

    • test3026: Add support for Windows using native Win32 threads

    • test3026: Require 'threadsafe'

    • test44[2-4]: Add '--resolve' to the keywords

    • tests/server/sockfilt.c: Avoid race condition without a mutex

    • tests: Fix http2 tests to use CRLF headers
    • tests: Several enumerated type clean-ups
    • THANKS: Merged two entries for Evgeny Grin

    • tidy-up: Delete unused build configuration macros
    • tool: Re-introduce set file comment code for AmigaOS
    • tool_cfgable: Make 'synthetic_error' a plain bool

    • tool_formparse: Fix variable may be used before its value is set

    • tool_getparam: Make --doh-url "" switch it off

    • tool_getparam: Repair cleanarg

    • tool_operate: Better clean-up of easy handle in exit path

    • tool_paramhlp: Fix "enumerated type mixed with another type"

    • tool_paramhlp: Make check_protocol return ParameterError

    • tool_progress: Avoid division by zero in parallel progress meter

    • tool_writeout: Fix enumerated type mixed with another type

    • trace: 0x7F character is non-printable
    • unit1303: Four tests should have TRUE for 'connecting'

    • url: Enumerated type mixed with another type
    • url: Really use the user provided in the url when netrc entry exists

    • url: Reject URLs with hostnames longer than 65535 bytes
    • url: Treat missing usernames in netrc as empty

    • urldata: Change second proxytype field to unsigned char to match

    • urldata: Make 'negnpn' use less storage

    • urldata: Make state.httpreq an unsigned char

    • urldata: Make three *_proto struct fields smaller

    • urldata: Move smaller fields down in connectdata struct

    • urldata: Reduce size of several struct fields
    • vtls: Make Curl_ssl_backend() return the enum type curl_sslbackend

    • Windows: Improve random source
  • Updated xz to 5.2.6 in Fedora 38 onwards (see NEWS for details)

  • Rebuilt perl-Compress-Raw-Lzma (2.201) for xz 5.2.6 in Fedora 38 onwards


Recent