diff --git a/app/nginx-1.11.10/src/event/modules/ngx_ff_module.c b/app/nginx-1.11.10/src/event/modules/ngx_ff_module.c index 11e1e06c..1aba3a19 100644 --- a/app/nginx-1.11.10/src/event/modules/ngx_ff_module.c +++ b/app/nginx-1.11.10/src/event/modules/ngx_ff_module.c @@ -219,7 +219,7 @@ fstack_territory(int domain, int type, int protocol) type &= ~SOCK_NONBLOCK; type &= ~SOCK_FSTACK; - if ((AF_INET != domain) || (SOCK_STREAM != type && SOCK_DGRAM != type)) { + if ((AF_INET != domain && AF_INET6 != domain) || (SOCK_STREAM != type && SOCK_DGRAM != type)) { return 0; } @@ -231,14 +231,20 @@ socket(int domain, int type, int protocol) { int sock; if (unlikely(inited == 0)) { + if (AF_INET6 == domain) + domain = AF_INET6_LINUX; return SYSCALL(socket)(domain, type, protocol); } if (unlikely(fstack_territory(domain, type, protocol) == 0)) { + if (AF_INET6 == domain) + domain = AF_INET6_LINUX; return SYSCALL(socket)(domain, type, protocol); } if (unlikely((type & SOCK_FSTACK) == 0)) { + if (AF_INET6 == domain) + domain = AF_INET6_LINUX; return SYSCALL(socket)(domain, type, protocol); } diff --git a/app/nginx-1.16.0/src/event/modules/ngx_ff_module.c b/app/nginx-1.16.0/src/event/modules/ngx_ff_module.c index 11e1e06c..1aba3a19 100644 --- a/app/nginx-1.16.0/src/event/modules/ngx_ff_module.c +++ b/app/nginx-1.16.0/src/event/modules/ngx_ff_module.c @@ -219,7 +219,7 @@ fstack_territory(int domain, int type, int protocol) type &= ~SOCK_NONBLOCK; type &= ~SOCK_FSTACK; - if ((AF_INET != domain) || (SOCK_STREAM != type && SOCK_DGRAM != type)) { + if ((AF_INET != domain && AF_INET6 != domain) || (SOCK_STREAM != type && SOCK_DGRAM != type)) { return 0; } @@ -231,14 +231,20 @@ socket(int domain, int type, int protocol) { int sock; if (unlikely(inited == 0)) { + if (AF_INET6 == domain) + domain = AF_INET6_LINUX; return SYSCALL(socket)(domain, type, protocol); } if (unlikely(fstack_territory(domain, type, protocol) == 0)) { + if (AF_INET6 == domain) + domain = AF_INET6_LINUX; return SYSCALL(socket)(domain, type, protocol); } if (unlikely((type & SOCK_FSTACK) == 0)) { + if (AF_INET6 == domain) + domain = AF_INET6_LINUX; return SYSCALL(socket)(domain, type, protocol); }