comparison src/http/modules/ngx_http_image_filter_module.c @ 650:4d05413aebad NGINX_1_1_9

nginx 1.1.9 *) Change: now double quotes are encoded in an "echo" SSI-command output. Thanks to Zaur Abasmirzoev. *) Feature: the "valid" parameter of the "resolver" directive. By default TTL returned by a DNS server is used. Thanks to Kirill A. Korinskiy. *) Bugfix: nginx might hang after a worker process abnormal termination. *) Bugfix: a segmentation fault might occur in a worker process if SNI was used; the bug had appeared in 1.1.2. *) Bugfix: in the "keepalive_disable" directive; the bug had appeared in 1.1.8. Thanks to Alexander Usov. *) Bugfix: SIGWINCH signal did not work after first binary upgrade; the bug had appeared in 1.1.1. *) Bugfix: backend responses with length not matching "Content-Length" header line are no longer cached. *) Bugfix: in the "scgi_param" directive, if complex parameters were used. *) Bugfix: in the "epoll" event method. Thanks to Yichun Zhang. *) Bugfix: in the ngx_http_flv_module. Thanks to Piotr Sikora. *) Bugfix: in the ngx_http_mp4_module. *) Bugfix: IPv6 addresses are now handled properly in a request line and in a "Host" request header line. *) Bugfix: "add_header" and "expires" directives did not work if a request was proxied and response status code was 206. *) Bugfix: nginx could not be built on FreeBSD 10. *) Bugfix: nginx could not be built on AIX.
author Igor Sysoev <http://sysoev.ru>
date Mon, 28 Nov 2011 00:00:00 +0400
parents f200748c0ac8
children d0f7a625f27c
comparison
equal deleted inserted replaced
649:c5b99ec117cd 650:4d05413aebad
113 113
114 114
115 static ngx_command_t ngx_http_image_filter_commands[] = { 115 static ngx_command_t ngx_http_image_filter_commands[] = {
116 116
117 { ngx_string("image_filter"), 117 { ngx_string("image_filter"),
118 NGX_HTTP_LOC_CONF|NGX_CONF_TAKE13|NGX_CONF_TAKE2, 118 NGX_HTTP_LOC_CONF|NGX_CONF_TAKE123,
119 ngx_http_image_filter, 119 ngx_http_image_filter,
120 NGX_HTTP_LOC_CONF_OFFSET, 120 NGX_HTTP_LOC_CONF_OFFSET,
121 0, 121 0,
122 NULL }, 122 NULL },
123 123
1260 return NGX_CONF_OK; 1260 return NGX_CONF_OK;
1261 1261
1262 } else if (cf->args->nelts == 3) { 1262 } else if (cf->args->nelts == 3) {
1263 1263
1264 if (ngx_strcmp(value[i].data, "rotate") == 0) { 1264 if (ngx_strcmp(value[i].data, "rotate") == 0) {
1265 imcf->filter = NGX_HTTP_IMAGE_ROTATE; 1265 if (imcf->filter != NGX_HTTP_IMAGE_RESIZE
1266 && imcf->filter != NGX_HTTP_IMAGE_CROP)
1267 {
1268 imcf->filter = NGX_HTTP_IMAGE_ROTATE;
1269 }
1266 1270
1267 ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t)); 1271 ngx_memzero(&ccv, sizeof(ngx_http_compile_complex_value_t));
1268 1272
1269 ccv.cf = cf; 1273 ccv.cf = cf;
1270 ccv.value = &value[++i]; 1274 ccv.value = &value[++i];
1403 if (cv.lengths == NULL) { 1407 if (cv.lengths == NULL) {
1404 n = ngx_http_image_filter_value(&value[1]); 1408 n = ngx_http_image_filter_value(&value[1]);
1405 1409
1406 if (n <= 0) { 1410 if (n <= 0) {
1407 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, 1411 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
1408 "invalid parameter \"%V\"", &value[1]); 1412 "invalid value \"%V\"", &value[1]);
1409 return NGX_CONF_ERROR; 1413 return NGX_CONF_ERROR;
1410 } 1414 }
1411 1415
1412 imcf->jpeg_quality = (ngx_uint_t) n; 1416 imcf->jpeg_quality = (ngx_uint_t) n;
1413 1417
1450 if (cv.lengths == NULL) { 1454 if (cv.lengths == NULL) {
1451 n = ngx_http_image_filter_value(&value[1]); 1455 n = ngx_http_image_filter_value(&value[1]);
1452 1456
1453 if (n < 0) { 1457 if (n < 0) {
1454 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, 1458 ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
1455 "invalid parameter \"%V\"", &value[1]); 1459 "invalid value \"%V\"", &value[1]);
1456 return NGX_CONF_ERROR; 1460 return NGX_CONF_ERROR;
1457 } 1461 }
1458 1462
1459 imcf->sharpen = (ngx_uint_t) n; 1463 imcf->sharpen = (ngx_uint_t) n;
1460 1464