|
diff --git a/hphp/runtime/base/runtime-option.cpp b/hphp/runtime/base/runtime-option.cpp |
|
index 3a3d25a..9903996 100644 |
|
--- a/hphp/runtime/base/runtime-option.cpp |
|
+++ b/hphp/runtime/base/runtime-option.cpp |
|
@@ -179,7 +179,7 @@ std::string RuntimeOption::ForceCompressionURL; |
|
std::string RuntimeOption::ForceCompressionCookie; |
|
std::string RuntimeOption::ForceCompressionParam; |
|
bool RuntimeOption::EnableKeepAlive = true; |
|
-bool RuntimeOption::ExposeHPHP = true; |
|
+std::string RuntimeOption::ExposeHPHP = "full"; |
|
bool RuntimeOption::ExposeXFBServer = false; |
|
bool RuntimeOption::ExposeXFBDebug = false; |
|
std::string RuntimeOption::XFBDebugSSLKey; |
|
@@ -1292,7 +1292,7 @@ void RuntimeOption::Load( |
|
Config::Bind(ForceCompressionParam, ini, config, |
|
"Server.ForceCompression.Param"); |
|
Config::Bind(EnableKeepAlive, ini, config, "Server.EnableKeepAlive", true); |
|
- Config::Bind(ExposeHPHP, ini, config, "Server.ExposeHPHP", true); |
|
+ Config::Bind(ExposeHPHP, ini, config, "Server.ExposeHPHP", "full"); |
|
Config::Bind(ExposeXFBServer, ini, config, "Server.ExposeXFBServer", false); |
|
Config::Bind(ExposeXFBDebug, ini, config, "Server.ExposeXFBDebug", false); |
|
Config::Bind(XFBDebugSSLKey, ini, config, "Server.XFBDebugSSLKey", ""); |
|
diff --git a/hphp/runtime/base/runtime-option.h b/hphp/runtime/base/runtime-option.h |
|
index 3c220ef..37aad2d 100644 |
|
--- a/hphp/runtime/base/runtime-option.h |
|
+++ b/hphp/runtime/base/runtime-option.h |
|
@@ -161,7 +161,7 @@ struct RuntimeOption { |
|
static std::string ForceCompressionCookie; |
|
static std::string ForceCompressionParam; |
|
static bool EnableKeepAlive; |
|
- static bool ExposeHPHP; |
|
+ static std::string ExposeHPHP; |
|
static bool ExposeXFBServer; |
|
static bool ExposeXFBDebug; |
|
static std::string XFBDebugSSLKey; |
|
diff --git a/hphp/runtime/server/transport.cpp b/hphp/runtime/server/transport.cpp |
|
index 8e56807..bfcde8b 100644 |
|
--- a/hphp/runtime/server/transport.cpp |
|
+++ b/hphp/runtime/server/transport.cpp |
|
@@ -17,6 +17,7 @@ |
|
#include "hphp/runtime/server/transport.h" |
|
|
|
#include <boost/algorithm/string.hpp> |
|
+#include <boost/preprocessor/stringize.hpp> |
|
|
|
#include "hphp/runtime/server/server.h" |
|
#include "hphp/runtime/server/upload.h" |
|
@@ -741,8 +742,25 @@ void Transport::prepareHeaders(bool compressed, bool chunked, |
|
addHeaderImpl("Content-Type", contentType.c_str()); |
|
} |
|
|
|
- if (RuntimeOption::ExposeHPHP) { |
|
+ if (RuntimeOption::ExposeHPHP == "full") { |
|
addHeaderImpl("X-Powered-By", (String("HHVM/") + HHVM_VERSION).c_str()); |
|
+ } else if (RuntimeOption::ExposeHPHP == "name") { |
|
+ addHeaderImpl("X-Powered-By", (String("HHVM")).c_str()); |
|
+ } else if (RuntimeOption::ExposeHPHP == "major") { |
|
+ addHeaderImpl("X-Powered-By", |
|
+ (String("HHVM/") + |
|
+ BOOST_PP_STRINGIZE(HHVM_VERSION_MAJOR)).c_str()); |
|
+ } else if (RuntimeOption::ExposeHPHP == "minor") { |
|
+ addHeaderImpl("X-Powered-By", |
|
+ (String("HHVM/") + |
|
+ BOOST_PP_STRINGIZE(HHVM_VERSION_MAJOR) "." |
|
+ BOOST_PP_STRINGIZE(HHVM_VERSION_MINOR)).c_str()); |
|
+ } else if (RuntimeOption::ExposeHPHP == "patch") { |
|
+ addHeaderImpl("X-Powered-By", |
|
+ (String("HHVM/") + |
|
+ BOOST_PP_STRINGIZE(HHVM_VERSION_MAJOR) "." |
|
+ BOOST_PP_STRINGIZE(HHVM_VERSION_MINOR) "." |
|
+ BOOST_PP_STRINGIZE(HHVM_VERSION_PATCH)).c_str()); |
|
} |
|
|
|
if ((RuntimeOption::ExposeXFBServer || RuntimeOption::ExposeXFBDebug) && |