pike.git
/
CHANGES
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/CHANGES:1:
Changes since Pike 8.0.702 (release 13) New Features ------------
+
o Core
+
+
- Added "->?" as the safe indexing variant of "->".
+
+
- Added int(7,8,16bit).
+
o ADT.History Support encode/decode_value(). o Pike.FakeObject This is used as a placeholder used in place of other objects in backtraces.
-
+
o Pike.DestructImmediate
+
+
An empty class that can be inherited to get the PROGRAM_DESTRUCT_IMMEDIATE
+
flag set.
+
o Image.Dims.exif_get and Image.exif_decode New convenience functions to get the functionality of Image.Dims.exif_get_JPEG and Image.JPEG._decode (rotation of the image according to the EXIF orientation information) without needing to check if the image is JPEG first. o Concurrent - Add delay() to postpone a future. - Rewrite timeout() to reduce the memory footprint of a future in the common case.
-
+
- Added query_{success,failure}_callbacks() and try_get() to
+
Concurrent.Future.
+
o Process.Process - On NT it is now possible to specify the preferred console handler via the "conpty" option. The default is to take it from the first pty of "stdin", "stdout", and "stderr". If none of them is a pty the console handler is inherited from the current process. o SSL The SSL module now supports session ticket both client and server side. This functionality has been backported from 8.1/master. o Standards.X509 Standards.X509 now allows the user to select acceptable signature algorithms to be used in the verification of certificates.
-
+
o Stdio.Buffer
+
+
Added truncate() and the ability to search for substrings.
+
+
o Stdio.File
+
+
Support openat() with a single argument().
+
o Stdio.PROP_TTY Stdio.File()->pipe() can now be used to create tty-capable pipes (aka pseudo-ttys, aka ptys). Bug fixes ---------
-
+
o ADT.CritBit.FloatTree
+
+
Fix FloatTree when using 128bit floats.
+
o ADT.CritBit.IntTree Fixed the signature of ADT.CritBit.IntTree()->_values(). values(ADT.CritBit.IntTree()) claimed to return an array(int), whereas IntTrees can hold any type as value. o backtrace() Hide mutex keys and crypto contexts from backtraces.
pike.git/CHANGES:85:
> combine_path("./../foo"); (3) Result: "../foo" o describe_backtrace() - Do not use value identifiers that have not been defined in the visible backtrace. - Fix clipped/canclip propagation.
+
o mktime()
+
+
Fix zone handling when localtime is in daylight savings time.
+
+
o strftime()
+
+
Remove non-standard conversions %k and %l.
+
o types() Fixed reference leak.
-
+
o crypt()
+
+
Do not throw errorss on validation failure. Primarily ocurrs on
+
RHEL 8, return a failure code instead, consistent with historical
+
use.
+
+
o Backend.PollBackend
+
+
Signal read events on POLLHUP.
+
o Calendar - Fixed typo in the Catalan word for the month December.
-
- Updated tzdata to
2018g
.
+
- Updated tzdata to
2019c
.
o Compiler - Adhere to the calling convention more in the machine code generator on amd64, namely by keeping the stack pointer aligned before calling into C code. GCC 8 started to emit instructions relying on the correct, alignment, causing General Protection Faults. - Fixed some corner cases where file names where missing from
pike.git/CHANGES:118:
immediately followed by a return of the variable in question. o Concurrent.Promise - Fixed race condition where success- and/or failure- callbacks could get lost. - Convert errors thrown by the executor passed to Concurrent.Promise() on create into promise rejection.
+
- Fixes for some recursive mutex lock errors.
+
+
o Crypto.ECC Now works against Nettle 3.5. o Filesystem.Tar Fix extraction of S_ISUID and S_ISGID bits. POSIX mandates that after a chown() (by unprivileged users), the S_ISUID and S_ISGID bits are cleared, Linux 2.2.13 removed the special case for root. The order of chmod() and chown() have been reordered trying to fix an issue with applying utime() under Windows. With this change, utime() is applied first, then chown() and then chmod(), restoring the historical order for chown() and chmod().
-
+
o Gettext
+
+
Prevent argument of textdomain from being empty.
+
o Image.Dims - Fixed the inconsistency that Image.Dims.get_JPEG (and thus Image.Dims.get) would flip the dimensions on JPEGs with EXIF orientation information, even though Image.JPEG.decode does not actually perform the rotations.
-
+
o Inotify
+
+
Improved handling of invalid event callbacks. [bug 8042]
+
o Odbc The module's configure script now respects ABI suffixes when searching for the ODBC library dir. o Parser.HTML Fixed a Pike stack overflow occuring with certain inputs to the HTML parser.
-
+
o Pike.count_memory
+
+
Prevents a loop with ADT.List objects.
+
o Process.run - Don't error if stdin modifier is supplied as the empty string. [LysLysKOM 23099651] o Protoocls.HTTP - Protocols.HTTP.do_async_proxied_method() did not pass on request headers unless credentials were given to the proxy or the protocol to be used was HTTPS.
-
+
- Add Host header to proxied requests.
+
+
o Protocols.HTTP.Server
+
+
Fixed bug in Request()->update_mime_var(). [bug 10033]
+
o Protocols.HTTP.Session - Fix race-condition when multiple threads call give_me_connection() with the same url at the same time. - Don't attempt to reuse SessionQuery objects. give_me_connection() now always returns a new SessionQuery object (albeit sometimes with a reused connection). This should alleviate issues with stuff being left around from previous queries.
-
+
o Protocols.DNS
+
+
Improved error handling when calling async callbacks.
+
+
Survive Stdio.UDP()->bind() failing with EACCES.
+
o Protocols.HTTP.Query On Solaris 11 Stdio.File()->connect() often fails with EADDRINUSE. If this happens, retry the connection. o Protocols.Websocket Tentative fix for error 'indexing the NULL value with "set_nonblocking'. o Runtime
-
Certain operations on arrays of only objects could have triggered a type
+
-
Certain operations on arrays of only objects could have triggered a type
confusion under some circumstances, causing integers to be freed as objects, and thus a NULL derefence (SIGSEGV).
-
+
- Fix some gratuitous rounding to double with long-double-precision.
+
+
- Improved Fix some gratuitous rounding to double with
+
long-double-precision.
+
+
o Search.Filter.HTML
+
+
Fix title always being set to "". [bug 10020]
+
o Sql.pgsql - Ensure that the db connection is closed when the portal is closed. - Small speed boost. - Fix the only known deadlock-cause logged in the last year; happened (rarely) on multiple parallel queries on a single connection. - Fix the only known race condition logged in the last year; happened
pike.git/CHANGES:215:
- Toggle cache_autoprepared_statements default to off; turning it on triggers a bug in PostgreSQL sometimes that causes spikes in CPU usage of the database. - Fix support for text-multiqueries (separated by semicolons). - resync() is synchronous now, and prevents race conditions if followed back-to-back with new queries.
+
- disregard pending statements on connection destruction.
+
o SSL - When verifying the hostname against the certificate, only accept * (wildcard) for one level, i.e. *.example.com matches foo.example.com, but not www.foo.example.com. Previously, all levels were matched. - No longer accept MD2, MD5, and SHA1 as signature algorithms when verification is requested. MD2 and MD5 are outright dangerous at this point, and SHA1 should no longer be very relevant as web browsers already force CAs for several years to no longer issue any
pike.git/CHANGES:245:
The internal ssl_write_callback() would call shutdown() on write error, which would cause the object to enter one of the closed states, without the user actually having closed the file. This in turn caused errors like "Not open" from functions like read() and set_nonblocking(). o Standards.JSON
-
encode() now allows other threads to run every now and then.
+
-
encode() now allows other threads to run every now and then.
-
+
- Fix floating point literals with long-double-precision
+
+
o Standards.EXIF Improved detection of EXIF section in get_properties().
-
+
o Standards.URI
+
+
Updated list of unsafe characters to RFC 3986. [bug 8004]
+
+
o Standards.X509
+
+
Use old syntax for compatibility.
+
o sybase The module's configure script now respects ABI suffixes when searching for the sybase library dir. o System - System.openlog() now keeps a reference to the ident passed, since system level syslog() may access the string pointed to by the ident passed to openlog. The reference will be released after a subsequent call to openlog() or closelog().
-
+
o Thread.MutexKey
+
+
When simulated, mark for immediate destruction.
+
o Thread.Queue Attempt to work around glibc bugs. Glibc 2.24 and earlier have a broken implementation of condition variables (cf https://sourceware.org/bugzilla/show_bug.cgi?id=13165). Attempt to work around the issue by having the signalling thread release the associated mutex before signalling.
pike.git/CHANGES:310:
Solaris 11.4 provides a single pkg-config binary, which by default searches in /usr/lib/pkgconfig/ and /usr/share/pkgconfig/. Unfortunately, /usr/lib/pkgconfig/ contains information for the 32-bit packages (64-bit d:o is in /usr/lib/64/pkgconfig/). This issue caused eg 32-bit headers for libffi to be used, causing a SIGSEGV in ffi_closure_unix64_inner() due to the differing sizes of ffi_closure in 32-bit and 64-bit abi.
+
o Check for actual availability of YP functions, not just headers.
-
+
o Attempt to use paxctl to alter the PaX flags for the pike binary to
+
allow for generation of machine code on NetBSD.
+
+
o Silence GL deprecation warning and fix a missing definition error on
+
Darwin for newer versions of MacOS.
+
+
o Fix check for my_bool and compilation errors related to MySQL 8.
+
Changes since Pike 8.0.610 (release 12) New Features ------------ o Sql.mysql In unicode decode mode, characters outside the BMP are now encoded as UTF-8 encoded UTF-16. This works around that MySQL/MariaDB don't allow characters outside the BMP in utf8