*) mod_dav: Ensure URI is correctly uriencoded on return. PR 54611
[Timothy Wood <tjw omnigroup.com>]
- *) core: apachectl -S prints wildcard name-based virtual hosts twice.
- PR54948 [Eric Covener]
-
*) mod_proxy: Reject invalid values for Max-Forwards. [Graham Leggett,
Co-Advisor <coad measurement-factory.com>]
*/
for (s = main_s->next; s; s = s->next) {
- server_addr_rec *sar_prev = NULL;
has_default_vhost_addr = 0;
for (sar = s->addrs; sar; sar = sar->next) {
ipaddr_chain *ic;
char inaddr_any[16] = {0}; /* big enough to handle IPv4 or IPv6 */
- /* XXX: this treats 0.0.0.0 as a "default" server which matches no-exact-match for IPv6 */
+
if (!memcmp(sar->host_addr->ipaddr_ptr, inaddr_any, sar->host_addr->ipaddr_len)) {
ic = find_default_server(sar->host_port);
-
- if (ic && sar->host_port == ic->sar->host_port) { /* we're a match for an existing "default server" */
- if (!sar_prev || memcmp(sar_prev->host_addr->ipaddr_ptr, inaddr_any, sar_prev->host_addr->ipaddr_len)) {
- add_name_vhost_config(p, main_s, s, sar, ic);
- }
- }
- else {
+ if (!ic || sar->host_port != ic->sar->host_port) {
/* No default server, or we found a default server but
** exactly one of us is a wildcard port, which means we want
** two ip-based vhosts not an NVH with two names
ic = new_ipaddr_chain(p, s, sar);
ic->next = default_list;
default_list = ic;
- add_name_vhost_config(p, main_s, s, sar, ic);
}
has_default_vhost_addr = 1;
}
ic->next = *iphash_table_tail[bucket];
*iphash_table_tail[bucket] = ic;
}
- add_name_vhost_config(p, main_s, s, sar, ic);
}
- sar_prev = sar;
+ add_name_vhost_config(p, main_s, s, sar, ic);
}
/* Ok now we want to set up a server_hostname if the user was