dhcpleasequery problems - 4.2.2

Jack Kielsmeier jackkiel at netins.net
Tue Oct 18 18:29:12 UTC 2011


Ok, now that I have correctly commented out the right portion of code,
leasequeries are now working.

I am reluctant to make these changes in our production environment until I
know if either this is a bug in the source or if it's something being caused
by my environment. I think the next step will be for me to take the original
source and try this out on a Linux server (with no modifications). I will
report my findings.

Thanks for the help everyone.
-
Jack Kielsmeier
netINS Systems Administrator
systems at netins.net


-----Original Message-----
From: dhcp-users-bounces+jackkiel=netins.net at lists.isc.org
[mailto:dhcp-users-bounces+jackkiel=netins.net at lists.isc.org] On Behalf Of
scott_stone at trendmicro.com
Sent: Tuesday, October 18, 2011 1:01 PM
To: dhcp-users at lists.isc.org
Subject: RE: dhcpleasequery problems - 4.2.2

probably because you put the end-comment character */  BEFORE the } instead
of after it... move the */ after the } and it will probably compile.

If you're having to comment out this code, however, there's probably
something else wrong... as this code is here for a reason... what is your
system date/time set to?  it's pretty explicit here that it's hitting a
(time_expiry < cur_time), meaning that the lease expiration is in the past
according to the system clock.  I'd look at your clock settings before
performing surgery on the dhcpd source... :)

====================
Scott Stone <scott_stone at trendmicro.com> Manager, DCS-RD Trend Micro, Inc.
http://www.trendmicro.com


-----Original Message-----
From: dhcp-users-bounces+scott_stone=trendmicro.com at lists.isc.org
[mailto:dhcp-users-bounces+scott_stone=trendmicro.com at lists.isc.org] On
Behalf Of Jack Kielsmeier
Sent: Wednesday, October 19, 2011 1:44 AM
To: 'Users of ISC DHCP'
Subject: RE: dhcpleasequery problems - 4.2.2

I get an error when re-compiling the source. I have the following commented
out:

                if (lease->ends > cur_time) {
/*                      if (time_expiry < cur_time) {

 *                              log_error("Impossible condition at %s:%d.",

 *                                        MDL);

 *

 *                              option_state_dereference(&options, MDL);

 *                              lease_dereference(&lease, MDL);

 *                              return;

 */                     }
                        time_expiry = htonl(lease->ends - cur_time);
                        if (!add_option(options,
                                        DHO_DHCP_LEASE_TIME,
                                        &time_expiry,
                                        sizeof(time_expiry))) {
                                option_state_dereference(&options, MDL);
                                lease_dereference(&lease, MDL);
                                log_info("%s: out of memory, no reply sent",
                                         msgbuf);
                                return;
                        }
                }

Line 498 is " time_expiry = htonl(lease->ends - cur_time);", but I believe
that needs stay in? Or should that be commented out as well. If it's
commented out it does compile (but I have not tested leasequeries with it
yet).

With line 498 left in, I get the following when compiling:

dhcpleasequery.c:668: warning: data definition has no type or storage class
dhcpleasequery.c:669: error: syntax error before '&' token
dhcpleasequery.c:669: warning: type defaults to `int' in declaration of
`option_state_dereference'
dhcpleasequery.c:669: warning: data definition has no type or storage class
dhcpleasequery.c:670: error: syntax error before '&' token
dhcpleasequery.c:670: warning: type defaults to `int' in declaration of
`lease_dereference'
dhcpleasequery.c:670: warning: data definition has no type or storage class
dhcpleasequery.c:672: error: syntax error before '.' token
dhcpleasequery.c:676: error: syntax error before '.' token
dhcpleasequery.c:701: error: syntax error before string constant
dhcpleasequery.c:703: warning: type defaults to `int' in declaration of
`log_info'
dhcpleasequery.c:703: warning: type defaults to `int' in declaration of
`dbg_info'
dhcpleasequery.c:703: warning: type defaults to `int' in declaration of
`assoc_ip_cnt'
dhcpleasequery.c:703: error: syntax error before ')' token
dhcpleasequery.c:706: error: syntax error before numeric constant
dhcpleasequery.c:711: warning: type defaults to `int' in declaration of
`send_packet'
dhcpleasequery.c:711: warning: data definition has no type or storage class
gmake[1]: *** [dhcpd-dhcpleasequery.o] Error 1
gmake[1]: Leaving directory `/usr/local/src/dhcp-4.2.2/server'
gmake: *** [all-recursive] Error 1

Code starting at 668 is:

        data_string_forget(&prl, MDL);  /* SK: safe, even if empty */
        option_state_dereference(&options, MDL);
        lease_dereference(&lease, MDL);

        to.sin_family = AF_INET;
#ifdef HAVE_SA_LEN
        to.sin_len = sizeof(to);
#endif

Any advice is appreciated. Thank You,

-
Jack Kielsmeier
netINS Systems Administrator
systems at netins.net


-----Original Message-----
From: dhcp-users-bounces+jackkiel=netins.net at lists.isc.org
[mailto:dhcp-users-bounces+jackkiel=netins.net at lists.isc.org] On Behalf Of
Jack Kielsmeier
Sent: Tuesday, October 18, 2011 8:50 AM
To: 'Users of ISC DHCP'
Subject: RE: dhcpleasequery problems - 4.2.2

Whoops, good catch on the line number.

I will test removing the code in question to see if the queries function. I
will report back on the results.

Thank You,

-
Jack Kielsmeier
netINS Systems Administrator
systems at netins.net


-----Original Message-----
From: dhcp-users-bounces+jackkiel=netins.net at lists.isc.org
[mailto:dhcp-users-bounces+jackkiel=netins.net at lists.isc.org] On Behalf Of
Shawn Routhier
Sent: Monday, October 17, 2011 5:20 PM
To: Users of ISC DHCP
Subject: Re: dhcpleasequery problems - 4.2.2


On Oct 17, 2011, at 12:10 PM, Jack Kielsmeier wrote:

> Hello,
> 
> We are running ISC DHCP 4.2.2 in a redundant fashion (failover peer) 
> in Solaris 11 zones (compiled from source).
> 
> Recently, we have determined that we need to make use of the DHCP 
> leasequery option. In testing, we notice the following occurring in 
> our
logs:
> 
> ------------ LOGS ------------
> 
> Oct 17 13:19:03 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible 
> condition at dhcpleasequery.c:492.
> Oct 17 13:19:09 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible 
> condition at dhcpleasequery.c:492.
> Oct 17 13:19:15 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible 
> condition at dhcpleasequery.c:492.
> Oct 17 13:19:21 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible 
> condition at dhcpleasequery.c:492.
> Oct 17 13:22:34 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible 
> condition at dhcpleasequery.c:492.
> Oct 17 13:22:39 dhcp-dsm dhcpd: [ID 702911 local5.error] Impossible 
> condition at dhcpleasequery.c:492.
> 
> ------------ END LOGS ------------
> 
I think you want line 492 not 432

> Line 432 looks like this:
> 
> lease_dereference(&lease, MDL);
> 
> 

Line 492 deals with checking the lease ends time against the current time.
It also appears to have a bug.  I'll have to go look at the history to
figure out what it thinks it's doing.

It appears that you can simply remove the code from 490 to 498
	if (time_expiry < cur_time {
		stuff
	}

But I haven't tested that or verified that the time_expiry isn't being used
in some odd way I don't understand yet.  If you do test it we would be
interested in the results.

> Any assistance with this matter would be greatly appreciated. I do not 
> know what else to provide (such as the entire dhcpd.conf file, which 
> is pretty long).
> 
> Thank You,
> 
> -
> Jack Kielsmeier
> netINS Systems Administrator
> systems at netins.net
> 



_______________________________________________
dhcp-users mailing list
dhcp-users at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-users



_______________________________________________
dhcp-users mailing list
dhcp-users at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-users



_______________________________________________
dhcp-users mailing list
dhcp-users at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-users
TREND MICRO EMAIL NOTICE
The information contained in this email and any attachments is confidential
and may be subject to copyright or other intellectual property protection.
If you are not the intended recipient, you are not authorized to use or
disclose this information, and we request that you notify us by reply mail
or telephone and delete the original message from your mail system.

_______________________________________________
dhcp-users mailing list
dhcp-users at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-users






More information about the dhcp-users mailing list