Mercurial > hg > nginx-vendor-current
comparison src/http/modules/ngx_http_ssl_module.c @ 320:95183808f549 NGINX_0_6_4
nginx 0.6.4
*) Security: the "msie_refresh" directive allowed XSS.
Thanks to Maxim Boguk.
*) Change: the "proxy_store" and "fastcgi_store" directives were
changed.
*) Feature: the "proxy_store_access" and "fastcgi_store_access"
directives.
*) Bugfix: nginx did not work on Solaris/sparc64 if it was built by Sun
Studio.
Thanks to Andrei Nigmatulin.
*) Workaround: for Sun Studio 12.
Thanks to Jiang Hong.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 17 Jul 2007 00:00:00 +0400 |
parents | 55328d69b335 |
children | 10cc350ed8a1 |
comparison
equal
deleted
inserted
replaced
319:6ccd0af7f704 | 320:95183808f549 |
---|---|
195 ngx_http_ssl_static_variable(ngx_http_request_t *r, | 195 ngx_http_ssl_static_variable(ngx_http_request_t *r, |
196 ngx_http_variable_value_t *v, uintptr_t data) | 196 ngx_http_variable_value_t *v, uintptr_t data) |
197 { | 197 { |
198 ngx_ssl_variable_handler_pt handler = (ngx_ssl_variable_handler_pt) data; | 198 ngx_ssl_variable_handler_pt handler = (ngx_ssl_variable_handler_pt) data; |
199 | 199 |
200 size_t len; | 200 size_t len; |
201 ngx_str_t s; | |
201 | 202 |
202 if (r->connection->ssl) { | 203 if (r->connection->ssl) { |
203 | 204 |
204 (void) handler(r->connection, NULL, (ngx_str_t *) v); | 205 (void) handler(r->connection, NULL, &s); |
206 | |
207 v->data = s.data; | |
205 | 208 |
206 for (len = 0; v->data[len]; len++) { /* void */ } | 209 for (len = 0; v->data[len]; len++) { /* void */ } |
207 | 210 |
208 v->len = len; | 211 v->len = len; |
209 v->valid = 1; | 212 v->valid = 1; |
223 ngx_http_ssl_variable(ngx_http_request_t *r, ngx_http_variable_value_t *v, | 226 ngx_http_ssl_variable(ngx_http_request_t *r, ngx_http_variable_value_t *v, |
224 uintptr_t data) | 227 uintptr_t data) |
225 { | 228 { |
226 ngx_ssl_variable_handler_pt handler = (ngx_ssl_variable_handler_pt) data; | 229 ngx_ssl_variable_handler_pt handler = (ngx_ssl_variable_handler_pt) data; |
227 | 230 |
231 ngx_str_t s; | |
232 | |
228 if (r->connection->ssl) { | 233 if (r->connection->ssl) { |
229 if (handler(r->connection, r->pool, (ngx_str_t *) v) != NGX_OK) { | 234 |
235 if (handler(r->connection, r->pool, &s) != NGX_OK) { | |
230 return NGX_ERROR; | 236 return NGX_ERROR; |
231 } | 237 } |
238 | |
239 v->len = s.len; | |
240 v->data = s.data; | |
232 | 241 |
233 if (v->len) { | 242 if (v->len) { |
234 v->valid = 1; | 243 v->valid = 1; |
235 v->no_cachable = 0; | 244 v->no_cachable = 0; |
236 v->not_found = 0; | 245 v->not_found = 0; |