I'm calling Cryptography-rww.16 the "trunk" version. The only branch that has changes that aren't in the trunk looks like the "cmm" branch. Below is a summary of the change logs from that branch. It started from RJT.6 and moved linearly to cmm.13.
Among these changes are:
1) cmm.12 which fixed an Undelcared var and needs to be applied to the trunk
2) cmm.11 which drops extensions to ThirtyTwoBitRegister which were absorbed in Squeak3.11 and are also present in 4.1. Do we want to continue to include them in Cryptography package? My suggestion is to move them from Cryptography to CryptoThirtyTwoBitRegisterExtensions which will only be loaded in pre-Squeak3.11 images. I don't know anything about Metacello yet but maybe we can make it smart enough to load these in older images.
3) cmm.8 contains #destroy in ElGamalKeyGenerator and String which are not in trunk. The only user of the former is DiffieHellman which provides no path to send destroy to the generator unless it is sent by a third party (df generator destroy). Methods are untested.
4) cmm.9 which adds a species check in ASN1Object>>=. This change is not in the trunk but there are no tests that fail as a result of its absence. Chris: do you remember your motivation for adding this?
For now I'll fix "1" and await feedback on others.
David
Summary of cmm branch changes:
cmm.7 changes: ****not in trunk
- Added ElGamalKeyGenerator>>#destroy to clean-up in-memory secrets. - Removed faulty optimization of Fortuna>>#nextInt:. Now inherits slower but correct one from superclass.
cmm.8 changes: ****not in trunk
- Added String>>#destroy and HashFunction class>>#doubleHashMessage:.
cmm.9 changes: ****not in trunk
- Fix for ASN1Object>>#=.
cmm.10 changes: **** fixed in trunk
- Fixed syntax error in SHA1>>#hashInteger:seed:.
cmm.11 changes: **** not in trunk
- For Squeak 3.11. Removed methods from ThirtyTwoBitRegister which 3.11 absorbed. This allows this package to load into 3.11 without causing a dirty System package.
cmm.12 changes: **** not in trunk --- NEEDS TO BE DONE IN TRUNK
- Removed methods referring to old 'Picker' classVar. It was changed to a class-inst var.
Note: class-inst var is in RandomGenerator
cmm.13 changes: At least partially in trunk. Too many changes to verify but most seem to have been converted in trunk.
- FixUnderscores