mirror of
https://github.com/facebookincubator/mvfst.git
synced 2025-07-30 14:43:05 +03:00
Remove throws from PacketNumberCipher
Summary: Continuing the theme. Reviewed By: kvtsoy Differential Revision: D74944002 fbshipit-source-id: 9f23780aada2841ee88a365b93850fde4bb27a70
This commit is contained in:
committed by
Facebook GitHub Bot
parent
ab8a6386c2
commit
92c50dad6f
@ -309,13 +309,19 @@ continuousMemoryBuildScheduleEncrypt(
|
||||
packetBuf->prepend(headerLen);
|
||||
|
||||
HeaderForm headerForm = packet->packet.header.getHeaderForm();
|
||||
encryptPacketHeader(
|
||||
auto headerEncryptResult = encryptPacketHeader(
|
||||
headerForm,
|
||||
packetBuf->writableData(),
|
||||
headerLen,
|
||||
packetBuf->data() + headerLen,
|
||||
packetBuf->length() - headerLen,
|
||||
headerCipher);
|
||||
if (headerEncryptResult.hasError()) {
|
||||
return folly::makeUnexpected(headerEncryptResult.error());
|
||||
}
|
||||
if (headerEncryptResult.hasError()) {
|
||||
return folly::makeUnexpected(headerEncryptResult.error());
|
||||
}
|
||||
CHECK(!packetBuf->isChained());
|
||||
auto encodedSize = packetBuf->length();
|
||||
auto encodedBodySize = encodedSize - headerLen;
|
||||
@ -413,13 +419,16 @@ iobufChainBasedBuildScheduleEncrypt(
|
||||
packetBuf->append(headerLen + bodyLen + aead.getCipherOverhead());
|
||||
|
||||
HeaderForm headerForm = packet->packet.header.getHeaderForm();
|
||||
encryptPacketHeader(
|
||||
auto headerEncryptResult = encryptPacketHeader(
|
||||
headerForm,
|
||||
packetBuf->writableData(),
|
||||
headerLen,
|
||||
packetBuf->data() + headerLen,
|
||||
packetBuf->length() - headerLen,
|
||||
headerCipher);
|
||||
if (headerEncryptResult.hasError()) {
|
||||
return folly::makeUnexpected(headerEncryptResult.error());
|
||||
}
|
||||
auto encodedSize = packetBuf->computeChainDataLength();
|
||||
auto encodedBodySize = encodedSize - headerLen;
|
||||
if (encodedSize > connection.udpSendPacketLen) {
|
||||
@ -1525,7 +1534,7 @@ void writeShortClose(
|
||||
headerCipher);
|
||||
}
|
||||
|
||||
void encryptPacketHeader(
|
||||
folly::Expected<folly::Unit, QuicError> encryptPacketHeader(
|
||||
HeaderForm headerForm,
|
||||
uint8_t* header,
|
||||
size_t headerLen,
|
||||
@ -1546,12 +1555,19 @@ void encryptPacketHeader(
|
||||
MutableByteRange packetNumByteRange(
|
||||
header + headerLen - packetNumberLength, packetNumberLength);
|
||||
if (headerForm == HeaderForm::Short) {
|
||||
headerCipher.encryptShortHeader(
|
||||
auto result = headerCipher.encryptShortHeader(
|
||||
sample, initialByteRange, packetNumByteRange);
|
||||
if (result.hasError()) {
|
||||
return folly::makeUnexpected(result.error());
|
||||
}
|
||||
} else {
|
||||
headerCipher.encryptLongHeader(
|
||||
auto result = headerCipher.encryptLongHeader(
|
||||
sample, initialByteRange, packetNumByteRange);
|
||||
if (result.hasError()) {
|
||||
return folly::makeUnexpected(result.error());
|
||||
}
|
||||
}
|
||||
return folly::unit;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user