From 1f02498fc0e55e3af533575595bbf4db1c06046d Mon Sep 17 00:00:00 2001 From: Jeff Becker Date: Wed, 3 Oct 2018 06:59:30 -0400 Subject: [PATCH] code for disabling default hidden service --- CMakeLists.txt | 2 ++ llarp/config.cpp | 3 ++- llarp/router.cpp | 7 ++++++- llarp/router.hpp | 8 ++++---- llarp/str.hpp | 23 +---------------------- 5 files changed, 15 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9824c1027..a9d906851 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -227,6 +227,8 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") endif() set(LIB_PLATFORM_SRC +# string stuff + llarp/str.cpp # for outpug llarp/logger.cpp # needed for threading diff --git a/llarp/config.cpp b/llarp/config.cpp index 9bff083cc..2afda8c76 100644 --- a/llarp/config.cpp +++ b/llarp/config.cpp @@ -165,8 +165,9 @@ extern "C" #endif f << "ifname=lokitun0" << std::endl; f << "ifaddr=10.200.0.1/16" << std::endl; + f << "enabled=true" << std::endl; f << std::endl << std::endl; - + f << "# dns provider configuration section" << std::endl; f << "[dns]" << std::endl; f << "# opennic us resolver" << std::endl; diff --git a/llarp/router.cpp b/llarp/router.cpp index 28be11486..be463a156 100644 --- a/llarp/router.cpp +++ b/llarp/router.cpp @@ -861,7 +861,8 @@ llarp_router::InitOutboundLink() bool llarp_router::CreateDefaultHiddenService() { - return hiddenServiceContext.AddDefaultEndpoint(defaultIfAddr, defaultIfName); + return disableDefaultEndpoint + || hiddenServiceContext.AddDefaultEndpoint(defaultIfAddr, defaultIfName); } bool @@ -1073,6 +1074,10 @@ namespace llarp { self->defaultIfAddr = val; } + if(StrEq(key, "enabled")) + { + self->disableDefaultEndpoint = IsFalseValue(val); + } } else if(StrEq(section, "services")) { diff --git a/llarp/router.hpp b/llarp/router.hpp index 93dee9f90..b075a69d4 100644 --- a/llarp/router.hpp +++ b/llarp/router.hpp @@ -93,13 +93,13 @@ struct llarp_router llarp::service::Context hiddenServiceContext; - std::string defaultIfAddr = "10.200.0.1/24"; - std::string defaultIfName = "lokitun0"; + std::string defaultIfAddr = "10.200.0.1/24"; + std::string defaultIfName = "lokitun0"; + bool disableDefaultEndpoint = false; bool CreateDefaultHiddenService(); - - + std::unique_ptr< llarp::ILinkLayer > outboundLink; std::vector< std::unique_ptr< llarp::ILinkLayer > > inboundLinks; diff --git a/llarp/str.hpp b/llarp/str.hpp index b1f26b468..af90deab4 100644 --- a/llarp/str.hpp +++ b/llarp/str.hpp @@ -1,22 +1 @@ -#ifndef LIBLLARP_STR_HPP -#define LIBLLARP_STR_HPP -#include - -namespace llarp -{ - static bool - StrEq(const char *s1, const char *s2) - { - size_t sz1 = strlen(s1); - size_t sz2 = strlen(s2); - if(sz1 == sz2) - { - return strncmp(s1, s2, sz1) == 0; - } - else - return false; - } - -} // namespace llarp - -#endif +#include