summaryrefslogtreecommitdiffhomepage
path: root/src/http/modules/ngx_http_map_module.c (follow)
AgeCommit message (Collapse)AuthorFilesLines
2016-12-08Map: the "volatile" parameter.Ruslan Ermilov1-1/+14
By default, "map" creates cacheable variables [1]. With this parameter it creates a non-cacheable variable. An original idea was to deduce the cacheability of the "map" variable by checking the cacheability of variables specified in source and resulting values, but it turned to be too hard. For example, a cacheable variable can be overridden with the "set" directive or with the SSI "set" command. Also, keeping "map" variables cacheable by default is good for performance reasons. This required adding a new parameter. [1] Before db699978a33f (1.11.0), the cacheability of the "map" variable could vary depending on the cacheability of variables specified in resulting values (ticket #1090). This is believed to be a bug rather than a feature.
2016-12-08Map: simplified "map" block parser.Ruslan Ermilov1-1/+2
No functional changes.
2016-05-12Map: support of complex values in resulting strings.Dmitry Volyntsev1-59/+67
2016-03-31Fixed logging.Sergey Kandaurov1-1/+1
2015-08-17Win32: MSVC 2015 compatibility.Maxim Dounin1-5/+5
Resolved warnings about declarations that hide previous local declarations. Warnings about WSASocketA() being deprecated resolved by explicit use of WSASocketW() instead of WSASocket(). When compiling without IPv6 support, WinSock deprecated warnings are disabled to allow use of gethostbyname().
2013-09-04Handling of ngx_int_t != intptr_t case.Maxim Dounin1-3/+3
Casts between pointers and integers produce warnings on size mismatch. To silence them, cast to (u)intptr_t should be used. Prevoiusly, casts to ngx_(u)int_t were used in some cases, and several ngx_int_t expressions had no casts. As of now it's mostly style as ngx_int_t is defined as intptr_t.
2013-03-21Use NGX_DEFAULT_POOL_SIZE macro where appropriate.Ruslan Ermilov1-1/+1
2012-12-17Added checks that disallow adding a variable with an empty name.Ruslan Ermilov1-0/+7
Added variable name syntax checks to "geo" and "map" directives.
2012-08-28Fixed the "include" directive.Ruslan Ermilov1-10/+2
The "include" directive should be able to include multiple files if given a filename mask. Fixed this to work for "include" directives inside the "map" or "types" blocks. The "include" directive inside the "geo" block is still not fixed.
2012-08-16Map: fixed optimization of variables as values.Maxim Dounin1-8/+2
Previous code incorrectly used ctx->var_values as an array of pointers to ngx_http_variable_value_t, but the array contains structures, not pointers. Additionally, ctx->var_values inspection failed to properly set var on match.
2012-06-29map: strip final dot before looking up in a map of hostnames.Ruslan Ermilov1-5/+4
(closes #182)
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2011-05-30revert r3875 since now map uses case sensetive regexes by defaultIgor Sysoev1-0/+6
2011-05-30change ngx_http_map_find(): use case sensitive regexesIgor Sysoev1-4/+1
2011-03-21map tests values in low case only, so caseless regex has no senseIgor Sysoev1-6/+0
2011-03-16allow regex as "map" parameterIgor Sysoev1-5/+65
2010-11-26allow variable as "map" valueIgor Sysoev1-6/+63
2010-11-25use "\" to escape "default", "include", and "hostnames" values instead of "!"Igor Sysoev1-1/+1
2010-11-25allow empty value as "map" parameterIgor Sysoev1-10/+0
2010-11-25allow expressions in the first "map" parameterIgor Sysoev1-31/+24
2010-06-23style fixIgor Sysoev1-1/+1
2009-09-12If .domain.com, .sub.domain.com, and .domain-some.com were defined,Igor Sysoev1-1/+1
then .sub.domain.com was matched by .domain.com: wildcard names hash was built incorrectly due to sorting order issue of "." vs "-". They were sorted as com.domain com.domain-some com.domain.sub while they should be sorted as com.domain com.domain.sub com.domain-some for correct hash building
2009-06-02return NULL instead of NGX_CONF_ERROR on a create conf failureIgor Sysoev1-1/+1
2009-02-24small optimization: " == NGX_ERROR" > " != NGX_OK"Igor Sysoev1-1/+1
2008-08-04ngx_hash_strlow()Igor Sysoev1-6/+2
2008-06-17*) back out r2040Igor Sysoev1-1/+1
*) refactor ngx_palloc() *) introduce ngx_pnalloc() *) additional pool blocks have smaller header
2007-10-14fix English grammarIgor Sysoev1-2/+2
2007-08-20use %v for ngx_variable_value_t in ngx_sprintf(),Igor Sysoev1-1/+1
this fixes nginx on FreeBSD/sparc64
2007-07-29--sysconfdir=DIRIgor Sysoev1-1/+1
2007-06-11the "www.example.*" wildcard hash supportIgor Sysoev1-62/+51
2006-10-20fix segfault if $server_addr failedIgor Sysoev1-0/+5
2006-04-19nginx-0.3.40-RELEASE importrelease-0.3.40Igor Sysoev1-1/+1
*) Feature: the ngx_http_dav_module supports the MKCOL method. *) Feature: the "create_full_put_path" directive. *) Feature: the "$limit_rate" variable.
2005-12-26nginx-0.3.18-RELEASE importrelease-0.3.18Igor Sysoev1-42/+19
*) Feature: the "server_names" directive supports the ".domain.tld" names. *) Feature: the "server_names" directive uses the hash for the "*.domain.tld" names and more effective hash for usual names. *) Change: the "server_names_hash_max_size" and "server_names_hash_bucket_size" directives. *) Change: the "server_names_hash" and "server_names_hash_threshold" directives were canceled. *) Feature: the "valid_referers" directive uses the hash site names. *) Change: now the "valid_referers" directive checks the site names only without the URI part. *) Bugfix: some ".domain.tld" names incorrectly processed by the ngx_http_map_module. *) Bugfix: segmentation fault was occurred if configuration file did not exist; the bug had appeared in 0.3.12. *) Bugfix: on 64-bit platforms segmentation fault may occurred on start; the bug had appeared in 0.3.16.
2005-12-18nginx-0.3.17-RELEASE importrelease-0.3.17Igor Sysoev1-184/+57
*) Change: now on Linux configure checks the presence of epoll and sendfile64() in kernel. *) Feature: the "map" directive supports domain names in the ".domain.tld" form. *) Bugfix: the timeouts were not used in SSL handshake; the bug had appeared in 0.2.4. *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive. *) Bugfix: when the HTTPS protocol was used in the "proxy_pass" directive the port 80 was used by default.
2005-12-16nginx-0.3.16-RELEASE importrelease-0.3.16Igor Sysoev1-0/+637
*) Feature: the ngx_http_map_module. *) Feature: the "types_hash_max_size" and "types_hash_bucket_size" directives. *) Feature: the "ssi_value_length" directive. *) Feature: the "worker_rlimit_core" directive. *) Workaround: the connection number in logs was always 1 if nginx was built by the icc 8.1 or 9.0 compilers with optimization for Pentium 4. *) Bugfix: the "config timefmt" SSI command set incorrect time format. *) Bugfix: nginx did not close connection to IMAP/POP3 backend for the SSL connections; the bug had appeared in 0.3.13. Thanks to Rob Mueller. *) Bugfix: segmentation fault may occurred in at SSL shutdown; the bug had appeared in 0.3.13.