webrtc_m130/p2p/dtls/dtls_utils.h
Philipp Hancke 89b0f2ef71 Introduce p2p DTLS utils
for (partially) parsing DTLS packets and extracting the msg_seqs

BUG=webrtc:367395350

Change-Id: Ieb0fc121c6dc82118ced5939c1a9ebe2d72e3cb3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/370181
Commit-Queue: Philipp Hancke <phancke@meta.com>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Reviewed-by: Jonas Oreland <jonaso@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#43501}
2024-12-05 17:08:59 +00:00

36 lines
1.0 KiB
C++

/*
* Copyright 2024 The WebRTC Project Authors. All rights reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef P2P_DTLS_DTLS_UTILS_H_
#define P2P_DTLS_DTLS_UTILS_H_
#include <cstddef>
#include <cstdint>
#include <optional>
#include <vector>
#include "api/array_view.h"
namespace cricket {
const size_t kDtlsRecordHeaderLen = 13;
const size_t kMaxDtlsPacketLen = 2048;
bool IsDtlsPacket(rtc::ArrayView<const uint8_t> payload);
bool IsDtlsClientHelloPacket(rtc::ArrayView<const uint8_t> payload);
bool IsDtlsHandshakePacket(rtc::ArrayView<const uint8_t> payload);
std::optional<std::vector<uint16_t>> GetDtlsHandshakeAcks(
rtc::ArrayView<const uint8_t> dtls_packet);
} // namespace cricket
#endif // P2P_DTLS_DTLS_UTILS_H_