mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-20 00:57:49 +01:00

The socket fuzzer is build as a structure-aware fuzzer where the full public API is exercised as well as receival of SCTP packets with random sequences of valid chunks. It begins by putting the socket in a defined starting state and then, based on the fuzzing data, performs a sequence of operations on the socket such as receiving packets, sending data, resetting streams or expiring timers. This is the first iteration, and when running it a while and analyzing code coverage, it will be modified to perform better. It could probably be a little more random. Bug: webrtc:12614 Change-Id: I50d6ffaecef5722be5cf666fee2f0de7d15cc2e8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/218500 Commit-Queue: Victor Boivie <boivie@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33998}
50 lines
1.3 KiB
Text
50 lines
1.3 KiB
Text
# Copyright (c) 2021 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.
|
|
|
|
import("../../../webrtc.gni")
|
|
|
|
rtc_library("dcsctp_fuzzers") {
|
|
testonly = true
|
|
deps = [
|
|
"../../../api:array_view",
|
|
"../../../rtc_base",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:rtc_base_approved",
|
|
"../common:math",
|
|
"../packet:chunk",
|
|
"../packet:error_cause",
|
|
"../packet:parameter",
|
|
"../public:socket",
|
|
"../public:types",
|
|
"../socket:dcsctp_socket",
|
|
]
|
|
sources = [
|
|
"dcsctp_fuzzers.cc",
|
|
"dcsctp_fuzzers.h",
|
|
]
|
|
}
|
|
|
|
if (rtc_include_tests) {
|
|
rtc_library("dcsctp_fuzzers_unittests") {
|
|
testonly = true
|
|
|
|
deps = [
|
|
":dcsctp_fuzzers",
|
|
"../../../api:array_view",
|
|
"../../../rtc_base:checks",
|
|
"../../../rtc_base:gunit_helpers",
|
|
"../../../rtc_base:rtc_base_approved",
|
|
"../../../test:test_support",
|
|
"../packet:sctp_packet",
|
|
"../public:socket",
|
|
"../socket:dcsctp_socket",
|
|
"../testing:testing_macros",
|
|
]
|
|
sources = [ "dcsctp_fuzzers_test.cc" ]
|
|
}
|
|
}
|