Shao The System should lose memory when a request from IE comes but not for Netscape Check that ? there is slight difference in the way IE and netscape will send u the initial key requests
for eg: With IE u will get 2 requests I m putting comments in the code have a look at them is this ur problem 1 The first request is empty and returns an error remember to free all that u allocated at that point This is what i m talking abt l_pcbuff = new char[1500]; /*Allocated a buffer to read */ do l_nread = SSL_read(this->getSSL(),(void *)l_pcbuff,1499); }while(SSL_get_error(this->getSSL(),l_nread) ==SSL_ERROR_WANT_X509_LOOKUP || SSL_get_error(this->getSSL(),l_nread) == SSL_ERROR_WANT_READ); /* If u get any one of the above errors repeat the same task */ /*This is what i m saying */ /*With Netscape this condition is never satisfied and with IE it goes in once here*/ /*This was causing a leak initially with my code*/ if(l_nread ==0) { delete[] l_pcbuff; return (SSL_NODATAREAD); } switch (SSL_get_error(this->getSSL(),l_nread)) { case SSL_ERROR_NONE: if(SSL_pending(this->getSSL())) { cout<<"Connection pending"; } cout<<"\nNumber of bytes"<<SSL_pending(this->getSSL())<<endl; break; case SSL_ERROR_WANT_WRITE: cout<<"SSL_WANT_WRITE"<<endl; break; case SSL_ERROR_WANT_READ: cout<<"SSL_WANT_READ"<<endl; break; case SSL_ERROR_WANT_X509_LOOKUP: file://BIO_printf(bio_s_out,"Read BLOCK\n"); cout<<"\nSSL_ERROR_WANT_X509\n"; break; case SSL_ERROR_SYSCALL: case SSL_ERROR_SSL: cout<<"\nErrors \n"; cout<<"ERRORString\t"<<ERR_error_string(SSL_ERROR_SSL,NULL)<<"Function"<<ERR _func_error_string(SSL_ERROR_SSL)<<endl; return -1; break; case SSL_ERROR_ZERO_RETURN: file://BIO_printf(bio_s_out,"DONE\n"); break; file://goto err; // cout<<"Done"; } -SIGTERM amit ----- Original Message ----- From: "Shao (E-mail)" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, December 13, 2002 1:47 PM Subject: Who steal my memory?? > Hi, everybody: > > I have ported the openssl 0.9.6g to my embedded system of ARM CPU. > My program plays the role of https server. > It can handle the requests of IE and Netscape browsers successfully. > Everything is OK, except the system memory is losing. > When a new browser window is opened and client_key_exchange is processed, > my system memory will lose about 0x13000 ~ 0x16000 byte. > I'm sure that every SSL_new() is along with SSL_free(). > I doubted the function of cache, so I set SSL_CTX_sess_set_cache_size(ctx,0). > But it did not help. > Now, I have no idea. Who can tell me what's wrong in the situation? Thanks a lot. > > Best Regards > Wilson Shao > [EMAIL PROTECTED] > :I"Ϯrm??(Z+K?1x h[z?Z+ fy fh?)z{,? ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List [EMAIL PROTECTED] Automated List Manager [EMAIL PROTECTED]