Mercurial > hg > nginx-quic
annotate auto/lib/pcre/conf @ 4617:972642646f06
Rewrite: fixed escaping and possible segfault (ticket #162).
The following code resulted in incorrect escaping of uri and possible
segfault:
location / {
rewrite ^(.*) $1?c=$1;
return 200 "$uri";
}
If there were arguments in a rewrite's replacement string, and length was
actually calculated (due to duplicate captures as in the example above,
or variables present), the is_args flag was set and incorrectly copied
after length calculation. This resulted in escaping applied to the uri part
of the replacement, resulting in incorrect escaping. Additionally, buffer
was allocated without escaping expected, thus this also resulted in buffer
overrun and possible segfault.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 11 May 2012 13:19:22 +0000 |
parents | 62d8db8c7157 |
children | b39d947fcb82 |
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:
320
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:
320
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:
320
diff
changeset
|
4 |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
5 |
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
6 if [ $PCRE != NONE ]; then |
297
ee394e997c77
nginx-0.0.3-2004-03-29-21:43:58 import
Igor Sysoev <igor@sysoev.ru>
parents:
295
diff
changeset
|
7 CORE_INCS="$CORE_INCS $PCRE" |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 |
455 | 9 case "$NGX_CC_NAME" in |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
10 |
461 | 11 msvc* | owc* | bcc) |
455 | 12 have=NGX_PCRE . auto/have |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
13 have=PCRE_STATIC . auto/have |
288
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
14 CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
15 LINK_DEPS="$LINK_DEPS $PCRE/pcre.lib" |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
16 CORE_LIBS="$CORE_LIBS $PCRE/pcre.lib" |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
17 ;; |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
18 |
1307
811fb97b9bf7
fix building PCRE by SunStudio
Igor Sysoev <igor@sysoev.ru>
parents:
1306
diff
changeset
|
19 icc* ) |
455 | 20 have=NGX_PCRE . auto/have |
288
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
21 CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
22 |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
23 LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a" |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
24 |
523 | 25 echo $ngx_n "checking for PCRE library ...$ngx_c" |
26 | |
1306 | 27 if [ -f $PCRE/pcre.h ]; then |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
28 ngx_pcre_ver=`grep PCRE_MAJOR $PCRE/pcre.h \ |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
29 | sed -e 's/^.*PCRE_MAJOR.* \(.*\)$/\1/'` |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
30 |
1321 | 31 else if [ -f $PCRE/configure.in ]; then |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
32 ngx_pcre_ver=`grep PCRE_MAJOR= $PCRE/configure.in \ |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
33 | sed -e 's/^.*=\(.*\)$/\1/'` |
1305
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
34 |
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
35 else |
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
36 ngx_pcre_ver=`grep pcre_major, $PCRE/configure.ac \ |
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
37 | sed -e 's/^.*pcre_major,.*\[\(.*\)\].*$/\1/'` |
1476d32c66a7
icc/sunc and PCRE-7.1+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
1085
diff
changeset
|
38 fi |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
39 fi |
523 | 40 |
41 echo " $ngx_pcre_ver major version found" | |
42 | |
288
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
43 # to allow -ipo optimization we link with the *.o but not library |
523 | 44 |
45 case "$ngx_pcre_ver" in | |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
46 4|5) |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
47 CORE_LIBS="$CORE_LIBS $PCRE/pcre.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
48 ;; |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
49 |
523 | 50 6) |
51 CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o" | |
52 CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o" | |
53 CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o" | |
54 CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o" | |
55 CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o" | |
56 CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o" | |
57 CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o" | |
58 ;; | |
59 | |
60 *) | |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
61 CORE_LIBS="$CORE_LIBS $PCRE/pcre_chartables.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
62 CORE_LIBS="$CORE_LIBS $PCRE/pcre_compile.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
63 CORE_LIBS="$CORE_LIBS $PCRE/pcre_exec.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
64 CORE_LIBS="$CORE_LIBS $PCRE/pcre_fullinfo.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
65 CORE_LIBS="$CORE_LIBS $PCRE/pcre_globals.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
66 CORE_LIBS="$CORE_LIBS $PCRE/pcre_tables.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
67 CORE_LIBS="$CORE_LIBS $PCRE/pcre_try_flipped.o" |
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
68 CORE_LIBS="$CORE_LIBS $PCRE/pcre_newline.o" |
523 | 69 ;; |
1006
0d0c74b73573
icc and PCRE-6.5+ compatibility
Igor Sysoev <igor@sysoev.ru>
parents:
876
diff
changeset
|
70 |
523 | 71 esac |
288
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
72 ;; |
f81d075ad172
nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents:
286
diff
changeset
|
73 |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
74 *) |
455 | 75 have=NGX_PCRE . auto/have |
286
fc8dc489247e
nginx-0.0.2-2004-03-12-00:34:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
282
diff
changeset
|
76 CORE_DEPS="$CORE_DEPS $PCRE/pcre.h" |
fc8dc489247e
nginx-0.0.2-2004-03-12-00:34:52 import
Igor Sysoev <igor@sysoev.ru>
parents:
282
diff
changeset
|
77 LINK_DEPS="$LINK_DEPS $PCRE/.libs/libpcre.a" |
306
6b91bfbc4123
nginx-0.0.3-2004-04-05-00:32:09 import
Igor Sysoev <igor@sysoev.ru>
parents:
297
diff
changeset
|
78 CORE_LIBS="$CORE_LIBS $PCRE/.libs/libpcre.a" |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
79 ;; |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
80 |
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
81 esac |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
82 |
4388
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
83 |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
84 if [ $PCRE_JIT = YES ]; then |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
85 have=NGX_HAVE_PCRE_JIT . auto/have |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
86 PCRE_CONF_OPT="$PCRE_CONF_OPT --enable-jit" |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
87 fi |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
88 |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
89 else |
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
90 |
493 | 91 if [ "$NGX_PLATFORM" != win32 ]; then |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
92 |
455 | 93 PCRE=NO |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
94 |
455 | 95 ngx_feature="PCRE library" |
469 | 96 ngx_feature_name="NGX_PCRE" |
455 | 97 ngx_feature_run=no |
98 ngx_feature_incs="#include <pcre.h>" | |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
99 ngx_feature_path= |
455 | 100 ngx_feature_libs="-lpcre" |
4559
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
101 ngx_feature_test="pcre *re; |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
102 re = pcre_compile(NULL, 0, NULL, 0, NULL); |
62d8db8c7157
Fixed more gcc46 warnings in configure tests.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
103 if (re == NULL) return 1" |
455 | 104 . auto/feature |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
105 |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
106 if [ $ngx_found = no ]; then |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
107 |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
108 # FreeBSD port |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
109 |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
110 ngx_feature="PCRE library in /usr/local/" |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
111 ngx_feature_path="/usr/local/include" |
1490 | 112 |
113 if [ $NGX_RPATH = YES ]; then | |
114 ngx_feature_libs="-R/usr/local/lib -L/usr/local/lib -lpcre" | |
115 else | |
116 ngx_feature_libs="-L/usr/local/lib -lpcre" | |
117 fi | |
118 | |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
119 . auto/feature |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
120 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
121 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
122 if [ $ngx_found = no ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
123 |
2141 | 124 # RedHat RPM, Solaris package |
2010
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
125 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
126 ngx_feature="PCRE library in /usr/include/pcre/" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
127 ngx_feature_path="/usr/include/pcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
128 ngx_feature_libs="-lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
129 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
130 . auto/feature |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
131 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
132 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
133 if [ $ngx_found = no ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
134 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
135 # NetBSD port |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
136 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
137 ngx_feature="PCRE library in /usr/pkg/" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
138 ngx_feature_path="/usr/pkg/include" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
139 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
140 if [ $NGX_RPATH = YES ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
141 ngx_feature_libs="-R/usr/pkg/lib -L/usr/pkg/lib -lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
142 else |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
143 ngx_feature_libs="-L/usr/pkg/lib -lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
144 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
145 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
146 . auto/feature |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
147 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
148 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
149 if [ $ngx_found = no ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
150 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
151 # MacPorts |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
152 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
153 ngx_feature="PCRE library in /opt/local/" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
154 ngx_feature_path="/opt/local/include" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
155 |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
156 if [ $NGX_RPATH = YES ]; then |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
157 ngx_feature_libs="-R/opt/local/lib -L/opt/local/lib -lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
158 else |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
159 ngx_feature_libs="-L/opt/local/lib -lpcre" |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
160 fi |
bd6cc5370fc1
simplify library autoconfigure
Igor Sysoev <igor@sysoev.ru>
parents:
1490
diff
changeset
|
161 |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
162 . auto/feature |
282
30310107dbc9
nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
263
diff
changeset
|
163 fi |
875
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
164 |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
165 if [ $ngx_found = yes ]; then |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
166 CORE_INCS="$CORE_INCS $ngx_feature_path" |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
167 CORE_LIBS="$CORE_LIBS $ngx_feature_libs" |
7af8276b1c2f
test PCRE in FreeBSD, Linux, and NetBSD
Igor Sysoev <igor@sysoev.ru>
parents:
577
diff
changeset
|
168 PCRE=YES |
3684
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
169 fi |
4388
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
170 |
4396
eaace502bdf6
Fixed configure with system PCRE library on Solaris.
Valentin Bartenev <vbart@nginx.com>
parents:
4388
diff
changeset
|
171 if [ $PCRE = YES ]; then |
4388
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
172 ngx_feature="PCRE JIT support" |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
173 ngx_feature_name="NGX_HAVE_PCRE_JIT" |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
174 ngx_feature_test="int jit = 0; |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
175 pcre_config(PCRE_CONFIG_JIT, &jit); |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
176 if (jit != 1) return 1;" |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
177 . auto/feature |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
178 |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
179 if [ $ngx_found = yes ]; then |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
180 PCRE_JIT=YES |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
181 fi |
005fc2d5e84f
Added support for regex study and PCRE JIT (ticket #41) optimizations on
Valentin Bartenev <vbart@nginx.com>
parents:
3684
diff
changeset
|
182 fi |
3684
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
183 fi |
2893
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
184 |
3684
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
185 if [ $PCRE != YES ]; then |
2893
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
186 cat << END |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
187 |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
188 $0: error: the HTTP rewrite module requires the PCRE library. |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
189 You can either disable the module by using --without-http_rewrite_module |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
190 option, or install the PCRE library into the system, or build the PCRE library |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
191 statically from the source with nginx by using --with-pcre=<path> option. |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
192 |
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
193 END |
3684
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
194 exit 1 |
4d47a0658e7d
stop ./configure on Win32 if no library sources was specified,
Igor Sysoev <igor@sysoev.ru>
parents:
2893
diff
changeset
|
195 fi |
2893
da1ba8a5c8c9
stop ./configure at once on library failure
Igor Sysoev <igor@sysoev.ru>
parents:
2141
diff
changeset
|
196 |
255
e6938ca7331a
nginx-0.0.2-2004-02-09-23:47:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
197 fi |