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:
parent
e8062b7ff1
commit
86d29221f3
3 changed files with 20 additions and 0 deletions
14
ntp_auth.c
14
ntp_auth.c
|
@ -422,3 +422,17 @@ NAU_CheckResponseAuth(NAU_Instance instance, NTP_Packet *response, NTP_PacketInf
|
||||||
|
|
||||||
return 1;
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -81,4 +81,7 @@ extern int NAU_GenerateResponseAuth(NTP_Packet *request, NTP_PacketInfo *request
|
||||||
extern int NAU_CheckResponseAuth(NAU_Instance instance, NTP_Packet *response,
|
extern int NAU_CheckResponseAuth(NAU_Instance instance, NTP_Packet *response,
|
||||||
NTP_PacketInfo *info);
|
NTP_PacketInfo *info);
|
||||||
|
|
||||||
|
/* Change an authentication-specific address (e.g. after replacing a source) */
|
||||||
|
extern void NAU_ChangeAddress(NAU_Instance instance, IPAddr *address);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -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),
|
SRC_SetRefid(inst->source, UTI_IPToRefid(&remote_addr->ip_addr),
|
||||||
&inst->remote_addr.ip_addr);
|
&inst->remote_addr.ip_addr);
|
||||||
SRC_ResetInstance(inst->source);
|
SRC_ResetInstance(inst->source);
|
||||||
|
|
||||||
|
if (!ntp_only)
|
||||||
|
NAU_ChangeAddress(inst->auth, &remote_addr->ip_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ================================================== */
|
/* ================================================== */
|
||||||
|
|
Loading…
Reference in a new issue