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:
parent
ce0ec46d27
commit
f11e65c53f
@ -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,10 +1116,11 @@ 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)
|
||||||
struct expression *expr;
|
struct expression *expr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user