2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-31 06:15:55 +00:00

Fix some issues in the code for parsing and printing options.

[ISC-Bugs #22625] - properly print options that have several fields
followed by an array of something for example "fIa"
[ISC-Bugs #27289] - properly parse options in declarations that have
several fields followed by an array of something for example "fIa"
[ISC-Bugs #27296] - properly determine if we parsed a 16 or 32 bit
value in evaluate_numeric_expression (extract-int).
[ISC-Bugs #27314] - properly parse a zero length option from
a lease file.  Thanks to Marius Tomaschewski from SUSE for the report
and prototype patch for this ticket as well as ticket 27289.
This commit is contained in:
Shawn Routhier
2012-06-06 22:50:31 +00:00
parent 9f9265b63f
commit 35de6c8c24
6 changed files with 125 additions and 32 deletions

View File

@@ -64,9 +64,10 @@ HASH_FUNCTIONS (option_code, const unsigned *, struct option,
some event. The special all-ones value means 'infinite'. May either
be printed as a decimal, eg, "3600", or as this name, eg, "infinite".
f - flag (true or false)
A - array of whatever precedes (e.g., IA means array of IP addresses)
a - array of the preceding character (e.g., IIa means two or more IP
addresses)
A - array of all that precedes (e.g., fIA means array of records of
a flag and an IP address)
a - array of the preceding character (e.g., fIa means a single flag
followed by an array of IP addresses)
U - name of an option space (universe)
F - implicit flag - the presence of the option indicates that the
flag is true.