2
0
mirror of https://gitlab.isc.org/isc-projects/dhcp synced 2025-08-29 13:28:14 +00:00

Add authentication policy, combine enum with bootp policy enum.

This commit is contained in:
Ted Lemon 1999-03-09 23:41:59 +00:00
parent 195ce2f841
commit 08512bce1b

View File

@ -68,16 +68,13 @@
#include "hash.h" #include "hash.h"
#include "inet.h" #include "inet.h"
#include "sysconf.h" #include "sysconf.h"
#include "auth.h"
#if !defined (OPTION_HASH_SIZE) #if !defined (OPTION_HASH_SIZE)
# define OPTION_HASH_SIZE 17 # define OPTION_HASH_SIZE 17
#endif #endif
/* Variable-length array of data. */ /* Variable-length array of data. */
struct auth_key {
int length;
u_int8_t data [1];
};
struct string_list { struct string_list {
struct string_list *next; struct string_list *next;
@ -506,6 +503,7 @@ struct client_lease {
char *server_name; /* Name of boot server. */ char *server_name; /* Name of boot server. */
char *filename; /* Name of file we're supposed to boot. */ char *filename; /* Name of file we're supposed to boot. */
struct string_list *medium; /* Network medium. */ struct string_list *medium; /* Network medium. */
struct data_string auth_key_id; /* Authentication key ID used. */
unsigned int is_static : 1; /* If set, lease is from config file. */ unsigned int is_static : 1; /* If set, lease is from config file. */
unsigned int is_bootp: 1; /* If set, lease was aquired with BOOTP. */ unsigned int is_bootp: 1; /* If set, lease was aquired with BOOTP. */
@ -524,6 +522,10 @@ enum dhcp_state {
S_REBINDING S_REBINDING
}; };
/* Authentication and BOOTP policy possibilities (not all values work
for each). */
enum policy { P_IGNORE, P_ACCEPT, P_PREFER, P_REQUIRE, P_DONT };
/* Configuration information from the config file... */ /* Configuration information from the config file... */
struct client_config { struct client_config {
/* /*
@ -537,6 +539,7 @@ struct client_config {
*/ */
struct group *on_transmission; struct group *on_transmission;
u_int32_t *required_options; /* Options server must supply. */ u_int32_t *required_options; /* Options server must supply. */
u_int32_t *requested_options; /* Options to request from server. */ u_int32_t *requested_options; /* Options to request from server. */
@ -562,9 +565,13 @@ struct client_config {
doesn't configure one. */ doesn't configure one. */
struct string_list *media; /* Possible network media values. */ struct string_list *media; /* Possible network media values. */
char *script_name; /* Name of config script. */ char *script_name; /* Name of config script. */
enum { IGNORE, ACCEPT, PREFER } bootp_policy; enum policy bootp_policy;
/* Ignore, accept or prefer BOOTP /* Ignore, accept or prefer BOOTP
responses. */ responses. */
enum policy auth_policy;
/* Require authentication, prefer
authentication, or don't try to
authenticate. */
struct string_list *medium; /* Current network medium. */ struct string_list *medium; /* Current network medium. */
struct iaddrlist *reject_list; /* Servers to reject. */ struct iaddrlist *reject_list; /* Servers to reject. */