diff options
| author | Mary <me@thog.eu> | 2022-01-03 22:12:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-03 22:12:50 +0100 |
| commit | 60f03cb78a4c7b66ee72dbbfee4b1998474a604a (patch) | |
| tree | 4a4ea186f52ef9d433ce032edeafbb11908b098d /Ryujinx.HLE/HOS/Services/Sockets/Nsd/Manager | |
| parent | e24be5edfc6a3eae009dc6d4c4e7f498ad0596b9 (diff) | |
sfdnsres: Implement NSD resolution (#2962)
This fix a missing implementation usage of NSD on IResolver when
requested on GetAddrInfoRequest* and GetHostByNameRequest*.
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Sockets/Nsd/Manager')
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Sockets/Nsd/Manager/FqdnResolver.cs | 23 |
1 files changed, 8 insertions, 15 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Sockets/Nsd/Manager/FqdnResolver.cs b/Ryujinx.HLE/HOS/Services/Sockets/Nsd/Manager/FqdnResolver.cs index 2e23f3fb..4096e431 100644 --- a/Ryujinx.HLE/HOS/Services/Sockets/Nsd/Manager/FqdnResolver.cs +++ b/Ryujinx.HLE/HOS/Services/Sockets/Nsd/Manager/FqdnResolver.cs @@ -6,16 +6,9 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Nsd.Manager { private const string _dummyAddress = "unknown.dummy.nintendo.net"; - private NsdSettings _nsdSettings; - - public FqdnResolver(NsdSettings nsdSettings) - { - _nsdSettings = nsdSettings; - } - public ResultCode GetEnvironmentIdentifier(out string identifier) { - if (_nsdSettings.TestMode) + if (IManager.NsdSettings.TestMode) { identifier = "err"; @@ -23,13 +16,13 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Nsd.Manager } else { - identifier = _nsdSettings.Environment; + identifier = IManager.NsdSettings.Environment; } return ResultCode.Success; } - public ResultCode Resolve(ServiceCtx context, string address, out string resolvedAddress) + public static ResultCode Resolve(string address, out string resolvedAddress) { if (address == "api.sect.srv.nintendo.net" || address == "ctest.cdn.nintendo.net" || @@ -41,16 +34,16 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Nsd.Manager else { // TODO: Load Environment from the savedata. - address = address.Replace("%", _nsdSettings.Environment); + address = address.Replace("%", IManager.NsdSettings.Environment); resolvedAddress = ""; - if (_nsdSettings == null) + if (IManager.NsdSettings == null) { return ResultCode.SettingsNotInitialized; } - if (!_nsdSettings.Initialized) + if (!IManager.NsdSettings.Initialized) { return ResultCode.SettingsNotLoaded; } @@ -84,14 +77,14 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Nsd.Manager string address = Encoding.UTF8.GetString(addressBuffer).TrimEnd('\0'); - resultCode = Resolve(context, address, out resolvedAddress); + resultCode = Resolve(address, out resolvedAddress); if (resultCode != ResultCode.Success) { resolvedAddress = _dummyAddress; } - if (_nsdSettings.TestMode) + if (IManager.NsdSettings.TestMode) { return ResultCode.Success; } |
