annotate auto/unix @ 571:5938746e70c2 PATCH_NGINX_MAIL_0_8

Mail: get rid of ugly protocol check in ngx_mail_auth_parse(). Instead, use index of argument which holds authentication mechanism name. For IMAP and POP3 it's 0, for SMTP - 1 as SMTP preserves command in first argument to allow pipelining support. While here, add check that we actually have argument holding authentication mechanism name. Currently IMAP has no appropriate checks before calling ngx_mail_auth_parse() which results in possible access of uninitialized memory.
author Maxim Dounin <mdounin@mdounin.ru>
date Sun, 27 Sep 2009 00:52:15 +0400
parents 207ae3ff0444
children be4f34123024
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4
28
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
5 have=NGX_HAVE_UNIX_DOMAIN . auto/have
7ca9bdc82b3f nginx 0.1.14
Igor Sysoev <http://sysoev.ru>
parents: 26
diff changeset
6
132
91372f004adf nginx 0.3.13
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
7 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8
42
41ccba1aba45 nginx 0.1.21
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
9
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10 # C types
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
11
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12 ngx_type="int"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14 ngx_type="long"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
15
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
16 ngx_type="long long"; . auto/types/sizeof
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
17
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18 ngx_type="void *"; . auto/types/sizeof; ngx_ptr_size=$ngx_size
42
41ccba1aba45 nginx 0.1.21
Igor Sysoev <http://sysoev.ru>
parents: 34
diff changeset
19 ngx_param=NGX_PTR_SIZE; ngx_value=$ngx_size; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 # POSIX types
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23
214
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
24 case "$NGX_AUTO_CONFIG_H" in
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
25 /*)
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
26 NGX_INCLUDE_AUTO_CONFIG_H="#include \"$NGX_AUTO_CONFIG_H\""
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
27 ;;
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
28 *)
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
29 NGX_INCLUDE_AUTO_CONFIG_H="#include \"../$NGX_AUTO_CONFIG_H\""
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
30 ;;
0ad9eeb6ac7f nginx 0.3.54
Igor Sysoev <http://sysoev.ru>
parents: 132
diff changeset
31 esac
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
32
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
33 ngx_type="uint64_t"; ngx_types="u_int64_t"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35 ngx_type="sig_atomic_t"; ngx_types="int"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
36 . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
37 ngx_param=NGX_SIG_ATOMIC_T_SIZE; ngx_value=$ngx_size; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
38
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents: 58
diff changeset
39 ngx_type="socklen_t"; ngx_types="int"; . auto/types/typedef
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
40
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41 ngx_type="in_addr_t"; ngx_types="uint32_t"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
43 ngx_type="in_port_t"; ngx_types="u_short"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
44
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
45 ngx_type="rlim_t"; ngx_types="int"; . auto/types/typedef
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
46
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47 . auto/types/uintptr_t
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 . auto/endianess
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
51 ngx_type="size_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
52 ngx_param=NGX_MAX_SIZE_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
53 ngx_param=NGX_SIZE_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
54
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
55 ngx_type="off_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
56 ngx_param=NGX_MAX_OFF_T_VALUE; ngx_value=$ngx_max_value; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
57 ngx_param=NGX_OFF_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
22
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
58
8b6db3bda591 nginx 0.1.11
Igor Sysoev <http://sysoev.ru>
parents: 18
diff changeset
59 ngx_type="time_t"; . auto/types/sizeof
26
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
60 ngx_param=NGX_TIME_T_SIZE; ngx_value=$ngx_size; . auto/types/value
45fe5b98a9de nginx 0.1.13
Igor Sysoev <http://sysoev.ru>
parents: 22
diff changeset
61 ngx_param=NGX_TIME_T_LEN; ngx_value=$ngx_max_len; . auto/types/value
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
62
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
64 # syscalls, libc calls and some features
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
65
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
66
487
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
67 if [ $NGX_IPV6 = YES ]; then
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
68 ngx_feature="AF_INET6"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
69 ngx_feature_name="NGX_HAVE_INET6"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
70 ngx_feature_run=no
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
71 ngx_feature_incs="#include <sys/socket.h>
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
72 #include <netinet/in.h>
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
73 #include <arpa/inet.h>"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
74 ngx_feature_path=
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
75 ngx_feature_libs=
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
76 ngx_feature_test="struct sockaddr_in6 sin6;
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
77 sin6.sin6_family = AF_INET6;"
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
78 . auto/feature
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
79 fi
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
80
76a79816b771 nginx 0.7.36
Igor Sysoev <http://sysoev.ru>
parents: 429
diff changeset
81
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
82 ngx_feature="setproctitle()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
83 ngx_feature_name="NGX_HAVE_SETPROCTITLE"
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
84 ngx_feature_run=no
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
85 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
86 ngx_feature_path=
58
b55cbf18157e nginx 0.1.29
Igor Sysoev <http://sysoev.ru>
parents: 42
diff changeset
87 ngx_feature_libs=$NGX_SETPROCTITLE_LIB
16
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
88 ngx_feature_test="setproctitle(\"test\");"
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
89 . auto/feature
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
90
74b1868dd3cd nginx 0.1.8
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
91
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
92 ngx_feature="pread()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
93 ngx_feature_name="NGX_HAVE_PREAD"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
94 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
95 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
96 ngx_feature_path=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
97 ngx_feature_libs=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
98 ngx_feature_test="char buf[1]; ssize_t n; n = pread(0, buf, 1, 0)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
99 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
100
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
101
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
102 ngx_feature="pwrite()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
103 ngx_feature_name="NGX_HAVE_PWRITE"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
104 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
105 ngx_feature_incs=
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
106 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
107 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
108 ngx_feature_test="char buf[1]; ssize_t n; n = pwrite(1, buf, 1, 0)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
109 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
110
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
111
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
112 ngx_feature="strerror_r()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
113 ngx_feature_name="NGX_HAVE_STRERROR_R"
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
114 ngx_feature_run=yes
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
115 ngx_feature_incs="#include <string.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
116 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
117 ngx_feature_libs=
34
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
118 ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024);
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
119 if (n < 0 || n > 1024) return 1;"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
120 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
121
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
122
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
123 # GNU style strerror_r() returns not length, but pointer
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
124
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
125 ngx_feature="gnu style strerror_r()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
126 ngx_feature_name="NGX_HAVE_GNU_STRERROR_R"
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
127 ngx_feature_run=yes
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
128 ngx_feature_incs="#include <string.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
129 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
130 ngx_feature_libs=
34
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
131 ngx_feature_test="char buf[1024]; long n; n = strerror_r(1, buf, 1024);
aab2ea7c0458 nginx 0.1.17
Igor Sysoev <http://sysoev.ru>
parents: 28
diff changeset
132 if (n >= 0 && n < 1024) return 1;"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
133 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
134
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
135
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
136 ngx_feature="localtime_r()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
137 ngx_feature_name="NGX_HAVE_LOCALTIME_R"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
138 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
139 ngx_feature_incs="#include <time.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
140 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
141 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
142 ngx_feature_test="struct tm t; time_t c=0; localtime_r(&c, &t)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
143 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
144
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
145
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
146 ngx_feature="posix_memalign()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
147 ngx_feature_name="NGX_HAVE_POSIX_MEMALIGN"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
148 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
149 ngx_feature_incs="#include <stdlib.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
150 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
151 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
152 ngx_feature_test="void *p; int n; n = posix_memalign(&p, 4096, 4096)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
153 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
154
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
155
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
156 ngx_feature="memalign()"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
157 ngx_feature_name="NGX_HAVE_MEMALIGN"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
158 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
159 ngx_feature_incs="#include <stdlib.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
160 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
161 ngx_feature_libs=
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
162 ngx_feature_test="void *p; p = memalign(4096, 4096)"
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
163 . auto/feature
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
164
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
165
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
166 ngx_feature="mmap(MAP_ANON|MAP_SHARED)"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
167 ngx_feature_name="NGX_HAVE_MAP_ANON"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
168 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
169 ngx_feature_incs="#include <sys/mman.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
170 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
171 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
172 ngx_feature_test="void *p;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
173 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE,
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
174 MAP_ANON|MAP_SHARED, -1, 0);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
175 if (p == MAP_FAILED) return 1;"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
176 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
177
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
178
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
179 ngx_feature='mmap("/dev/zero", MAP_SHARED)'
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
180 ngx_feature_name="NGX_HAVE_MAP_DEVZERO"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
181 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
182 ngx_feature_incs="#include <sys/mman.h>
505
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 487
diff changeset
183 #include <sys/stat.h>
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 487
diff changeset
184 #include <fcntl.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
185 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
186 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
187 ngx_feature_test='void *p; int fd;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
188 fd = open("/dev/zero", O_RDWR);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
189 p = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
190 if (p == MAP_FAILED) return 1;'
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
191 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
192
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
193
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
194 ngx_feature="System V shared memory"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
195 ngx_feature_name="NGX_HAVE_SYSVSHM"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
196 ngx_feature_run=yes
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
197 ngx_feature_incs="#include <sys/ipc.h>
505
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 487
diff changeset
198 #include <sys/shm.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
199 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
200 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
201 ngx_feature_test="int id;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
202 id = shmget(IPC_PRIVATE, 4096, (SHM_R|SHM_W|IPC_CREAT));
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
203 if (id == -1) return 1;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
204 shmctl(id, IPC_RMID, NULL);"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
205 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
206
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
207
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
208 ngx_feature="struct msghdr.msg_control"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
209 ngx_feature_name="NGX_HAVE_MSGHDR_MSG_CONTROL"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
210 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
211 ngx_feature_incs="#include <sys/socket.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
212 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
213 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
214 ngx_feature_test="struct msghdr msg; msg.msg_control = NULL"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
215 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
216
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
217
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
218 ngx_feature="ioctl(FIONBIO)"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
219 ngx_feature_name="NGX_HAVE_FIONBIO"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
220 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
221 ngx_feature_incs="#include <sys/ioctl.h>
505
9eda3153223b nginx 0.7.45
Igor Sysoev <http://sysoev.ru>
parents: 487
diff changeset
222 $NGX_INCLUDE_SYS_FILIO_H"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
223 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
224 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
225 ngx_feature_test="int i; i = FIONBIO"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
226 . auto/feature
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
227
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
228
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
229 ngx_feature="struct tm.tm_gmtoff"
18
6f8b0dc0f8dd nginx 0.1.9
Igor Sysoev <http://sysoev.ru>
parents: 16
diff changeset
230 ngx_feature_name="NGX_HAVE_GMTOFF"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
231 ngx_feature_run=no
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
232 ngx_feature_incs="#include <time.h>"
258
6ae1357b7b7c nginx 0.4.14
Igor Sysoev <http://sysoev.ru>
parents: 214
diff changeset
233 ngx_feature_path=
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
234 ngx_feature_libs=
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
235 ngx_feature_test="struct tm tm; tm.tm_gmtoff = 0"
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
236 . auto/feature
429
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
237
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
238
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
239 ngx_feature="struct dirent.d_namlen"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
240 ngx_feature_name="NGX_HAVE_D_NAMLEN"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
241 ngx_feature_run=no
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
242 ngx_feature_incs="#include <dirent.h>"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
243 ngx_feature_path=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
244 ngx_feature_libs=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
245 ngx_feature_test="struct dirent dir; dir.d_namlen = 0"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
246 . auto/feature
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
247
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
248
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
249 ngx_feature="struct dirent.d_type"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
250 ngx_feature_name="NGX_HAVE_D_TYPE"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
251 ngx_feature_run=no
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
252 ngx_feature_incs="#include <dirent.h>"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
253 ngx_feature_path=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
254 ngx_feature_libs=
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
255 ngx_feature_test="struct dirent dir; dir.d_type = DT_REG"
79c5df00501e nginx 0.7.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
256 . auto/feature