| 427 | } |
| 428 | |
| 429 | static int show_server_settings(request_rec * r) |
| 430 | { |
| 431 | server_rec *serv = r->server; |
| 432 | int max_daemons, forked, threaded; |
| 433 | |
| 434 | ap_rputs("<h2><a name=\"server\">Server Settings</a></h2>", r); |
| 435 | ap_rprintf(r, |
| 436 | "<dl><dt><strong>Server Version:</strong> " |
| 437 | "<font size=\"+1\"><tt>%s</tt></font></dt>\n", |
| 438 | ap_get_server_description()); |
| 439 | ap_rprintf(r, |
| 440 | "<dt><strong>Server Built:</strong> " |
| 441 | "<font size=\"+1\"><tt>%s</tt></font></dt>\n", |
| 442 | ap_get_server_built()); |
| 443 | ap_rprintf(r, |
| 444 | "<dt><strong>Server loaded APR Version:</strong> " |
| 445 | "<tt>%s</tt></dt>\n", apr_version_string()); |
| 446 | ap_rprintf(r, |
| 447 | "<dt><strong>Compiled with APR Version:</strong> " |
| 448 | "<tt>%s</tt></dt>\n", APR_VERSION_STRING); |
| 449 | #if APR_MAJOR_VERSION < 2 |
| 450 | ap_rprintf(r, |
| 451 | "<dt><strong>Server loaded APU Version:</strong> " |
| 452 | "<tt>%s</tt></dt>\n", apu_version_string()); |
| 453 | ap_rprintf(r, |
| 454 | "<dt><strong>Compiled with APU Version:</strong> " |
| 455 | "<tt>%s</tt></dt>\n", APU_VERSION_STRING); |
| 456 | #endif |
| 457 | ap_rprintf(r, |
| 458 | "<dt><strong>Server loaded PCRE Version:</strong> " |
| 459 | "<tt>%s</tt></dt>\n", ap_pcre_version_string(AP_REG_PCRE_LOADED)); |
| 460 | ap_rprintf(r, |
| 461 | "<dt><strong>Compiled with PCRE Version:</strong> " |
| 462 | "<tt>%s</tt></dt>\n", ap_pcre_version_string(AP_REG_PCRE_COMPILED)); |
| 463 | ap_rprintf(r, |
| 464 | "<dt><strong>Module Magic Number:</strong> " |
| 465 | "<tt>%d:%d</tt></dt>\n", MODULE_MAGIC_NUMBER_MAJOR, |
| 466 | MODULE_MAGIC_NUMBER_MINOR); |
| 467 | ap_rprintf(r, |
| 468 | "<dt><strong>Hostname/port:</strong> " |
| 469 | "<tt>%s:%u</tt></dt>\n", |
| 470 | ap_escape_html(r->pool, ap_get_server_name(r)), |
| 471 | ap_get_server_port(r)); |
| 472 | ap_rprintf(r, |
| 473 | "<dt><strong>Timeouts:</strong> " |
| 474 | "<tt>connection: %d " |
| 475 | "keep-alive: %d</tt></dt>", |
| 476 | (int) (apr_time_sec(serv->timeout)), |
| 477 | (int) (apr_time_sec(serv->keep_alive_timeout))); |
| 478 | ap_mpm_query(AP_MPMQ_MAX_DAEMON_USED, &max_daemons); |
| 479 | ap_mpm_query(AP_MPMQ_IS_THREADED, &threaded); |
| 480 | ap_mpm_query(AP_MPMQ_IS_FORKED, &forked); |
| 481 | ap_rprintf(r, "<dt><strong>MPM Name:</strong> <tt>%s</tt></dt>\n", |
| 482 | ap_show_mpm()); |
| 483 | ap_rprintf(r, |
| 484 | "<dt><strong>MPM Information:</strong> " |
| 485 | "<tt>Max Daemons: %d Threaded: %s Forked: %s</tt></dt>\n", |
| 486 | max_daemons, threaded ? "yes" : "no", forked ? "yes" : "no"); |
no test coverage detected