Hi, Eric, I just realized that you are the same Eric Hughes who wrote the cypherpunk's manifesto. (Anyone who hasn't read it yet, browse over to http://www.activism.net/cypherpunk/manifesto.html.)
To avoid breaking compilation of existing code, I ended up implementing a suggestion from Russell Robinson (through private email), where the "Weak" namespace is automatically imported into the main "CryptoPP" namespace by a "using" directive along with a #warning if you #include one of the header files containing a weak algorithm. Both the using directive and the #warning can be disabled by defining the CRYPTOPP_ENABLE_NAMESPACE_WEAK macro to 1. This way, the Crypto++ user will be informed that he's using a weak algorithm, but won't be faced with a situation where his code suddenly stops compiling. For algorithms found to be weak in the future, I think what I will do is to have namespaces Weak1, Weak2, Weak3, etc, one for each Crypto++ release. Then these will be imported into either the main namespace or the "Weak" namespace, depending on how CRYPTOPP_ENABLE_NAMESPACE_WEAK is defined. For example, defining CRYPTOPP_ENABLE_NAMESPACE_WEAK as 2 will cause Weak3 to be imported into the main namespace along with a warning, while Weak1 and Weak2 will be imported into the "Weak" namespace. Does this solution seem good enough? I also decided to give up the "Deprecated" namespace since that seems like more work than it's worth once I started doing it. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [EMAIL PROTECTED] More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~---
