mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-28 07:57:11 +02:00
[Ryujinx.HLE] Address dotnet-format issues (#5380)
* dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Restore a few unused methods and variables * Silence dotnet format IDE0060 warnings * Silence dotnet format IDE0052 warnings * Address or silence dotnet format IDE1006 warnings * Address dotnet format CA1816 warnings * Address or silence dotnet format CA2208 warnings * Address or silence dotnet format CA1806 and a few CA1854 warnings * Address dotnet format CA2211 warnings * Address dotnet format CA1822 warnings * Address or silence dotnet format CA1069 warnings * Make dotnet format succeed in style mode * Address or silence dotnet format CA2211 warnings * Address review comments * Address dotnet format CA2208 warnings properly * Make ProcessResult readonly * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Add previously silenced warnings back I have no clue how these disappeared * Revert formatting changes for while and for-loops * Format if-blocks correctly * Run dotnet format style after rebase * Run dotnet format whitespace after rebase * Run dotnet format style after rebase * Run dotnet format analyzers after rebase * Run dotnet format after rebase and remove unused usings - analyzers - style - whitespace * Disable 'prefer switch expression' rule * Add comments to disabled warnings * Fix a few disabled warnings * Fix naming rule violation, Convert shader properties to auto-property and convert values to const * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Start working on disabled warnings * Fix and silence a few dotnet-format warnings again * Run dotnet format after rebase * Use using declaration instead of block syntax * Address IDE0251 warnings * Address a few disabled IDE0060 warnings * Silence IDE0060 in .editorconfig * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * First dotnet format pass * Fix naming rule violations * Fix typo * Add trailing commas, use targeted new and use array initializer * Fix build issues * Fix remaining build issues * Remove SuppressMessage for CA1069 where possible * Address dotnet format issues * Address formatting issues Co-authored-by: Ac_K <acoustik666@gmail.com> * Add GetHashCode implementation for RenderingSurfaceInfo * Explicitly silence CA1822 for every affected method in Syscall * Address formatting issues in Demangler.cs * Address review feedback Co-authored-by: Ac_K <acoustik666@gmail.com> * Revert marking service methods as static * Next dotnet format pass * Address review feedback --------- Co-authored-by: Ac_K <acoustik666@gmail.com>
This commit is contained in:
parent
fec8291c17
commit
326749498b
1015 changed files with 8173 additions and 7615 deletions
|
@ -23,7 +23,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
{
|
||||
private const long CertStoreTitleId = 0x0100000000000800;
|
||||
|
||||
private readonly string CertStoreTitleMissingErrorMessage = "CertStore system title not found! SSL CA retrieving will not work, provide the system archive to fix this error. (See https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#initial-setup-continued---installation-of-firmware for more information)";
|
||||
private const string CertStoreTitleMissingErrorMessage = "CertStore system title not found! SSL CA retrieving will not work, provide the system archive to fix this error. (See https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#initial-setup-continued---installation-of-firmware for more information)";
|
||||
|
||||
private static BuiltInCertificateManager _instance;
|
||||
|
||||
|
@ -31,10 +31,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
_instance = new BuiltInCertificateManager();
|
||||
}
|
||||
_instance ??= new BuiltInCertificateManager();
|
||||
|
||||
return _instance;
|
||||
}
|
||||
|
@ -52,12 +49,12 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
{
|
||||
private const uint ValidMagic = 0x546C7373;
|
||||
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable CS0649 // Field is never assigned to
|
||||
public uint Magic;
|
||||
public uint EntriesCount;
|
||||
#pragma warning restore CS0649
|
||||
|
||||
public bool IsValid()
|
||||
public readonly bool IsValid()
|
||||
{
|
||||
return Magic == ValidMagic;
|
||||
}
|
||||
|
@ -65,7 +62,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
|
||||
private struct CertStoreFileEntry
|
||||
{
|
||||
#pragma warning disable CS0649
|
||||
#pragma warning disable CS0649 // Field is never assigned to
|
||||
public CaCertificateId Id;
|
||||
public TrustedCertStatus Status;
|
||||
public uint DataSize;
|
||||
|
@ -109,7 +106,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
{
|
||||
Id = entry.Id,
|
||||
Status = entry.Status,
|
||||
Data = data
|
||||
Data = data,
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -125,9 +122,9 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
|
||||
if (HasCertStoreTitle())
|
||||
{
|
||||
using LocalStorage ncaFile = new LocalStorage(_virtualFileSystem.SwitchPathToSystemPath(GetCertStoreTitleContentPath()), FileAccess.Read, FileMode.Open);
|
||||
using LocalStorage ncaFile = new(VirtualFileSystem.SwitchPathToSystemPath(GetCertStoreTitleContentPath()), FileAccess.Read, FileMode.Open);
|
||||
|
||||
Nca nca = new Nca(_virtualFileSystem.KeySet, ncaFile);
|
||||
Nca nca = new(_virtualFileSystem.KeySet, ncaFile);
|
||||
|
||||
IFileSystem romfs = nca.OpenFileSystem(NcaSectionType.Data, _fsIntegrityCheckLevel);
|
||||
|
||||
|
|
|
@ -19,8 +19,10 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
// CreateContext(nn::ssl::sf::SslVersion, u64, pid) -> object<nn::ssl::sf::ISslContext>
|
||||
public ResultCode CreateContext(ServiceCtx context)
|
||||
{
|
||||
SslVersion sslVersion = (SslVersion)context.RequestData.ReadUInt32();
|
||||
ulong pidPlaceholder = context.RequestData.ReadUInt64();
|
||||
SslVersion sslVersion = (SslVersion)context.RequestData.ReadUInt32();
|
||||
#pragma warning disable IDE0059 // Remove unnecessary value assignment
|
||||
ulong pidPlaceholder = context.RequestData.ReadUInt64();
|
||||
#pragma warning restore IDE0059
|
||||
|
||||
MakeObject(context, new ISslContext(context.Request.HandleDesc.PId, sslVersion));
|
||||
|
||||
|
@ -71,7 +73,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
Id = entries[i].Id,
|
||||
Status = entries[i].Status,
|
||||
CertificateDataSize = (ulong)entries[i].Data.Length,
|
||||
CertificateDataOffset = (ulong)(rawData.Length - certificatesData.Length)
|
||||
CertificateDataOffset = (ulong)(rawData.Length - certificatesData.Length),
|
||||
};
|
||||
|
||||
certificatesData = certificatesData[entries[i].Data.Length..];
|
||||
|
@ -84,7 +86,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
Id = CaCertificateId.All,
|
||||
Status = TrustedCertStatus.Invalid,
|
||||
CertificateDataSize = 0,
|
||||
CertificateDataOffset = 0
|
||||
CertificateDataOffset = 0,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -122,4 +124,4 @@ namespace Ryujinx.HLE.HOS.Services.Ssl
|
|||
return ResultCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,19 +2,19 @@
|
|||
{
|
||||
public enum ResultCode
|
||||
{
|
||||
OsModuleId = 123,
|
||||
OsModuleId = 123,
|
||||
ErrorCodeShift = 9,
|
||||
|
||||
Success = 0,
|
||||
NoSocket = (103 << ErrorCodeShift) | OsModuleId,
|
||||
InvalidSocket = (106 << ErrorCodeShift) | OsModuleId,
|
||||
Success = 0,
|
||||
NoSocket = (103 << ErrorCodeShift) | OsModuleId,
|
||||
InvalidSocket = (106 << ErrorCodeShift) | OsModuleId,
|
||||
InvalidCertBufSize = (112 << ErrorCodeShift) | OsModuleId,
|
||||
InvalidOption = (126 << ErrorCodeShift) | OsModuleId,
|
||||
InvalidOption = (126 << ErrorCodeShift) | OsModuleId,
|
||||
CertBufferTooSmall = (202 << ErrorCodeShift) | OsModuleId,
|
||||
AlreadyInUse = (203 << ErrorCodeShift) | OsModuleId,
|
||||
WouldBlock = (204 << ErrorCodeShift) | OsModuleId,
|
||||
Timeout = (205 << ErrorCodeShift) | OsModuleId,
|
||||
ConnectionReset = (209 << ErrorCodeShift) | OsModuleId,
|
||||
ConnectionAbort = (210 << ErrorCodeShift) | OsModuleId
|
||||
AlreadyInUse = (203 << ErrorCodeShift) | OsModuleId,
|
||||
WouldBlock = (204 << ErrorCodeShift) | OsModuleId,
|
||||
Timeout = (205 << ErrorCodeShift) | OsModuleId,
|
||||
ConnectionReset = (209 << ErrorCodeShift) | OsModuleId,
|
||||
ConnectionAbort = (210 << ErrorCodeShift) | OsModuleId,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
private bool _skipDefaultVerify;
|
||||
private bool _enableAlpn;
|
||||
|
||||
private SslVersion _sslVersion;
|
||||
private readonly SslVersion _sslVersion;
|
||||
private IoMode _ioMode;
|
||||
private VerifyOption _verifyOption;
|
||||
private SessionCacheMode _sessionCacheMode;
|
||||
|
@ -206,13 +206,12 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
{
|
||||
if (_getServerCertChain)
|
||||
{
|
||||
using (WritableRegion region = context.Memory.GetWritableRegion(context.Request.ReceiveBuff[0].Position, (int)context.Request.ReceiveBuff[0].Size))
|
||||
{
|
||||
result = _connection.GetServerCertificate(_hostName, region.Memory.Span, out uint bufferSize, out uint certificateCount);
|
||||
using WritableRegion region = context.Memory.GetWritableRegion(context.Request.ReceiveBuff[0].Position, (int)context.Request.ReceiveBuff[0].Size);
|
||||
|
||||
context.ResponseData.Write(bufferSize);
|
||||
context.ResponseData.Write(certificateCount);
|
||||
}
|
||||
result = _connection.GetServerCertificate(_hostName, region.Memory.Span, out uint bufferSize, out uint certificateCount);
|
||||
|
||||
context.ResponseData.Write(bufferSize);
|
||||
context.ResponseData.Write(certificateCount);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -235,15 +234,13 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
|
||||
ResultCode result;
|
||||
|
||||
using (WritableRegion region = context.Memory.GetWritableRegion(context.Request.ReceiveBuff[0].Position, (int)context.Request.ReceiveBuff[0].Size))
|
||||
{
|
||||
// TODO: Better error management.
|
||||
result = _connection.Read(out int readCount, region.Memory);
|
||||
using WritableRegion region = context.Memory.GetWritableRegion(context.Request.ReceiveBuff[0].Position, (int)context.Request.ReceiveBuff[0].Size);
|
||||
// TODO: Better error management.
|
||||
result = _connection.Read(out int readCount, region.Memory);
|
||||
|
||||
if (result == ResultCode.Success)
|
||||
{
|
||||
context.ResponseData.Write(readCount);
|
||||
}
|
||||
if (result == ResultCode.Success)
|
||||
{
|
||||
context.ResponseData.Write(readCount);
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -297,15 +294,15 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
|
||||
ResultCode result;
|
||||
|
||||
using (WritableRegion region = context.Memory.GetWritableRegion(context.Request.ReceiveBuff[0].Position, (int)context.Request.ReceiveBuff[0].Size))
|
||||
{
|
||||
// TODO: Better error management.
|
||||
result = _connection.Peek(out int peekCount, region.Memory);
|
||||
using WritableRegion region = context.Memory.GetWritableRegion(context.Request.ReceiveBuff[0].Position, (int)context.Request.ReceiveBuff[0].Size);
|
||||
|
||||
if (result == ResultCode.Success)
|
||||
{
|
||||
context.ResponseData.Write(peekCount);
|
||||
}
|
||||
|
||||
// TODO: Better error management.
|
||||
result = _connection.Peek(out int peekCount, region.Memory);
|
||||
|
||||
if (result == ResultCode.Success)
|
||||
{
|
||||
context.ResponseData.Write(peekCount);
|
||||
}
|
||||
|
||||
return result;
|
||||
|
@ -381,7 +378,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
// SetOption(b8 value, nn::ssl::sf::OptionType option)
|
||||
public ResultCode SetOption(ServiceCtx context)
|
||||
{
|
||||
bool value = context.RequestData.ReadUInt32() != 0;
|
||||
bool value = context.RequestData.ReadUInt32() != 0;
|
||||
OptionType option = (OptionType)context.RequestData.ReadUInt32();
|
||||
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceSsl, new { option, value });
|
||||
|
@ -516,4 +513,4 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
_connection?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ using System;
|
|||
|
||||
namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
||||
{
|
||||
interface ISslConnectionBase: IDisposable
|
||||
interface ISslConnectionBase : IDisposable
|
||||
{
|
||||
int SocketFd { get; }
|
||||
|
||||
|
|
|
@ -47,8 +47,10 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
{
|
||||
CertificateFormat certificateFormat = (CertificateFormat)context.RequestData.ReadUInt32();
|
||||
|
||||
#pragma warning disable IDE0059 // Remove unnecessary value assignment
|
||||
ulong certificateDataPosition = context.Request.SendBuff[0].Position;
|
||||
ulong certificateDataSize = context.Request.SendBuff[0].Size;
|
||||
ulong certificateDataSize = context.Request.SendBuff[0].Size;
|
||||
#pragma warning restore IDE0059
|
||||
|
||||
context.ResponseData.Write(_serverCertificateId++);
|
||||
|
||||
|
@ -61,11 +63,13 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
// ImportClientPki(buffer<bytes, 5> certificate, buffer<bytes, 5> ascii_password) -> u64 certificateId
|
||||
public ResultCode ImportClientPki(ServiceCtx context)
|
||||
{
|
||||
#pragma warning disable IDE0059 // Remove unnecessary value assignment
|
||||
ulong certificateDataPosition = context.Request.SendBuff[0].Position;
|
||||
ulong certificateDataSize = context.Request.SendBuff[0].Size;
|
||||
ulong certificateDataSize = context.Request.SendBuff[0].Size;
|
||||
#pragma warning restore IDE0059
|
||||
|
||||
ulong asciiPasswordDataPosition = context.Request.SendBuff[1].Position;
|
||||
ulong asciiPasswordDataSize = context.Request.SendBuff[1].Size;
|
||||
ulong asciiPasswordDataSize = context.Request.SendBuff[1].Size;
|
||||
|
||||
byte[] asciiPasswordData = new byte[asciiPasswordDataSize];
|
||||
|
||||
|
@ -80,4 +84,4 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
return ResultCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
|
||||
public ISocket Socket { get; }
|
||||
|
||||
private BsdContext _bsdContext;
|
||||
private SslVersion _sslVersion;
|
||||
private readonly BsdContext _bsdContext;
|
||||
private readonly SslVersion _sslVersion;
|
||||
private SslStream _stream;
|
||||
private bool _isBlockingSocket;
|
||||
private int _previousReadTimeout;
|
||||
|
@ -67,25 +67,19 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
EndSslOperation();
|
||||
}
|
||||
|
||||
// NOTE: We silence warnings about TLS 1.0 and 1.1 as games will likely use it.
|
||||
// NOTE: We silence warnings about TLS 1.0 and 1.1 as games will likely use it.
|
||||
#pragma warning disable SYSLIB0039
|
||||
private static SslProtocols TranslateSslVersion(SslVersion version)
|
||||
private SslProtocols TranslateSslVersion(SslVersion version)
|
||||
{
|
||||
switch (version & SslVersion.VersionMask)
|
||||
return (version & SslVersion.VersionMask) switch
|
||||
{
|
||||
case SslVersion.Auto:
|
||||
return SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12 | SslProtocols.Tls13;
|
||||
case SslVersion.TlsV10:
|
||||
return SslProtocols.Tls;
|
||||
case SslVersion.TlsV11:
|
||||
return SslProtocols.Tls11;
|
||||
case SslVersion.TlsV12:
|
||||
return SslProtocols.Tls12;
|
||||
case SslVersion.TlsV13:
|
||||
return SslProtocols.Tls13;
|
||||
default:
|
||||
throw new NotImplementedException(version.ToString());
|
||||
}
|
||||
SslVersion.Auto => SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12 | SslProtocols.Tls13,
|
||||
SslVersion.TlsV10 => SslProtocols.Tls,
|
||||
SslVersion.TlsV11 => SslProtocols.Tls11,
|
||||
SslVersion.TlsV12 => SslProtocols.Tls12,
|
||||
SslVersion.TlsV13 => SslProtocols.Tls13,
|
||||
_ => throw new NotImplementedException(version.ToString()),
|
||||
};
|
||||
}
|
||||
#pragma warning restore SYSLIB0039
|
||||
|
||||
|
@ -114,7 +108,7 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
|
|||
return 0;
|
||||
}
|
||||
|
||||
private static bool TryTranslateWinSockError(bool isBlocking, WsaError error, out ResultCode resultCode)
|
||||
private bool TryTranslateWinSockError(bool isBlocking, WsaError error, out ResultCode resultCode)
|
||||
{
|
||||
switch (error)
|
||||
{
|
||||
|
|
|
@ -63,6 +63,6 @@
|
|||
GTSRootR4,
|
||||
SecurityCommunicationRootCA,
|
||||
|
||||
All = uint.MaxValue
|
||||
All = uint.MaxValue,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
enum CertificateFormat : uint
|
||||
{
|
||||
Pem = 1,
|
||||
Der = 2
|
||||
Der = 2,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
enum IoMode : uint
|
||||
{
|
||||
Blocking = 1,
|
||||
NonBlocking = 2
|
||||
Blocking = 1,
|
||||
NonBlocking = 2,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
DoNotCloseSocket,
|
||||
GetServerCertChain, // 3.0.0+
|
||||
SkipDefaultVerify, // 5.0.0+
|
||||
EnableAlpn // 9.0.0+
|
||||
EnableAlpn, // 9.0.0+
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
{
|
||||
None,
|
||||
SessionId,
|
||||
SessionTicket
|
||||
SessionTicket,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,12 +5,12 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.Types
|
|||
[Flags]
|
||||
enum SslVersion : uint
|
||||
{
|
||||
Auto = 1 << 0,
|
||||
Auto = 1 << 0,
|
||||
TlsV10 = 1 << 3,
|
||||
TlsV11 = 1 << 4,
|
||||
TlsV12 = 1 << 5,
|
||||
TlsV13 = 1 << 6, // 11.0.0+
|
||||
|
||||
VersionMask = 0xFFFFFF
|
||||
VersionMask = 0xFFFFFF,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,6 @@
|
|||
EnabledNotTrusted,
|
||||
Revoked,
|
||||
|
||||
Invalid = uint.MaxValue
|
||||
Invalid = uint.MaxValue,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,11 +5,11 @@ namespace Ryujinx.HLE.HOS.Services.Ssl.Types
|
|||
[Flags]
|
||||
enum VerifyOption : uint
|
||||
{
|
||||
PeerCa = 1 << 0,
|
||||
HostName = 1 << 1,
|
||||
DateCheck = 1 << 2,
|
||||
EvCertPartial = 1 << 3,
|
||||
EvPolicyOid = 1 << 4, // 6.0.0+
|
||||
EvCertFingerprint = 1 << 5 // 6.0.0+
|
||||
PeerCa = 1 << 0,
|
||||
HostName = 1 << 1,
|
||||
DateCheck = 1 << 2,
|
||||
EvCertPartial = 1 << 3,
|
||||
EvPolicyOid = 1 << 4, // 6.0.0+
|
||||
EvCertFingerprint = 1 << 5, // 6.0.0+
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue