Merge commit '722771973bd' into patches/lyslyskom22891031
* commit '722771973bd': (6177 commits)
Verify that callablep responses are aligned with reality.
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap
* commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits)
Removed the old typechecker.
Merge commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e' into patches/pike63
* commit '75c9d1806f1a69ca21c27a2c2fe1b4a6ea38e77e': (19587 commits)
Add _sprintf() to Thread.Mutex() that prints current locking thread. Switch to
hex-based thread IDs in _sprintf() for Thread.Thread() for easier reading.
Major redesign of the refdoc. Also removed some obsolete stuff.
Revert "Added the Markdown module and the standalone pike_to_html.pike from 8.1."
This reverts commit 2706a62c3c72b296a0c77b418f1e186c682c7ac5.
TURBO2-1398: Allow disabling of wrapping of describe_backtrace output.
The wrapping can add lots of spaces to the end of lines to pad
them, resulting in enormous backtrace files in some circumstances.
Sql: Added support for multiple results.
Nettle: Added Galois Counter Mode (GCM)
This is in large parts a rewrite of the Pike 8.0 implementation.
SSL.Cipher: Enable support for TLS 1.2.
This mainly adds some minimal support for TLS 1.2 signatures,
with which all the requirements for TLS are fulfilled.
Seems to interoperate with gnutls:
- Description: (TLS1.2-PKIX)-(DHE-RSA-1024)-(CAMELLIA-256-CBC)-(SHA1)
- Session ID: 52:93:96:96:50:69:6B:65:53:53:4C:33:00:00:00:1F
- Ephemeral Diffie-Hellman parameters
- Using prime: 1024 bits
- Secret key: 1020 bits
- Peer's public key: 1024 bits
- Version: TLS1.2
- Key Exchange: DHE-RSA
- Server Signature: RSA-SHA1
- Cipher: CAMELLIA-256-CBC
- MAC: SHA1
- Compression: NULL
- Handshake was completed
SSL.Cipher.KeyExchange: Added some Autodoc markup.
SSL: Add support for some CAMELLIA cipher suites.
Nettle: Let the IV be set through Nettle.Proxy (aka Crypto.Buffer).
Filesystem.Monitor: Added check_all().
Gmp.mpz: Support import/export from reversed network byte order.
Nettle.ECC: Added initial implementation of Curve.Point.
This is to simplify handling of points on ECC curves.
Currently the code is sufficient to perform ECDSA, but
eg encode and decode would be nice.
TODO: Other code needs to be updated to accept Points.
Move deprecated code to compat. The compat resolver is broken, so this doesn't actually work.
Removed compat support for Pike 7.4.
GTK2: Update Scale docs based on source file
Merge remote-tracking branch 'origin/8.0' into string_alloc
Improved type checking.
Testsuite: Fix some Pike 7.4 compat code.
Compat: Added 7.8::SSL.
This is based on the last version of SSL on the 8.0 branch
that was still compatible with Pike 7.8 (ie before the PEM
Intended use is Crypto API compatibility testing, though it
is probably more competent than the current Pike 7.8 SSL.
Crypto: Implemented compat wrappers for CBC and Buffer.
This should simplify migration of Pike 7.8 crypto-related code.
Nettle: Moved CBC from a class to a submodule of BlockCipher.
This adds things like Crypto.AES.CBC analogous to Crypto.AES.GCM.
Use system realloc, strtol and strtod, when available.
Nettle: Moved GCM to a Cipher submodule.
The various tastes of GCM now follow the AEAD API properly.
Crypto.GCM is no more, instead there are Crypto.AES.GCM,
Also updates the SSL code accordingly.
GTK2: Add a signal_stop() method to prevent signal propagation
Unicode.normalize: use unsigned ints for hash value
hval % HSIZE for a negative hval will result in a negative htable index.
this is triggered by characters in 32 bit strings which are represented
by negative 32 bit signed integers
Merge branch '8.0' into gobject-introspection
SSL.Cipher: Improved TLS 1.2 compatibility.
The TLS 1.2 prf is now derived from the hash function used for
the MAC for the suite, as this seems to be the convention for
all the suites that have been defined after TLS 1.2.
This simplifies implementation of the prf selection behaviour
specified eg for the suites defined in RFC 6367 3.3:
When used with TLS versions prior to 1.2 (TLS 1.0 and TLS 1.1),
the PRF is calculated as specified in the appropriate version
of the TLS specification.
Nettle & SSL: Fixed a few Autodoc markup typos.
Nettle: Fixed some broken Autodoc markup.
Also fixes an Autodoc typo in udp.c.
Nettle.GCM is not always available.
Nettle: Added Galois Counter Mode (GCM)
SSL.https: Display the port number at start.
Nettle.Cipher: Major refactoring of the ciphers.
The cipher state now uses parent pointers instead of mixins.
Renamed Nettle.<CIPHER>_Info to Nettle.<CIPHER> and
moved Nettle.<CIPHER>_State to Nettle.<CIPHER>.State.
Adjusted the corresponding code in Crypto, so that the APIs
there should be the same as before.
TURBO2-80: Do not crash when decoding certain PNG files.
The aggregate and n++ was not done if the PNG was (slightly) truncated
New clear on exit policy. Clear all keys and passwords by defult, but not data.
Merge remote-tracking branch 'origin/7.9' into pdf
Merge remote-tracking branch 'origin/7.9' into ba
Fixed autodox syntax.
More specific string types.
master: add support for using zip archives as module paths.
From Chris Angelico <email@example.com>, add connect_before option to signal_connect so you can connect the signal before or after the default hooks.
Image.JPEG: Fix integer underflow. Fixes [bug 6413 (#6413)].
Merge remote branch 'origin/7.9' into rblock_alloc
Calendar.mkrules: Cleanup white-space at end of line in TZnames.
Tools.Standalone.autodoc_to_split_html: Include inherited symbols in the navigation.
Merge remote branch 'origin/7.9' into breaking_into_pieces
GI: Upper case all enum identifiers
Gz: Added ability to set custom dictionaries.
Tools.Standalone.autodoc_to_split_html: Added hook for adding extra html headers.
Tools.Shoot: gauge ->perform(), not test create().
Tools.AutoDoc: Added syntax and markup for documenting cpp directives.
AutoDoc: Moved lots of modref inline styling to the css file.
Also changed color scheme to be closer to the Pike site.
AutoDoc: The modref is now more HTML 5.
master: Added kludge for describe_function() to workaround [bug 6156 (#6156)].
Protocols.DNS: Support for IPv6 now seems to work properly.
release number bumped to 614 by export.pike
Tools.AutoDoc.ProcessXML: Attempt to normalize the result somewhat in mergeTrees().
Tools.AutoDoc: Support more sections from BMML, notably COPYRIGHT and THANKS.
Autodoc: Reindented and added HTML 5-style semantic markup to the modref template.
Tools.AutoDoc.git_export_autodoc: Added extraction of version information.
Autodoc: Use $imagedir$ rather than $dotdot$/images/ in the modref template.
Fixes broken images when the images directory has been relocated.
No more foreign_idents.
Deprecating pike.ida.liu.se for pike.lysator.liu.se.
Added a new Val module for various global constant values.
Currently with true, false, and null, moved from Standards.JSON and Sql.
Also allows these values to be overridden with extended versions.
SSL: Added some more Autodoc mk II markup.
SDL: Some documentation of SDL.Joystick.
Reinstated call_out memory usage, and added Pike.DefaultBackend.get_stats().
New member String.normalize_whitespace.
Backported sort_fun and ignore_errors for Filesystem.Traversion from 7.8.
Sneaking in some IPv6 address formatting tools.
Added lock around SQLConnect in an attempt to work around thread bugs in
FreeTDS. This lock can be disabled with the new function Odbc.connect_lock.
Fixed broken implementation of get_selection_bounds().
Also modified its API somewhat, since it has never worked.
Inheritable boilerplate to make new pike -x $somethings similar in operation to rsif, in less than five lines of code.
Backported callback support
Unbreaking autodocs generation
Backported many fixes from 7.7. Notably the close callback is also
called on errors, which is consistent with Stdio.File.
Relaxed the type of the trace argument to describe_backtrace - it can
actually handle anything, and it must be able to handle the return
type from catch, and that is mixed.
First version. Needs argument parsing and removal of hardcoded stuff.
Move CBC and Buffer doc to Crypto.