You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.
Pure Maps can use OSMScout Server to get offline maps from it, but in order to achieve "map-matching" (to get current allowed speed on the way) DBus interface is used.
We can see that Pure Maps's DBus calls are (naturally) denied by AppArmor:
If app manifest somehow could specify "DBus" permission for path /io/github/rinigus/OSMScoutServer/mapmatching, to call Get via org.freedesktop.DBus.Properties interface, ability for cross-app communicaton could be echieved.
Maybe it could be done in more abstract way. OSMScoutServer would define what could be invoke by some other app, naming this ability as "OSMScout DBus Server" permission/interface, while PureMaps (and uNav ar any other) app would specify that it needs to be a "OSMScout DBus Client", thus joining them together. PureMaps AppArmor profile then would be generated to include AppArmor rules for DBus communication, as specified by OSScoutServer package.
Workaround would be to make BOTH apps unconfined. Or implement communication via IP socket channels, but that means different implementation just for UBports specifics...
I would welcome this addition and agree, we need something like this.
The way that Snaps handle this is by providing the interface in snap, and letting packages provide/consume those interfaces.
The way you are describing could lead to some wild growth of different AppArmor permissions for various packages,
but in principle those should be manageable.
An alternative, which might work for this specific case (assuming that these applications get their maps via the QtLocation APIs), would be to write a QtLocation QGeoMappingManagerEngine plugin for OSMScout. It would be a very nice project, because you could even submit it upstream and it wouldn't be restricted to Ubuntu Touch.
Description of the feature
Pure Maps can use OSMScout Server to get offline maps from it, but in order to achieve "map-matching" (to get current allowed speed on the way) DBus interface is used.
We can see that Pure Maps's DBus calls are (naturally) denied by AppArmor:
If app manifest somehow could specify "DBus" permission for path
/io/github/rinigus/OSMScoutServer/mapmatching
, to callGet
viaorg.freedesktop.DBus.Properties
interface, ability for cross-app communicaton could be echieved.Maybe it could be done in more abstract way.
OSMScoutServer
would define what could be invoke by some other app, naming this ability as "OSMScout DBus Server" permission/interface, while PureMaps (and uNav ar any other) app would specify that it needs to be a "OSMScout DBus Client", thus joining them together. PureMaps AppArmor profile then would be generated to include AppArmor rules for DBus communication, as specified byOSScoutServer
package.Workaround would be to make BOTH apps unconfined. Or implement communication via IP socket channels, but that means different implementation just for UBports specifics...
PureMaps issue is here: rinigus/pure-maps#604
The text was updated successfully, but these errors were encountered: