Added SERVER_SOFTWARE request meta-variable.
This commit is contained in:
@@ -224,7 +224,7 @@ ${NXT_DAEMON}-uninstall:
|
||||
|
||||
END
|
||||
|
||||
nxt_version=`grep NXT_VERSION src/nxt_main.h | sed -e 's/.*"\(.*\)".*/\1/'`
|
||||
nxt_version=`grep -m 1 NXT_VERSION src/nxt_main.h | sed -e 's/.*"\(.*\)".*/\1/'`
|
||||
|
||||
# Makefile.
|
||||
# *.dSYM is MacOSX Clang debug information.
|
||||
|
||||
@@ -41,6 +41,9 @@ static uint32_t compat[] = {
|
||||
};
|
||||
|
||||
|
||||
nxt_str_t nxt_server = nxt_string(NXT_SERVER);
|
||||
|
||||
|
||||
static nxt_thread_mutex_t nxt_app_mutex;
|
||||
static nxt_thread_cond_t nxt_app_cond;
|
||||
|
||||
|
||||
@@ -307,6 +307,7 @@ nxt_app_msg_read_length(u_char *src, size_t *length)
|
||||
nxt_app_lang_module_t *nxt_app_lang_module(nxt_runtime_t *rt, nxt_str_t *name);
|
||||
nxt_app_type_t nxt_app_parse_type(u_char *p, size_t length);
|
||||
|
||||
NXT_EXPORT extern nxt_str_t nxt_server;
|
||||
extern nxt_application_module_t nxt_go_module;
|
||||
|
||||
|
||||
|
||||
@@ -1265,7 +1265,7 @@ nxt_controller_response(nxt_task_t *task, nxt_controller_request_t *req,
|
||||
body->mem.free = nxt_cpymem(body->mem.free, "\r\n", 2);
|
||||
|
||||
size = sizeof("HTTP/1.1 " "\r\n") - 1 + status_line.length
|
||||
+ sizeof("Server: Unit/" NXT_VERSION "\r\n") - 1
|
||||
+ sizeof("Server: " NXT_SERVER "\r\n") - 1
|
||||
+ sizeof("Date: Wed, 31 Dec 1986 16:40:00 GMT\r\n") - 1
|
||||
+ sizeof("Content-Type: application/json\r\n") - 1
|
||||
+ sizeof("Content-Length: " "\r\n") - 1 + NXT_SIZE_T_LEN
|
||||
@@ -1287,7 +1287,7 @@ nxt_controller_response(nxt_task_t *task, nxt_controller_request_t *req,
|
||||
status_line.length);
|
||||
|
||||
nxt_str_set(&str, "\r\n"
|
||||
"Server: Unit/" NXT_VERSION "\r\n"
|
||||
"Server: " NXT_SERVER "\r\n"
|
||||
"Date: ");
|
||||
|
||||
b->mem.free = nxt_cpymem(b->mem.free, str.start, str.length);
|
||||
|
||||
@@ -297,7 +297,7 @@ nxt_http_request_header_send(nxt_task_t *task, nxt_http_request_t *r)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
nxt_http_field_set(server, "Server", "Unit/" NXT_VERSION);
|
||||
nxt_http_field_set(server, "Server", NXT_SERVER);
|
||||
|
||||
if (r->resp.date == NULL) {
|
||||
date = nxt_list_zero_add(r->resp.fields);
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#define NXT_VERSION "1.2"
|
||||
#define NXT_VERNUM 10200
|
||||
|
||||
#define NXT_SERVER "Unit/" NXT_VERSION
|
||||
|
||||
typedef struct nxt_port_s nxt_port_t;
|
||||
typedef struct nxt_task_s nxt_task_t;
|
||||
|
||||
@@ -668,6 +668,8 @@ nxt_php_register_variables(zval *track_vars_array TSRMLS_DC)
|
||||
php_register_variable_safe((char *) (n), (char *) (v).start, \
|
||||
(v).length, track_vars_array TSRMLS_CC) \
|
||||
|
||||
NXT_PHP_SET("SERVER_SOFTWARE", nxt_server);
|
||||
|
||||
NXT_PHP_SET("SERVER_PROTOCOL", h->version);
|
||||
|
||||
/*
|
||||
|
||||
@@ -541,6 +541,24 @@ nxt_python_create_environ(nxt_task_t *task)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
obj = PyString_FromStringAndSize((char *) nxt_server.start,
|
||||
nxt_server.length);
|
||||
if (nxt_slow_path(obj == NULL)) {
|
||||
nxt_alert(task,
|
||||
"Python failed to create the \"SERVER_SOFTWARE\" environ value");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (nxt_slow_path(PyDict_SetItemString(environ, "SERVER_SOFTWARE", obj)
|
||||
!= 0))
|
||||
{
|
||||
nxt_alert(task,
|
||||
"Python failed to set the \"SERVER_SOFTWARE\" environ value");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
Py_DECREF(obj);
|
||||
|
||||
obj = Py_BuildValue("(ii)", 1, 0);
|
||||
|
||||
if (nxt_slow_path(obj == NULL)) {
|
||||
|
||||
@@ -596,6 +596,9 @@ nxt_perl_psgi_env_create(PerlInterpreter *my_perl, nxt_task_t *task,
|
||||
RC(nxt_perl_psgi_read_add_env(my_perl, task, rmsg, \
|
||||
hash_env, ATTR, &str))
|
||||
|
||||
RC(nxt_perl_psgi_env_append_str(my_perl, hash_env,
|
||||
"SERVER_SOFTWARE", &nxt_server));
|
||||
|
||||
GET_STR("REQUEST_METHOD");
|
||||
GET_STR("REQUEST_URI");
|
||||
|
||||
|
||||
@@ -272,6 +272,11 @@ nxt_ruby_rack_env_create(VALUE arg)
|
||||
VALUE hash_env, version;
|
||||
|
||||
hash_env = rb_hash_new();
|
||||
|
||||
rb_hash_aset(hash_env, rb_str_new2("SERVER_SOFTWARE"),
|
||||
rb_str_new((const char *) nxt_server.start,
|
||||
(long) nxt_server.length));
|
||||
|
||||
version = rb_ary_new();
|
||||
|
||||
rb_ary_push(version, UINT2NUM(NXT_RUBY_RACK_API_VERSION_MAJOR));
|
||||
|
||||
Reference in New Issue
Block a user