/*
* Return pointer to a particular option.
*/
-static uint8_t const *option_find(uint8_t const *start, uint8_t const *end, unsigned int option)
+uint8_t const *fr_dhcpv6_option_find(uint8_t const *start, uint8_t const *end, unsigned int option)
{
uint8_t const *p = start;
return false;
}
- if (!option_find(options, end, FR_SERVER_ID)) {
+ if (!fr_dhcpv6_option_find(options, end, FR_SERVER_ID)) {
fail_sid:
fr_strerror_printf("Packet does not contain a Server-Id option");
return false;
}
- option = option_find(options, end, FR_CLIENT_ID);
+ option = fr_dhcpv6_option_find(options, end, FR_CLIENT_ID);
if (!option) {
fail_cid:
fr_strerror_printf("Packet does not contain a Client-Id option");
transaction_id = (packet[1] << 16) | (packet[2] << 8) | packet[3];
if (transaction_id != packet_ctx->transaction_id) goto fail_tid;
- if (!option_find(options, end, FR_SERVER_ID)) goto fail_sid;
+ if (!fr_dhcpv6_option_find(options, end, FR_SERVER_ID)) goto fail_sid;
/*
* It's OK to not have a client ID in the reply if we didn't send one.
*/
- option = option_find(options, end, FR_CLIENT_ID);
+ option = fr_dhcpv6_option_find(options, end, FR_CLIENT_ID);
if (!option) {
if (!packet_ctx->duid) return true;
goto fail_cid;
goto check_duid;
case FR_PACKET_TYPE_VALUE_RECONFIGURE:
- if (!option_find(options, end, FR_SERVER_ID)) goto fail_sid;
+ if (!fr_dhcpv6_option_find(options, end, FR_SERVER_ID)) goto fail_sid;
- option = option_find(options, end, FR_CLIENT_ID);
+ option = fr_dhcpv6_option_find(options, end, FR_CLIENT_ID);
if (!option) goto fail_cid;
/*
if (!packet_ctx->duid) goto fail_duid;
if (!duid_match(option, packet_ctx)) goto fail_match;
- option = option_find(options, end, FR_RECONF_MSG);
+ option = fr_dhcpv6_option_find(options, end, FR_RECONF_MSG);
if (!option) {
fr_strerror_printf("Packet does not contain a Reconf-Msg option");
return false;
case FR_PACKET_TYPE_VALUE_SOLICIT:
case FR_PACKET_TYPE_VALUE_CONFIRM:
case FR_PACKET_TYPE_VALUE_REBIND:
- if (!option_find(options, end, FR_CLIENT_ID)) {
+ if (!fr_dhcpv6_option_find(options, end, FR_CLIENT_ID)) {
fail_cid:
fr_strerror_printf("Packet does not contain a Client-Id option");
return false;
}
- if (!option_find(options, end, FR_SERVER_ID)) {
+ if (!fr_dhcpv6_option_find(options, end, FR_SERVER_ID)) {
fail_sid:
fr_strerror_printf("Packet does not contain a Server-Id option");
return false;
case FR_PACKET_TYPE_VALUE_RENEW:
case FR_PACKET_TYPE_VALUE_DECLINE:
case FR_PACKET_TYPE_VALUE_RELEASE:
- if (!option_find(options, end, FR_CLIENT_ID)) goto fail_cid;
+ if (!fr_dhcpv6_option_find(options, end, FR_CLIENT_ID)) goto fail_cid;
- option = option_find(options, end, FR_SERVER_ID);
+ option = fr_dhcpv6_option_find(options, end, FR_SERVER_ID);
if (!option) goto fail_sid;
if (!duid_match(option, packet_ctx)) {
break;
case FR_PACKET_TYPE_VALUE_INFORMATION_REQUEST:
- option = option_find(options, end, FR_SERVER_ID);
+ option = fr_dhcpv6_option_find(options, end, FR_SERVER_ID);
if (!option) goto fail_sid;
if (!duid_match(option, packet_ctx)) goto fail_match;
/*
* IA options are forbidden.
*/
- if (option_find(options, end, FR_IA_NA)) {
+ if (fr_dhcpv6_option_find(options, end, FR_IA_NA)) {
fr_strerror_printf("Packet contains an IA-NA option");
return false;
}
- if (option_find(options, end, FR_IA_TA)) {
+ if (fr_dhcpv6_option_find(options, end, FR_IA_TA)) {
fr_strerror_printf("Packet contains an IA-TA option");
return false;
}
- if (option_find(options, end, FR_IA_ADDR)) {
+ if (fr_dhcpv6_option_find(options, end, FR_IA_ADDR)) {
fr_strerror_printf("Packet contains an IA-Addr option");
return false;
}