Hi there,
Given the recent wave of threads on the openssl lists, I thought I'd get
round to doing something I meant to do some time ago - and hack up a quick
demo. Anyway, I've just committed it into the openssl CVS repository, so
it should be present in the next nightly snapshot (downloadable from
www.openssl.org) and it's inside the openssl/demos/tunala/ directory. The
reason for "tunala" can be found in the header file. :-)
Anyway - this was a very fast attempt to get an SSL tunneler up and
running to illustrate the idea of having an abstract memory-based
state-machine with the application-specifics of network-IO and what-not
placed around the outside of it. I've tried to explain where things go and
how it works inside the README in that directory as well as sporadic
source comments wherever I felt the need or motivation.
Now it's there, I'm sure I'll get round to actually testing a few things
only to find it is full of bugs, but the principle should be sound. I've
based it conceptually around something much more substantial I've been
working on lately that itself would be too bulky to stick in as a "demo"
and has dependencies on loads of other stuff - but the principle is
working fine for me elsewhere so if there's bugs in "tunala", they're
probably fixable reasonably straightforwardly.
Well, take a look if it is of interest. There's been a lot of discussion
lately about a wide array of relevant issues; async-IO as an alternative
to threading/forking etc, non-blocking logic and avoiding "deadlocks" with
SSL, using OpenSSL in a purely data-only capacity, etc. For some time I
thought it would be handy to put my thoughts down in code rather than
emails, so please take a fish around inside it if you're curious.
Cheers,
Geoff
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]