]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Support 'never' as a possible lease expiry time.
authorTed Lemon <source@isc.org>
Wed, 8 Sep 1999 01:47:46 +0000 (01:47 +0000)
committerTed Lemon <source@isc.org>
Wed, 8 Sep 1999 01:47:46 +0000 (01:47 +0000)
common/conflex.c
common/parse.c
includes/dhctoken.h

index 34857e0ff77b12103a7d11167afd3893ce8d8042..e504a50ca6bfa4f674b8c775f9ffd054a525bf21 100644 (file)
@@ -22,7 +22,7 @@
 
 #ifndef lint
 static char copyright[] =
-"$Id: conflex.c,v 1.52 1999/08/01 14:26:48 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
+"$Id: conflex.c,v 1.53 1999/09/08 01:45:34 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
 #endif /* not lint */
 
 #include "dhcpd.h"
@@ -495,6 +495,8 @@ static enum dhcp_token intern (atom, dfv)
              case 'i':
                if (!strcasecmp (atom + 1, "nteger"))
                        return INTEGER;
+               if (!strcasecmp (atom + 1, "nfinite"))
+                       return INFINITE;
                if (!strcasecmp (atom + 1, "p-address"))
                        return IP_ADDRESS;
                if (!strcasecmp (atom + 1, "nitial-interval"))
@@ -557,6 +559,8 @@ static enum dhcp_token intern (atom, dfv)
                        return NAMESERVER;
                if (!strcasecmp (atom + 1, "etmask"))
                        return NETMASK;
+               if (!strcasecmp (atom + 1, "ever"))
+                       return NEVER;
                if (!strcasecmp (atom + 1, "ext-server"))
                        return NEXT_SERVER;
                if (!strcasecmp (atom + 1, "ot"))
index 20806fd7071037284d4a765764de3c68e30091c9..d43c41904b995006263473191d0bfdb249abdc1c 100644 (file)
@@ -22,7 +22,7 @@
 
 #ifndef lint
 static char copyright[] =
-"$Id: parse.c,v 1.36 1999/08/01 14:26:49 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
+"$Id: parse.c,v 1.37 1999/09/08 01:45:29 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
 #endif /* not lint */
 
 #include "dhcpd.h"
@@ -536,6 +536,7 @@ void convert_num (buf, str, base, size)
  *             NUMBER COLON NUMBER COLON NUMBER SEMI |
  *          NUMBER NUMBER SLASH NUMBER SLASH NUMBER 
  *             NUMBER COLON NUMBER COLON NUMBER NUMBER SEMI |
+ *         NEVER
  *
  * Dates are stored in GMT or with a timezone offset; first number is day
  * of week; next is year/month/day; next is hours:minutes:seconds on a
@@ -554,8 +555,14 @@ TIME parse_date (cfile)
        static int months [11] = { 31, 59, 90, 120, 151, 181,
                                          212, 243, 273, 304, 334 };
 
-       /* Day of week... */
+       /* Day of week, or "never"... */
        token = next_token (&val, cfile);
+       if (token == NEVER) {
+               if (!parse_semi (cfile))
+                       return 0;
+               return MAX_TIME;
+       }
+
        if (token != NUMBER) {
                parse_warn ("numeric day of week expected.");
                if (token != SEMI)
index fd7820ad593fed77a2b234f54551477b121f38a4..8927d7cdf9922c3cbbad1b3e171dc8842d99f5e5 100644 (file)
@@ -194,6 +194,8 @@ enum dhcp_token {
        DNS_UPDATE = 412,
        LEASE_TIME = 413,
        STATIC = 414,
+       NEVER = 415,
+       INFINITE = 416,
 };
 
 #define is_identifier(x)       ((x) >= FIRST_TOKEN &&  \