annotate src/core/nginx.h @ 7829:2851e4c7de03

Mail: fixed reading with fully filled buffer (ticket #2159). With SMTP pipelining, ngx_mail_read_command() can be called with s->buffer without any space available, to parse additional commands received to the buffer on previous calls. Previously, this resulted in recv() being called with zero length, resulting in zero being returned, which was interpreted as a connection close by the client, so nginx silently closed connection. Fix is to avoid calling c->recv() if there is no free space in the buffer, but continue parsing of the already received commands.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 21 Apr 2021 23:24:59 +0300
parents c40f7a65c506
children 7e4aeb464642
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 4410
diff changeset
4 * Copyright (C) Nginx, Inc.
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
5 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
6
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 440
diff changeset
7
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #ifndef _NGINX_H_INCLUDED_
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 #define _NGINX_H_INCLUDED_
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
7828
c40f7a65c506 Version bump.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7815
diff changeset
12 #define nginx_version 1021000
c40f7a65c506 Version bump.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7815
diff changeset
13 #define NGINX_VERSION "1.21.0"
775
a452a0e13539 check nginx.pm version
Igor Sysoev <igor@sysoev.ru>
parents: 770
diff changeset
14 #define NGINX_VER "nginx/" NGINX_VERSION
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
5701
1209b8a7b077 Configure: the --build= option.
Ruslan Ermilov <ru@nginx.com>
parents: 5675
diff changeset
16 #ifdef NGX_BUILD
1209b8a7b077 Configure: the --build= option.
Ruslan Ermilov <ru@nginx.com>
parents: 5675
diff changeset
17 #define NGINX_VER_BUILD NGINX_VER " (" NGX_BUILD ")"
1209b8a7b077 Configure: the --build= option.
Ruslan Ermilov <ru@nginx.com>
parents: 5675
diff changeset
18 #else
1209b8a7b077 Configure: the --build= option.
Ruslan Ermilov <ru@nginx.com>
parents: 5675
diff changeset
19 #define NGINX_VER_BUILD NGINX_VER
1209b8a7b077 Configure: the --build= option.
Ruslan Ermilov <ru@nginx.com>
parents: 5675
diff changeset
20 #endif
1209b8a7b077 Configure: the --build= option.
Ruslan Ermilov <ru@nginx.com>
parents: 5675
diff changeset
21
282
30310107dbc9 nginx-0.0.2-2004-03-09-22:47:07 import
Igor Sysoev <igor@sysoev.ru>
parents: 266
diff changeset
22 #define NGINX_VAR "NGINX"
543
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 541
diff changeset
23 #define NGX_OLDPID_EXT ".oldbin"
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 2
diff changeset
24
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 2
diff changeset
25
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
26 #endif /* _NGINX_H_INCLUDED_ */