> Damn. I thought I'd applied all your patches. Are there any others I
> missed?

i proposed to remove input parameter check from ssl/s2_pkt.c write_pending
and ssl/s3_pkt.c ssl3_write_pending functions. there was a discussion
about it back in January. 

snipet from original message:

8) ssl/s2_pkt.c and ssl/s3_pkt.c write_pending and ssl3_write_pending have
unnecessary check at the beginning which stops me from moving data around
in my buffers between calls to SSL_write. this data is already copied to
internal buffers and there is no need for this check. i tested ssleay
without this check (non-blocking sockets and stuff) under various
platforms and everything worked as expected.

        if ((s->s3->wpend_tot > (int)len) || (s->s3->wpend_buf != buf)
                || (s->s3->wpend_type != type))
                {
                SSLerr(SSL_F_SSL3_WRITE_PENDING,SSL_R_BAD_WRITE_RETRY);
                return(-1);
                }

and explanation from another message:

i have an application which uses non-blocking sockets and uses something
like OpenSSL's BUF class (stuff under crypto/buffer) to manage output
buffers. when i get more data than there is room buffer i call something
like BUF_MEM_grow, which does realloc. now the buf parameter is not the
same, but the contents of the buffer is. if i grow the buffer between
calls to SSL_write i get the error.

well one way to fix my application is to rewrite it so that it will not
reallocate the buffer. it will be probably faster too. but i would like to
have a choice: sometimes i can afford reallocating, sometimes not.

right now this check deserves only one purpose: it disallows me to
reallocate buffers. if we remove this check, everything will still work
and SSL_write will be more like write(2).

arne

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to