]> git.kaiwu.me - nginx.git/commitdiff
nginx-0.0.1-2002-12-16-00:08:04 import
authorIgor Sysoev <igor@sysoev.ru>
Sun, 15 Dec 2002 21:08:04 +0000 (21:08 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Sun, 15 Dec 2002 21:08:04 +0000 (21:08 +0000)
src/core/ngx_config.h
src/core/ngx_connection.h
src/core/ngx_log.c
src/core/ngx_sendfile.c [moved from src/os/unix/ngx_sendfile.h with 58% similarity]
src/core/ngx_sendfile.h [moved from src/os/win32/ngx_sendfile.h with 100% similarity]
src/event/ngx_event.c
src/http/modules/ngx_http_log_handler.c
src/http/ngx_http_core.c
src/os/unix/ngx_time.c
src/os/win32/ngx_files.h

index 09f73eb34d07a7eb1c0946b84472cd35792c9fdd..cc650c1f027b929e984f84f9e8aef69c70a93644 100644 (file)
 #define CRLF   "\x0d\x0a"
 
 
+#ifndef INET_ADDRSTRLEN
+#define INET_ADDRSTRLEN 16
+#endif
+
 
 #if defined SO_ACCEPTFILTER || defined TCP_DEFER_ACCEPT
 
index 0ff09ffdf73dff56cdfa4863c3d275e1dc8bb340..1c19aa374a4ae4574607084cf4e5fbc1ee4adba8 100644 (file)
@@ -3,8 +3,9 @@
 
 #include <ngx_socket.h>
 #include <ngx_log.h>
-#include <ngx_hunk.h>
 #include <ngx_alloc.h>
+#include <ngx_hunk.h>
+#include <ngx_array.h>
 #include <ngx_string.h>
 #include <ngx_server.h>
 
index 78459e34834d26575da2c930f0a745f4a07c8b78..244edc33eb2f80a644cc71918e31302ecbc6971f 100644 (file)
@@ -38,7 +38,7 @@ void ngx_log_error_core(int level, ngx_log_t *log, ngx_err_t err,
 
     ngx_localtime(&tm);
     len = ngx_snprintf(errstr, sizeof(errstr), "%4d/%02d/%02d %02d:%02d:%02d",
-                       tm.ngx_tm_year + 1900, tm.ngx_tm_mon, tm.ngx_tm_mday,
+                       tm.ngx_tm_year, tm.ngx_tm_mon, tm.ngx_tm_mday,
                        tm.ngx_tm_hour, tm.ngx_tm_min, tm.ngx_tm_sec);
 
     len += ngx_snprintf(errstr + len, sizeof(errstr) - len - 1,
similarity index 58%
rename from src/os/unix/ngx_sendfile.h
rename to src/core/ngx_sendfile.c
index c9a59235f8b20bc691fb65405fd3707c35864958..bffd29c0c859803ade67fef2afb8bc7c7fd24458 100644 (file)
@@ -1,11 +1,8 @@
-#ifndef _NGX_SENDFILE_H_INCLUDED_
-#define _NGX_SENDFILE_H_INCLUDED_
 
-
-#include <ngx_types.h>
-#include <ngx_files.h>
-#include <ngx_socket.h>
+#include <ngx_config.h>
+#include <ngx_core.h>
 #include <ngx_log.h>
+#include <ngx_socket.h>
 #include <ngx_sendv.h>
 
 int ngx_sendfile(ngx_socket_t s,
@@ -13,7 +10,11 @@ int ngx_sendfile(ngx_socket_t s,
                  ngx_fd_t fd, off_t offset, size_t nbytes,
                  ngx_iovec_t *trailers, int trl_cnt,
                  off_t *sent,
-                 ngx_log_t *log);
+                 ngx_log_t *log)
+{
+    ngx_log_error(NGX_LOG_INFO, log, 0,
+                  "ngx_sendfile: sendfile is not implemented");
 
 
-#endif /* _NGX_SENDFILE_H_INCLUDED_ */
+    return NGX_ERROR;
+}
index 2d68af2a07965d6c70048f83890c38b61f4c8d9c..763b8f8d20fc29f7967992c07b25ec38bd70b559 100644 (file)
@@ -5,6 +5,7 @@
 #include <ngx_string.h>
 #include <ngx_log.h>
 #include <ngx_alloc.h>
+#include <ngx_array.h>
 #include <ngx_listen.h>
 #include <ngx_connection.h>
 #include <ngx_event.h>
index 56ea8419e8b30b84d01582c63f6b9b8c84272c53..4937ed0b893f7c3846d4742a32225df8aee2e775 100644 (file)
@@ -20,15 +20,19 @@ int ngx_http_log_handler(ngx_http_request_t *r)
     char     *line, *p;
     ngx_tm_t  tm;
 
+    ngx_log_debug(r->connection->log, "log handler");
+
+    /* %a, 20:%c, 22:%d, 3:%s, 20:%b, 5*" ", "2/1: "\r\n" */
 #if (WIN32)
-    len = 2 + 22 + 3 + 20 + 5 + 20 + 2;
+    len = 2 + 20 + 22 + 3 + 20 + 5 + + 2;
 #else
-    len = 2 + 22 + 3 + 20 + 5 + 20 + 1;
+    len = 2 + 20 + 22 + 3 + 20 + 5 + + 1;
 #endif
 
     len += r->connection->addr_text.len;
     len += r->request_line.len;
 
+    ngx_log_debug(r->connection->log, "log handler: %d" _ len);
 
     ngx_test_null(line, ngx_palloc(r->pool, len), NGX_ERROR);
     p = line;
@@ -38,18 +42,30 @@ int ngx_http_log_handler(ngx_http_request_t *r)
 
     *p++ = ' ';
 
+    p += ngx_snprintf(p, 21, "%u", r->connection->number);
+
+    *p++ = ' ';
+
+    *p = '\0';
+    ngx_log_debug(r->connection->log, "log handler: %s" _ line);
+
     ngx_localtime(&tm);
 
+    ngx_log_debug(r->connection->log, "log handler: %s" _ line);
+
     *p++ = '[';
     p += ngx_snprintf(p, 21, "%02d/%s/%d:%02d:%02d:%02d",
-                      tm.ngx_tm_mday, months[tm.ngx_tm_mon],
-                      tm.ngx_tm_year + 1900,
+                      tm.ngx_tm_mday, months[tm.ngx_tm_mon - 1],
+                      tm.ngx_tm_year,
                       tm.ngx_tm_hour, tm.ngx_tm_min, tm.ngx_tm_sec);
 
     *p++ = ']';
 
     *p++ = ' ';
 
+    *p = '\0';
+    ngx_log_debug(r->connection->log, "log handler: %s" _ line);
+
     *p++ = '"';
     ngx_memcpy(p, r->request_line.data, r->request_line.len);
     p += r->request_line.len;
@@ -63,9 +79,8 @@ int ngx_http_log_handler(ngx_http_request_t *r)
 
     p += ngx_snprintf(p, 21, QD_FMT, r->connection->sent);
 
-    *p++ = ' ';
-
-    p += ngx_snprintf(p, 21, "%u", r->connection->number);
+    *p = '\0';
+    ngx_log_debug(r->connection->log, "log handler: %s" _ line);
 
 #if (WIN32)
     *p++ = CR; *p++ = LF;
@@ -73,6 +88,9 @@ int ngx_http_log_handler(ngx_http_request_t *r)
     *p++ = LF;
 #endif
 
+    *p = '\0';
+    ngx_log_debug(r->connection->log, "log handler: %s" _ line);
+
     write(1, line, len);
 
     return NGX_OK;
index a0555e378202fbad034ee6569c82b94055d726a4..e4f97eef7cec71f660e3f6980dc8acfe7e524204 100644 (file)
@@ -105,10 +105,10 @@ static int ngx_http_core_translate_handler(ngx_http_request_t *r)
     ngx_log_debug(r->connection->log, "HTTP filename: '%s'" _
                   r->file.name.data);
 
-#if (WIN32)
+#if (WIN9X)
 
-    /* There is no way to open file or directory in Win32 with
-       one syscall: CreateFile() returns ERROR_ACCESS_DENIED on directory,
+    /* There is no way to open file or directory in Win9X with
+       one syscall: Win9X has not FILE_FLAG_BACKUP_SEMANTICS flag.
        so we need to check its type before opening */
 
 #if 0 /* OLD: ngx_file_type() is to be removed */
@@ -138,7 +138,7 @@ static int ngx_http_core_translate_handler(ngx_http_request_t *r)
     if (r->file.fd == NGX_INVALID_FILE) {
         err = ngx_errno;
         ngx_log_error(NGX_LOG_ERR, r->connection->log, ngx_errno,
-                      "ngx_http_static_handler: "
+                      "ngx_http_core_handler: "
                       ngx_open_file_n " %s failed", r->file.name.data);
 
         if (err == NGX_ENOENT)
@@ -150,12 +150,12 @@ static int ngx_http_core_translate_handler(ngx_http_request_t *r)
     if (!r->file.info_valid) {
         if (ngx_stat_fd(r->file.fd, &r->file.info) == NGX_FILE_ERROR) {
             ngx_log_error(NGX_LOG_ERR, r->connection->log, ngx_errno,
-                          "ngx_http_static_handler: "
+                          "ngx_http_core_handler: "
                           ngx_stat_fd_n " %s failed", r->file.name.data);
 
             if (ngx_close_file(r->file.fd) == NGX_FILE_ERROR)
                 ngx_log_error(NGX_LOG_ERR, r->connection->log, ngx_errno,
-                              "ngx_http_static_handler: "
+                              "ngx_http_core_handler: "
                               ngx_close_file_n " %s failed", r->file.name.data);
 
             return NGX_HTTP_INTERNAL_SERVER_ERROR;
@@ -168,10 +168,10 @@ static int ngx_http_core_translate_handler(ngx_http_request_t *r)
     if (ngx_is_dir(r->file.info)) {
         ngx_log_debug(r->connection->log, "HTTP DIR: '%s'" _ r->file.name.data);
 
-#if !(WIN32)
+#if !(WIN9X)
         if (ngx_close_file(r->file.fd) == NGX_FILE_ERROR)
             ngx_log_error(NGX_LOG_ERR, r->connection->log, ngx_errno,
-                          "ngx_http_static_handler: "
+                          "ngx_http_core_handler: "
                           ngx_close_file_n " %s failed", r->file.name.data);
 #endif
 
index 5dfcb63f2baf7d557ee1d448f8bb11a529f6cc74..26ef6462deb9522fde24e5f39c84e8523ce43fee 100644 (file)
@@ -6,6 +6,8 @@ void ngx_localtime(ngx_tm_t *tm)
 {
     time_t clock = time(NULL);
     localtime_r(&clock, tm);
+    tm->ngx_tm_mon++;
+    tm->ngx_tm_year += 1900;
 }
 
 u_int ngx_msec(void)
index 8cd58efc76d77397b155ca18064ab0350c7ff544..f5e50cc9f35ea6928585f515f07dbb777dfacbd4 100644 (file)
@@ -22,7 +22,10 @@ typedef BY_HANDLE_FILE_INFORMATION  ngx_file_info_t;
 #define ngx_open_file(name, flags)                                          \
             CreateFile(name, flags,                                         \
                        FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,  \
+                       NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL)
+/*
                        NULL, OPEN_EXISTING, 0, NULL)
+*/
 
 #define ngx_open_file_n             "CreateFile()"