You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.1 KiB
66 lines
2.1 KiB
5 years ago
|
diff -up dhcp-4.2.5/client/dhc6.c.prepend dhcp-4.2.5/client/dhc6.c
|
||
|
--- dhcp-4.2.5/client/dhc6.c.prepend 2016-04-18 14:21:41.062502036 +0200
|
||
|
+++ dhcp-4.2.5/client/dhc6.c 2016-04-18 14:25:11.683732506 +0200
|
||
|
@@ -595,7 +595,7 @@ dhc6_dup_addr(struct dhc6_addr *addr, co
|
||
|
* Parsed options are deleted in order to not save them in the lease file.
|
||
|
*/
|
||
|
static struct dhc6_lease *
|
||
|
-dhc6_leaseify(struct packet *packet)
|
||
|
+dhc6_leaseify(struct packet *packet, struct client_state* client)
|
||
|
{
|
||
|
struct data_string ds;
|
||
|
struct dhc6_lease *lease;
|
||
|
@@ -687,6 +687,11 @@ dhc6_leaseify(struct packet *packet)
|
||
|
lease->server_id.data, 52));
|
||
|
}
|
||
|
|
||
|
+ execute_statements_in_scope(NULL, (struct packet *)packet, NULL,
|
||
|
+ client, lease->options, lease->options,
|
||
|
+ &global_scope, client->config->on_receipt,
|
||
|
+ NULL);
|
||
|
+
|
||
|
return lease;
|
||
|
}
|
||
|
|
||
|
@@ -2892,7 +2897,7 @@ init_handler(struct packet *packet, stru
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
- lease = dhc6_leaseify(packet);
|
||
|
+ lease = dhc6_leaseify(packet, client);
|
||
|
|
||
|
if (dhc6_check_advertise(lease) != ISC_R_SUCCESS) {
|
||
|
log_debug("PRC: Lease failed to satisfy.");
|
||
|
@@ -2975,6 +2980,12 @@ info_request_handler(struct packet *pack
|
||
|
option_state_reference(&client->active_lease->options,
|
||
|
packet->options, MDL);
|
||
|
|
||
|
+ execute_statements_in_scope(NULL, (struct packet *)packet, NULL, client,
|
||
|
+ client->active_lease->options,
|
||
|
+ client->active_lease->options,
|
||
|
+ &global_scope, client->config->on_receipt,
|
||
|
+ NULL);
|
||
|
+
|
||
|
start_informed(client);
|
||
|
}
|
||
|
|
||
|
@@ -3009,7 +3020,7 @@ rapid_commit_handler(struct packet *pack
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
- lease = dhc6_leaseify(packet);
|
||
|
+ lease = dhc6_leaseify(packet, client);
|
||
|
|
||
|
/* This is an out of memory condition...hopefully a temporary
|
||
|
* problem. Returning now makes us try to retransmit later.
|
||
|
@@ -3823,7 +3834,7 @@ reply_handler(struct packet *packet, str
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
- lease = dhc6_leaseify(packet);
|
||
|
+ lease = dhc6_leaseify(packet, client);
|
||
|
|
||
|
/* This is an out of memory condition...hopefully a temporary
|
||
|
* problem. Returning now makes us try to retransmit later.
|
||
|
diff -up dhcp-4.2.5/RELNOTES.prepend dhcp-4.2.5/RELNOTES
|