PaulHowarth/Blog/2015-10

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:

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)

Friday 16th October 2015

Fedora Project

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:

  • 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

Local Packages

  • Updated perl-Module-Info to 0.36:

  • 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

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

Recent