annotate auto/cc/name @ 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 05693816539c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 # Copyright (C) Igor Sysoev
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
5 if [ "$NGX_PLATFORM" != win32 ]; then
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
6
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
7 ngx_feature="C compiler"
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
8 ngx_feature_name=
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
9 ngx_feature_run=yes
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
10 ngx_feature_incs=
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
11 ngx_feature_path=
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
12 ngx_feature_libs=
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
13 ngx_feature_test=
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
14 . auto/feature
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
15
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
16 if [ $ngx_found = no ]; then
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
17 echo
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
18 echo $0: error: C compiler $CC is not found
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
19 echo
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
20 exit 1
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
21 fi
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
22
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
23 fi
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
24
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
26 if [ "$CC" = cl ]; then
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
27 if `$NGX_WINE $CC -v 2>&1 \
346
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
28 | grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14' \
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
29 >/dev/null 2>&1`; then
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
30
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
31 NGX_CC_NAME=msvc8
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
32 echo " + using Microsoft Visual C++ 8 compiler"
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
33
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
34 else if `$NGX_WINE $CC -v 2>&1 \
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
35 | grep '^Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13' \
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
36 >/dev/null 2>&1`; then
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
37
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
38 NGX_CC_NAME=msvc7
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
39 echo " + using Microsoft Visual C++ 7 compiler"
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
40
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
41 else
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
42 NGX_CC_NAME=msvc
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
43 echo " + using Microsoft Visual C++ compiler"
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
44 fi
346
05693816539c nginx 0.6.17
Igor Sysoev <http://sysoev.ru>
parents: 270
diff changeset
45 fi
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
46
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47 else
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
48 if [ "$CC" = wcl386 ]; then
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 NGX_CC_NAME=owc
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
50 echo " + using Open Watcom C compiler"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
51
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
52 else
126
df17fbafec8f nginx 0.3.10
Igor Sysoev <http://sysoev.ru>
parents: 112
diff changeset
53 if [ "$CC" = bcc32 ]; then
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
54 NGX_CC_NAME=bcc
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
55 echo " + using Borland C++ compiler"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
56
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
57 else
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
58 if `$CC -v 2>&1 | grep 'gcc version' >/dev/null 2>&1`; then
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
59 NGX_CC_NAME=gcc
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
60 echo " + using GNU C compiler"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
61
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
62 else
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
63 if `$CC -V 2>&1 | grep '^Intel(R) C' >/dev/null 2>&1`; then
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
64 NGX_CC_NAME=icc
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
65 echo " + using Intel C++ compiler"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
66
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
67 else
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
68 if `$CC -V 2>&1 | grep 'Sun C' >/dev/null 2>&1`; then
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents: 66
diff changeset
69 NGX_CC_NAME=sunc
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
70 echo " + using Sun C compiler"
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents: 66
diff changeset
71
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents: 66
diff changeset
72 else
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
73 if `$CC -V 2>&1 | grep '^Compaq C' >/dev/null 2>&1`; then
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
74 NGX_CC_NAME=ccc
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
75 echo " + using Compaq C compiler"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
76
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
77 else
236
c982febb7588 nginx 0.4.3
Igor Sysoev <http://sysoev.ru>
parents: 126
diff changeset
78 if `$CC -V 2>&1 | grep '^aCC: ' >/dev/null 2>&1`; then
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
79 NGX_CC_NAME=acc
270
6eb1e38f0f1f nginx 0.5.5
Igor Sysoev <http://sysoev.ru>
parents: 236
diff changeset
80 echo " + using HP aC++ compiler"
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
81
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
82 else
66
818201e5a553 nginx 0.1.33
Igor Sysoev <http://sysoev.ru>
parents: 42
diff changeset
83 NGX_CC_NAME=unknown
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
84
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
85 fi # acc
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
86 fi # ccc
110
dad2fe8ecf08 nginx 0.3.2
Igor Sysoev <http://sysoev.ru>
parents: 66
diff changeset
87 fi # sunc
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
88 fi # icc
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
89 fi # gcc
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
90 fi # bcc
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
91 fi # owc
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
92 fi # msvc