summaryrefslogtreecommitdiffstats
path: root/src/lib/dhcpsrv/fuzz_log.h
diff options
context:
space:
mode:
authorStephen Morris <stephen@isc.org>2019-05-29 10:54:07 +0200
committerStephen Morris <stephen@isc.org>2019-12-20 18:55:45 +0100
commit57e98c22f856986969dae82f80343fefe367148a (patch)
treef458e1586d7f39b137882cd90c7de1dae58869c4 /src/lib/dhcpsrv/fuzz_log.h
parent[#640] Initial fuzzing code added for Kea6 (diff)
downloadkea-57e98c22f856986969dae82f80343fefe367148a.tar.xz
kea-57e98c22f856986969dae82f80343fefe367148a.zip
[#640] Major refactoring of fuzzing code
1. Convert to C++ class. 2. Extend framework to support DHCPv4 fuzzing. 3. Restrict size of data that can be accepted from AFL. (Kea will only accept up to about 64k or data, (set by the size of a UDP datagram). However, AFL can send much larger data packets, which may cause problems in synchronization between the two threads used to implement fuzzing in Kea.
Diffstat (limited to 'src/lib/dhcpsrv/fuzz_log.h')
-rw-r--r--src/lib/dhcpsrv/fuzz_log.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/lib/dhcpsrv/fuzz_log.h b/src/lib/dhcpsrv/fuzz_log.h
new file mode 100644
index 0000000000..89a3820d2d
--- /dev/null
+++ b/src/lib/dhcpsrv/fuzz_log.h
@@ -0,0 +1,43 @@
+// Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC")
+//
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#ifndef FUZZ_LOG_H
+#define FUZZ_LOG_H
+
+#include <dhcpsrv/fuzz_messages.h>
+#include <log/macros.h>
+
+namespace isc {
+namespace dhcp {
+
+///@{
+/// \brief Logging levels for fuzzing output
+///
+/// Defines the levels used to output debug messages during fuzzing.
+
+/// @brief Traces normal operations
+///
+/// An example of the normal operation is a report of a packet being received
+/// from the fuzzer.
+extern const int FUZZ_DBG_TRACE;
+
+/// @brief Record detailed traces
+///
+/// Messages logged at this level will log detailed tracing information.
+extern const int FUZZ_DBG_TRACE_DETAIL;
+
+///@}
+
+/// @brief Logger for the @c HostMgr and the code it calls.
+///
+/// Define the logger used to log messages in @c HostMgr and the code it
+/// calls to manage host reservations.
+extern isc::log::Logger fuzz_logger;
+
+} // namespace dhcp
+} // namespace isc
+
+#endif // FUZZ_LOG_H