*** From dhcp-server -- To unsubscribe, see the end of this message. ***

> We have come across a problem with the ISC dhcpd, this occurs with all
> versions that I have tested back to 2.0 , but the supplied data is from
> test runs with 3.0b pl11.
> 
> The server runs on FreeBSD, version 3.2. The client is NT 4.0, this client
> will successfully get a lease via an ISC dhcp running on our ethernet, but
> not when dialing in via the service provider that the dhcp scope listed is
> intended to serve. In this case, dhcp requests are being forwarded through
> a Cisco router running IOS 12.
>  
> In order to show the problem, I compiled the server with DEBUG_PACKET,
> DEBUG_FIND_LEASE and POINTER_DEBUG (print.c and client do not compile
> cleanly with these options by the way)
> 
> However the server does not crash, it exits via log_fatal().
> 
> Running in gdb, the data in the lease looked to be basically sound, and we
> could not work out why the server was exiting. So as it seemed to be on
> the test:
> 
>  if (lease -> uid_len < sizeof (lease -> uid_buf))
> 
> in memory.c, we increased the size of uid_buf to 34 bytes.
> 
> Then the server actually did grant the lease, and we were able to see in
> the leases file, that the uid was exactly 32 bytes in length.
> 
> So my questions are:
> 
> Why is uid_buf set to 32 bytes, is there a standard that says that uid's
> should only be 32 bytes?  If so, to allow for the case of a 32 byte uid,
> does the buffer need to be 33 bytes long, or should the test be <=
> sizeof() ?
> 
> In any case, should this be a fatal error? the reason that we found this
> problem was because this request caused the server to exit and thus many
> other dhcp requests were unfullfilled (actually that statement applies to
> our main server, not the server for which I am attaching data).
> 
> I cannot attach a stack trace as requested, as the server exits cleanly, I
> have attached tty output from running the server, first with debugging
> turned on and uid_buf set to 32 bytes:
> 
> Script started on Mon Nov 15 17:02:04 1999
> unixmon# ../dhcpd -cf dhcpd.conf -lf dhcpd.leases -d xl0
> Internet Software Consortium DHCP Server V3.0b1pl11
> Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.
> All rights reserved.
> 
> Please contribute if you find this software useful.
> For info, please visit http://www.isc.org/dhcp-contrib.html
> 
> Listening on BPF/xl0/00:50:04:3b:80:f5/10.31.0.0
> Sending on   BPF/xl0/00:50:04:3b:80:f5/10.31.0.0
> Sending on   Socket/fallback/fallback-net
> hardware lease and uid lease are identical.
> hardware lease and ip lease are identical.
> uid lease and ip lease are identical.
> Not returning a lease.
> corrupt lease uid.
> exiting.
> 
> Script done on Mon Nov 15 17:21:42 1999
> 
> 
> --------------------------------------------------------------------------
> ----------------------------------------------- 
> Then with debugging turned on and uid_buf set to 34 bytes.
> 
>  
> Script started on Mon Nov 15 17:23:21 1999
> unixmon# ../dhcpd -cf dhcpd.conf -lf dhcpd.leases -d xl0
> Internet Software Consortium DHCP Server V3.0b1pl11
> Copyright 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.
> All rights reserved.
> 
> Please contribute if you find this software useful.
> For info, please visit http://www.isc.org/dhcp-contrib.html
> 
> Listening on BPF/xl0/00:50:04:3b:80:f5/10.31.0.0
> Sending on   BPF/xl0/00:50:04:3b:80:f5/10.31.0.0
> Sending on   Socket/fallback/fallback-net
> hardware lease and uid lease are identical.
> hardware lease and ip lease are identical.
> uid lease and ip lease are identical.
> Not returning a lease.
> packet length 576
> op = 1  htype = 1  hlen = 6  hops = 0
> xid = d7190000  secs = 0  flags = 0
> ciaddr = 0.0.0.0
> yiaddr = 0.0.0.0
> siaddr = 0.0.0.0
> giaddr = 10.31.1.7
> chaddr = 00:00:0c:5d:b3:ff
> filename = 
> server_name = 
> 
> 000: 01 01 06 00 00 00 19 d7  00 00 00 00 00 00 00 00
> 010: 00 00 00 00 00 00 00 00  0a 1f 01 07 00 00 0c 5d
> 020: b3 ff 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 030: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 040: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 050: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 090: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0a0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0b0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0c0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0d0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0e0: 00 00 00 00 00 00 00 00  00 00 00 00 63 82 53 63
> 0f0: 35 01 01 39 02 04 00 3d  20 00 63 69 73 63 6f 2d
> 100: 31 30 2e 33 31 2e 31 2e  37 2d 56 69 72 74 75 61
> 110: 6c 2d 41 63 63 65 73 73  31 ff 00 00 00 00 00 00
> 120: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 130: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 140: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 150: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 160: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 170: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 180: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 190: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1a0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1b0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1c0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1d0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1e0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1f0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 200: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 210: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 220: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 230: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> DHCPDISCOVER from 00:00:0c:5d:b3:ff via 10.31.1.7
> unexpected ICMP Echo Reply from 192.168.30.4
> DHCPOFFER on 10.31.1.200 to 00:00:0c:5d:b3:ff via 10.31.1.7
> 000: 02 01 06 00 00 00 19 d7  00 00 00 00 00 00 00 00
> 010: 0a 1f 01 c8 0a 1f 01 30  0a 1f 01 07 00 00 0c 5d
> 020: b3 ff 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 030: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 040: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 050: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 090: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0a0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0b0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0c0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0d0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0e0: 00 00 00 00 00 00 00 00  00 00 00 00 63 82 53 63
> 0f0: 35 01 02 36 04 0a 1f 01  30 33 04 00 00 38 40 01
> 100: 04 ff ff 00 00 03 04 0a  1f 01 01 06 08 0a 1e e0
> 110: 04 0a 1e 20 05 3a 04 00  00 1c 20 3b 04 00 00 31
> 120: 38 1c 04 0a 1f ff ff 2c  08 0a 1e e0 06 0a 1e a0
> 130: 1a 2d 04 0a 1e e0 06 2e  01 08 0f 10 63 74 78 75
> 140: 6b 2e 63 69 74 72 69 78  2e 63 6f 6d ff
> trying next lease matching client id: 10.31.1.200
> Found lease for client id: 10.31.1.200.
> trying next lease matching hw addr: 10.31.1.200
> Found lease for hardware address: 10.31.1.200.
> Found lease for requested address: 10.31.1.200.
> hardware lease and uid lease are identical.
> uid lease and ip lease are identical.
> choosing lease on requested address.
> Returning lease: 10.31.1.200.
> packet length 576
> op = 1  htype = 1  hlen = 6  hops = 0
> xid = d7190000  secs = 0  flags = 0
> ciaddr = 0.0.0.0
> yiaddr = 0.0.0.0
> siaddr = 0.0.0.0
> giaddr = 10.31.1.7
> chaddr = 00:00:0c:5d:b3:ff
> filename = 
> server_name = 
> 
> 000: 01 01 06 00 00 00 19 d7  00 00 00 00 00 00 00 00
> 010: 00 00 00 00 00 00 00 00  0a 1f 01 07 00 00 0c 5d
> 020: b3 ff 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 030: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 040: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 050: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 090: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0a0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0b0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0c0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0d0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0e0: 00 00 00 00 00 00 00 00  00 00 00 00 63 82 53 63
> 0f0: 35 01 03 39 02 04 00 3d  20 00 63 69 73 63 6f 2d
> 100: 31 30 2e 33 31 2e 31 2e  37 2d 56 69 72 74 75 61
> 110: 6c 2d 41 63 63 65 73 73  31 36 04 0a 1f 01 30 32
> 120: 04 0a 1f 01 c8 33 04 00  00 38 40 ff 00 00 00 00
> 130: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 140: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 150: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 160: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 170: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 180: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 190: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1a0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1b0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1c0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1d0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1e0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 1f0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 200: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 210: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 220: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 230: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> DHCPREQUEST for 10.31.1.200 from 00:00:0c:5d:b3:ff via 10.31.1.7
> DHCPACK on 10.31.1.200 to 00:00:0c:5d:b3:ff via 10.31.1.7
> 000: 02 01 06 00 00 00 19 d7  00 00 00 00 00 00 00 00
> 010: 0a 1f 01 c8 0a 1f 01 30  0a 1f 01 07 00 00 0c 5d
> 020: b3 ff 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 030: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 040: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 050: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 090: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0a0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0b0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0c0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0d0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
> 0e0: 00 00 00 00 00 00 00 00  00 00 00 00 63 82 53 63
> 0f0: 35 01 05 36 04 0a 1f 01  30 33 04 00 00 38 40 01
> 100: 04 ff ff 00 00 03 04 0a  1f 01 01 06 08 0a 1e e0
> 110: 04 0a 1e 20 05 3a 04 00  00 1c 20 3b 04 00 00 31
> 120: 38 1c 04 0a 1f ff ff 2c  08 0a 1e e0 06 0a 1e a0
> 130: 1a 2d 04 0a 1e e0 06 2e  01 08 0f 10 63 74 78 75
> 140: 6b 2e 63 69 74 72 69 78  2e 63 6f 6d ff
> DHCPRELEASE of 10.31.1.200 from 00:00:0c:5d:b3:ff via 10.31.1.200 (found)
> DHCPRELEASE of 10.31.1.200 from 00:00:0c:5d:b3:ff via 10.31.1.200 (found)
> DHCPRELEASE of 10.31.1.200 from 00:00:0c:5d:b3:ff via 10.31.1.200 (found)
> ^C
> 
> Script done on Mon Nov 15 17:28:09 1999
> 
>  
> --------------------------------------------------------------------------
> -----------------------------------------------  
> This is the leases file for the second case (it remains empty in the first
> case). Note that the uid is axactly 32 bytes long.
>  
> # All times in this file are in UTC (GMT), not your local timezone.   This
> is
> # not a bug, so please don't ask about it.   There is no portable way to
> # store leases in the local timezone, so please don't request this as a
> # feature.   If this is inconvenient or confusing to you, we sincerely
> # apologize.   Seriously, though - don't ask.
> # The format of this file is documented in the dhcpd.leases(5) manual
> page.
> 
> lease 10.31.1.200 {
>       starts 1 1999/11/15 17:25:11;
>       ends 1 1999/11/15 21:25:11;
>       hardware ethernet 00:00:0c:5d:b3:ff;
>       uid
> 00:63:69:73:63:6f:2d:31:30:2e:33:31:2e:31:2e:37:2d:56:69:72:74:75:61:6c:2d
> :41:63:63:65:73:73:31;
> }
> lease 10.31.1.200 {
>       starts 1 1999/11/15 17:25:11;
>       ends 1 1999/11/15 17:25:35;
>       hardware ethernet 00:00:0c:5d:b3:ff;
>       uid
> 00:63:69:73:63:6f:2d:31:30:2e:33:31:2e:31:2e:37:2d:56:69:72:74:75:61:6c:2d
> :41:63:63:65:73:73:31;
> }
> 
>  
> --------------------------------------------------------------------------
> ----------------------------------------------- 
> Configuration file, only the one scope for this subnet defined in this
> test case.
> 
> # dhcpd.conf
> #
> 
> # Hosts with more than one interface MUST specify a ``server-identifier'',
> 
> server-identifier emea-netmon.ctxuk.citrix.com;
> 
> # option definitions common to all supported networks...
> 
> option domain-name "ctxuk.citrix.com";
> option domain-name-servers 10.30.224.4,10.30.32.5;
> 
> # Shared network declaration is used to group subnets which share the same
> 
> # option definitions common to this shared network.
> # 4 Hours
>   default-lease-time 14400;
> # 7 Days
>   max-lease-time 604800;
> # Buggy clients
>   one-lease-per-client true;
> 
> # Network from which we are going to give out addresses
> 
>  subnet 10.31.0.0 netmask 255.255.0.0 {
>       range 10.31.1.200 10.31.1.208;
>       option broadcast-address 10.31.255.255;
>       option routers 10.31.1.1;
>       option netbios-name-servers 10.30.224.6,10.30.160.26;
>       option netbios-dd-server 10.30.224.6;
>       option netbios-node-type 8;
>   }
> 
> 
> Any help appreciated.
> 
> Kevin Quinlan
>  

-----------------------------------------------------------------------
List Archives : http://www.isc.org/ml-archives/dhcp-server/
Unsubscribe   : http://www.isc.org/dhcp-lists.html    
-or-          : mailto:[EMAIL PROTECTED]?Subject=unsubscribe  
-----------------------------------------------------------------------

Reply via email to