|
|
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 |
|