[SR-Users] IPv6 addresses in dispatcher on IPv4 only proxy

Alex Hermann alex at speakup.nl
Tue Oct 16 14:43:54 CEST 2012


On Monday 15 October 2012, Daniel-Constantin Mierla wrote:
> On 10/11/12 2:11 PM, Alex Hermann wrote:
> > On Thursday 11 October 2012, Daniel-Constantin Mierla wrote:

> > DEBUG: <core> [dns_cache.c:567]: dns_hash_find([IPv6 Address](30), 1),
> > h=707 DEBUG: <core> [resolve.c:727]: get_record: lookup([IPv6 Address],
> > 1) failed DEBUG: <core> [dns_cache.c:895]: dns_cache_mk_bad_entry([IPv6
> > Address], 1, 60, 1)
> > DEBUG: <core> [dns_cache.c:828]: dns_cache_add: adding [IPv6 Address](30)
> > 1 (flags=1) at 707
> > ERROR: dispatcher [dispatch.c:325]: could not resolve [IPv6 Address]
> > WARNING: <core> [mem/f_malloc.c:474]: WARNING:fm_free: free(0) called
> 
> looking at the code it seems to be ending in doing an A lookup instead
> of AAAA, a matter of dns_flags value that should be enabled for IPv6 if
> you set  dns_try_ipv6 global parameter. I couldn't spot where this would
> be disabled if no IPv6 listen socket is provided.

in main.c:
	if (default_core_cfg.dns_try_ipv6 && !(socket_types & SOCKET_T_IPV6)){
		/* if we are not listening on any ipv6 address => no point
		 * to try to resovle ipv6 addresses */
		default_core_cfg.dns_try_ipv6=0;
	}


> If you try the trick of adding one udp worker to listen on ::1, like:
> 
> socket_workers=1
> listen=[::1]
> 
> Does it work?
Yes, that works, but I'd like to prevent the process from listening on IPv6 at 
all.

I think i'll go with the database view solution or patch dispatcher locally to 
skip IPv6 records.

Thanks,

-- 
Met vriendelijke groet,


Alex Hermann
SpeakUp BV
T: 088-SPEAKUP (088-7732587)
F: 088-7732588



More information about the sr-users mailing list