Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-24 Thread Dimitrios Souflis
Dan Kegel wrote: > > Gary Feldman wrote: > > and b) should > > object-oriented terminology be used in the documentation, as a pedagogical > > tool? In other words (for the latter), perhaps the documentation should be > > along the lines of: "A BIO is essentially an abstract class, but is > > spe

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-23 Thread Dan Kegel
Gary Feldman wrote: > It occurs to me that part of the learning curve problem with respect to BIOs > (and other aspects of OpenSSL) is that they're essentially an > object-oriented concept implemented in C. Or to put it another way, they're > a poor-man's polymorphism in C. Yes, that's exactly r

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-23 Thread Holger Reif
Gary Feldman schrieb: > > specified in C. You can implement your own particular BIO (analogous to > deriving an implementation class from an abstract class), by providing the > following functions (i.e. methods). Since this is C and not C++, you have > to make the methods available as follows..

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-23 Thread Douglas Wikström
> This makes me wonder whether a) perhaps a native C++ interface is in order > (with the inherent advantages and disadvantages); and b) should My vote is to keep things in C. > object-oriented terminology be used in the documentation, as a pedagogical > tool? In other words (for the latter), pe

RE: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-23 Thread Gary Feldman
It occurs to me that part of the learning curve problem with respect to BIOs (and other aspects of OpenSSL) is that they're essentially an object-oriented concept implemented in C. Or to put it another way, they're a poor-man's polymorphism in C. This makes me wonder whether a) perhaps a native

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Dr S N Henson
Jeffrey Altman wrote: > > > I was just attempting to summarize what the original poster was asking > for. I think the primary problem is that there are no example apps > showing how to use the different types of BIOs. > No there isn't much, which is a pity because BIOs are very useful things

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Bodo Moeller
On Tue, Aug 22, 2000 at 07:44:50AM -0700, Dan Kegel wrote: > It could well just be a lack of documentation and examples. > The code inside OpenSSL and its existing sample apps is > scary enough that it really takes great willpower to sit down > and reverse engineer an understanding of how things

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Douglas E. Engert
Jeffrey Altman wrote: > > > Jeffrey Altman wrote: > > > > > > > > > I think what he would like is the ability to do what the Microsoft > > > SSPI does. Instead of OpenSSL being a layer between the I/O channel > > > and the app, he would like the app to provide all I/O functions and > > > have

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Dan Kegel
Jeffrey Altman wrote: > > > > I'd prefer to bypass all OpenSSL-internal buffering and I/O entirely, > > > and let the app do all the buffering and I/O. > > > > Maybe, but I'm not sure what you mean exactly. Could you describe > > in terms of an approximate example API? > > I think what he would

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Dan Kegel
Geoff Thorpe wrote: > Anyway, I'm out of here - hope that actually made some sense. Thanks for the detailed reply, Geoff! It does help. I've written the loop you described many times for other systems (including an serial I/O interrupt handler for the IBM PC back in '82) and there's one in my c

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Dan Kegel
Jeffrey Altman wrote: > > Jeffrey Altman wrote: > > > I think what he would like is the ability to do what the Microsoft > > > SSPI does. Instead of OpenSSL being a layer between the I/O channel > > > and the app, he would like the app to provide all I/O functions and > > > have OpenSSL provide r

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Jeffrey Altman
> Jeffrey Altman wrote: > > > > > > I think what he would like is the ability to do what the Microsoft > > SSPI does. Instead of OpenSSL being a layer between the I/O channel > > and the app, he would like the app to provide all I/O functions and > > have OpenSSL provide routines that encode an

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Dr S N Henson
Jeffrey Altman wrote: > > > I think what he would like is the ability to do what the Microsoft > SSPI does. Instead of OpenSSL being a layer between the I/O channel > and the app, he would like the app to provide all I/O functions and > have OpenSSL provide routines that encode and decode buffe

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-22 Thread Bodo Moeller
On Mon, Aug 21, 2000 at 10:48:18AM -0400, Jeffrey Altman wrote: >>> I'd prefer to bypass all OpenSSL-internal buffering and I/O entirely, >>> and let the app do all the buffering and I/O. >> Maybe, but I'm not sure what you mean exactly. Could you describe >> in terms of an approximate example

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread Amit Chopra
OpenSSL will do networking for you only if the underlying BIO is a socket. The data source/sink for OpenSSL can be anything you choose. The library comes with a few BIO implementations and if none suit your purpose, then writing a BIO should not be very difficult as the BIO functions and their in

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread Geoff Thorpe
Hi there, I was lurking on this thread without replying until now because I'm damned busy at the moment, and wasn't really sure what the beef was that started all this ... On Mon, 21 Aug 2000, Jeffrey Altman wrote: > > Maybe, but I'm not sure what you mean exactly. Could you describe > > in te

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread Dan Kegel
Bodo Moeller wrote: > > I'm currently writing a multi-platform webserver using openSSL and I do also > > experience problems with the fact that the networking code is too tighty > > integrated with openSSL. ... > > If openSSL would be more of a library that runs on top af a stream (any > > stream,

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread Matti Aarnio
On Mon, Aug 21, 2000 at 04:58:03PM +0200, Nick De Roeck wrote: > I'm currently writing a multi-platform webserver using openSSL and I do also > experience problems with the fact that the networking code is too tighty > integrated with openSSL. On a unix system this may seem like a non-issue, > but

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread Bodo Moeller
On Mon, Aug 21, 2000 at 04:58:03PM +0200, Nick De Roeck wrote: >>> Check my original post (I'm copying it below). We're unhappy >>> with OpenSSL's support for nonblocking I/O on servers; currently, >>> it either wants you to rewrite your server to let OpenSSL handle >>> the network I/O, or use B

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread Nick De Roeck
>> Check my original post (I'm copying it below). We're unhappy >> with OpenSSL's support for nonblocking I/O on servers; currently, >> it either wants you to rewrite your server to let OpenSSL handle >> the network I/O, or use BIO pairs to let OpenSSL think it's doing >> networking still. Nei

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread terr
Right on I also have been asking for this for a year now. On Mon, 21 Aug 2000, Jeffrey Altman wrote: > > > I'd prefer to bypass all OpenSSL-internal buffering and I/O entirely, > > > and let the app do all the buffering and I/O. > > > > Maybe, but I'm not sure what you mean exactly. Could

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread Jeffrey Altman
> > I'd prefer to bypass all OpenSSL-internal buffering and I/O entirely, > > and let the app do all the buffering and I/O. > > Maybe, but I'm not sure what you mean exactly. Could you describe > in terms of an approximate example API? I think what he would like is the ability to do what the Mi

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-21 Thread Bodo Moeller
On Sun, Aug 20, 2000 at 03:11:52PM -0700, Dan Kegel wrote: > Ben Laurie wrote: >> I've obviously missed something ... what problem are you trying to >> solve? > Check my original post (I'm copying it below). We're unhappy > with OpenSSL's support for nonblocking I/O on servers; currently, > it

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread Dan Kegel
[EMAIL PROTECTED] wrote: > Yup - I think we can contain this quite easily. I'll grab the new source > tree asap and start looking over it with you. WHere we need to start is a > proper design for the datastructures. I like creating a group of function > calls with a not too long mnemonic... per

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread terr
> > In any event, if we design the proper underlying data structures to > > accomodate what we want - then all we need to do is pass this data > > structure into the proper state engine and the state engine can find the > > parameters the low level subs need and call them. It can even do this i

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread Dan Kegel
[EMAIL PROTECTED] wrote: > > Whatever we come up with, I'm sure the classic OpenSSL API could > > be layered on top of it. Perhaps we could consider this effort an > > experimental refactoring of the OpenSSL codebase to improve its > > quality and reusability. > > I agree with this approach. Th

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread terr
On Sun, 20 Aug 2000, Dan Kegel wrote: > [EMAIL PROTECTED] wrote: > > I agree with you 100% adn I'm in the same boat. I suggest that if we > > can't get people on board that we just go our own way. > > Whatever we come up with, I'm sure the classic OpenSSL API could > be layered on top of it

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread Dan Kegel
Ben Laurie wrote: > I've obviously missed something ... what problem are you trying to > solve? Check my original post (I'm copying it below). We're unhappy with OpenSSL's support for nonblocking I/O on servers; currently, it either wants you to rewrite your server to let OpenSSL handle the netw

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread Ben Laurie
I've obviously missed something ... what problem are you trying to solve? Cheers, Ben. Dan Kegel wrote: > > [EMAIL PROTECTED] wrote: > > I agree with you 100% adn I'm in the same boat. I suggest that if we > > can't get people on board that we just go our own way. > > Whatever we come up wit

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread Dan Kegel
[EMAIL PROTECTED] wrote: > I agree with you 100% adn I'm in the same boat. I suggest that if we > can't get people on board that we just go our own way. Whatever we come up with, I'm sure the classic OpenSSL API could be layered on top of it. Perhaps we could consider this effort an experimen

Re: Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread terr
I agree with you 100% adn I'm in the same boat. I suggest that if we can't get people on board that we just go our own way. I'll be happy to work with you on this and you can reply directly and to the list. The problem is that at this point IMHO the product is designed to fit into a client mode

Nonblocking again. Don't want OpenSSL to do any networking.

2000-08-20 Thread Dan Kegel
I'm trying to integrate OpenSSL into a nonblocking server that already has a firm idea of how it wants to do its networking. In other words, I want to use OpenSSL, but *do not* want OpenSSL doing any networking for me. I also don't want to use any huge, ungainly abstractions such as BIO pairs. W