Paul's Blog Entries for October 2015
Thursday 1st October 2015
Local Packages
Updated perl-DateTime to 1.21:
Make all tests pass with both the current DateTime::Locale and the upcoming new version (currently still in trial releases)
Updated unrar to 5.3.5 tarball (still 5.30 beta 4)
Sunday 4th October 2015
Local Packages
Updated perl-Coro to 6.48:
Fix memory leak when Coro::Handle uses Coro::EV internally
Update code to libev 4 API (internally, Coro still used the version 3 API calls)
Remove unused hv_sig
Monday 5th October 2015
Fedora Project
Updated milter-greylist to 4.5.15 in Rawhide:
Use QueueId on Postfix
- Only change socket ownership if it exists in filesystem
Index option for the addheader clause
- Add format strings for SPF and DKIM results
- Update author list
Local Packages
Updated dovecot to 2.2.19:
pop3_deleted_flag has been broken since v2.2.10, and using it would cause buffer overflows, which could be exploitable; however, this bug would have become visible quite soon after users had deleted some POP3 mails, because the pop3 processes would have started crashing all the time even in normal use
"doveadm director flush" command has a changed meaning now: it safely moves users to their wanted backends, instead of simply forgetting the mapping entirely and leaving the existing connections untouched; use the -F parameter to get the original unsafe behaviour
Added imap-hibernate processes (see imap_hibernate_timeout setting); IDLEing IMAP connections can be hibernated, which saves memory
Optimized tracking mailboxes' vsizes (= sum of all messages' sizes); if mailbox_list_index=yes, it's also stored in there, which makes it very efficient to look up vsizes for all mailboxes
Added a quota "count" backend, which uses the mailbox vsizes to get the current quota usage; it requires using the new quota_vsizes=yes setting, which tracks the messages' "virtual sizes" rather than "physical sizes" (their distinction is minor and mostly irrelevant nowadays - if mail sizes should be counted with LF or CRLF newlines)
"doveadm director up/down" commands added; the monitoring script should be using these commands instead of changing the vhost count, which allows admin to manually disable a server by changing the vhost count to 0 without the monitoring script changing it back
Added support for HAProxy protocol: http://wiki2.dovecot.org/HAProxy
Added push-notification plugin framework, which can be used to easily implement push notifications to various backends; implemented "ox" backend for notifying Open-Xchange via HTTP/json
imap_logout_format supports more variables now, e.g. number of deleted messages
pop3: Added pop3_delete_type setting (related to pop3_deleted_flag)
plugin { fts_enforced=yes } setting now fails body searches unless it can be done via the full text search engine
Added %{passdb:*} and %{userdb:*} variables to various places
auth: Added ":protected" suffix for passdb and userdb fields; if used, the field doesn't overwrite an existing field
IMAP/POP3 proxy: If a backend server dies, avoid client reconnection spikes by slowly disconnecting clients over time; this is enabled by setting login_proxy_max_disconnect_delay=secs passdb extra field
imap: Added new read-only METADATA entries: /private/specialuse, /shared/comment, /shared/admin
imap: If client disconnects in the middle of a command, log how long the command had been running
mdbox: Rebuilding could have caused message's reference count to overflow the 16-bit number in some situations, causing problems when trying to expunge the duplicates
Various search fixes (fts, solr, tika, lib-charset, indexer)
- Various virtual plugin fixes
Various fixes and optimizations to dsync, imapc and pop3-migration
imap: Various RFC compliance and crash fixes to NOTIFY
Also updated pigeonhole to 0.4.9:
Properly implemented checking of ABI version for Sieve interpreter plugins, much like Dovecot itself does for plugins; this will prevent plugin ABI mismatches
Implemented a vnd.dovecot.environment extension; this builds upon the standard environment extension and adds a few more environment items, such as username and default mailbox, and also creates a variables namespace so that environment items can be accessed directly
Sieve extprograms plugin: Made line endings of the input passed to the external programs configurable; this can be configured separately for each of the three extensions
ManageSieve: Implemented proxy XCLIENT support; this allows the proxy to pass client information to the back-end
ManageSieve: Fixed an assert failure occurring when a client disconnects during the GETSCRIPT command
doveadm sieve plugin: Fixed incorrect initialization of mail user; this caused a few memory leaks
sieve-filter command line tool: Fixed handling of failure-related implicit keep when there is an explicit default destination folder; this caused message duplication
lib-sieve: Fixed bug in RFC5322 header folding, in which words longer than the optimal line length caused empty lines in the output, which would break the resulting message header; this surfaced in References: headers with very long message IDs
Updated perl-DateTime-Format-Strptime to 1.57:
Make all tests pass with both the current DateTime::Locale and the upcoming new version (currently still in trial releases)
Updated python-zope-interface to 4.1.3:
Fix installation without a C compiler on Python 3.5 (https://github.com/zopefoundation/zope.interface/issues/24)
Tuesday 6th October 2015
Local Packages
Updated perl-Variable-Magic to 0.59:
- The magic callbacks are now always executed in a new stack; this should have no negative impact (performance-wise or behaviour-wise) on your code, but may actually fix some obscure bugs
Fix crash during install of Variable-Magic-0.58 running "t/18-opinfo.t" (CPAN RT#107294); a recent change in the core implementation of transliterations caused an undefined behaviour when it interacted with this module, which resulted in visible stack corruption on Win32 perls compiled with MSVC when the op_info feature was enabled
The object op_info feature will now handle correctly Unicode transliteration, multideref and custom ops
Wednesday 7th October 2015
Fedora Project
Updated curl to 7.45.0 in Rawhide:
Added CURLOPT_DEFAULT_PROTOCOL
Added new tool option --proto-default
getinfo: Added CURLINFO_ACTIVESOCKET
Turned CURLINFO_* option docs as stand-alone man pages
curl: Point out unnecessary uses of -X in verbose mode
curl_global_init_mem.3: Stronger thread safety warning
buildconf.bat: Fixed issues when ran in directories with special chars
cmake: Fix CurlTests check for gethostbyname_r with 5 arguments
generate.bat: Fixed issues when ran in directories with special chars
generate.bat: Only call buildconf.bat if it exists
generate.bat: Added support for generating only the prerequisite files
curl.1: Document weaknesses in SSLv2 and SSLv3
CURLOPT_HTTP_VERSION.3: Connection re-use goes before version
- docs: Update the redirect protocols disabled by default
inet_pton.c: Fix MSVC run-time check failure
CURLMOPT_PUSHFUNCTION.3: Fix argument types
rtsp: Support basic/digest authentication
rtsp: Stop reading empty DESCRIBE responses
travis: Upgrading to container based build
travis.yml: Add OS X testbot
- FTP: Make state machine not get stuck in state
openssl: Handle lack of server cert when strict checking disabled
configure: Change functions to detect openssl (clones)
configure: Detect latest boringssl
runtests: Allow for spaces in server-verify curl custom path
http2: on_frame_recv: Get a proper 'conn' for the debug logging
ntlm: Mark deliberate switch case fall-through
http2: Remove dead code
curl_easy_{escape,unescape}.3: "char *" vs. "const char *"
curl: Point out the conflicting HTTP methods if used
cmake: Added Windows SSL support
curl_easy_{escape,setopt}.3: Fix example
curl_easy_escape.3: Escape '\n'
libcurl.m4: Put braces around empty if body
buildconf.bat: Fixed double blank line in 'curl manual' warning output
sasl: Only define Curl_sasl_digest_get_pair() when CRYPTO_AUTH enabled
inet_pton.c: Fix MSVC run-time check failure
CURLOPT_FOLLOWLOCATION.3: Mention methods for redirects
http2: Don't pass on Connection: headers
nss: Do not directly access SSL_ImplementedCiphers
- docs: Numerous clean-ups and spelling fixes
FTP: do_more: Add check for wait_data_conn in upload case
parse_proxy: Reject illegal port numbers
cmake: IPv6 : Disable Unix header check on Windows platform
winbuild: Run buildconf.bat if necessary
buildconf.bat: Fix syntax error
curl_sspi: Fix possibly undefined CRYPT_E_REVOKED
nss: Prevent NSS from incorrectly re-using a session
libcurl-errors.3: Add two missing error codes
openssl: Fix build with < 0.9.8
openssl: Refactor certificate parsing to use OpenSSL memory BIO
openldap: Only part of LDAP query results received
ssl: Add server cert's "sha256//" hash to verbose
NTLM: Reset auth-done when using a fresh connection
curl: Generate easysrc only on --libcurl
tests: Disable 1801 until fixed
CURLINFO_TLS_SESSION: Always return backend info
gnutls: Support CURLOPT_KEYPASSWD
gnutls: Report actual GnuTLS error message for certificate errors
- tests: Disable 1510 due to CI-problems on github
cmake: Put "winsock2.h" before "windows.h" during configure checks
cmake: Ensure discovered include dirs are considered
configure: Add missing ')' for CURL_CHECK_OPTION_RT
build: Fix failures with -Wcast-align and -Werror
- FTP: Fix uploading ASCII with unknown size
readwrite_data: Set a max number of loops
http2: Avoid superfluous Curl_expire() calls
http2: Set TCP_NODELAY unconditionally
docs: Fix unescaped '\n' in man pages
openssl: Fix algorithm init to make (gost) engines work
win32: Make recent Borland compilers use long long
runtests: Fix pid check in checkdied
gopher: Don't send NUL byte
tool_setopt: Fix c_escape truncated octal
hiperfifo: Fix the pointer passed to WRITEDATA
getinfo: Fix return code for unknown CURLINFO options
Updated perl-namespace-clean to 0.26 in Rawhide:
Exclusively use Package::Stash::PP on perls < 5.8.7 until a fixed Package::Stash::XS ships - breakage keeps getting re-introduced (CPAN RT#74151, CPAN RT#107343)
Explicitly document the late runtime binding of 'sort SUBNAME ...' (CPAN RT#101247)
No longer rely on Sub::Identify - either use Sub::Util or B (CPAN RT#96945)
Local Packages
Updated curl to 7.45.0 as per the Fedora version
Updated mgdiff (1.0) to build with openmotif from Fedora 24 onwards
Updated perl-namespace-clean to 0.26 as per the Fedora version
Thursday 8th October 2015
Fedora Project
Branched and built perl-File-LibMagic (1.00) for EPEL-7
Local Packages
New package python-setuptools_subversion (3.1)
Friday 9th October 2015
Fedora Project
Updated perl-Text-CSV_XS to 1.20 in Rawhide:
Use "say" in synopsis
- Remove needless special characters in doc section
Change doc =item attributes for new to =head for index
Add known_attributes function/method
- Add contributor notes
Allow undef as value for aliased attributes
Local Packages
Updated perl-MooseX-Role-WithOverloading to 0.17:
Mark this distribution as deprecated (now obsolete with modern Moose)
Updated perl-Text-CSV_XS to 1.20 as per the Fedora version
Saturday 10th October 2015
Local Packages
New package python-crcmod (1.7)
New package python-SocksiPy-branch (1.01)
Updated perl-ExtUtils-CBuilder to 0.2802234:
Use warnings/strict on all modules
Updated perl-PPIx-Regexp to 0.042:
Produce parse error in the presence of trailing cruft (CPAN RT#107331)
Tweak documentation in PPIx::Regexp
Group types were not being recognized if they contained the delimiter character for the regexp (e.g. in qr<(?\<foo)> the look-behind assertion was not recognized as such)
Correct mis-parse of ' s///'; leading white space is supposed to be acceptable, but the leading whitespace token caused PPIx::Regexp::Lexer not to recognize the substitution as such
Tokenizer was failing when the string to be parsed was so bad it was trying to return the whole thing as a single PPIx::Regexp::Token::Unknown
PPIx::Regexp::Dumper now displays a message if a structure is missing its end delimiter
- Report error rather than failing when parsing a string consisting wholly of white space
Monday 12th October 2015
Fedora Project
Updated trac-spamfilter-plugin to svn revision 14342 in Rawhide
Local Packages
New package python-google-apputils (0.4.2)
New package python-protorpc (0.11.1)
New package python-retry_decorator (1.0.0)
Updated unrar to 5.30 beta 5
Tuesday 13th October 2015
Fedora Project
Updated perl-namespace-autoclean to 0.28 in Rawhide:
Skip failing tests with old Moo or when Sub::Util is broken (CPAN RT#107643)
Updated python-rsa to 3.1.4 in Rawhide (Bug #1226667)
Local Packages
Updated perl-namespace-autoclean to 0.28 as per the Fedora version
Wednesday 14th October 2015
Fedora Project
Updated build dependencies and rebuilt in Rawhide perl-URI (1.69), perl-GDGraph3d (0.63), perl-Net-CIDR-Lite (0.21), perl-Data-Buffer (0.04), perl-Crypt-SmbHash (0.12) and perl-Crypt-Primes (0.50), which were FTBFS due to the splitting out of the Test module from the main perl package
Updated perl-Config-Tiny to 2.23 in Rawhide:
Add the UTF8 BOM to the Changes file
Fix read() and write() so they work on files called '0' (zero) (CPAN RT#107754)
Add t/05.zero.t and t/0 to test the new code
- Reformat the source slightly
Local Packages
New package python-google-apitools (0.4.11)
New package python-oauth2client (1.5.1)
New package python-rsa (3.2)
Updated perl-Config-Tiny to 2.23 as per the Fedora version
Updated python-protorpc (0.11.1) to add python3 support
Thursday 15th October 2015
Local Packages
New package google-api-python-client (1.4.2)
New package python-gcs-oauth2-boto-plugin (1.9)
New package python-uri-templates (0.6)
Monday 19th October 2015
Fedora Project
Updated perl-Class-C3 to 0.30 in Rawhide:
Update compiler detection to use ExtUtils::HasCompiler
Updated perl-Devel-GlobalDestruction-XS to 0.02 in Rawhide:
- Update metadata to include IRC and repository web link
Remove unneeded prerequisite on ExtUtils::CBuilder
Local Packages
Updated perl-Class-C3 to 0.30 as per the Fedora version
Updated perl-Coro to 6.49:
Throwing an exception to a thread waiting in Coro::Handle using Coro::EV did not stop the watchers, causing the next call to fail
Bump minimum perl version to 5.10
Updated perl-Devel-GlobalDestruction-XS to 0.02 as per the Fedora version
Updated python-pyasn1 to 0.1.9
- Wheel distribution format now supported
- Extensions added to text files, CVS attic flushed
Fix to make uninitialized pyasn1 objects fail properly on hash()
Fix to ObjectIdentifier initialization from unicode string
- Fix to CER/DER Boolean decoder - fail on non single-octet payload
Wednesday 21st October 2015
Local Packages
Updated java-1.8.0-oracle to Java SE 8 Update 66:
Cumulative bugfix and security update; see release notes
Updated perl-Data-Alias to 1.19:
Update for new stricture on op_last in Perl 5.21.2
Update for the parser's PL_expect changes in Perl 5.21.4
Update for op_private stricture in Perl 5.21.4
- Update for sub references directly in stash in Perl 5.21.4
Update for IS_PADGV()'s limited visibility in Perl 5.21.4
Update for increased specialness of OP_PUSHMARK in Perl 5.21.6
Update for distinct PADNAMELIST type in Perl 5.21.7
Update for multideref optimisation in Perl 5.21.7, by a disgusting hack that depends on a flaw in the optimisation (which may disappear in the future) and which disables the optimisation entirely
Add MYMETA.json to .gitignore
Updated perl-Module-CoreList to 5.20151020:
- Updated for v5.23.4
Thursday 22nd October 2015
Fedora Project
Updated perl-Data-Alias to 1.20 in F-23 and Rawhide:
Avoid some C undefined behaviour from unsequenced side effects that in practice bit when using a newer gcc (4.9 rather than 4.7) with the parser token stack change in Perl 5.21.9
- Add doc note advising users to prefer the core aliasing facility on Perl 5.22
This is the first Data-Alias release that has built successfully on F-23/Rawhide with Perl 5.22, so had to be un-retired as F-23 was going to be released without a perl-Data-Alias package
Local Packages
Updated perl-BSD-Resource to 1.2908:
Add more RLIMIT_ values from various systems, especially from Linux 2.6: RLIMIT_MSGQUEUE, RLIMIT_NICE, RLIMIT_NPTS, RLIMIT_PTHREAD, RLIMIT_RTPRIO, RLIMIT_RTTIME, RLIMIT_SBSIZE, RLIMIT_SIGPENDING, RLIMIT_SWAP
Add PRIO_THREAD, if available
Updated perl-Data-Alias to 1.20 as per the Fedora version
Updated perl-Data-Visitor (0.30) to reinstate use of Data::Alias on all builds
Updated perl-DateTime-TimeZone to 1.94:
- This release is based on version 2015g of the Olson database
- Contemporary changes for Turkey, Norfolk, Fiji, and Fort Nelson
Updated perl-Math-Base-Convert to 0.10:
- Corrected numerous typos
Friday 23rd October 2015
Local Packages
Updated perl-Math-Base-Convert to 0.11:
- Fix one more typo
Monday 26th October 2015
Fedora Project
Updated perl-PadWalker to 2.2 in Rawhide:
Convert to PERL_NO_GET_CONTEXT (https://github.com/robinhouston/PadWalker/pull/2)
Local Packages
Updated perl-Module-Info to 0.36:
Dropped our own fork of B::Utils, now rely on CPAN one (CPAN RT#13524)
Now works on recent versions of Perl (CPAN RT#97105)
Pod tests not run on installation (CPAN RT#90599)
Updated perl-PadWalker to 2.2 as per the Fedora version
Wednesday 28th October 2015
Local Packages
Updated unrar to 5.30 beta 6
Thursday 29th October 2015
Fedora Project
Updated proftpd (1.3.5a) in F-23 and Rawhide to see if we can fix crash in mod_lang (Upstream Bug #4206, https://retrace.fedoraproject.org/faf/reports/10744/)
Local Packages
Updated perl-Search-Elasticsearch to 2.00:
The default client is now '2_0::Direct', for use with Elasticsearch 2.x; specify client '1_0::Direct if using with Elasticsearch 1.x
- Breaking:
The field parameter to indices.get_field_mapping() has been renamed to fields
- New features:
Added fields param to Bulk helper
The name parameter to indices.get_template() can accept multiple options
Added indices.forcemerge() and deprecated indices.optimize()
The index parameter to indices.open() and indices.close() is required
Added allow_no_indices, expand_wildcards, and ignore_unavailable params to indices.flush_synced()
Added the timeout param to cluster.stats(), nodes.hot_threads(), nodes.stats(), and nodes.info()
cluster.health() can accept multiple indices
Added cat.repositories() and cat.snapshots()
Added detect_noop param to update()
search_shards() accepts multi values for index/type
delete_template() requires an id
Add fork protection to Scroll and Async::Scroll
- Bug fix:
Added missing debug QS param
Updated proftpd as per the Fedora version
Saturday 31st October 2015
Fedora Project
Updated perl-Test-Valgrind to 1.15 in Rawhide:
The new 'regen_def_supp' option can be passed to Test::Valgrind->import to forcefully regenerate the default suppression file
Fix build failures of the dummy XS code with PERL_IMPLICIT_SYS perls
Fix handshake failures in tests with recent perls built with PERL_POISON
- Test: Improved diagnostics on failure
Freshen Makefile.PL
Local Packages
Updated perl-Test-Valgrind to 1.15 as per the Fedora version
Previous Month: September 2015
Next Month: November 2015