From: Geoffrey Thomas Date: Thu, 6 Mar 2008 00:56:07 +0000 (+0000) Subject: Also check wildcard entries before falling back on the default. X-Git-Url: http://andersk.mit.edu/gitweb/mod-vhost-ldap.git/commitdiff_plain/425e2c3c9536232b3f079f7f7bd59dda9fc44805 Also check wildcard entries before falling back on the default. git-svn-id: svn://scripts.mit.edu/server/common/oursrc/httpdmods@675 db9d59ff-b01e-0410-9b1a-cd9a8c06840f --- diff --git a/mod_vhost_ldap.c b/mod_vhost_ldap.c index 87996a9..4401fa3 100644 --- a/mod_vhost_ldap.c +++ b/mod_vhost_ldap.c @@ -505,6 +505,19 @@ fallback: } if ((result == LDAP_NO_SUCH_OBJECT)) { + char* parent_hostname = apr_pstrdup(r->pool, hostname); + do { + parent_hostname = strchr(parent_hostname + 1, '.'); + } while (parent_hostname && parent_hostname[-1] != '*'); + if (parent_hostname) { + *(--parent_hostname) = '*'; + ap_log_rerror(APLOG_MARK, APLOG_NOTICE|APLOG_NOERRNO, 0, r, + "[mod_vhost_ldap.c] translate: " + "virtual host not found, trying wildcard %s", + parent_hostname); + hostname = parent_hostname; + goto fallback; + } if (conf->fallback && (is_fallback++ <= 0)) { ap_log_rerror(APLOG_MARK, APLOG_NOTICE|APLOG_NOERRNO, 0, r, "[mod_vhost_ldap.c] translate: "