Mercurial > hg > nginx
annotate auto/os/linux @ 5356:acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
It was introduced in Linux 2.6.39, glibc 2.14 and allows to obtain
file descriptors without actually opening files. Thus made it possible
to traverse path with openat() syscalls without the need to have read
permissions for path components. It is effectively emulates O_SEARCH
which is missing on Linux.
O_PATH is used in combination with O_RDONLY. The last one is ignored
if O_PATH is used, but it allows nginx to not fail when it was built on
modern system (i.e. glibc 2.14+) and run with a kernel older than 2.6.39.
Then O_PATH is unknown to the kernel and ignored, while O_RDONLY is used.
Sadly, fstat() is not working with O_PATH descriptors till Linux 3.6.
As a workaround we fallback to fstatat() with the AT_EMPTY_PATH flag
that was introduced at the same time as O_PATH.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Mon, 02 Sep 2013 08:07:59 +0400 |
parents | f31162fefe01 |
children | 36b58ddb566d |
rev | line source |
---|---|
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
1 |
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
2 # Copyright (C) Igor Sysoev |
4412 | 3 # Copyright (C) Nginx, Inc. |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
355
diff
changeset
|
4 |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
5 |
509 | 6 have=NGX_LINUX . auto/have_headers |
455 | 7 |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 CORE_INCS="$UNIX_INCS" |
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 CORE_DEPS="$UNIX_DEPS $LINUX_DEPS" |
249
2a0540287298
nginx-0.0.2-2004-02-03-19:43:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
248
diff
changeset
|
10 CORE_SRCS="$UNIX_SRCS $LINUX_SRCS" |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 |
455 | 12 ngx_spacer=' |
13 ' | |
283
8f65fee68270
nginx-0.0.2-2004-03-10-20:55:19 import
Igor Sysoev <igor@sysoev.ru>
parents:
259
diff
changeset
|
14 |
2599
57b65bcc8da6
fix Linux sendfile32() test broken in 0.3.36
Igor Sysoev <igor@sysoev.ru>
parents:
2598
diff
changeset
|
15 cc_aux_flags="$CC_AUX_FLAGS" |
57b65bcc8da6
fix Linux sendfile32() test broken in 0.3.36
Igor Sysoev <igor@sysoev.ru>
parents:
2598
diff
changeset
|
16 CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
17 |
461 | 18 |
351
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
19 # Linux kernel version |
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
20 |
1927
220c2515a9c9
use uname instead of often outdated header file
Igor Sysoev <igor@sysoev.ru>
parents:
1926
diff
changeset
|
21 version=$((`uname -r \ |
4002
4068898a6a7c
Configure: catch up with new Linux version numbering (ticket #5).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3286
diff
changeset
|
22 | sed -n -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/ \ |
4068898a6a7c
Configure: catch up with new Linux version numbering (ticket #5).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3286
diff
changeset
|
23 \1*256*256+\2*256+\3/p' \ |
4068898a6a7c
Configure: catch up with new Linux version numbering (ticket #5).
Maxim Dounin <mdounin@mdounin.ru>
parents:
3286
diff
changeset
|
24 -e 's/^\([0-9][0-9]*\)\.\([0-9][0-9]*\).*/\1*256*256+\2*256/p'`)) |
351
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
25 |
477 | 26 version=${version:-0} |
27 | |
351
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
28 |
1921
cf148caa9347
disable rtsig automatic building in post 2.6.18 Linux kernels
Igor Sysoev <igor@sysoev.ru>
parents:
1920
diff
changeset
|
29 # enable the rt signals on Linux between 2.2.19 and 2.6.17 |
351
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
30 |
1926
95f0145bbef4
use correct version: real hex numbers
Igor Sysoev <igor@sysoev.ru>
parents:
1921
diff
changeset
|
31 if [ \( $version -ge 131603 -a $version -lt 132626 \) -o $EVENT_RTSIG = YES ] |
1921
cf148caa9347
disable rtsig automatic building in post 2.6.18 Linux kernels
Igor Sysoev <igor@sysoev.ru>
parents:
1920
diff
changeset
|
32 then |
563 | 33 echo " + rt signals found" |
469 | 34 have=NGX_HAVE_RTSIG . auto/have |
351
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
35 EVENT_MODULES="$EVENT_MODULES $RTSIG_MODULE" |
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
36 CORE_SRCS="$CORE_SRCS $RTSIG_SRCS" |
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
37 EVENT_FOUND=YES |
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
38 fi |
af4c6b45a687
nginx-0.0.4-2004-06-10-22:36:57 import
Igor Sysoev <igor@sysoev.ru>
parents:
298
diff
changeset
|
39 |
248
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
40 |
3286
7c80f584c3a9
posix_fadvise64() had been implemented in Linux 2.5.60
Igor Sysoev <igor@sysoev.ru>
parents:
3039
diff
changeset
|
41 # posix_fadvise64() had been implemented in 2.5.60 |
7c80f584c3a9
posix_fadvise64() had been implemented in Linux 2.5.60
Igor Sysoev <igor@sysoev.ru>
parents:
3039
diff
changeset
|
42 |
7c80f584c3a9
posix_fadvise64() had been implemented in Linux 2.5.60
Igor Sysoev <igor@sysoev.ru>
parents:
3039
diff
changeset
|
43 if [ $version -lt 132412 ]; then |
7c80f584c3a9
posix_fadvise64() had been implemented in Linux 2.5.60
Igor Sysoev <igor@sysoev.ru>
parents:
3039
diff
changeset
|
44 have=NGX_HAVE_POSIX_FADVISE . auto/nohave |
7c80f584c3a9
posix_fadvise64() had been implemented in Linux 2.5.60
Igor Sysoev <igor@sysoev.ru>
parents:
3039
diff
changeset
|
45 fi |
7c80f584c3a9
posix_fadvise64() had been implemented in Linux 2.5.60
Igor Sysoev <igor@sysoev.ru>
parents:
3039
diff
changeset
|
46 |
248
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
47 # epoll, EPOLLET version |
245
e6c005b66b3a
nginx-0.0.1-2004-01-30-00:45:01 import
Igor Sysoev <igor@sysoev.ru>
parents:
198
diff
changeset
|
48 |
455 | 49 ngx_feature="epoll" |
469 | 50 ngx_feature_name="NGX_HAVE_EPOLL" |
591 | 51 ngx_feature_run=yes |
455 | 52 ngx_feature_incs="#include <sys/epoll.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
629
diff
changeset
|
53 ngx_feature_path= |
455 | 54 ngx_feature_libs= |
4543
51744fa997c7
Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
55 ngx_feature_test="int efd = 0; |
455 | 56 struct epoll_event ee; |
57 ee.events = EPOLLIN|EPOLLOUT|EPOLLET; | |
58 ee.data.ptr = NULL; | |
59 efd = epoll_create(100); | |
60 if (efd == -1) return 1;" | |
61 . auto/feature | |
248
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
62 |
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
63 if [ $ngx_found = yes ]; then |
469 | 64 have=NGX_HAVE_CLEAR_EVENT . auto/have |
248
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
65 CORE_SRCS="$CORE_SRCS $EPOLL_SRCS" |
245
e6c005b66b3a
nginx-0.0.1-2004-01-30-00:45:01 import
Igor Sysoev <igor@sysoev.ru>
parents:
198
diff
changeset
|
66 EVENT_MODULES="$EVENT_MODULES $EPOLL_MODULE" |
248
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
67 EVENT_FOUND=YES |
245
e6c005b66b3a
nginx-0.0.1-2004-01-30-00:45:01 import
Igor Sysoev <igor@sysoev.ru>
parents:
198
diff
changeset
|
68 fi |
e6c005b66b3a
nginx-0.0.1-2004-01-30-00:45:01 import
Igor Sysoev <igor@sysoev.ru>
parents:
198
diff
changeset
|
69 |
e6c005b66b3a
nginx-0.0.1-2004-01-30-00:45:01 import
Igor Sysoev <igor@sysoev.ru>
parents:
198
diff
changeset
|
70 |
5356
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
71 # O_PATH and AT_EMPTY_PATH were introduced in 2.6.39, glibc 2.14 |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
72 |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
73 ngx_feature="O_PATH" |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
74 ngx_feature_name="NGX_HAVE_O_PATH" |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
75 ngx_feature_run=no |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
76 ngx_feature_incs="#include <sys/types.h> |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
77 #include <sys/stat.h> |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
78 #include <fcntl.h>" |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
79 ngx_feature_path= |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
80 ngx_feature_libs= |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
81 ngx_feature_test="int fd; struct stat sb; |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
82 fd = openat(AT_FDCWD, \".\", O_PATH|O_DIRECTORY|O_NOFOLLOW); |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
83 if (fstatat(fd, \"\", &sb, AT_EMPTY_PATH) != 0) return 1" |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
84 . auto/feature |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
85 |
acd51b0f6fd4
Disable symlinks: use O_PATH to open path components.
Valentin Bartenev <vbart@nginx.com>
parents:
4549
diff
changeset
|
86 |
248
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
87 # sendfile() |
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
88 |
2599
57b65bcc8da6
fix Linux sendfile32() test broken in 0.3.36
Igor Sysoev <igor@sysoev.ru>
parents:
2598
diff
changeset
|
89 CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE" |
455 | 90 ngx_feature="sendfile()" |
469 | 91 ngx_feature_name="NGX_HAVE_SENDFILE" |
591 | 92 ngx_feature_run=yes |
93 ngx_feature_incs="#include <sys/sendfile.h> | |
2598 | 94 #include <errno.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
629
diff
changeset
|
95 ngx_feature_path= |
455 | 96 ngx_feature_libs= |
97 ngx_feature_test="int s = 0, fd = 1; | |
98 ssize_t n; off_t off = 0; | |
591 | 99 n = sendfile(s, fd, &off, 1); |
100 if (n == -1 && errno == ENOSYS) return 1" | |
455 | 101 . auto/feature |
248
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
102 |
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
103 if [ $ngx_found = yes ]; then |
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
104 CORE_SRCS="$CORE_SRCS $LINUX_SENDFILE_SRCS" |
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
105 fi |
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
106 |
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
107 |
e885208c518b
nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
245
diff
changeset
|
108 # sendfile64() |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
109 |
2599
57b65bcc8da6
fix Linux sendfile32() test broken in 0.3.36
Igor Sysoev <igor@sysoev.ru>
parents:
2598
diff
changeset
|
110 CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" |
455 | 111 ngx_feature="sendfile64()" |
469 | 112 ngx_feature_name="NGX_HAVE_SENDFILE64" |
591 | 113 ngx_feature_run=yes |
114 ngx_feature_incs="#include <sys/sendfile.h> | |
2598 | 115 #include <errno.h>" |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
629
diff
changeset
|
116 ngx_feature_path= |
455 | 117 ngx_feature_libs= |
118 ngx_feature_test="int s = 0, fd = 1; | |
119 ssize_t n; off_t off = 0; | |
591 | 120 n = sendfile(s, fd, &off, 1); |
121 if (n == -1 && errno == ENOSYS) return 1" | |
455 | 122 . auto/feature |
196
11fbd0fc041d
nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
123 |
253
b6793bc5034b
nginx-0.0.2-2004-02-09-10:46:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
249
diff
changeset
|
124 |
455 | 125 ngx_include="sys/prctl.h"; . auto/include |
126 | |
253
b6793bc5034b
nginx-0.0.2-2004-02-09-10:46:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
249
diff
changeset
|
127 # prctl(PR_SET_DUMPABLE) |
b6793bc5034b
nginx-0.0.2-2004-02-09-10:46:43 import
Igor Sysoev <igor@sysoev.ru>
parents:
249
diff
changeset
|
128 |
455 | 129 ngx_feature="prctl(PR_SET_DUMPABLE)" |
469 | 130 ngx_feature_name="NGX_HAVE_PR_SET_DUMPABLE" |
455 | 131 ngx_feature_run=yes |
132 ngx_feature_incs="#include <sys/prctl.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
629
diff
changeset
|
133 ngx_feature_path= |
455 | 134 ngx_feature_libs= |
135 ngx_feature_test="if (prctl(PR_SET_DUMPABLE, 1, 0, 0, 0) == -1) return 1" | |
136 . auto/feature | |
577 | 137 |
138 | |
139 # sched_setaffinity() | |
140 | |
141 ngx_feature="sched_setaffinity()" | |
142 ngx_feature_name="NGX_HAVE_SCHED_SETAFFINITY" | |
143 ngx_feature_run=no | |
144 ngx_feature_incs="#include <sched.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
629
diff
changeset
|
145 ngx_feature_path= |
577 | 146 ngx_feature_libs= |
4549
f31162fefe01
worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
147 ngx_feature_test="cpu_set_t mask; |
f31162fefe01
worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
148 CPU_ZERO(&mask); |
f31162fefe01
worker_cpu_affinity: cleaned up Linux implementation, added FreeBSD support.
Ruslan Ermilov <ru@nginx.com>
parents:
4543
diff
changeset
|
149 sched_setaffinity(0, sizeof(cpu_set_t), &mask)" |
577 | 150 . auto/feature |
2599
57b65bcc8da6
fix Linux sendfile32() test broken in 0.3.36
Igor Sysoev <igor@sysoev.ru>
parents:
2598
diff
changeset
|
151 |
57b65bcc8da6
fix Linux sendfile32() test broken in 0.3.36
Igor Sysoev <igor@sysoev.ru>
parents:
2598
diff
changeset
|
152 |
2660
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
153 # crypt_r() |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
154 |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
155 ngx_feature="crypt_r()" |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
156 ngx_feature_name="NGX_HAVE_GNU_CRYPT_R" |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
157 ngx_feature_run=no |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
158 ngx_feature_incs="#include <crypt.h>" |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
159 ngx_feature_path= |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
160 ngx_feature_libs=-lcrypt |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
161 ngx_feature_test="struct crypt_data cd; |
4543
51744fa997c7
Fixed compilation warnings in configuration C tests.
Ruslan Ermilov <ru@nginx.com>
parents:
4412
diff
changeset
|
162 crypt_r(\"key\", \"salt\", &cd);" |
2660
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
163 . auto/feature |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
164 |
2ca36a62c8a1
autoconfigure crypt_r(): uclibc has no crypt_r()
Igor Sysoev <igor@sysoev.ru>
parents:
2615
diff
changeset
|
165 |
2615 | 166 ngx_include="sys/vfs.h"; . auto/include |
167 | |
168 | |
2747
ee5de4f120f4
fix GNU strerror_r() detection, the bug has been inroduced in r2600
Igor Sysoev <igor@sysoev.ru>
parents:
2660
diff
changeset
|
169 CC_AUX_FLAGS="$cc_aux_flags -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64" |