comparison src/http/modules/ngx_http_charset_filter_module.c @ 342:4276c2f1f434 NGINX_0_6_15

nginx 0.6.15 *) Feature: cygwin compatibility. Thanks to Vladimir Kutakov. *) Feature: the "merge_slashes" directive. *) Feature: the "gzip_vary" directive. *) Feature: the "server_tokens" directive. *) Bugfix: nginx did not unescape URI in the "include" SSI command. *) Bugfix: the segmentation fault was occurred on start or while reconfiguration if variable was used in the "charset" or "source_charset" directives. *) Bugfix: nginx returned the 400 response on requests like "GET http://www.domain.com HTTP/1.0". Thanks to James Oakley. *) Bugfix: if request with request body was redirected using the "error_page" directive, then nginx tried to read the request body again; bug appeared in 0.6.7. *) Bugfix: a segmentation fault occurred in worker process if no server_name was explicitly defined for server processing request; bug appeared in 0.6.7.
author Igor Sysoev <http://sysoev.ru>
date Mon, 22 Oct 2007 00:00:00 +0400
parents 95183808f549
children 9a242235a80a
comparison
equal deleted inserted replaced
341:183b4761fe5b 342:4276c2f1f434
364 source_charset); 364 source_charset);
365 365
366 no_charset_map: 366 no_charset_map:
367 367
368 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0, 368 ngx_log_error(NGX_LOG_ERR, r->connection->log, 0,
369 "no \"charset_map\" between the charsets " 369 "no \"charset_map\" between the charsets \"%V\" and \"%V\"",
370 "\"%V\" and \"%V\"", from, to); 370 from, to);
371 371
372 return ngx_http_next_header_filter(r); 372 return ngx_http_next_header_filter(r);
373 } 373 }
374 374
375 375
1460 || conf->charset == conf->source_charset) 1460 || conf->charset == conf->source_charset)
1461 { 1461 {
1462 return NGX_CONF_OK; 1462 return NGX_CONF_OK;
1463 } 1463 }
1464 1464
1465 if (conf->source_charset >= NGX_HTTP_CHARSET_VAR
1466 || conf->charset >= NGX_HTTP_CHARSET_VAR)
1467 {
1468 return NGX_CONF_OK;
1469 }
1470
1465 mcf = ngx_http_conf_get_module_main_conf(cf, 1471 mcf = ngx_http_conf_get_module_main_conf(cf,
1466 ngx_http_charset_filter_module); 1472 ngx_http_charset_filter_module);
1467 recode = mcf->recodes.elts; 1473 recode = mcf->recodes.elts;
1468 for (i = 0; i < mcf->recodes.nelts; i++) { 1474 for (i = 0; i < mcf->recodes.nelts; i++) {
1469 if (conf->source_charset == recode[i].src 1475 if (conf->source_charset == recode[i].src
1517 goto next; 1523 goto next;
1518 } 1524 }
1519 } 1525 }
1520 1526
1521 ngx_log_error(NGX_LOG_EMERG, cf->log, 0, 1527 ngx_log_error(NGX_LOG_EMERG, cf->log, 0,
1522 " no \"charset_map\" between the charsets " 1528 "no \"charset_map\" between the charsets \"%V\" and \"%V\"",
1523 "\"%V\" and \"%V\"", 1529 &charset[c].name, &charset[recode[i].dst].name);
1524 &charset[c].name, &charset[recode[i].dst].name);
1525 return NGX_ERROR; 1530 return NGX_ERROR;
1526 1531
1527 next: 1532 next:
1528 continue; 1533 continue;
1529 } 1534 }