summaryrefslogtreecommitdiffhomepage
path: root/src/http/ngx_http_variables.c (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2012-12-11Merge of r4921, r4922, r4923, r4924, r4925: request body fixes.Maxim Dounin1-5/+13
*) Request body: fixed "501 Not Implemented" error handling. It is not about "Method" but a generic message, and is expected to be used e.g. if specified Transfer-Encoding is not supported. Fixed message to match RFC 2616. Additionally, disable keepalive on such errors as we won't be able to read request body correctly if we don't understand Transfer-Encoding used. *) Request body: $request_body variable generalization. The $request_body variable was assuming there can't be more than two buffers. While this is currently true due to request body reading implementation details, this is not a good thing to depend on and may change in the future. *) Request body: code duplication reduced, no functional changes. The r->request_body_in_file_only with empty body case is now handled in ngx_http_write_request_body(). *) Request body: fixed socket leak on errors. The r->main->count reference counter was always incremented in ngx_http_read_client_request_body(), while it is only needs to be incremented on positive returns. *) Request body: properly handle events while discarding body. An attempt to call ngx_handle_read_event() before actually reading data from a socket might result in read event being disabled, which is wrong. Catched by body.t test on Solaris.
2012-12-10Merge of r4914: variables $request_time and $msec.Maxim Dounin1-0/+63
Log module counterparts are preserved for efficiency.
2012-11-13Merge of r4886, r4887, r4894: log variables generalization:Maxim Dounin1-0/+79
*) Log: $apache_bytes_sent removed. It was renamed to $body_bytes_sent in nginx 0.3.10 and the old name is deprecated since then. *) Variable $bytes_sent. It replicates variable $bytes_sent as previously available in log module only. Patch by Benjamin Grössing (with minor changes). *) Variables $connection and $connection_requests. Log module counterparts are removed as they aren't used often and there is no need to preserve them for efficiency.
2012-07-02Merge of r4698: X-Forwarded-For conditionals.Maxim Dounin1-1/+1
Fixed compile-time conditionals used to detect if X-Forwarded-For support is needed. Note: compatibility shims were added during merge to avoid possible breakage of 3rd party modules. At least cache purge module was broken by the original commit, as it used to rely on NGX_HTTP_PROXY define.
2012-07-02Merge of r4686, r4687: $status variable.Maxim Dounin1-0/+39
Contains response status code as a 3-digit integer (with leading zeroes if necessary), or one of the following values: 000 - response status code has not yet been assigned 009 - HTTP/0.9 request is being processed
2012-07-02Merge of r4642:Maxim Dounin1-2/+9
Fixed core variables dynamic access after reconfiguration. If variable was indexed in previous configuration but not in current one, the NGX_HTTP_VAR_INDEXED flag was left set and confused ngx_http_get_variable(). Patch by Yichun Zhang (agentzh), slightly modified.
2012-04-03Fixed spelling in multiline C comments.Ruslan Ermilov1-1/+1
2012-03-27Fixed unconditional MAX_PATH usage (ticket #22).Maxim Dounin1-2/+20
POSIX doesn't require it to be defined, and Debian GNU/Hurd doesn't define it. Note that if there is no MAX_PATH defined we have to use realpath() with NULL argument and free() the result.
2012-03-16Implemented $tcpinfo_rtt, $tcpinfo_rttvar, $tcpinfo_snd_cwnd, andRuslan Ermilov1-0/+73
$tcpinfo_rcv_space variables. Supported on Linux and FreeBSD.
2012-03-15Slight optimization in ngx_http_get_variable_index().Ruslan Ermilov1-1/+1
2012-02-13Variables: honor no_cacheable for not_found variables.Maxim Dounin1-1/+1
Variables with the "not_found" flag set follow the same rules as ones with the "valid" flag set. Make sure ngx_http_get_flushed_variable() will flush non-cacheable variables with the "not_found" flag set. This fixes at least one known problem with $args not available in a subrequest (with args) when there were no args in the main request and $args variable was queried in the main request (reported by Laurence Rowe aka elro on irc). Also this eliminates unneeded call to ngx_http_get_indexed_variable() in cacheable case (as it will return cached value anyway).
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2011-12-09Fixed: some of $sent_http_* variables may contain header entries that actuallyValentin Bartenev1-12/+29
haven't been sent to a client. The ngx_http_variable_headers() and ngx_http_variable_unknown_header() functions did not ignore response header entries with zero "hash" field. Thanks to Yichun Zhang (agentzh).
2011-12-09Added the $https variable.Valentin Bartenev1-0/+28
2011-05-30change ngx_http_map_find(): use case sensitive regexesIgor Sysoev1-6/+22
2011-03-16allow regex as "map" parameterIgor Sysoev1-0/+44
2010-06-23change ngx_http_variable_value_node_t to more generic ngx_str_node_tIgor Sysoev1-84/+0
2010-05-14ngx_str_set() and ngx_str_null()Igor Sysoev1-2/+1
2010-04-22change processing variables accessed by SSI and perl module:Igor Sysoev1-8/+2
*) the indexed variables are always flushed *) never show warning for not found variables
2010-04-22make $arg_ variables non-cacheableIgor Sysoev1-0/+1
2010-03-03make $request_method non-cacheableIgor Sysoev1-1/+2
2010-02-15fix $upstream_http_ variable prefix lengthIgor Sysoev1-1/+1
2010-01-11named captures worked for two names onlyIgor Sysoev1-1/+1
2009-11-23fix building without PCRE, the bug had been introduced in r3326Igor Sysoev1-0/+4
2009-11-16evaluate maximum captures size on configuration phaseIgor Sysoev1-1/+1
2009-11-16fix captures in "rewrite", the bug had been introduced in r3326Igor Sysoev1-1/+1
2009-11-16regex named capturesIgor Sysoev1-0/+151
2009-11-03fix segfault if $limit_rate was loggedIgor Sysoev1-1/+25
2009-11-02use sin6_addr.s6_addr instead of "(u_char *) & .sin6_addr"Igor Sysoev1-1/+1
2009-09-21allow to log invalid $request in access_log always,Igor Sysoev1-2/+39
before it was logged only if error_log was set to info or debug level
2009-05-22fix segfault introduced in r2845Igor Sysoev1-1/+4
2009-05-18use ngx_connection_local_sockaddr() instead of ngx_http_server_addr()Igor Sysoev1-2/+2
2009-05-14$request_body variableIgor Sysoev1-0/+56
2009-02-24fix segfault introduced in r2486 in $sent_http_location processingIgor Sysoev1-1/+6
2009-02-24small optimization: " == NGX_ERROR" > " != NGX_OK"Igor Sysoev1-7/+4
2009-02-24axe r->port_textIgor Sysoev1-2/+35
2009-02-21a prelimiary IPv6 support, HTTP listenIgor Sysoev1-19/+55
2009-01-30fix $sent_http_location for local redirectsIgor Sysoev1-0/+25
2008-12-22ngx_http_arg()Igor Sysoev1-40/+12
2008-12-01$cookie_... variable did not for SSI and perlIgor Sysoev1-1/+3
2008-11-22variable value rbtree supportIgor Sysoev1-0/+84
2008-11-12$cookie_... variableIgor Sysoev1-0/+44
2008-09-27$realpath_rootIgor Sysoev1-0/+60
2008-09-15$pidIgor Sysoev1-0/+26
2008-09-05remove unused #include'sIgor Sysoev1-1/+0
2008-08-21*) remove zero termination in ngx_inet_ntop() and ngx_sock_ntop()Igor Sysoev1-1/+1
*) use ngx_snprintf() in ngx_inet_ntop() and ngx_sock_ntop() as they are called just once per connection *) NGX_INET_ADDRSTRLEN
2008-08-04$arg_... variableIgor Sysoev1-0/+74
2008-08-04ngx_strlow()Igor Sysoev1-6/+2
2008-06-17*) back out r2040Igor Sysoev1-9/+9
*) refactor ngx_palloc() *) introduce ngx_pnalloc() *) additional pool blocks have smaller header
2008-05-16$hostname variableIgor Sysoev1-0/+19