Pike 8.0.498 Release notes
New Features
Crypto.ECC
Added get_point() to Crypto.ECC.Curve.
Crypto.ECC.Curve.Point objects can now be compared with equal().
JWK
Added Web.encode_jwk().
Added jwk() to signatures (Nettle.Sign, Crypo.RSA, Crypto.ECC.Curve.ECDSA)
Added jwk() to Crypto.Hash.HMAC.
decode_jwk() on a ECC private key now returns an ECDSA object (and a Point object for an ECC public key).
Standards.PKCS
Support for decoding PKCS #10 public keys through Standard.PKCS.parse_public_key.
Bug fixes
Protocols.DNS
Added hooks for controlling error handling in Protocols.DNS.server.
Protocols.HTTP
Fixed a memory leak in the HTTP header parser upon receiving malformed HTTP headers.
Protocols.WebSocket
Fixed a case where the onopen callback would get the wrong argument.
Search
Fixes some broken SQL queries causing data corruption.
Sql.sqlite
list_fields() now throws an error when used on a non-existent table.
Stdio.Buffer
Some methods (add_int*, input_from, add_padding) did not trigger a call to the fd output function. When using an Stdio.Buffer instance in Stdio.File buffer mode, this could result in new data not being written.
Due to an error in the realloc strategy, in some cases unread() did not succeed after reading or writing data to a fd.
Threads
Fixed a race condition when creating a new thread while threads are disabled.
WhiteFish
Fixed issues with merging of empty sets.
Fixed rank calculation on intersection of sets.
Fixed multiple memory leaks.
Improved behavior when provided with corrupted input.
The module is now tested by the normal testsuite.
Compiler
Improved syntax error recovery, including eliminating some fatal conditions.
Fixed a memory leak in the preprocessor.
Runtime
Fixed NULL-dereference by the GC when running count_memory() on a Pike compiled with –with-dmalloc.
Fixed fatal “Didn’t find gc marker as expected” at exit on a Pike compiled with –with-cleanup-on-exit.
Signal handling
Fixed an error where processes would share the same queue for pending signals after using fork(). As a result, a signal sent to one process could trigger a signal handler in the other process.
Building & Tools
Configuration
Fixes to the detection of MariaDB, MySQL and Inotify.
mkpackage
Fixed issue where the error code from extra platform tests wasn’t propagated all the way to exit from the install script.