| 450 | #endif |
| 451 | |
| 452 | static void dump_a_vhost(apr_file_t *f, ipaddr_chain *ic) |
| 453 | { |
| 454 | name_chain *nc; |
| 455 | int len; |
| 456 | char buf[MAX_STRING_LEN]; |
| 457 | apr_sockaddr_t *ha = ic->sar->host_addr; |
| 458 | |
| 459 | if ((ha->family == APR_INET && ha->sa.sin.sin_addr.s_addr == INADDR_ANY) |
| 460 | || IS_IN6_ANYADDR(ha)) { |
| 461 | len = apr_snprintf(buf, sizeof(buf), "*:%u", |
| 462 | ic->sar->host_port); |
| 463 | } |
| 464 | else { |
| 465 | len = apr_snprintf(buf, sizeof(buf), "%pI", ha); |
| 466 | } |
| 467 | if (ic->sar->host_port == 0) { |
| 468 | buf[len-1] = '*'; |
| 469 | } |
| 470 | if (ic->names == NULL) { |
| 471 | apr_file_printf(f, "%-22s %s (%s:%u)\n", buf, |
| 472 | ic->server->server_hostname, |
| 473 | ic->server->defn_name, ic->server->defn_line_number); |
| 474 | return; |
| 475 | } |
| 476 | apr_file_printf(f, "%-22s is a NameVirtualHost\n" |
| 477 | "%8s default server %s (%s:%u)\n", |
| 478 | buf, "", ic->server->server_hostname, |
| 479 | ic->server->defn_name, ic->server->defn_line_number); |
| 480 | for (nc = ic->names; nc; nc = nc->next) { |
| 481 | if (nc->sar->host_port) { |
| 482 | apr_file_printf(f, "%8s port %u ", "", nc->sar->host_port); |
| 483 | } |
| 484 | else { |
| 485 | apr_file_printf(f, "%8s port * ", ""); |
| 486 | } |
| 487 | apr_file_printf(f, "namevhost %s (%s:%u)\n", |
| 488 | nc->server->server_hostname, |
| 489 | nc->server->defn_name, nc->server->defn_line_number); |
| 490 | if (nc->server->names) { |
| 491 | apr_array_header_t *names = nc->server->names; |
| 492 | char **name = (char **)names->elts; |
| 493 | int i; |
| 494 | for (i = 0; i < names->nelts; ++i) { |
| 495 | if (name[i]) { |
| 496 | apr_file_printf(f, "%16s alias %s\n", "", name[i]); |
| 497 | } |
| 498 | } |
| 499 | } |
| 500 | if (nc->server->wild_names) { |
| 501 | apr_array_header_t *names = nc->server->wild_names; |
| 502 | char **name = (char **)names->elts; |
| 503 | int i; |
| 504 | for (i = 0; i < names->nelts; ++i) { |
| 505 | if (name[i]) { |
| 506 | apr_file_printf(f, "%16s wild alias %s\n", "", name[i]); |
| 507 | } |
| 508 | } |
| 509 | } |