[libdvdcss-devel] Please implement the XDG basedir spec

Reimar Döffinger Reimar.Doeffinger at gmx.de
Thu Aug 28 23:11:24 CEST 2014


I'll allow myself one more reply (one per actual review :-P )

On 28.08.2014, at 22:38, Rémi Denis-Courmont <remi at remlab.net> wrote:
>> That is one commonly encountered property of a cache, that is can be
>> re-filled. And even that one is not properly satisfied here (your examples
>> aren't quite the same, since there the authoritative source changed, and
>> the cache is intentionally supposed to reflect that)
> 
> If you change drive type, the "authoritative source" changed all the same, as 
> if my IP address changes and the web content is GeoIP-based.

The big difference is that for the web the "authoritative source" if considered benevolent (i.e. if something was removed, it's overall reasonable to assume there is no reason to keep it).
libdvdcss clearly is in a completely different situation.

>> Other properties caches often have:
>> They can not contain all data
> 
> That's not a common property of a cache. My IMAP cache may contain all my 
> mails, or it may contain only headers. My web content cache contains entire 
> files, or it may contain partially downloaded files.

I wrote "common" first but then explicitly changed it.
Nevertheless, your web content cache most certainly neither can or does contain the entire web.

>> They are an exact or
>> simplified copy of the base data (not even remotely true here)
> 
> It is a presumably exact copy of the decryption key material, indexed by the 
> volume identifier or whatever.

I would consider anything the DVD drive gives us as the base data, and at least if the drive is region free the key is not exactly similar to that.

>> Not to mention simply considering the _purpose_ of having a separate cache
>> directory: to allow people to make small, but still complete backups.
> 
> Yes. If my hard-drive crashes, I won't need to restore the DVD decryption 
> keys; they can be regenerated from the same disc and drive. It is cached data 
> and I don't need to back it up (but I can if I want to).

If you move to a different computer where the first had a region-free drive and the new one does not you very much might be unable to regenerate them.
That might be considered a libdvdcss bug.

>> Putting the keys in the cache does not reduce the backup size in any
>> relevant way, so I simply see no _advantage_ to considering it a cache.
> 
> That's hardly relevant. And you are assuming that only a small number of discs 
> will ever be inserted in a given system. That's not necessarily true (public 
> library?).

Why is it irrelevant to consider what would cause the least inconvenience to users?
And as said, I believe it would still be a fairly irrelevant size if you managed to insert all DVDs in the whole world.

> And I have read complaints about the lack of privacy associated with the 
> DVDCSS key cache. Marking its content for backup makes matters worse, rather 
> than better.

That definitely is a concern. However as far as I can tell that was no consideration at all in the XDG spec, and unless almost everyone decides to put all privacy relevant data in the cache I am not exactly convinced it helps for dvdcss to do so.

>> Though I grant you that with libdvdcss the situation is not as inane as
>> with libaacs, where you ate basically guaranteed to lose access to your
>> BluRays if you don't backup your .cache and the only way to get it back is
>> to buy a new (but not too new) drive or hope someone publishes a new host
>> key...
> 
> Device keys are obviously not cache content, and I guess you mean that MKB, 
> for practical reasons, should also not be considered as such.
> 
> Volume keys are probably cache content though. But that is off-topic.

Device keys can become worthless at any moment (I currently do not have one that works woth my drive, again). MKBs seem near impossible to get (if I know the terms right). Leaving volume keys as the only actually working way.
I would not even remotely consider them cache content. It is one of the few things I need to sync between my computers, which I certainly wouldn't do with anything I would consider a cache.


More information about the libdvdcss-devel mailing list