|
|
41a6c3 |
diff --git a/server/core.c b/server/core.c
|
|
|
41a6c3 |
index fb5e34a..e71f716 100644
|
|
|
41a6c3 |
--- a/server/core.c
|
|
|
41a6c3 |
+++ b/server/core.c
|
|
|
41a6c3 |
@@ -3115,7 +3115,8 @@ enum server_token_type {
|
|
|
41a6c3 |
SrvTk_MINIMAL, /* eg: Apache/2.0.41 */
|
|
|
41a6c3 |
SrvTk_OS, /* eg: Apache/2.0.41 (UNIX) */
|
|
|
41a6c3 |
SrvTk_FULL, /* eg: Apache/2.0.41 (UNIX) PHP/4.2.2 FooBar/1.2b */
|
|
|
41a6c3 |
- SrvTk_PRODUCT_ONLY /* eg: Apache */
|
|
|
41a6c3 |
+ SrvTk_FULL_RELEASE, /* eg: Apache/2.0.41 (UNIX) (Release 32.el7) PHP/4.2.2 FooBar/1.2b */
|
|
|
41a6c3 |
+ SrvTk_PRODUCT_ONLY /* eg: Apache */
|
|
|
41a6c3 |
};
|
|
|
41a6c3 |
static enum server_token_type ap_server_tokens = SrvTk_FULL;
|
|
|
41a6c3 |
|
|
|
41a6c3 |
@@ -3191,7 +3192,10 @@ static void set_banner(apr_pool_t *pconf)
|
|
|
41a6c3 |
else if (ap_server_tokens == SrvTk_MAJOR) {
|
|
|
41a6c3 |
ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT "/" AP_SERVER_MAJORVERSION);
|
|
|
41a6c3 |
}
|
|
|
41a6c3 |
- else {
|
|
|
41a6c3 |
+ else if (ap_server_tokens == SrvTk_FULL_RELEASE) {
|
|
|
41a6c3 |
+ ap_add_version_component(pconf, AP_SERVER_BASEVERSION " (" PLATFORM ") (Release @RELEASE@)");
|
|
|
41a6c3 |
+ }
|
|
|
41a6c3 |
+ else {
|
|
|
41a6c3 |
ap_add_version_component(pconf, AP_SERVER_BASEVERSION " (" PLATFORM ")");
|
|
|
41a6c3 |
}
|
|
|
41a6c3 |
|
|
|
41a6c3 |
@@ -3199,7 +3203,7 @@ static void set_banner(apr_pool_t *pconf)
|
|
|
41a6c3 |
* Lock the server_banner string if we're not displaying
|
|
|
41a6c3 |
* the full set of tokens
|
|
|
41a6c3 |
*/
|
|
|
41a6c3 |
- if (ap_server_tokens != SrvTk_FULL) {
|
|
|
41a6c3 |
+ if (ap_server_tokens != SrvTk_FULL && ap_server_tokens != SrvTk_FULL_RELEASE) {
|
|
|
41a6c3 |
banner_locked++;
|
|
|
41a6c3 |
}
|
|
|
41a6c3 |
server_description = AP_SERVER_BASEVERSION " (" PLATFORM ")";
|
|
|
41a6c3 |
@@ -3232,8 +3236,11 @@ static const char *set_serv_tokens(cmd_parms *cmd, void *dummy,
|
|
|
41a6c3 |
else if (!strcasecmp(arg1, "Full")) {
|
|
|
41a6c3 |
ap_server_tokens = SrvTk_FULL;
|
|
|
41a6c3 |
}
|
|
|
41a6c3 |
+ else if (!strcasecmp(arg1, "Full-Release")) {
|
|
|
41a6c3 |
+ ap_server_tokens = SrvTk_FULL_RELEASE;
|
|
|
41a6c3 |
+ }
|
|
|
41a6c3 |
else {
|
|
|
41a6c3 |
- return "ServerTokens takes 1 argument, 'Prod', 'Major', 'Minor', 'Min', 'OS', or 'Full'";
|
|
|
41a6c3 |
+ return "ServerTokens takes 1 argument, 'Prod', 'Major', 'Minor', 'Min', 'OS', 'Full' or 'Full-Release'";
|
|
|
41a6c3 |
}
|
|
|
41a6c3 |
|
|
|
41a6c3 |
return NULL;
|