[dolphin-emu] 02/03: Port to mbed TLS 2.0

James Cowgill jcowgill-guest at moszumanska.debian.org
Sat Nov 14 16:10:32 UTC 2015


This is an automated email from the git hooks/post-receive script.

jcowgill-guest pushed a commit to branch mbedtls2
in repository dolphin-emu.

commit b353298fe41eaf4e5d0c0fc88ddbac4c59b10025
Author: James Cowgill <james410 at cowgill.org.uk>
Date:   Sat Nov 14 15:32:41 2015 +0000

    Port to mbed TLS 2.0
---
 debian/patches/12_mbedtls_2.0.patch | 447 ++++++++++++++++++++++++++++++++++++
 debian/patches/series               |   1 +
 2 files changed, 448 insertions(+)

diff --git a/debian/patches/12_mbedtls_2.0.patch b/debian/patches/12_mbedtls_2.0.patch
new file mode 100644
index 0000000..2579b63
--- /dev/null
+++ b/debian/patches/12_mbedtls_2.0.patch
@@ -0,0 +1,447 @@
+Description: Port Dolphin 4.0.2 to mbed TLS 2.0
+ Based on upstream PRs:
+  https://github.com/dolphin-emu/dolphin/pull/3091
+  https://github.com/dolphin-emu/dolphin/pull/3132
+Author: James Cowgill <james410 at cowgill.org.uk>
+Forwarded: not-needed
+Applied-Upstream: https://github.com/dolphin-emu/dolphin/pull/3091
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ec05013..8b96332 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -600,16 +600,16 @@ if(USE_UPNP)
+ endif()
+ 
+ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT ANDROID)
+-	include(FindPolarSSL)
++	include(FindMbedTLS)
+ endif()
+-if(POLARSSL_FOUND AND POLARSSL_WORKS)
+-	message("Using shared PolarSSL")
+-	include_directories(${POLARSSL_INCLUDE_DIR})
++if(MBEDTLS_FOUND)
++	message("Using shared mbed TLS")
++	include_directories(${MBEDTLS_INCLUDE_DIRS})
+ else()
+-	message("Using PolarSSL from Externals")
+-	set(POLARSSL_LIBRARY polarssl)
+-	add_subdirectory(Externals/polarssl/)
+-	include_directories(Externals/polarssl/include)
++	message("Using static mbed TLS from Externals")
++	set(MBEDTLS_LIBRARIES mbedtls mbedcrypto mbedx509)
++	add_subdirectory(Externals/mbedtls/)
++	include_directories(Externals/mbedtls/include)
+ endif()
+ 
+ if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT ANDROID)
+diff --git a/CMakeTests/FindMbedTLS.cmake b/CMakeTests/FindMbedTLS.cmake
+new file mode 100644
+index 0000000..6ccde4a
+--- /dev/null
++++ b/CMakeTests/FindMbedTLS.cmake
+@@ -0,0 +1,23 @@
++find_path(MBEDTLS_INCLUDE_DIR mbedtls/ssl.h)
++
++find_library(MBEDTLS_LIBRARY mbedtls)
++find_library(MBEDX509_LIBRARY mbedx509)
++find_library(MBEDCRYPTO_LIBRARY mbedcrypto)
++
++set(MBEDTLS_INCLUDE_DIRS ${MBEDTLS_INCLUDE_DIR})
++set(MBEDTLS_LIBRARIES ${MBEDTLS_LIBRARY} ${MBEDX509_LIBRARY} ${MBEDCRYPTO_LIBRARY})
++
++set(CMAKE_REQUIRED_INCLUDES ${MBEDTLS_INCLUDE_DIRS})
++check_cxx_source_compiles("
++	#include <mbedtls/version.h>
++	#if MBEDTLS_VERSION_NUMBER < 0x02010100
++	#error \"Your mbed TLS version is too old.\"
++	#endif
++	int main() {}"
++	MBEDTLS_VERSION_OK)
++
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(MBEDTLS DEFAULT_MSG
++	MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY MBEDTLS_VERSION_OK)
++
++mark_as_advanced(MBEDTLS_INCLUDE_DIR MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY)
+\ No newline at end of file
+diff --git a/CMakeTests/FindPolarSSL.cmake b/CMakeTests/FindPolarSSL.cmake
+deleted file mode 100644
+index c55b2bb..0000000
+--- a/CMakeTests/FindPolarSSL.cmake
++++ /dev/null
+@@ -1,59 +0,0 @@
+-# Locate polarssl library
+-# This module defines
+-#  POLARSSL_FOUND
+-#  POLARSSL_LIBRARY
+-#  POLARSSL_INCLUDE_DIR
+-#  POLARSSL_WORKS, this is true if polarssl is found and contains the methods
+-#  needed by dolphin-emu
+-
+-if(POLARSSL_INCLUDE_DIR AND POLARSSL_LIBRARY)
+-	# Already in cache, be silent
+-	set(POLARSSL_FIND_QUIETLY TRUE)
+-endif()
+-
+-find_path(POLARSSL_INCLUDE_DIR polarssl/ssl.h)
+-find_library(POLARSSL_LIBRARY polarssl)
+-
+-if (POLARSSL_INCLUDE_DIR AND POLARSSL_LIBRARY)
+-	set (POLARSSL_FOUND TRUE)
+-endif ()
+-
+-if (POLARSSL_FOUND)
+-	if (NOT POLARSSL_FIND_QUIETLY)
+-		message (STATUS "Found the polarssl libraries at ${POLARSSL_LIBRARY}")
+-		message (STATUS "Found the polarssl headers at ${POLARSSL_INCLUDE_DIR}")
+-	endif (NOT POLARSSL_FIND_QUIETLY)
+-
+-	message(STATUS "Checking to see if system version contains necessary methods")
+-
+-	set(CMAKE_REQUIRED_INCLUDES ${POLARSSL_INCLUDE_DIR})
+-	set(CMAKE_REQUIRED_LIBRARIES ${POLARSSL_LIBRARY})
+-	check_cxx_source_compiles("
+-	#include <polarssl/net.h>
+-	#include <polarssl/ssl.h>
+-	#include <polarssl/entropy.h>
+-	int main()
+-	{
+-		ssl_context ctx;
+-		ssl_session session;
+-		entropy_context entropy;
+-
+-		ssl_init(&ctx);
+-		entropy_init(&entropy);
+-		ssl_set_rng(&ctx, entropy_func, &entropy);
+-		ssl_set_session(&ctx, &session);
+-
+-		ssl_close_notify(&ctx);
+-		ssl_session_free(&session);
+-		ssl_free(&ctx);
+-
+-		return 0;
+-	}"
+-	POLARSSL_WORKS)
+-
+-else ()
+-	message (STATUS "Could not find polarssl")
+-endif ()
+-
+-MARK_AS_ADVANCED(POLARSSL_INCLUDE_DIR POLARSSL_LIBRARY)
+-
+diff --git a/Source/Core/Common/Src/Crypto/tools.h b/Source/Core/Common/Src/Crypto/tools.h
+index d97995c..3ef2eb7 100644
+--- a/Source/Core/Common/Src/Crypto/tools.h
++++ b/Source/Core/Common/Src/Crypto/tools.h
+@@ -4,7 +4,8 @@
+ 
+ #ifndef _TOOLS_H
+ #define _TOOLS_H
+-#include <polarssl/sha1.h>
++#include <mbedtls/sha1.h>
++#include <mbedtls/compat-1.3.h>
+ 
+ // bignum
+ int bn_compare(u8 *a, u8 *b, u32 n);
+diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt
+index 184fc7b..8c795a1 100644
+--- a/Source/Core/Core/CMakeLists.txt
++++ b/Source/Core/Core/CMakeLists.txt
+@@ -232,7 +232,7 @@ if(LIBUSB_FOUND)
+ 	set(SRCS	${SRCS}	Src/IPC_HLE/WII_IPC_HLE_Device_hid.cpp)
+ endif(LIBUSB_FOUND)
+ 
+-set(LIBS ${LIBS} ${POLARSSL_LIBRARY})
++set(LIBS ${LIBS} ${MBEDTLS_LIBRARIES})
+ 
+ if(WIN32)
+ 	set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Win32.cpp Src/stdafx.cpp
+diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp
+index a2b7b71..458d0c5 100644
+--- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp
++++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_es.cpp
+@@ -38,7 +38,8 @@
+ #include "../PowerPC/PowerPC.h"
+ #include "../VolumeHandler.h"
+ #include "FileUtil.h"
+-#include <polarssl/aes.h>
++#include <mbedtls/aes.h>
++#include <mbedtls/compat-1.3.h>
+ #include "ConfigManager.h"
+ 
+ #include "../Boot/Boot_DOL.h"
+diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
+index f0144e8..10243c4 100644
+--- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
++++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
+@@ -27,6 +27,7 @@ CWII_IPC_HLE_Device_net_ssl::~CWII_IPC_HLE_Device_net_ssl()
+ 			ssl_close_notify(&_SSL[i].ctx);
+ 			ssl_session_free(&_SSL[i].session);
+ 			ssl_free(&_SSL[i].ctx);
++			mbedtls_ssl_config_free(&_SSL[i].config);
+ 
+ 			x509_crt_free(&_SSL[i].cacert);
+ 			x509_crt_free(&_SSL[i].clicert);
+@@ -139,36 +140,32 @@ bool CWII_IPC_HLE_Device_net_ssl::IOCtlV(u32 _CommandAddress)
+ 		if (freeSSL)
+ 		{
+ 			int sslID = freeSSL - 1;
+-			int ret = ssl_init(&_SSL[sslID].ctx);
+-			if (ret)
+-			{
+-				// Cleanup possibly dirty ctx
+-				memset(&_SSL[sslID].ctx, 0, sizeof(ssl_context));
+-				goto _SSL_NEW_ERROR;
+-			}
+ 
+-			entropy_init(&_SSL[sslID].entropy);
+-			ssl_set_rng(&_SSL[sslID].ctx, entropy_func, &_SSL[sslID].entropy);
++			mbedtls_ssl_init(&_SSL[sslID].ctx);
++			mbedtls_entropy_init(&_SSL[sslID].entropy);
++			mbedtls_ssl_config_init(&_SSL[sslID].config);
++
++			mbedtls_ssl_config_defaults(&_SSL[sslID].config, MBEDTLS_SSL_IS_CLIENT,
++				MBEDTLS_SSL_TRANSPORT_STREAM, MBEDTLS_SSL_PRESET_DEFAULT);
++			mbedtls_ssl_conf_rng(&_SSL[sslID].config, entropy_func, &_SSL[sslID].entropy);
+ 
+ 			// For some reason we can't use TLSv1.2, v1.1 and below are fine!
+-			ssl_set_max_version(&_SSL[sslID].ctx, SSL_MAJOR_VERSION_3, SSL_MINOR_VERSION_2);
++			mbedtls_ssl_conf_max_version(&_SSL[sslID].config, MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_2);
+ 
+-			ssl_set_session(&_SSL[sslID].ctx, &_SSL[sslID].session);
++			mbedtls_ssl_set_session(&_SSL[sslID].ctx, &_SSL[sslID].session);
+ 
+-			ssl_set_endpoint(&_SSL[sslID].ctx, SSL_IS_CLIENT);
+-			ssl_set_authmode(&_SSL[sslID].ctx, SSL_VERIFY_NONE);
+-			ssl_set_renegotiation(&_SSL[sslID].ctx, SSL_RENEGOTIATION_ENABLED);
++			mbedtls_ssl_conf_authmode(&_SSL[sslID].config, SSL_VERIFY_NONE);
++			mbedtls_ssl_conf_renegotiation(&_SSL[sslID].config, SSL_RENEGOTIATION_ENABLED);
+ 
+ 			memcpy(_SSL[sslID].hostname, hostname, min((int)BufferOutSize2, NET_SSL_MAX_HOSTNAME_LEN));
+ 			_SSL[sslID].hostname[NET_SSL_MAX_HOSTNAME_LEN-1] = '\0';
+-			ssl_set_hostname(&_SSL[sslID].ctx, _SSL[sslID].hostname);
++			mbedtls_ssl_set_hostname(&_SSL[sslID].ctx, _SSL[sslID].hostname);
+ 
+ 			_SSL[sslID].active = true;
+ 			Memory::Write_U32(freeSSL, _BufferIn);
+ 		}
+ 		else
+ 		{
+-_SSL_NEW_ERROR:
+ 			Memory::Write_U32(SSL_ERR_FAILED, _BufferIn);
+ 		}
+ 
+@@ -190,6 +187,7 @@ _SSL_NEW_ERROR:
+ 			ssl_close_notify(&_SSL[sslID].ctx);
+ 			ssl_session_free(&_SSL[sslID].session);
+ 			ssl_free(&_SSL[sslID].ctx);
++			mbedtls_ssl_config_free(&_SSL[sslID].config);
+ 
+ 			x509_crt_free(&_SSL[sslID].cacert);
+ 			x509_crt_free(&_SSL[sslID].clicert);
+@@ -241,7 +239,7 @@ _SSL_NEW_ERROR:
+ 			}
+ 			else
+ 			{
+-				ssl_set_ca_chain(&_SSL[sslID].ctx, &_SSL[sslID].cacert, NULL, _SSL[sslID].hostname);
++				mbedtls_ssl_conf_ca_chain(&_SSL[sslID].config, &_SSL[sslID].cacert, NULL);
+ 				Memory::Write_U32(SSL_OK, _BufferIn);
+ 			}
+ 
+@@ -279,7 +277,7 @@ _SSL_NEW_ERROR:
+ 			}
+ 			else
+ 			{
+-				ssl_set_own_cert(&_SSL[sslID].ctx, &_SSL[sslID].clicert, &_SSL[sslID].pk);
++				mbedtls_ssl_conf_own_cert(&_SSL[sslID].config, &_SSL[sslID].clicert, &_SSL[sslID].pk);
+ 				Memory::Write_U32(SSL_OK, _BufferIn);
+ 			}
+ 
+@@ -310,7 +308,7 @@ _SSL_NEW_ERROR:
+ 			memset(&_SSL[sslID].clicert, 0, sizeof(x509_crt));
+ 			memset(&_SSL[sslID].pk, 0, sizeof(pk_context));
+ 
+-			ssl_set_own_cert(&_SSL[sslID].ctx, NULL, NULL);
++			mbedtls_ssl_conf_own_cert(&_SSL[sslID].config, NULL, NULL);
+ 			Memory::Write_U32(SSL_OK, _BufferIn);
+ 		}
+ 		else
+@@ -335,7 +333,7 @@ _SSL_NEW_ERROR:
+ 			}
+ 			else
+ 			{
+-				ssl_set_ca_chain(&_SSL[sslID].ctx, &_SSL[sslID].cacert, NULL, _SSL[sslID].hostname);
++				mbedtls_ssl_conf_ca_chain(&_SSL[sslID].config, &_SSL[sslID].cacert, NULL);
+ 				Memory::Write_U32(SSL_OK, _BufferIn);
+ 			}
+ 			INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_SETBUILTINROOTCA = %d", ret);
+@@ -358,9 +356,11 @@ _SSL_NEW_ERROR:
+ 		int sslID = Memory::Read_U32(BufferOut) - 1;
+ 		if (SSLID_VALID(sslID))
+ 		{
++			mbedtls_ssl_setup(&_SSL[sslID].ctx, &_SSL[sslID].config);
+ 			_SSL[sslID].sockfd = Memory::Read_U32(BufferOut2);
+ 			INFO_LOG(WII_IPC_SSL, "IOCTLV_NET_SSL_CONNECT socket = %d", _SSL[sslID].sockfd);
+-			ssl_set_bio(&_SSL[sslID].ctx, net_recv, &_SSL[sslID].sockfd, net_send, &_SSL[sslID].sockfd);
++			mbedtls_ssl_set_bio(&_SSL[sslID].ctx, &_SSL[sslID].sockfd, mbedtls_net_send,
++				mbedtls_net_recv, NULL);
+ 			Memory::Write_U32(SSL_OK, _BufferIn);
+ 		}
+ 		else
+diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h
+index ccd6263..3517160 100644
+--- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h
++++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.h
+@@ -7,9 +7,10 @@
+ 
+ #include "WII_IPC_HLE_Device.h"
+ 
+-#include <polarssl/entropy.h>
+-#include <polarssl/net.h>
+-#include <polarssl/ssl.h>
++#include <mbedtls/entropy.h>
++#include <mbedtls/net.h>
++#include <mbedtls/ssl.h>
++#include <mbedtls/compat-1.3.h>
+ 
+ #define NET_SSL_MAX_HOSTNAME_LEN 256
+ #define NET_SSL_MAXINSTANCES 4
+@@ -56,6 +57,7 @@ enum SSL_IOCTL
+ 
+ typedef struct {
+ 	ssl_context ctx;
++	mbedtls_ssl_config config;
+ 	ssl_session session;
+ 	entropy_context entropy;
+ 	x509_crt cacert;
+diff --git a/Source/Core/Core/Src/Movie.cpp b/Source/Core/Core/Src/Movie.cpp
+index 9f3ca7e..7030a72 100644
+--- a/Source/Core/Core/Src/Movie.cpp
++++ b/Source/Core/Core/Src/Movie.cpp
+@@ -22,10 +22,14 @@
+ #include "HW/EXI_Channel.h"
+ #include "HW/DVDInterface.h"
+ #include "../../Common/Src/NandPaths.h"
+-#include "polarssl/md5.h"
+ #include "scmrev.h"
+ #include "NetPlayProto.h"
+ 
++#include <mbedtls/config.h>
++#include <mbedtls/md.h>
++
++static const mbedtls_md_info_t* s_md5_info = mbedtls_md_info_from_type(MBEDTLS_MD_MD5);
++
+ // The chunk to allocate movie data in multiples of.
+ #define DTM_BASE_LENGTH (1024)
+ 
+@@ -1211,7 +1215,7 @@ void CheckMD5()
+ 	unsigned char gameMD5[16];
+ 	char game[255];
+ 	memcpy(game, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strFilename.c_str(), SConfig::GetInstance().m_LocalCoreStartupParameter.m_strFilename.size());
+-	md5_file(game, gameMD5);
++	mbedtls_md_file(s_md5_info, game, gameMD5);
+ 
+ 	if (memcmp(gameMD5,MD5,16) == 0)
+ 		Core::DisplayMessage("Checksum of current game matches the recorded game.", 2000);
+@@ -1225,7 +1229,7 @@ void GetMD5()
+ 	memset(MD5, 0, sizeof(MD5));
+ 	char game[255];
+ 	memcpy(game, SConfig::GetInstance().m_LocalCoreStartupParameter.m_strFilename.c_str(),SConfig::GetInstance().m_LocalCoreStartupParameter.m_strFilename.size());
+-	md5_file(game, MD5);
++	mbedtls_md_file(s_md5_info, game, MD5);
+ 	Core::DisplayMessage("Finished calculating checksum.", 2000);
+ }
+ 
+diff --git a/Source/Core/Core/Src/ec_wii.cpp b/Source/Core/Core/Src/ec_wii.cpp
+index 60c1afc..1431bd9 100644
+--- a/Source/Core/Core/Src/ec_wii.cpp
++++ b/Source/Core/Core/Src/ec_wii.cpp
+@@ -10,8 +10,9 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include "Common.h"
+-#include <polarssl/aes.h>
+-#include "polarssl/sha1.h"
++#include <mbedtls/aes.h>
++#include <mbedtls/sha1.h>
++#include <mbedtls/compat-1.3.h>
+ #include "Crypto/tools.h"
+ #include "FileUtil.h"
+ #include "ec_wii.h"
+diff --git a/Source/Core/DiscIO/Src/NANDContentLoader.cpp b/Source/Core/DiscIO/Src/NANDContentLoader.cpp
+index 4e722d1..7601cd4 100644
+--- a/Source/Core/DiscIO/Src/NANDContentLoader.cpp
++++ b/Source/Core/DiscIO/Src/NANDContentLoader.cpp
+@@ -6,7 +6,8 @@
+ 
+ #include <algorithm>
+ #include <cctype>
+-#include <polarssl/aes.h>
++#include <mbedtls/aes.h>
++#include <mbedtls/compat-1.3.h>
+ #include "MathUtil.h"
+ #include "FileUtil.h"
+ #include "Log.h"
+diff --git a/Source/Core/DiscIO/Src/VolumeCreator.cpp b/Source/Core/DiscIO/Src/VolumeCreator.cpp
+index 3f20c4c..4568101 100644
+--- a/Source/Core/DiscIO/Src/VolumeCreator.cpp
++++ b/Source/Core/DiscIO/Src/VolumeCreator.cpp
+@@ -4,7 +4,8 @@
+ 
+ #include <vector>
+ 
+-#include <polarssl/aes.h>
++#include <mbedtls/aes.h>
++#include <mbedtls/compat-1.3.h>
+ 
+ #include "VolumeCreator.h"
+ 
+diff --git a/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp b/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
+index ef463f8..bdc178a 100644
+--- a/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
++++ b/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
+@@ -5,7 +5,8 @@
+ #include "VolumeWiiCrypted.h"
+ #include "VolumeGC.h"
+ #include "StringUtil.h"
+-#include <polarssl/sha1.h>
++#include <mbedtls/sha1.h>
++#include <mbedtls/compat-1.3.h>
+ 
+ namespace DiscIO
+ {
+diff --git a/Source/Core/DiscIO/Src/VolumeWiiCrypted.h b/Source/Core/DiscIO/Src/VolumeWiiCrypted.h
+index 4756a88..e9547c0 100644
+--- a/Source/Core/DiscIO/Src/VolumeWiiCrypted.h
++++ b/Source/Core/DiscIO/Src/VolumeWiiCrypted.h
+@@ -7,7 +7,8 @@
+ 
+ #include "Volume.h"
+ #include "Blob.h"
+-#include <polarssl/aes.h>
++#include <mbedtls/aes.h>
++#include <mbedtls/compat-1.3.h>
+ 
+ // --- this volume type is used for encrypted Wii images ---
+ 
+diff --git a/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h b/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h
+index 6ec4194..930bf07 100644
+--- a/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h
++++ b/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h
+@@ -7,8 +7,9 @@
+ 
+ #include "StringUtil.h"
+ #include "Crypto/tools.h"
+-#include <polarssl/aes.h>
+-#include "polarssl/md5.h"
++#include <mbedtls/aes.h>
++#include <mbedtls/md5.h>
++#include <mbedtls/compat-1.3.h>
+ 
+ // --- this is used for encrypted Wii save files
+ 
+-- 
+2.6.2
+
diff --git a/debian/patches/series b/debian/patches/series
index 8c8db18..93267f4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,3 +9,4 @@
 09_arm-use-gl.patch
 10_include_findx11.patch
 11_ffmpeg_2.9.patch
+12_mbedtls_2.0.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/dolphin-emu.git



More information about the Pkg-games-commits mailing list