forked from Mirror/Ryujinx
3fa7ef21b4
* implement certain servicessl functions * ssl: Implement more of SSL connection and abstract it This adds support to non blocking SSL operations and unlink the SSL implementation from the IPC logic. * Rename SslDefaultSocketConnection to SslManagedSocketConnection * Fix regression on Pokemon TV * Address gdkchan's comment * Simplify value read from previous commit * ssl: some changes - Implement builtin certificates parsing and retrieving - Fix issues with SSL version handling - Improve managed SSL socket error handling - Ensure to only return a certificate on DoHandshake when actually requested * Add missing BuiltInCertificateManager initialization call * Address gdkchan's comment * Address Ack's comment Co-authored-by: InvoxiPlayGames <webmaster@invoxiplaygames.uk>
25 lines
678 B
C#
25 lines
678 B
C#
using Ryujinx.HLE.HOS.Services.Sockets.Bsd;
|
|
using System;
|
|
using System.Net.Sockets;
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|
{
|
|
interface ISslConnectionBase: IDisposable
|
|
{
|
|
int SocketFd { get; }
|
|
|
|
ISocket Socket { get; }
|
|
|
|
ResultCode Handshake(string hostName);
|
|
|
|
ResultCode GetServerCertificate(string hostname, Span<byte> certificates, out uint storageSize, out uint certificateCount);
|
|
|
|
ResultCode Write(out int writtenCount, ReadOnlyMemory<byte> buffer);
|
|
|
|
ResultCode Read(out int readCount, Memory<byte> buffer);
|
|
|
|
ResultCode Peek(out int peekCount, Memory<byte> buffer);
|
|
|
|
int Pending();
|
|
}
|
|
}
|