Paul's Blog Entries for June 2021
Thursday 3rd June 2021
Local Packages
Updated curl (7.77.0) to build the curl tool without metalink support (https://curl.se/mail/archive-2021-06/0006.html, Bug #1967213, GH#7176)
Updated libidn (1.37) to remove unnecessary findbugs dependency (Bug #1966769)
Updated libxml2 (2.9.12) to fix xmlNodeDumpOutputInternal regression (Bug #1965662)
Friday 4th June 2021
Fedora Project
Submitted a Review Request for a perl-Statistics-ChiSquare (1.0000) package (needed for updated perl-Crypt-Random version)
Updated Judy (1.0.5) in Rawhide to replace undefined behaviour patch with one from upstream author, as used in debian since 2015 (see Debian Bug #782841)
Local Packages
Updated Judy as per the Fedora version
Monday 7th June 2021
Fedora Project
Orphaned python-invoke, which uses pytest-relaxed in its test suite, which in turn requires pytest < 5 and fails to build with Python 3.10
Tuesday 8th June 2021
Local Packages
Updated python-passlib (1.7.4) to add extras metapackages for argon2, bcrypt, totp
Updated python2-xapian to sync with xapian-bindings-1.4.18-2 in Rawhide
Updated schily to 2021.06.07
Rebuilt bluefish (2.2.12), libxml2 (2.9.12) for Python 3.10 in rawhide
Friday 11th June 2021
Fedora Project
Imported and built perl-Statistics-ChiSquare (1.0000) for F-33, F-34, Rawhide, EPEL-7 and EPEL-8 after it passed review
Updated perl-Crypt-Random to 1.54 in Rawhide:
Removed a superfluous call to makerandom_itv()
Improved makerandom_itv test to ensure generated numbers are in the interval
Actually include t/chisquare.t
Monday 14th June 2021
Fedora Project
Updated proftpd to 1.3.7b in F-33, F-34, Rawhide and EPEL-8 Playground:
Fixed occasional segfaults with FTPS data transfers using TLSv1.3, when session tickets could not be decrypted (GH#1063)
Passive transfers failed unexpectedly due to use of SO_REUSEPORT socket option (GH#1171)
Implemented support for Redis 6.x AUTH semantics (GH#1070)
Fixed memory use-after-free issue in mod_sftp, which could cause unexpected login/authentication issues
Fixed SQL syntax regression for some generated SQL statements (GH#1149)
Fixed "Corrupted MAC on input" errors when SFTP uses the umac-64@openssh.com digest (GH#1111)
Local Packages
Updated proftpd to 1.3.7b as per the Fedora version
Tuesday 15th June 2021
Local Packages
Updated perl-Search-Elasticsearch to 7.713:
- Stable release for Elasticsearch 7.13
Updated unrar to 6.02
Wednesday 16th June 2021
Fedora Project
Branched and built perl-Math-Round (0.07) for EPEL-8
Friday 18th June 2021
Local Packages
Added packages for proftpd 1.3.8rc1; release candidates are available for download until the full 1.3.8 release is available, but are not included in the repositories visible by yum/dnf so as to prevent existing proftpd users getting unwanted updates to a not-yet-ready release
Sunday 20th June 2021
Fedora Project
Updated gtkwave to 3.3.110 in Rawhide:
gtk_ctree_node_moveto bugfix in SST
MSVC compiler fix for fstapi`
Update xml2stems and rtlbrowse to support generate
Removed ghwdump from the distribution (now provided with GHDL)
Fix for when WAVE_GTK3_GESTURE_ZOOM_USES_GTK_PHASE_CAPTURE is disabled
- Integrated blank window fixes from Fedora
- Minor scan-build fixes
Local Packages
Updated gtkwave to 3.3.110 as per the Fedora version
Monday 21st June 2021
Fedora Project
Updated perl-Mixin-Linewise to 0.109 in Rawhide:
Use "-r" test instead of "-f" test, to allow use on (say) named pipes
- Update author information
- Add perl support section to docs
Updated perl-Sub-Exporter to 0.988 in Rawhide:
- Update author contact info
- Add perl support section to docs
Cleaned up and rebuilt perl-File-MMagic (1.30) and perl-XML-RSS-LibXML (0.3105) in Rawhide, adding glibc-gconv-extra as a test requirement due to Changes/Gconv_package_split_in_glibc
Local Packages
Cleaned up and rebuilt perl-File-MMagic (1.30) as per the Fedora version
Updated perl-Mixin-Linewise to 0.109 as per the Fedora version; the new version uses syntax like this:
package Mixin::Linewise 0.109;
- instead of the older syntax:
package Mixin::Linewise; $Mixin::Linewise::VERSION = '0.108';
- The RPM dependency generators prior to Fedora 21 and RHEL 8 do not understand this new syntax so I had to add manual provides for builds on older distributions
Updated perl-Module-CoreList to 5.20210620:
- Updated for v5.35.1
Updated perl-Net-Telnet to 3.05:
- Fixed some documentation and pod command typos
Stopped using the deprecated variable $[ in the autoflush idiom select((select($fh), $|=1)[$[])
Added a workaround for the "require FileHandle" bug in perl 5.10.1
Fixed a bug in new() that caused the instantiation to fail when setting one of the *_log input args to an empty string
Improved the speed of waitfor() to search for the "match", especially when reading a large amount of data, by using the dynamic arrays @- and @+ instead of $` and $&
- Changed the logging subroutines to also accept a tied filehandle
Fixed new perl warning about argument isn't numeric in numeric ge (>=)
Updated perl-Sub-Exporter to 0.988 as per the Fedora version
Tuesday 22nd June 2021
Fedora Project
Updated proftpd (1.3.7b) in Rawhide to add glibc-gconv-extra as a test requirement from Fedora 35 onwards due to Changes/Gconv_package_split_in_glibc
Local Packages
Updated dovecot (2.3):
Updated dovecot to 2.3.15:
CVE-2021-29157: Dovecot does not correctly escape kid and azp fields in JWT tokens, which may be used to supply attacker controlled keys to validate tokens, if attacker has local access
CVE-2021-33515: On-path attacker could have injected plaintext commands before STARTTLS negotiation that would be executed after STARTTLS finished with the client
- Disconnection log messages are now more standardized across services; they also always now start with "Disconnected" prefix
Dovecot now depends on libsystemd for systemd integration
- Removed support for Lua 5.2; use version 5.1 or 5.3 instead
config: Some settings are now marked as "hidden" and it's discouraged to change these settings; they will no longer be visible in doveconf output, except if they have been changed or if the doveconf -s parameter is used (see https://doc.dovecot.org/settings/advanced/ for details)
imap-compress: Compression level is now algorithm specific (see https://doc.dovecot.org/settings/plugin/compress-plugin/)
indexer-worker: Convert "Indexed" info logs to an event named "indexer_worker_indexing_finished" (see https://doc.dovecot.org/admin_manual/list_of_events/#indexer-worker-indexing-finished)
Add TSLv1.3 support to min_protocols
Allow configuring ssl_cipher_suites (for TLSv1.3+)
acl: Add acl_ignore_namespace setting, which allows to entirely ignore ACLs for the listed namespaces
imap: Support official RFC8970 preview/snippet syntax; old methods of retrieving preview information via IMAP commands ("SNIPPET and PREVIEW with explicit algorithm selection") have been deprecated
imapc: Support INDEXPVT for imapc storage to enable private message flags for cluster wide shared mailboxes
lib-storage: Add new events: mail_opened, mail_expunge_requested, mail_expunged, mail_cache_lookup_finished (see https://doc.dovecot.org/admin_manual/list_of_events/#mail)
zlib, imap-compression, fs-compress: Support compression levels that the algorithm supports
- Before, we would allow hardcoded value between 1 and 9 and would default to 6
- Now, we allow using per-algorithm value range and default to whatever default the algorithm specifies
*-login: Commands pipelined together with and just after the authenticate command cause these commands to be executed twice; this applies to all protocols that involve user login, which currently comprises of imap, pop3, submission and managesieve
*-login: Processes are supposed to disconnect the oldest non-logged in connection when process_limit was reached; this didn't actually happen with the default "high-security mode" (with service_count=1) where each connection is handled by a separate process
*-login: When login process reaches client/process limits, oldest client connections are disconnected; if one of these was still doing anvil lookup, this caused a crash, though it could happen only if the login process limits were very low or if the server was overloaded
Fixed building with link time optimizations (-flto)
auth: Userdb iteration with passwd driver does not always return all users with some nss drivers
dsync: Shared INBOX not synced when "mail_shared_explicit_inbox" was disabled; if a user has a shared mailbox which is another user's INBOX, dsync didn't include the mailbox in syncing unless explicit naming was enabled with "mail_shared_explicit_inbox" set to "yes"
dsync: Shared namespaces were not synced with "-n" flag
dsync: Syncing shared INBOX failed if mail_attribute_dict was not set; if a user has a shared mailbox that is another user's INBOX, dsync failed to export the mailbox if mail attributes are disabled
fts-solr, fts-tika: Using both Solr FTS and Tika may have caused HTTP requests to assert-crash: Panic: file http-client-request.c: line 1232 (http_client_request_send_more): assertion failed: (req->payload_input != NULL)
fts-tika: 5xx errors returned by Tika server as indexing failures; however, Tika can return 5xx for some attachments every time, so the 5xx error should be retried once, but treated as success if it happens on the retry as well (v2.3 regression)
fts-tika: v2.3.11 regression: Indexing messages with fts-tika may have resulted in Panic: file message-parser.c: line 802 (message_parser_deinit_from_parts): assertion failed: (ctx->nested_parts_count == 0 || i_stream_have_bytes_left(ctx->input))
imap: SETMETADATA could not be used to unset metadata values; instead, NIL was handled as a "NIL" string (v2.3.14 regression)
imap: IMAP BINARY FETCH crashes at least on empty base64 body: Panic: file index-mail-binary.c: line 358 (blocks_count_lines): assertion failed: (block_count == 0 || block_idx+1 == block_count)
imap: If IMAP client using the NOTIFY command was disconnected while sending FETCH notifications to the client, imap could crash with Panic: Trying to close mailbox INBOX with open transactions
imap: Using IMAP COMPRESS extension can cause IMAP connection to hang when IMAP commands are >8 kB long
imapc: If remote server sent BYE but didn't immediately disconnect, it could cause infinite busy-loop
lib-index: Corrupted cache record size in dovecot.index.cache file could have caused a crash (segfault) when accessing it
lib-oauth2: JWT token time validation now works correctly with 32-bit systems
lib-ssl-iostream: Checking hostnames against an SSL certificate was case-sensitive
lib-storage: Corrupted mime.parts in dovecot.index.cache may have resulted in Panic: file imap-bodystructure.c: line 206 (part_write_body): assertion failed: (text == ((part->flags & MESSAGE_PART_FLAG_TEXT) != 0))
lib-storage: Index rebuilding (e.g. via doveadm force-resync) didn't preserve the "hdr-pop3-uidl" header; because of this, the next pop3 session could have accessed all of the emails' metadata to read their POP3 UIDL (opening dbox files)
listescape: When using the listescape plugin and a shared namespace, the plugin didn't work properly anymore, resulting in errors like: "Invalid mailbox name: Name must not have '/' character"
lmtp: Connection crashes if connection gets disconnected due to multiple bad commands and the last bad command is BDAT
lmtp: The Dovecot-specific LMTP parameter XRCPTFORWARD was blindly forwarded by LMTP proxy without checking that the backend has support; this caused a command parameter error from the backend if it was running an older Dovecot release (this could only occur in more complex setups where the message was proxied twice; when the proxy generated the XRCPTFORWARD parameter itself the problem did not occur, so this only happened when it was forwarded)
lmtp: The LMTP proxy crashes with a panic when the remote server replies with an error while the mail is still being forwarded through a DATA/BDAT command
lmtp: Username may have been missing from lmtp log line prefixes when it was performing autoexpunging
master: Dovecot would incorrectly fail with haproxy 2.0.14 service checks
master: systemd service: Dovecot announces readiness for accepting connections earlier than it should; the following environment variables are now imported automatically and can be omitted from import_environment setting: NOTIFY_SOCKET LISTEN_FDS LISTEN_PID
master: service { process_min_avail } was launching processes too slowly when master was forking a lot of processes
util: Make the health-check.sh example script POSIX shell compatible
Updated pigeonhole to 0.5.15:
CVE-2020-28200: Sieve interpreter is not protected against abusive scripts that claim excessive resource usage: fixed by limiting the user CPU time per single script execution and cumulatively over several script runs within a configurable timeout period; sufficiently large CPU time usage is summed in the Sieve script binary and execution is blocked when the sum exceeds the limit within that time, and the block is lifted when the script is updated after the resource usage times out
- Disconnection log messages are now more standardized across services; they also always now start with "Disconnected" prefix
managesieve: Commands pipelined together with and just after the authenticate command cause these commands to be executed twice
Updated proftpd (1.3.7b) as per the Fedora version
Wednesday 23rd June 2021
Fedora Project
Updated perl-Mixin-Linewise to 0.110 in Rawhide:
- Tweak the file test again to exclude directories
Updated perl-Path-Tiny (0.118) in Rawhide to remove explicit runtime dependency for Digest::MD5 (PR#1)
Updated perltidy to 20210625 in Rawhide (see CHANGES.md for details)
Local Packages
Updated perl-Mixin-Linewise to 0.110 as per the Fedora version
Updated perl-Path-Tiny (0.118) as per the Fedora version
Updated perl-Perl-Tidy to 20210625 as per the Fedora perltidy package
Saturday 26th June 2021
Fedora Project
Updated perl-Data-Dump to 1.25 in Rawhide:
- Strings like "NaN" are still strings
- Update maintainer and repository information
New option $Data::Dump::LINEWIDTH controls when to perform a line break (default is 60)
Local Packages
Updated perl-Data-Dump to 1.25 as per the Fedora version
Sunday 27th June 2021
Fedora Project
Updated golang-github-gofrs-flock to 0.8.1 in Rawhide:
Fix issue caused by calling F_SETLKW instead of F_SETLK (GH#52)
Monday 28th June 2021
Fedora Project
Submitted a review request for a perl-Date-Range range package, which is a new dependency for perl-Finance-Quote version 1.50
Updated perl-Convert-PEM (0.08) in EPEL-7 to disable tests relying on probabilistic output (CPAN RT#27574)
Updated perl-Data-OptList to 0.112 in Rawhide:
- Update author contact info
- Add perl version support to docs
Replace a "goto" deep in the guts with a sub call, for speed
Local Packages
Updated perl-Data-OptList to 0.112 as per the Fedora version
New package perl-Date-Range (1.41)
Updated python2-xapian (1.4.18) for Rawhide to rebuild with C++ 11.1
Tuesday 29th June 2021
Local Packages
Updated perl-Pod-Simple to 3.43:
Remove pod markup from README
- Update homepage to metacpan
"use" not "require" Pod::Simple::TiedOutFH (GH#131)