mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-09-01 23:05:29 +00:00
- The client leasing subsystem was streamlined and corrected to account
more closely for changes in client link attachment selection. [ISC-Bugs #17198]
This commit is contained in:
3
RELNOTES
3
RELNOTES
@@ -64,6 +64,9 @@ suggested fixes to <dhcp-users@isc.org>.
|
|||||||
- sendmsg()/recvmsg() control buffers are now declared in such a way to
|
- sendmsg()/recvmsg() control buffers are now declared in such a way to
|
||||||
ensure they are correctly aligned on all (esp. 64-bit) architectures.
|
ensure they are correctly aligned on all (esp. 64-bit) architectures.
|
||||||
|
|
||||||
|
- The client leasing subsystem was streamlined and corrected to account
|
||||||
|
more closely for changes in client link attachment selection.
|
||||||
|
|
||||||
Changes since 4.0.0a3
|
Changes since 4.0.0a3
|
||||||
|
|
||||||
- The DHCP server no longer requires a "ddns-update-style" statement,
|
- The DHCP server no longer requires a "ddns-update-style" statement,
|
||||||
|
@@ -1262,11 +1262,9 @@ int binding_scope_reference (ptr, bp, file, line)
|
|||||||
/* Make a copy of the data in data_string, upping the buffer reference
|
/* Make a copy of the data in data_string, upping the buffer reference
|
||||||
count if there's a buffer. */
|
count if there's a buffer. */
|
||||||
|
|
||||||
void data_string_copy (dest, src, file, line)
|
void
|
||||||
struct data_string *dest;
|
data_string_copy(struct data_string *dest, const struct data_string *src,
|
||||||
struct data_string *src;
|
const char *file, int line)
|
||||||
const char *file;
|
|
||||||
int line;
|
|
||||||
{
|
{
|
||||||
if (src -> buffer) {
|
if (src -> buffer) {
|
||||||
buffer_reference (&dest -> buffer, src -> buffer, file, line);
|
buffer_reference (&dest -> buffer, src -> buffer, file, line);
|
||||||
|
@@ -107,6 +107,9 @@ extern const int dhcpv6_type_name_max;
|
|||||||
#define IA_NA_OFFSET 12 /* IAID, T1, T2, all 4 octets each */
|
#define IA_NA_OFFSET 12 /* IAID, T1, T2, all 4 octets each */
|
||||||
#define IA_TA_OFFSET 4 /* IAID only, 4 octets */
|
#define IA_TA_OFFSET 4 /* IAID only, 4 octets */
|
||||||
|
|
||||||
|
/* Offsets into IAADDR's where Option spaces commence. */
|
||||||
|
#define IAADDR_OFFSET 24
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* DHCPv6 well-known multicast addressess, from section 5.1 of RFC 3315
|
* DHCPv6 well-known multicast addressess, from section 5.1 of RFC 3315
|
||||||
*/
|
*/
|
||||||
@@ -151,6 +154,9 @@ struct dhcpv6_packet {
|
|||||||
unsigned char options[0];
|
unsigned char options[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Offset into DHCPV6 Reply packets where Options spaces commence. */
|
||||||
|
#define REPLY_OPTIONS_INDEX 4
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Relay packet format, defined in section 7 of RFC 3315
|
* Relay packet format, defined in section 7 of RFC 3315
|
||||||
*/
|
*/
|
||||||
|
@@ -1972,8 +1972,8 @@ int option_state_reference PROTO ((struct option_state **,
|
|||||||
struct option_state *, const char *, int));
|
struct option_state *, const char *, int));
|
||||||
int option_state_dereference PROTO ((struct option_state **,
|
int option_state_dereference PROTO ((struct option_state **,
|
||||||
const char *, int));
|
const char *, int));
|
||||||
void data_string_copy PROTO ((struct data_string *,
|
void data_string_copy(struct data_string *, const struct data_string *,
|
||||||
struct data_string *, const char *, int));
|
const char *, int);
|
||||||
void data_string_forget PROTO ((struct data_string *, const char *, int));
|
void data_string_forget PROTO ((struct data_string *, const char *, int));
|
||||||
void data_string_truncate PROTO ((struct data_string *, int));
|
void data_string_truncate PROTO ((struct data_string *, int));
|
||||||
int executable_statement_allocate PROTO ((struct executable_statement **,
|
int executable_statement_allocate PROTO ((struct executable_statement **,
|
||||||
|
@@ -4018,6 +4018,7 @@ parse_ia_na_declaration(struct parse *cfile) {
|
|||||||
|
|
||||||
/* add to our various structures */
|
/* add to our various structures */
|
||||||
ia_na_add_iaaddr(ia_na, iaaddr, MDL);
|
ia_na_add_iaaddr(ia_na, iaaddr, MDL);
|
||||||
|
ia_na_reference(&iaaddr->ia_na, ia_na, MDL);
|
||||||
pool = NULL;
|
pool = NULL;
|
||||||
if (find_ipv6_pool(&pool, &iaaddr->addr) != ISC_R_SUCCESS) {
|
if (find_ipv6_pool(&pool, &iaaddr->addr) != ISC_R_SUCCESS) {
|
||||||
inet_ntop(AF_INET6, &iaaddr->addr,
|
inet_ntop(AF_INET6, &iaaddr->addr,
|
||||||
|
2158
server/dhcpv6.c
2158
server/dhcpv6.c
File diff suppressed because it is too large
Load Diff
@@ -297,7 +297,6 @@ ia_na_add_iaaddr(struct ia_na *ia_na, struct iaaddr *iaaddr,
|
|||||||
iaaddr_reference(&(ia_na->iaaddr[ia_na->num_iaaddr]), iaaddr,
|
iaaddr_reference(&(ia_na->iaaddr[ia_na->num_iaaddr]), iaaddr,
|
||||||
file, line);
|
file, line);
|
||||||
ia_na->num_iaaddr++;
|
ia_na->num_iaaddr++;
|
||||||
ia_na_reference(&iaaddr->ia_na, ia_na, file, line);
|
|
||||||
|
|
||||||
return ISC_R_SUCCESS;
|
return ISC_R_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user