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
