# HG changeset patch # User Igor Sysoev # Date 1039986484 0 # Node ID a117a7fdf0425e359f7f0f79caf1e06152f67f22 # Parent a8d5abe713e6195c86f2a5d49f3439391e54e4ea nginx-0.0.1-2002-12-16-00:08:04 import diff --git a/src/core/ngx_config.h b/src/core/ngx_config.h --- 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 diff --git a/src/core/ngx_connection.h b/src/core/ngx_connection.h --- a/src/core/ngx_connection.h +++ b/src/core/ngx_connection.h @@ -3,8 +3,9 @@ #include #include +#include #include -#include +#include #include #include diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c --- 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, diff --git a/src/core/ngx_sendfile.c b/src/core/ngx_sendfile.c new file mode 100644 --- /dev/null +++ b/src/core/ngx_sendfile.c @@ -0,0 +1,20 @@ + +#include +#include +#include +#include +#include + +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; +} diff --git a/src/core/ngx_sendfile.h b/src/core/ngx_sendfile.h 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 +#include +#include +#include +#include +#include + +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_ */ diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include diff --git a/src/http/modules/ngx_http_log_handler.c b/src/http/modules/ngx_http_log_handler.c --- 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; diff --git a/src/http/ngx_http_core.c b/src/http/ngx_http_core.c --- 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 diff --git a/src/os/unix/ngx_sendfile.h b/src/os/unix/ngx_sendfile.h 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 -#include -#include -#include -#include - -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_ */ diff --git a/src/os/unix/ngx_time.c b/src/os/unix/ngx_time.c --- 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) diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h --- 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()" diff --git a/src/os/win32/ngx_sendfile.h b/src/os/win32/ngx_sendfile.h 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 -#include -#include -#include -#include -#include - -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_ */