[Dnsmasq-discuss] ra-only segfault

2013-03-11 Thread Gene Czarcinski

Just happened so I am still collecting information but ...

having a conf file with nothing much specified but:

...
interface=eth2
dhcp-range=fd00:ff:11::2,ra-only
...

results in a segfault

I got this on real hardware with libvirt but have been able to duplicate 
it virtually.  Attached are the syslog messages from the guests syslog.


dnsmasq 2.65-4 on Fedora 18.

Gene
Mar 11 11:20:02 f18test systemd[1]: Starting DNS caching server
Mar 11 11:20:02 f18test kernel: [  581.680208] dnsmasq[1987]: segfault at 0 ip 
00330a285abe sp 7fff10a61478 error 6 in libc-2.16.so[330a20+1ad000]
Mar 11 11:20:02 f18test systemd[1]: Started DNS caching server..
Mar 11 11:20:02 f18test dnsmasq[1987]: started, version 2.65 cachesize 150
Mar 11 11:20:02 f18test dnsmasq[1987]: compile time options: IPv6 GNU-getopt 
DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack
Mar 11 11:20:02 f18test dnsmasq-dhcp[1987]: IPv6 router advertisement enabled
Mar 11 11:20:02 f18test systemd[1]: dnsmasq.service: main process exited, 
code=killed, status=11/SEGV
Mar 11 11:20:02 f18test systemd[1]: Unit dnsmasq.service entered failed state
Mar 11 11:25:21 f18test systemd[1]: Starting Cleanup of Temporary Directories...
Mar 11 11:25:21 f18test systemd-tmpfiles[2021]: stat(/run/user/1000/gvfs) 
failed: Permission denied
Mar 11 11:25:21 f18test systemd[1]: Started Cleanup of Temporary Directories.
___
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss


Re: [Dnsmasq-discuss] ra-only segfault

2013-03-11 Thread Simon Kelley

On 11/03/13 15:33, Gene Czarcinski wrote:

Just happened so I am still collecting information but ...

having a conf file with nothing much specified but:

...
interface=eth2
dhcp-range=fd00:ff:11::2,ra-only
...

results in a segfault

I got this on real hardware with libvirt but have been able to duplicate
it virtually.  Attached are the syslog messages from the guests syslog.

dnsmasq 2.65-4 on Fedora 18.

Gene


I just fed exactly those options into 2.65 as released by me, and it 
didn't crash, so we're going to have to pin this down a bit more.


Cheers,

Simon.



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


Re: [Dnsmasq-discuss] Sometimes forgets to hand out known dhcp-host IP

2013-03-11 Thread hansen
On Fri, Mar 8, 2013 at 6:14 PM, Simon Kelley si...@thekelleys.org.ukwrote:

 On 07/03/13 14:34, hansen wrote:

 Hi dnsmasq'ueraders :)

 I have a small network, where I am trying to split my network into to
 ranges.
 One range for local machines and another range for guests. On two
 different interfaces connected to dnsmasq.

 Usually I don't have any problems, but sometimes my local machines end
 up on the guest range network.
 If I release the DHCP on the machine and reboot it, then it is 50/50 if
 the go back to local network or end up on guest network again.

 Is this network setup just bad and not possible to behave as I expect -
 or is it just a configuration mistake?
 I am running dnsmasq 2.65 on FreeBSD 7.4.
 Looking at the changelog it seems like the feature I'm looking for was
 removed in 2.63 (Remove the interface:interface argument in
 --dhcp-range)

 No that feature won't fix the problem.

 The problem is that you have two interfaces (em1 and em2) connected to the
 same broadcast domain. That's not something that dnsmasq knows how to deal
 with, and it gets confused when is gives a client an address associated
 with one interface, and then it turns up on a different interface.

 Can you use one physical interface on the machine running dnsmasq, and
 give it two addresses?


Hi Simon,

Thanks for replying. I do think it's possible to create virtual IPs on one
physical interface. So you don't think it would be a problem if two VIPs
broadcasts?

Not sure how the ideal setup would be, but probably something with VLAN -
the switch doesn't do that and don't have the funds right now.

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


Re: [Dnsmasq-discuss] Sometimes forgets to hand out known dhcp-host IP

2013-03-11 Thread Simon Kelley

On 11/03/13 16:33, hansen wrote:

On Fri, Mar 8, 2013 at 6:14 PM, Simon Kelley si...@thekelleys.org.uk
mailto:si...@thekelleys.org.uk wrote:

On 07/03/13 14:34, hansen wrote:

Hi dnsmasq'ueraders :)

I have a small network, where I am trying to split my network
into to
ranges.
One range for local machines and another range for guests. On two
different interfaces connected to dnsmasq.

Usually I don't have any problems, but sometimes my local
machines end
up on the guest range network.
If I release the DHCP on the machine and reboot it, then it is
50/50 if
the go back to local network or end up on guest network again.

Is this network setup just bad and not possible to behave as I
expect -
or is it just a configuration mistake?
I am running dnsmasq 2.65 on FreeBSD 7.4.
Looking at the changelog it seems like the feature I'm looking
for was
removed in 2.63 (Remove the interface:interface argument in
--dhcp-range)

No that feature won't fix the problem.

The problem is that you have two interfaces (em1 and em2) connected
to the same broadcast domain. That's not something that dnsmasq
knows how to deal with, and it gets confused when is gives a client
an address associated with one interface, and then it turns up on a
different interface.

Can you use one physical interface on the machine running dnsmasq,
and give it two addresses?


Hi Simon,

Thanks for replying. I do think it's possible to create virtual IPs on
one physical interface.


I'm sure it is. For FreeBSD, the magic keyword is IP alias

One of many google hits that describes it is:
http://www.unixwerk.eu/bsd/ipalias.html

 So you don't think it would be a problem if two

VIPs broadcasts?


It's fine, because dnsmasq will know that both IPs are in the same 
broadcast-domain (ie connected to the same virtual wire). The problems 
you were seeing are because dnsmasq is treating the two interfaces as 
being connected to different interfaces, and trying to keep up with a 
host that lokos like it's moving randomly between the two networks.



In the long term, dnsmasq needs something like the ISC shared network 
keyword for this sort of situation, but that won't solve you immediate 
problem.




Cheers,

Simon.






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


Re: [Dnsmasq-discuss] ra-only segfault

2013-03-11 Thread Gene Czarcinski

On 03/11/2013 12:22 PM, Simon Kelley wrote:

On 11/03/13 15:33, Gene Czarcinski wrote:

Just happened so I am still collecting information but ...

having a conf file with nothing much specified but:

...
interface=eth2
dhcp-range=fd00:ff:11::2,ra-only
...

results in a segfault

I got this on real hardware with libvirt but have been able to duplicate
it virtually.  Attached are the syslog messages from the guests syslog.

dnsmasq 2.65-4 on Fedora 18.

Gene


I just fed exactly those options into 2.65 as released by me, and it 
didn't crash, so we're going to have to pin this down a bit more.


It would be too easy to be that repeatable.  I will set something up to 
be simple and yet demonstrate the failure.


Gene

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


Re: [Dnsmasq-discuss] ra-only segfault

2013-03-11 Thread Gene Czarcinski

On 03/11/2013 12:44 PM, Gene Czarcinski wrote:

On 03/11/2013 12:22 PM, Simon Kelley wrote:

On 11/03/13 15:33, Gene Czarcinski wrote:

Just happened so I am still collecting information but ...

having a conf file with nothing much specified but:

...
interface=eth2
dhcp-range=fd00:ff:11::2,ra-only
...

results in a segfault

I got this on real hardware with libvirt but have been able to 
duplicate

it virtually.  Attached are the syslog messages from the guests syslog.

dnsmasq 2.65-4 on Fedora 18.

Gene


I just fed exactly those options into 2.65 as released by me, and it 
didn't crash, so we're going to have to pin this down a bit more.


It would be too easy to be that repeatable.  I will set something up 
to be simple and yet demonstrate the failure.



More data.  I took the dnsmasq.conf file that I used with libvirt and 
simplified it even further.  Attached the simplified file and the output 
from ip addr.


I tried other options:  static, ra-stateless, and slaac worked OK (at 
least did not segfault).   Both ra-only and ra-names segfaulted.


The system is Fedora 18 which is more or less current.  I also tried 
Fedora 17 but it only had 2.64 and 2.65 (or 2.59 which did not work at all).


OK, ran it from the command line to get (a lot) more info.  This is now 
in bugzilla:

https://bugzilla.redhat.com/show_bug.cgi?id=920300

I have not really look at the info yet, just doing the collection.

Gene

# Mon 11 Mar 2013 12:57:16 EDT 
#strict-order
#domain-needed
#local=//
#except-interface=lo
#bind-dynamic
interface=eth2
dhcp-range=fd00:ff:11:1::2,ra-only,64
#log-queries
#log-dhcp

1: lo: LOOPBACK,UP,LOWER_UP mtu 65536 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host 
   valid_lft forever preferred_lft forever
2: eth0: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP 
qlen 1000
link/ether 52:54:00:51:a9:bc brd ff:ff:ff:ff:ff:ff
inet 192.168.7.166/24 brd 192.168.7.255 scope global eth0
inet6 fd00:beef:10:7::1:37/128 scope global 
   valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe51:a9bc/64 scope link 
   valid_lft forever preferred_lft forever
3: eth1: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP 
qlen 1000
link/ether 52:54:00:05:ad:c2 brd ff:ff:ff:ff:ff:ff
inet6 fe80::5054:ff:fe05:adc2/64 scope link 
   valid_lft forever preferred_lft forever
4: eth2: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP 
qlen 1000
link/ether 52:54:00:31:55:fb brd ff:ff:ff:ff:ff:ff
inet 192.168.223.1/24 brd 192.168.223.255 scope global eth2
inet6 fd00:ff:11:1::2/64 scope global 
   valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe31:55fb/64 scope link 
   valid_lft forever preferred_lft forever
___
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss


Re: [Dnsmasq-discuss] ra-only segfault

2013-03-11 Thread Simon Kelley

On 11/03/13 18:29, Gene Czarcinski wrote:

On 03/11/2013 12:44 PM, Gene Czarcinski wrote:

On 03/11/2013 12:22 PM, Simon Kelley wrote:

On 11/03/13 15:33, Gene Czarcinski wrote:

Just happened so I am still collecting information but ...

having a conf file with nothing much specified but:

...
interface=eth2
dhcp-range=fd00:ff:11::2,ra-only
...

results in a segfault

I got this on real hardware with libvirt but have been able to
duplicate
it virtually. Attached are the syslog messages from the guests syslog.

dnsmasq 2.65-4 on Fedora 18.

Gene


I just fed exactly those options into 2.65 as released by me, and it
didn't crash, so we're going to have to pin this down a bit more.


It would be too easy to be that repeatable. I will set something up to
be simple and yet demonstrate the failure.



More data. I took the dnsmasq.conf file that I used with libvirt and
simplified it even further. Attached the simplified file and the output
from ip addr.

I tried other options: static, ra-stateless, and slaac worked OK (at
least did not segfault). Both ra-only and ra-names segfaulted.

The system is Fedora 18 which is more or less current. I also tried
Fedora 17 but it only had 2.64 and 2.65 (or 2.59 which did not work at
all).

OK, ran it from the command line to get (a lot) more info. This is now
in bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=920300

I have not really look at the info yet, just doing the collection.

Gene




Ok,  this bug is long gone in the 2.66 releases, as the code has been 
completely re-written. The problem is that line 643 of src/dnsmasq.c 
uses   daemon-dhcp_buff2 which is not allocated unless some DHCP 
service is configured. A minimal patch for RH would be something like


daemon-dhcp_buff2=malloc(256);

just before that line, workaround is to configure DHCP service as well 
as RA.



Cheers,

Simon.







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



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