annotate auto/os/conf @ 7690:8253424d1aff

Added size check to ngx_http_alloc_large_header_buffer(). This ensures that copying won't write more than the buffer size even if the buffer comes from hc->free and it is smaller than the large client header buffer size in the virtual host configuration. This might happen if size of large client header buffers is different in name-based virtual hosts, similarly to the problem with number of buffers fixed in 6926:e662cbf1b932.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 06 Aug 2020 05:02:22 +0300
parents e4c21e417277
children 35afae4b3dff
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: 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
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 2828
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: 355
diff changeset
4
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
5
563
9c2f3ed7a247 nginx-0.3.3-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
6 echo "checking for $NGX_SYSTEM specific features"
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
7
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 489
diff changeset
8 case "$NGX_PLATFORM" in
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9
688
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
10 FreeBSD:*)
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 . auto/os/freebsd
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 ;;
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
13
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
14 Linux:*)
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
15 . auto/os/linux
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 ;;
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
17
196
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
18 SunOS:*)
11fbd0fc041d nginx-0.0.1-2003-11-26-18:42:18 import
Igor Sysoev <igor@sysoev.ru>
parents: 195
diff changeset
19 . auto/os/solaris
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
20 ;;
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
21
2128
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 940
diff changeset
22 Darwin:*)
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 940
diff changeset
23 . auto/os/darwin
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 940
diff changeset
24 ;;
345a014436d4 *) move Darwin support to separate files
Igor Sysoev <igor@sysoev.ru>
parents: 940
diff changeset
25
2828
f5c80c69a72e backout -r2827 and add correct fix
Igor Sysoev <igor@sysoev.ru>
parents: 2826
diff changeset
26 win32)
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
27 . auto/os/win32
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
28 ;;
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
29
688
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
30 DragonFly:*)
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
31 have=NGX_FREEBSD . auto/have_headers
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
32 CORE_INCS="$UNIX_INCS"
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
33 CORE_DEPS="$UNIX_DEPS $FREEBSD_DEPS"
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
34 CORE_SRCS="$UNIX_SRCS $FREEBSD_SRCS"
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
35
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
36 echo " + sendfile() found"
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
37 have=NGX_HAVE_SENDFILE . auto/have
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
38 CORE_SRCS="$CORE_SRCS $FREEBSD_SENDFILE_SRCS"
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
39
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
40 ngx_spacer='
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
41 '
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
42 ;;
03fa118203d6 separate DragonFlyBSD autoconfiguration from FreeBSD
Igor Sysoev <igor@sysoev.ru>
parents: 593
diff changeset
43
7021
639e48c382a6 Configure: enabled rpath for NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents: 6156
diff changeset
44 NetBSD:*)
639e48c382a6 Configure: enabled rpath for NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents: 6156
diff changeset
45 CORE_INCS="$UNIX_INCS"
639e48c382a6 Configure: enabled rpath for NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents: 6156
diff changeset
46 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
639e48c382a6 Configure: enabled rpath for NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents: 6156
diff changeset
47 CORE_SRCS="$UNIX_SRCS"
639e48c382a6 Configure: enabled rpath for NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents: 6156
diff changeset
48
639e48c382a6 Configure: enabled rpath for NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents: 6156
diff changeset
49 NGX_RPATH=YES
639e48c382a6 Configure: enabled rpath for NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents: 6156
diff changeset
50 ;;
639e48c382a6 Configure: enabled rpath for NetBSD.
Sergey Kandaurov <pluknet@nginx.com>
parents: 6156
diff changeset
51
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
52 HP-UX:*)
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
53 # HP/UX
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
54 have=NGX_HPUX . auto/have_headers
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
55 CORE_INCS="$UNIX_INCS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
56 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
57 CORE_SRCS="$UNIX_SRCS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
58 CC_AUX_FLAGS="$CC_AUX_FLAGS -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
4692
489839d07b38 Fixed "sendmsg() failed" alerts on HP-UX.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4690
diff changeset
59 CC_AUX_FLAGS="$CC_AUX_FLAGS -D_HPUX_ALT_XOPEN_SOCKET_API"
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
60 ;;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
61
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
62 OSF1:*)
517
dadfa78d2270 nginx-0.1.33-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
63 # Tru64 UNIX
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
64 have=NGX_TRU64 . auto/have_headers
517
dadfa78d2270 nginx-0.1.33-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 515
diff changeset
65 have=NGX_HAVE_STRERROR_R . auto/nohave
515
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
66 CORE_INCS="$UNIX_INCS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
67 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
68 CORE_SRCS="$UNIX_SRCS"
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
69 ;;
417a087c9c4d nginx-0.1.32-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 509
diff changeset
70
6156
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
71 GNU:*)
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
72 # GNU Hurd
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
73 have=NGX_GNU_HURD . auto/have_headers
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
74 CORE_INCS="$UNIX_INCS"
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
75 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
76 CORE_SRCS="$UNIX_SRCS"
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
77 CC_AUX_FLAGS="$CC_AUX_FLAGS -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64"
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
78 ;;
a88e309f839b Configure: GNU Hurd properly recognized.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4692
diff changeset
79
355
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 320
diff changeset
80 *)
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 320
diff changeset
81 CORE_INCS="$UNIX_INCS"
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 320
diff changeset
82 CORE_DEPS="$UNIX_DEPS $POSIX_DEPS"
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 320
diff changeset
83 CORE_SRCS="$UNIX_SRCS"
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 320
diff changeset
84 ;;
0fb6c53fb135 nginx-0.0.7-2004-06-15-21:47:16 import
Igor Sysoev <igor@sysoev.ru>
parents: 320
diff changeset
85
195
8dee38ea9117 nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
86 esac
455
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
87
295d97d70c69 nginx-0.1.2-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 444
diff changeset
88
493
975f62e77f02 nginx-0.1.21-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 489
diff changeset
89 case "$NGX_MACHINE" in
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
90
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
91 i386 | i686 | i86pc)
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
92 have=NGX_HAVE_NONALIGNED . auto/have
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
93 NGX_MACH_CACHE_LINE=32
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
94 ;;
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
95
593
425af804d968 nginx-0.3.18-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 589
diff changeset
96 amd64 | x86_64)
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
97 have=NGX_HAVE_NONALIGNED . auto/have
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
98 NGX_MACH_CACHE_LINE=64
509
9b8c906f6e63 nginx-0.1.29-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 503
diff changeset
99 ;;
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
100
745
95aa79944291 add sun4v,
Igor Sysoev <igor@sysoev.ru>
parents: 688
diff changeset
101 sun4u | sun4v | sparc | sparc64)
581
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
102 have=NGX_ALIGNMENT value=16 . auto/define
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
103 # TODO
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
104 NGX_MACH_CACHE_LINE=64
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
105 ;;
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
106
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
107 ia64 )
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
108 have=NGX_ALIGNMENT value=16 . auto/define
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
109 # TODO
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
110 NGX_MACH_CACHE_LINE=64
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
111 ;;
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
112
7172
e4c21e417277 Configure: set default cacheline size to 64 for aarch64 platforms.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7021
diff changeset
113 aarch64 )
e4c21e417277 Configure: set default cacheline size to 64 for aarch64 platforms.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7021
diff changeset
114 have=NGX_ALIGNMENT value=16 . auto/define
e4c21e417277 Configure: set default cacheline size to 64 for aarch64 platforms.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7021
diff changeset
115 NGX_MACH_CACHE_LINE=64
e4c21e417277 Configure: set default cacheline size to 64 for aarch64 platforms.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7021
diff changeset
116 ;;
e4c21e417277 Configure: set default cacheline size to 64 for aarch64 platforms.
Debayan Ghosh <debayang.qdt@qualcommdatacenter.com>
parents: 7021
diff changeset
117
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
118 *)
4690
d91f3c78603e Changed default alignment to 16.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
119 have=NGX_ALIGNMENT value=16 . auto/define
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
120 NGX_MACH_CACHE_LINE=32
581
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
121 ;;
326634fb9d47 nginx-0.3.12-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 563
diff changeset
122
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 477
diff changeset
123 esac
589
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
124
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
125 if test -z "$NGX_CPU_CACHE_LINE"; then
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
126 NGX_CPU_CACHE_LINE=$NGX_MACH_CACHE_LINE
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
127 fi
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
128
d4e858a5751a nginx-0.3.16-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 583
diff changeset
129 have=NGX_CPU_CACHE_LINE value=$NGX_CPU_CACHE_LINE . auto/define