mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
Replace ap_get_server_version with ap_get_server_banner() and
ap_get_server_description(). High-level summary: The full server version information is now included in the error log at startup as well as server status reports, irrespective of the setting of the ServerTokens directive. Third-party modules must now use ap_get_server_banner() or ap_get_server_description() in place of ap_get_server_version(). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@440337 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
6
CHANGES
6
CHANGES
@@ -2,6 +2,12 @@
|
|||||||
Changes with Apache 2.3.0
|
Changes with Apache 2.3.0
|
||||||
[Remove entries to the current 2.0 and 2.2 section below, when backported]
|
[Remove entries to the current 2.0 and 2.2 section below, when backported]
|
||||||
|
|
||||||
|
*) The full server version information is now included in the error log at
|
||||||
|
startup as well as server status reports, irrespective of the setting
|
||||||
|
of the ServerTokens directive. Third-party modules must now use
|
||||||
|
ap_get_server_banner() or ap_get_server_description() in place of
|
||||||
|
ap_get_server_version(). [Jeff Trawick]
|
||||||
|
|
||||||
*) mod_proxy_balancer: Extract stickysession routing information contained as
|
*) mod_proxy_balancer: Extract stickysession routing information contained as
|
||||||
parameter in the URL correctly. PR 40400.
|
parameter in the URL correctly. PR 40400.
|
||||||
[Ruediger Pluem, Tomokazu Harada <harada sysrdc.ns-sol.co.jp>]
|
[Ruediger Pluem, Tomokazu Harada <harada sysrdc.ns-sol.co.jp>]
|
||||||
|
@@ -121,14 +121,16 @@
|
|||||||
* proxy_server (minor)
|
* proxy_server (minor)
|
||||||
* 20060110.3 (2.3.0-dev) added inreslist member to proxy_conn_rec (minor)
|
* 20060110.3 (2.3.0-dev) added inreslist member to proxy_conn_rec (minor)
|
||||||
* 20060110.4 (2.3.0-dev) Added server_scheme member to server_rec (minor)
|
* 20060110.4 (2.3.0-dev) Added server_scheme member to server_rec (minor)
|
||||||
|
* 20060905.0 (2.3.0-dev) Replaced ap_get_server_version() with
|
||||||
|
* ap_get_server_banner() and ap_get_server_description()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
|
#define MODULE_MAGIC_COOKIE 0x41503234UL /* "AP24" */
|
||||||
|
|
||||||
#ifndef MODULE_MAGIC_NUMBER_MAJOR
|
#ifndef MODULE_MAGIC_NUMBER_MAJOR
|
||||||
#define MODULE_MAGIC_NUMBER_MAJOR 20060110
|
#define MODULE_MAGIC_NUMBER_MAJOR 20060905
|
||||||
#endif
|
#endif
|
||||||
#define MODULE_MAGIC_NUMBER_MINOR 4 /* 0...n */
|
#define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
|
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
|
||||||
|
@@ -420,13 +420,24 @@ typedef struct {
|
|||||||
AP_DECLARE(void) ap_get_server_revision(ap_version_t *version);
|
AP_DECLARE(void) ap_get_server_revision(ap_version_t *version);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the server version string
|
* Get the server banner in a form suitable for sending over the
|
||||||
* @return The server version string
|
* network, with the level of information controlled by the
|
||||||
|
* ServerTokens directive.
|
||||||
|
* @return The server banner
|
||||||
*/
|
*/
|
||||||
AP_DECLARE(const char *) ap_get_server_version(void);
|
AP_DECLARE(const char *) ap_get_server_banner(void);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a component to the version string
|
* Get the server description in a form suitable for local displays,
|
||||||
|
* status reports, or logging. This includes the detailed server
|
||||||
|
* version and information about some modules. It is not affected
|
||||||
|
* by the ServerTokens directive.
|
||||||
|
* @return The server description
|
||||||
|
*/
|
||||||
|
AP_DECLARE(const char *) ap_get_server_description(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a component to the server description and banner strings
|
||||||
* @param pconf The pool to allocate the component from
|
* @param pconf The pool to allocate the component from
|
||||||
* @param component The string to add
|
* @param component The string to add
|
||||||
*/
|
*/
|
||||||
|
@@ -1074,7 +1074,7 @@ char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r,
|
|||||||
/* XXX-Can't get specific SSL info from NetWare */
|
/* XXX-Can't get specific SSL info from NetWare */
|
||||||
/*result = ssl_var_lookup_ssl_version(p, var+12);*/
|
/*result = ssl_var_lookup_ssl_version(p, var+12);*/
|
||||||
else if (strcEQ(var, "SERVER_SOFTWARE"))
|
else if (strcEQ(var, "SERVER_SOFTWARE"))
|
||||||
result = ap_get_server_version();
|
result = ap_get_server_banner();
|
||||||
else if (strcEQ(var, "API_VERSION")) {
|
else if (strcEQ(var, "API_VERSION")) {
|
||||||
result = apr_itoa(p, MODULE_MAGIC_NUMBER);
|
result = apr_itoa(p, MODULE_MAGIC_NUMBER);
|
||||||
resdup = FALSE;
|
resdup = FALSE;
|
||||||
|
@@ -546,7 +546,7 @@ static int x_handler(request_rec *r)
|
|||||||
ap_rputs(" </H1>\n", r);
|
ap_rputs(" </H1>\n", r);
|
||||||
ap_rputs(" <P>\n", r);
|
ap_rputs(" <P>\n", r);
|
||||||
ap_rprintf(r, " Apache HTTP Server version: \"%s\"\n",
|
ap_rprintf(r, " Apache HTTP Server version: \"%s\"\n",
|
||||||
ap_get_server_version());
|
ap_get_server_banner());
|
||||||
ap_rputs(" <BR>\n", r);
|
ap_rputs(" <BR>\n", r);
|
||||||
ap_rprintf(r, " Server built: \"%s\"\n", ap_get_server_built());
|
ap_rprintf(r, " Server built: \"%s\"\n", ap_get_server_built());
|
||||||
ap_rputs(" </P>\n", r);;
|
ap_rputs(" </P>\n", r);;
|
||||||
|
@@ -347,7 +347,7 @@ static int show_server_settings(request_rec * r)
|
|||||||
ap_rprintf(r,
|
ap_rprintf(r,
|
||||||
"<dl><dt><strong>Server Version:</strong> "
|
"<dl><dt><strong>Server Version:</strong> "
|
||||||
"<font size=\"+1\"><tt>%s</tt></font></dt>\n",
|
"<font size=\"+1\"><tt>%s</tt></font></dt>\n",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_rprintf(r,
|
ap_rprintf(r,
|
||||||
"<dt><strong>Server Built:</strong> "
|
"<dt><strong>Server Built:</strong> "
|
||||||
"<font size=\"+1\"><tt>%s</tt></font></dt>\n",
|
"<font size=\"+1\"><tt>%s</tt></font></dt>\n",
|
||||||
|
@@ -397,7 +397,7 @@ static int status_handler(request_rec *r)
|
|||||||
ap_rputs("<h1>Apache Server Status for ", r);
|
ap_rputs("<h1>Apache Server Status for ", r);
|
||||||
ap_rvputs(r, ap_get_server_name(r), "</h1>\n\n", NULL);
|
ap_rvputs(r, ap_get_server_name(r), "</h1>\n\n", NULL);
|
||||||
ap_rvputs(r, "<dl><dt>Server Version: ",
|
ap_rvputs(r, "<dl><dt>Server Version: ",
|
||||||
ap_get_server_version(), "</dt>\n", NULL);
|
ap_get_server_description(), "</dt>\n", NULL);
|
||||||
ap_rvputs(r, "<dt>Server Built: ",
|
ap_rvputs(r, "<dt>Server Built: ",
|
||||||
ap_get_server_built(), "\n</dt></dl><hr /><dl>\n", NULL);
|
ap_get_server_built(), "\n</dt></dl><hr /><dl>\n", NULL);
|
||||||
ap_rvputs(r, "<dt>Current Time: ",
|
ap_rvputs(r, "<dt>Current Time: ",
|
||||||
|
@@ -735,11 +735,11 @@ static void basic_http_header(request_rec *r, apr_bucket_brigade *bb,
|
|||||||
if (server) {
|
if (server) {
|
||||||
form_header_field(&h, "Server", server);
|
form_header_field(&h, "Server", server);
|
||||||
} else {
|
} else {
|
||||||
form_header_field(&h, "Server", ap_get_server_version());
|
form_header_field(&h, "Server", ap_get_server_banner());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
form_header_field(&h, "Server", ap_get_server_version());
|
form_header_field(&h, "Server", ap_get_server_banner());
|
||||||
}
|
}
|
||||||
|
|
||||||
/* unset so we don't send them again */
|
/* unset so we don't send them again */
|
||||||
|
@@ -2006,7 +2006,7 @@ static char *lookup_variable(char *var, rewrite_ctx *ctx)
|
|||||||
|
|
||||||
case 'S':
|
case 'S':
|
||||||
if (!strcmp(var, "SERVER_SOFTWARE")) {
|
if (!strcmp(var, "SERVER_SOFTWARE")) {
|
||||||
result = ap_get_server_version();
|
result = ap_get_server_banner();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@@ -667,7 +667,7 @@ static int balancer_handler(request_rec *r)
|
|||||||
ap_rputs("<body><h1>Load Balancer Manager for ", r);
|
ap_rputs("<body><h1>Load Balancer Manager for ", r);
|
||||||
ap_rvputs(r, ap_get_server_name(r), "</h1>\n\n", NULL);
|
ap_rvputs(r, ap_get_server_name(r), "</h1>\n\n", NULL);
|
||||||
ap_rvputs(r, "<dl><dt>Server Version: ",
|
ap_rvputs(r, "<dl><dt>Server Version: ",
|
||||||
ap_get_server_version(), "</dt>\n", NULL);
|
ap_get_server_description(), "</dt>\n", NULL);
|
||||||
ap_rvputs(r, "<dt>Server Built: ",
|
ap_rvputs(r, "<dt>Server Built: ",
|
||||||
ap_get_server_built(), "\n</dt></dl>\n", NULL);
|
ap_get_server_built(), "\n</dt></dl>\n", NULL);
|
||||||
balancer = (proxy_balancer *)conf->balancers->elts;
|
balancer = (proxy_balancer *)conf->balancers->elts;
|
||||||
|
@@ -224,7 +224,7 @@ static int proxy_connect_handler(request_rec *r, proxy_worker *worker,
|
|||||||
"CONNECT %s HTTP/1.0" CRLF, r->uri);
|
"CONNECT %s HTTP/1.0" CRLF, r->uri);
|
||||||
apr_socket_send(sock, buffer, &nbytes);
|
apr_socket_send(sock, buffer, &nbytes);
|
||||||
nbytes = apr_snprintf(buffer, sizeof(buffer),
|
nbytes = apr_snprintf(buffer, sizeof(buffer),
|
||||||
"Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
|
"Proxy-agent: %s" CRLF CRLF, ap_get_server_banner());
|
||||||
apr_socket_send(sock, buffer, &nbytes);
|
apr_socket_send(sock, buffer, &nbytes);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -235,7 +235,7 @@ static int proxy_connect_handler(request_rec *r, proxy_worker *worker,
|
|||||||
ap_xlate_proto_to_ascii(buffer, nbytes);
|
ap_xlate_proto_to_ascii(buffer, nbytes);
|
||||||
apr_socket_send(client_socket, buffer, &nbytes);
|
apr_socket_send(client_socket, buffer, &nbytes);
|
||||||
nbytes = apr_snprintf(buffer, sizeof(buffer),
|
nbytes = apr_snprintf(buffer, sizeof(buffer),
|
||||||
"Proxy-agent: %s" CRLF CRLF, ap_get_server_version());
|
"Proxy-agent: %s" CRLF CRLF, ap_get_server_banner());
|
||||||
ap_xlate_proto_to_ascii(buffer, nbytes);
|
ap_xlate_proto_to_ascii(buffer, nbytes);
|
||||||
apr_socket_send(client_socket, buffer, &nbytes);
|
apr_socket_send(client_socket, buffer, &nbytes);
|
||||||
#if 0
|
#if 0
|
||||||
@@ -244,7 +244,7 @@ static int proxy_connect_handler(request_rec *r, proxy_worker *worker,
|
|||||||
*/
|
*/
|
||||||
r->status = HTTP_OK;
|
r->status = HTTP_OK;
|
||||||
r->header_only = 1;
|
r->header_only = 1;
|
||||||
apr_table_set(r->headers_out, "Proxy-agent: %s", ap_get_server_version());
|
apr_table_set(r->headers_out, "Proxy-agent: %s", ap_get_server_banner());
|
||||||
ap_rflush(r);
|
ap_rflush(r);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@@ -1662,7 +1662,7 @@ static int proxy_ftp_handler(request_rec *r, proxy_worker *worker,
|
|||||||
|
|
||||||
apr_rfc822_date(dates, r->request_time);
|
apr_rfc822_date(dates, r->request_time);
|
||||||
apr_table_setn(r->headers_out, "Date", dates);
|
apr_table_setn(r->headers_out, "Date", dates);
|
||||||
apr_table_setn(r->headers_out, "Server", ap_get_server_version());
|
apr_table_setn(r->headers_out, "Server", ap_get_server_banner());
|
||||||
|
|
||||||
/* set content-type */
|
/* set content-type */
|
||||||
if (dirlisting) {
|
if (dirlisting) {
|
||||||
|
@@ -192,7 +192,7 @@ char *ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r,
|
|||||||
if (strlen(var) > 12 && strcEQn(var, "SSL_VERSION_", 12))
|
if (strlen(var) > 12 && strcEQn(var, "SSL_VERSION_", 12))
|
||||||
result = ssl_var_lookup_ssl_version(p, var+12);
|
result = ssl_var_lookup_ssl_version(p, var+12);
|
||||||
else if (strcEQ(var, "SERVER_SOFTWARE"))
|
else if (strcEQ(var, "SERVER_SOFTWARE"))
|
||||||
result = ap_get_server_version();
|
result = ap_get_server_banner();
|
||||||
else if (strcEQ(var, "API_VERSION")) {
|
else if (strcEQ(var, "API_VERSION")) {
|
||||||
result = apr_itoa(p, MODULE_MAGIC_NUMBER);
|
result = apr_itoa(p, MODULE_MAGIC_NUMBER);
|
||||||
resdup = FALSE;
|
resdup = FALSE;
|
||||||
|
@@ -2580,7 +2580,7 @@ AP_DECLARE(const char *) ap_psignature(const char *prefix, request_rec *r)
|
|||||||
|
|
||||||
if (conf->server_signature == srv_sig_withmail) {
|
if (conf->server_signature == srv_sig_withmail) {
|
||||||
return apr_pstrcat(r->pool, prefix, "<address>",
|
return apr_pstrcat(r->pool, prefix, "<address>",
|
||||||
ap_get_server_version(),
|
ap_get_server_banner(),
|
||||||
" Server at <a href=\"",
|
" Server at <a href=\"",
|
||||||
ap_is_url(r->server->server_admin) ? "" : "mailto:",
|
ap_is_url(r->server->server_admin) ? "" : "mailto:",
|
||||||
ap_escape_html(r->pool, r->server->server_admin),
|
ap_escape_html(r->pool, r->server->server_admin),
|
||||||
@@ -2590,7 +2590,7 @@ AP_DECLARE(const char *) ap_psignature(const char *prefix, request_rec *r)
|
|||||||
"</address>\n", NULL);
|
"</address>\n", NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
return apr_pstrcat(r->pool, prefix, "<address>", ap_get_server_version(),
|
return apr_pstrcat(r->pool, prefix, "<address>", ap_get_server_banner(),
|
||||||
" Server at ",
|
" Server at ",
|
||||||
ap_escape_html(r->pool, ap_get_server_name(r)),
|
ap_escape_html(r->pool, ap_get_server_name(r)),
|
||||||
" Port ", sport,
|
" Port ", sport,
|
||||||
@@ -2605,8 +2605,9 @@ AP_DECLARE(const char *) ap_psignature(const char *prefix, request_rec *r)
|
|||||||
* string.
|
* string.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static char *server_version = NULL;
|
static char *server_banner = NULL;
|
||||||
static int version_locked = 0;
|
static int banner_locked = 0;
|
||||||
|
static char *server_description = NULL;
|
||||||
|
|
||||||
enum server_token_type {
|
enum server_token_type {
|
||||||
SrvTk_MAJOR, /* eg: Apache/2 */
|
SrvTk_MAJOR, /* eg: Apache/2 */
|
||||||
@@ -2618,11 +2619,12 @@ enum server_token_type {
|
|||||||
};
|
};
|
||||||
static enum server_token_type ap_server_tokens = SrvTk_FULL;
|
static enum server_token_type ap_server_tokens = SrvTk_FULL;
|
||||||
|
|
||||||
static apr_status_t reset_version(void *dummy)
|
static apr_status_t reset_banner(void *dummy)
|
||||||
{
|
{
|
||||||
version_locked = 0;
|
banner_locked = 0;
|
||||||
ap_server_tokens = SrvTk_FULL;
|
ap_server_tokens = SrvTk_FULL;
|
||||||
server_version = NULL;
|
server_banner = NULL;
|
||||||
|
server_description = NULL;
|
||||||
return APR_SUCCESS;
|
return APR_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2634,40 +2636,48 @@ AP_DECLARE(void) ap_get_server_revision(ap_version_t *version)
|
|||||||
version->add_string = AP_SERVER_ADD_STRING;
|
version->add_string = AP_SERVER_ADD_STRING;
|
||||||
}
|
}
|
||||||
|
|
||||||
AP_DECLARE(const char *) ap_get_server_version(void)
|
AP_DECLARE(const char *) ap_get_server_description(void)
|
||||||
{
|
{
|
||||||
return (server_version ? server_version : AP_SERVER_BASEVERSION);
|
return server_description ? server_description :
|
||||||
|
AP_SERVER_BASEVERSION " (" PLATFORM ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
AP_DECLARE(const char *) ap_get_server_banner(void)
|
||||||
|
{
|
||||||
|
return server_banner ? server_banner : AP_SERVER_BASEVERSION;
|
||||||
}
|
}
|
||||||
|
|
||||||
AP_DECLARE(void) ap_add_version_component(apr_pool_t *pconf, const char *component)
|
AP_DECLARE(void) ap_add_version_component(apr_pool_t *pconf, const char *component)
|
||||||
{
|
{
|
||||||
if (! version_locked) {
|
if (! banner_locked) {
|
||||||
/*
|
/*
|
||||||
* If the version string is null, register our cleanup to reset the
|
* If the version string is null, register our cleanup to reset the
|
||||||
* pointer on pool destruction. We also know that, if NULL,
|
* pointer on pool destruction. We also know that, if NULL,
|
||||||
* we are adding the original SERVER_BASEVERSION string.
|
* we are adding the original SERVER_BASEVERSION string.
|
||||||
*/
|
*/
|
||||||
if (server_version == NULL) {
|
if (server_banner == NULL) {
|
||||||
apr_pool_cleanup_register(pconf, NULL, reset_version,
|
apr_pool_cleanup_register(pconf, NULL, reset_banner,
|
||||||
apr_pool_cleanup_null);
|
apr_pool_cleanup_null);
|
||||||
server_version = apr_pstrdup(pconf, component);
|
server_banner = apr_pstrdup(pconf, component);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/*
|
/*
|
||||||
* Tack the given component identifier to the end of
|
* Tack the given component identifier to the end of
|
||||||
* the existing string.
|
* the existing string.
|
||||||
*/
|
*/
|
||||||
server_version = apr_pstrcat(pconf, server_version, " ",
|
server_banner = apr_pstrcat(pconf, server_banner, " ",
|
||||||
component, NULL);
|
component, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
server_description = apr_pstrcat(pconf, server_description, " ",
|
||||||
|
component, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This routine adds the real server base identity to the version string,
|
* This routine adds the real server base identity to the banner string,
|
||||||
* and then locks out changes until the next reconfig.
|
* and then locks out changes until the next reconfig.
|
||||||
*/
|
*/
|
||||||
static void ap_set_version(apr_pool_t *pconf)
|
static void set_banner(apr_pool_t *pconf)
|
||||||
{
|
{
|
||||||
if (ap_server_tokens == SrvTk_PRODUCT_ONLY) {
|
if (ap_server_tokens == SrvTk_PRODUCT_ONLY) {
|
||||||
ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT);
|
ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT);
|
||||||
@@ -2686,12 +2696,13 @@ static void ap_set_version(apr_pool_t *pconf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Lock the server_version string if we're not displaying
|
* Lock the server_banner string if we're not displaying
|
||||||
* the full set of tokens
|
* the full set of tokens
|
||||||
*/
|
*/
|
||||||
if (ap_server_tokens != SrvTk_FULL) {
|
if (ap_server_tokens != SrvTk_FULL) {
|
||||||
version_locked++;
|
banner_locked++;
|
||||||
}
|
}
|
||||||
|
server_description = AP_SERVER_BASEVERSION " (" PLATFORM ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *set_serv_tokens(cmd_parms *cmd, void *dummy,
|
static const char *set_serv_tokens(cmd_parms *cmd, void *dummy,
|
||||||
@@ -3635,7 +3646,7 @@ static int core_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *pte
|
|||||||
authn_ap_auth_type = APR_RETRIEVE_OPTIONAL_FN(authn_ap_auth_type);
|
authn_ap_auth_type = APR_RETRIEVE_OPTIONAL_FN(authn_ap_auth_type);
|
||||||
authn_ap_auth_name = APR_RETRIEVE_OPTIONAL_FN(authn_ap_auth_name);
|
authn_ap_auth_name = APR_RETRIEVE_OPTIONAL_FN(authn_ap_auth_name);
|
||||||
|
|
||||||
ap_set_version(pconf);
|
set_banner(pconf);
|
||||||
ap_setup_make_content_type(pconf);
|
ap_setup_make_content_type(pconf);
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
@@ -92,7 +92,7 @@ static void show_mpm_settings(void)
|
|||||||
|
|
||||||
static void show_compile_settings(void)
|
static void show_compile_settings(void)
|
||||||
{
|
{
|
||||||
printf("Server version: %s\n", ap_get_server_version());
|
printf("Server version: %s\n", ap_get_server_description());
|
||||||
printf("Server built: %s\n", ap_get_server_built());
|
printf("Server built: %s\n", ap_get_server_built());
|
||||||
printf("Server's Module Magic Number: %u:%u\n",
|
printf("Server's Module Magic Number: %u:%u\n",
|
||||||
MODULE_MAGIC_NUMBER_MAJOR, MODULE_MAGIC_NUMBER_MINOR);
|
MODULE_MAGIC_NUMBER_MAJOR, MODULE_MAGIC_NUMBER_MINOR);
|
||||||
@@ -569,7 +569,7 @@ int main(int argc, const char * const argv[])
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'v':
|
case 'v':
|
||||||
printf("Server version: %s\n", ap_get_server_version());
|
printf("Server version: %s\n", ap_get_server_description());
|
||||||
printf("Server built: %s\n", ap_get_server_built());
|
printf("Server built: %s\n", ap_get_server_built());
|
||||||
destroy_and_exit_process(process, 0);
|
destroy_and_exit_process(process, 0);
|
||||||
|
|
||||||
|
@@ -935,7 +935,7 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
|
|||||||
*/
|
*/
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
|
@@ -1988,7 +1988,7 @@ int ap_mpm_run(apr_pool_t * _pconf, apr_pool_t * plog, server_rec * s)
|
|||||||
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
|
|
||||||
|
@@ -1529,7 +1529,7 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
|
|||||||
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
||||||
|
@@ -1314,7 +1314,7 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
|
|||||||
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
||||||
|
@@ -1778,7 +1778,7 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
|
|||||||
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
||||||
|
@@ -207,7 +207,7 @@ static char master_main()
|
|||||||
int listener_num, num_listeners, slot;
|
int listener_num, num_listeners, slot;
|
||||||
ULONG rc;
|
ULONG rc;
|
||||||
|
|
||||||
printf("%s \n", ap_get_server_version());
|
printf("%s \n", ap_get_server_description());
|
||||||
set_signals();
|
set_signals();
|
||||||
|
|
||||||
if (ap_setup_listeners(ap_server_conf) < 1) {
|
if (ap_setup_listeners(ap_server_conf) < 1) {
|
||||||
@@ -270,7 +270,7 @@ static char master_main()
|
|||||||
ap_scoreboard_image->global->restart_time = apr_time_now();
|
ap_scoreboard_image->global->restart_time = apr_time_now();
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
||||||
|
@@ -723,7 +723,7 @@ static void display_settings ()
|
|||||||
request_count = 0;
|
request_count = 0;
|
||||||
|
|
||||||
ClearScreen (getscreenhandle());
|
ClearScreen (getscreenhandle());
|
||||||
printf("%s \n", ap_get_server_version());
|
printf("%s \n", ap_get_server_description());
|
||||||
|
|
||||||
for (i=0;i<SERVER_NUM_STATUS;i++) {
|
for (i=0;i<SERVER_NUM_STATUS;i++) {
|
||||||
status_array[i] = 0;
|
status_array[i] = 0;
|
||||||
@@ -793,7 +793,7 @@ static void show_server_data()
|
|||||||
ap_listen_rec *lr;
|
ap_listen_rec *lr;
|
||||||
module **m;
|
module **m;
|
||||||
|
|
||||||
printf("%s\n", ap_get_server_version());
|
printf("%s\n", ap_get_server_description());
|
||||||
if (ap_my_addrspace && (ap_my_addrspace[0] != 'O') && (ap_my_addrspace[1] != 'S'))
|
if (ap_my_addrspace && (ap_my_addrspace[0] != 'O') && (ap_my_addrspace[1] != 'S'))
|
||||||
printf(" Running in address space %s\n", ap_my_addrspace);
|
printf(" Running in address space %s\n", ap_my_addrspace);
|
||||||
|
|
||||||
@@ -899,7 +899,7 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
|
|||||||
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
||||||
@@ -1204,7 +1204,7 @@ static int CommandLineInterpreter(scr_t screenID, const char *commandLine)
|
|||||||
restart();
|
restart();
|
||||||
}
|
}
|
||||||
else if (!strnicmp("VERSION",&szcommandLine[iCommandLen],3)) {
|
else if (!strnicmp("VERSION",&szcommandLine[iCommandLen],3)) {
|
||||||
printf("Server version: %s\n", ap_get_server_version());
|
printf("Server version: %s\n", ap_get_server_description());
|
||||||
printf("Server built: %s\n", ap_get_server_built());
|
printf("Server built: %s\n", ap_get_server_built());
|
||||||
}
|
}
|
||||||
else if (!strnicmp("MODULES",&szcommandLine[iCommandLen],3)) {
|
else if (!strnicmp("MODULES",&szcommandLine[iCommandLen],3)) {
|
||||||
|
@@ -976,7 +976,7 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
|
|||||||
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
||||||
|
@@ -1705,7 +1705,7 @@ AP_DECLARE(int) ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s )
|
|||||||
/* A real-honest to goodness parent */
|
/* A real-honest to goodness parent */
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
|
|
||||||
|
@@ -436,7 +436,7 @@ static void set_service_description(void)
|
|||||||
|
|
||||||
/* Time to fix up the description, upon each successful restart
|
/* Time to fix up the description, upon each successful restart
|
||||||
*/
|
*/
|
||||||
full_description = ap_get_server_version();
|
full_description = ap_get_server_description();
|
||||||
|
|
||||||
if ((osver.dwPlatformId == VER_PLATFORM_WIN32_NT)
|
if ((osver.dwPlatformId == VER_PLATFORM_WIN32_NT)
|
||||||
&& (osver.dwMajorVersion > 4)
|
&& (osver.dwMajorVersion > 4)
|
||||||
|
@@ -1737,7 +1737,7 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
|
|||||||
|
|
||||||
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf,
|
||||||
"%s configured -- resuming normal operations",
|
"%s configured -- resuming normal operations",
|
||||||
ap_get_server_version());
|
ap_get_server_description());
|
||||||
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf,
|
||||||
"Server built: %s", ap_get_server_built());
|
"Server built: %s", ap_get_server_built());
|
||||||
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
#ifdef AP_MPM_WANT_SET_ACCEPT_LOCK_MECH
|
||||||
|
@@ -635,7 +635,7 @@ static apr_status_t dummy_connection(ap_pod_t *pod)
|
|||||||
* requests in their logs.
|
* requests in their logs.
|
||||||
*/
|
*/
|
||||||
srequest = apr_pstrcat(p, "GET / HTTP/1.0\r\nUser-Agent: ",
|
srequest = apr_pstrcat(p, "GET / HTTP/1.0\r\nUser-Agent: ",
|
||||||
ap_get_server_version(),
|
ap_get_server_banner(),
|
||||||
" (internal dummy connection)\r\n\r\n", NULL);
|
" (internal dummy connection)\r\n\r\n", NULL);
|
||||||
|
|
||||||
/* Since some operating systems support buffering of data or entire
|
/* Since some operating systems support buffering of data or entire
|
||||||
|
@@ -223,7 +223,7 @@ AP_DECLARE(void) ap_add_common_vars(request_rec *r)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
apr_table_addn(e, "SERVER_SIGNATURE", ap_psignature("", r));
|
apr_table_addn(e, "SERVER_SIGNATURE", ap_psignature("", r));
|
||||||
apr_table_addn(e, "SERVER_SOFTWARE", ap_get_server_version());
|
apr_table_addn(e, "SERVER_SOFTWARE", ap_get_server_banner());
|
||||||
apr_table_addn(e, "SERVER_NAME",
|
apr_table_addn(e, "SERVER_NAME",
|
||||||
ap_escape_html(r->pool, ap_get_server_name(r)));
|
ap_escape_html(r->pool, ap_get_server_name(r)));
|
||||||
apr_table_addn(e, "SERVER_ADDR", r->connection->local_ip); /* Apache */
|
apr_table_addn(e, "SERVER_ADDR", r->connection->local_ip); /* Apache */
|
||||||
|
Reference in New Issue
Block a user