From 7fa8d6b0f73e082b2d29aacbc38b122db0ad644d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Thu, 14 Aug 2014 16:44:38 +0200 Subject: [PATCH] Crypto.RSA: Break compilation circularity. There's a circularity between Crypto.RSA and Standards.PKCS.RSA. --- lib/modules/Crypto.pmod/RSA.pmod | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/modules/Crypto.pmod/RSA.pmod b/lib/modules/Crypto.pmod/RSA.pmod index 8e62468719..b6c11a02a1 100644 --- a/lib/modules/Crypto.pmod/RSA.pmod +++ b/lib/modules/Crypto.pmod/RSA.pmod @@ -264,18 +264,25 @@ class State { #define Sequence Standards.ASN1.Types.Sequence + private class PKCS_RSA_class { + Sequence signature_algorithm_id(.Hash); + Sequence build_public_key(global::State); + } + private object(PKCS_RSA_class) PKCS_RSA = + [object(PKCS_RSA_class)]Standards.PKCS["RSA"]; + //! Calls @[Standards.PKCS.RSA.signatue_algorithm_id] with the //! provided @[hash]. Sequence pkcs_signature_algorithm_id(.Hash hash) { - return [object(Sequence)]Standards.PKCS.RSA->signature_algorithm_id(hash); + return PKCS_RSA->signature_algorithm_id(hash); } //! Calls @[Standards.PKCS.RSA.build_public_key] with this object as //! argument. Sequence pkcs_public_key() { - return [object(Sequence)]Standards.PKCS.RSA->build_public_key(this); + return PKCS_RSA->build_public_key(this); } #undef Sequence -- GitLab