mirror of
https://github.com/nginx/nginx.git
synced 2025-02-25 18:55:26 -06:00
nginx-0.0.1-2002-12-16-00:08:04 import
This commit is contained in:
parent
6e4bca966e
commit
5eef618ed6
@ -80,6 +80,10 @@
|
||||
#define CRLF "\x0d\x0a"
|
||||
|
||||
|
||||
#ifndef INET_ADDRSTRLEN
|
||||
#define INET_ADDRSTRLEN 16
|
||||
#endif
|
||||
|
||||
|
||||
#if defined SO_ACCEPTFILTER || defined TCP_DEFER_ACCEPT
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
}
|
@ -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>
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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()"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user