From 5b5c5facb0fc32e69216b76a182306e472d6906f Mon Sep 17 00:00:00 2001 From: Eric Covener Date: Wed, 24 Feb 2010 04:02:06 +0000 Subject: [PATCH] make some sense of the difference between "Client" and "Global" certs in mod_ldap. PR46541 Submitted By: Paul Reder, Eric Covener Reviewed By: Eric Covener git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@915660 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 7 +++++++ docs/manual/mod/mod_ldap.xml | 14 ++++++++++---- include/ap_mmn.h | 5 +++-- modules/ldap/util_ldap.c | 32 ++++++++++++++------------------ 4 files changed, 34 insertions(+), 24 deletions(-) diff --git a/CHANGES b/CHANGES index 19edfa4966..7a3b3a02f7 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,13 @@ Changes with Apache 2.3.7 + *) mod_ldap: Update LDAPTrustedClientCert to consistently be a per-directory + setting only, matching most of the documentation and examples. + PR 46541 [Paul Reder, Eric Covener] + + *) mod_ldap: LDAPTrustedClientCert now accepts CA_DER/CA_BASE64 argument + types previously allowed only in LDAPTrustedGlobalCert. [Eric Covener] + *) mod_negotiation: Preserve query string over multiviews negotiation. This buglet was fixed for type maps in 2.2.6, but the same issue affected multiviews and was overlooked. diff --git a/docs/manual/mod/mod_ldap.xml b/docs/manual/mod/mod_ldap.xml index 2b12936455..e64bce3a70 100644 --- a/docs/manual/mod/mod_ldap.xml +++ b/docs/manual/mod/mod_ldap.xml @@ -349,8 +349,10 @@ by other LDAP modules SDK to work correctly. These certificates can be specified as binary DER or Base64 (PEM) encoded files.

-

Client certificates are specified per connection using the - LDAPTrustedClientCert directive.

+

Both CA and client certificates may be specified globally + (LDAPTrustedGlobalCert) or per-connection (LDAPTrustedClientCert). + When any settings are specified per-connection, the global + settings are superceded.

The documentation for the SDK claims to support both SSL and STARTTLS, however STARTTLS does not seem to work on all versions @@ -372,6 +374,9 @@ by other LDAP modules Allow from yourdomain.example.com
LDAPTrustedClientCert CERT_BASE64 /certs/cert1.pem
LDAPTrustedClientCert KEY_BASE64 /certs/key1.pem
+ # CA certs respecified due to per-directory client certs
+ LDAPTrustedClientCert CA_DER /certs/cacert1.der
+ LDAPTrustedClientCert CA_BASE64 /certs/cacert2.pem
Satisfy any
AuthType Basic
AuthName "LDAP Protected"
@@ -575,8 +580,7 @@ Certificate Authority or global client certificates connection client certificate. Not all LDAP toolkits support per connection client certificates. LDAPTrustedClientCert type directory-path/filename/nickname [password] -server configvirtual host -directory.htaccess +directory.htaccess

It specifies the directory path, file name or nickname of a @@ -591,6 +595,8 @@ connection client certificates. The type specifies the kind of certificate parameter being set, depending on the LDAP toolkit being used. Supported types are: