sailfishos / sailjail-permissions

Other
5 stars 17 forks source link

[permissions] Fix applications not receiving dconf notifications. Fixes JB#54428 #86

Closed adenexter closed 3 years ago

adenexter commented 3 years ago

DConf notifications are delivered on the ca.desrt.dconf.Writer interface rather than simply ca.desrt.dconf.

adenexter commented 3 years ago

I suspect I'm missing something because the framing comment uses the name ca.desrt.dconf.Writer but the rules don't. Still I'm seeing value changes come through to applications where they weren't before.

Tomin1 commented 3 years ago

I suspect I'm missing something because the framing comment uses the name ca.desrt.dconf.Writer but the rules don't. Still I'm seeing value changes come through to applications where they weren't before.

Looks like xdg-dbus-proxy is a little deceptive when it comes to interface rules: It seems that while .* can match dots in bus names, it can't match other parts of interface name than the method (or signal) at the end. This only talks about methods but I think it applies to signals as well: https://github.com/flatpak/xdg-dbus-proxy/blob/15d2803039b1964dc95112d6d1624a291d338c4e/flatpak-proxy.c#L517

This difference is not explained on the man page.

Are there other interfaces in ca.desrt.dconf that would be interesting here or just that ca.desrt.dconf.Writer?

adenexter commented 3 years ago

Are there other interfaces in ca.desrt.dconf that would be interesting here or just that ca.desrt.dconf.Writer?

The only other interface I can see is a ca.desrt.dconf.ServiceInfo which is called once in a dconf_blame function of the dconf binary. I can't even see what provides the interface.