Welcome! Log In Create A New Profile

Advanced

Re: Баг парсинга ip адресов при сборке с --with-ipv6

Maxim Dounin
April 13, 2011 07:32AM
Hello!

On Tue, Apr 12, 2011 at 09:57:31PM -0400, INF[SZ] wrote:

> При включении опции сборки --with-ipv6 и
> внесении в локацию ip адреса в котором
> забыта точка между 2 и 3 октетом получаю
> ошибку сегментирования
>
> Например
>
> location / {
>
> root /usr/share/nginx/html;
>
> index index.html index.htm;
>
> allow 80.24797.12;
>
> }
>
> nginx -t
> ошибка сегментирования
>
> при сборке Nginx без поддержки ipv6 при том
> же конфиге парсинг проходит удачно и на
> выходе как и положено получаю ошибку:
>
> nginx: [emerg]: invalid parameter "80.24797.12" in
> /etc/nginx/nginx.conf:54
> nginx: configuration file /etc/nginx/nginx.conf test failed
>
>
> Проверял на Nginx 0.8, 0.9, 1.0 ветках.

Спасибо. Патч прилагается.

Maxim Dounin
# HG changeset patch
# User Maxim Dounin <mdounin@mdounin.ru>
# Date 1302694009 -14400
# Node ID c0045a9cf3218bd4f77ecb8c0a5e75ad47a436f9
# Parent 00d13b6d4ebd225f94a2e2a3afa7dbd3ddfe4ed7
Fix ipv6 address parsing.

Parsing icorrectly formated addresses caused segmentation fault in some
cases, e.g. as in

allow 80.24797.12;

(note missing dot - this is not valid ipv4 address and hence nginx will
attempt to parse it as ipv6 one if configured with ipv6), or

listen [127.0.0.1]:8080;

(note ipv4 address instead of ipv6 one in square brackets).

See here for original report:

http://forum.nginx.org/read.php?21,190741,190741#msg-190741

diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -110,7 +110,7 @@ ngx_inet6_addr(u_char *p, size_t len, u_
}

if (c == '.' && nibbles) {
- if (n < 2) {
+ if (n < 2 || digit == NULL) {
return NGX_ERROR;
}

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Баг парсинга ip адресов при сборке с --with-ipv6

INF[SZ] April 12, 2011 09:57PM

Re: Баг парсинга ip адресов при сборке с --with-ipv6

Maxim Dounin April 13, 2011 07:32AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 108
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready