Created attachment 504582 [details] adapted ebuild This is more or less https://trac.videolan.org/vlc/ticket/16347 although the fix mentioned there did not work for me. v1.3.0 worked flawlessly on my device, but 1.4.0 does not use the cache directory (usually at ~/.dvdcss) anymore, neither for writing found keys, nor for getting them instead of computing them again. Normally, users won't notice, as calculating the keys is really fast on moderate hardware. However, I need to copy the keys to a RPi system as it cannot compute them correctly with every disk. Playing a DVD on my main device however produced no new keys in ~/.dvdcss since 1.4.0 Using DVDCSS_VERBOSE=2 when playing a DVD shows errors like libdvdcss error: failed creating cache directory Please find attached an updated ebuild + patchset for fixing the issue. My programming skills are pretty basic, so please check thoroughly. The first four patches are taken directly from upstream as they also handle other errors related to the cache dir. I'll try to send the patch upstream as well.
Created attachment 504584 [details, diff] upstream patch ac90030..6e5d6e1
Created attachment 504586 [details, diff] upstream patch 7d86a08..408ec2f
Created attachment 504588 [details, diff] upstream patch 2f78b78..7d86a08
Created attachment 504590 [details, diff] upstream patch 6e5d6e1..a957325
Created attachment 504592 [details, diff] patch fixing wrong path string manipulation
Added a comment to the existing upstream bug, hoping it will get attention without opening a new one with the same issue.. https://trac.videolan.org/vlc/ticket/16347#comment:9
I can comfirm that creation of cache subdirectories fails with libdvdcss-1.4.0 because of the use of overlapping buffers with sprintf. The problem probably appeared after some gcc/glibc upgrade. The patch by tbartdev does the trick and appears to have been accepted upstream. With libdvdcss-1.4.2 the cache is functioning properly again. Stabilizing 1.4.2 would solve this problem.
(In reply to Thomas Petersen from comment #7) > I can comfirm that creation of cache subdirectories fails with > libdvdcss-1.4.0 because of the use of overlapping buffers with sprintf. The > problem probably appeared after some gcc/glibc upgrade. > > The patch by tbartdev does the trick and appears to have been accepted > upstream. With libdvdcss-1.4.2 the cache is functioning properly again. > > Stabilizing 1.4.2 would solve this problem. Closing out since 1.4.2 is stable.