* Correctly return zero root CA certs

* Stub sceHttpsGetCaList
This commit is contained in:
Marcin Mikołajczyk 2025-07-23 19:34:07 +02:00 committed by GitHub
parent ea37ea11fc
commit 8dc50ffc79
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 37 additions and 7 deletions

View File

@ -492,8 +492,9 @@ int PS4_SYSV_ABI sceHttpsFreeCaList() {
return ORBIS_OK;
}
int PS4_SYSV_ABI sceHttpsGetCaList() {
LOG_ERROR(Lib_Http, "(STUBBED) called");
int PS4_SYSV_ABI sceHttpsGetCaList(int httpCtxId, OrbisHttpsCaList* list) {
LOG_ERROR(Lib_Http, "(DUMMY) called, httpCtxId = {}", httpCtxId);
list->certsNum = 0;
return ORBIS_OK;
}

View File

@ -4,6 +4,7 @@
#pragma once
#include "common/types.h"
#include "core/libraries/network/ssl.h"
namespace Core::Loader {
class SymbolsResolver;
@ -24,6 +25,8 @@ struct OrbisHttpUriElement {
u8 reserved[10];
};
using OrbisHttpsCaList = Libraries::Ssl::OrbisSslCaList;
int PS4_SYSV_ABI sceHttpAbortRequest();
int PS4_SYSV_ABI sceHttpAbortRequestForce();
int PS4_SYSV_ABI sceHttpAbortWaitRequest();
@ -120,7 +123,7 @@ int PS4_SYSV_ABI sceHttpSetResponseHeaderMaxSize();
int PS4_SYSV_ABI sceHttpSetSendTimeOut();
int PS4_SYSV_ABI sceHttpSetSocketCreationCallback();
int PS4_SYSV_ABI sceHttpsFreeCaList();
int PS4_SYSV_ABI sceHttpsGetCaList();
int PS4_SYSV_ABI sceHttpsGetCaList(int httpCtxId, OrbisHttpsCaList* list);
int PS4_SYSV_ABI sceHttpsGetSslError();
int PS4_SYSV_ABI sceHttpsLoadCert();
int PS4_SYSV_ABI sceHttpsSetMinSslVersion();

View File

@ -633,8 +633,17 @@ int PS4_SYSV_ABI sceSslFreeSslCertName() {
return ORBIS_OK;
}
int PS4_SYSV_ABI sceSslGetCaCerts() {
struct OrbisSslCaCerts {
void* certs;
u64 num;
void* pool;
};
int PS4_SYSV_ABI sceSslGetCaCerts(int sslCtxId, OrbisSslCaCerts* certs) {
LOG_ERROR(Lib_Ssl, "(STUBBED) called");
certs->certs = nullptr;
certs->num = 0;
certs->pool = nullptr;
return ORBIS_OK;
}

View File

@ -11,6 +11,13 @@ class SymbolsResolver;
namespace Libraries::Ssl {
struct OrbisSslCaCerts;
struct OrbisSslCaList {
void* certs;
int certsNum;
};
int PS4_SYSV_ABI CA_MGMT_allocCertDistinguishedName();
int PS4_SYSV_ABI CA_MGMT_certDistinguishedNameCompare();
int PS4_SYSV_ABI CA_MGMT_convertKeyBlobToPKCS8Key();
@ -136,7 +143,7 @@ int PS4_SYSV_ABI sceSslEnableOptionInternal();
int PS4_SYSV_ABI sceSslFreeCaCerts();
int PS4_SYSV_ABI sceSslFreeCaList();
int PS4_SYSV_ABI sceSslFreeSslCertName();
int PS4_SYSV_ABI sceSslGetCaCerts();
int PS4_SYSV_ABI sceSslGetCaCerts(int sslCtxId, OrbisSslCaCerts* certs);
int PS4_SYSV_ABI sceSslGetCaList();
int PS4_SYSV_ABI sceSslGetIssuerName();
int PS4_SYSV_ABI sceSslGetMemoryPoolStats();

View File

@ -128,8 +128,18 @@ int PS4_SYSV_ABI sceSslGetAlpnSelected() {
return ORBIS_OK;
}
int PS4_SYSV_ABI sceSslGetCaCerts() {
LOG_ERROR(Lib_Ssl2, "(STUBBED) called");
struct OrbisSslCaCerts {
void* certs;
u64 num;
void* pool;
};
int PS4_SYSV_ABI sceSslGetCaCerts(int sslCtxId, OrbisSslCaCerts* certs) {
// check if it is same as libSceSsl
LOG_ERROR(Lib_Ssl2, "(DUMMY) called");
certs->certs = nullptr;
certs->num = 0;
certs->pool = nullptr;
return ORBIS_OK;
}