Mercurial > hg > nginx
annotate docs/dtd/changes.dtd @ 7119:fef61d26da39
Fixed buffer overread with unix sockets after accept().
Some OSes (notably macOS, NetBSD, and Solaris) allow unix socket addresses
larger than struct sockaddr_un. Moreover, some of them (macOS, Solaris)
return socklen of the socket address before it was truncated to fit the
buffer provided. As such, on these systems socklen must not be used without
additional check that it is within the buffer provided.
Appropriate checks added to ngx_event_accept() (after accept()),
ngx_event_recvmsg() (after recvmsg()), and ngx_set_inherited_sockets()
(after getsockname()).
We also obtain socket addresses via getsockname() in
ngx_connection_local_sockaddr(), but it does not need any checks as
it is only used for INET and INET6 sockets (as there can be no
wildcard unix sockets).
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Wed, 04 Oct 2017 21:19:33 +0300 |
parents | 5e3bda6f5208 |
children | e79c7521aaf4 |
rev | line source |
---|---|
450 | 1 |
2 <!ENTITY nbsp " " > | |
547 | 3 <!ENTITY mdash " - " > |
450 | 4 |
5 | |
6 <!ELEMENT change_log (changes)* > | |
7 <!ATTLIST change_log title CDATA #REQUIRED > | |
8 | |
9 <!ELEMENT changes (change)* > | |
10 <!ATTLIST changes ver CDATA #REQUIRED | |
11 date CDATA #REQUIRED | |
12 > | |
13 | |
14 <!ELEMENT change (para)* > | |
4831
5e3bda6f5208
Pass changes.xml thru xmllint when generating CHANGES and CHANGES.ru.
Ruslan Ermilov <ru@nginx.com>
parents:
547
diff
changeset
|
15 <!ATTLIST change type (bugfix | feature | change | security | workaround) #IMPLIED > |
450 | 16 |
17 <!ELEMENT para (#PCDATA | at | br | nobr)* > | |
4831
5e3bda6f5208
Pass changes.xml thru xmllint when generating CHANGES and CHANGES.ru.
Ruslan Ermilov <ru@nginx.com>
parents:
547
diff
changeset
|
18 <!ATTLIST para lang (ru | en) #REQUIRED > |
450 | 19 |
20 <!ELEMENT at EMPTY > | |
21 <!ELEMENT br EMPTY > | |
22 <!ELEMENT nobr (#PCDATA) > |