return real->Size();
}
-bool cMutableKey::Cmp(void *Key, int Keylen)
-{
- return real->Cmp(Key,Keylen);
-}
-
bool cMutableKey::Cmp(cPlainKey *k)
{
cMutableKey *mk=dynamic_cast<cMutableKey *>(k); // high magic ;)
cPlainKeyDummy(void);
~cPlainKeyDummy();
virtual bool Parse(const char *line);
- virtual bool Cmp(void *Key, int Keylen) { return false; }
virtual bool Cmp(cPlainKey *k) { return false; }
virtual void Get(void *mem) {}
virtual int Size(void) { return len; }
cPlainKey(bool CanSupersede);
virtual bool Parse(const char *line)=0;
virtual cString ToString(bool hide);
- virtual bool Cmp(void *Key, int Keylen)=0;
virtual bool Cmp(cPlainKey *k)=0;
virtual void Get(void *mem)=0;
virtual int Size(void)=0;
public:
cMutableKey(bool Super);
virtual ~cMutableKey();
- virtual bool Cmp(void *Key, int Keylen);
virtual bool Cmp(cPlainKey *k);
virtual void Get(void *mem);
virtual int Size(void);
return SetKey(Mem,Keylen);
}
-bool cHexKey::Cmp(void *Key, int Keylen)
-{
- return keylen==Keylen && memcmp(key,Key,keylen)==0;
-}
-
bool cHexKey::Cmp(cPlainKey *k)
{
cHexKey *hk=dynamic_cast<cHexKey *>(k); // downcast
- return hk && Cmp(hk->key,hk->keylen);
+ return hk && keylen==hk->keylen && memcmp(key,hk->key,keylen)==0;
}
void cHexKey::Get(void *mem)
return rotate ? key->GetLE(Mem,Keylen) : key->Get(Mem,Keylen);
}
-bool cBNKey::Cmp(void *Key, int Keylen)
-{
- return BN_cmp(*key,(BIGNUM *)Key)==0;
-}
-
bool cBNKey::Cmp(cPlainKey *k)
{
cBNKey *bk=dynamic_cast<cBNKey *>(k); // downcast
virtual bool SetKey(void *Key, int Keylen);
virtual bool SetBinKey(unsigned char *Mem, int Keylen);
virtual cString Print(void);
- virtual bool Cmp(void *Key, int Keylen);
virtual bool Cmp(cPlainKey *k);
virtual void Get(void *mem);
virtual int Size(void) { return keylen; }
virtual bool SetKey(void *Key, int Keylen);
virtual bool SetBinKey(unsigned char *Mem, int Keylen);
virtual cString Print(void);
- virtual bool Cmp(void *Key, int Keylen);
virtual bool Cmp(cPlainKey *k);
virtual void Get(void *mem);
virtual int Size(void) { return keylen; }