On Wed, Feb 15, 2012 at 08:00:10AM +0100, Alexander Burger wrote:
> since Firefox 10 (Windows) is out, some of my customers complain that
> they can't access their PicoLisp applications via SSL any longer.
Now, after installing Firefox 10 (Debian wheezy) myself, I could
reproduce the problem. I traced it down and finally found the reason!
It has not directly to do with SSL. Neither the certificate or BEAST
It has to do with the way Firefox 10 writes the stream of HTTP
transaction data to the server. If the connection is via SSL, Firefox
seems to send for each block of data always first a single byte, and
then the rest. That is, SSL_read() must be called twice, yielding first
a single character (e.g. 'P' if the transaction is "POST"), and then the
rest of the HTTP header (200 - 300 bytes).
I don't know why this is the case. Perhaps a bug in Firefox? At least it
is rather inefficient.
In any case, it made 'httpGate' choke, because 'httpGate' did a kind of
deep inspection of the data stream to rewrite URLs for HTTP/1.1
So I removed this stream monitoring from 'httpGate', and handle it on
the Lisp level in "lib/http.l". This is more appropriate anyway;
probably it was bad design to have 'httpGate' handle it in this way.