Mailing List Archive

#1801: Fail parsing IPv6 constants
#1801: Fail parsing IPv6 constants
----------------------+-------------------
Reporter: fgsch | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: varnishd | Version: 4.1.0
Severity: normal | Keywords:
----------------------+-------------------
Using, i.e. ::1 leads to:

**** v1 0.1 CLI RX| IP constant '"::1"' could not be resolved to an IP
address:\n
**** v1 0.1 CLI RX| \tServname not supported for ai_socktype\n
**** v1 0.1 CLI RX| (Sorry if that error message is gibberish.)\n

Works fine in 4.0. This broke when Resolve_Sockaddr() was changed to use
VSS_resolver().

The workaround is to use [].

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1801>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1801: Fail parsing IPv6 constants [ In reply to ]
#1801: Fail parsing IPv6 constants
----------------------+--------------------
Reporter: fgsch | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: varnishd | Version: 4.1.0
Severity: normal | Resolution:
Keywords: |
----------------------+--------------------
Description changed by fgsch:

Old description:

> Using, i.e. ::1 leads to:
>
> **** v1 0.1 CLI RX| IP constant '"::1"' could not be resolved to an IP
> address:\n
> **** v1 0.1 CLI RX| \tServname not supported for ai_socktype\n
> **** v1 0.1 CLI RX| (Sorry if that error message is gibberish.)\n
>
> Works fine in 4.0. This broke when Resolve_Sockaddr() was changed to use
> VSS_resolver().
>
> The workaround is to use [].

New description:

Using, i.e. ::1 leads to:

{{{
**** v1 0.1 CLI RX| IP constant '"::1"' could not be resolved to an IP
address:\n
**** v1 0.1 CLI RX| \tServname not supported for ai_socktype\n
**** v1 0.1 CLI RX| (Sorry if that error message is gibberish.)\n
}}}

Works fine in 4.0. This broke when Resolve_Sockaddr() was changed to use
VSS_resolver().

The workaround is to use [].

--

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1801#comment:1>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1801: Fail parsing IPv6 constants [ In reply to ]
#1801: Fail parsing IPv6 constants
----------------------+--------------------
Reporter: fgsch | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: varnishd | Version: 4.1.0
Severity: normal | Resolution:
Keywords: |
----------------------+--------------------
Description changed by fgsch:

Old description:

> Using, i.e. ::1 leads to:
>
> {{{
> **** v1 0.1 CLI RX| IP constant '"::1"' could not be resolved to an IP
> address:\n
> **** v1 0.1 CLI RX| \tServname not supported for ai_socktype\n
> **** v1 0.1 CLI RX| (Sorry if that error message is gibberish.)\n
> }}}
>
> Works fine in 4.0. This broke when Resolve_Sockaddr() was changed to use
> VSS_resolver().
>
> The workaround is to use [].

New description:

Using, i.e. ::1 leads to:

{{{
**** v1 0.1 CLI RX| IP constant '"::1"' could not be resolved to an IP
address:\n
**** v1 0.1 CLI RX| \tServname not supported for ai_socktype\n
**** v1 0.1 CLI RX| (Sorry if that error message is gibberish.)\n
}}}

Test attached. Works fine in 4.0.

This broke when Resolve_Sockaddr() was changed to use VSS_resolver().

The workaround is to use [].

--

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1801#comment:2>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1801: Fail parsing IPv6 constants [ In reply to ]
#1801: Fail parsing IPv6 constants
----------------------+----------------------
Reporter: fgsch | Owner:
Type: defect | Status: closed
Priority: normal | Milestone:
Component: varnishd | Version: 4.1.0
Severity: normal | Resolution: wontfix
Keywords: |
----------------------+----------------------
Changes (by phk):

* status: new => closed
* resolution: => wontfix


Comment:

This is not our fault.

Despite widespread use of the IP:PORT notation, some dimwits decided to
format IPv6 addresses using ':' as separator.

Ever since then things have been going downhill.

Here is my partial list of RFC's which define how IPv6 addresses look:

{{{
RFC1884 -> 2373 1080::8:800:200C:417A
RFC1884 ::13.1.68.3
RFC1884 ::FFFF:129.144.52.38
RFC1924 4)+k&C#VzJ4br>0wv%Yp
RFC2133 -> 2133
RFC2292 -> 3542
RFC2373 -> 3513
RFC2428 EPRT |2|1080::8:800:200C:417A|5282|
RFC2553 -> RFC3493
RFC2732 -> 3986 http://[3ffe:2a00:100:7031::1]:8080/
RFC3493 "numeric format"
RFC3513 -> 4291
RFC3986 BNF form
RFC3986 http://[3ffe:2a00:100:7031::1]:8080/
RFC3986 http://[v%x.????]/
RFC5952 [2001:db8::1]:80
}}}

Despite its publication date, I prefer RFC1924 since it would clearly
encourage DNS use.

Anyhow, the "[IPv6]:port" notation is the HTTP way and that's what we're
using.

The only other consistent policy would be to ditch IP:PORT notation
entirely.

We already support space as a seperator in that case, but that requires
quoting stuff on the command line.

We need a close-reason for tickets along the lines of "Doesn't Work For Me
But The World Sucks"

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1801#comment:3>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1801: Fail parsing IPv6 constants [ In reply to ]
#1801: Fail parsing IPv6 constants
----------------------+-----------------------
Reporter: fgsch | Owner:
Type: defect | Status: reopened
Priority: normal | Milestone:
Component: varnishd | Version: 4.1.0
Severity: normal | Resolution:
Keywords: |
----------------------+-----------------------
Changes (by fgsch):

* status: closed => reopened
* resolution: wontfix =>


Comment:

I don't agree with the resolution of this.

To begin with, the rfc1884 (2001:db8::1) format used to work in previous
versions.
The new required format works for IP literals but doesn't work as input
for std.ip().

Obviously when ports are needed using []s is the only way, for anything
else this is forced and arbitrary, specially considering how short and
trivial the patch to support the other notation is (attached).

We don't force the IPv4 literal to be IPv4:PORT so I don't see why we need
to force IPv6 to be that way. This is not consistent either.

We ought to reconsider it.

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1801#comment:4>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1801: Fail parsing IPv6 constants [ In reply to ]
#1801: Fail parsing IPv6 constants
----------------------+---------------------------------------------
Reporter: fgsch | Owner: Federico G. Schwindt <fgsch@…>
Type: defect | Status: closed
Priority: normal | Milestone:
Component: varnishd | Version: 4.1.0
Severity: normal | Resolution: fixed
Keywords: |
----------------------+---------------------------------------------
Changes (by Federico G. Schwindt <fgsch@…>):

* owner: => Federico G. Schwindt <fgsch@…>
* status: reopened => closed
* resolution: => fixed


Comment:

In [a8067c730a180a1d044bce73ad87fc25a0f4995b]:
{{{
#!CommitTicketReference repository=""
revision="a8067c730a180a1d044bce73ad87fc25a0f4995b"
Relax IP constant parsing

Fixes #1801.
}}}

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1801#comment:5>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1801: Fail parsing IPv6 constants [ In reply to ]
#1801: Fail parsing IPv6 constants
----------------------+---------------------------------------------
Reporter: fgsch | Owner: Federico G. Schwindt <fgsch@…>
Type: defect | Status: closed
Priority: normal | Milestone:
Component: varnishd | Version: 4.1.0
Severity: normal | Resolution: fixed
Keywords: |
----------------------+---------------------------------------------

Comment (by Lasse Karstensen <lkarsten@…>):

In [ed1eb987ee9c2eb6224ff37b719c0df79d93b5a2]:
{{{
#!CommitTicketReference repository=""
revision="ed1eb987ee9c2eb6224ff37b719c0df79d93b5a2"
Relax IP constant parsing

Fixes #1801.
}}}

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1801#comment:6>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs