RFC: merge ssl-nio-branch into generics-branch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all.

The ssl-nio work is complete enough to the point where it can be merged
into the generics branch. Now that 0.92 has been released, this is a
good time to do that merge. I've accomplished three of the four goals I
set out on this project, which were [1]:

- -> 1. That the SSL library in GNU Classpath be rewritten to use the
- -> NIO model of the JSSE (that is, to write an implementation of the
- -> SSLEngine class).
- ->
- -> 2. That the blocking-IO SSL classes in GNU Classpath be rewritten
- -> to use the NIO classes.
- ->
- -> 3. That a complete unit test suite be written, which exercises the
- -> library with both partial and complete sample SSL connections. These
- -> tests should be integrated into the Mauve test suite (see
- -> http://sourceware.org/mauve/).

This patch not only represents an implementation of the new SSL APIs
introduced in Java 1.5, but additionally adds support for TLSv1.1 (the
newest version of the protocol) and pre-shared key ciphersuites. The
code is also, in my opinion, better written and easier to hack on than
the original was.

The tests have already been added to Mauve, and comprise a little over
100 tests that exercise nearly all cipher suites, using all protocol
versions.

I haven't gotten to the fourth, which I marked as optional anyway:

- -> 4. (Optional, if there is time) That we augment a free Java servlet
- -> container (such as GNU Gumdrop) as a test-bed for this library, set
- -> up such an instance on a public web server, and run some performance
- -> and scalability tests on this server.

This is largely because Classpath's socket NIO is still too immature.
I'm actively working on fixing that now, however. Once NIO is in good
enough shape we can look at modifying Gumdrop to support SSL.

The patch to do the merge is here:

  <http://metastatic.org/source/ssl-nio-merge.patch.gz>

(the patch is over 1M uncompressed, and compressed, is 175K! So I'm not
attaching it to this message)

Unless there are any issues with this, I'll try to commit the patch this
weekend.

Thanks!


1. http://code.google.com/soc/gnu/appinfo.html?csaid=3F1821EB717AF23
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQEVAwUBRN06IeRILCRAfKHCAQLS9wgAiHT3VB4uzgIGbn8Zt621DhIYuSWxI65t
VT7uUoadMheAgPtVi2U9pAVzH7F5g3b7qqOFWS7e7Tq0IjE5m59c58gkEpB7rc42
jbv3zoy2cf3gNAmyI/TU0mMIYsT/nQ7wyTQTquIIQCM9qaF+mvyxE+VCgoxZTcfd
PfSZQ/aoU5enSBPTpNbjTawll4rSG8t89ctpKe0IY7k1laKT8TMBoF27J+++kLrv
NT299aNlYeB4+VpaHyc+BaXAH9lVGnsLR83iRwR998nlNBAHKNyZZhK3luj4H2t5
QvbqjKFnwHD/C+HSN+rsvtqH/3A0REdBQCBu5WMjQQ3Sh7K+2IrGWw==
=gUWE
-----END PGP SIGNATURE-----


[Index of Archives]     [Linux Kernel]     [Linux Cryptography]     [Fedora]     [Fedora Directory]     [Red Hat Development]

  Powered by Linux