diff options
author | Igor Sysoev <igor@sysoev.ru> | 2005-03-01 15:20:36 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2005-03-01 15:20:36 +0000 |
commit | 11d753231beaec58401160a5dd6eb51e92e90b86 (patch) | |
tree | d8c58d101c7a3b9a0c346c5a87c697941b08c4e1 /src/os | |
parent | 2cc93887121b3a755ad594efc27c590d54315374 (diff) | |
download | nginx-11d753231beaec58401160a5dd6eb51e92e90b86.tar.gz nginx-11d753231beaec58401160a5dd6eb51e92e90b86.zip |
nginx-0.1.23-RELEASE importrelease-0.1.23
*) Feature: the ngx_http_ssi_filter_module and the ssi,
ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo
var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are
supported.
*) Feature: the %request_time log parameter.
*) Feature: if the request has no the "Host" header line, then the
"proxy_preserve_host" directive set this header line to the first
server name of the "server_name" directive.
*) Bugfix: nginx could not be built on platforms different from i386,
amd64, sparc, and ppc; the bug had appeared in 0.1.22.
*) Bugfix: the ngx_http_autoindex_module now shows the information not
about the symlink, but about file or directory it points to.
*) Bugfix: the %apache_length parameter logged the negative length of
the response header if the no response was transferred to a client.
Diffstat (limited to 'src/os')
-rw-r--r-- | src/os/unix/ngx_atomic.h | 1 | ||||
-rw-r--r-- | src/os/unix/ngx_files.h | 13 | ||||
-rw-r--r-- | src/os/win32/ngx_atomic.h | 5 | ||||
-rw-r--r-- | src/os/win32/ngx_files.h | 43 |
4 files changed, 35 insertions, 27 deletions
diff --git a/src/os/unix/ngx_atomic.h b/src/os/unix/ngx_atomic.h index d882a0205..d90cf6691 100644 --- a/src/os/unix/ngx_atomic.h +++ b/src/os/unix/ngx_atomic.h @@ -388,6 +388,7 @@ ngx_atomic_cmp_set(ngx_atomic_t *lock, ngx_atomic_uint_t old, typedef int32_t ngx_atomic_int_t; typedef uint32_t ngx_atomic_uint_t; typedef volatile ngx_atomic_uint_t ngx_atomic_t; +#define NGX_ATOMIC_T_LEN sizeof("-2147483648") - 1 #define ngx_atomic_inc(x) ++(*(x)) #define ngx_atomic_dec(x) --(*(x)) diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h index be9cebe6f..57f53eb0e 100644 --- a/src/os/unix/ngx_files.h +++ b/src/os/unix/ngx_files.h @@ -18,7 +18,7 @@ #define ngx_open_file(name, access, create) \ - open((const char *) name, access|create, 0644) + open((const char *) name, access|create, 0644) #define ngx_open_file_n "open()" #define NGX_FILE_RDONLY O_RDONLY @@ -46,10 +46,10 @@ ssize_t ngx_read_file(ngx_file_t *file, u_char *buf, size_t size, off_t offset); ssize_t ngx_write_file(ngx_file_t *file, u_char *buf, size_t size, - off_t offset); + off_t offset); ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *ce, - off_t offset, ngx_pool_t *pool); + off_t offset, ngx_pool_t *pool); #define ngx_rename_file rename @@ -86,7 +86,7 @@ ngx_int_t ngx_open_dir(ngx_str_t *name, ngx_dir_t *dir); #define ngx_read_dir(d) \ - (((d)->de = readdir((d)->dir)) ? NGX_OK : NGX_ERROR) + (((d)->de = readdir((d)->dir)) ? NGX_OK : NGX_ERROR) #define ngx_read_dir_n "readdir()" @@ -104,10 +104,13 @@ ngx_int_t ngx_open_dir(ngx_str_t *name, ngx_dir_t *dir); #else #define ngx_de_namelen(dir) ngx_strlen((dir)->de->d_name) #endif -#define ngx_de_info(name, dir) lstat((const char *) name, &(dir)->info) +#define ngx_de_info(name, dir) stat((const char *) name, &(dir)->info) #define ngx_de_info_n "stat()" +#define ngx_de_link_info(name, dir) lstat((const char *) name, &(dir)->info) +#define ngx_de_link_info_n "lstat()" #define ngx_de_is_dir(dir) (S_ISDIR((dir)->info.st_mode)) #define ngx_de_is_file(dir) (S_ISREG((dir)->info.st_mode)) +#define ngx_de_is_link(dir) (S_ISLNK((dir)->info.st_mode)) #define ngx_de_size(dir) (dir)->info.st_size #define ngx_de_mtime(dir) (dir)->info.st_mtime diff --git a/src/os/win32/ngx_atomic.h b/src/os/win32/ngx_atomic.h index 7022bfae8..01ef98e97 100644 --- a/src/os/win32/ngx_atomic.h +++ b/src/os/win32/ngx_atomic.h @@ -14,8 +14,9 @@ #define NGX_HAVE_ATOMIC_OPS 1 -typedef uint32_t ngx_atomic_int_t; -typedef volatile ngx_atomic_int_t ngx_atomic_t; +typedef int32_t ngx_atomic_int_t; +typedef uint32_t ngx_atomic_uint_t; +typedef volatile ngx_atomic_uint_t ngx_atomic_t; #define NGX_ATOMIC_T_LEN sizeof("-2147483648") - 1 diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h index af0892ae0..48b54b38a 100644 --- a/src/os/win32/ngx_files.h +++ b/src/os/win32/ngx_files.h @@ -29,11 +29,11 @@ #define ngx_open_file(name, access, create) \ - CreateFile((const char *) name, access, \ - FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ - NULL, create, FILE_FLAG_BACKUP_SEMANTICS, NULL) + CreateFile((const char *) name, access, \ + FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ + NULL, create, FILE_FLAG_BACKUP_SEMANTICS, NULL) /* - NULL, OPEN_EXISTING, 0, NULL) + NULL, OPEN_EXISTING, 0, NULL) */ #define ngx_open_file_n "CreateFile()" @@ -49,14 +49,14 @@ ngx_int_t ngx_file_append_mode(ngx_fd_t fd); #define ngx_open_tempfile(name, persistent) \ - CreateFile((const char *) name, \ - GENERIC_READ|GENERIC_WRITE, \ - FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ - NULL, \ - CREATE_NEW, \ - persistent ? 0: \ - FILE_ATTRIBUTE_TEMPORARY|FILE_FLAG_DELETE_ON_CLOSE, \ - NULL); + CreateFile((const char *) name, \ + GENERIC_READ|GENERIC_WRITE, \ + FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ + NULL, \ + CREATE_NEW, \ + persistent ? 0: \ + FILE_ATTRIBUTE_TEMPORARY|FILE_FLAG_DELETE_ON_CLOSE, \ + NULL); #define ngx_open_tempfile_n "CreateFile()" @@ -72,7 +72,7 @@ ngx_int_t ngx_file_append_mode(ngx_fd_t fd); #define ngx_rename_file MoveFile #define ngx_rename_file_n "MoveFile()" ngx_int_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, - ngx_pool_t *pool); + ngx_pool_t *pool); ngx_int_t ngx_file_info(u_char *filename, ngx_file_info_t *fi); @@ -88,7 +88,7 @@ ngx_int_t ngx_file_info(u_char *filename, ngx_file_info_t *fi); #define ngx_file_size(fi) \ - (((off_t) (fi)->nFileSizeHigh << 32) | (fi)->nFileSizeLow) + (((off_t) (fi)->nFileSizeHigh << 32) | (fi)->nFileSizeLow) #define ngx_file_uniq(fi) (*(ngx_file_uniq_t *) &(fi)->nFileIndexHigh) @@ -134,17 +134,20 @@ ngx_int_t ngx_read_dir(ngx_dir_t *dir); #define ngx_de_namelen(dir) ngx_strlen((dir)->fd.cFileName) #define ngx_de_info(name, dir) NGX_OK #define ngx_de_info_n "dummy()" +#define ngx_de_link_info(name, dir) NGX_OK +#define ngx_de_link_info_n "dummy()" #define ngx_de_is_dir(dir) \ - ((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + ((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) #define ngx_de_is_file(dir) \ - !((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) + !((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) +#define ngx_de_is_link(dir) 0 #define ngx_de_size(dir) \ - (((off_t) (dir)->fd.nFileSizeHigh << 32) | (dir)->fd.nFileSizeLow) + (((off_t) (dir)->fd.nFileSizeHigh << 32) | (dir)->fd.nFileSizeLow) /* 116444736000000000 is commented in src/os/win32/ngx_time.c */ #define ngx_de_mtime(dir) \ - (time_t) (((((unsigned __int64) \ + (time_t) (((((unsigned __int64) \ (dir)->fd.ftLastWriteTime.dwHighDateTime << 32) \ | (dir)->fd.ftLastWriteTime.dwLowDateTime) \ - 116444736000000000) / 10000000) @@ -155,10 +158,10 @@ ssize_t ngx_read_file(ngx_file_t *file, u_char *buf, size_t size, off_t offset); #define ngx_read_file_n "ReadFile()" ssize_t ngx_write_file(ngx_file_t *file, u_char *buf, size_t size, - off_t offset); + off_t offset); ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *ce, - off_t offset, ngx_pool_t *pool); + off_t offset, ngx_pool_t *pool); #endif /* _NGX_FILES_H_INCLUDED_ */ |