Hi, continuing my OBI implementation using X509 certificates as backbone,
I am implementing the client side, server to server transfers using OpenSSL
(0.9.6g)...
this is nonblocking async under windows platforms...

Handshaking takes place ok...
Data transfer takes place ok...

always after the last chunk of data is received I get SSL_ERROR_SYSCALL,
ErrNo is always set to zero and the OpenSSL error queue is always empty.

It seems that maybe my readability check is failing but only after the last
chunk is received...
Strange indeed.

my read loop goes like this:

in response to FD_READ:

forever
{
    CheckReadability using select
    SSL_read ...
    select error code...
        case WANTREAD or WANTWRITE:      return
        case else:      report error and close connection; return
}

Should I ignore the error? or am I doing something fundementally wrong?


my CheckReadability routine goes like this:

int CSmashNCCtrl::CheckRead(int socket)
{
 struct timeval stTimeOut;
 fd_set stReadFDS;
 fd_set stErrorFDS;

 FD_ZERO(&stReadFDS);
 FD_ZERO(&stErrorFDS);

 FD_SET(socket,&stReadFDS);
 FD_SET(socket,&stErrorFDS);

 stTimeOut.tv_sec=0;
 stTimeOut.tv_usec=0;

 int i;
 i = select(0,&stReadFDS,NULL,&stErrorFDS,&stTimeOut);
 if (i)
 {
  if (FD_ISSET(socket,&stReadFDS))
   return 1;
 }
 return 0;
}

Thanks!
Pj.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Phillip J Whillier.
Senior software engineer
Ruling Software
[EMAIL PROTECTED];[EMAIL PROTECTED]
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=



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

Reply via email to