mmmm food
parent
3c5236d5d4
commit
deb4ee52eb
|
@ -28,7 +28,8 @@
|
||||||
static constexpr size_t PACKET_BUFFER_SIZE = 65535;
|
static constexpr size_t PACKET_BUFFER_SIZE = 65535;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These structs are used in combination with templates to create a form of polymorphism which has significantly reduced the code reuse.
|
* These structs are used in combination with templates to create polymorphism between the UDP and TCP implementation.
|
||||||
|
* this design decision has significantly reduced the code reuse while not introducing any runtime overhead.
|
||||||
* The data set within these structures are specific to the protocol they implement. UDP is exactly as specified in the RFC spec
|
* The data set within these structures are specific to the protocol they implement. UDP is exactly as specified in the RFC spec
|
||||||
* TCP is what I observed from wireshark (+2 byte offset)
|
* TCP is what I observed from wireshark (+2 byte offset)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* BLT Memory Util for parsing DNS packets / BLT + ASIO simple packet sender.
|
* BLT Memory Util for parsing DNS packets / BLT + ASIO simple packet sender / BLT Type Name Demangler.
|
||||||
* This software is unlikely to become part of BLT main but is provided under the BLT license (GPL 3).
|
* This software is unlikely to become part of BLT main but is provided under the BLT license (GPL 3).
|
||||||
* Copyright (C) 2023 Brett Terpstra, Et al
|
* Copyright (C) 2023 Brett Terpstra, Et al
|
||||||
*
|
*
|
||||||
|
@ -26,6 +26,13 @@
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <blt/std/memory.h>
|
#include <blt/std/memory.h>
|
||||||
|
#include <blt/std/logging.h>
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
|
||||||
|
#include <cxxabi.h>
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
using asio::ip::udp;
|
using asio::ip::udp;
|
||||||
using asio::ip::tcp;
|
using asio::ip::tcp;
|
||||||
|
@ -128,6 +135,7 @@ namespace blt
|
||||||
void sendUDPMessage(const std::string& host, const unsigned char* const& in, size_t in_size, blt::scoped_buffer<unsigned char>& out,
|
void sendUDPMessage(const std::string& host, const unsigned char* const& in, size_t in_size, blt::scoped_buffer<unsigned char>& out,
|
||||||
size_t& out_size)
|
size_t& out_size)
|
||||||
{
|
{
|
||||||
|
BLT_DEBUG("Sending UDP DNS request to '%s' of size %d", host.c_str(), in_size);
|
||||||
asio::io_context io_context;
|
asio::io_context io_context;
|
||||||
udp::endpoint receiver_endpoint(asio::ip::address::from_string(host), 53);
|
udp::endpoint receiver_endpoint(asio::ip::address::from_string(host), 53);
|
||||||
|
|
||||||
|
@ -138,6 +146,7 @@ namespace blt
|
||||||
|
|
||||||
udp::endpoint sender_endpoint;
|
udp::endpoint sender_endpoint;
|
||||||
out_size = socket.receive_from(asio::buffer(out.data(), out.size()), sender_endpoint);
|
out_size = socket.receive_from(asio::buffer(out.data(), out.size()), sender_endpoint);
|
||||||
|
BLT_DEBUG("Received UDP DNS response from '%s' of size %d", host.c_str(), out_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -151,6 +160,7 @@ namespace blt
|
||||||
void sendTCPMessage(const std::string& host, const unsigned char* const& in, size_t in_size, blt::scoped_buffer<unsigned char>& out,
|
void sendTCPMessage(const std::string& host, const unsigned char* const& in, size_t in_size, blt::scoped_buffer<unsigned char>& out,
|
||||||
size_t& out_size)
|
size_t& out_size)
|
||||||
{
|
{
|
||||||
|
BLT_DEBUG("Sending TCP DNS request to '%s' of size %d", host.c_str(), in_size);
|
||||||
asio::io_context io_context;
|
asio::io_context io_context;
|
||||||
tcp::resolver resolver(io_context);
|
tcp::resolver resolver(io_context);
|
||||||
tcp::resolver::results_type endpoints = resolver.resolve(host, "53");
|
tcp::resolver::results_type endpoints = resolver.resolve(host, "53");
|
||||||
|
@ -161,9 +171,41 @@ namespace blt
|
||||||
asio::write(socket, asio::buffer(in, in_size));
|
asio::write(socket, asio::buffer(in, in_size));
|
||||||
|
|
||||||
out_size = socket.read_some(asio::buffer(out.data(), out.size()));
|
out_size = socket.read_some(asio::buffer(out.data(), out.size()));
|
||||||
|
BLT_DEBUG("Received TCP dns response from '%s' of size %d", host.c_str(), out_size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attempts to demangle the type name of the provided template type
|
||||||
|
* @tparam T
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
template<typename T>
|
||||||
|
static BLT_CPP20_CONSTEXPR inline std::string type_name()
|
||||||
|
{
|
||||||
|
int status;
|
||||||
|
std::string return_name = typeid(T).name();
|
||||||
|
// only defined for GNU C++11?
|
||||||
|
char *demangled_name = abi::__cxa_demangle(return_name.c_str(), nullptr, nullptr, &status);
|
||||||
|
if (demangled_name == nullptr)
|
||||||
|
return return_name;
|
||||||
|
return_name = demangled_name;
|
||||||
|
std::free(demangled_name);
|
||||||
|
return return_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<typename T>
|
||||||
|
static BLT_CPP20_CONSTEXPR inline std::string is_UDP_or_TCP(){
|
||||||
|
std::string type = "UDP";
|
||||||
|
if (blt::string::contains(blt::type_name<T>(), "TCP"))
|
||||||
|
type = "TCP";
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //INSANE_DNS_UTIL_H
|
#endif //INSANE_DNS_UTIL_H
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 55c497475e15b9a4ff0ac319c2997bd1869c4454
|
Subproject commit 1d8f9b4bbdb84647c8a96b1ef87d262afd7021cb
|
|
@ -0,0 +1,619 @@
|
||||||
|
desc: (none)
|
||||||
|
cmd: ./cmake-build-release/insane_dns
|
||||||
|
time_unit: i
|
||||||
|
#-----------
|
||||||
|
snapshot=0
|
||||||
|
#-----------
|
||||||
|
time=0
|
||||||
|
mem_heap_B=0
|
||||||
|
mem_heap_extra_B=0
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=1
|
||||||
|
#-----------
|
||||||
|
time=1858253
|
||||||
|
mem_heap_B=72704
|
||||||
|
mem_heap_extra_B=8
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=2
|
||||||
|
#-----------
|
||||||
|
time=1967477
|
||||||
|
mem_heap_B=72721
|
||||||
|
mem_heap_extra_B=31
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=3
|
||||||
|
#-----------
|
||||||
|
time=2065395
|
||||||
|
mem_heap_B=83254
|
||||||
|
mem_heap_extra_B=426
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=4
|
||||||
|
#-----------
|
||||||
|
time=2127401
|
||||||
|
mem_heap_B=82839
|
||||||
|
mem_heap_extra_B=385
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=5
|
||||||
|
#-----------
|
||||||
|
time=2180342
|
||||||
|
mem_heap_B=346399
|
||||||
|
mem_heap_extra_B=521
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=peak
|
||||||
|
n7: 346399 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12315B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123177: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E23: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E3F: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 6043 in 35 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9F6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121189: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121370: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=6
|
||||||
|
#-----------
|
||||||
|
time=2228939
|
||||||
|
mem_heap_B=346548
|
||||||
|
mem_heap_extra_B=516
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=7
|
||||||
|
#-----------
|
||||||
|
time=2302687
|
||||||
|
mem_heap_B=348602
|
||||||
|
mem_heap_extra_B=758
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=8
|
||||||
|
#-----------
|
||||||
|
time=2402590
|
||||||
|
mem_heap_B=346383
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=9
|
||||||
|
#-----------
|
||||||
|
time=2483605
|
||||||
|
mem_heap_B=347791
|
||||||
|
mem_heap_extra_B=729
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=10
|
||||||
|
#-----------
|
||||||
|
time=2565212
|
||||||
|
mem_heap_B=347203
|
||||||
|
mem_heap_extra_B=741
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=11
|
||||||
|
#-----------
|
||||||
|
time=2621156
|
||||||
|
mem_heap_B=347203
|
||||||
|
mem_heap_extra_B=741
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=detailed
|
||||||
|
n7: 347203 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12315B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123177: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E23: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E3F: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 6847 in 46 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9F6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121189: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121370: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=12
|
||||||
|
#-----------
|
||||||
|
time=2686859
|
||||||
|
mem_heap_B=346993
|
||||||
|
mem_heap_extra_B=711
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=13
|
||||||
|
#-----------
|
||||||
|
time=2791597
|
||||||
|
mem_heap_B=347876
|
||||||
|
mem_heap_extra_B=740
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=14
|
||||||
|
#-----------
|
||||||
|
time=2843781
|
||||||
|
mem_heap_B=347289
|
||||||
|
mem_heap_extra_B=591
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=15
|
||||||
|
#-----------
|
||||||
|
time=2921141
|
||||||
|
mem_heap_B=348298
|
||||||
|
mem_heap_extra_B=646
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=16
|
||||||
|
#-----------
|
||||||
|
time=3030115
|
||||||
|
mem_heap_B=346383
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=17
|
||||||
|
#-----------
|
||||||
|
time=3097580
|
||||||
|
mem_heap_B=346839
|
||||||
|
mem_heap_extra_B=593
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=18
|
||||||
|
#-----------
|
||||||
|
time=3142554
|
||||||
|
mem_heap_B=347052
|
||||||
|
mem_heap_extra_B=620
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=19
|
||||||
|
#-----------
|
||||||
|
time=3219691
|
||||||
|
mem_heap_B=346492
|
||||||
|
mem_heap_extra_B=516
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=20
|
||||||
|
#-----------
|
||||||
|
time=3279011
|
||||||
|
mem_heap_B=347293
|
||||||
|
mem_heap_extra_B=587
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=21
|
||||||
|
#-----------
|
||||||
|
time=3354896
|
||||||
|
mem_heap_B=348888
|
||||||
|
mem_heap_extra_B=784
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=22
|
||||||
|
#-----------
|
||||||
|
time=3432040
|
||||||
|
mem_heap_B=346383
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=23
|
||||||
|
#-----------
|
||||||
|
time=3491370
|
||||||
|
mem_heap_B=347474
|
||||||
|
mem_heap_extra_B=694
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=24
|
||||||
|
#-----------
|
||||||
|
time=3566435
|
||||||
|
mem_heap_B=347294
|
||||||
|
mem_heap_extra_B=730
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=25
|
||||||
|
#-----------
|
||||||
|
time=3626993
|
||||||
|
mem_heap_B=346972
|
||||||
|
mem_heap_extra_B=700
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=detailed
|
||||||
|
n7: 346972 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12315B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123177: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E23: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E3F: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 6616 in 50 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9F6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121189: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121370: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=26
|
||||||
|
#-----------
|
||||||
|
time=3716795
|
||||||
|
mem_heap_B=346972
|
||||||
|
mem_heap_extra_B=700
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=27
|
||||||
|
#-----------
|
||||||
|
time=3761731
|
||||||
|
mem_heap_B=346974
|
||||||
|
mem_heap_extra_B=698
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=28
|
||||||
|
#-----------
|
||||||
|
time=3836623
|
||||||
|
mem_heap_B=347264
|
||||||
|
mem_heap_extra_B=744
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=29
|
||||||
|
#-----------
|
||||||
|
time=3926969
|
||||||
|
mem_heap_B=346723
|
||||||
|
mem_heap_extra_B=565
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=detailed
|
||||||
|
n7: 346723 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12315B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123177: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E23: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E3F: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 6367 in 50 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9F6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121189: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121370: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=30
|
||||||
|
#-----------
|
||||||
|
time=3972677
|
||||||
|
mem_heap_B=348103
|
||||||
|
mem_heap_extra_B=665
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=31
|
||||||
|
#-----------
|
||||||
|
time=4056355
|
||||||
|
mem_heap_B=346383
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=32
|
||||||
|
#-----------
|
||||||
|
time=4147071
|
||||||
|
mem_heap_B=347573
|
||||||
|
mem_heap_extra_B=627
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=33
|
||||||
|
#-----------
|
||||||
|
time=4192567
|
||||||
|
mem_heap_B=347659
|
||||||
|
mem_heap_extra_B=669
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=34
|
||||||
|
#-----------
|
||||||
|
time=4260795
|
||||||
|
mem_heap_B=346776
|
||||||
|
mem_heap_extra_B=592
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=35
|
||||||
|
#-----------
|
||||||
|
time=4306232
|
||||||
|
mem_heap_B=347293
|
||||||
|
mem_heap_extra_B=587
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=36
|
||||||
|
#-----------
|
||||||
|
time=4374355
|
||||||
|
mem_heap_B=348887
|
||||||
|
mem_heap_extra_B=785
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=37
|
||||||
|
#-----------
|
||||||
|
time=4455264
|
||||||
|
mem_heap_B=346383
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=38
|
||||||
|
#-----------
|
||||||
|
time=4523346
|
||||||
|
mem_heap_B=346970
|
||||||
|
mem_heap_extra_B=590
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=39
|
||||||
|
#-----------
|
||||||
|
time=4591349
|
||||||
|
mem_heap_B=347629
|
||||||
|
mem_heap_extra_B=643
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=40
|
||||||
|
#-----------
|
||||||
|
time=4636590
|
||||||
|
mem_heap_B=346811
|
||||||
|
mem_heap_extra_B=581
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=41
|
||||||
|
#-----------
|
||||||
|
time=4727579
|
||||||
|
mem_heap_B=347783
|
||||||
|
mem_heap_extra_B=673
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=detailed
|
||||||
|
n7: 347783 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12315B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123177: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E23: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E3F: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 7427 in 50 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9F6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121189: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121370: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=42
|
||||||
|
#-----------
|
||||||
|
time=4805586
|
||||||
|
mem_heap_B=346383
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=43
|
||||||
|
#-----------
|
||||||
|
time=4873480
|
||||||
|
mem_heap_B=346929
|
||||||
|
mem_heap_extra_B=583
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=44
|
||||||
|
#-----------
|
||||||
|
time=4919047
|
||||||
|
mem_heap_B=347515
|
||||||
|
mem_heap_extra_B=597
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=45
|
||||||
|
#-----------
|
||||||
|
time=4986981
|
||||||
|
mem_heap_B=347195
|
||||||
|
mem_heap_extra_B=613
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=46
|
||||||
|
#-----------
|
||||||
|
time=5032678
|
||||||
|
mem_heap_B=348375
|
||||||
|
mem_heap_extra_B=777
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=47
|
||||||
|
#-----------
|
||||||
|
time=5114347
|
||||||
|
mem_heap_B=346383
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=48
|
||||||
|
#-----------
|
||||||
|
time=5204963
|
||||||
|
mem_heap_B=347542
|
||||||
|
mem_heap_extra_B=602
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=49
|
||||||
|
#-----------
|
||||||
|
time=5296131
|
||||||
|
mem_heap_B=346751
|
||||||
|
mem_heap_extra_B=577
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=detailed
|
||||||
|
n7: 346751 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12315B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123177: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E23: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125E3F: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 6395 in 50 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9F6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121189: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121370: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=50
|
||||||
|
#-----------
|
||||||
|
time=5341085
|
||||||
|
mem_heap_B=346939
|
||||||
|
mem_heap_extra_B=605
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=51
|
||||||
|
#-----------
|
||||||
|
time=5386034
|
||||||
|
mem_heap_B=348215
|
||||||
|
mem_heap_extra_B=785
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=52
|
||||||
|
#-----------
|
||||||
|
time=5468799
|
||||||
|
mem_heap_B=346383
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=53
|
||||||
|
#-----------
|
||||||
|
time=5514187
|
||||||
|
mem_heap_B=347599
|
||||||
|
mem_heap_extra_B=609
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=54
|
||||||
|
#-----------
|
||||||
|
time=5559331
|
||||||
|
mem_heap_B=347542
|
||||||
|
mem_heap_extra_B=602
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=55
|
||||||
|
#-----------
|
||||||
|
time=5604884
|
||||||
|
mem_heap_B=347629
|
||||||
|
mem_heap_extra_B=643
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
|
@ -0,0 +1,512 @@
|
||||||
|
desc: (none)
|
||||||
|
cmd: ./cmake-build-release/insane_dns
|
||||||
|
time_unit: i
|
||||||
|
#-----------
|
||||||
|
snapshot=0
|
||||||
|
#-----------
|
||||||
|
time=0
|
||||||
|
mem_heap_B=0
|
||||||
|
mem_heap_extra_B=0
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=1
|
||||||
|
#-----------
|
||||||
|
time=1858915
|
||||||
|
mem_heap_B=72704
|
||||||
|
mem_heap_extra_B=8
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=2
|
||||||
|
#-----------
|
||||||
|
time=1968102
|
||||||
|
mem_heap_B=72721
|
||||||
|
mem_heap_extra_B=31
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=3
|
||||||
|
#-----------
|
||||||
|
time=1991434
|
||||||
|
mem_heap_B=84075
|
||||||
|
mem_heap_extra_B=141
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=detailed
|
||||||
|
n4: 84075 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 5512 0x13B5F7: blt::logging::tag_map::tag_map(std::initializer_list<blt::logging::tag>) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121247: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121440: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x13B9D6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121259: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121440: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n0: 347 in 6 places, all below massif's threshold (1.00%)
|
||||||
|
#-----------
|
||||||
|
snapshot=4
|
||||||
|
#-----------
|
||||||
|
time=2022277
|
||||||
|
mem_heap_B=81429
|
||||||
|
mem_heap_extra_B=387
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=5
|
||||||
|
#-----------
|
||||||
|
time=2066046
|
||||||
|
mem_heap_B=83254
|
||||||
|
mem_heap_extra_B=426
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=6
|
||||||
|
#-----------
|
||||||
|
time=2097404
|
||||||
|
mem_heap_B=82492
|
||||||
|
mem_heap_extra_B=404
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=7
|
||||||
|
#-----------
|
||||||
|
time=2128135
|
||||||
|
mem_heap_B=82839
|
||||||
|
mem_heap_extra_B=385
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=8
|
||||||
|
#-----------
|
||||||
|
time=2164690
|
||||||
|
mem_heap_B=83930
|
||||||
|
mem_heap_extra_B=342
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=9
|
||||||
|
#-----------
|
||||||
|
time=2185650
|
||||||
|
mem_heap_B=347255
|
||||||
|
mem_heap_extra_B=513
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=peak
|
||||||
|
n7: 347255 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12322B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123247: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125FBD: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125FD9: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 6899 in 36 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9D6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121259: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121440: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=10
|
||||||
|
#-----------
|
||||||
|
time=2217424
|
||||||
|
mem_heap_B=347729
|
||||||
|
mem_heap_extra_B=591
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=11
|
||||||
|
#-----------
|
||||||
|
time=2238570
|
||||||
|
mem_heap_B=347551
|
||||||
|
mem_heap_extra_B=529
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=12
|
||||||
|
#-----------
|
||||||
|
time=2273309
|
||||||
|
mem_heap_B=348435
|
||||||
|
mem_heap_extra_B=605
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=13
|
||||||
|
#-----------
|
||||||
|
time=2296370
|
||||||
|
mem_heap_B=348898
|
||||||
|
mem_heap_extra_B=646
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=14
|
||||||
|
#-----------
|
||||||
|
time=2336534
|
||||||
|
mem_heap_B=347286
|
||||||
|
mem_heap_extra_B=474
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=15
|
||||||
|
#-----------
|
||||||
|
time=2402373
|
||||||
|
mem_heap_B=347239
|
||||||
|
mem_heap_extra_B=505
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=16
|
||||||
|
#-----------
|
||||||
|
time=2431609
|
||||||
|
mem_heap_B=347723
|
||||||
|
mem_heap_extra_B=597
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=17
|
||||||
|
#-----------
|
||||||
|
time=2460342
|
||||||
|
mem_heap_B=348308
|
||||||
|
mem_heap_extra_B=604
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=18
|
||||||
|
#-----------
|
||||||
|
time=2503251
|
||||||
|
mem_heap_B=347552
|
||||||
|
mem_heap_extra_B=616
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=19
|
||||||
|
#-----------
|
||||||
|
time=2531869
|
||||||
|
mem_heap_B=348259
|
||||||
|
mem_heap_extra_B=653
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=20
|
||||||
|
#-----------
|
||||||
|
time=2559925
|
||||||
|
mem_heap_B=347783
|
||||||
|
mem_heap_extra_B=673
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=21
|
||||||
|
#-----------
|
||||||
|
time=2599638
|
||||||
|
mem_heap_B=348508
|
||||||
|
mem_heap_extra_B=612
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=22
|
||||||
|
#-----------
|
||||||
|
time=2623188
|
||||||
|
mem_heap_B=347833
|
||||||
|
mem_heap_extra_B=615
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=23
|
||||||
|
#-----------
|
||||||
|
time=2652796
|
||||||
|
mem_heap_B=348573
|
||||||
|
mem_heap_extra_B=619
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=24
|
||||||
|
#-----------
|
||||||
|
time=2675828
|
||||||
|
mem_heap_B=348603
|
||||||
|
mem_heap_extra_B=637
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=25
|
||||||
|
#-----------
|
||||||
|
time=2700332
|
||||||
|
mem_heap_B=349467
|
||||||
|
mem_heap_extra_B=765
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=26
|
||||||
|
#-----------
|
||||||
|
time=2737715
|
||||||
|
mem_heap_B=348833
|
||||||
|
mem_heap_extra_B=687
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=27
|
||||||
|
#-----------
|
||||||
|
time=2806505
|
||||||
|
mem_heap_B=347407
|
||||||
|
mem_heap_extra_B=521
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=28
|
||||||
|
#-----------
|
||||||
|
time=2828826
|
||||||
|
mem_heap_B=347924
|
||||||
|
mem_heap_extra_B=620
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=29
|
||||||
|
#-----------
|
||||||
|
time=2858597
|
||||||
|
mem_heap_B=348050
|
||||||
|
mem_heap_extra_B=718
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=30
|
||||||
|
#-----------
|
||||||
|
time=2880714
|
||||||
|
mem_heap_B=348504
|
||||||
|
mem_heap_extra_B=712
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=31
|
||||||
|
#-----------
|
||||||
|
time=2917861
|
||||||
|
mem_heap_B=348900
|
||||||
|
mem_heap_extra_B=748
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=detailed
|
||||||
|
n7: 348900 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12322B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123247: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125FBD: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125FD9: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 8544 in 50 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9D6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121259: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121440: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=32
|
||||||
|
#-----------
|
||||||
|
time=2962541
|
||||||
|
mem_heap_B=348485
|
||||||
|
mem_heap_extra_B=763
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=33
|
||||||
|
#-----------
|
||||||
|
time=2992631
|
||||||
|
mem_heap_B=348959
|
||||||
|
mem_heap_extra_B=769
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=detailed
|
||||||
|
n7: 348959 (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
|
||||||
|
n1: 72704 0x49077B9: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:70)
|
||||||
|
n1: 72704 0x4004ABD: call_init (dl-init.c:26)
|
||||||
|
n1: 72704 0x4004BA3: _dl_init (dl-init.c:117)
|
||||||
|
n0: 72704 0x401AA5F: ??? (in /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
|
||||||
|
n1: 65535 0x12322B: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x123247: run_udp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125FBD: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n1: 65535 0x125FD9: run_tcp_server() (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 65535 0x49364A2: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30)
|
||||||
|
n1: 65535 0x4B25043: start_thread (pthread_create.c:442)
|
||||||
|
n0: 65535 0x4BA485F: clone (clone.S:100)
|
||||||
|
n0: 8603 in 50 places, all below massif's threshold (1.00%)
|
||||||
|
n1: 5512 0x13B9D6: std::__detail::_MakeUniq<blt::logging::tag_map>::__single_object std::make_unique<blt::logging::tag_map, blt::logging::tag_map>(blt::logging::tag_map&&) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x121259: __static_initialization_and_destruction_0(int, int) [clone .constprop.0] (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
n1: 5512 0x4AC32F5: call_init (libc-start.c:145)
|
||||||
|
n1: 5512 0x4AC32F5: __libc_start_main@@GLIBC_2.34 (libc-start.c:347)
|
||||||
|
n0: 5512 0x121440: (below main) (in /home/brett/Documents/code/c++/Insane_DNS/cmake-build-release/insane_dns)
|
||||||
|
#-----------
|
||||||
|
snapshot=34
|
||||||
|
#-----------
|
||||||
|
time=3022333
|
||||||
|
mem_heap_B=348515
|
||||||
|
mem_heap_extra_B=765
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=35
|
||||||
|
#-----------
|
||||||
|
time=3052343
|
||||||
|
mem_heap_B=348485
|
||||||
|
mem_heap_extra_B=763
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=36
|
||||||
|
#-----------
|
||||||
|
time=3074669
|
||||||
|
mem_heap_B=348447
|
||||||
|
mem_heap_extra_B=761
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=37
|
||||||
|
#-----------
|
||||||
|
time=3102477
|
||||||
|
mem_heap_B=348046
|
||||||
|
mem_heap_extra_B=730
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=38
|
||||||
|
#-----------
|
||||||
|
time=3148713
|
||||||
|
mem_heap_B=348228
|
||||||
|
mem_heap_extra_B=764
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=39
|
||||||
|
#-----------
|
||||||
|
time=3186244
|
||||||
|
mem_heap_B=348198
|
||||||
|
mem_heap_extra_B=778
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=40
|
||||||
|
#-----------
|
||||||
|
time=3233405
|
||||||
|
mem_heap_B=347703
|
||||||
|
mem_heap_extra_B=601
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=41
|
||||||
|
#-----------
|
||||||
|
time=3261461
|
||||||
|
mem_heap_B=348569
|
||||||
|
mem_heap_extra_B=639
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=42
|
||||||
|
#-----------
|
||||||
|
time=3298648
|
||||||
|
mem_heap_B=347767
|
||||||
|
mem_heap_extra_B=601
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=43
|
||||||
|
#-----------
|
||||||
|
time=3337191
|
||||||
|
mem_heap_B=348547
|
||||||
|
mem_heap_extra_B=661
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=44
|
||||||
|
#-----------
|
||||||
|
time=3365261
|
||||||
|
mem_heap_B=348094
|
||||||
|
mem_heap_extra_B=546
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=45
|
||||||
|
#-----------
|
||||||
|
time=3431516
|
||||||
|
mem_heap_B=347407
|
||||||
|
mem_heap_extra_B=521
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=46
|
||||||
|
#-----------
|
||||||
|
time=3469646
|
||||||
|
mem_heap_B=348563
|
||||||
|
mem_heap_extra_B=629
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=47
|
||||||
|
#-----------
|
||||||
|
time=3516029
|
||||||
|
mem_heap_B=347680
|
||||||
|
mem_heap_extra_B=624
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=48
|
||||||
|
#-----------
|
||||||
|
time=3562998
|
||||||
|
mem_heap_B=348678
|
||||||
|
mem_heap_extra_B=690
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=49
|
||||||
|
#-----------
|
||||||
|
time=3599873
|
||||||
|
mem_heap_B=348011
|
||||||
|
mem_heap_extra_B=701
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
||||||
|
#-----------
|
||||||
|
snapshot=50
|
||||||
|
#-----------
|
||||||
|
time=3620865
|
||||||
|
mem_heap_B=341878
|
||||||
|
mem_heap_extra_B=482
|
||||||
|
mem_stacks_B=0
|
||||||
|
heap_tree=empty
|
58
src/main.cpp
58
src/main.cpp
|
@ -13,8 +13,9 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
#include <iomanip> // This might be necessary
|
#include <iomanip>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <typeinfo>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
#include <unordered_set>
|
#include <unordered_set>
|
||||||
#include "ip.h"
|
#include "ip.h"
|
||||||
|
@ -109,6 +110,11 @@ static constexpr bool REDIRECT_ADS = true;
|
||||||
|
|
||||||
class send_buffer;
|
class send_buffer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This data structure represents a DNS question. When constructed it will read the FULL domain as a single string, along with the QTYPE and QCLASS
|
||||||
|
* It is safe to read QDCOUNT questions by constructing this class.
|
||||||
|
* The question will be reconstructed by the send_buffer class.
|
||||||
|
*/
|
||||||
class question
|
class question
|
||||||
{
|
{
|
||||||
friend send_buffer;
|
friend send_buffer;
|
||||||
|
@ -142,6 +148,11 @@ class question
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This data structure represents a DNS answer. When constructed it will read the FULL answer along with the associated data. It is therefore safe
|
||||||
|
* to read ANCOUNT by constructing a series of answers which read from the byte stream. This class cannot be copied but can be moved.
|
||||||
|
* The answer will be rebuilt by the send_buffer class for you.
|
||||||
|
*/
|
||||||
class answer
|
class answer
|
||||||
{
|
{
|
||||||
friend send_buffer;
|
friend send_buffer;
|
||||||
|
@ -152,7 +163,7 @@ class answer
|
||||||
uint32_t TTL = 0;
|
uint32_t TTL = 0;
|
||||||
uint16_t RDLENGTH = 0;
|
uint16_t RDLENGTH = 0;
|
||||||
bool requires_reset = false;
|
bool requires_reset = false;
|
||||||
unsigned char* RDATA = nullptr;
|
blt::scoped_buffer<unsigned char> RDATA;
|
||||||
public:
|
public:
|
||||||
explicit answer(const blt::byte_reader& reader)
|
explicit answer(const blt::byte_reader& reader)
|
||||||
{
|
{
|
||||||
|
@ -161,10 +172,8 @@ class answer
|
||||||
reader.to(CLASS);
|
reader.to(CLASS);
|
||||||
reader.to(TTL);
|
reader.to(TTL);
|
||||||
reader.to(RDLENGTH);
|
reader.to(RDLENGTH);
|
||||||
RDATA = new unsigned char[RDLENGTH];
|
RDATA = blt::scoped_buffer<unsigned char>(RDLENGTH);
|
||||||
reader.copy(RDATA, RDLENGTH);
|
reader.copy(RDATA.data(), RDLENGTH);
|
||||||
|
|
||||||
BLT_TRACE("%d, %d, %d, %d, %d", NAME, TYPE, CLASS, TTL, RDLENGTH);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] uint16_t type() const
|
[[nodiscard]] uint16_t type() const
|
||||||
|
@ -176,18 +185,17 @@ class answer
|
||||||
{
|
{
|
||||||
BLT_DEBUG("Substituting with replacement address '%s'", REPLACEMENT_IP().asString.c_str());
|
BLT_DEBUG("Substituting with replacement address '%s'", REPLACEMENT_IP().asString.c_str());
|
||||||
BLT_ASSERT(RDLENGTH == 4);
|
BLT_ASSERT(RDLENGTH == 4);
|
||||||
std::memcpy(RDATA, addr.octets, 4);
|
std::memcpy(RDATA.data(), addr.octets, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void setARecord(const IPAddress& addr)
|
inline void setARecord(const IPAddress& addr)
|
||||||
{
|
{
|
||||||
BLT_DEBUG("Setting to A record");
|
BLT_DEBUG("Setting answer to A record");
|
||||||
NAME = 0;
|
NAME = 0;
|
||||||
NAME |= (0b11 << 14);
|
NAME |= (0b11 << 14);
|
||||||
requires_reset = true;
|
requires_reset = true;
|
||||||
BLT_INFO(NAME);
|
BLT_TRACE(NAME);
|
||||||
delete[] RDATA;
|
RDATA = blt::scoped_buffer<unsigned char>(4);
|
||||||
RDATA = new unsigned char[4];
|
|
||||||
RDLENGTH = 4;
|
RDLENGTH = 4;
|
||||||
TYPE = 1;
|
TYPE = 1;
|
||||||
CLASS = 1;
|
CLASS = 1;
|
||||||
|
@ -205,9 +213,10 @@ class answer
|
||||||
}
|
}
|
||||||
|
|
||||||
// rule of 5
|
// rule of 5
|
||||||
answer(const answer& answer) = delete;
|
// (there used to be a destructor)
|
||||||
|
answer(const answer& copy) = delete;
|
||||||
|
|
||||||
answer& operator=(const answer& answer) = delete;
|
answer& operator=(const answer& copy) = delete;
|
||||||
|
|
||||||
answer(answer&& move) noexcept
|
answer(answer&& move) noexcept
|
||||||
{
|
{
|
||||||
|
@ -216,8 +225,7 @@ class answer
|
||||||
CLASS = move.CLASS;
|
CLASS = move.CLASS;
|
||||||
TTL = move.TTL;
|
TTL = move.TTL;
|
||||||
RDLENGTH = move.RDLENGTH;
|
RDLENGTH = move.RDLENGTH;
|
||||||
RDATA = move.RDATA;
|
RDATA = std::move(move.RDATA);
|
||||||
move.RDATA = nullptr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
answer& operator=(answer&& move) noexcept
|
answer& operator=(answer&& move) noexcept
|
||||||
|
@ -228,15 +236,12 @@ class answer
|
||||||
CLASS = move.CLASS;
|
CLASS = move.CLASS;
|
||||||
TTL = move.TTL;
|
TTL = move.TTL;
|
||||||
RDLENGTH = move.RDLENGTH;
|
RDLENGTH = move.RDLENGTH;
|
||||||
RDATA = move.RDATA;
|
RDATA = std::move(move.RDATA);
|
||||||
move.RDATA = nullptr;
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
~answer()
|
// there used to be a destructor
|
||||||
{
|
~answer() = default;
|
||||||
delete[] RDATA;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class send_buffer
|
class send_buffer
|
||||||
|
@ -267,7 +272,7 @@ class send_buffer
|
||||||
write(t.CLASS);
|
write(t.CLASS);
|
||||||
write(t.TTL);
|
write(t.TTL);
|
||||||
write(t.RDLENGTH);
|
write(t.RDLENGTH);
|
||||||
std::memcpy(&internal_data[write_index], t.RDATA, t.RDLENGTH);
|
std::memcpy(&internal_data[write_index], t.RDATA.data(), t.RDLENGTH);
|
||||||
write_index += t.RDLENGTH;
|
write_index += t.RDLENGTH;
|
||||||
} else if constexpr (std::is_same_v<T, question>)
|
} else if constexpr (std::is_same_v<T, question>)
|
||||||
{
|
{
|
||||||
|
@ -341,7 +346,7 @@ request_info handle_forward_request(MESSENGER messenger, const INFO& info, const
|
||||||
uint16_t questions; // yes I made this part of my library just for this :3
|
uint16_t questions; // yes I made this part of my library just for this :3
|
||||||
blt::mem::fromBytes(&input_recv_buffer[info.QUESTIONS_BEGIN], questions); // i hate little endian
|
blt::mem::fromBytes(&input_recv_buffer[info.QUESTIONS_BEGIN], questions); // i hate little endian
|
||||||
|
|
||||||
BLT_INFO("Bytes received: %d with %d questions", bytes, questions);
|
BLT_INFO("(%s) Bytes received: %d with %d questions", blt::is_UDP_or_TCP<INFO>().c_str(), bytes, questions);
|
||||||
|
|
||||||
// forward to google.
|
// forward to google.
|
||||||
size_t out_bytes;
|
size_t out_bytes;
|
||||||
|
@ -359,7 +364,8 @@ void handle_response(const INFO& info, send_buffer& return_send_buffer, request_
|
||||||
{
|
{
|
||||||
blt::byte_reader reader(forward_recv_buffer.data(), forward_recv_buffer.size(), info.HEADER_END);
|
blt::byte_reader reader(forward_recv_buffer.data(), forward_recv_buffer.size(), info.HEADER_END);
|
||||||
|
|
||||||
BLT_INFO("Bytes answered: %d with %d answers", rq_info.number_of_bytes, rq_info.number_of_answers);
|
auto TYPE_STR = blt::is_UDP_or_TCP<INFO>();
|
||||||
|
BLT_INFO("(%s) Bytes answered: %d with %d answers", TYPE_STR.c_str(), rq_info.number_of_bytes, rq_info.number_of_answers);
|
||||||
|
|
||||||
// no one actually does multiple questions. trying to do it in dig is not easy
|
// no one actually does multiple questions. trying to do it in dig is not easy
|
||||||
// and the standard isn't really designed for this (how do we handle if one question errors but the other doesn't? there is only
|
// and the standard isn't really designed for this (how do we handle if one question errors but the other doesn't? there is only
|
||||||
|
@ -372,7 +378,7 @@ void handle_response(const INFO& info, send_buffer& return_send_buffer, request_
|
||||||
answers.push_back(std::move(a));
|
answers.push_back(std::move(a));
|
||||||
}
|
}
|
||||||
|
|
||||||
BLT_INFO("DOMAIN: %s", q().c_str());
|
BLT_INFO("(%s) DOMAIN: %s", TYPE_STR.c_str(), q().c_str());
|
||||||
if (STRICT_MATCHING && BLT_CONTAINS(DISALLOWED_DOMAINS, q()))
|
if (STRICT_MATCHING && BLT_CONTAINS(DISALLOWED_DOMAINS, q()))
|
||||||
process_answers(answers);
|
process_answers(answers);
|
||||||
else if (!STRICT_MATCHING)
|
else if (!STRICT_MATCHING)
|
||||||
|
@ -388,7 +394,7 @@ void handle_response(const INFO& info, send_buffer& return_send_buffer, request_
|
||||||
return_send_buffer.write(q);
|
return_send_buffer.write(q);
|
||||||
for (const answer& a : answers)
|
for (const answer& a : answers)
|
||||||
{
|
{
|
||||||
BLT_TRACE("Writing answer with type of %d", a.type());
|
BLT_TRACE("(%s) Writing answer with type of %d", TYPE_STR.c_str(), a.type());
|
||||||
a.reset(question_offset);
|
a.reset(question_offset);
|
||||||
return_send_buffer.write(a);
|
return_send_buffer.write(a);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue