- Jun 26, 2012
-
-
- Jun 07, 2012
-
-
The buffer allocated for reading password file has to be initialized with zeros, or we need to append zero at the end of the file. Otherwise we might read unitialized memory and consider it to be a password.
-
-
- Jun 05, 2012
-
-
- May 30, 2012
-
-
Prior to this patch, if TLS_CACERTDIR was set to Mozilla NSS certificate database and TLS_CACERT was set to a PEM bundle file with CA certificates, the PEM file content was not loaded. With this patch and the same settings, OpenLDAP can verify certificates which are signed by CAs stored both in certdb and PEM bundle file.
-
- Mar 09, 2012
-
-
Howard Chu authored
-
- Jan 26, 2012
-
-
Deferred TLS initialization is used with Mozilla NSS. The real initialization takes place when the TLS context is needed for the first time. If the initialization parameters were freed immediately after tlsm_ctx_init was called, they were not available at the time of deferred initialization which caused segmentation fault. With this patch, initialization parameters are copied and stored until the deferred initialization is finished. The parameters are freed afterwards. Red Hat Bugzilla: #783431
-
Red Hat Bugzilla: #772890
-
- Jan 01, 2012
-
-
Kurt Zeilenga authored
-
- Sep 30, 2011
-
-
Howard Chu authored
-
PEM nss is not thread safe when establishing the initial connection using SSL_ForceHandshake. Create a new mutex - tlsm_pem_mutex - to protect this function call. The call to SSL_ConfigServerSessionIDCache() is not thread-safe - move it to the init section and protect it with the init mutex.
-
- Aug 24, 2011
-
-
Howard Chu authored
-
The NSS_InitContext et. al, and their corresponding shutdown functions, are not thread safe. There can only be one thread at a time calling these functions. Protect the calls with a mutex. Create the mutex using a PR_CallOnce to ensure that the mutex is only created once and not used before created. Move the registration of the nss shutdown callback to also use a PR_CallOnce. Removed the call to SSL_ClearSessionCache() because it is always called at shutdown, and we must not call it more than once.
-
- Jul 28, 2011
-
-
If the olcTLSVerifyClient is set to a value other than "never", the server should request that the client send a client certificate for possible use with client cert auth (e.g. SASL/EXTERNAL). If set to "allow", if the client sends a cert, and there are problems with it, the server will warn about problems, but will allow the SSL session to proceed without a client cert. If set to "try", if the client sends a cert, and there are problems with it, the server will warn about those problems, and shutdown the SSL session. If set to "demand" or "hard", the client must send a cert, and the server will shutdown the SSL session if there are problems. I added a new member of the tlsm context structure - tc_warn_only - if this is set, tlsm_verify_cert will only warn about errors, and only if TRACE level debug is set. This allows the server to warn but allow bad certs if "allow" is set, and warn and fail if "try" is set.
-
If tlsm_find_and_verify_cert_key finds the cert and/or key, and it fails to verify them, it will leave them allocated for the caller to dispose of. There were a couple of places that were not disposing of the cert and key upon error.
-
- Jul 21, 2011
-
-
When server certificate is not required in a TLS session (e.g. TLS_REQCERT is set to 'never'), ignore expired issuer certificate error and do not terminate the connection.
-
- Jun 29, 2011
-
-
In tlsm_auth_cert_handler, we get the peer's cert from the socket using SSL_PeerCertificate. This value is allocated and/or cached. We must destroy it using CERT_DestroyCertificate.
-
- Jun 21, 2011
-
-
-
OpenLDAP built with OpenSSL allows most any value of cacertdir - directory is a file, directory does not contain any CA certs, directory does not exist - users expect if they specify TLS_REQCERT=never, no matter what the TLS_CACERTDIR setting is, TLS/SSL will just work. TLS_CACERT, on the other hand, is a hard error. Even if TLS_REQCERT=never, if TLS_CACERT is specified and is not a valid CA cert file, TLS/SSL will fail. This patch makes CACERT errors hard errors, and makes CACERTDIR errors "soft" errors. The code checks CACERT first and, even though the function will return an error, checks CACERTDIR anyway so that if the user sets TRACE mode they will get CACERTDIR processing messages.
-
- Mar 16, 2011
-
-
Howard Chu authored
-
- Jan 29, 2011
-
-
Howard Chu authored
-
- Jan 27, 2011
-
-
Howard Chu authored
-
Howard Chu authored
-
Howard Chu authored
-
Howard Chu authored
-
- Jan 05, 2011
-
-
Kurt Zeilenga authored
-
- Dec 24, 2010
-
-
Howard Chu authored
-
- Dec 11, 2010
-
-
Howard Chu authored
-
- Dec 06, 2010
-
-
Hallvard Furuseth authored
-
- Nov 15, 2010
-
-
Howard Chu authored
-
Howard Chu authored
-
Howard Chu authored
-
Howard Chu authored
-
- Oct 29, 2010
-
-
Howard Chu authored
-
- Jul 21, 2010
-
-
Howard Chu authored
-
- Jul 14, 2010
-
-
Howard Chu authored
-
- Apr 13, 2010
-
-
Kurt Zeilenga authored
-
- Apr 12, 2010
-
-
Howard Chu authored
-
Howard Chu authored
-