Seems good now. I will keep it running for a while and report back.

Regards

2014-04-14 3:53 GMT+08:00 Simon Kelley <si...@thekelleys.org.uk>:
> I think the problem is that the ipset code simply assumes that the query
> domain will be in daemon->namebuff, which isn't in general true, but
> happened to be by chance before. When DNSSEC is compiled in,
> daemon->namebuf gets used as workspace for DNSSEC and the invalid
> assumption of the ipset code is no longer true.
>
> I've pushed a possible (but untested) fix to the git repo. Does that
> help for you?
>
>
>
>
> Cheers,
>
> Simon.
>
>
>
> On 12/04/14 17:39, Wang Jian wrote:
>> Simply 'make' within git tree (checkout v2.69), I get a binary which works.
>>
>> # ./dnsmasq -v
>> Dnsmasq version 2.69-1-g97dce08  Copyright (c) 2000-2014 Simon Kelley
>> Compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP
>> DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC
>>
>>
>> Running 'git-buildpackage --git-debian-tag=v2.69
>> --git-upstream-tag=v2.69' in git tree, I get a binary which doesn't
>> work
>>
>> # /usr/sbin/dnsmasq -v
>> Dnsmasq version 2.69-1-g97dce08  Copyright (c) 2000-2014 Simon Kelley
>> Compile time options: IPv6 GNU-getopt DBus i18n IDN DHCP DHCPv6 no-Lua
>> TFTP conntrack ipset auth DNSSEC
>>
>>
>> The 2.69 binary from sid repository doesn't work, either.
>>
>>
>> 2014-04-12 21:06 GMT+08:00 Wang Jian <larkw...@gmail.com>:
>>> Hi,
>>>
>>> I build 2.69 deb package from git tree to use the new ipset action
>>> log. To my surprise, ipset action stops working.
>>>
>>> I traced the process_reply() and found some strange behavior, but I am
>>> not familiar with util.c, so I can only provide what I found. (break
>>> at process_reply() then break at hostname_isequal(). )
>>>
>>> I use 'host 6pm.com' to trigger the break point.  In the output, you
>>> can see 6pm.com should be matched but actually not.
>>>
>>> ---- snip ----
>>>
>>> Breakpoint 1, process_reply (header=header@entry=0x85cb278,
>>> now=now@entry=1397305916, server=server@entry=0x85d70a8,
>>>     n=n@entry=267, check_rebind=check_rebind@entry=0,
>>> no_cache=no_cache@entry=0, cache_secure=0, ad_reqd=0, do_bit=0,
>>>     added_pheader=0, check_subnet=0,
>>> query_source=query_source@entry=0x85d2e68) at forward.c:545
>>> 545     forward.c: No such file or directory.
>>> (gdb) display ipset_pos->domain
>>> 1: ipset_pos->domain = 0x85d5040 "6pm.com"
>>> (gdb) break hostname_isequal
>>> Breakpoint 2 at 0x8059410: file util.c, line 288.
>>> (gdb) c
>>> Continuing.
>>>
>>> Breakpoint 2, hostname_isequal (a=a@entry=0x85c9859 "6pm\003com",
>>> b=b@entry=0x85d5040 "6pm.com") at util.c:288
>>> 288     util.c: No such file or directory.
>>> (gdb) display a
>>> 2: a = 0x85c9859 "6pm\003com"
>>> (gdb) display b
>>> 3: b = 0x85d5040 "6pm.com"
>>> (gdb) c
>>> Continuing.
>>>
>>> Breakpoint 1, process_reply (header=header@entry=0x85cb278,
>>> now=now@entry=1397305916, server=server@entry=0x85d70a8,
>>>     n=n@entry=267, check_rebind=check_rebind@entry=0,
>>> no_cache=no_cache@entry=0, cache_secure=0, ad_reqd=0, do_bit=0,
>>>     added_pheader=0, check_subnet=0,
>>> query_source=query_source@entry=0x85d2e68) at forward.c:545
>>> 545     forward.c: No such file or directory.
>>> 1: ipset_pos->domain = 0x85d4e68 "zlib.net"
>>> (gdb)
>>> Continuing.
>>>
>>> Breakpoint 2, hostname_isequal (a=a@entry=0x85c9858
>>> "\003\066pm\003com", b=b@entry=0x85d4e68 "zlib.net") at util.c:288
>>> 288     util.c: No such file or directory.
>>> 3: b = 0x85d4e68 "zlib.net"
>>> 2: a = 0x85c9858 "\003\066pm\003com"
>>> (gdb)
>>> Continuing.
>>>
>>> Breakpoint 1, process_reply (header=header@entry=0x85cb278,
>>> now=now@entry=1397305916, server=server@entry=0x85d70a8,
>>>     n=n@entry=267, check_rebind=check_rebind@entry=0,
>>> no_cache=no_cache@entry=0, cache_secure=0, ad_reqd=0, do_bit=0,
>>>     added_pheader=0, check_subnet=0,
>>> query_source=query_source@entry=0x85d2e68) at forward.c:545
>>> 545     forward.c: No such file or directory.
>>> 1: ipset_pos->domain = 0x85d47c8 "hulu.com"
>>> (gdb)
>>> Continuing.
>>>
>>> Breakpoint 2, hostname_isequal (a=a@entry=0x85c9858
>>> "\003\066pm\003com", b=b@entry=0x85d47c8 "hulu.com") at util.c:288
>>> 288     util.c: No such file or directory.
>>> 3: b = 0x85d47c8 "hulu.com"
>>> 2: a = 0x85c9858 "\003\066pm\003com"
>>> (gdb)
>>> Continuing.
>>>
>>> Breakpoint 2, hostname_isequal (a=a@entry=0x85c9858 "6pm.com",
>>> b=b@entry=0x85d69b0 "6pm.com") at util.c:288
>>> 288     in util.c
>>> 3: b = 0x85d69b0 "6pm.com"
>>> 2: a = 0x85c9858 "6pm.com"
>>> (gdb)
>>> Continuing.
>>>
>>> Breakpoint 2, hostname_isequal (a=0x85d69b0 "6pm.com", b=0x85d7240
>>> "wiki.nginx.org") at util.c:288
>>> 288     in util.c
>>> 3: b = 0x85d7240 "wiki.nginx.org"
>>> 2: a = 0x85d69b0 "6pm.com"
>>> (gdb)
>>
>

_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss

Reply via email to