You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Frank <fr...@x09.de> on 2011/03/12 16:46:07 UTC

Error in SSLRequire-handling in conjunction with Satisfy Any

Hi,
there is an error regarding the usage of 'SSLRequire' with 'Satisfy Any'.

In a setup like this:

<VirtualHost ....:443>
SSLVerifyClient optional
SSLVerifyDepth 10
DocumentRoot /home/htdocs
<Directory "/home/htdocs/">
   Satisfy Any
   SSLRequire %{SSL_CLIENT_I_DN} eq "/C=DE/O=myOrg/OU=myOU/CN=myPKI"
   Order deny,allow
   Deny  from all
   Allow from 10.1.1
</Directory>
</VirtualHost>

I was hoping that all users using a certificate matching the specified 
SSL_CLIENT_I_DN were able to get access to the server from any IP and 
every user not having a certificate has to come from the local network 
10.1.1.*!
But it seems to me that the positive check of SSLRequire is just ignored!
(I also tried using 'SSLOptions -StrictRequire' and to use different 
orders but both shots doesn't help.)

In ssl_engine_kernel.c I see at the end of function ssl_hook_Access:

     /*
      * Else access is granted from our point of view (except vendor
      * handlers override). But we have to return DECLINED here instead
      * of OK, because mod_auth and other modules still might want to
      * deny access.
      */

     return DECLINED;


Maybe it must be something like "if (ap_satisfies(r) == SATISFY_ANY) 
return OK; else return DECLINED;"? (No I didn't tried this!)

Best regards!
Frank