From: Stephen D. <sd...@gm...> - 2008-10-22 19:42:15
|
On Wed, Oct 22, 2008 at 4:23 AM, Vlad Seryakov <ser...@us...> wrote: > Update of /cvsroot/naviserver/modules/nsssl > In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv22913/modules/nsssl > > Modified Files: > nsssl.c > Log Message: > new accept status, SSL driver works now > > > Index: nsssl.c > =================================================================== > *** 286,298 **** > > if (sslPtr == NULL) { > ! sslPtr = SSL_new(drvPtr->ctx); > if (sslPtr == NULL) { > Ns_Log(Error, "%d: SSL session init error for %s: [%s]", sock->sock, ns_inet_ntoa(sock->sa.sin_addr), strerror(errno)); > return NS_DRIVER_ACCEPT_ERROR; > } > sock->arg = sslPtr; > ! SSL_set_fd(sslPtr, sock->sock); > ! SSL_set_accept_state(sslPtr); > ! > } > return NS_DRIVER_ACCEPT_DATA; > --- 293,306 ---- > > if (sslPtr == NULL) { > ! sslPtr = ns_calloc(1, sizeof(SSLContext)); > ! sslPtr->ssl = SSL_new(drvPtr->ctx); > if (sslPtr == NULL) { > Ns_Log(Error, "%d: SSL session init error for %s: [%s]", sock->sock, ns_inet_ntoa(sock->sa.sin_addr), strerror(errno)); > + ns_free(sslPtr); > return NS_DRIVER_ACCEPT_ERROR; > } > sock->arg = sslPtr; > ! SSL_set_fd(sslPtr->ssl, sock->sock); > ! SSL_set_accept_state(sslPtr->ssl); > } > return NS_DRIVER_ACCEPT_DATA; > *************** The check for (sslPtr == NULL) happens after it's already been used. |