diff options
Diffstat (limited to '')
| -rw-r--r-- | src/common/socket_types.h | 5 | ||||
| -rw-r--r-- | src/core/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | src/core/hle/service/nifm/nifm.cpp | 1 | ||||
| -rw-r--r-- | src/core/hle/service/nifm/nifm.h | 7 | ||||
| -rw-r--r-- | src/core/hle/service/ssl/ssl_backend.h | 8 | ||||
| -rw-r--r-- | src/core/hle/service/ssl/ssl_backend_none.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/service/ssl/ssl_backend_openssl.cpp | 16 | ||||
| -rw-r--r-- | src/core/hle/service/ssl/ssl_backend_schannel.cpp | 9 | ||||
| -rw-r--r-- | src/core/hle/service/ssl/ssl_backend_securetransport.cpp | 15 | ||||
| -rw-r--r-- | src/core/internal_network/socket_proxy.cpp | 1 | ||||
| -rw-r--r-- | src/core/internal_network/socket_proxy.h | 4 | ||||
| -rw-r--r-- | src/core/internal_network/sockets.h | 3 |
12 files changed, 43 insertions, 32 deletions
diff --git a/src/common/socket_types.h b/src/common/socket_types.h index b2191c2e8..63824a5c4 100644 --- a/src/common/socket_types.h +++ b/src/common/socket_types.h | |||
| @@ -3,9 +3,10 @@ | |||
| 3 | 3 | ||
| 4 | #pragma once | 4 | #pragma once |
| 5 | 5 | ||
| 6 | #include "common/common_types.h" | ||
| 7 | |||
| 8 | #include <optional> | 6 | #include <optional> |
| 7 | #include <string> | ||
| 8 | |||
| 9 | #include "common/common_types.h" | ||
| 9 | 10 | ||
| 10 | namespace Network { | 11 | namespace Network { |
| 11 | 12 | ||
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index c3b688c5d..4b7395be8 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt | |||
| @@ -876,7 +876,7 @@ elseif (APPLE) | |||
| 876 | elseif (WIN32) | 876 | elseif (WIN32) |
| 877 | target_sources(core PRIVATE | 877 | target_sources(core PRIVATE |
| 878 | hle/service/ssl/ssl_backend_schannel.cpp) | 878 | hle/service/ssl/ssl_backend_schannel.cpp) |
| 879 | target_link_libraries(core PRIVATE secur32) | 879 | target_link_libraries(core PRIVATE crypt32 secur32) |
| 880 | else() | 880 | else() |
| 881 | target_sources(core PRIVATE | 881 | target_sources(core PRIVATE |
| 882 | hle/service/ssl/ssl_backend_none.cpp) | 882 | hle/service/ssl/ssl_backend_none.cpp) |
diff --git a/src/core/hle/service/nifm/nifm.cpp b/src/core/hle/service/nifm/nifm.cpp index 91d42853e..21b06d10b 100644 --- a/src/core/hle/service/nifm/nifm.cpp +++ b/src/core/hle/service/nifm/nifm.cpp | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | #include "core/hle/service/kernel_helpers.h" | 7 | #include "core/hle/service/kernel_helpers.h" |
| 8 | #include "core/hle/service/nifm/nifm.h" | 8 | #include "core/hle/service/nifm/nifm.h" |
| 9 | #include "core/hle/service/server_manager.h" | 9 | #include "core/hle/service/server_manager.h" |
| 10 | #include "network/network.h" | ||
| 10 | 11 | ||
| 11 | namespace { | 12 | namespace { |
| 12 | 13 | ||
diff --git a/src/core/hle/service/nifm/nifm.h b/src/core/hle/service/nifm/nifm.h index 9b20e6823..ae99c4695 100644 --- a/src/core/hle/service/nifm/nifm.h +++ b/src/core/hle/service/nifm/nifm.h | |||
| @@ -4,14 +4,15 @@ | |||
| 4 | #pragma once | 4 | #pragma once |
| 5 | 5 | ||
| 6 | #include "core/hle/service/service.h" | 6 | #include "core/hle/service/service.h" |
| 7 | #include "network/network.h" | ||
| 8 | #include "network/room.h" | ||
| 9 | #include "network/room_member.h" | ||
| 10 | 7 | ||
| 11 | namespace Core { | 8 | namespace Core { |
| 12 | class System; | 9 | class System; |
| 13 | } | 10 | } |
| 14 | 11 | ||
| 12 | namespace Network { | ||
| 13 | class RoomNetwork; | ||
| 14 | } | ||
| 15 | |||
| 15 | namespace Service::NIFM { | 16 | namespace Service::NIFM { |
| 16 | 17 | ||
| 17 | void LoopProcess(Core::System& system); | 18 | void LoopProcess(Core::System& system); |
diff --git a/src/core/hle/service/ssl/ssl_backend.h b/src/core/hle/service/ssl/ssl_backend.h index 25c16bcc1..409f4367c 100644 --- a/src/core/hle/service/ssl/ssl_backend.h +++ b/src/core/hle/service/ssl/ssl_backend.h | |||
| @@ -3,15 +3,15 @@ | |||
| 3 | 3 | ||
| 4 | #pragma once | 4 | #pragma once |
| 5 | 5 | ||
| 6 | #include "core/hle/result.h" | ||
| 7 | |||
| 8 | #include "common/common_types.h" | ||
| 9 | |||
| 10 | #include <memory> | 6 | #include <memory> |
| 11 | #include <span> | 7 | #include <span> |
| 12 | #include <string> | 8 | #include <string> |
| 13 | #include <vector> | 9 | #include <vector> |
| 14 | 10 | ||
| 11 | #include "common/common_types.h" | ||
| 12 | |||
| 13 | #include "core/hle/result.h" | ||
| 14 | |||
| 15 | namespace Network { | 15 | namespace Network { |
| 16 | class SocketBase; | 16 | class SocketBase; |
| 17 | } | 17 | } |
diff --git a/src/core/hle/service/ssl/ssl_backend_none.cpp b/src/core/hle/service/ssl/ssl_backend_none.cpp index f2f0ef706..2f4f23c42 100644 --- a/src/core/hle/service/ssl/ssl_backend_none.cpp +++ b/src/core/hle/service/ssl/ssl_backend_none.cpp | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project | 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project |
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | #include "core/hle/service/ssl/ssl_backend.h" | ||
| 5 | |||
| 6 | #include "common/logging/log.h" | 4 | #include "common/logging/log.h" |
| 7 | 5 | ||
| 6 | #include "core/hle/service/ssl/ssl_backend.h" | ||
| 7 | |||
| 8 | namespace Service::SSL { | 8 | namespace Service::SSL { |
| 9 | 9 | ||
| 10 | ResultVal<std::unique_ptr<SSLConnectionBackend>> CreateSSLConnectionBackend() { | 10 | ResultVal<std::unique_ptr<SSLConnectionBackend>> CreateSSLConnectionBackend() { |
diff --git a/src/core/hle/service/ssl/ssl_backend_openssl.cpp b/src/core/hle/service/ssl/ssl_backend_openssl.cpp index f69674f77..6ca869dbf 100644 --- a/src/core/hle/service/ssl/ssl_backend_openssl.cpp +++ b/src/core/hle/service/ssl/ssl_backend_openssl.cpp | |||
| @@ -1,14 +1,6 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project | 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project |
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | #include "core/hle/service/ssl/ssl_backend.h" | ||
| 5 | #include "core/internal_network/network.h" | ||
| 6 | #include "core/internal_network/sockets.h" | ||
| 7 | |||
| 8 | #include "common/fs/file.h" | ||
| 9 | #include "common/hex_util.h" | ||
| 10 | #include "common/string_util.h" | ||
| 11 | |||
| 12 | #include <mutex> | 4 | #include <mutex> |
| 13 | 5 | ||
| 14 | #include <openssl/bio.h> | 6 | #include <openssl/bio.h> |
| @@ -16,6 +8,14 @@ | |||
| 16 | #include <openssl/ssl.h> | 8 | #include <openssl/ssl.h> |
| 17 | #include <openssl/x509.h> | 9 | #include <openssl/x509.h> |
| 18 | 10 | ||
| 11 | #include "common/fs/file.h" | ||
| 12 | #include "common/hex_util.h" | ||
| 13 | #include "common/string_util.h" | ||
| 14 | |||
| 15 | #include "core/hle/service/ssl/ssl_backend.h" | ||
| 16 | #include "core/internal_network/network.h" | ||
| 17 | #include "core/internal_network/sockets.h" | ||
| 18 | |||
| 19 | using namespace Common::FS; | 19 | using namespace Common::FS; |
| 20 | 20 | ||
| 21 | namespace Service::SSL { | 21 | namespace Service::SSL { |
diff --git a/src/core/hle/service/ssl/ssl_backend_schannel.cpp b/src/core/hle/service/ssl/ssl_backend_schannel.cpp index a1d6a186e..d8074339a 100644 --- a/src/core/hle/service/ssl/ssl_backend_schannel.cpp +++ b/src/core/hle/service/ssl/ssl_backend_schannel.cpp | |||
| @@ -1,16 +1,16 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project | 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project |
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | #include "core/hle/service/ssl/ssl_backend.h" | 4 | #include <mutex> |
| 5 | #include "core/internal_network/network.h" | ||
| 6 | #include "core/internal_network/sockets.h" | ||
| 7 | 5 | ||
| 8 | #include "common/error.h" | 6 | #include "common/error.h" |
| 9 | #include "common/fs/file.h" | 7 | #include "common/fs/file.h" |
| 10 | #include "common/hex_util.h" | 8 | #include "common/hex_util.h" |
| 11 | #include "common/string_util.h" | 9 | #include "common/string_util.h" |
| 12 | 10 | ||
| 13 | #include <mutex> | 11 | #include "core/hle/service/ssl/ssl_backend.h" |
| 12 | #include "core/internal_network/network.h" | ||
| 13 | #include "core/internal_network/sockets.h" | ||
| 14 | 14 | ||
| 15 | namespace { | 15 | namespace { |
| 16 | 16 | ||
| @@ -20,6 +20,7 @@ namespace { | |||
| 20 | #define SECURITY_WIN32 | 20 | #define SECURITY_WIN32 |
| 21 | #include <schnlsp.h> | 21 | #include <schnlsp.h> |
| 22 | #include <security.h> | 22 | #include <security.h> |
| 23 | #include <wincrypt.h> | ||
| 23 | 24 | ||
| 24 | std::once_flag one_time_init_flag; | 25 | std::once_flag one_time_init_flag; |
| 25 | bool one_time_init_success = false; | 26 | bool one_time_init_success = false; |
diff --git a/src/core/hle/service/ssl/ssl_backend_securetransport.cpp b/src/core/hle/service/ssl/ssl_backend_securetransport.cpp index be40a5aeb..b3083cbad 100644 --- a/src/core/hle/service/ssl/ssl_backend_securetransport.cpp +++ b/src/core/hle/service/ssl/ssl_backend_securetransport.cpp | |||
| @@ -1,18 +1,21 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project | 1 | // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project |
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | 2 | // SPDX-License-Identifier: GPL-2.0-or-later |
| 3 | 3 | ||
| 4 | #include "core/hle/service/ssl/ssl_backend.h" | ||
| 5 | #include "core/internal_network/network.h" | ||
| 6 | #include "core/internal_network/sockets.h" | ||
| 7 | |||
| 8 | #include <mutex> | 4 | #include <mutex> |
| 9 | 5 | ||
| 10 | #include <Security/SecureTransport.h> | ||
| 11 | |||
| 12 | // SecureTransport has been deprecated in its entirety in favor of | 6 | // SecureTransport has been deprecated in its entirety in favor of |
| 13 | // Network.framework, but that does not allow layering TLS on top of an | 7 | // Network.framework, but that does not allow layering TLS on top of an |
| 14 | // arbitrary socket. | 8 | // arbitrary socket. |
| 9 | #if defined(__GNUC__) || defined(__clang__) | ||
| 10 | #pragma GCC diagnostic push | ||
| 15 | #pragma GCC diagnostic ignored "-Wdeprecated-declarations" | 11 | #pragma GCC diagnostic ignored "-Wdeprecated-declarations" |
| 12 | #include <Security/SecureTransport.h> | ||
| 13 | #pragma GCC diagnostic pop | ||
| 14 | #endif | ||
| 15 | |||
| 16 | #include "core/hle/service/ssl/ssl_backend.h" | ||
| 17 | #include "core/internal_network/network.h" | ||
| 18 | #include "core/internal_network/sockets.h" | ||
| 16 | 19 | ||
| 17 | namespace { | 20 | namespace { |
| 18 | 21 | ||
diff --git a/src/core/internal_network/socket_proxy.cpp b/src/core/internal_network/socket_proxy.cpp index 44e9e3093..ce0dee970 100644 --- a/src/core/internal_network/socket_proxy.cpp +++ b/src/core/internal_network/socket_proxy.cpp | |||
| @@ -10,6 +10,7 @@ | |||
| 10 | #include "core/internal_network/network.h" | 10 | #include "core/internal_network/network.h" |
| 11 | #include "core/internal_network/network_interface.h" | 11 | #include "core/internal_network/network_interface.h" |
| 12 | #include "core/internal_network/socket_proxy.h" | 12 | #include "core/internal_network/socket_proxy.h" |
| 13 | #include "network/network.h" | ||
| 13 | 14 | ||
| 14 | #if YUZU_UNIX | 15 | #if YUZU_UNIX |
| 15 | #include <sys/socket.h> | 16 | #include <sys/socket.h> |
diff --git a/src/core/internal_network/socket_proxy.h b/src/core/internal_network/socket_proxy.h index e12c413d1..70500cf4a 100644 --- a/src/core/internal_network/socket_proxy.h +++ b/src/core/internal_network/socket_proxy.h | |||
| @@ -10,10 +10,12 @@ | |||
| 10 | 10 | ||
| 11 | #include "common/common_funcs.h" | 11 | #include "common/common_funcs.h" |
| 12 | #include "core/internal_network/sockets.h" | 12 | #include "core/internal_network/sockets.h" |
| 13 | #include "network/network.h" | 13 | #include "network/room_member.h" |
| 14 | 14 | ||
| 15 | namespace Network { | 15 | namespace Network { |
| 16 | 16 | ||
| 17 | class RoomNetwork; | ||
| 18 | |||
| 17 | class ProxySocket : public SocketBase { | 19 | class ProxySocket : public SocketBase { |
| 18 | public: | 20 | public: |
| 19 | explicit ProxySocket(RoomNetwork& room_network_) noexcept; | 21 | explicit ProxySocket(RoomNetwork& room_network_) noexcept; |
diff --git a/src/core/internal_network/sockets.h b/src/core/internal_network/sockets.h index 46a53ef79..4ba51f62c 100644 --- a/src/core/internal_network/sockets.h +++ b/src/core/internal_network/sockets.h | |||
| @@ -15,12 +15,13 @@ | |||
| 15 | 15 | ||
| 16 | #include "common/common_types.h" | 16 | #include "common/common_types.h" |
| 17 | #include "core/internal_network/network.h" | 17 | #include "core/internal_network/network.h" |
| 18 | #include "network/network.h" | ||
| 19 | 18 | ||
| 20 | // TODO: C++20 Replace std::vector usages with std::span | 19 | // TODO: C++20 Replace std::vector usages with std::span |
| 21 | 20 | ||
| 22 | namespace Network { | 21 | namespace Network { |
| 23 | 22 | ||
| 23 | struct ProxyPacket; | ||
| 24 | |||
| 24 | class SocketBase { | 25 | class SocketBase { |
| 25 | public: | 26 | public: |
| 26 | #ifdef YUZU_UNIX | 27 | #ifdef YUZU_UNIX |