}
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: "