Blame flamethrower-0.12-httpsession.patch

958de90
From 1b5ee93a61f1bbb4207a905138937bbefda6bbd3 Mon Sep 17 00:00:00 2001
958de90
From: Shannon Weyrick <sweyrick@ns1.com>
958de90
Date: Fri, 24 Jun 2022 11:29:20 -0400
958de90
Subject: [PATCH] Various updates (#94)
958de90
958de90
* remove unused test framework which was causing issues
958de90
958de90
* add missing include
958de90
958de90
* add missing initializer, suspected cause of segfault in DoH
958de90
958de90
* remove travis, update docker to bullseye image
958de90
958de90
* add github ci
958de90
958de90
* update gitignore
958de90
958de90
* build deps, DOH
958de90
958de90
* remove mac from CI
958de90
958de90
* fix cmake cmd
958de90
958de90
* always build docker
958de90
---
958de90
 .gitignore             |  2 ++
958de90
 CMakeLists.txt         | 20 --------------------
958de90
 Dockerfile             |  9 ++++-----
958de90
 README.md              | 12 ++++--------
958de90
 ci/install-ldns.sh     | 18 ------------------
958de90
 ci/install-libuv.sh    | 17 -----------------
958de90
 flame/httpssession.cpp |  1 +
958de90
 flame/httpssession.h   |  1 +
958de90
 tests/main.cpp         | 17 -----------------
958de90
 9 files changed, 12 insertions(+), 85 deletions(-)
958de90
 delete mode 100644 ci/install-ldns.sh
958de90
 delete mode 100644 ci/install-libuv.sh
958de90
 delete mode 100644 tests/main.cpp
958de90
958de90
diff --git a/.gitignore b/.gitignore
958de90
index e517db6..490e460 100644
958de90
--- a/.gitignore
958de90
+++ b/.gitignore
958de90
@@ -1,2 +1,4 @@
958de90
 build*/
958de90
 build_output/
958de90
+cmake-build-*/
958de90
+.idea*
958de90
diff --git a/CMakeLists.txt b/CMakeLists.txt
958de90
index 467fa49..1e34bd7 100644
958de90
--- a/CMakeLists.txt
958de90
+++ b/CMakeLists.txt
958de90
@@ -204,26 +204,6 @@ target_link_libraries(flame
958de90
         PRIVATE ${LIBURL_PARSER_LIBRARIES}
958de90
         )
958de90
 
958de90
-add_executable(tests
958de90
-        tests/main.cpp
958de90
-        )
958de90
-
958de90
-if (NOT CATCH_FOUND)
958de90
-    message(STATUS "Using bundled catch2")
958de90
-    target_include_directories(tests SYSTEM
958de90
-        PRIVATE "${CMAKE_SOURCE_DIR}/3rd/catch"
958de90
-        )
958de90
-endif()
958de90
-
958de90
-target_include_directories(tests
958de90
-        PRIVATE "${CMAKE_SOURCE_DIR}/tests"
958de90
-        PRIVATE "${CMAKE_SOURCE_DIR}/flame"
958de90
-        )
958de90
-
958de90
-target_link_libraries(tests
958de90
-        PRIVATE flamecore
958de90
-        )
958de90
-
958de90
 install(TARGETS flame flamecore
958de90
         RUNTIME DESTINATION bin
958de90
         LIBRARY DESTINATION lib${LIB_SUFFIX}
958de90
diff --git a/Dockerfile b/Dockerfile
958de90
index 232eb84..33ea8f9 100644
958de90
--- a/Dockerfile
958de90
+++ b/Dockerfile
958de90
@@ -1,4 +1,4 @@
958de90
-FROM debian:buster-slim AS build
958de90
+FROM debian:bullseye-slim AS build
958de90
 
958de90
 ENV BUILD_DEPS "g++ cmake make libldns-dev libnghttp2-dev libuv1-dev libgnutls28-dev pkgconf"
958de90
 ENV DEBIAN_FRONTEND=noninteractive
958de90
@@ -13,12 +13,11 @@ RUN \
958de90
     mkdir /tmp/build && \
958de90
     cd /tmp/build && \
958de90
     cmake -DDOH_ENABLE=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo /src && \
958de90
-    make all tests && \
958de90
-    ./tests
958de90
+    make all
958de90
 
958de90
-FROM debian:buster-slim AS runtime
958de90
+FROM debian:bullseye-slim AS runtime
958de90
 
958de90
-ENV RUNTIME_DEPS "libldns2 libuv1 nghttp2"
958de90
+ENV RUNTIME_DEPS "libldns3 libuv1 nghttp2"
958de90
 
958de90
 RUN \
958de90
     apt-get update && \
958de90
diff --git a/README.md b/README.md
958de90
index f4915fb..6d4573e 100644
958de90
--- a/README.md
958de90
+++ b/README.md
958de90
@@ -1,10 +1,10 @@
958de90
-Flamethrower [![Build Status](https://travis-ci.org/DNS-OARC/flamethrower.svg?branch=master)](https://travis-ci.org/DNS-OARC/flamethrower)
958de90
+Flamethrower 
958de90
 ============
958de90
 > This project is in [active development](https://github.com/ns1/community/blob/master/project_status/ACTIVE_DEVELOPMENT.md).
958de90
 
958de90
 A DNS performance and functional testing utility.
958de90
 
958de90
-2017-2020© NSONE, Inc.
958de90
+2017-2022© NSONE, Inc.
958de90
 
958de90
 Overview
958de90
 --------
958de90
@@ -115,7 +115,6 @@ Optional DoH support requires:
958de90
 * nghttp2
958de90
 
958de90
 Optional dependencies:
958de90
-* catch >= 2.3
958de90
 * docopt
958de90
 * nlohmann-json >= 3.7.3
958de90
 * cpp-httplib
958de90
@@ -141,11 +140,8 @@ make
958de90
 
958de90
 Building the docker image:
958de90
 ```
958de90
-org="myorg"
958de90
-image="myflame"
958de90
-tag="latest"
958de90
-docker build --network host -t ${org}/${image}:${tag} -f Dockerfile .
958de90
-docker run --rm -it --net host ${org}/${image}:${tag} --help
958de90
+docker build . --tag ns1labs/flame --file Dockerfile
958de90
+docker run --rm --net host ns1labs/flame --help
958de90
 ```
958de90
 
958de90
 Contributions
958de90
diff --git a/ci/install-ldns.sh b/ci/install-ldns.sh
958de90
deleted file mode 100644
958de90
index 4fe883c..0000000
958de90
--- a/ci/install-ldns.sh
958de90
+++ /dev/null
958de90
@@ -1,18 +0,0 @@
958de90
-#!/bin/sh
958de90
-
958de90
-VERSION=1.7.0
958de90
-ARCHIVE="https://www.nlnetlabs.nl/downloads/ldns/ldns-${VERSION}.tar.gz"
958de90
-
958de90
-set -ex
958de90
-
958de90
-cd /tmp
958de90
-wget -O "ldns-${VERSION}.tar.gz" "$ARCHIVE"
958de90
-tar -xf "ldns-${VERSION}.tar.gz"
958de90
-cd "ldns-${VERSION}"
958de90
-
958de90
-./configure --disable-dane
958de90
-make
958de90
-sudo make install
958de90
-sudo ldconfig
958de90
-sudo mkdir -p /usr/local/lib/pkgconfig
958de90
-sudo cp packaging/libldns.pc /usr/local/lib/pkgconfig/
958de90
diff --git a/ci/install-libuv.sh b/ci/install-libuv.sh
958de90
deleted file mode 100644
958de90
index 0f235d4..0000000
958de90
--- a/ci/install-libuv.sh
958de90
+++ /dev/null
958de90
@@ -1,17 +0,0 @@
958de90
-#!/bin/sh
958de90
-
958de90
-VERSION=1.25.0
958de90
-ARCHIVE="https://github.com/libuv/libuv/archive/v${VERSION}.tar.gz"
958de90
-
958de90
-set -ex
958de90
-
958de90
-cd /tmp
958de90
-wget -O "libuv-${VERSION}.tar.gz" "$ARCHIVE"
958de90
-tar -xf "libuv-${VERSION}.tar.gz"
958de90
-cd "libuv-${VERSION}"
958de90
-
958de90
-./autogen.sh
958de90
-./configure
958de90
-make
958de90
-sudo make install
958de90
-sudo ldconfig
958de90
diff --git a/flame/httpssession.cpp b/flame/httpssession.cpp
958de90
index f2a616e..857c3fe 100644
958de90
--- a/flame/httpssession.cpp
958de90
+++ b/flame/httpssession.cpp
958de90
@@ -32,6 +32,7 @@ HTTPSSession::HTTPSSession(std::shared_ptr<uvw::TCPHandle> handle,
958de90
     , _handshake_error{handshake_error_handler}
958de90
     , _target{target}
958de90
     , _method{method}
958de90
+    , _current_session{nullptr}
958de90
 {
958de90
 }
958de90
 
958de90
diff --git a/flame/httpssession.h b/flame/httpssession.h
958de90
index c414d5c..fe904ea 100644
958de90
--- a/flame/httpssession.h
958de90
+++ b/flame/httpssession.h
958de90
@@ -2,6 +2,7 @@
958de90
 
958de90
 #include <gnutls/gnutls.h>
958de90
 #include <nghttp2/nghttp2.h>
958de90
+#include <unordered_map>
958de90
 
958de90
 #ifdef DOH_ENABLE
958de90
 #include "base64.h"
958de90
diff --git a/tests/main.cpp b/tests/main.cpp
958de90
deleted file mode 100644
958de90
index 32179b9..0000000
958de90
--- a/tests/main.cpp
958de90
+++ /dev/null
958de90
@@ -1,17 +0,0 @@
958de90
-#define CATCH_CONFIG_RUNNER
958de90
-#include <catch2/catch.hpp>
958de90
-#include <cstdlib>
958de90
-
958de90
-int main(int argc, char *argv[])
958de90
-{
958de90
-    Catch::Session session;
958de90
-
958de90
-    int result = session.applyCommandLine(argc, argv);
958de90
-    if (result != 0) {
958de90
-        return result;
958de90
-    }
958de90
-
958de90
-    result = session.run();
958de90
-
958de90
-    return (result == 0 ? EXIT_SUCCESS : EXIT_FAILURE);
958de90
-}
958de90
-- 
958de90
2.41.0
958de90