mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Prevent dumping XGD without administrative privileges. Fixes #248
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
// /***************************************************************************
|
// /***************************************************************************
|
||||||
// The Disc Image Chef
|
// The Disc Image Chef
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
@@ -39,6 +39,7 @@ using DiscImageChef.CommonTypes;
|
|||||||
using DiscImageChef.CommonTypes.Enums;
|
using DiscImageChef.CommonTypes.Enums;
|
||||||
using DiscImageChef.CommonTypes.Extents;
|
using DiscImageChef.CommonTypes.Extents;
|
||||||
using DiscImageChef.CommonTypes.Interfaces;
|
using DiscImageChef.CommonTypes.Interfaces;
|
||||||
|
using DiscImageChef.CommonTypes.Interop;
|
||||||
using DiscImageChef.CommonTypes.Metadata;
|
using DiscImageChef.CommonTypes.Metadata;
|
||||||
using DiscImageChef.CommonTypes.Structs;
|
using DiscImageChef.CommonTypes.Structs;
|
||||||
using DiscImageChef.Console;
|
using DiscImageChef.Console;
|
||||||
@@ -49,6 +50,7 @@ using DiscImageChef.Decoders.Xbox;
|
|||||||
using DiscImageChef.Devices;
|
using DiscImageChef.Devices;
|
||||||
using Schemas;
|
using Schemas;
|
||||||
using MediaType = DiscImageChef.CommonTypes.MediaType;
|
using MediaType = DiscImageChef.CommonTypes.MediaType;
|
||||||
|
using PlatformID = DiscImageChef.CommonTypes.Interop.PlatformID;
|
||||||
using TrackType = DiscImageChef.CommonTypes.Enums.TrackType;
|
using TrackType = DiscImageChef.CommonTypes.Enums.TrackType;
|
||||||
|
|
||||||
namespace DiscImageChef.Core.Devices.Dumping
|
namespace DiscImageChef.Core.Devices.Dumping
|
||||||
@@ -71,6 +73,19 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
double maxSpeed = double.MinValue;
|
double maxSpeed = double.MinValue;
|
||||||
double minSpeed = double.MaxValue;
|
double minSpeed = double.MaxValue;
|
||||||
|
|
||||||
|
if(DetectOS.GetRealPlatformID() != PlatformID.Win32NT)
|
||||||
|
{
|
||||||
|
bool isAdmin = dev.IsRemote ? dev.IsRemoteAdmin : DetectOS.IsAdmin;
|
||||||
|
|
||||||
|
if(!isAdmin)
|
||||||
|
{
|
||||||
|
DicConsole.
|
||||||
|
ErrorWriteLine("Because of the commands sent to a device, dumping XGD must be done with administrative privileges. Cannot continue.");
|
||||||
|
dumpLog.WriteLine("Cannot dump XGD without administrative privileges.");
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
if(mediaTags.ContainsKey(MediaTagType.DVD_PFI))
|
if(mediaTags.ContainsKey(MediaTagType.DVD_PFI))
|
||||||
mediaTags.Remove(MediaTagType.DVD_PFI);
|
mediaTags.Remove(MediaTagType.DVD_PFI);
|
||||||
|
|
||||||
@@ -1217,8 +1232,7 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
sidecar.OpticalDisc[0].Sessions = 1;
|
sidecar.OpticalDisc[0].Sessions = 1;
|
||||||
sidecar.OpticalDisc[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
|
sidecar.OpticalDisc[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
|
||||||
|
|
||||||
CommonTypes.Metadata.MediaType.MediaTypeToString(dskType, out string xmlDskTyp,
|
var xmlType = CommonTypes.Metadata.MediaType.MediaTypeToString(dskType);
|
||||||
out string xmlDskSubTyp);
|
|
||||||
|
|
||||||
sidecar.OpticalDisc[0].DiscType = xmlDskTyp;
|
sidecar.OpticalDisc[0].DiscType = xmlDskTyp;
|
||||||
sidecar.OpticalDisc[0].DiscSubType = xmlDskSubTyp;
|
sidecar.OpticalDisc[0].DiscSubType = xmlDskSubTyp;
|
||||||
|
|||||||
Reference in New Issue
Block a user