Fix datagram SPTPS.
Commit dd07c9fc1f
broke the reception of datagram
SPTPS packets, by undoing the conversion of the sequence number to host byte
order before comparison. This caused error messages like "Packet is 16777215
seqs in the future, dropped (1)".
This commit is contained in:
parent
cc3c69c892
commit
3a039ece25
1 changed files with 1 additions and 2 deletions
|
@ -447,8 +447,6 @@ static bool sptps_receive_data_datagram(sptps_t *s, const char *data, size_t len
|
||||||
memcpy(buffer, &netlen, 2);
|
memcpy(buffer, &netlen, 2);
|
||||||
memcpy(buffer + 2, data, len);
|
memcpy(buffer + 2, data, len);
|
||||||
|
|
||||||
memcpy(&seqno, buffer + 2, 4);
|
|
||||||
|
|
||||||
if(!digest_verify(&s->indigest, buffer, len - 14, buffer + len - 14))
|
if(!digest_verify(&s->indigest, buffer, len - 14, buffer + len - 14))
|
||||||
return error(s, EIO, "Invalid HMAC");
|
return error(s, EIO, "Invalid HMAC");
|
||||||
|
|
||||||
|
@ -492,6 +490,7 @@ static bool sptps_receive_data_datagram(sptps_t *s, const char *data, size_t len
|
||||||
s->received++;
|
s->received++;
|
||||||
|
|
||||||
// Decrypt.
|
// Decrypt.
|
||||||
|
memcpy(&seqno, buffer + 2, 4);
|
||||||
cipher_set_counter(&s->incipher, &seqno, sizeof seqno);
|
cipher_set_counter(&s->incipher, &seqno, sizeof seqno);
|
||||||
if(!cipher_counter_xor(&s->incipher, buffer + 6, len - 4, buffer + 6))
|
if(!cipher_counter_xor(&s->incipher, buffer + 6, len - 4, buffer + 6))
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue