Mercurial > hg > nginx-vendor-0-5
diff src/http/ngx_http_variables.c @ 318:3021f899881a NGINX_0_5_29
nginx 0.5.29
*) Feature: $nginx_version variable.
Thanks to Nick S. Grechukh.
*) Bugfix: if the FastCGI header was split in records, then nginx
passed garbage in the header to a client.
*) Bugfix: Sun Studio compatibility on Solaris/amd64 and
Solaris/sparc64.
Thanks to Jiang Hong and Andrei Nigmatulin.
*) Bugfix: of minor potential bugs.
Thanks to Coverity's Scan.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 23 Jul 2007 00:00:00 +0400 |
parents | cba14c1e2a4b |
children | 1e9e2c5e7c14 |
line wrap: on
line diff
--- a/src/http/ngx_http_variables.c +++ b/src/http/ngx_http_variables.c @@ -8,6 +8,7 @@ #include <ngx_core.h> #include <ngx_event.h> #include <ngx_http.h> +#include <nginx.h> static ngx_int_t ngx_http_variable_request(ngx_http_request_t *r, @@ -66,6 +67,8 @@ static ngx_int_t ngx_http_variable_sent_ static ngx_int_t ngx_http_variable_sent_transfer_encoding(ngx_http_request_t *r, ngx_http_variable_value_t *v, uintptr_t data); +static ngx_int_t ngx_http_variable_nginx_version(ngx_http_request_t *r, + ngx_http_variable_value_t *v, uintptr_t data); /* * TODO: @@ -205,6 +208,9 @@ static ngx_http_variable_t ngx_http_cor offsetof(ngx_http_request_t, limit_rate), NGX_HTTP_VAR_CHANGABLE|NGX_HTTP_VAR_NOCACHABLE, 0 }, + { ngx_string("nginx_version"), NULL, ngx_http_variable_nginx_version, + 0, 0, 0 }, + { ngx_null_string, NULL, NULL, 0, 0, 0 } }; @@ -501,7 +507,7 @@ ngx_http_variable_request_set_size(ngx_h ssize_t s, *sp; ngx_str_t val; - val.len = v->len & 0xffff; + val.len = v->len; val.data = v->data; s = ngx_parse_size(&val); @@ -1205,6 +1211,20 @@ ngx_http_variable_request_body_file(ngx_ } +static ngx_int_t +ngx_http_variable_nginx_version(ngx_http_request_t *r, + ngx_http_variable_value_t *v, uintptr_t data) +{ + v->len = sizeof(NGINX_VERSION) - 1; + v->valid = 1; + v->no_cachable = 0; + v->not_found = 0; + v->data = (u_char *) NGINX_VERSION; + + return NGX_OK; +} + + ngx_int_t ngx_http_variables_add_core_vars(ngx_conf_t *cf) {