Subject: | DHCP segfault when using OMAPI to free lease-it shd not do this |
Per Stephen at the 4/17 con-call:
We will work to include a fix for this in future release:
We have a DHCP simulator (a program written in Java) that sends empty
client hostname if one is not configured.
We are considering fixing this in our simulator as well; however other
DHCP clients/simulators could cause DHCPD to segfault as well.
RT4754
On Mon Mar 26 17:32:17 2012, mcnally wrote:
> client-hostname attribute?
>
> Michael McNally
> ISC Support
>
>
> dhan@bluecatnetworks.com wrote:
> > When we use OMAPI to query and free a DHCP lease, we got a segfault
> > error, as shown below:
> >
> > Program terminated with signal 11, Segmentation fault.
> > [New process 26547]
> > #0 0x080547b6 in omapi_generic_set_value (h=0x84df8b8, id=0x0,
> > name=0x84dff80, value=0x84df910) at generic.c:71
> > 71 if (!omapi_data_string_cmp (name, g -> values [i] -> name)) {
> > (gdb) where
> > #0 0x080547b6 in omapi_generic_set_value (h=0x84df8b8, id=0x0,
> > name=0x84dff80, value=0x84df910) at generic.c:71
> > #1 0x0804b679 in dhcpctl_remote_set_value (h=0x84de730, id=0x0,
> > name=0x84dff80, value=0x84df910) at remote.c:278
> > #2 0x0804a67f in dhcpctl_set_int_value (h=0x84de730, value=1330549000,
> > value_name=0x805feca "ends")
> > at dhcpctl.c:422
> > #3 0x08049eae in setLeaseTimes (lease_handle=0x84de730) at
> > freeHostIP.c:387
> > #4 0x08049969 in main (argc=2, argv=0xbff136b4) at freeHostIP.c:148
> >
> > It coredumps when the lease record contains empty client-hostname like
> > this:
> > lease 192.168.32.6 {
> > starts 3 2012/02/29 16:54:51;
> > ends 4 2012/03/01 16:54:51;
> > tstp 4 2012/03/01 16:54:51;
> > cltt 3 2012/02/29 16:54:51;
> > binding state active;
> > next binding state free;
> > hardware ethernet 11:22:33:44:55:6a;
> > set ddns-rev-name = "6.32.168.192.in-addr.arpa";
> > set ddns-txt = "00c28b328363b8a3dd4f9e2a2089f85ca3";
> > set ddns-fwd-name = "host-11-22-33-44-55-6a.domain.bcn.com";
> > client-hostname "";
> > }
> >
> > If you need more details, please let me know.
> >
> > Thank you very much.
> >
> > Dong
> >
> > Dong Han
> > Bluecat Networks Inc.
We will work to include a fix for this in future release:
We have a DHCP simulator (a program written in Java) that sends empty
client hostname if one is not configured.
We are considering fixing this in our simulator as well; however other
DHCP clients/simulators could cause DHCPD to segfault as well.
RT4754
On Mon Mar 26 17:32:17 2012, mcnally wrote:
> Dong --
>
> We've been investigating the issue below, but would like some additional
> context. Can you tell us how the leases are receiving a
null-string-valued>
> We've been investigating the issue below, but would like some additional
> context. Can you tell us how the leases are receiving a
> client-hostname attribute?
>
> Michael McNally
> ISC Support
>
>
> dhan@bluecatnetworks.com wrote:
> > When we use OMAPI to query and free a DHCP lease, we got a segfault
> > error, as shown below:
> >
> > Program terminated with signal 11, Segmentation fault.
> > [New process 26547]
> > #0 0x080547b6 in omapi_generic_set_value (h=0x84df8b8, id=0x0,
> > name=0x84dff80, value=0x84df910) at generic.c:71
> > 71 if (!omapi_data_string_cmp (name, g -> values [i] -> name)) {
> > (gdb) where
> > #0 0x080547b6 in omapi_generic_set_value (h=0x84df8b8, id=0x0,
> > name=0x84dff80, value=0x84df910) at generic.c:71
> > #1 0x0804b679 in dhcpctl_remote_set_value (h=0x84de730, id=0x0,
> > name=0x84dff80, value=0x84df910) at remote.c:278
> > #2 0x0804a67f in dhcpctl_set_int_value (h=0x84de730, value=1330549000,
> > value_name=0x805feca "ends")
> > at dhcpctl.c:422
> > #3 0x08049eae in setLeaseTimes (lease_handle=0x84de730) at
> > freeHostIP.c:387
> > #4 0x08049969 in main (argc=2, argv=0xbff136b4) at freeHostIP.c:148
> >
> > It coredumps when the lease record contains empty client-hostname like
> > this:
> > lease 192.168.32.6 {
> > starts 3 2012/02/29 16:54:51;
> > ends 4 2012/03/01 16:54:51;
> > tstp 4 2012/03/01 16:54:51;
> > cltt 3 2012/02/29 16:54:51;
> > binding state active;
> > next binding state free;
> > hardware ethernet 11:22:33:44:55:6a;
> > set ddns-rev-name = "6.32.168.192.in-addr.arpa";
> > set ddns-txt = "00c28b328363b8a3dd4f9e2a2089f85ca3";
> > set ddns-fwd-name = "host-11-22-33-44-55-6a.domain.bcn.com";
> > client-hostname "";
> > }
> >
> > If you need more details, please let me know.
> >
> > Thank you very much.
> >
> > Dong
> >
> > Dong Han
> > Bluecat Networks Inc.