From b35d56cd8fce41a51a1edfd7d0087c3930caa913 Mon Sep 17 00:00:00 2001 From: Thulinma Date: Fri, 5 Oct 2018 14:11:23 +0200 Subject: [PATCH] Added ability to override internal UDP API bound host/port --- CMakeLists.txt | 6 ++++++ lib/defines.h | 9 +++++++++ src/controller/controller_api.cpp | 2 +- src/output/output.cpp | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89ac6ca9..33883529 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -98,6 +98,12 @@ endif() if (DEFINED KILLONEXIT ) add_definitions(-DKILLONEXIT=true) endif() +if (DEFINED UDP_API_HOST ) + add_definitions(-DUDP_API_HOST=${UDP_API_HOST}) +endif() +if (DEFINED UDP_API_PORT ) + add_definitions(-DUDP_API_PORT=${UDP_API_PORT}) +endif() ######################################## # Build Variables - Thread Names # diff --git a/lib/defines.h b/lib/defines.h index 1ed85b59..0488017f 100644 --- a/lib/defines.h +++ b/lib/defines.h @@ -157,3 +157,12 @@ static inline void show_stackframe(){} #define SIMUL_TRACKS 20 + +#ifndef UDP_API_HOST +#define UDP_API_HOST "localhost" +#endif + +#ifndef UDP_API_PORT +#define UDP_API_PORT 4242 +#endif + diff --git a/src/controller/controller_api.cpp b/src/controller/controller_api.cpp index 7427849d..709bf4b5 100644 --- a/src/controller/controller_api.cpp +++ b/src/controller/controller_api.cpp @@ -383,7 +383,7 @@ int Controller::handleAPIConnection(Socket::Connection & conn){ void Controller::handleUDPAPI(void * np){ Socket::UDPConnection uSock(true); - if (!uSock.bind(4242, "localhost")){ + if (!uSock.bind(UDP_API_PORT, UDP_API_HOST)){ FAIL_MSG("Could not open local API UDP socket - not all functionality will be available"); return; } diff --git a/src/output/output.cpp b/src/output/output.cpp index 53105e58..b21bb517 100644 --- a/src/output/output.cpp +++ b/src/output/output.cpp @@ -1602,7 +1602,7 @@ namespace Mist{ if (newUA && ((now - myConn.connTime()) >= uaDelay || !myConn) && UA.size()){ std::string APIcall = "{\"tag_sessid\":{\"" + tmpEx.getSessId() + "\":" + JSON::string_escape("UA:"+UA) + "}}"; Socket::UDPConnection uSock; - uSock.SetDestination("localhost", 4242); + uSock.SetDestination(UDP_API_HOST, UDP_API_PORT); uSock.SendNow(APIcall); newUA = false; }