2026-09-26 06:34:09

Signed-off-by: lizzie <lizzie@eden-emu.dev>
This commit is contained in:
lizzie
2026-09-26 06:34:09 +00:00
committed by crueter
parent 5e7ba8fc9c
commit 22b7e1e24c
48 changed files with 2390 additions and 2230 deletions
+53 -52
View File
@@ -84,44 +84,7 @@ public:
}
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key,
FunctionInfo{0, D<&ISslConnection::SetSocketDescriptor>, "SetSocketDescriptor"},
FunctionInfo{1, D<&ISslConnection::SetHostName>, "SetHostName"},
FunctionInfo{2, D<&ISslConnection::SetVerifyOption>, "SetVerifyOption"},
FunctionInfo{3, D<&ISslConnection::SetIoMode>, "SetIoMode"},
FunctionInfo{4, D<&ISslConnection::GetSocketDescriptor>, "GetSocketDescriptor"},
FunctionInfo{5, D<&ISslConnection::GetHostName>, "GetHostName"},
FunctionInfo{6, nullptr, "GetVerifyOption"},
FunctionInfo{7, D<&ISslConnection::GetIoMode>, "GetIoMode"},
FunctionInfo{8, D<&ISslConnection::DoHandshake>, "DoHandshake"},
FunctionInfo{9, &ISslConnection::DoHandshakeGetServerCert, "DoHandshakeGetServerCert"},
FunctionInfo{10, D<&ISslConnection::Read>, "Read"},
FunctionInfo{11, D<&ISslConnection::Write>, "Write"},
FunctionInfo{12, D<&ISslConnection::Pending>, "Pending"},
FunctionInfo{13, D<&ISslConnection::Peek>, "Peek"},
FunctionInfo{14, D<&ISslConnection::Poll>, "Poll"},
FunctionInfo{15, D<&ISslConnection::GetVerifyCertError>, "GetVerifyCertError"},
FunctionInfo{16, D<&ISslConnection::GetNeededServerCertBufferSize>, "GetNeededServerCertBufferSize"},
FunctionInfo{17, D<&ISslConnection::SetSessionCacheMode>, "SetSessionCacheMode"},
FunctionInfo{18, D<&ISslConnection::GetSessionCacheMode>, "GetSessionCacheMode"},
FunctionInfo{19, D<&ISslConnection::FlushSessionCache>, "FlushSessionCache"},
FunctionInfo{20, D<&ISslConnection::SetRenegotiationMode>, "SetRenegotiationMode"},
FunctionInfo{21, D<&ISslConnection::GetRenegotiationMode>, "GetRenegotiationMode"},
FunctionInfo{22, D<&ISslConnection::SetOption>, "SetOption"},
FunctionInfo{23, D<&ISslConnection::GetOption>, "GetOption"},
FunctionInfo{24, nullptr, "GetVerifyCertErrors"},
FunctionInfo{25, nullptr, "GetCipherInfo"},
FunctionInfo{26, D<&ISslConnection::SetNextAlpnProto>, "SetNextAlpnProto"},
FunctionInfo{27, D<&ISslConnection::GetNextAlpnProto>, "GetNextAlpnProto"},
FunctionInfo{28, nullptr, "SetDtlsSocketDescriptor"},
FunctionInfo{29, nullptr, "GetDtlsHandshakeTimeout"},
FunctionInfo{30, nullptr, "SetPrivateOption"},
FunctionInfo{31, nullptr, "SetSrtpCiphers"},
FunctionInfo{32, nullptr, "GetSrtpCipher"},
FunctionInfo{33, nullptr, "ExportKeyingMaterial"},
FunctionInfo{34, nullptr, "SetIoTimeout"},
FunctionInfo{35, nullptr, "GetIoTimeout"}
);
return HandlerTableGenerateWithFind(key, functions);
}
~ISslConnection() {
@@ -429,6 +392,44 @@ private:
R_SUCCEED();
}
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, D<&ISslConnection::SetSocketDescriptor>, "SetSocketDescriptor"},
FunctionInfo{1, D<&ISslConnection::SetHostName>, "SetHostName"},
FunctionInfo{2, D<&ISslConnection::SetVerifyOption>, "SetVerifyOption"},
FunctionInfo{3, D<&ISslConnection::SetIoMode>, "SetIoMode"},
FunctionInfo{4, D<&ISslConnection::GetSocketDescriptor>, "GetSocketDescriptor"},
FunctionInfo{5, D<&ISslConnection::GetHostName>, "GetHostName"},
FunctionInfo{6, nullptr, "GetVerifyOption"},
FunctionInfo{7, D<&ISslConnection::GetIoMode>, "GetIoMode"},
FunctionInfo{8, D<&ISslConnection::DoHandshake>, "DoHandshake"},
FunctionInfo{9, &ISslConnection::DoHandshakeGetServerCert, "DoHandshakeGetServerCert"},
FunctionInfo{10, D<&ISslConnection::Read>, "Read"},
FunctionInfo{11, D<&ISslConnection::Write>, "Write"},
FunctionInfo{12, D<&ISslConnection::Pending>, "Pending"},
FunctionInfo{13, D<&ISslConnection::Peek>, "Peek"},
FunctionInfo{14, D<&ISslConnection::Poll>, "Poll"},
FunctionInfo{15, D<&ISslConnection::GetVerifyCertError>, "GetVerifyCertError"},
FunctionInfo{16, D<&ISslConnection::GetNeededServerCertBufferSize>, "GetNeededServerCertBufferSize"},
FunctionInfo{17, D<&ISslConnection::SetSessionCacheMode>, "SetSessionCacheMode"},
FunctionInfo{18, D<&ISslConnection::GetSessionCacheMode>, "GetSessionCacheMode"},
FunctionInfo{19, D<&ISslConnection::FlushSessionCache>, "FlushSessionCache"},
FunctionInfo{20, D<&ISslConnection::SetRenegotiationMode>, "SetRenegotiationMode"},
FunctionInfo{21, D<&ISslConnection::GetRenegotiationMode>, "GetRenegotiationMode"},
FunctionInfo{22, D<&ISslConnection::SetOption>, "SetOption"},
FunctionInfo{23, D<&ISslConnection::GetOption>, "GetOption"},
FunctionInfo{24, nullptr, "GetVerifyCertErrors"},
FunctionInfo{25, nullptr, "GetCipherInfo"},
FunctionInfo{26, D<&ISslConnection::SetNextAlpnProto>, "SetNextAlpnProto"},
FunctionInfo{27, D<&ISslConnection::GetNextAlpnProto>, "GetNextAlpnProto"},
FunctionInfo{28, nullptr, "SetDtlsSocketDescriptor"},
FunctionInfo{29, nullptr, "GetDtlsHandshakeTimeout"},
FunctionInfo{30, nullptr, "SetPrivateOption"},
FunctionInfo{31, nullptr, "SetSrtpCiphers"},
FunctionInfo{32, nullptr, "GetSrtpCipher"},
FunctionInfo{33, nullptr, "ExportKeyingMaterial"},
FunctionInfo{34, nullptr, "SetIoTimeout"},
FunctionInfo{35, nullptr, "GetIoTimeout"}
);
SslVersion ssl_version;
std::shared_ptr<SslContextSharedData> shared_data;
std::unique_ptr<SSLConnectionBackend> backend;
@@ -562,22 +563,10 @@ private:
class ISslService final : public ServiceFramework<ISslService> {
public:
explicit ISslService(Core::System& system_)
: ServiceFramework{system_, "ssl"}, cert_store{system} {}
explicit ISslService(Core::System& system_) : ServiceFramework{system_, "ssl"}, cert_store{system} {}
FunctionInfoBase const* FindRequest(u32 key) override {
return HandlerTableGenerateWithFind(key,
FunctionInfo{0, &ISslService::CreateContext, "CreateContext"},
FunctionInfo{1, nullptr, "GetContextCount"},
FunctionInfo{2, D<&ISslService::GetCertificates>, "GetCertificates"},
FunctionInfo{3, D<&ISslService::GetCertificateBufSize>, "GetCertificateBufSize"},
FunctionInfo{4, nullptr, "DebugIoctl"},
FunctionInfo{5, &ISslService::SetInterfaceVersion, "SetInterfaceVersion"},
FunctionInfo{6, nullptr, "FlushSessionCache"},
FunctionInfo{7, nullptr, "SetDebugOption"},
FunctionInfo{8, nullptr, "GetDebugOption"},
FunctionInfo{8, nullptr, "ClearTls12FallbackFlag"}
);
return HandlerTableGenerateWithFind(key, functions);
}
private:
@@ -623,6 +612,18 @@ private:
}
private:
static constexpr auto functions = CreateStaticMap(
FunctionInfo{0, &ISslService::CreateContext, "CreateContext"},
FunctionInfo{1, nullptr, "GetContextCount"},
FunctionInfo{2, D<&ISslService::GetCertificates>, "GetCertificates"},
FunctionInfo{3, D<&ISslService::GetCertificateBufSize>, "GetCertificateBufSize"},
FunctionInfo{4, nullptr, "DebugIoctl"},
FunctionInfo{5, &ISslService::SetInterfaceVersion, "SetInterfaceVersion"},
FunctionInfo{6, nullptr, "FlushSessionCache"},
FunctionInfo{7, nullptr, "SetDebugOption"},
FunctionInfo{8, nullptr, "GetDebugOption"},
FunctionInfo{8, nullptr, "ClearTls12FallbackFlag"}
);
CertStore cert_store;
};