Hi,
I've finished splitting GNU Crypto along "weak" and "strong" lines,
reformatted the code in GNU Crypto, and added the correct copyright
headers to all the files. The resulting patch, and zip file of new
files is here:
<http://metastatic.org/source/gnu-crypto-jessie-2.patch.txt>
<http://metastatic.org/source/gnu-crypto-jessie-2.zip>
You need both files; the patch is against a recent Classpath CVS
snapshot, and does contain a few miscellaneous fixes outside of
supporting GNU Crypto and Jessie, to make sure SSL connections
actually work. The zip file can be unpacked in the toplevel Classpath
directory. There are no changes to the build system (I don't know if
the GCJ support needs changing at all; I don't use it, so I can't tell).
The weak/strong split breaks out ciphers, MACs, key exchanges, and
classes depending on those into `gnu/javax/crypto,' which can be
removed almost entirely (you'll need to keep only `gnu/javax/crypto/
GnuDHPrivateKey.java,' though maybe that class should be moved), and
removing `gnu/javax/net/ssl' will remove all strong crypto.
This should not break anything existing in Classpath; instead, it
should just add functionality mostly "behind the scenes," so I think
it's safe to just check this in. I will, however, wait for some
discussion and testing, to make sure something obvious isn't missing.
I used `efj,' the Eclipse source formatter, to reformat the code. It
doesn't always do the right thing, so there may be some formatting
inconsistencies scattered around (mostly when breaking long lines).
There is still some code duplication here and there, say when two
different implementations (like RSA encryption and signatures) use
their own Key classes. The duplication isn't major, however, and we
can sort it out later on. Some things, like Diffie Hellman, are
duplicated, but not in a clean way --- Classpath's DH implementation
is written to the JCE API, while GNU Crypto's is not (and, the latter
is used by Jessie). Again, I hope these issues aren't blockers,
because I'd like to get this merged as soon as possible, lest my
schedule block me from finally doing it.
Thanks.
_______________________________________________
Classpath mailing list
Classpath@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath