From 086cf91dff2a79f1c6db14a07a011288dba6f097 Mon Sep 17 00:00:00 2001
From: atraczyk <andreastraczyk@gmail.com>
Date: Thu, 3 Nov 2016 10:13:46 -0400
Subject: [PATCH] remove natpmp, add namedirectory to project

Change-Id: Ibc0e8d1ebb1bcfd3d9158cfbf9213faf0762c9d9
---
 MSVC/config.h                    | 5 ++++-
 MSVC/ring-daemon.vcxproj         | 8 +++++---
 MSVC/ring-daemon.vcxproj.filters | 6 ++++++
 src/ringdht/ringaccount.cpp      | 6 ------
 4 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/MSVC/config.h b/MSVC/config.h
index 9a4d8eee48..06f8533c59 100644
--- a/MSVC/config.h
+++ b/MSVC/config.h
@@ -65,7 +65,7 @@ systems. This function is required for `alloca.c' support on those systems.
 #define HAVE_LIBUPNP 1
 
 /* Define if you have natpmp */
-#define HAVE_LIBNATPMP 1
+#define HAVE_LIBNATPMP 0
 
 /* Define to 1 if you have the <limits.h> header file. */
 #define HAVE_LIMITS_H 1
@@ -179,6 +179,9 @@ your system. */
 /* Video support enabled */
 #define RING_VIDEO /**/
 
+/* Name directory service support enabled */
+#define HAVE_RINGNS 1
+
 /* If using the C implementation of alloca, define if you know the
 direction of stack growth for your system; otherwise it will be
 automatically deduced at runtime.
diff --git a/MSVC/ring-daemon.vcxproj b/MSVC/ring-daemon.vcxproj
index 1ee28c89a9..f1e362ed30 100644
--- a/MSVC/ring-daemon.vcxproj
+++ b/MSVC/ring-daemon.vcxproj
@@ -416,7 +416,7 @@
       <FunctionLevelLinking>true</FunctionLevelLinking>
       <IntrinsicFunctions>true</IntrinsicFunctions>
       <SDLCheck>false</SDLCheck>
-      <AdditionalIncludeDirectories>..\..\FFmpegInterop\ffmpeg\Build\Windows10\x64\include;$(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\src;$(ProjectDir)..\src\client;$(ProjectDir)..\src\config;$(ProjectDir)..\src\dring;$(ProjectDir)..\src\hooks;$(ProjectDir)..\src\iax;$(ProjectDir)..\src\im;$(ProjectDir)..\src\media;$(ProjectDir)..\src\ringdht;$(ProjectDir)..\src\security;$(ProjectDir)..\src\sip;$(ProjectDir)..\src\upnp;$(ProjectDir)..\src\ringdht\eth;$(ProjectDir)..\contrib;$(ProjectDir)..\contrib\include;$(ProjectDir)..\contrib\include\pjlib;$(ProjectDir)..\..\libav;$(ProjectDir)..\..\libsamplerate-0.1.8\src;$(ProjectDir)..\..\libsamplerate-0.1.8\Win32;$(ProjectDir)..\contrib\pjproject\pjlib\include;$(ProjectDir)..\contrib\pjproject\pjnath\include;$(ProjectDir)..\contrib\pjproject\pjlib-util\include;$(ProjectDir)..\contrib\pjproject\pjsip\include;$(ProjectDir)..\contrib\pjproject\third_party\speex\include;$(ProjectDir)..\contrib\pjproject\third_party;$(ProjectDir)..\contrib\pjproject\pjmedia\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\speexdsp\include;$(ProjectDir)..\..\libsndfile-MSVC\src;$(ProjectDir)..\..\pcre;$(ProjectDir)..\..\ffmpeg;$(ProjectDir)..\contrib\boost;$(ProjectDir)..\contrib\cryptopp;$(ProjectDir)..\contrib\libnatpmp;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\..\FFmpegInterop\ffmpeg\Build\Windows10\x64\include;$(ProjectDir);$(ProjectDir)..\;$(ProjectDir)..\src;$(ProjectDir)..\src\client;$(ProjectDir)..\src\config;$(ProjectDir)..\src\dring;$(ProjectDir)..\src\hooks;$(ProjectDir)..\src\iax;$(ProjectDir)..\src\im;$(ProjectDir)..\src\media;$(ProjectDir)..\src\ringdht;$(ProjectDir)..\src\security;$(ProjectDir)..\src\sip;$(ProjectDir)..\src\upnp;$(ProjectDir)..\src\ringdht\eth;$(ProjectDir)..\contrib;$(ProjectDir)..\contrib\include;$(ProjectDir)..\contrib\include\pjlib;$(ProjectDir)..\..\libav;$(ProjectDir)..\..\libsamplerate-0.1.8\src;$(ProjectDir)..\..\libsamplerate-0.1.8\Win32;$(ProjectDir)..\contrib\pjproject\pjlib\include;$(ProjectDir)..\contrib\pjproject\pjnath\include;$(ProjectDir)..\contrib\pjproject\pjlib-util\include;$(ProjectDir)..\contrib\pjproject\pjsip\include;$(ProjectDir)..\contrib\pjproject\third_party\speex\include;$(ProjectDir)..\contrib\pjproject\third_party;$(ProjectDir)..\contrib\pjproject\pjmedia\include;$(ProjectDir)..\..\msgpack-c\include;$(ProjectDir)..\..\include;$(ProjectDir)..\..\speexdsp\include;$(ProjectDir)..\..\libsndfile-MSVC\src;$(ProjectDir)..\..\pcre;$(ProjectDir)..\..\ffmpeg;$(ProjectDir)..\contrib\boost;$(ProjectDir)..\contrib\cryptopp;$(ProjectDir)..\..\restbed\source;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>BOOST_SYSTEM_NO_DEPRECATED;PJ_OS_HAS_CHECK_STACK=1;STATIC_GETOPT;_USE_MATH_DEFINES;PCRE_STATIC;_SCL_SECURE_NO_WARNINGS;_CRT_SECURE_NO_WARNINGS;NOMINMAX;HAVE_CONFIG_H;WIN32_LEAN_AND_MEAN;WIN32_NATIVE;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <DisableSpecificWarnings>4996;4503;4180;4244;4267;</DisableSpecificWarnings>
       <SuppressStartupBanner>true</SuppressStartupBanner>
@@ -442,8 +442,8 @@
       </Command>
     </PreBuildEvent>
     <Lib>
-      <AdditionalDependencies>ws2_32.lib;iphlpapi.lib;kernel32.lib;advapi32.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;libsamplerate.lib;libsndfile.lib;libgnutls.lib;lib_json.lib;opendht.lib;argon.lib;blake.lib;pcre.lib;yaml-cpp.lib;portaudio-UWP.lib;libupnp.lib;cryptlib.lib;boost_system.lib;boost_random.lib;pjsip-core-x86_64-x64-vc14-Release.lib;pjsip-simple-x86_64-x64-vc14-Release.lib;pjsua2-lib-x86_64-x64-vc14-Release.lib;pjsua-lib-x86_64-x64-vc14-Release.lib;pjsip-ua-x86_64-x64-vc14-Release.lib;pjmedia-codec-x86_64-x64-vc14-Release.lib;pjmedia-x86_64-x64-vc14-Release.lib;pjlib-util-x86_64-x64-vc14-Release.lib;libspeex-x86_64-x64-vc14-Release.lib;pjlib-x86_64-x64-vc14-Release.lib;pjnath-x86_64-x64-vc14-Release.lib;libnatpmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>..\..\FFmpegInterop\ffmpeg\Build\Windows10\x64\bin;..\contrib\lib\x64;..\contrib\boost\stage\lib;..\contrib\pjproject\pjsip\lib;..\contrib\pjproject\pjmedia\lib;..\contrib\pjproject\pjlib-util\lib;..\contrib\pjproject\third_party\lib;..\contrib\pjproject\pjlib\lib;..\contrib\pjproject\pjnath\lib;..\contrib\libnatpmp\msvc\x64\Release</AdditionalLibraryDirectories>
+      <AdditionalDependencies>ws2_32.lib;iphlpapi.lib;kernel32.lib;advapi32.lib;avcodec.lib;avdevice.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;libsamplerate.lib;libsndfile.lib;libgnutls.lib;lib_json.lib;opendht.lib;argon.lib;blake.lib;pcre.lib;yaml-cpp.lib;portaudio-UWP.lib;libupnp.lib;cryptlib.lib;boost_system.lib;boost_random.lib;pjsip-core-x86_64-x64-vc14-Release.lib;pjsip-simple-x86_64-x64-vc14-Release.lib;pjsua2-lib-x86_64-x64-vc14-Release.lib;pjsua-lib-x86_64-x64-vc14-Release.lib;pjsip-ua-x86_64-x64-vc14-Release.lib;pjmedia-codec-x86_64-x64-vc14-Release.lib;pjmedia-x86_64-x64-vc14-Release.lib;pjlib-util-x86_64-x64-vc14-Release.lib;libspeex-x86_64-x64-vc14-Release.lib;pjlib-x86_64-x64-vc14-Release.lib;pjnath-x86_64-x64-vc14-Release.lib;restbed.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>..\..\FFmpegInterop\ffmpeg\Build\Windows10\x64\bin;..\contrib\lib\x64;..\contrib\boost\stage\lib;..\contrib\pjproject\pjsip\lib;..\contrib\pjproject\pjmedia\lib;..\contrib\pjproject\pjlib-util\lib;..\contrib\pjproject\third_party\lib;..\contrib\pjproject\pjlib\lib;..\contrib\pjproject\pjnath\lib;..\contrib\libnatpmp\msvc\x64\Release;..\..\restbed\build\Release;..\..\restbed\dependency\openssl\out32dll</AdditionalLibraryDirectories>
       <AdditionalOptions>/ignore:4006 /ignore:4221 %(AdditionalOptions)</AdditionalOptions>
       <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
     </Lib>
@@ -548,6 +548,7 @@
     <ClInclude Include="..\src\ringdht\eth\libdevcrypto\CryptoPP.h" />
     <ClInclude Include="..\src\ringdht\eth\libdevcrypto\ECDHE.h" />
     <ClInclude Include="..\src\ringdht\eth\libdevcrypto\Exceptions.h" />
+    <ClInclude Include="..\src\ringdht\namedirectory.h" />
     <ClInclude Include="..\src\ringdht\ringaccount.h" />
     <ClInclude Include="..\src\ringdht\sips_transport_ice.h" />
     <ClInclude Include="..\src\ringdht\sip_transport_ice.h" />
@@ -658,6 +659,7 @@
     <ClCompile Include="..\src\ringdht\eth\libdevcrypto\Common.cpp" />
     <ClCompile Include="..\src\ringdht\eth\libdevcrypto\CryptoPP.cpp" />
     <ClCompile Include="..\src\ringdht\eth\libdevcrypto\ECDHE.cpp" />
+    <ClCompile Include="..\src\ringdht\namedirectory.cpp" />
     <ClCompile Include="..\src\ringdht\ringaccount.cpp" />
     <ClCompile Include="..\src\ringdht\sips_transport_ice.cpp" />
     <ClCompile Include="..\src\ringdht\sip_transport_ice.cpp" />
diff --git a/MSVC/ring-daemon.vcxproj.filters b/MSVC/ring-daemon.vcxproj.filters
index 526c440615..1bdae659ac 100644
--- a/MSVC/ring-daemon.vcxproj.filters
+++ b/MSVC/ring-daemon.vcxproj.filters
@@ -508,6 +508,9 @@
     <ClInclude Include="..\src\base64.h">
       <Filter>Header Files</Filter>
     </ClInclude>
+    <ClInclude Include="..\src\ringdht\namedirectory.h">
+      <Filter>Header Files\ringdht</Filter>
+    </ClInclude>
   </ItemGroup>
   <ItemGroup>
     <ClCompile Include="..\src\preferences.cpp">
@@ -819,5 +822,8 @@
     <ClCompile Include="..\src\base64.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
+    <ClCompile Include="..\src\ringdht\namedirectory.cpp">
+      <Filter>Source Files\ringdht</Filter>
+    </ClCompile>
   </ItemGroup>
 </Project>
\ No newline at end of file
diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp
index 9cf2277a2b..8147c514a7 100644
--- a/src/ringdht/ringaccount.cpp
+++ b/src/ringdht/ringaccount.cpp
@@ -175,16 +175,10 @@ RingAccount::RingAccount(const std::string& accountID, bool /* presenceEnabled *
     dataPath_(cachePath_ + DIR_SEPARATOR_STR "values"),
     idPath_(fileutils::get_data_dir()+DIR_SEPARATOR_STR+getAccountID())
 {
-#ifdef WIN32_NATIVE
-    gnutls_global_init();
-#endif
 }
 
 RingAccount::~RingAccount()
 {
-#ifdef WIN32_NATIVE
-    gnutls_global_deinit();
-#endif
     Manager::instance().unregisterEventHandler((uintptr_t)this);
     dht_.join();
 }
-- 
GitLab