On Aug 30, 12:29 pm, "Umesh Bywar" <[EMAIL PROTECTED]> wrote:
> Hi all:
>
>     I am not sure if this is the right forum to post my query. But I am 
> taking my chance.
>     I am working on writing a proxy for HTTP/HTTPS traffic. For intercepting 
> HTTPS traffic, I have to upgrade a socket to SSL. My problem is, before my 
> upgradation is done completely, mozilla's reader tries to read something from 
> the socket and that messes up the handshake. This happens on a different 
> thread and hence I do not have any control over when this reader gets 
> invoked. To make it more clear, I am describing my steps here:
> 1) Client sends a CONNECT request over the socket and proxy reads it.
> 2) The proxy responds with "200 OK" response telling the client that proxy is 
> ready for SSL communication.
> 3) The client sends the handshake message (Client Hello)
> 4) Meanwhile proxy tries to upgrade the socket to make it able to handle SSL. 
> (ref:http://www.mozilla.org/projects/security/pki/nss/ref/ssl/sslfnc.html).
> 5) While this upgrdation is going on, my breakpoint at 
> nsSocketInputStream::Read() is hit. So even before the socket is configured 
> completely for SSL, the reader is invoked. That causes the handshake to fail.

you need to either return a state indicating there are zero bytes
available to read or block, depending on the APIs. I'm assuming that
this Read isn't being called on the main thread.

_______________________________________________
dev-tech-xpcom mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-xpcom

Reply via email to