On 08/07/11 02:08, Tsantilas Christos wrote:
> On 07/04/2011 01:35 PM, Amos Jeffries wrote:
>> On 29/06/11 23:23, Amos Jeffries wrote:
>>> On 29/06/11 21:26, Tsantilas Christos wrote:
>>>>
>>>> Hi all,
>>>> I am having a small problem with Ip::Address::IsAnyAddr method. As
>>>> it is
>>>> implemented in the case the ipaddress is an IPv4 address and it is
>>>> AnyAddr, the IsAnyAddr method will return false.
>>>>
>>>> I believe we should fix it as follows:
>>>>
>>
>> Actually that led to blocker regression issues with bind() of 0.0.0.0.
>> Reverted it for now.
>>
>> What exactly was the "small problem" you mentioned?
>
> I am trying to fix %la and %lp log formating codes to log the squid
> listening port ip address and port number in the case of intercepted
> connections. Currently they print the remote server ip address and port
> number.
>
> So I need to print the ip address using the related http_port_list
> structure.
>
> I need to do a test here http_port_list::s.IsAnyAddr to see it is
> listening to anyaddr (0.0.0.0), to print a "-", or not to print its ip
> address.
> Looks that when no ip address specified it is set to IPv4 anyAddr.
>
> Is it normal to the IsAnyAddr to not return true if it is an ipv4 anyaddr?
Not really. This is a side effect of retrofitting split-stack changes
into dual-stack designed code where 0.0.0.0 implies ::ffff:/96 rather
than ANYADDR.
The change you made was the right fix, but it now appears we are going
to have to do a deeper check of side effects before it can go in. I
think the DNS issues that popped up immediately are due to IsIPv6()
being true when IsAnyAddr().
Disconnecting the Is*() from each other will have to be the first
minimal step. Then checking the code which ises them to see that no
other assumptions are made. :(
Amos
-- Please be using Current Stable Squid 2.7.STABLE9 or 3.1.14 Beta testers wanted for 3.2.0.9Received on Mon Jul 11 2011 - 05:52:35 MDT
This archive was generated by hypermail 2.2.0 : Tue Jul 12 2011 - 12:00:03 MDT