On Fri, Feb 01, 2008 at 05:23:46PM -0700, Neil Mayhew wrote:
> Package: dhcp3-client
> Version: 3.1.0-2
> Followup-For: Bug #461079
>
>
> I don't get a segfault, but I do get errors when the client is trying to
> process the domain-search option. I've looked at the wire data with
> wireshark, and the data looks OK:
>
> 0000 02 01 06 00 1f 84 9b 55 00 00 00 00 00 00 00 00 .......U........
> 0010 ac 10 01 fc 00 00 00 00 00 00 00 00 00 11 11 0d ................
> 0020 de bb 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 0060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 0070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 0080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
> 00e0 00 00 00 00 00 00 00 00 00 00 00 00 63 82 53 63 ............c.Sc
> 00f0 35 01 05 36 04 ac 10 01 07 33 04 00 03 f4 80 01 5..6.....3......
> 0100 04 ff ff ff 00 1c 04 ac 10 01 ff 03 04 ac 10 01 ................
> 0110 01 0f 14 64 68 63 70 2e 63 61 6c 2e 77 79 63 6c ...dhcp.cal.wycl
> 0120 69 66 66 65 2e 63 61 06 08 ac 10 00 0f ac 10 01 iffe.ca.........
> 0130 07 77 30 77 79 63 6c 69 66 66 65 2e 63 61 20 63 .w0wycliffe.ca c
> 0140 61 6c 2e 77 79 63 6c 69 66 66 65 2e 63 61 20 64 al.wycliffe.ca d
> 0150 68 63 70 2e 63 61 6c 2e 77 79 63 6c 69 66 66 65 hcp.cal.wycliffe
> 0160 2e 63 61 2c 04 ac 10 01 08 ff .ca,......
>
> (According to wireshark, the domain-search hunk starts at offset 0131
> and ends before 0163.)
>
> Maybe the reason I don't get a segfault is that the domain-search isn't
> the last hunk in the packet?
>
> The errors I see in syslog (and on the terminal if I use ifup) are:
>
> DHCPACK from 172.16.1.7
> Invalid domain list.
> Invalid domain list.
>
> I searched for "Invalid domain" in the source, and found it at
> options.c:1494. This calls MRns_name_unpack, and then I saw the
> following at ns_name.c:320:
>
> case 0:
> /* Limit checks. */
> if (dstp + n + 1 >= dstlim || srcp + n >= eom) {
> errno = EMSGSIZE;
> return (-1);
> }
>
> Shouldn't that be > eom rather than >= eom? It's the only way I can see
> that an error would be returned.
>
> Regardless, the client doesn't seem to like what wireshark thinks is
> perfectly good data.
>
> Hope this helps,
> Could you enable the /etc/dhcp3/dhclient-enter-hooks.d/debug hook (by editing it and changing RUN to "yes") and checking out the /tmp/dhclient-script.debug file and telling me what new_domain_search is set to? regards Andrew
signature.asc
Description: Digital signature

