annotate auto/lib/pcre/makefile.owc @ 7152:3b635e8fd499

FastCGI: adjust buffer position when parsing incomplete records. Previously, nginx failed to move buffer position when parsing an incomplete record header, and due to this wasn't be able to continue parsing once remaining bytes of the record header were received. This can affect response header parsing, potentially generating spurious errors like "upstream sent unexpected FastCGI request id high byte: 1 while reading response header from upstream". While this is very unlikely, since usually record headers are written in a single buffer, this still can happen in real life, for example, if a record header will be split across two TCP packets and the second packet will be delayed. This does not affect non-buffered response body proxying, due to "buf->pos = buf->last;" at the start of the ngx_http_fastcgi_non_buffered_filter() function. Also this does not affect buffered response body proxying, as each input buffer is only passed to the filter once.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 09 Nov 2017 15:35:20 +0300
parents 670ceaba03d8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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: 288
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: 288
diff changeset
2 # Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 2840
diff changeset
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: 288
diff changeset
4
282
30310107dbc9 nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5
284
1fecc9478d92 nginx-0.0.2-2004-03-10-23:56:39 import
Igor Sysoev <igor@sysoev.ru>
parents: 283
diff changeset
6 CFLAGS = -c -zq -bt=nt -ot -op -oi -oe -s -bm $(CPU_OPT)
5358
670ceaba03d8 Win32: Open Watcom C compatibility fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5343
diff changeset
7 PCREFLAGS = -DHAVE_CONFIG_H -DPCRE_STATIC -DPOSIX_MALLOC_THRESHOLD=10 &
5343
bd828a14e017 Updated PCRE used for win32 builds.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
8 -DSUPPORT_PCRE8 -DHAVE_MEMMOVE
282
30310107dbc9 nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9
30310107dbc9 nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
2838
ecdc41bf2047 backout r2833: CURDIR was set to Unix style path
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
11 pcre.lib:
ecdc41bf2047 backout r2833: CURDIR was set to Unix style path
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
12 cd $(PCRE)
ecdc41bf2047 backout r2833: CURDIR was set to Unix style path
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
13
2840
22c4c012c8c9 switch Win32 building to modern PCRE versions (starting from 7.1)
Igor Sysoev <igor@sysoev.ru>
parents: 2838
diff changeset
14 wcl386 $(CFLAGS) -i=. $(PCREFLAGS) pcre_*.c
282
30310107dbc9 nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
2840
22c4c012c8c9 switch Win32 building to modern PCRE versions (starting from 7.1)
Igor Sysoev <igor@sysoev.ru>
parents: 2838
diff changeset
16 dir /b *.obj > pcre.lst
288
f81d075ad172 nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents: 286
diff changeset
17
2840
22c4c012c8c9 switch Win32 building to modern PCRE versions (starting from 7.1)
Igor Sysoev <igor@sysoev.ru>
parents: 2838
diff changeset
18 wlib -n pcre.lib @pcre.lst
288
f81d075ad172 nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents: 286
diff changeset
19
f81d075ad172 nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents: 286
diff changeset
20 pcre.h:
2838
ecdc41bf2047 backout r2833: CURDIR was set to Unix style path
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
21 cd $(PCRE)
2840
22c4c012c8c9 switch Win32 building to modern PCRE versions (starting from 7.1)
Igor Sysoev <igor@sysoev.ru>
parents: 2838
diff changeset
22
22c4c012c8c9 switch Win32 building to modern PCRE versions (starting from 7.1)
Igor Sysoev <igor@sysoev.ru>
parents: 2838
diff changeset
23 copy /y pcre.h.generic pcre.h
22c4c012c8c9 switch Win32 building to modern PCRE versions (starting from 7.1)
Igor Sysoev <igor@sysoev.ru>
parents: 2838
diff changeset
24 copy /y config.h.generic config.h
22c4c012c8c9 switch Win32 building to modern PCRE versions (starting from 7.1)
Igor Sysoev <igor@sysoev.ru>
parents: 2838
diff changeset
25 copy /y pcre_chartables.c.dist pcre_chartables.c