On 10/29/2015 10:02 PM, Thomas Gläßle wrote:
Hey,

I should add as disclaimer that I am only a udisks user, so you might very well know more about this topic than I do and I am not qualified to give you definite answers, very sorry :(.
We're sitting in the same boat then...

No need to be sorry. Thanks for your answers!


I responded to the best of my knowledge anyway, because I got very little response from current maintainer myself (I submitted a patch unanswered and waiting to be reviewed for 4 months now).
Bad news!



Guy wrote on 10/29/2015 07:45 PM:
On 10/29/2015 01:33 AM, Thomas Gläßle wrote:
I'd look for partitions that are not "child" partitions, i.e. the devices that do not export the Partition interface or have Partition.Table is set to "/" and Partition.IsContained set to false.
Hm, I can see no clear rule... may I ask you to look at the following example. I have 3 devices:
- a hard drive; it has a partition table and several partitions
- an USB stick; it doesn't have a partition table but it anyway has a partition starting directly at sector 0
- the same USB stick, but without partition table nor partition

Maybe I'm missing something, doesn't my suggestion apply here too? Take the device that

   (has no interface Partition
          OR (partition.Table="/" AND Partition.IsContained=false))
    AND CryptoBackingDevice="/"


Honestly, I hope this still works for media with partition table but unformatted partitions, or media where the partition contains another partition table (everything is possible), or RAID devices, or...
Yeah, I can't promise the above rule will work in every case. For RAID devices it will most likely fail and you'd have to include the Block.MDRaid or Block.MDRaidMember properties to fix it.


This leaves me with a strange feeling... can I rely on udisks2? With old udisks I just needed method EnumerateDevices, then I ran through the list and queried every property I needed - btw, "device-file" was my precious Linux device.

Why not just include property "Device" for drives?

Another problem I saw right now: I can't find the sector size (property "device-block-size" in udisks).
I'm not sure, sorry. From my experience udisks2 has a lot of advantages over old udisks. In particular, its API addresses the intrinsic asynchronousity of the domain a lot better, but I can't deny either that there are some shortcomings too. You could try to patch what you need on your own and try to get it included. But in that case, it will still probably take a lot of time until most distributions upgrade to the new udisks2 version.


Furthermore, Block.CryptoBackingDevice should be "/", but from my experience you don't have to worry about that, since UDisks doesn't set the Block.Drive for unlocked devices (although that might be subject to change or even just a bug?).

I'm not sure this covers all cases, but at least these are the properties that I'm currently using in udiskie.
That's exactly the problem I have. Guymager is a forensic software; I *need t be sure*.


I see. You probably need someone else's advice. By the way, you didn't respond to the mailing list and I wasn't sure if that was your intention. If not, you should just send it again on the mailing list and try to ask for someone more familiar with udisks internals.
In deed, not my intention... I'll send it again.

Thanks!

Guy

_______________________________________________
devkit-devel mailing list
devkit-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/devkit-devel

Reply via email to