Mercurial > hg > nginx-vendor-0-6
comparison src/http/ngx_http.c @ 384:09b703ae3ba5 NGINX_0_6_36
nginx 0.6.36
*) Change: now the "Invalid argument" error returned by
setsockopt(TCP_NODELAY) on Solaris, is ignored.
*) Change: now POSTs without "Content-Length" header line are allowed.
*) Feature: the "try_files" directive.
*) Feature: the --with-pcre option in the configure.
*) Feature: the "if_modified_since" directive.
*) Feature: the "$cookie_..." variables.
*) Feature: the "$arg_..." variables.
*) Bugfix: compatibility with Tru64 UNIX.
Thanks to Dustin Marquess.
*) Bugfix: a "ssl_engine" directive did not use a SSL-accelerator for
asymmetric ciphers.
Thanks to Marcin Gozdalik.
*) Bugfix: in a redirect rewrite directive original arguments were
concatenated with new arguments by a "?" rather than an "&";
the bug had appeared in 0.1.18.
Thanks to Maxim Dounin.
*) Bugfix: nginx could not be built on AIX.
*) Bugfix: a double response might be returned if the epoll or rtsig
methods are used and a redirect was returned to a request with
body.
Thanks to Eden Li.
*) Bugfix: a segmentation fault might occur in worker process if
"resolver" directive was used in SMTP proxy.
*) Bugfix: fastcgi_store stored files not always.
*) Bugfix: nginx did not process a FastCGI server response, if the
server send too many messages to stderr before response.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 02 Apr 2009 00:00:00 +0400 |
parents | 3ce4580ae286 |
children |
comparison
equal
deleted
inserted
replaced
383:3d40b0260a84 | 384:09b703ae3ba5 |
---|---|
404 cmcf->phase_engine.location_rewrite_index = (ngx_uint_t) -1; | 404 cmcf->phase_engine.location_rewrite_index = (ngx_uint_t) -1; |
405 find_config_index = 0; | 405 find_config_index = 0; |
406 use_rewrite = cmcf->phases[NGX_HTTP_REWRITE_PHASE].handlers.nelts ? 1 : 0; | 406 use_rewrite = cmcf->phases[NGX_HTTP_REWRITE_PHASE].handlers.nelts ? 1 : 0; |
407 use_access = cmcf->phases[NGX_HTTP_ACCESS_PHASE].handlers.nelts ? 1 : 0; | 407 use_access = cmcf->phases[NGX_HTTP_ACCESS_PHASE].handlers.nelts ? 1 : 0; |
408 | 408 |
409 n = use_rewrite + use_access + 1; /* find config phase */ | 409 n = use_rewrite + use_access + cmcf->try_files + 1 /* find config phase */; |
410 | 410 |
411 for (i = 0; i < NGX_HTTP_LOG_PHASE; i++) { | 411 for (i = 0; i < NGX_HTTP_LOG_PHASE; i++) { |
412 n += cmcf->phases[i].handlers.nelts; | 412 n += cmcf->phases[i].handlers.nelts; |
413 } | 413 } |
414 | 414 |
473 ph++; | 473 ph++; |
474 } | 474 } |
475 | 475 |
476 continue; | 476 continue; |
477 | 477 |
478 case NGX_HTTP_TRY_FILES_PHASE: | |
479 if (cmcf->try_files) { | |
480 ph->checker = ngx_http_core_try_files_phase; | |
481 n++; | |
482 ph++; | |
483 } | |
484 | |
485 continue; | |
486 | |
478 case NGX_HTTP_CONTENT_PHASE: | 487 case NGX_HTTP_CONTENT_PHASE: |
479 checker = ngx_http_core_content_phase; | 488 checker = ngx_http_core_content_phase; |
480 break; | 489 break; |
481 | 490 |
482 default: | 491 default: |
894 hip->addrs[i].core_srv_conf = in_addr[i].core_srv_conf; | 903 hip->addrs[i].core_srv_conf = in_addr[i].core_srv_conf; |
895 | 904 |
896 if (in_addr[i].hash.buckets == NULL | 905 if (in_addr[i].hash.buckets == NULL |
897 && (in_addr[i].wc_head == NULL | 906 && (in_addr[i].wc_head == NULL |
898 || in_addr[i].wc_head->hash.buckets == NULL) | 907 || in_addr[i].wc_head->hash.buckets == NULL) |
899 && (in_addr[i].wc_head == NULL | 908 && (in_addr[i].wc_tail == NULL |
900 || in_addr[i].wc_head->hash.buckets == NULL)) | 909 || in_addr[i].wc_tail->hash.buckets == NULL)) |
901 { | 910 { |
902 continue; | 911 continue; |
903 } | 912 } |
904 | 913 |
905 vn = ngx_palloc(cf->pool, sizeof(ngx_http_virtual_names_t)); | 914 vn = ngx_palloc(cf->pool, sizeof(ngx_http_virtual_names_t)); |