Welcome! Log In Create A New Profile


Bug#577456: nginx: Fix realoading with IPv6 addresses

Matthias-Christian Ott
April 11, 2010 04:16PM
Package: nginx
Version: 0.7.65-4
Severity: normal
Tags: patch

The function ngx_cmp_sockaddr contained a typo which prevented nginx
from reloading, because nginx tried to add a socket multiple times
to an epoll descriptor.

--- src/core/ngx_cycle.c~ 2009-10-26 17:22:24.000000000 +0100
+++ src/core/ngx_cycle.c 2010-04-11 21:14:43.997932783 +0200
@@ -847,7 +847,7 @@
sin61 = (struct sockaddr_in6 *) sa1;
sin62 = (struct sockaddr_in6 *) sa2;

- if (sin61->sin6_port != sin61->sin6_port) {
+ if (sin61->sin6_port != sin62->sin6_port) {

If nginx listened on an IPv6 address on multiple ports (e.g. [::]:80
and [::]:443), the port is ignored and thus a socket is added multiple
times, because the sockets are kept an a linked list and once a match
is found the list is not searched any further and the first socket
gets always selected and added via epoll_ctl.

-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages nginx depends on:
ii libc6 2.10.2-6 Embedded GNU C Library: Shared lib
ii libgeoip1 1.4.6.dfsg-19 A non-DNS IP-to-country resolver l
ii libpcre3 7.8-3 Perl 5 Compatible Regular Expressi
ii libssl0.9.8 0.9.8n-1 SSL shared libraries
ii lsb-base 3.2-23 Linux Standard Base 3.2 init scrip
ii zlib1g 1: compression library - runtime

nginx recommends no packages.

nginx suggests no packages.

-- no debconf information

nginx-devel mailing list
Subject Author Views Posted

Bug#577456: nginx: Fix realoading with IPv6 addresses

Matthias-Christian Ott 2912 April 11, 2010 04:16PM

Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 373
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready