Mailing List Archive

Aegis/Harmattan - how to add permission?
I am trying to get my application to start a call using the good old dbus
com.nokia.csd.Call.CreateWidth method but, of course, can't get aegis to
grant me access to it.

When I start it from QtCreator it works just fine. When I try to start the
application on the phone I get:

QDBusMessage(type=Error, service="", error
name="org.freedesktop.DBus.Error.AccessDenied", error message="Rejected
send message, 2 matched rules; type="method_call", sender=":1.2976"
(uid=29999 pid=9857 comm="/opt/callout/bin/callout ")
interface="com.nokia.csd.Call" member="CreateWith" error name="(unset)"
requested_reply=0 destination="com.nokia.csd.Call" (uid=30000 pid=634
comm="/usr/sbin/csd -z -p call autorej=0,autoans=0,ecall"))", signature="",
contents=() )

Qt creator was "nice enough" to create the aegis file for my package and
even include the credentials to allow my app to access the address books
using the mobility contacts but, as far as the dbus goes, it only tells me:
<!-- Application accesses DBus libraries directly. --> go figure out! :)

Any hints?

Thanks,
Felipe
RE: Aegis/Harmattan - how to add permission? [ In reply to ]
From error message, it looks you are trying to use com.nokia.csd.Call interface, so taking
a look at /etc/dbus-1/system.d/aegis.csd-call.conf [1], by quick look it seems it only needs
"Cellular", so you just need to add the line

<credential name="Cellular" />

in the manifest request section.

[1] The prefix "aegis." in DBus policy configuration just tells that this policy is automatically
generated from the manifest of csd-call. It uses a new keyword "cred", which is just a generic
way to reference any credential in the linux credentials set (not just "user" and "group",
like standard DBus daemon).


________________________________
From: maemo-developers-bounces@maemo.org [maemo-developers-bounces@maemo.org] on behalf of ext Felipe Crochik [felipe@crochik.com]
Sent: Saturday, November 05, 2011 10:23 PM
To: maemo-developers@maemo.org
Subject: Aegis/Harmattan - how to add permission?

I am trying to get my application to start a call using the good old dbus com.nokia.csd.Call.CreateWidth method but, of course, can't get aegis to grant me access to it.

When I start it from QtCreator it works just fine. When I try to start the application on the phone I get:

QDBusMessage(type=Error, service="", error name="org.freedesktop.DBus.Error.AccessDenied", error message="Rejected send message, 2 matched rules; type="method_call", sender=":1.2976" (uid=29999 pid=9857 comm="/opt/callout/bin/callout ") interface="com.nokia.csd.Call" member="CreateWith" error name="(unset)" requested_reply=0 destination="com.nokia.csd.Call" (uid=30000 pid=634 comm="/usr/sbin/csd -z -p call autorej=0,autoans=0,ecall"))", signature="", contents=() )

Qt creator was "nice enough" to create the aegis file for my package and even include the credentials to allow my app to access the address books using the mobility contacts but, as far as the dbus goes, it only tells me: <!-- Application accesses DBus libraries directly. --> go figure out! :)

Any hints?

Thanks,
Felipe
Re: Aegis/Harmattan - how to add permission? [ In reply to ]
Surprisingly enough I actually had found the csd-call.conf file and tried
adding the Cellular credential. It didn't work when I first tried and then
I found a document on the harmattan-sdk web site that stated something
like: access to Cellular is restricted to applications where the source is
com.nokia.maemo.

Also, because the error message was somewhat misleading I assumed
"Cellular" hadn't worked. After your email I checked with "accli" my
application on the device and Cellular was not included. This is just
speculation but I think that to update aegis for a package you may need to
first remove the previous package or there is some issue with Qt creator
packaging or deployment when just the aegis file was changed (of course, it
may also have been something I did wrong or didn't do :) )

I deleted the debian folder on my project, rebuilt everything, removed the
package from the device, uploaded a new one and installed it using dpkg and
now it works.

Thanks,
Felipe

On Sun, Nov 6, 2011 at 3:09 AM, <Ext-Markku.Savela@nokia.com> wrote:

> From error message, it looks you are trying to use com.nokia.csd.Call
> interface, so taking
> a look at /etc/dbus-1/system.d/aegis.csd-call.conf [1], by quick look it
> seems it only needs
> "Cellular", so you just need to add the line
>
> <credential name="Cellular" />
>
> in the manifest request section.
>
> [1] The prefix "aegis." in DBus policy configuration just tells that this
> policy is automatically
> generated from the manifest of csd-call. It uses a new keyword "cred",
> which is just a generic
> way to reference any credential in the linux credentials set (not just
> "user" and "group",
> like standard DBus daemon).
>
>
> ------------------------------
> *From:* maemo-developers-bounces@maemo.org [
> maemo-developers-bounces@maemo.org] on behalf of ext Felipe Crochik [
> felipe@crochik.com]
> *Sent:* Saturday, November 05, 2011 10:23 PM
> *To:* maemo-developers@maemo.org
> *Subject:* Aegis/Harmattan - how to add permission?
>
> I am trying to get my application to start a call using the good old
> dbus com.nokia.csd.Call.CreateWidth method but, of course, can't get aegis
> to grant me access to it.
>
> When I start it from QtCreator it works just fine. When I try to start the
> application on the phone I get:
>
> QDBusMessage(type=Error, service="", error
> name="org.freedesktop.DBus.Error.AccessDenied", error message="Rejected
> send message, 2 matched rules; type="method_call", sender=":1.2976"
> (uid=29999 pid=9857 comm="/opt/callout/bin/callout ")
> interface="com.nokia.csd.Call" member="CreateWith" error name="(unset)"
> requested_reply=0 destination="com.nokia.csd.Call" (uid=30000 pid=634
> comm="/usr/sbin/csd -z -p call autorej=0,autoans=0,ecall"))", signature="",
> contents=() )
>
> Qt creator was "nice enough" to create the aegis file for my package and
> even include the credentials to allow my app to access the address books
> using the mobility contacts but, as far as the dbus goes, it only tells me:
> <!-- Application accesses DBus libraries directly. --> go figure out! :)
>
> Any hints?
>
> Thanks,
> Felipe
>
>
>
RE: Aegis/Harmattan - how to add permission? [ In reply to ]
I don't know what the problem was, but

- Cellular does not appear to be limited. you just have to ask it (anyone can request it, even unknown origin)

- upgrade/reinstall same package with different manifest should work just fine (if it started to work after remove, then something else is going on)

________________________________
From: ext Felipe Crochik [felipe@crochik.com]
Sent: Sunday, November 06, 2011 3:58 PM
To: Savela Markku (EXT-VTT/Helsinki)
Cc: maemo-developers@maemo.org
Subject: Re: Aegis/Harmattan - how to add permission?

Surprisingly enough I actually had found the csd-call.conf file and tried adding the Cellular credential. It didn't work when I first tried and then I found a document on the harmattan-sdk web site that stated something like: access to Cellular is restricted to applications where the source is com.nokia.maemo.

Also, because the error message was somewhat misleading I assumed "Cellular" hadn't worked. After your email I checked with "accli" my application on the device and Cellular was not included. This is just speculation but I think that to update aegis for a package you may need to first remove the previous package or there is some issue with Qt creator packaging or deployment when just the aegis file was changed (of course, it may also have been something I did wrong or didn't do :) )

I deleted the debian folder on my project, rebuilt everything, removed the package from the device, uploaded a new one and installed it using dpkg and now it works.

Thanks,
Felipe

On Sun, Nov 6, 2011 at 3:09 AM, <Ext-Markku.Savela@nokia.com<mailto:Ext-Markku.Savela@nokia.com>> wrote:
From error message, it looks you are trying to use com.nokia.csd.Call interface, so taking
a look at /etc/dbus-1/system.d/aegis.csd-call.conf [1], by quick look it seems it only needs
"Cellular", so you just need to add the line

<credential name="Cellular" />

in the manifest request section.

[1] The prefix "aegis." in DBus policy configuration just tells that this policy is automatically
generated from the manifest of csd-call. It uses a new keyword "cred", which is just a generic
way to reference any credential in the linux credentials set (not just "user" and "group",
like standard DBus daemon).


________________________________
From: maemo-developers-bounces@maemo.org<mailto:maemo-developers-bounces@maemo.org> [maemo-developers-bounces@maemo.org<mailto:maemo-developers-bounces@maemo.org>] on behalf of ext Felipe Crochik [felipe@crochik.com<mailto:felipe@crochik.com>]
Sent: Saturday, November 05, 2011 10:23 PM
To: maemo-developers@maemo.org<mailto:maemo-developers@maemo.org>
Subject: Aegis/Harmattan - how to add permission?

I am trying to get my application to start a call using the good old dbus com.nokia.csd.Call.CreateWidth method but, of course, can't get aegis to grant me access to it.

When I start it from QtCreator it works just fine. When I try to start the application on the phone I get:

QDBusMessage(type=Error, service="", error name="org.freedesktop.DBus.Error.AccessDenied", error message="Rejected send message, 2 matched rules; type="method_call", sender=":1.2976" (uid=29999 pid=9857 comm="/opt/callout/bin/callout ") interface="com.nokia.csd.Call" member="CreateWith" error name="(unset)" requested_reply=0 destination="com.nokia.csd.Call" (uid=30000 pid=634 comm="/usr/sbin/csd -z -p call autorej=0,autoans=0,ecall"))", signature="", contents=() )

Qt creator was "nice enough" to create the aegis file for my package and even include the credentials to allow my app to access the address books using the mobility contacts but, as far as the dbus goes, it only tells me: <!-- Application accesses DBus libraries directly. --> go figure out! :)

Any hints?

Thanks,
Felipe