From: Miroslav Lichvar Date: Thu, 20 Mar 2014 17:29:44 +0000 (+0100) Subject: ntp: don't send requests with unknown key X-Git-Tag: 1.30-pre1~125 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a26058d425fe9b40a7153cccc68fe89d0fa3c519;p=thirdparty%2Fchrony.git ntp: don't send requests with unknown key There is no point in sending a request if the configured key is missing. A reply would be ignored anyway. --- diff --git a/ntp_core.c b/ntp_core.c index 2633fbc6..b098f104 100644 --- a/ntp_core.c +++ b/ntp_core.c @@ -638,6 +638,11 @@ transmit_packet(NTP_Mode my_mode, /* The mode this machine wants to be */ message.auth_keyid = htonl(key_id); NIO_SendAuthenticatedPacket(&message, where_to, sizeof (message.auth_keyid) + auth_len); + } else { + DEBUG_LOG(LOGF_NtpCore, + "Could not generate auth data with key %lu to send packet", + key_id); + return; } } else { UTI_TimevalToInt64(&local_transmit, &message.transmit_ts, ts_fuzz); @@ -662,7 +667,6 @@ transmit_timeout(void *arg) { NCR_Instance inst = (NCR_Instance) arg; double timeout_delay; - int do_auth; inst->timer_running = 0; @@ -730,15 +734,9 @@ transmit_timeout(void *arg) } } - if (inst->do_auth && KEY_KeyKnown(inst->auth_key_id)) { - do_auth = 1; - } else { - do_auth = 0; - } - transmit_packet(inst->mode, inst->local_poll, NTP_VERSION, - do_auth, inst->auth_key_id, + inst->do_auth, inst->auth_key_id, &inst->remote_orig, &inst->local_rx, &inst->local_tx, &inst->local_ntp_tx, &inst->remote_addr);