On 12/10/2010 09:03 PM, Howard Chu wrote:
rmeggins@redhat.com wrote:
I "rebased" the patch on top of a recent change: revision 1.24 date: 2010/12/06 10:31:59; author: hallvard; state: Exp; lines: +5 -17 ITS#6625 Remove some LDAP_R_COMPILEs
I didn't quite understand the point of the discussion of SSLv2 clients in the comments on this patch, but committed it anyway.
Thanks. I usually defer to Bob Relyea - he insists this is secure, and will not use SSLv2 if it is explicitly disabled (which it is in the OpenLDAP implementation).
I would hope that nobody is still using SSLv2 these days. Also if a StartTLS request fails, then the rest of the code in tlsm.c should never even be reached; the TLS sockbuf layer wouldn't be installed.
In my testing, openldap server was calling the tls session_accept function after the client failed to start tls. Because the failure was on the client side (e.g. a bogus CA cert), the server left the connection flagged with c_needs_tls_accept, and called ldap_pvt_tls_accept() on the next read. I've confirmed this using both openldap 2.4 with openssl and with moznss. openssl also checks for sslv2 incoming connections, but handles error cases better (e.g. it looks for http connections), including the case where the header bytes don't match a known sslv2, v3, or tls handshake. See ssl23_get_client_hello() for more information.
The new patch is here: ftp://ftp.openldap.org/incoming/openldap-2.4.23-use-non-blocking-semantics-20101208.patch
This patch file is derived from OpenLDAP Software. All of the modifications to OpenLDAP Software represented in the following patch(es) were developed by Red Hat. Red Hat has not assigned rights and/or interest in this work to any party. I, Rich Megginson am authorized by Red Hat, my employer, to release this work under the following terms.
Red Hat hereby place the following modifications to OpenLDAP Software (and only these modifications) into the public domain. Hence, these modifications may be freely used and/or redistributed for any purpose with or without attribution and/or other notice.