summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/net/dcsctp/packet/sctp_packet.cc
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/libwebrtc/net/dcsctp/packet/sctp_packet.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/third_party/libwebrtc/net/dcsctp/packet/sctp_packet.cc b/third_party/libwebrtc/net/dcsctp/packet/sctp_packet.cc
index de407bb4c7..978181fc2a 100644
--- a/third_party/libwebrtc/net/dcsctp/packet/sctp_packet.cc
+++ b/third_party/libwebrtc/net/dcsctp/packet/sctp_packet.cc
@@ -126,7 +126,9 @@ absl::optional<SctpPacket> SctpPacket::Parse(rtc::ArrayView<const uint8_t> data,
std::vector<uint8_t>(data.begin(), data.end());
if (options.disable_checksum_verification ||
- (options.enable_zero_checksum && common_header.checksum == 0u)) {
+ (options.zero_checksum_alternate_error_detection_method !=
+ ZeroChecksumAlternateErrorDetectionMethod::None() &&
+ common_header.checksum == 0u)) {
// https://www.ietf.org/archive/id/draft-tuexen-tsvwg-sctp-zero-checksum-01.html#section-4.3:
// If an end point has sent the Zero Checksum Acceptable Chunk Parameter in
// an INIT or INIT ACK chunk, it MUST accept SCTP packets using an incorrect