diff options
Diffstat (limited to '')
-rw-r--r-- | third_party/libwebrtc/net/dcsctp/packet/sctp_packet.cc | 4 |
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 |