diff --git a/Freeswitch.2010.sln b/Freeswitch.2010.sln
index e7cccee08c..954ce1cc1b 100644
--- a/Freeswitch.2010.sln
+++ b/Freeswitch.2010.sln
@@ -525,6 +525,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsmlib", "src\mod\endpoints
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_gsmopen", "src\mod\endpoints\mod_gsmopen\mod_gsmopen.2010.vcxproj", "{74B120FF-6935-4DFE-A142-CDB6BEA99C90}"
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libzrtp", "libs\libzrtp\projects\win\libzrtp.2010.vcxproj", "{C13CC324-0032-4492-9A30-310A6BD64FF5}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
All|Win32 = All|Win32
@@ -3574,6 +3576,23 @@ Global
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|x64.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|x64 Setup.ActiveCfg = Release|x64
{74B120FF-6935-4DFE-A142-CDB6BEA99C90}.Release|x86 Setup.ActiveCfg = Release|x64
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.All|Win32.ActiveCfg = Release|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.All|Win32.Build.0 = Release|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.All|x64.ActiveCfg = Release|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.All|x64 Setup.ActiveCfg = Release|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.All|x86 Setup.ActiveCfg = Release|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|Win32.Build.0 = Debug|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x64.ActiveCfg = Debug|x64
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x64.Build.0 = Debug|x64
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x64 Setup.ActiveCfg = Debug|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Debug|x86 Setup.ActiveCfg = Debug|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|Win32.ActiveCfg = Release|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|Win32.Build.0 = Release|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x64.ActiveCfg = Release|x64
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x64.Build.0 = Release|x64
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x64 Setup.ActiveCfg = Release|Win32
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}.Release|x86 Setup.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -3687,6 +3706,7 @@ Global
{70A49BC2-7500-41D0-B75D-EDCC5BE987A0} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{23B4D303-79FC-49E0-89E2-2280E7E28940} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{26C82FCE-E0CF-4D10-A00C-D8E582FFEB53} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
+ {C13CC324-0032-4492-9A30-310A6BD64FF5} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{EC3E5C7F-EE09-47E2-80FE-546363D14A98} = {B8F5B47B-8568-46EB-B320-64C17D2A98BC}
{1AD3F51E-BBB6-4090-BA39-9DFAB1EF1F5F} = {0C808854-54D1-4230-BFF5-77B5FD905000}
{ACFFF684-4D19-4D48-AF12-88EA1D778BDF} = {0C808854-54D1-4230-BFF5-77B5FD905000}
diff --git a/libs/libzrtp/projects/win/libzrtp.2010.vcxproj b/libs/libzrtp/projects/win/libzrtp.2010.vcxproj
new file mode 100644
index 0000000000..3306611920
--- /dev/null
+++ b/libs/libzrtp/projects/win/libzrtp.2010.vcxproj
@@ -0,0 +1,250 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {C13CC324-0032-4492-9A30-310A6BD64FF5}
+ libzrtp.x32
+ Win32Proj
+ libzrtp
+
+
+
+ StaticLibrary
+ Unicode
+
+
+ StaticLibrary
+ Unicode
+
+
+ StaticLibrary
+ Unicode
+
+
+ StaticLibrary
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>10.0.30319.1
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+ AllRules.ruleset
+ AllRules.ruleset
+
+
+
+
+
+
+
+ Disabled
+ ../../include;../../third_party/bnlib;../../third_party/bgaes;../../test/include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_LIB;HAVE_CONFIG_H=1;ZRTP_ENABLE_EC=0;ZRTP_USE_BUILTIN_CACHE=1;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Default
+
+
+ Level3
+ ProgramDatabase
+ CompileAsC
+
+
+
+ if not exist "$(ProjectDir)..\..\third_party\bnlib\bnconfig.h" copy "$(ProjectDir)..\..\third_party\bnlib\bnconfig.win" "$(ProjectDir)..\..\third_party\bnlib\bnconfig.h"
+
+
+
+
+ Disabled
+ ../../include;../../third_party/bnlib;../../third_party/bgaes;../../test/include;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_LIB;HAVE_CONFIG_H=1;ZRTP_ENABLE_EC=0;ZRTP_USE_BUILTIN_CACHE=1;%(PreprocessorDefinitions)
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Default
+
+
+ Level3
+ ProgramDatabase
+ CompileAsC
+
+
+
+ if not exist "$(ProjectDir)..\..\third_party\bnlib\bnconfig.h" copy "$(ProjectDir)..\..\third_party\bnlib\bnconfig.win" "$(ProjectDir)..\..\third_party\bnlib\bnconfig.h"
+
+
+
+
+ ../../include;../../third_party/bnlib;../../third_party/bgaes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_LIB;HAVE_CONFIG_H=1;ZRTP_ENABLE_EC=0;ZRTP_USE_BUILTIN_CACHE=1;%(PreprocessorDefinitions)
+
+
+ MultiThreadedDLL
+ Default
+ false
+
+
+ Level3
+ ProgramDatabase
+ CompileAsC
+
+
+
+ if not exist "$(ProjectDir)..\..\third_party\bnlib\bnconfig.h" copy "$(ProjectDir)..\..\third_party\bnlib\bnconfig.win" "$(ProjectDir)..\..\third_party\bnlib\bnconfig.h"
+
+
+
+
+ ../../include;../../third_party/bnlib;../../third_party/bgaes;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_LIB;HAVE_CONFIG_H=1;ZRTP_ENABLE_EC=0;ZRTP_USE_BUILTIN_CACHE=1;%(PreprocessorDefinitions)
+
+
+ MultiThreadedDLL
+ Default
+ false
+
+
+ Level3
+ ProgramDatabase
+ CompileAsC
+
+
+
+ if not exist "$(ProjectDir)..\..\third_party\bnlib\bnconfig.h" copy "$(ProjectDir)..\..\third_party\bnlib\bnconfig.win" "$(ProjectDir)..\..\third_party\bnlib\bnconfig.h"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libs/libzrtp/projects/win/libzrtp.2010.vcxproj.filters b/libs/libzrtp/projects/win/libzrtp.2010.vcxproj.filters
new file mode 100644
index 0000000000..4bae11a1dd
--- /dev/null
+++ b/libs/libzrtp/projects/win/libzrtp.2010.vcxproj.filters
@@ -0,0 +1,256 @@
+
+
+
+
+ {c0e76076-0032-445d-8c07-32b6c762622b}
+
+
+ {a03c0d83-0032-4848-9704-22cdce5ab144}
+
+
+ {dbe8a34e-0032-495e-8df7-e82218921e60}
+
+
+ {96d1a5c9-0032-4230-a764-a0ed11f434a7}
+
+
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ include
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ src
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bnlib
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+ bgaes
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/libs/libzrtp/third_party/bnlib/bnconfig.win b/libs/libzrtp/third_party/bnlib/bnconfig.win
new file mode 100644
index 0000000000..303a25b689
--- /dev/null
+++ b/libs/libzrtp/third_party/bnlib/bnconfig.win
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 1995 Colin Plumb. All rights reserved.
+ * For licensing and other legal details, see the file legal.c.
+ *
+ * bnconfig.h -- Configuration file for BigNum library.
+ *
+ * This file is automatically filled in by configure.
+ * Everything must start out turned *off*, because configure
+ * (or, more properly, config.status) only knows how to turn them
+ * *on*.
+ */
+#ifndef CONFIG_H
+#define CONFIG_H
+
+/* Define to empty if the compiler does not support 'const' variables. */
+#undef const
+
+/* Define to `unsigned' if doesn't define it. */
+#undef size_t
+
+/* Checks for the presence and absence of various header files */
+#define HAVE_ASSERT_H 1
+#define NO_ASSERT_H !HAVE_ASSERT_H
+#define HAVE_LIMITS_H 1
+#define NO_LIMITS_H !HAVE_LIMITS_H
+#define HAVE_STDLIB_H 1
+#define NO_STDLIB_H !HAVE_STDLIB_H
+#define HAVE_STRING_H 1
+#define NO_STRING_H !HAVE_STRING_H
+
+#define HAVE_STRINGS_H 0
+#define NEED_MEMORY_H 0
+
+/* We go to some trouble to find accurate times... */
+
+/* Define if you have Posix.4 glock_gettime() */
+#define HAVE_CLOCK_GETTIME 0
+/* Define if you have Solaris-style gethrvtime() */
+#define HAVE_GETHRVTIME 0
+/* Define if you have getrusage() */
+#define HAVE_GETRUSAGE 0
+/* Define if you have clock() */
+#define HAVE_CLOCK 0
+/* Define if you have time() */
+#define HAVE_TIME 0
+
+/*
+ * Define as 0 if #including automatically
+ * #includes , and doing so explicitly causes an
+ * error.
+ */
+#define TIME_WITH_SYS_TIME 0
+
+/* Defines for various kinds of library brokenness */
+
+/* Define if is missing prototypes (= lots of warnings!) */
+#define NO_STDIO_PROTOS 0
+
+/* Define if depends on and breaks without it */
+#define ASSERT_NEEDS_STDIO 0
+/* Define if depends on and complains without it */
+#define ASSERT_NEEDS_STDLIB 0
+
+/*
+ * Define if delcares the mem* functions to take char *
+ * instead of void * parameters (= lots of warnings)
+ */
+#define MEM_PROTOS_BROKEN 0
+
+/* If not available, bcopy() is substituted */
+#define HAVE_MEMMOVE 1
+#define NO_MEMMOVE !HAVE_MEMMOVE
+#define HAVE_MEMCPY 1
+#define NO_MEMCPY !HAVE_MEMCPY
+
+#endif /* CONFIG_H */
diff --git a/libs/libzrtp/third_party/bnlib/lbn.h b/libs/libzrtp/third_party/bnlib/lbn.h
index b0fd21cfb5..43fc7c91dc 100644
--- a/libs/libzrtp/third_party/bnlib/lbn.h
+++ b/libs/libzrtp/third_party/bnlib/lbn.h
@@ -145,6 +145,12 @@ typedef unsigned long long bnword64;
#define BNWORD64 bnword64
#endif
+/*Workaround for windows for now. */
+#ifdef WIN32
+typedef unsigned long long bnword64;
+#define BNWORD64 bnword64
+#endif
+
/* We don't even try to find a 128-bit type at the moment */
#endif /* !LBN_H */
diff --git a/src/switch_rtp.c b/src/switch_rtp.c
index c4030148aa..481bd54e84 100644
--- a/src/switch_rtp.c
+++ b/src/switch_rtp.c
@@ -76,7 +76,7 @@ static zrtp_global_t *zrtp_global;
#ifndef WIN32
static zrtp_zid_t zid = { "FreeSWITCH01" };
#else
-static zrtp_zid_t zid = { "FreeSWITCH0\0" };
+static zrtp_zid_t zid = { "FreeSWITCH0" };
#endif
static int zrtp_on = 0;
#define ZRTP_MITM_TRIES 100
diff --git a/w32/Library/FreeSwitchCore.2010.vcxproj b/w32/Library/FreeSwitchCore.2010.vcxproj
index 94b5dbc55a..eb1933a7f6 100644
--- a/w32/Library/FreeSwitchCore.2010.vcxproj
+++ b/w32/Library/FreeSwitchCore.2010.vcxproj
@@ -88,8 +88,8 @@
Disabled
- ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre;..\..\libs\stfu;..\..\libs\speex\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-3.8.2\libtiff;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;PCRE_STATIC;STATICLIB;%(PreprocessorDefinitions)
+ ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre;..\..\libs\stfu;..\..\libs\speex\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-3.8.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;PCRE_STATIC;STATICLIB;ENABLE_ZRTP;%(PreprocessorDefinitions)
true
EnableFastChecks
MultiThreadedDebugDLL
@@ -146,8 +146,8 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs
Disabled
- ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre;..\..\libs\stfu;..\..\libs\speex\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-3.8.2\libtiff;%(AdditionalIncludeDirectories)
- WIN32;_DEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;PCRE_STATIC;STATICLIB;%(PreprocessorDefinitions)
+ ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre;..\..\libs\stfu;..\..\libs\speex\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-3.8.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;%(AdditionalIncludeDirectories)
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;PCRE_STATIC;STATICLIB;ENABLE_ZRTP;%(PreprocessorDefinitions)
true
EnableFastChecks
MultiThreadedDebugDLL
@@ -198,8 +198,8 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs
MaxSpeed
- ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre;..\..\libs\stfu;..\..\libs\speex\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-3.8.2\libtiff;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;STATICLIB;CRASH_PROT;PCRE_STATIC;%(PreprocessorDefinitions)
+ ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre;..\..\libs\stfu;..\..\libs\speex\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-3.8.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;STATICLIB;CRASH_PROT;PCRE_STATIC;ENABLE_ZRTP;%(PreprocessorDefinitions)
MultiThreadedDLL
Use
switch.h
@@ -247,8 +247,8 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs
MaxSpeed
- ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre;..\..\libs\stfu;..\..\libs\speex\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-3.8.2\libtiff;%(AdditionalIncludeDirectories)
- WIN32;NDEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;STATICLIB;CRASH_PROT;PCRE_STATIC;%(PreprocessorDefinitions)
+ ..\..\src\include;..\..\libs\include;..\..\libs\srtp\include;..\..\libs\srtp\crypto\include;..\..\libs\libteletone\src;..\..\libs\win32\sqlite;..\..\libs\pcre;..\..\libs\stfu;..\..\libs\speex\include;..\..\libs\spandsp\src\msvc;..\..\libs\spandsp\src;..\..\libs\tiff-3.8.2\libtiff;..\..\libs\libzrtp\include;..\..\libs\libzrtp\third_party\bgaes;..\..\libs\libzrtp\third_party\bnlib;%(AdditionalIncludeDirectories)
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;FREESWITCHCORE_EXPORTS;STATICLIB;CRASH_PROT;PCRE_STATIC;ENABLE_ZRTP;%(PreprocessorDefinitions)
MultiThreadedDLL
Use
switch.h
@@ -766,6 +766,9 @@ if not exist "$(OutDir)htdocs" xcopy "$(SolutionDir)htdocs\*.*" "$(OutDir)htdocs
{89385c74-5860-4174-9caf-a39e7c48909c}
false
+
+ {c13cc324-0032-4492-9a30-310a6bd64ff5}
+
{1cbb0077-18c5-455f-801c-0a0ce7b0bbf5}