On Sun, Apr 30, 2000 at 01:13:39PM -0700, Jeff Magnusson wrote:
[...]
> I made similar changes to my read function, but it's only getting a portion
> of the message still, after a successsful connect:
>
> E_SSL_WRITEABLE and E_SSL_READABLE relate to WANTREAD and WANTWRITE,
> E_SSL_NOERROR is the NOERROR state, and
> E_SSL_ERROR is any other error condition.
> --- FUNC ---
> while (((Error == E_SSL_READABLE) || (Error == E_SSL_WRITEABLE))
> && (NumRead < MAX_LINE)) {
[...]
> err = SSL_read(ssl, buffer, sizeof(buffer) - 1);
[...]
> Error = CheckSSLError(err);
> }
[...]
> LogLine("Done read");
> And this spins a few times, then gets 3 (always) of the 11 chars sent and
> gets to "Done read":
> It should get "HELLO WORLD".
Do you send the data in multiple SSL_write calls? It seems you do,
with only 3 bytes being written in the first call. Then the first
record will contain only these 3 bytes, and SSL_read will result
in SSL_ERROR_NONE after the call that reads these three bytes.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]