From b079b80e5c75ef424ad2ecc98bd556596d2f8163 Mon Sep 17 00:00:00 2001 From: weidai Date: Mon, 16 Apr 2007 00:29:47 +0000 Subject: rename STRUCTURED_IV to UNIQUE_IV. Sun CC workaround git-svn-id: svn://svn.code.sf.net/p/cryptopp/code/trunk/c5@306 57ff6487-cd31-0410-9ec3-f628ee90f5f0 --- cryptlib.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'cryptlib.h') diff --git a/cryptlib.h b/cryptlib.h index 1b72ba6..1cd6c6a 100644 --- a/cryptlib.h +++ b/cryptlib.h @@ -4,7 +4,7 @@ classes that provide a uniform interface to this library. */ -/*! \mainpage Crypto++® Library 5.4 Reference Manual +/*! \mainpage Crypto++® Library 5.5 Reference Manual
Abstract Base Classes
cryptlib.h @@ -375,7 +375,7 @@ public: //! calls SetKey() with an NameValuePairs object that just specifies "IV" void SetKeyWithIV(const byte *key, size_t length, const byte *iv); - enum IV_Requirement {STRUCTURED_IV = 0, RANDOM_IV, UNPREDICTABLE_RANDOM_IV, INTERNALLY_GENERATED_IV, NOT_RESYNCHRONIZABLE}; + enum IV_Requirement {UNIQUE_IV = 0, RANDOM_IV, UNPREDICTABLE_RANDOM_IV, INTERNALLY_GENERATED_IV, NOT_RESYNCHRONIZABLE}; //! returns the minimal requirement for secure IVs virtual IV_Requirement IVRequirement() const =0; @@ -387,7 +387,7 @@ public: //! returns whether this object can use random but possibly predictable IVs (in addition to ones returned by GetNextIV) bool CanUsePredictableIVs() const {return IVRequirement() <= RANDOM_IV;} //! returns whether this object can use structured IVs, for example a counter (in addition to ones returned by GetNextIV) - bool CanUseStructuredIVs() const {return IVRequirement() <= STRUCTURED_IV;} + bool CanUseStructuredIVs() const {return IVRequirement() <= UNIQUE_IV;} //! returns size of IVs used by this object virtual unsigned int IVSize() const {throw NotImplemented("SimpleKeyingInterface: this object doesn't support resynchronization");} @@ -1029,6 +1029,11 @@ public: // for internal library use void DoQuickSanityCheck() const {ThrowIfInvalid(NullRNG(), 0);} + +#ifdef __SUNPRO_CC + // Sun Studio 11/CC 5.8 workaround: it generates incorrect code when casting to an empty virtual base class + char m_sunCCworkaround; +#endif }; //! interface for generatable crypto material, such as private keys and crypto parameters -- cgit v1.2.1