Write data properly

This commit is contained in:
Isaac Marovitz 2024-03-02 18:16:40 +00:00
parent 7b399493d6
commit 5148010c1e
No known key found for this signature in database
GPG Key ID: 97250B2B09A132E1
1 changed files with 28 additions and 3 deletions

View File

@ -166,6 +166,13 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Sfdnsres
return GetAddrInfoRequestImpl(context, responseBufferPosition, responseBufferSize, false, 0, 0);
}
[CommandCmif(7)]
// GetNameInfoRequest
public ResultCode GetNameInfoRequest(ServiceCtx context)
{
return GetNameInfoRequestImpl(context, false);
}
[CommandCmif(8)]
// GetCancelHandleRequest(u64, pid) -> u32
public ResultCode GetCancelHandleRequest(ServiceCtx context)
@ -247,9 +254,7 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Sfdnsres
[CommandCmif(13)]
public ResultCode GetNameInfoRequestWithOptions(ServiceCtx context)
{
Logger.Stub?.PrintStub(LogClass.ServiceSfdnsres);
return ResultCode.Success;
return GetNameInfoRequestImpl(context, true);
}
[CommandCmif(14)] // 5.0.0+
@ -668,6 +673,26 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Sfdnsres
return region.Memory.Span.Length - data.Length;
}
private static ResultCode GetNameInfoRequestImpl(
ServiceCtx context,
bool withOptions)
{
if (!context.Device.Configuration.EnableInternetAccess)
{
Logger.Info?.Print(LogClass.ServiceSfdnsres, "Guest network access disabled, DNS Blocked.");
WriteResponse(context, withOptions, 0, GaiError.NoData, NetDbError.NoAddress);
return ResultCode.Success;
}
Logger.Info?.PrintStub(LogClass.ServiceSfdnsres);
WriteResponse(context, withOptions, 0, GaiError.NoData, NetDbError.NoAddress);
return ResultCode.Success;
}
private static void WriteResponse(
ServiceCtx context,
bool withOptions,