Branch: Tag:

2016-10-19

2016-10-19 15:43:05 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Crypto [Nettle]: Inlined __builtin.Nettle.DH_Params into Crypto.DH.

This is needed to break a circular Nettle-load time dependency.

The problem was that __builtin.Nettle.DH_Params had a preprocessor
dependency on Nettle.DH_Params, and __builtin.Nettle.DH_Params
could sometimes get loaded while Nettle was still initializing.

59:    "Crypto.Sign.State": "predef::Protocols.HTTP.Server.SSLPort.create":1, "predef::SSL.Constants.CertificatePair":1, "predef::SSL.Constants.CertificatePair.create":1, "predef::SSL.Context.add_cert":1, "predef::SSL.Session":2, "predef::Standards.PKCS.parse_private_key":2, "predef::Standards.PKCS.parse_public_key":2, "predef::Standards.X509.make_selfsigned_certificate":1, "predef::Standards.X509.parse_private_key":2, "predef::Standards.X509.sign_key":2, "predef::Standards.X509.sign_tbs":1, "predef::Web.decode_jwt":1, "predef::Web.encode_jwt":1,    "Curve": "predef::Nettle.Curve25519":2, "predef::Nettle.ECC_Curve.Point._equal":1, "predef::Nettle.ECC_Curve.`==":1,    "Customer": "predef::ADT.TreeScheduler":2, +  "DSA_State": "predef::Crypto.DH.Parameters.create":1,    "DTDElementHelper": "predef::Parser.XML.Tree.DTDElementNode":1, "predef::Parser.XML.Tree.SimpleDTDElementNode":1,    "Debug.Watchdog": "predef::Debug.Profiling.display":1,    "Debug.assembler_debug()": "cpp::":1,
747:   "predef::Concurrent.Future.filter": "UNDEFINED"   "predef::Crypto": "Buffer" "CBC" "GCM"   "predef::Crypto.ChaCha20.POLY1305": "CHACHA" + "predef::Crypto.DH.Parameters.create": "DSA_State"   "predef::Crypto.DH.Parameters.validate": "bool"   "predef::Crypto.DSA.State": "::this_program"   "predef::Crypto.DSA.State.pkcs_algorithm_identifier": "Sequence"