Description of problem: yum-refresh-updatesd is broken with dbus 1.1.2-9.fc8 - the message fails to be sent due to a permissions error Version-Release number of selected component (if applicable): dbus-1.1.2-9.fc8 dbus-libs-1.1.2-9.fc8 dbus-libs-1.1.2-9.fc8 yum-refresh-updatesd-1.1.11-1.fc8 yum-updatesd-0.9-1.fc8 How reproducible: Always Steps to Reproduce: 1. Have yum-refresh-updatesd package installed and enabled 2. Make sure dbus 1.1.2-9.fc8 is installed (if not, make sure to restart the messagebus service and then restart yum-updatesd) 3. yum update <any package> or remove, or anything that causes a transaction to run Actual results: (with -d 7): Running "posttrans" handler for "refresh-updatesd" plugin Unable to look at what's on dbus org.freedesktop.DBus.Error.AccessDenied: A security policy in place prevents this sender from sending this message to this recipient, see message bus configuration file (rejected message had interface "(unset)" member "NameHasOwner" error name "(unset)" destination "org.freedesktop.DBus") Expected results: dbus message is called, applet refreshes Additional info: Downgrading to dbus 1.1.2-7 (and then restarting messagebus + yum-updatesd) fixes this. I'm assigning this to yum-updatesd because the change mentions CVE 2008-0595, which fixes a permissions issue. I don't know enough about dbus to tell if its a dbus bug or if it happened to work before due to the security issue and the yum-updatesd policy/code is broken It also fails if I run the code manually from the python shell, so its not a yum environment issue, ie: Python 2.5.1 (r251:54863, Oct 30 2007, 13:45:26) [GCC 4.1.2 20070925 (Red Hat 4.1.2-33)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import dbus >>> bus = dbus.SystemBus() >>> o = bus.get_object('org.freedesktop.DBus', '/') >>> print o.NameHasOwner("edu.duke.linux.yum") Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 63, in __call__ return self._proxy_method(*args, **keywords) File "/usr/lib/python2.5/site-packages/dbus/proxies.py", line 135, in __call__ **keywords) File "/usr/lib/python2.5/site-packages/dbus/connection.py", line 603, in call_blocking message, timeout) dbus.exceptions.DBusException: org.freedesktop.DBus.Error.AccessDenied: A security policy in place prevents this sender from sending this message to this recipient, see message bus configuration file (rejected message had interface "(unset)" member "NameHasOwner" error name "(unset)" destination "org.freedesktop.DBus")
It works if I add o = dbus.Interface(o, "org.freedesktop.DBus") before the call to o.NameHasOwner the patch in bug 432419 changed the logic for when the message has no interface - is this a dbus bug with that patch & the default permissions?
Adding DavidZ to see if this is a change in dbus or something that's been wrong in yum-updatesd for a while.
ping? I looked at the similar-in-goals yum-packagekit source from rawhide and that does get the interface separately. Although does/should packagekit/yum-packagekit obsolete yum-updatesd/yum-refresh-updatesd in f9 anyway?
Make i work the same way as yum-packagekit. Please check this one http://devel.linux.duke.edu/gitweb/?p=yum-utils.git;a=tree;f=plugins/refresh-updatesd;h=d325b1315e0a916e68aa83db97b8178c616f915d;hb=c40b92a5ab5c96030967af9747123183c7b7baf1
This this one instead. http://devel.linux.duke.edu/gitweb/?p=yum-utils.git;a=tree;f=plugins/refresh-updatesd;h=7fb9f8f7a7283d281a9b5429a499a55848e3d13d;hb=8e3e286a141ce15c7936cc38d5fc00d7e5515924
Yep, that works, thanks (on F9)
yum-utils-1.1.15-1.fc9 has been submitted as an update for Fedora 9
yum-utils-1.1.15-1.fc8 has been submitted as an update for Fedora 8
yum-utils-1.1.15-1.fc8 has been pushed to the Fedora 8 stable repository. If problems still persist, please make note of it in this bug report.
yum-utils-1.1.15-1.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.