From 200d216c299eb71bf9a481a8e6b656a3d28bd543 Mon Sep 17 00:00:00 2001 From: Ted Lemon Date: Tue, 10 Jun 1997 05:49:15 +0000 Subject: [PATCH] Don't trust client to provide a valid hostname. Be lenient in parsing client hostnames from lease file --- server/confpars.c | 16 +++++++++------- server/db.c | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/server/confpars.c b/server/confpars.c index d192fa1f7..9ee5ec106 100644 --- a/server/confpars.c +++ b/server/confpars.c @@ -42,7 +42,7 @@ #ifndef lint static char copyright[] = -"$Id: confpars.c,v 1.42 1997/06/03 01:06:10 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; +"$Id: confpars.c,v 1.43 1997/06/10 05:49:14 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -1231,12 +1231,14 @@ struct lease *parse_lease_declaration (cfile) case CLIENT_HOSTNAME: seenbit = 1024; - lease.client_hostname = - parse_host_name (cfile); - if (!lease.client_hostname) { - seenbit = 0; - return (struct lease *)0; - } + token = peek_token (&val, cfile); + if (token == STRING) + lease.client_hostname = + parse_string (cfile); + else + lease.client_hostname = + parse_host_name (cfile); + token = CLIENT_HOSTNAME; break; default: diff --git a/server/db.c b/server/db.c index 6fb35dd5b..c3c0a2682 100644 --- a/server/db.c +++ b/server/db.c @@ -42,7 +42,7 @@ #ifndef lint static char copyright[] = -"$Id: db.c,v 1.12 1997/06/08 03:08:29 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; +"$Id: db.c,v 1.13 1997/06/10 05:49:15 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n"; #endif /* not lint */ #include "dhcpd.h" @@ -135,7 +135,7 @@ int write_lease (lease) } if (lease -> client_hostname) { errno = 0; - fprintf (db_file, "\n\tclient-hostname %s;", + fprintf (db_file, "\n\tclient-hostname \"%s\";", lease -> client_hostname); if (errno) { ++errors; -- 2.47.3