comparison src/core/ngx_regex.c @ 358:9121a0a91f47 NGINX_0_6_23

nginx 0.6.23 *) Change: the "off" parameter in the "ssl_session_cache" directive; now this is default parameter. *) Change: the "open_file_cache_retest" directive was renamed to the "open_file_cache_valid". *) Feature: the "open_file_cache_min_uses" directive. *) Feature: the ngx_http_gzip_static_module. *) Feature: the "gzip_disable" directive. *) Feature: the "memcached_pass" directive may be used inside the "if" block. *) Bugfix: a segmentation fault occurred in worker process, if the "memcached_pass" and "if" directives were used in the same location. *) Bugfix: if a "satisfy_any on" directive was used and not all access and auth modules directives were set, then other given access and auth directives were not tested; *) Bugfix: regex parameters in a "valid_referers" directive were not inherited from previous level. *) Bugfix: a "post_action" directive did run if a request was completed with 499 status code. *) Bugfix: optimization of 16K buffer usage in a SSL connection. Thanks to Ben Maurer. *) Bugfix: the STARTTLS in SMTP mode did not work. Thanks to Oleg Motienko. *) Bugfix: in HTTPS mode requests might fail with the "bad write retry" error; bug appeared in 0.5.13.
author Igor Sysoev <http://sysoev.ru>
date Thu, 27 Dec 2007 00:00:00 +0300
parents 0d75d65c642f
children
comparison
equal deleted inserted replaced
357:16d557a75356 358:9121a0a91f47
112 112
113 return rc; 113 return rc;
114 } 114 }
115 115
116 116
117 ngx_int_t
118 ngx_regex_exec_array(ngx_array_t *a, ngx_str_t *s, ngx_log_t *log)
119 {
120 ngx_int_t n;
121 ngx_uint_t i;
122 ngx_regex_elt_t *re;
123
124 re = a->elts;
125
126 for (i = 0; i < a->nelts; i++) {
127
128 n = ngx_regex_exec(re[i].regex, s, NULL, 0);
129
130 if (n == NGX_REGEX_NO_MATCHED) {
131 continue;
132 }
133
134 if (n < 0) {
135 ngx_log_error(NGX_LOG_ALERT, log, 0,
136 ngx_regex_exec_n " failed: %d on \"%V\" using \"%s\"",
137 n, s, re[i].name);
138 return NGX_ERROR;
139 }
140
141 /* match */
142
143 return NGX_OK;
144 }
145
146 return NGX_DECLINED;
147 }
148
149
117 static void * ngx_libc_cdecl 150 static void * ngx_libc_cdecl
118 ngx_regex_malloc(size_t size) 151 ngx_regex_malloc(size_t size)
119 { 152 {
120 ngx_pool_t *pool; 153 ngx_pool_t *pool;
121 #if (NGX_THREADS) 154 #if (NGX_THREADS)