This sounds like a pretty radical change. How about we all discuss
further during the Thursday AOLserver chat?

Scott Goodwin wrote on 9/29/03, 10:32 PM:

 > Thanks for the feedback. I've decided to split nsopenssl into two
 > modules. The nsopenssl module will now be entirely focused on
 > AOLserver's comm-driven connections. The nshttps module will focus on
 > creating and using SSL connections using a Tcl API.
 >
 > I've made the decision to split this effort in two for the following
 > reasons:
 >
 > 1. The nsopenssl codebase is becoming unwieldy to develop and maintain.
 > Having three types of SSL connections, one of which is the "normal"
 > comm-driven type, makes the codebase rather complex.
 >
 > 2. The nsopenssl 2.x Tcl API supports Tcl commands that work with
 > comm-driven conns, but that do not work with SSL conns generated by the
 > nsopenssl Tcl API itself (I'm talking about ns_openssl_sockopen,
 > ns_openssl_sockcallback, etc.). To support non-comm-driven connections
 > I have to use thread-local storage to keep track of SSL conn
 > structures, making the code even more complicated.
 >
 > 3. The https.tcl module is a hack. Based on recent discussions I've
 > been watching here, it has problems, some of which originate with
 > nsopenssl.so itself. https.tcl will be replaced with nshttps.so.
 >
 > 4. Most people who run nsopenssl only want the ability to drive
 > AOLserver comm-driven connections anyway, and aren't interested in
 > creating their own SSL servers and clients using nsopenssl's Tcl API.
 >
 > 5. The configuration file is becoming too complex in order to support
 > SSL contexts separately from SSL drivers and connections.
 >
 > 6. Having nsopenssl focus on the comm-driven connections will allow me
 > to focus on its performance. The performance of non-comm-driven
 > connections is not a major issue since there are not as many of these
 > types of connections, and there isn't a user sitting at the other end
 > of them; usually you use these to connect to another SSL host.
 >
 > 7. Virtual servers in AOLserver 4.0 adds a lot more complexity to the
 > code -- virtual server state must be kept to ensure that one virtual
 > server cannot access another virtual server's structures and data.
 > Having separate code bases will allow me to focus on the security of
 > the comm-driven nsopenssl module much more effectively.
 >
 > 8. The non-comm-driven SSL connections rely on Tcl channels so that you
 > can use puts, gets and friends on them. The channel code adds
 > complexity to nsopenssl that is not required for the comm-driven
 > connections.
 >
 > 9. Testing has become a pain. Every change requires that I test both
 > the comm-driven connection capability and the non-comm-driven
 > capabilities. While much of this testing can be automated, it is
 > important that the comm-driven capability is extensively tested on its
 > own.
 >
 > The only downside to separating the two modules is that a significant
 > portion of the code will be duplicated. At this point I don't really
 > care about that and will revisit whether I want to have both modules
 > generated from (some) common files, or if I want to turn the common
 > portions of both into a loadable library on its own after we have some
 > experience with the modules in operation. In any case, both modules
 > will retain their separate identities.
 >
 > For the confused, a "comm-driven" connection is one that is actually
 > serviced by AOLserver core, over which I overlay the SSL portion.
 > Non-comm-driven connections are those where the sockets and SSL
 > overlays are both generated and maintained by the nsopenssl module
 > itself.
 >
 > I have already gutted nsopenssl and I will be releasing the slimmed
 > down, tighter version of nsopenssl first. nshttps will follow.
 >
 > /s.
 >
 >
 > On Monday, September 29, 2003, at 09:28  PM, Bart Teeuwisse wrote:
 >
 > > Thanks for explaining the nsopenssl config section Scott. Let me give
 > > you
 > > some feedback of what I've found so far.
 > >
 > > Nsopenssl appears to perform well for the most part. However, nsopenssl
 > > writes several empty error messages to the log. Can't tell what they
 > > are
 > > related to.
 > >
 > > More importantly though making a client connection using ns_httpsopen
 > > results in the following error:
 > >
 > >     [29/Sep/2003:18:14:58][20762.65541][-conn:demo::0] Error: :
 > > nsopenssl:
 > > error creating sslconn->ssl structure
 > >
 > > The server subsequently hangs and doesn't respond to requests anymore.
 > >
 > > /Bart
 > >
 > >
 > > --
 > > AOLserver - http://www.aolserver.com/
 > >
 > > To Remove yourself from this list, simply send an email to
 > > <[EMAIL PROTECTED]> with the
 > > body of "SIGNOFF AOLSERVER" in the email message. You can leave the
 > > Subject: field of your email blank.
 >
 >
 > --
 > AOLserver - http://www.aolserver.com/
 >
 > To Remove yourself from this list, simply send an email to
 > <[EMAIL PROTECTED]> with the
 > body of "SIGNOFF AOLSERVER" in the email message. You can leave the
 > Subject: field of your email blank.
 >


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.

Reply via email to