mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-09-04 08:15:14 +00:00
Add support for alias declaration
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
Parser for dhclient config and lease files... */
|
Parser for dhclient config and lease files... */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996, 1997 The Internet Software Consortium.
|
* Copyright (c) 1997 The Internet Software Consortium.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: clparse.c,v 1.3 1997/02/22 08:38:32 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
|
"$Id: clparse.c,v 1.4 1997/02/22 12:23:22 mellon Exp $ Copyright (c) 1997 The Internet Software Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
@@ -113,7 +113,7 @@ int read_client_conf ()
|
|||||||
|
|
||||||
/* lease-file :== client-lease-statements EOF
|
/* lease-file :== client-lease-statements EOF
|
||||||
client-lease-statements :== <nil>
|
client-lease-statements :== <nil>
|
||||||
| client-lease-statements client-lease-statement */
|
| client-lease-statements LEASE client-lease-statement */
|
||||||
|
|
||||||
void read_client_leases ()
|
void read_client_leases ()
|
||||||
{
|
{
|
||||||
@@ -152,7 +152,8 @@ void read_client_leases ()
|
|||||||
SELECT_TIMEOUT number |
|
SELECT_TIMEOUT number |
|
||||||
SCRIPT string |
|
SCRIPT string |
|
||||||
interface-declaration |
|
interface-declaration |
|
||||||
client-lease-statement */
|
LEASE client-lease-statement |
|
||||||
|
ALIAS client-lease-statement */
|
||||||
|
|
||||||
void parse_client_statement (cfile, ip, config)
|
void parse_client_statement (cfile, ip, config)
|
||||||
FILE *cfile;
|
FILE *cfile;
|
||||||
@@ -222,6 +223,10 @@ void parse_client_statement (cfile, ip, config)
|
|||||||
parse_client_lease_statement (cfile, 1);
|
parse_client_lease_statement (cfile, 1);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case ALIAS:
|
||||||
|
parse_client_lease_statement (cfile, 2);
|
||||||
|
return;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
parse_warn ("expecting a statement.");
|
parse_warn ("expecting a statement.");
|
||||||
skip_to_semi (cfile);
|
skip_to_semi (cfile);
|
||||||
@@ -434,7 +439,7 @@ void make_client_config (ip, config)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* client-lease-statement :==
|
/* client-lease-statement :==
|
||||||
LEASE RBRACE client-lease-declarations LBRACE
|
RBRACE client-lease-declarations LBRACE
|
||||||
|
|
||||||
client-lease-declarations :==
|
client-lease-declarations :==
|
||||||
<nil> |
|
<nil> |
|
||||||
@@ -489,6 +494,12 @@ void parse_client_lease_statement (cfile, is_static)
|
|||||||
if (!ip -> client)
|
if (!ip -> client)
|
||||||
make_client_state (ip);
|
make_client_state (ip);
|
||||||
|
|
||||||
|
/* If this is an alias lease, it doesn't need to be sorted in. */
|
||||||
|
if (is_static == 2) {
|
||||||
|
ip -> client -> alias = lease;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* The last lease in the lease file on a particular interface is
|
/* The last lease in the lease file on a particular interface is
|
||||||
the active lease for that interface. Of course, we don't know
|
the active lease for that interface. Of course, we don't know
|
||||||
what the last lease in the file is until we've parsed the whole
|
what the last lease in the file is until we've parsed the whole
|
||||||
|
@@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: dhclient.c,v 1.25 1997/02/22 08:44:15 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
|
"$Id: dhclient.c,v 1.26 1997/02/22 12:24:28 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
@@ -185,6 +185,9 @@ int main (argc, argv, envp)
|
|||||||
/* Call the script with the list of interfaces. */
|
/* Call the script with the list of interfaces. */
|
||||||
for (ip = interfaces; ip; ip = ip -> next) {
|
for (ip = interfaces; ip; ip = ip -> next) {
|
||||||
script_init (ip, "PREINIT", (struct string_list *)0);
|
script_init (ip, "PREINIT", (struct string_list *)0);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_",
|
||||||
|
ip -> client -> alias);
|
||||||
script_go (ip);
|
script_go (ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -430,6 +433,8 @@ void dhcpack (packet)
|
|||||||
if (ip -> client -> active)
|
if (ip -> client -> active)
|
||||||
script_write_params (ip, "old_", ip -> client -> active);
|
script_write_params (ip, "old_", ip -> client -> active);
|
||||||
script_write_params (ip, "new_", ip -> client -> new);
|
script_write_params (ip, "new_", ip -> client -> new);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_", ip -> client -> alias);
|
||||||
script_go (ip);
|
script_go (ip);
|
||||||
|
|
||||||
/* Replace the old active lease with the new one. */
|
/* Replace the old active lease with the new one. */
|
||||||
@@ -855,6 +860,9 @@ void state_panic (ip)
|
|||||||
ip -> client -> active -> medium);
|
ip -> client -> active -> medium);
|
||||||
script_write_params (ip, "new_",
|
script_write_params (ip, "new_",
|
||||||
ip -> client -> active);
|
ip -> client -> active);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_",
|
||||||
|
ip -> client -> alias);
|
||||||
|
|
||||||
/* If the old lease is still good and doesn't
|
/* If the old lease is still good and doesn't
|
||||||
yet need renewal, go into BOUND state and
|
yet need renewal, go into BOUND state and
|
||||||
@@ -908,6 +916,8 @@ void state_panic (ip)
|
|||||||
and try again later. */
|
and try again later. */
|
||||||
note ("No working leases in persistent database - sleeping.\n");
|
note ("No working leases in persistent database - sleeping.\n");
|
||||||
script_init (ip, "FAIL", (struct string_list *)0);
|
script_init (ip, "FAIL", (struct string_list *)0);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_", ip -> client -> alias);
|
||||||
script_go (ip);
|
script_go (ip);
|
||||||
ip -> client -> state = S_INIT;
|
ip -> client -> state = S_INIT;
|
||||||
add_timeout (cur_time + ip -> client -> config -> retry_interval,
|
add_timeout (cur_time + ip -> client -> config -> retry_interval,
|
||||||
@@ -932,6 +942,9 @@ void send_request (ip)
|
|||||||
/* Run the client script with the new parameters. */
|
/* Run the client script with the new parameters. */
|
||||||
script_init (ip, "EXPIRE", (struct string_list *)0);
|
script_init (ip, "EXPIRE", (struct string_list *)0);
|
||||||
script_write_params (ip, "old_", ip -> client -> active);
|
script_write_params (ip, "old_", ip -> client -> active);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_",
|
||||||
|
ip -> client -> alias);
|
||||||
script_go (ip);
|
script_go (ip);
|
||||||
|
|
||||||
ip -> client -> state = S_INIT;
|
ip -> client -> state = S_INIT;
|
||||||
|
21
clparse.c
21
clparse.c
@@ -3,7 +3,7 @@
|
|||||||
Parser for dhclient config and lease files... */
|
Parser for dhclient config and lease files... */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996, 1997 The Internet Software Consortium.
|
* Copyright (c) 1997 The Internet Software Consortium.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: clparse.c,v 1.3 1997/02/22 08:38:32 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
|
"$Id: clparse.c,v 1.4 1997/02/22 12:23:22 mellon Exp $ Copyright (c) 1997 The Internet Software Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
@@ -113,7 +113,7 @@ int read_client_conf ()
|
|||||||
|
|
||||||
/* lease-file :== client-lease-statements EOF
|
/* lease-file :== client-lease-statements EOF
|
||||||
client-lease-statements :== <nil>
|
client-lease-statements :== <nil>
|
||||||
| client-lease-statements client-lease-statement */
|
| client-lease-statements LEASE client-lease-statement */
|
||||||
|
|
||||||
void read_client_leases ()
|
void read_client_leases ()
|
||||||
{
|
{
|
||||||
@@ -152,7 +152,8 @@ void read_client_leases ()
|
|||||||
SELECT_TIMEOUT number |
|
SELECT_TIMEOUT number |
|
||||||
SCRIPT string |
|
SCRIPT string |
|
||||||
interface-declaration |
|
interface-declaration |
|
||||||
client-lease-statement */
|
LEASE client-lease-statement |
|
||||||
|
ALIAS client-lease-statement */
|
||||||
|
|
||||||
void parse_client_statement (cfile, ip, config)
|
void parse_client_statement (cfile, ip, config)
|
||||||
FILE *cfile;
|
FILE *cfile;
|
||||||
@@ -222,6 +223,10 @@ void parse_client_statement (cfile, ip, config)
|
|||||||
parse_client_lease_statement (cfile, 1);
|
parse_client_lease_statement (cfile, 1);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
case ALIAS:
|
||||||
|
parse_client_lease_statement (cfile, 2);
|
||||||
|
return;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
parse_warn ("expecting a statement.");
|
parse_warn ("expecting a statement.");
|
||||||
skip_to_semi (cfile);
|
skip_to_semi (cfile);
|
||||||
@@ -434,7 +439,7 @@ void make_client_config (ip, config)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* client-lease-statement :==
|
/* client-lease-statement :==
|
||||||
LEASE RBRACE client-lease-declarations LBRACE
|
RBRACE client-lease-declarations LBRACE
|
||||||
|
|
||||||
client-lease-declarations :==
|
client-lease-declarations :==
|
||||||
<nil> |
|
<nil> |
|
||||||
@@ -489,6 +494,12 @@ void parse_client_lease_statement (cfile, is_static)
|
|||||||
if (!ip -> client)
|
if (!ip -> client)
|
||||||
make_client_state (ip);
|
make_client_state (ip);
|
||||||
|
|
||||||
|
/* If this is an alias lease, it doesn't need to be sorted in. */
|
||||||
|
if (is_static == 2) {
|
||||||
|
ip -> client -> alias = lease;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* The last lease in the lease file on a particular interface is
|
/* The last lease in the lease file on a particular interface is
|
||||||
the active lease for that interface. Of course, we don't know
|
the active lease for that interface. Of course, we don't know
|
||||||
what the last lease in the file is until we've parsed the whole
|
what the last lease in the file is until we've parsed the whole
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
Lexical scanner for dhcpd config file... */
|
Lexical scanner for dhcpd config file... */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996 The Internet Software Consortium.
|
* Copyright (c) 1995, 1996, 1997 The Internet Software Consortium.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: conflex.c,v 1.21 1997/02/22 08:29:24 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
|
"$Id: conflex.c,v 1.22 1997/02/22 12:23:40 mellon Exp $ Copyright (c) 1995, 1996, 1997 The Internet Software Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
@@ -355,6 +355,8 @@ static int intern (atom, dfv)
|
|||||||
case 'a':
|
case 'a':
|
||||||
if (!strcasecmp (atom + 1, "llow"))
|
if (!strcasecmp (atom + 1, "llow"))
|
||||||
return ALLOW;
|
return ALLOW;
|
||||||
|
if (!strcasecmp (atom + 1, "lias"))
|
||||||
|
return ALIAS;
|
||||||
break;
|
break;
|
||||||
case 'b':
|
case 'b':
|
||||||
if (!strcasecmp (atom + 1, "ootp"))
|
if (!strcasecmp (atom + 1, "ootp"))
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
Lexical scanner for dhcpd config file... */
|
Lexical scanner for dhcpd config file... */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996 The Internet Software Consortium.
|
* Copyright (c) 1995, 1996, 1997 The Internet Software Consortium.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: conflex.c,v 1.21 1997/02/22 08:29:24 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
|
"$Id: conflex.c,v 1.22 1997/02/22 12:23:40 mellon Exp $ Copyright (c) 1995, 1996, 1997 The Internet Software Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
@@ -355,6 +355,8 @@ static int intern (atom, dfv)
|
|||||||
case 'a':
|
case 'a':
|
||||||
if (!strcasecmp (atom + 1, "llow"))
|
if (!strcasecmp (atom + 1, "llow"))
|
||||||
return ALLOW;
|
return ALLOW;
|
||||||
|
if (!strcasecmp (atom + 1, "lias"))
|
||||||
|
return ALIAS;
|
||||||
break;
|
break;
|
||||||
case 'b':
|
case 'b':
|
||||||
if (!strcasecmp (atom + 1, "ootp"))
|
if (!strcasecmp (atom + 1, "ootp"))
|
||||||
|
15
dhclient.c
15
dhclient.c
@@ -56,7 +56,7 @@
|
|||||||
|
|
||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char copyright[] =
|
static char copyright[] =
|
||||||
"$Id: dhclient.c,v 1.25 1997/02/22 08:44:15 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
|
"$Id: dhclient.c,v 1.26 1997/02/22 12:24:28 mellon Exp $ Copyright (c) 1995, 1996 The Internet Software Consortium. All rights reserved.\n";
|
||||||
#endif /* not lint */
|
#endif /* not lint */
|
||||||
|
|
||||||
#include "dhcpd.h"
|
#include "dhcpd.h"
|
||||||
@@ -185,6 +185,9 @@ int main (argc, argv, envp)
|
|||||||
/* Call the script with the list of interfaces. */
|
/* Call the script with the list of interfaces. */
|
||||||
for (ip = interfaces; ip; ip = ip -> next) {
|
for (ip = interfaces; ip; ip = ip -> next) {
|
||||||
script_init (ip, "PREINIT", (struct string_list *)0);
|
script_init (ip, "PREINIT", (struct string_list *)0);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_",
|
||||||
|
ip -> client -> alias);
|
||||||
script_go (ip);
|
script_go (ip);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -430,6 +433,8 @@ void dhcpack (packet)
|
|||||||
if (ip -> client -> active)
|
if (ip -> client -> active)
|
||||||
script_write_params (ip, "old_", ip -> client -> active);
|
script_write_params (ip, "old_", ip -> client -> active);
|
||||||
script_write_params (ip, "new_", ip -> client -> new);
|
script_write_params (ip, "new_", ip -> client -> new);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_", ip -> client -> alias);
|
||||||
script_go (ip);
|
script_go (ip);
|
||||||
|
|
||||||
/* Replace the old active lease with the new one. */
|
/* Replace the old active lease with the new one. */
|
||||||
@@ -855,6 +860,9 @@ void state_panic (ip)
|
|||||||
ip -> client -> active -> medium);
|
ip -> client -> active -> medium);
|
||||||
script_write_params (ip, "new_",
|
script_write_params (ip, "new_",
|
||||||
ip -> client -> active);
|
ip -> client -> active);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_",
|
||||||
|
ip -> client -> alias);
|
||||||
|
|
||||||
/* If the old lease is still good and doesn't
|
/* If the old lease is still good and doesn't
|
||||||
yet need renewal, go into BOUND state and
|
yet need renewal, go into BOUND state and
|
||||||
@@ -908,6 +916,8 @@ void state_panic (ip)
|
|||||||
and try again later. */
|
and try again later. */
|
||||||
note ("No working leases in persistent database - sleeping.\n");
|
note ("No working leases in persistent database - sleeping.\n");
|
||||||
script_init (ip, "FAIL", (struct string_list *)0);
|
script_init (ip, "FAIL", (struct string_list *)0);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_", ip -> client -> alias);
|
||||||
script_go (ip);
|
script_go (ip);
|
||||||
ip -> client -> state = S_INIT;
|
ip -> client -> state = S_INIT;
|
||||||
add_timeout (cur_time + ip -> client -> config -> retry_interval,
|
add_timeout (cur_time + ip -> client -> config -> retry_interval,
|
||||||
@@ -932,6 +942,9 @@ void send_request (ip)
|
|||||||
/* Run the client script with the new parameters. */
|
/* Run the client script with the new parameters. */
|
||||||
script_init (ip, "EXPIRE", (struct string_list *)0);
|
script_init (ip, "EXPIRE", (struct string_list *)0);
|
||||||
script_write_params (ip, "old_", ip -> client -> active);
|
script_write_params (ip, "old_", ip -> client -> active);
|
||||||
|
if (ip -> client -> alias)
|
||||||
|
script_write_params (ip, "alias_",
|
||||||
|
ip -> client -> alias);
|
||||||
script_go (ip);
|
script_go (ip);
|
||||||
|
|
||||||
ip -> client -> state = S_INIT;
|
ip -> client -> state = S_INIT;
|
||||||
|
4
dhcpd.h
4
dhcpd.h
@@ -3,7 +3,7 @@
|
|||||||
Definitions for dhcpd... */
|
Definitions for dhcpd... */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996 The Internet Software Consortium.
|
* Copyright (c) 1995, 1996, 1997 The Internet Software Consortium.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -130,6 +130,7 @@ struct lease {
|
|||||||
#define DISCOVER_RUNNING 0
|
#define DISCOVER_RUNNING 0
|
||||||
#define DISCOVER_SERVER 1
|
#define DISCOVER_SERVER 1
|
||||||
#define DISCOVER_UNCONFIGURED 2
|
#define DISCOVER_UNCONFIGURED 2
|
||||||
|
#define DISCOVER_RELAY 3
|
||||||
|
|
||||||
/* Group of declarations that share common parameters. */
|
/* Group of declarations that share common parameters. */
|
||||||
struct group {
|
struct group {
|
||||||
@@ -252,6 +253,7 @@ struct client_state {
|
|||||||
struct client_lease *new; /* New lease. */
|
struct client_lease *new; /* New lease. */
|
||||||
struct client_lease *offered_leases; /* Leases offered to us. */
|
struct client_lease *offered_leases; /* Leases offered to us. */
|
||||||
struct client_lease *leases; /* Leases we currently hold. */
|
struct client_lease *leases; /* Leases we currently hold. */
|
||||||
|
struct client_lease *alias; /* Alias lease. */
|
||||||
|
|
||||||
enum dhcp_state state; /* Current state for this interface. */
|
enum dhcp_state state; /* Current state for this interface. */
|
||||||
struct iaddr destination; /* Where to send packet. */
|
struct iaddr destination; /* Where to send packet. */
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
Tokens for config file lexer and parser. */
|
Tokens for config file lexer and parser. */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996 The Internet Software Consortium.
|
* Copyright (c) 1995, 1996, 1997 The Internet Software Consortium.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -110,6 +110,7 @@
|
|||||||
#define DEFAULT 314
|
#define DEFAULT 314
|
||||||
#define MEDIA 315
|
#define MEDIA 315
|
||||||
#define MEDIUM 316
|
#define MEDIUM 316
|
||||||
|
#define ALIAS 317
|
||||||
|
|
||||||
#define is_identifier(x) ((x) >= FIRST_TOKEN && \
|
#define is_identifier(x) ((x) >= FIRST_TOKEN && \
|
||||||
(x) != STRING && \
|
(x) != STRING && \
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
Definitions for dhcpd... */
|
Definitions for dhcpd... */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996 The Internet Software Consortium.
|
* Copyright (c) 1995, 1996, 1997 The Internet Software Consortium.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -130,6 +130,7 @@ struct lease {
|
|||||||
#define DISCOVER_RUNNING 0
|
#define DISCOVER_RUNNING 0
|
||||||
#define DISCOVER_SERVER 1
|
#define DISCOVER_SERVER 1
|
||||||
#define DISCOVER_UNCONFIGURED 2
|
#define DISCOVER_UNCONFIGURED 2
|
||||||
|
#define DISCOVER_RELAY 3
|
||||||
|
|
||||||
/* Group of declarations that share common parameters. */
|
/* Group of declarations that share common parameters. */
|
||||||
struct group {
|
struct group {
|
||||||
@@ -252,6 +253,7 @@ struct client_state {
|
|||||||
struct client_lease *new; /* New lease. */
|
struct client_lease *new; /* New lease. */
|
||||||
struct client_lease *offered_leases; /* Leases offered to us. */
|
struct client_lease *offered_leases; /* Leases offered to us. */
|
||||||
struct client_lease *leases; /* Leases we currently hold. */
|
struct client_lease *leases; /* Leases we currently hold. */
|
||||||
|
struct client_lease *alias; /* Alias lease. */
|
||||||
|
|
||||||
enum dhcp_state state; /* Current state for this interface. */
|
enum dhcp_state state; /* Current state for this interface. */
|
||||||
struct iaddr destination; /* Where to send packet. */
|
struct iaddr destination; /* Where to send packet. */
|
||||||
|
@@ -3,7 +3,7 @@
|
|||||||
Tokens for config file lexer and parser. */
|
Tokens for config file lexer and parser. */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995, 1996 The Internet Software Consortium.
|
* Copyright (c) 1995, 1996, 1997 The Internet Software Consortium.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
@@ -110,6 +110,7 @@
|
|||||||
#define DEFAULT 314
|
#define DEFAULT 314
|
||||||
#define MEDIA 315
|
#define MEDIA 315
|
||||||
#define MEDIUM 316
|
#define MEDIUM 316
|
||||||
|
#define ALIAS 317
|
||||||
|
|
||||||
#define is_identifier(x) ((x) >= FIRST_TOKEN && \
|
#define is_identifier(x) ((x) >= FIRST_TOKEN && \
|
||||||
(x) != STRING && \
|
(x) != STRING && \
|
||||||
|
Reference in New Issue
Block a user