You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Cliff Woolley <cl...@yahoo.com> on 2001/07/11 06:57:23 UTC

RE: Filters : mod_ssl (fwd)

---------- Forwarded message ----------
Date: Wed, 11 Jul 2001 00:11:37 -0400
From: "MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1)"
    <ma...@hp.com>
To: 'Cliff Woolley' <jw...@virginia.edu>,
     "MATHIHALLI,MADHUSUDAN (HP-Cupertino,ex1)" <ma...@hp.com>
Cc: Ryan Bloom <rb...@covalent.net>
Subject: RE: Filters : mod_ssl


> > 	I was messing around with the mod_tls filters to get the mod_ssl
> > code to work, but I still seem to have some problems. The OpenSSL
> > handshake goes thru' without any problems, but when it comes to the
> > data exchange, the server read fails with a EAGAIN error. The problem
> > seems to be in the churn () function of the filter. I tried going
> > thru' the chunk_filter in http_core.c, and it seems that the
> > chunk_filter does things a little differently. I was just wondering
> > if there's a need to change the implementation of the tls_filter on
> > similar lines as the http filter.
> > 	In this regard, it'll be great if you can give me some feedback,
> > and also, if possible please point me to some place where I can get a
> > detailed description about the exact behaviour of the filter.
>
> I haven't looked too closely at mod_tls in a long, long time.  When you
> get an EAGAIN (presumably on a non-blocking read), what happens if you
> then switch to a blocking read and try again?
>
> --Cliff
>

Hi Cliff,
	If I replace the APR_NONBLOCK_READ with APR_BLOCK_READ, the process
just blocks (on read) till I close the client (browser). The output logs is
something like below :

Connection to child 0 established (server jolteon:9443)
OpenSSL: Handshake: start
OpenSSL: Handshake: done
ssl_filter_Output : entry
ssl_filter_Output : APR_BUCKET_IS_FLUSH
Entered Churn ()
ssl_filter_Output : APR_BUCKET_IS_FLUSH 20514   (APR_EOF)
=========> Certificate window pops up on the browser, and I select OK
Connection to child 1 established (server jolteon:9443)
OpenSSL: Handshake: start
OpenSSL: Handshake: done
ssl_filter_Output : entry
ssl_filter_Output : APR_BUCKET_IS_FLUSH
Entered Churn ()
=========> The server is in a block read state now, and I Close the browser
SSLStateMachine_read_extract: After read 0 [1024]
Entered churn_output ()
Returning from churn_output ()
Returning from Churn ()
ssl_filter_Output : APR_BUCKET_IS_FLUSH 20514   (APR_EOF)


Thanks
-Madhu