annotate contrib/README @ 9179:ea1f29c2010c

HTTP/2: fixed buffer management with HTTP/2 auto-detection. As part of normal HTTP/2 processing, incomplete frames are saved in the control state using a fixed size memcpy of NGX_HTTP_V2_STATE_BUFFER_SIZE. For this matter, two state buffers are reserved in the HTTP/2 recv buffer. As part of HTTP/2 auto-detection on plain TCP connections, initial data is first read into a buffer specified by the client_header_buffer_size directive that doesn't have state reservation. Previously, this made it possible to over-read the buffer as part of saving the state. The fix is to read the available buffer size rather than a fixed size. Although memcpy of a fixed size can produce a better optimized code, handling of incomplete frames isn't a common execution path, so it was sacrificed for the sake of simplicity of the fix.
author Sergey Kandaurov <pluknet@nginx.com>
date Sat, 21 Oct 2023 18:48:24 +0400
parents 1bdf906bba99
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
537
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
1
667
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
2 geo2nginx.pl by Andrei Nigmatulin
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
3
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
4 The perl script to convert CSV geoip database ( free download
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
5 at http://www.maxmind.com/app/geoip_country ) to format, suitable
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
6 for use by the ngx_http_geo_module.
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
7
537
c9ad0d9c7d59 nginx-0.1.43-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8
667
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
9 unicode2nginx by Maxim Dounin
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
10
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
11 The perl script to convert unicode mappings ( available
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
12 at http://www.unicode.org/Public/MAPPINGS/ ) to the nginx
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
13 configuration file format.
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
14 Two generated full maps for windows-1251 and koi8-r.
63a820b0bc6c nginx-0.3.55-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 537
diff changeset
15
5461
1bdf906bba99 Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 667
diff changeset
16
1bdf906bba99 Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 667
diff changeset
17 vim by Evan Miller
1bdf906bba99 Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 667
diff changeset
18
1bdf906bba99 Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 667
diff changeset
19 Syntax highlighting of nginx configuration for vim, to be
1bdf906bba99 Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 667
diff changeset
20 placed into ~/.vim/.
1bdf906bba99 Contrib: added vim to README.
Maxim Dounin <mdounin@mdounin.ru>
parents: 667
diff changeset
21