[dns-client] use 'Header::SetRandomMessageId()' to set query message ID (#6061)

This commit is contained in:
Abtin Keshavarzian
2021-01-12 09:56:02 -08:00
committed by GitHub
parent 61d3c645aa
commit 31a91d1f5c
+4 -16
View File
@@ -88,13 +88,14 @@ otError Client::Query(const QueryInfo &aQuery, ResponseHandler aHandler, void *a
Message * messageCopy = nullptr;
Header header;
QuestionAaaa question;
uint16_t messageId;
VerifyOrExit(aQuery.IsValid(), error = OT_ERROR_INVALID_ARGS);
SuccessOrExit(error = GenerateUniqueRandomId(messageId));
do
{
SuccessOrExit(error = header.SetRandomMessageId());
} while (FindQueryById(header.GetMessageId()) != nullptr);
header.SetMessageId(messageId);
header.SetType(Header::kTypeQuery);
header.SetQueryType(Header::kQueryTypeStandard);
@@ -201,19 +202,6 @@ exit:
}
}
otError Client::GenerateUniqueRandomId(uint16_t &aRandomId)
{
otError error;
do
{
SuccessOrExit(error = Random::Crypto::FillBuffer(reinterpret_cast<uint8_t *>(&aRandomId), sizeof(aRandomId)));
} while (FindQueryById(aRandomId) != nullptr);
exit:
return error;
}
otError Client::CompareQuestions(Message &aMessageResponse, Message &aMessageQuery, uint16_t &aOffset)
{
otError error = OT_ERROR_NONE;