mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
WolfSSL: Use a custom UTF-8 aware _stat on Windows
This commit is contained in:
parent
791ee013ac
commit
c5748983f6
4 changed files with 18 additions and 7 deletions
2
3rdparty/curl/CMakeLists.txt
vendored
2
3rdparty/curl/CMakeLists.txt
vendored
|
@ -7,7 +7,7 @@ if(USE_SYSTEM_CURL)
|
||||||
target_link_libraries(libcurl INTERFACE CURL::libcurl)
|
target_link_libraries(libcurl INTERFACE CURL::libcurl)
|
||||||
else()
|
else()
|
||||||
message("-- RPCS3: building libcurl + wolfssl submodules")
|
message("-- RPCS3: building libcurl + wolfssl submodules")
|
||||||
add_compile_definitions(HAVE_SNI)
|
add_compile_definitions(HAVE_SNI OPENSSL_EXTRA)
|
||||||
option(BUILD_CURL_EXE "Set to ON to build curl executable." OFF)
|
option(BUILD_CURL_EXE "Set to ON to build curl executable." OFF)
|
||||||
option(CMAKE_USE_WOLFSSL "enable wolfSSL for SSL/TLS" ON)
|
option(CMAKE_USE_WOLFSSL "enable wolfSSL for SSL/TLS" ON)
|
||||||
option(HTTP_ONLY "disables all protocols except HTTP (This overrides all CURL_DISABLE_* options)" ON)
|
option(HTTP_ONLY "disables all protocols except HTTP (This overrides all CURL_DISABLE_* options)" ON)
|
||||||
|
|
4
3rdparty/wolfssl/extra/win32/user_settings.h
vendored
4
3rdparty/wolfssl/extra/win32/user_settings.h
vendored
|
@ -67,7 +67,9 @@ extern FILE* wolfSSL_fopen_utf8(const char* name, const char* mode);
|
||||||
#define XFFLUSH fflush
|
#define XFFLUSH fflush
|
||||||
|
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#define XSTAT _stat
|
extern int wolfSSL_stat_utf8(const char* path, struct _stat* buffer);
|
||||||
|
#define XSTAT wolfSSL_stat_utf8
|
||||||
|
#define XSTAT_TYPE struct _stat
|
||||||
#define XS_ISREG(s) (s & _S_IFREG)
|
#define XS_ISREG(s) (s & _S_IFREG)
|
||||||
#define SEPARATOR_CHAR ';'
|
#define SEPARATOR_CHAR ';'
|
||||||
|
|
||||||
|
|
5
3rdparty/wolfssl/wolfssl.vcxproj
vendored
5
3rdparty/wolfssl/wolfssl.vcxproj
vendored
|
@ -101,9 +101,7 @@
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\ge_low_mem.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\ge_low_mem.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\ge_operations.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\ge_operations.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\hash.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\hash.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\hc128.c" />
|
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\hmac.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\hmac.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\idea.c" />
|
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\integer.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\integer.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\kdf.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\kdf.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\logging.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\logging.c" />
|
||||||
|
@ -115,10 +113,11 @@
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\pkcs12.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\pkcs12.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\poly1305.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\poly1305.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\pwdbased.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\pwdbased.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\rabbit.c" />
|
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\random.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\random.c" />
|
||||||
|
<ClCompile Include="wolfssl\wolfcrypt\src\rc2.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\ripemd.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\ripemd.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\rsa.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\rsa.c" />
|
||||||
|
<ClCompile Include="wolfssl\wolfcrypt\src\sakke.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\sha.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\sha.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\sha256.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\sha256.c" />
|
||||||
<ClCompile Include="wolfssl\wolfcrypt\src\sha3.c" />
|
<ClCompile Include="wolfssl\wolfcrypt\src\sha3.c" />
|
||||||
|
|
|
@ -67,9 +67,19 @@ std::string curl_handle::get_verbose_error(CURLcode code)
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// Function exported from our user_settings.h in WolfSSL, implemented in RPCS3
|
// Functions exported from our user_settings.h in WolfSSL, implemented in RPCS3
|
||||||
extern "C" FILE* wolfSSL_fopen_utf8(const char* name, const char* mode)
|
extern "C"
|
||||||
|
{
|
||||||
|
|
||||||
|
FILE* wolfSSL_fopen_utf8(const char* name, const char* mode)
|
||||||
{
|
{
|
||||||
return _wfopen(utf8_to_wchar(name).c_str(), utf8_to_wchar(mode).c_str());
|
return _wfopen(utf8_to_wchar(name).c_str(), utf8_to_wchar(mode).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int wolfSSL_stat_utf8(const char* path, struct _stat* buffer)
|
||||||
|
{
|
||||||
|
return _wstat(utf8_to_wchar(path).c_str(), buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue