2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-29 13:28:14 +00:00

Look options up in packet options, not generated options.

Fix data_string_truncate so that if data is shorter than requested
truncation, the length is not increased.
This commit is contained in:
Ted Lemon 1999-03-10 20:41:29 +00:00
parent ce0ec46d27
commit f11e65c53f

View File

@ -42,7 +42,7 @@
#ifndef lint #ifndef lint
static char copyright[] = static char copyright[] =
"$Id: tree.c,v 1.20 1999/03/09 20:01:56 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium. All rights reserved.\n"; "$Id: tree.c,v 1.21 1999/03/10 20:41:29 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */ #endif /* not lint */
#include "dhcpd.h" #include "dhcpd.h"
@ -619,7 +619,8 @@ int evaluate_data_expression (result, packet, options, expr)
/* Extract an option. */ /* Extract an option. */
case expr_option: case expr_option:
s0 = ((*expr -> data.option -> universe -> lookup_func) s0 = ((*expr -> data.option -> universe -> lookup_func)
(result, options, expr -> data.option -> code)); (result, &packet -> options,
expr -> data.option -> code));
#if defined (DEBUG_EXPRESSIONS) #if defined (DEBUG_EXPRESSIONS)
log_info ("data: option %s.%s = %s", log_info ("data: option %s.%s = %s",
expr -> data.option -> universe -> name, expr -> data.option -> universe -> name,
@ -1115,9 +1116,10 @@ void data_string_truncate (dp, len)
struct data_string *dp; struct data_string *dp;
int len; int len;
{ {
if (len < dp -> len) if (len < dp -> len) {
dp -> terminated = 0; dp -> terminated = 0;
dp -> len = len; dp -> len = len;
}
} }
int is_boolean_expression (expr) int is_boolean_expression (expr)