projects
/
project
/
odhcpd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
dhcpv4: force renew nonce authentication support
[project/odhcpd.git]
/
src
/
dhcpv4.h
diff --git
a/src/dhcpv4.h
b/src/dhcpv4.h
index a31d8fe4b4b4811e636422de32e697e3619d7bad..f48c005e7387a3295097d94cb865b3b130509f2c 100644
(file)
--- a/
src/dhcpv4.h
+++ b/
src/dhcpv4.h
@@
-1,5
+1,6
@@
/**
* Copyright (C) 2012 Steven Barth <steven@midlink.org>
/**
* Copyright (C) 2012 Steven Barth <steven@midlink.org>
+ * Copyright (C) 2016 Hans Dedecker <dedeckeh@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
@@
-32,6
+33,7
@@
enum dhcpv4_msg {
DHCPV4_MSG_NAK = 6,
DHCPV4_MSG_RELEASE = 7,
DHCPV4_MSG_INFORM = 8,
DHCPV4_MSG_NAK = 6,
DHCPV4_MSG_RELEASE = 7,
DHCPV4_MSG_INFORM = 8,
+ DHCPV4_MSG_FORCERENEW = 9,
};
enum dhcpv4_opt {
};
enum dhcpv4_opt {
@@
-48,9
+50,12
@@
enum dhcpv4_opt {
DHCPV4_OPT_RENEW = 58,
DHCPV4_OPT_REBIND = 59,
DHCPV4_OPT_IPADDRESS = 50,
DHCPV4_OPT_RENEW = 58,
DHCPV4_OPT_REBIND = 59,
DHCPV4_OPT_IPADDRESS = 50,
- DHCPV4_OPT_HOSTNAME = 1
0
,
+ DHCPV4_OPT_HOSTNAME = 1
2
,
DHCPV4_OPT_REQUEST = 17,
DHCPV4_OPT_USER_CLASS = 77,
DHCPV4_OPT_REQUEST = 17,
DHCPV4_OPT_USER_CLASS = 77,
+ DHCPV4_OPT_AUTHENTICATION = 90,
+ DHCPV4_OPT_SEARCH_DOMAIN = 119,
+ DHCPV4_OPT_FORCERENEW_NONCE_CAPABLE = 145,
DHCPV4_OPT_END = 255,
};
DHCPV4_OPT_END = 255,
};
@@
-72,12
+77,34
@@
struct dhcpv4_message {
uint8_t options[312];
};
uint8_t options[312];
};
+struct dhcpv4_auth_forcerenew {
+ uint8_t protocol;
+ uint8_t algorithm;
+ uint8_t rdm;
+ uint32_t replay[2];
+ uint8_t type;
+ uint8_t key[16];
+} _packed;
+
+struct odhcpd_ref_ip;
+
struct dhcpv4_assignment {
struct list_head head;
struct dhcpv4_assignment {
struct list_head head;
+ struct interface *iface;
+
+ struct uloop_timeout fr_timer;
+ struct odhcpd_ref_ip *fr_ip;
+ bool accept_fr_nonce;
+ int fr_cnt;
+ uint8_t key[16];
+
+ unsigned int flags;
+
uint32_t addr;
time_t valid_until;
uint8_t hwaddr[6];
uint32_t addr;
time_t valid_until;
uint8_t hwaddr[6];
- char hostname[];
+ uint32_t leasetime;
+ char *hostname;
};
struct dhcpv4_option {
};
struct dhcpv4_option {