ntp: add function to change authentication-specific address

When an NTS source will be replaced, the authentication-specific address
of the NTS-KE server will need to be changed too.
This commit is contained in:
Miroslav Lichvar 2020-02-04 11:50:29 +01:00
parent e8062b7ff1
commit 86d29221f3
3 changed files with 20 additions and 0 deletions

View file

@ -422,3 +422,17 @@ NAU_CheckResponseAuth(NAU_Instance instance, NTP_Packet *response, NTP_PacketInf
return 1;
}
/* ================================================== */
void
NAU_ChangeAddress(NAU_Instance instance, IPAddr *address)
{
switch (instance->mode) {
case NTP_AUTH_NONE:
case NTP_AUTH_SYMMETRIC:
break;
default:
assert(0);
}
}

View file

@ -81,4 +81,7 @@ extern int NAU_GenerateResponseAuth(NTP_Packet *request, NTP_PacketInfo *request
extern int NAU_CheckResponseAuth(NAU_Instance instance, NTP_Packet *response,
NTP_PacketInfo *info);
/* Change an authentication-specific address (e.g. after replacing a source) */
extern void NAU_ChangeAddress(NAU_Instance instance, IPAddr *address);
#endif

View file

@ -710,6 +710,9 @@ NCR_ChangeRemoteAddress(NCR_Instance inst, NTP_Remote_Address *remote_addr, int
SRC_SetRefid(inst->source, UTI_IPToRefid(&remote_addr->ip_addr),
&inst->remote_addr.ip_addr);
SRC_ResetInstance(inst->source);
if (!ntp_only)
NAU_ChangeAddress(inst->auth, &remote_addr->ip_addr);
}
/* ================================================== */