summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Markwalder <tmark@isc.org>2019-12-17 12:25:39 -0500
committerThomas Markwalder <tmark@isc.org>2019-12-17 13:55:15 -0500
commit7f2f8bc2b1d84a9d99b0df5466e7e44285c89ba1 (patch)
tree6c5bd2d6588fa34e05d0db0087387478fd180846
parentc22165aecc942735687dc5e7ce044a2c5ddd3543 (diff)
downloadisc-dhcp-68-changing-d-content-type-to-rfc-1035-name-broke-omapi-key-parsing.tar.gz
Changed ldap.c:_do_lookup_dhcp_int_option() to handle integer data
-rw-r--r--server/ldap.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/server/ldap.c b/server/ldap.c
index 46b13d00..8e80d5b5 100644
--- a/server/ldap.c
+++ b/server/ldap.c
@@ -1137,7 +1137,7 @@ _do_lookup_dhcp_int_option (struct option_state *options, int option_name)
{
struct option_cache *oc;
struct data_string db;
- int ret;
+ int ret = 0;
memset (&db, 0, sizeof (db));
oc = lookup_option (&server_universe, options, option_name);
@@ -1147,13 +1147,14 @@ _do_lookup_dhcp_int_option (struct option_state *options, int option_name)
(struct client_state *) NULL, options,
(struct option_state *) NULL,
&global_scope, oc, MDL) &&
- db.data != NULL && *db.data != '\0')
+ db.data != NULL)
{
- ret = strtol ((const char *) db.data, NULL, 10);
+ if (db.len == 4) {
+ ret = getULong(db.data);
+ }
+
data_string_forget (&db, MDL);
}
- else
- ret = 0;
return (ret);
}