]> git.kaiwu.me - nginx.git/commitdiff
merge r3148, r3152, r3161:
authorIgor Sysoev <igor@sysoev.ru>
Mon, 1 Feb 2010 14:31:26 +0000 (14:31 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Mon, 1 Feb 2010 14:31:26 +0000 (14:31 +0000)
error processing fixes:

*) fail if file size was changed
*) low default connection errors level from alert to error
*) low ENAMETOOLONG logging level

src/core/ngx_connection.c
src/core/ngx_output_chain.c
src/http/modules/ngx_http_index_module.c
src/http/ngx_http_core_module.c
src/http/ngx_http_script.c

index 0a7fe847d6afb11458c35008e42079f22375b14d..01c205877a370177522498b8aede15a6e39df207 100644 (file)
@@ -917,12 +917,8 @@ ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text)
             level = NGX_LOG_INFO;
             break;
 
-        case NGX_ERROR_ERR:
-            level = NGX_LOG_ERR;
-            break;
-
         default:
-            level = NGX_LOG_ALERT;
+            level = NGX_LOG_ERR;
         }
 
     } else {
index 6d6d241c1e7ea420c4136cb64ad7cfca62a73875..bee7952cad7fa6b326007b00253fc530e67b3fc1 100644 (file)
@@ -555,9 +555,7 @@ ngx_output_chain_copy_buf(ngx_output_chain_ctx_t *ctx)
             ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
                           ngx_read_file_n " read only %z of %O from \"%s\"",
                           n, size, src->file->name.data);
-            if (n == 0) {
-                return NGX_ERROR;
-            }
+            return NGX_ERROR;
         }
 
         dst->last += n;
index d94fc118ca49f12ceef6b724dd2a9b46be906831..b58aa97c2ff66e1fcca6e50e8440acb2987674c6 100644 (file)
@@ -222,7 +222,10 @@ ngx_http_index_handler(ngx_http_request_t *r)
                 return NGX_HTTP_INTERNAL_SERVER_ERROR;
             }
 
-            if (of.err == NGX_ENOTDIR || of.err == NGX_EACCES) {
+            if (of.err == NGX_ENOTDIR
+                || of.err == NGX_ENAMETOOLONG
+                || of.err == NGX_EACCES)
+            {
                 return ngx_http_index_error(r, clcf, path.data, of.err);
             }
 
index 33a8d58950f3af749956ed02762061b5328e1a5e..6159e92131e4ac9c549fa4db392fbe8473cce524 100644 (file)
@@ -1199,7 +1199,10 @@ ngx_http_core_try_files_phase(ngx_http_request_t *r,
         if (ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool)
             != NGX_OK)
         {
-            if (of.err != NGX_ENOENT && of.err != NGX_ENOTDIR) {
+            if (of.err != NGX_ENOENT
+                && of.err != NGX_ENOTDIR
+                && of.err != NGX_ENAMETOOLONG)
+            {
                 ngx_log_error(NGX_LOG_CRIT, r->connection->log, of.err,
                               "%s \"%s\" failed", of.failed, path.data);
             }
index ad9d88b4051c575c8b04662955bb5ea8cbae7c69..a92b1995af19e2e10e99ab61eb5cf2aabd101a1a 100644 (file)
@@ -1417,7 +1417,10 @@ ngx_http_script_file_code(ngx_http_script_engine_t *e)
     if (ngx_open_cached_file(clcf->open_file_cache, &path, &of, r->pool)
         != NGX_OK)
     {
-        if (of.err != NGX_ENOENT && of.err != NGX_ENOTDIR) {
+        if (of.err != NGX_ENOENT
+            && of.err != NGX_ENOTDIR
+            && of.err != NGX_ENAMETOOLONG)
+        {
             ngx_log_error(NGX_LOG_CRIT, r->connection->log, of.err,
                           "%s \"%s\" failed", of.failed, value->data);
         }