X-Git-Url: https://git.syn-net.org/debian/?a=blobdiff_plain;f=src%2FauthAlgo.h;h=758e7545002119b4767b87db92375844fd28d3ec;hb=5123ec3335dda691676f62467c57edc2517a5d5c;hp=a1fcea403b401e9af6419cf634abdd8e0681af2c;hpb=65944fb7a518dc659bacaf80cf235a0352fc6a7e;p=anytun.git diff --git a/src/authAlgo.h b/src/authAlgo.h index a1fcea4..758e754 100644 --- a/src/authAlgo.h +++ b/src/authAlgo.h @@ -101,10 +101,13 @@ public: //****** Sha1AuthAlgo ****** //* HMAC SHA1 Auth Tag Generator Class +class AuthAlgoFactory; + class Sha1AuthAlgo : public AuthAlgo { + friend class AuthAlgoFactory; + public: - Sha1AuthAlgo(kd_dir_t d); ~Sha1AuthAlgo(); void generate(KeyDerivation& kd, EncryptedPacket& packet); @@ -113,8 +116,11 @@ public: static const uint32_t DIGEST_LENGTH = 20; private: + Sha1AuthAlgo(kd_dir_t d); + bool Init(); + #if defined(USE_SSL_CRYPTO) - HMAC_CTX ctx_; + HMAC_CTX *ctx_; #elif defined(USE_NETTLE) struct hmac_sha1_ctx ctx_; #else // USE_GCRYPT is the default