arrfab / rpms / httpd

Forked from rpms/httpd 5 years ago
Clone

Blame SOURCES/httpd-2.4.6-full-release.patch

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