1*d9f75844SAndroid Build Coastguard Worker /*
2*d9f75844SAndroid Build Coastguard Worker * Copyright (c) 2021 The WebRTC project authors. All Rights Reserved.
3*d9f75844SAndroid Build Coastguard Worker *
4*d9f75844SAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license
5*d9f75844SAndroid Build Coastguard Worker * that can be found in the LICENSE file in the root of the source
6*d9f75844SAndroid Build Coastguard Worker * tree. An additional intellectual property rights grant can be found
7*d9f75844SAndroid Build Coastguard Worker * in the file PATENTS. All contributing project authors may
8*d9f75844SAndroid Build Coastguard Worker * be found in the AUTHORS file in the root of the source tree.
9*d9f75844SAndroid Build Coastguard Worker */
10*d9f75844SAndroid Build Coastguard Worker #include "net/dcsctp/packet/tlv_trait.h"
11*d9f75844SAndroid Build Coastguard Worker
12*d9f75844SAndroid Build Coastguard Worker #include "rtc_base/logging.h"
13*d9f75844SAndroid Build Coastguard Worker
14*d9f75844SAndroid Build Coastguard Worker namespace dcsctp {
15*d9f75844SAndroid Build Coastguard Worker namespace tlv_trait_impl {
ReportInvalidSize(size_t actual_size,size_t expected_size)16*d9f75844SAndroid Build Coastguard Worker void ReportInvalidSize(size_t actual_size, size_t expected_size) {
17*d9f75844SAndroid Build Coastguard Worker RTC_DLOG(LS_WARNING) << "Invalid size (" << actual_size
18*d9f75844SAndroid Build Coastguard Worker << ", expected minimum " << expected_size << " bytes)";
19*d9f75844SAndroid Build Coastguard Worker }
20*d9f75844SAndroid Build Coastguard Worker
ReportInvalidType(int actual_type,int expected_type)21*d9f75844SAndroid Build Coastguard Worker void ReportInvalidType(int actual_type, int expected_type) {
22*d9f75844SAndroid Build Coastguard Worker RTC_DLOG(LS_WARNING) << "Invalid type (" << actual_type << ", expected "
23*d9f75844SAndroid Build Coastguard Worker << expected_type << ")";
24*d9f75844SAndroid Build Coastguard Worker }
25*d9f75844SAndroid Build Coastguard Worker
ReportInvalidFixedLengthField(size_t value,size_t expected)26*d9f75844SAndroid Build Coastguard Worker void ReportInvalidFixedLengthField(size_t value, size_t expected) {
27*d9f75844SAndroid Build Coastguard Worker RTC_DLOG(LS_WARNING) << "Invalid length field (" << value << ", expected "
28*d9f75844SAndroid Build Coastguard Worker << expected << " bytes)";
29*d9f75844SAndroid Build Coastguard Worker }
30*d9f75844SAndroid Build Coastguard Worker
ReportInvalidVariableLengthField(size_t value,size_t available)31*d9f75844SAndroid Build Coastguard Worker void ReportInvalidVariableLengthField(size_t value, size_t available) {
32*d9f75844SAndroid Build Coastguard Worker RTC_DLOG(LS_WARNING) << "Invalid length field (" << value << ", available "
33*d9f75844SAndroid Build Coastguard Worker << available << " bytes)";
34*d9f75844SAndroid Build Coastguard Worker }
35*d9f75844SAndroid Build Coastguard Worker
ReportInvalidPadding(size_t padding_bytes)36*d9f75844SAndroid Build Coastguard Worker void ReportInvalidPadding(size_t padding_bytes) {
37*d9f75844SAndroid Build Coastguard Worker RTC_DLOG(LS_WARNING) << "Invalid padding (" << padding_bytes << " bytes)";
38*d9f75844SAndroid Build Coastguard Worker }
39*d9f75844SAndroid Build Coastguard Worker
ReportInvalidLengthMultiple(size_t length,size_t alignment)40*d9f75844SAndroid Build Coastguard Worker void ReportInvalidLengthMultiple(size_t length, size_t alignment) {
41*d9f75844SAndroid Build Coastguard Worker RTC_DLOG(LS_WARNING) << "Invalid length field (" << length
42*d9f75844SAndroid Build Coastguard Worker << ", expected an even multiple of " << alignment
43*d9f75844SAndroid Build Coastguard Worker << " bytes)";
44*d9f75844SAndroid Build Coastguard Worker }
45*d9f75844SAndroid Build Coastguard Worker } // namespace tlv_trait_impl
46*d9f75844SAndroid Build Coastguard Worker } // namespace dcsctp
47