mirror of
https://github.com/openresty/openresty.git
synced 2024-10-13 00:29:41 +00:00
updated patches for nginx 1.5.4.
This commit is contained in:
41
patches/nginx-1.5.4-unix_socket_accept_over_read.patch
Normal file
41
patches/nginx-1.5.4-unix_socket_accept_over_read.patch
Normal file
@ -0,0 +1,41 @@
|
||||
--- nginx-1.5.4/src/event/ngx_event_accept.c 2013-05-06 03:26:50.000000000 -0700
|
||||
+++ nginx-1.5.4-patched/src/event/ngx_event_accept.c 2013-07-10 13:05:02.001249099 -0700
|
||||
@@ -269,17 +269,28 @@ ngx_event_accept(ngx_event_t *ev)
|
||||
#endif
|
||||
|
||||
if (ls->addr_ntop) {
|
||||
- c->addr_text.data = ngx_pnalloc(c->pool, ls->addr_text_max_len);
|
||||
- if (c->addr_text.data == NULL) {
|
||||
- ngx_close_accepted_connection(c);
|
||||
- return;
|
||||
- }
|
||||
+ if (socklen > sizeof(c->sockaddr->sa_family)) {
|
||||
+ c->addr_text.data = ngx_pnalloc(c->pool, ls->addr_text_max_len);
|
||||
+ if (c->addr_text.data == NULL) {
|
||||
+ ngx_close_accepted_connection(c);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ c->addr_text.len = ngx_sock_ntop(c->sockaddr, c->addr_text.data,
|
||||
+ ls->addr_text_max_len, 0);
|
||||
+ if (c->addr_text.len == 0) {
|
||||
+ ngx_close_accepted_connection(c);
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ } else {
|
||||
+ /*
|
||||
+ * Linux accept/accept4 syscalls, for example, do not return
|
||||
+ * address data upon unix domain sockets
|
||||
+ */
|
||||
|
||||
- c->addr_text.len = ngx_sock_ntop(c->sockaddr, c->addr_text.data,
|
||||
- ls->addr_text_max_len, 0);
|
||||
- if (c->addr_text.len == 0) {
|
||||
- ngx_close_accepted_connection(c);
|
||||
- return;
|
||||
+ c->addr_text.data = NULL;
|
||||
+ c->addr_text.len = 0;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user