# # patch "cryptopp/dll.cpp" # from [ce0b2cbe14a36fe02c6c38e1bf4cec7a22f297ca] # to [a45f8df300a430cc0ed1950657da7f3e254e0aa3] # # patch "cryptopp/iterhash.h" # from [998d3ab8dff631fe804959bdd67147a131c76714] # to [13dda42133c54095ab029b95c45c02773b7d4183] # # patch "cryptopp/modarith.h" # from [d0ec852c7109e338e3203f4c5e3d799b349e5b50] # to [39bdc4e4293b40a2402b9c6c360b11bcba1d4791] # # patch "cryptopp/modes.h" # from [e82479bba82a08167732740c849b147c00fa0c65] # to [04202c9ec17ba6cf867cc2c0978b555897db2b48] # # patch "cryptopp/osrng.cpp" # from [0859a9c95527beca3ebcb1451884e17451199c06] # to [f4c102fe074d4f3b786453ad7b9c0c267f14f273] # # patch "cryptopp/osrng.h" # from [e8b4d819082c8e8900d3e020a55bea47cbd3c11f] # to [dec0c431f792bb434c9bd6a6b2e046b7070ae820] # # patch "cryptopp/strciphr.h" # from [44aafb5fe06f03ba957d7f580903e72bdadd2feb] # to [62b7cc73730646814a49176d8288039deaaa5bac] # --- cryptopp/dll.cpp +++ cryptopp/dll.cpp @@ -19,12 +19,16 @@ NAMESPACE_BEGIN(CryptoPP) -#ifdef __MWERKS__ // CodeWarrior 8 workaround: explicit instantiations have to appear after member function definitions +#if defined(__MWERKS__) CRYPTOPP_DLL_TEMPLATE_CLASS DL_GroupParameters_EC; CRYPTOPP_DLL_TEMPLATE_CLASS DL_GroupParameters_EC; +#endif CRYPTOPP_DLL_TEMPLATE_CLASS DL_FixedBasePrecomputationImpl; -CRYPTOPP_STATIC_TEMPLATE_CLASS IteratedHashBase; +#ifdef WORD64_AVAILABLE +CRYPTOPP_DLL_TEMPLATE_CLASS IteratedHashBase; +CRYPTOPP_STATIC_TEMPLATE_CLASS IteratedHashBase; +#endif CRYPTOPP_DLL_TEMPLATE_CLASS IteratedHashBase; CRYPTOPP_STATIC_TEMPLATE_CLASS IteratedHashBase; CRYPTOPP_DLL_TEMPLATE_CLASS CFB_CipherTemplate >; @@ -34,7 +38,6 @@ CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate >; CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate >; CRYPTOPP_DLL_TEMPLATE_CLASS AbstractEuclideanDomain; -#endif template<> const byte PKCS_DigestDecoration::decoration[] = {0x30,0x21,0x30,0x09,0x06,0x05,0x2B,0x0E,0x03,0x02,0x1A,0x05,0x00,0x04,0x14}; template<> const unsigned int PKCS_DigestDecoration::length = sizeof(PKCS_DigestDecoration::decoration); --- cryptopp/iterhash.h +++ cryptopp/iterhash.h @@ -42,14 +42,6 @@ T m_countLo, m_countHi; }; -#ifdef WORD64_AVAILABLE -CRYPTOPP_STATIC_TEMPLATE_CLASS IteratedHashBase; -CRYPTOPP_STATIC_TEMPLATE_CLASS IteratedHashBase; -#endif - -CRYPTOPP_DLL_TEMPLATE_CLASS IteratedHashBase; -CRYPTOPP_STATIC_TEMPLATE_CLASS IteratedHashBase; - //! _ template class CRYPTOPP_NO_VTABLE IteratedHashBase2 : public IteratedHashBase --- cryptopp/modarith.h +++ cryptopp/modarith.h @@ -10,10 +10,6 @@ NAMESPACE_BEGIN(CryptoPP) -CRYPTOPP_DLL_TEMPLATE_CLASS AbstractGroup; -CRYPTOPP_DLL_TEMPLATE_CLASS AbstractRing; -CRYPTOPP_DLL_TEMPLATE_CLASS AbstractEuclideanDomain; - //! ring of congruence classes modulo n /*! \note this implementation represents each congruence class as the smallest non-negative integer in that class */ class CRYPTOPP_DLL ModularArithmetic : public AbstractRing --- cryptopp/modes.h +++ cryptopp/modes.h @@ -318,10 +318,6 @@ this->Resynchronize(iv); } -CRYPTOPP_DLL_TEMPLATE_CLASS CFB_CipherTemplate >; -CRYPTOPP_DLL_TEMPLATE_CLASS CFB_EncryptionTemplate >; -CRYPTOPP_DLL_TEMPLATE_CLASS CFB_DecryptionTemplate >; - //! CFB mode template struct CFB_Mode : public CipherModeDocumentation @@ -352,8 +348,6 @@ typedef CipherModeFinalTemplate_ExternalCipher > > > > Decryption; }; -CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate >; - //! OFB mode template struct OFB_Mode : public CipherModeDocumentation @@ -369,8 +363,6 @@ typedef Encryption Decryption; }; -CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate >; - //! CTR mode template struct CTR_Mode : public CipherModeDocumentation --- cryptopp/osrng.cpp +++ cryptopp/osrng.cpp @@ -28,6 +28,8 @@ NAMESPACE_BEGIN(CryptoPP) +CRYPTOPP_DLL_TEMPLATE_CLASS AutoSeededX917RNG; + #if defined(NONBLOCKING_RNG_AVAILABLE) || defined(BLOCKING_RNG_AVAILABLE) OS_RNG_Err::OS_RNG_Err(const std::string &operation) : Exception(OTHER_ERROR, "OS_Rng: " + operation + " operation failed with error " + --- cryptopp/osrng.h +++ cryptopp/osrng.h @@ -112,8 +112,6 @@ unsigned int m_counter; }; -CRYPTOPP_DLL_TEMPLATE_CLASS AutoSeededX917RNG; - template void AutoSeededX917RNG::Reseed(const byte *key, unsigned int keylength, const byte *seed, unsigned long timeVector) { --- cryptopp/strciphr.h +++ cryptopp/strciphr.h @@ -148,7 +148,6 @@ CRYPTOPP_DLL_TEMPLATE_CLASS TwoBases; CRYPTOPP_DLL_TEMPLATE_CLASS AbstractPolicyHolder >; -CRYPTOPP_DLL_TEMPLATE_CLASS AdditiveCipherTemplate<>; class CRYPTOPP_DLL CRYPTOPP_NO_VTABLE CFB_CipherAbstractPolicy { @@ -258,11 +257,6 @@ unsigned int MandatoryBlockSize() const {return this->OptimalBlockSize();} }; -// for Darwin -CRYPTOPP_DLL_TEMPLATE_CLASS CFB_CipherTemplate >; -CRYPTOPP_DLL_TEMPLATE_CLASS CFB_EncryptionTemplate<>; -CRYPTOPP_DLL_TEMPLATE_CLASS CFB_DecryptionTemplate<>; - //! _ template class SymmetricCipherFinal : public AlgorithmImpl, INFO>