changeset 28:a117a7fdf042

nginx-0.0.1-2002-12-16-00:08:04 import
author Igor Sysoev <igor@sysoev.ru>
date Sun, 15 Dec 2002 21:08:04 +0000
parents a8d5abe713e6
children 6a0b3d6e9c13
files src/core/ngx_config.h src/core/ngx_connection.h src/core/ngx_log.c src/core/ngx_sendfile.c src/core/ngx_sendfile.h src/event/ngx_event.c src/http/modules/ngx_http_log_handler.c src/http/ngx_http_core.c src/os/unix/ngx_sendfile.h src/os/unix/ngx_time.c src/os/win32/ngx_files.h src/os/win32/ngx_sendfile.h
diffstat 12 files changed, 86 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/src/core/ngx_config.h
+++ b/src/core/ngx_config.h
@@ -80,6 +80,10 @@
 #define CRLF   "\x0d\x0a"
 
 
+#ifndef INET_ADDRSTRLEN
+#define INET_ADDRSTRLEN 16
+#endif
+
 
 #if defined SO_ACCEPTFILTER || defined TCP_DEFER_ACCEPT
 
--- a/src/core/ngx_connection.h
+++ b/src/core/ngx_connection.h
@@ -3,8 +3,9 @@
 
 #include <ngx_socket.h>
 #include <ngx_log.h>
+#include <ngx_alloc.h>
 #include <ngx_hunk.h>
-#include <ngx_alloc.h>
+#include <ngx_array.h>
 #include <ngx_string.h>
 #include <ngx_server.h>
 
--- a/src/core/ngx_log.c
+++ b/src/core/ngx_log.c
@@ -38,7 +38,7 @@ void ngx_log_error_core(int level, ngx_l
 
     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,
new file mode 100644
--- /dev/null
+++ b/src/core/ngx_sendfile.c
@@ -0,0 +1,20 @@
+
+#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,
+                 ngx_iovec_t *headers, int hdr_cnt,
+                 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_error(NGX_LOG_INFO, log, 0,
+                  "ngx_sendfile: sendfile is not implemented");
+
+
+    return NGX_ERROR;
+}
new file mode 100644
--- /dev/null
+++ b/src/core/ngx_sendfile.h
@@ -0,0 +1,20 @@
+#ifndef _NGX_SENDFILE_H_INCLUDED_
+#define _NGX_SENDFILE_H_INCLUDED_
+
+
+#include <ngx_config.h>
+#include <ngx_types.h>
+#include <ngx_files.h>
+#include <ngx_socket.h>
+#include <ngx_log.h>
+#include <ngx_sendv.h>
+
+int ngx_sendfile(ngx_socket_t s,
+                 ngx_iovec_t *headers, int hdr_cnt,
+                 ngx_fd_t fd, off_t offset, size_t nbytes,
+                 ngx_iovec_t *trailers, int trl_cnt,
+                 off_t *sent,
+                 ngx_log_t *log);
+
+
+#endif /* _NGX_SENDFILE_H_INCLUDED_ */
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -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>
--- a/src/http/modules/ngx_http_log_handler.c
+++ b/src/http/modules/ngx_http_log_handler.c
@@ -20,15 +20,19 @@ int ngx_http_log_handler(ngx_http_reques
     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_reques
 
     *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_reques
 
     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_reques
     *p++ = LF;
 #endif
 
+    *p = '\0';
+    ngx_log_debug(r->connection->log, "log handler: %s" _ line);
+
     write(1, line, len);
 
     return NGX_OK;
--- a/src/http/ngx_http_core.c
+++ b/src/http/ngx_http_core.c
@@ -105,10 +105,10 @@ static int ngx_http_core_translate_handl
     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_handl
     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_handl
     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_handl
     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
 
deleted file mode 100644
--- a/src/os/unix/ngx_sendfile.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _NGX_SENDFILE_H_INCLUDED_
-#define _NGX_SENDFILE_H_INCLUDED_
-
-
-#include <ngx_types.h>
-#include <ngx_files.h>
-#include <ngx_socket.h>
-#include <ngx_log.h>
-#include <ngx_sendv.h>
-
-int ngx_sendfile(ngx_socket_t s,
-                 ngx_iovec_t *headers, int hdr_cnt,
-                 ngx_fd_t fd, off_t offset, size_t nbytes,
-                 ngx_iovec_t *trailers, int trl_cnt,
-                 off_t *sent,
-                 ngx_log_t *log);
-
-
-#endif /* _NGX_SENDFILE_H_INCLUDED_ */
--- a/src/os/unix/ngx_time.c
+++ b/src/os/unix/ngx_time.c
@@ -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)
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -22,7 +22,10 @@ typedef BY_HANDLE_FILE_INFORMATION  ngx_
 #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()"
 
deleted file mode 100644
--- a/src/os/win32/ngx_sendfile.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _NGX_SENDFILE_H_INCLUDED_
-#define _NGX_SENDFILE_H_INCLUDED_
-
-
-#include <ngx_config.h>
-#include <ngx_types.h>
-#include <ngx_files.h>
-#include <ngx_socket.h>
-#include <ngx_log.h>
-#include <ngx_sendv.h>
-
-int ngx_sendfile(ngx_socket_t s,
-                 ngx_iovec_t *headers, int hdr_cnt,
-                 ngx_fd_t fd, off_t offset, size_t nbytes,
-                 ngx_iovec_t *trailers, int trl_cnt,
-                 off_t *sent,
-                 ngx_log_t *log);
-
-
-#endif /* _NGX_SENDFILE_H_INCLUDED_ */