| Summary: | SELinux preventing DiVX/WMA formats from playing in vlc-0.9.6-1.fc10 | ||
|---|---|---|---|
| Product: | Fedora | Reporter: | Christopher D. Stover <quantumburnz> |
| Component: | vlc | Assignee: | Nicolas Chauvet <kwizart> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | fedora.jrg01 |
| Priority: | P5 | ||
| Version: | 14 | ||
| Hardware: | All | ||
| OS: | GNU/Linux | ||
| URL: | http://fpaste.org/paste/7900 | ||
| namespace: | |||
| Bug Depends on: | 131 | ||
| Bug Blocks: | |||
|
Description
Christopher D. Stover
2008-10-21 17:31:16 CEST
There is known selinux denials that are currently investigated. some are related to the vlc package, some other to the ffmpeg library. That's been said I wonder why gstreamer could get them to works. One possible reason is that you have disabled selinux (and set it in permissive) and don't have reset the cache plugin for vlc, doing: rm ~/.vlc/cache/* and give a retry with selinux in permissive. You hit the nail on the head Nicolas. As soon as I change the Current Enforcement Mode to Permissive, everything works. Gstreamer actually wouldn't play them either. I mentioned the good/bad/ugly codecs but I suppose that was irrelevant since vlc doesn't use them. Is there a bug for this somewhere? Do you know where it's being investigated? Since SELinux is affecting gstreamer, I'd think this may be an issue upstream with Fedora? Thanks for the help. This bug should be fixed with vlc-0.9.5 Everything else live in vlc dependency. (In reply to comment #3) > This bug should be fixed with vlc-0.9.5 > Everything else live in vlc dependency. Yes, the videos play without any trouble now, thanks! Hi Nicolas,
I'm still having problems with VLC and SELinux and I just wanted to add some more information to this bug. I'm now using vlc-0.9.6-1.fc10. When I first started vlc using -vvvv, I got the following:
[00000001] main libvlc warning: cannot load module `/usr/lib/vlc/codec/libavcodec_plugin.so' (/usr/lib/sse2/libx264.so.61: cannot restore segment prot after reloc: Permission denied).
There were a few other modules listed along with this one but I'm unable to reproduce the output again after someone in #fedora-selinux suggested I run
semanage fcontext -a -t textrel_shlib_t /usr/lib/sse2/libx264.so.61
semanage fcontext -a -t textrel_shlib_t /usr/lib/sse2/libswscale.so.0.6.1
semanage fcontext -a -t textrel_shlib_t /usr/lib/sse2/libpostproc.so.51.2.0
***Here's some output from dmesg which may help identify the modules***
type=1400 audit(1226860329.782:1219): avc: denied { execmod } for pid=28714 comm="vlc" path="/usr/lib/sse2/libpostproc.so.51.2.0" dev=sda5 ino=93037 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
type=1400 audit(1226860329.785:1220): avc: denied { execmod } for pid=28714 comm="vlc" path="/usr/lib/sse2/libswscale.so.0.6.1" dev=sda5 ino=93092 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
type=1400 audit(1226860353.319:1221): avc: denied { execmod } for pid=28729 comm="vlc" path="/usr/lib/sse2/libx264.so.61" dev=sda5 ino=635133 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
type=1400 audit(1226860353.452:1222): avc: denied { execmod } for pid=28729 comm="vlc" path="/usr/lib/sse2/libx264.so.61" dev=sda5 ino=635133 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
type=1400 audit(1226860353.529:1223): avc: denied { execmod } for pid=28729 comm="vlc" path="/usr/lib/sse2/libx264.so.61" dev=sda5 ino=635133 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
type=1400 audit(1226860353.540:1224): avc: denied { execmod } for pid=28729 comm="vlc" path="/usr/lib/sse2/libpostproc.so.51.2.0" dev=sda5 ino=93037 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
type=1400 audit(1226860353.545:1225): avc: denied { execmod } for pid=28729 comm="vlc" path="/usr/lib/sse2/libswscale.so.0.6.1" dev=sda5 ino=93092 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
type=1404 audit(1226860444.170:1226): enforcing=0 old_enforcing=1 auid=500 ses=1
type=1400 audit(1226860451.405:1227): avc: denied { execmod } for pid=28770 comm="vlc" path="/usr/lib/sse2/libx264.so.61" dev=sda5 ino=635133 scontext=unconfined_u:unconfined_r:unconfined_execmem_t:s0-s0:c0.c1023 tcontext=system_u:object_r:lib_t:s0 tclass=file
vlc[28770]: segfault at 40 ip 00c2a504 sp bfae1d10 error 4 in libselinux.so.1[c18000+1a000]
***I get this when trying to play some movies and it just keeps looping this output***
[00000716] dmo decoder debug: failed loading 'wma9dmod.dll'
[00000716] dmo decoder error: DecOpen failed
Win32 LoadLibrary failed to load: wmv9dmod.dll, /wmv9dmod.dll, /usr/lib/win32/wmv9dmod.dll, /usr/local/lib/win32/wmv9dmod.dll, /usr/lib/codecs/wmv9dmod.dll, /usr/local/lib/codecs/wmv9dmod.dll
[00000717] dmo decoder debug: failed loading 'wmv9dmod.dll'
Where is located the wma9dmod.dll file on thus system ? As you may have noticed, theses libraries doesn't belong to the vlc package itself unfortunately the ffmepg and x264 maintainer doesn't have updated the report i've made. https://bugzilla.rpmfusion.org/show_bug.cgi?id=61 (In reply to comment #6) > Where is located the wma9dmod.dll file on thus system ? I tried 'locate wma9dmod.dll' and 'find / -name wma* 2>/dev/null' but I didn't find that dll. However, I did confirm that vlc is able to play the .wmv file when SELinux is permissive. > As you may have noticed, theses libraries doesn't belong to the vlc package > itself unfortunately the ffmepg and x264 maintainer doesn't have updated the > report i've made. https://bugzilla.rpmfusion.org/show_bug.cgi?id=61 Yes, I looked at the bug you reported and it's a shame... I hope something can be done to resolve the issue with ffmpeg/x264. I wish I could help but I wouldn't have the foggiest of where to start. I'd be reading for weeks to learn how that stuff works. ;) Thanks for your help with all this and let me know if there's anything I can do to help. Any news from the x264 update from today ? (or from another installation if you fixed the problem yourself) This bug depend on #131 from (ffmpeg package) and affect vlc. Sorry I haven't added anything to this in a while. I was away for Thanksgiving last week. I'm upgraded to the newest Rawhide and I can't install VLC again. :( I'm getting this: Resolving Dependencies --> Running transaction check ---> Package vlc.i386 0:0.9.6-1.fc10 set to be updated --> Processing Dependency: dejavu-fonts for package: vlc --> Finished Dependency Resolution vlc-0.9.6-1.fc10.i386 from rpmfusion-free-rawhide has depsolving problems --> Missing Dependency: dejavu-fonts is needed by package vlc-0.9.6-1.fc10.i386 (rpmfusion-free-rawhide) Error: Missing Dependency: dejavu-fonts is needed by package vlc-0.9.6-1.fc10.i386 (rpmfusion-free-rawhide) I'm guessing this may have something to do with the issue (taken from Koji build notes): * Sun Nov 09 2008 Nicolas Mailhot <nicolas.mailhot at laposte.net> - 2.26-6 ⧎ Package split reorganisation, following font family lines ⵞ Create compat packages to ease switchover at F11 time (to be discontinued for F12) ⬳ compress status file This problem was reported as https://bugzilla.rpmfusion.org/show_bug.cgi?id=201 I will fix it asap. Now for the Selinux context. I still think the problem appears with a new install. on i686 (sse2 eligible CPU). For some reason, the selinux context doesn't apply. I am able to use VLC, vlc-0.9.6-1.fc10.i386, in current Fedora 10 with selinux enforcing. libselinux-2.0.73-1.fc10.i386 libselinux-utils-2.0.73-1.fc10.i386 selinux-policy-targeted-3.5.13-26.fc10.noarch selinux-policy-3.5.13-26.fc10.noarch Have you tried touch /.autorelabel rebooting? that's stange, maybe you should turn as permissive selinux for cinelerra-cv also, since there is a known selinux denial with the internal libmpeg3 shared library. selinux is not reporting any denials when I run cinelerra-cv. |