summaryrefslogtreecommitdiffhomepage
path: root/src/os
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2010-06-07 12:17:10 +0000
committerIgor Sysoev <igor@sysoev.ru>2010-06-07 12:17:10 +0000
commit99b468d6bde64f7691fc47c5bb343827f2d0ce3e (patch)
treef6080da2bb7ab6add708fe7efbcc5b3427d5af66 /src/os
parent9d4085af44e8eb9c18dbaa017b6deb2bb11644a2 (diff)
downloadnginx-99b468d6bde64f7691fc47c5bb343827f2d0ce3e.tar.gz
nginx-99b468d6bde64f7691fc47c5bb343827f2d0ce3e.tar.bz2
merge r3502:
use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
Diffstat (limited to 'src/os')
-rw-r--r--src/os/unix/ngx_files.h3
-rw-r--r--src/os/win32/ngx_files.h4
2 files changed, 7 insertions, 0 deletions
diff --git a/src/os/unix/ngx_files.h b/src/os/unix/ngx_files.h
index 361c1bbd3..7e9b143ef 100644
--- a/src/os/unix/ngx_files.h
+++ b/src/os/unix/ngx_files.h
@@ -139,6 +139,9 @@ ngx_int_t ngx_set_file_time(u_char *name, ngx_fd_t fd, time_t s);
#define ngx_fd_info(fd, sb) fstat(fd, sb)
#define ngx_fd_info_n "fstat()"
+#define ngx_link_info(file, sb) lstat((const char *) file, sb)
+#define ngx_link_info_n "lstat()"
+
#define ngx_is_dir(sb) (S_ISDIR((sb)->st_mode))
#define ngx_is_file(sb) (S_ISREG((sb)->st_mode))
#define ngx_is_link(sb) (S_ISLNK((sb)->st_mode))
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index 7d01736c2..586070a90 100644
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -128,6 +128,10 @@ ngx_int_t ngx_file_info(u_char *filename, ngx_file_info_t *fi);
#define ngx_fd_info_n "GetFileInformationByHandle()"
+#define ngx_link_info(name, fi) ngx_file_info(name, fi)
+#define ngx_link_info_n "GetFileAttributesEx()"
+
+
#define ngx_is_dir(fi) \
(((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
#define ngx_is_file(fi) \