- From: brian hawley <bhawley@mantamedia.com>
- Date: Thu, 13 Jan 2000 12:16:12 -0600
- To: "'www-lib@w3.org'" <www-lib@w3.org>
Hey all... I've been having the same problem, but I didn't initially know it was a SSLv2 thing. Here's the changes to HTSSL.c to solve the problem, and fix two more bugs. New HTSSL_init (does SSLv2 fallback and only loads error strings once): PUBLIC BOOL HTSSL_init (void) { if (!app_ctx) { SSL_METHOD * meth = NULL; /* Set up the SSL library and provide error messages */ SSL_library_init(); SSL_load_error_strings(); /* The SSLv23 method tries SSLv3/TLSv1 but can fall back to SSLv2 */ meth = SSLv23_client_method(); // meth = TLSv1_client_method(); /* Set up the application context */ if ((app_ctx = SSL_CTX_new(meth)) == NULL) { HTTRACE(PROT_TRACE, "HTSSLContext Could not create context\n"); return NO; } HTTRACE(PROT_TRACE, "HTSSLContext Created context %p" _ app_ctx); /* See the SSL states in our own callback */ #ifdef HTDEBUG SSL_CTX_set_info_callback(app_ctx, apps_ssl_info_callback); #endif /* Set the certificate verification callback */ SSL_CTX_set_verify(app_ctx, SSL_VERIFY_PEER, verify_callback); /* Not sure what this does */ SSL_CTX_set_session_cache_mode(app_ctx, SSL_SESS_CACHE_CLIENT); } return YES; } Old HTSSL_addRef (doesn't compile unless debug): PRIVATE void HTSSL_addRef(HTSSL * htssl) { if (htssl) { (htssl->ref_count)++; if (PROT_TRACE) HTTrace("HTSSL....... New reference count = %d\n" _ htssl->ref_count); } } New HTSSL_addRef (compiles fine): PRIVATE void HTSSL_addRef(HTSSL * htssl) { if (htssl) { (htssl->ref_count)++; HTTRACE(PROT_TRACE, "HTSSL....... New reference count = %d\n" _ htssl->ref_count); } } I don't yet have cvs, so could someone else make these changes? Thanks! Brian Hawley
Received on Thursday, 13 January 2000 13:16:54 UTC