annotate src/os/unix/ngx_errno.h @ 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 a5897d360977
children 58afcd72446f
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: 381
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: 381
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: 3787
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: 381
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: 381
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: 381
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 _NGX_ERRNO_H_INCLUDED_
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 #define _NGX_ERRNO_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
256
8e39cab6abd5 nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents: 248
diff changeset
12 #include <ngx_config.h>
8e39cab6abd5 nginx-0.0.2-2004-02-10-19:23:38 import
Igor Sysoev <igor@sysoev.ru>
parents: 248
diff changeset
13 #include <ngx_core.h>
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 98
diff changeset
15
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 typedef int ngx_err_t;
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
17
637
e60fe4cf1d4e nginx-0.3.40-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 633
diff changeset
18 #define NGX_EPERM EPERM
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
19 #define NGX_ENOENT ENOENT
3023
7d5501988fe3 NGX_ENOPATH
Igor Sysoev <igor@sysoev.ru>
parents: 2628
diff changeset
20 #define NGX_ENOPATH ENOENT
322
ab2f8c9a2a45 nginx-0.0.3-2004-04-20-11:00:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 291
diff changeset
21 #define NGX_ESRCH ESRCH
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
22 #define NGX_EINTR EINTR
216
f1d0e5f09c1e nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 210
diff changeset
23 #define NGX_ECHILD ECHILD
381
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 322
diff changeset
24 #define NGX_ENOMEM ENOMEM
47
d81326c3b21b nginx-0.0.1-2003-01-15-10:02:27 import
Igor Sysoev <igor@sysoev.ru>
parents: 46
diff changeset
25 #define NGX_EACCES EACCES
216
f1d0e5f09c1e nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 210
diff changeset
26 #define NGX_EBUSY EBUSY
95
b48066122884 nginx-0.0.1-2003-05-23-15:53:01 import
Igor Sysoev <igor@sysoev.ru>
parents: 74
diff changeset
27 #define NGX_EEXIST EEXIST
6468
a5897d360977 Win32: additional error code NGX_EEXIST_FILE (ticket #910).
Maxim Dounin <mdounin@mdounin.ru>
parents: 5550
diff changeset
28 #define NGX_EEXIST_FILE EEXIST
2394
dbe746851b31 use ngx_ext_rename_file() for single file MOVE
Igor Sysoev <igor@sysoev.ru>
parents: 1869
diff changeset
29 #define NGX_EXDEV EXDEV
45
f1ee46c036a4 nginx-0.0.1-2003-01-10-09:09:20 import
Igor Sysoev <igor@sysoev.ru>
parents: 19
diff changeset
30 #define NGX_ENOTDIR ENOTDIR
663
6d5c1535bb9d nginx-0.3.53-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 637
diff changeset
31 #define NGX_EISDIR EISDIR
381
02a511569afb nginx-0.0.7-2004-07-07-19:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents: 322
diff changeset
32 #define NGX_EINVAL EINVAL
4618
c05cfc46b3bc Accept moderation in case of EMFILE/ENFILE.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4475
diff changeset
33 #define NGX_ENFILE ENFILE
c05cfc46b3bc Accept moderation in case of EMFILE/ENFILE.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4475
diff changeset
34 #define NGX_EMFILE EMFILE
633
f971949ffb58 nginx-0.3.38-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
35 #define NGX_ENOSPC ENOSPC
216
f1d0e5f09c1e nginx-0.0.1-2003-12-25-23:26:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 210
diff changeset
36 #define NGX_EPIPE EPIPE
19
d7908993fdeb nginx-0.0.1-2002-12-02-19:09:40 import; resume after 2 months stall
Igor Sysoev <igor@sysoev.ru>
parents: 6
diff changeset
37 #define NGX_EINPROGRESS EINPROGRESS
5550
3c5ddf0575d8 Core: handle getsockopt(TCP_FASTOPEN) failures.
Piotr Sikora <piotr@cloudflare.com>
parents: 5431
diff changeset
38 #define NGX_ENOPROTOOPT ENOPROTOOPT
5431
91bd62a9627e Core: handling of getsockopt(TCP_DEFER_ACCEPT) failures.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5355
diff changeset
39 #define NGX_EOPNOTSUPP EOPNOTSUPP
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents: 0
diff changeset
40 #define NGX_EADDRINUSE EADDRINUSE
248
e885208c518b nginx-0.0.2-2004-02-03-00:19:52 import
Igor Sysoev <igor@sysoev.ru>
parents: 218
diff changeset
41 #define NGX_ECONNABORTED ECONNABORTED
67
5a7d1aaa1618 nginx-0.0.1-2003-03-11-23:38:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 59
diff changeset
42 #define NGX_ECONNRESET ECONNRESET
218
05592fd7a436 nginx-0.0.1-2004-01-05-23:55:48 import
Igor Sysoev <igor@sysoev.ru>
parents: 216
diff changeset
43 #define NGX_ENOTCONN ENOTCONN
6
669801705ab1 nginx-0.0.1-2002-08-26-19:18:19 import
Igor Sysoev <igor@sysoev.ru>
parents: 5
diff changeset
44 #define NGX_ETIMEDOUT ETIMEDOUT
288
f81d075ad172 nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
45 #define NGX_ECONNREFUSED ECONNREFUSED
543
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 517
diff changeset
46 #define NGX_ENAMETOOLONG ENAMETOOLONG
1869
192443881e51 add NGX_ENETDOWN, NGX_ENETUNREACH, and NGX_EHOSTDOWN
Igor Sysoev <igor@sysoev.ru>
parents: 663
diff changeset
47 #define NGX_ENETDOWN ENETDOWN
192443881e51 add NGX_ENETDOWN, NGX_ENETUNREACH, and NGX_EHOSTDOWN
Igor Sysoev <igor@sysoev.ru>
parents: 663
diff changeset
48 #define NGX_ENETUNREACH ENETUNREACH
192443881e51 add NGX_ENETDOWN, NGX_ENETUNREACH, and NGX_EHOSTDOWN
Igor Sysoev <igor@sysoev.ru>
parents: 663
diff changeset
49 #define NGX_EHOSTDOWN EHOSTDOWN
288
f81d075ad172 nginx-0.0.2-2004-03-14-23:46:25 import
Igor Sysoev <igor@sysoev.ru>
parents: 256
diff changeset
50 #define NGX_EHOSTUNREACH EHOSTUNREACH
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
51 #define NGX_ENOSYS ENOSYS
59
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 47
diff changeset
52 #define NGX_ECANCELED ECANCELED
2628
64a10d6b97bd win32 ngx_open_file() supports utf8 names and NGX_FILE_APPEND
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
53 #define NGX_EILSEQ EILSEQ
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 100
diff changeset
54 #define NGX_ENOMOREFILES 0
5333
e8bca8397625 Autoindex: improved ngx_de_info() error handling.
Sergey Kandaurov <pluknet@nginx.com>
parents: 4693
diff changeset
55 #define NGX_ELOOP ELOOP
5355
32847478c2c1 Added the NGX_EBADF define.
Valentin Bartenev <vbart@nginx.com>
parents: 5333
diff changeset
56 #define NGX_EBADF EBADF
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 100
diff changeset
57
4475
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
58 #if (NGX_HAVE_OPENAT)
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
59 #define NGX_EMLINK EMLINK
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
60 #endif
0b05acc045eb Added openat()/fstatat().
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
61
3671
7160230d9736 HP/UX uses EWOULDBLOCK instead of EAGAIN
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
62 #if (__hpux__)
7160230d9736 HP/UX uses EWOULDBLOCK instead of EAGAIN
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
63 #define NGX_EAGAIN EWOULDBLOCK
7160230d9736 HP/UX uses EWOULDBLOCK instead of EAGAIN
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
64 #else
7160230d9736 HP/UX uses EWOULDBLOCK instead of EAGAIN
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
65 #define NGX_EAGAIN EAGAIN
7160230d9736 HP/UX uses EWOULDBLOCK instead of EAGAIN
Igor Sysoev <igor@sysoev.ru>
parents: 3472
diff changeset
66 #endif
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
67
67
5a7d1aaa1618 nginx-0.0.1-2003-03-11-23:38:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 59
diff changeset
68
5
62b1a364857c nginx-0.0.1-2002-08-23-20:14:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 3
diff changeset
69 #define ngx_errno errno
62b1a364857c nginx-0.0.1-2002-08-23-20:14:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 3
diff changeset
70 #define ngx_socket_errno errno
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 100
diff changeset
71 #define ngx_set_errno(err) errno = err
5
62b1a364857c nginx-0.0.1-2002-08-23-20:14:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 3
diff changeset
72 #define ngx_set_socket_errno(err) errno = err
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
73
210
00cafae0bdf1 nginx-0.0.1-2003-12-14-23:10:27 import
Igor Sysoev <igor@sysoev.ru>
parents: 191
diff changeset
74
3787
e294f37401c0 use copied strerror() messages and autoconfigured sys_nerr value
Igor Sysoev <igor@sysoev.ru>
parents: 3671
diff changeset
75 u_char *ngx_strerror(ngx_err_t err, u_char *errstr, size_t size);
4693
f1a0de6eb505 Fixed return type of ngx_strerror_init().
Maxim Dounin <mdounin@mdounin.ru>
parents: 4618
diff changeset
76 ngx_int_t ngx_strerror_init(void);
3472
65481698535c use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents: 3023
diff changeset
77
65481698535c use sys_errlist[] in signal handler instead
Igor Sysoev <igor@sysoev.ru>
parents: 3023
diff changeset
78
0
4eff17414a43 nginx-0.0.1-2002-08-06-20:39:45 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
79 #endif /* _NGX_ERRNO_H_INCLUDED_ */