Re: gnome-keyring Initial whack at dbus interfaces
- From: Stef Walter <stef-list memberwebs com>
- To: Michael Leupold <lemma confuego org>, gnome-keyring-list gnome org
- Subject: Re: gnome-keyring Initial whack at dbus interfaces
- Date: Thu, 19 Mar 2009 17:25:32 +0000 (UTC)
Michael Leupold wrote:
> Hi Stef,
>
> On Thursday 19 March 2009 03:32:26 you wrote:
>> Attached are my initial try at some dbus interfaces for secret storage.
>> Hopefully we can implement something like this in gnome-keyring.
>> [...]
>
> judging from your mail I think you forgot to attach the actual service
> definition.
Whoops, heh here they are.
One or two other things:
* Added, Removed, Changed signals needed.
* The 'fields' arguments and properties are hash tables of
string -> string (name -> value). Integer fields and other
types of values are encoded (in a canonical way) as strings.
Cheers,
Stef
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!--
/org/freedesktop/secrets/default
/org/freedesktop/secrets/login
/org/freedesktop/secrets/<collection>
-->
<node name="/org/freedesktop/secrets/collection/xxxx">
<interface name="org.freedesktop.Secrets.Collection">
<!--
* The displayable label of the collection.
-->
<property name="Label" type="s" access="readwrite"/>
<!--
* Whether the correction is locked or not.
-->
<property name="Locked" type="s" access="read"/>
<!--
* Lock this collection.
-->
<method name="Lock">
</method>
<!--
* Unlock the collection. This method may block for
* an indeterminate amount of time while authenticating.
-->
<method name="Unlock">
</method>
<!--
* Delete this collection.
-->
<method name="Delete">
</method>
<!--
* List the object paths of all items in this collection
* If fields contains values then items returned will be
* restricted by those.
-->
<method name="ListItems">
<arg name="fields" type="e{ss}" direction="in"/>
<arg name="results" type="ao" direction="out"/>
</method>
<!--
* Create an item with the given fields, secret and label.
* If replace is set, then it replaces an item already
* present with the same fields.
*
-->
<method name="CreateItem">
<arg name="fields" type="e{ss}" direction="in"/>
<arg name="secret" type="(ss)" direction="in"/>
<arg name="label" type="s" direction="in"/>
<arg name="replace" type="b" direction="in"/>
<arg name="result" type="o" direction="out"/>
</method>
</interface>
</node>
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!--
* This is the well known dbus service name for controlling the
* entire daemon. The services manages collections of secrets. These
* are analogous to the gnome-keyring 'keyrings'.
-->
<node name="/org/freedesktop/secrets">
<interface name="org.freedesktop.Secrets.Service">
<!--
* Negotiate key agreement and encryption.
-->
<method name="Negotiate">
<arg name="algorithms" type="s" direction="in"/>
<arg name="input" type="ay" direction="in"/>
<arg name="output" type="ay" direction="out"/>
</method>
<!--
* List the object paths of all collections (ie: keyrings)
-->
<method name="ListCollections">
<arg name="result" type="ao" direction="out"/>
</method>
<!--
* Create a new collection with the specified access attributes
-->
<method name="CreateCollection">
<arg name="display_name" type="s" direction="in"/>
<arg name="access_rules" type="as" direction="in"/>
</method>
<!--
* The object path of the default collection.
-->
<property name="DefaultCollection" type="o" access="readwrite"/>
<!--
* Lock down the entire service. Remove secrets from memory,
* lock all collections etc...
-->
<method name="LockService">
</method>
<!--
* Find secrets in any collection.
-->
<method name="FindSecrets">
<arg name="fields" type="a{ss}" direction="in"/>
<arg name="results" type="e{os}" direction="out"/>
</method>
</interface>
</node>
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<!--
-->
<node name="/org/freedesktop/secrets/collection/xxxx/xxxx">
<interface name="org.freedesktop.Secrets.Item">
<!--
* The lookup fields for this item.
-->
<property name="Fields" type="e{ss}" access="readwrite"/>
<!--
* The displayable label for this item.
-->
<property name="Label" type="s" access="readwrite"/>
<!--
* The secret, usually transferred encrypted.
-->
<property name="Secret" type="(ss)" access="readwrite"/>
<!--
* Delete this item.
-->
<method name="Delete"/>
</interface>
</node>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]