> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of David Schwartz > Sent: Saturday, March 12, 2005 1:22 PM > To: openssl-dev@openssl.org > Subject: RE: ssl_read to receive data of "unknown size" > > > > I am trying to use ssl_read in the loop for > receiving the data > > of unknown size ( say 988 bytes for now ). But it fails to > read after > > a single pass. Everytime it exits with ret = 32 and > > error=SSL_ERROR_NONE. > > Am I missing something here .. Please find attached the > code snippet. > > Is there any example code available ? > > Your code is broken in several ways. For one thing, > when is the loop supposed to return, assuming there is no error? > > > char buf[1024]; > > bool loop=TRUE; > > if( !waitRead(error) ) > > return -1; > > else > > { > > do > > { > > ret=SSL_read(ssl, buf, 32); > > > > printf("The data in ssl read is %s\n", buf); > > if(ret > 0)/* Successful read */ > > break; > > > > int err = SSL_get_error(ssl, ret); > > > > switch(err) > > {SSL_ERROR_NONE > > case SSL_ERROR_NONE: /* this is not an error */ > > Shouldn't there be a 'break' here? > > > case SSL_ERROR_ZERO_RETURN: /* no more data */ > > loop=FALSE; /* get out of loop */ > > printf("No more data \n"); > > break; > > case SSL_ERROR_WANT_READ: > > case SSL_ERROR_WANT_WRITE: > > printf("Pending data \n"); > > break; > > } > > } > > > > }while(loop); > > } > > The code you posted, even with the missing 'break' > appears to continue reading the data on an SSL connection, > overwriting each 32 bytes with the next 32 bytes, until the > other side closes the connection or an error occurs. It's > hard to imagine how that's useful.
I thought he asked he had problem with SSL_read ? Vu ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]