summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--secret-service/Makefile4
-rw-r--r--secret-service/org.freedesktop.Secrets.xml30
-rw-r--r--secret-service/specification.xml24
-rw-r--r--secret-service/tools/spec-to-docbook.xsl3
4 files changed, 55 insertions, 6 deletions
diff --git a/secret-service/Makefile b/secret-service/Makefile
index 27084aa..ee4db35 100644
--- a/secret-service/Makefile
+++ b/secret-service/Makefile
@@ -8,3 +8,7 @@ html/index.html: reference.xml docbook-params.xsl specification.xml
reference.xml: tools/spec-to-docbook.xsl $(SPEC)
xsltproc tools/spec-to-docbook.xsl $(SPEC) > $@
+
+clean:
+ rm -f reference.xml
+ rm -f html/*.html
diff --git a/secret-service/org.freedesktop.Secrets.xml b/secret-service/org.freedesktop.Secrets.xml
index def4f62..7d23c78 100644
--- a/secret-service/org.freedesktop.Secrets.xml
+++ b/secret-service/org.freedesktop.Secrets.xml
@@ -38,7 +38,7 @@
<!--
* ======================================================================================
* SECRET STRUCT
- * Signature: (oayay)
+ * Signature: (oayays)
*
-->
@@ -53,6 +53,9 @@
<tp:member type="ay" name="value">
<tp:docstring>Possibly encoded secret value</tp:docstring>
</tp:member>
+ <tp:member type="s" name="content_type">
+ <tp:docstring>The content type of the secret. For example: 'text/plain; charset=utf8'</tp:docstring>
+ </tp:member>
</tp:struct>
<tp:mapping name="ObjectPath_Secret_Map">
@@ -60,7 +63,7 @@
<tp:member type="o" name="Key">
<tp:docstring>D-Bus object-path</tp:docstring>
</tp:member>
- <tp:member type="(oayay)" name="Value" tp:type="Secret">
+ <tp:member type="(oayays)" name="Value" tp:type="Secret">
<tp:docstring>A secret</tp:docstring>
</tp:member>
</tp:mapping>
@@ -118,6 +121,21 @@ properties = { "Label": "MyCollection" }
</para>
</tp:docstring>
</arg>
+ <arg name="alias" type="s" direction="in">
+ <tp:docstring xmlns:docbook="http://docbook.org/ns/docbook">
+ <para>
+ If creating this connection for a well known alias then a string like
+ <literal>default</literal>. If an collection with this well-known alias already
+ exists, then that collection will be returned instead of creating a new
+ collection. Any readwrite properties provided to this function will be set on
+ the collection.
+ </para>
+ <para>
+ Set this to an empty string if the new collection should not be associated with a
+ well known alias.
+ </para>
+ </tp:docstring>
+ </arg>
<arg name="collection" type="o" direction="out">
<tp:docstring>The new collection object, or '/' if prompting is necessary.</tp:docstring>
</arg>
@@ -173,7 +191,7 @@ properties = { "Label": "MyCollection" }
<arg name="session" type="o" direction="in">
<tp:docstring>The session to use to encode the secrets.</tp:docstring>
</arg>
- <arg name="secrets" type="a{o(oayay)}" direction="out" tp:type="ObjectPath_Secret_Map">
+ <arg name="secrets" type="a{o(oayays)}" direction="out" tp:type="ObjectPath_Secret_Map">
<tp:docstring>Secrets for the items.</tp:docstring>
</arg>
</method>
@@ -310,7 +328,7 @@ properties = {
</para>
</tp:docstring>
</arg>
- <arg name="secret" type="(oayay)" tp:type="Secret" direction="in">
+ <arg name="secret" type="(oayays)" tp:type="Secret" direction="in">
<tp:docstring>The secret to store in the item, encoded with the included session.</tp:docstring>
</arg>
<arg name="replace" type="b" direction="in">
@@ -395,14 +413,14 @@ properties = {
<arg name="session" type="o" direction="in">
<tp:docstring>The session to use to encode the secret.</tp:docstring>
</arg>
- <arg name="secret" type="(oayay)" tp:type="Secret" direction="out">
+ <arg name="secret" type="(oayays)" tp:type="Secret" direction="out">
<tp:docstring>The secret retrieved.</tp:docstring>
</arg>
</method>
<method name="SetSecret">
<tp:docstring>Set the secret for this item.</tp:docstring>
- <arg name="secret" type="(oayay)" tp:type="Secret" direction="in">
+ <arg name="secret" type="(oayays)" tp:type="Secret" direction="in">
<tp:docstring>The secret to set, encoded for the included session.</tp:docstring>
</arg>
</method>
diff --git a/secret-service/specification.xml b/secret-service/specification.xml
index a6a1b76..af73d7c 100644
--- a/secret-service/specification.xml
+++ b/secret-service/specification.xml
@@ -157,7 +157,31 @@
information. In this case, a <link linkend='prompts'>prompt object</link> is returned. It
must be <link linkend='org.freedesktop.Secret.Prompt.Prompt'>acted upon</link> in order for
the collection to be deleted.</para>
+ </chapter>
+ <chapter xml:id="aliases">
+ <title>Aliases</title>
+
+ <para>Collections may be accessed via well known aliases. For example an alias
+ called <literal>default</literal> tells applications which is the default
+ collection to store secrets.</para>
+
+ <para>The aliased collections will be available at a
+ <link linkend='object-paths'>well-known DBus object path</link>.</para>
+
+ <para>If an application needs to create a collection with a given alias, this can
+ be done in a race free fashion by specifying the alias parameter of the
+ <link linkend='org.freedesktop.Secret.Service.CreateCollection'>CreateCollection()</link>
+ method on the service interface. If a collection with that alias already exists,
+ then it will be returned instead of creating a new one.</para>
+
+ <para>For applications like password managers it can be useful to allow the user to
+ configure which collection is associated with which well known alias. To alias or
+ unalias a collection use the
+ <link linkend='org.freedesktop.Secret.Service.SetAlias'>SetAlias()</link> method on the
+ service interface. Use the
+ <link linkend='org.freedesktop.Secret.Service.ReadAlias'>ReadAlias()</link> method on the
+ service interface to discover which collection is associated with a given alias.</para>
</chapter>
<chapter xml:id="lookup-attributes">
diff --git a/secret-service/tools/spec-to-docbook.xsl b/secret-service/tools/spec-to-docbook.xsl
index 14d5b24..a6b18a3 100644
--- a/secret-service/tools/spec-to-docbook.xsl
+++ b/secret-service/tools/spec-to-docbook.xsl
@@ -1141,6 +1141,8 @@
</xsl:if>
<xsl:choose>
<xsl:when test="not(@direction)"/>
+ <xsl:when test="@direction='in'"/>
+ <!-- This doesn't work with the DTD (see comment in DTD)
<xsl:when test="@direction='in'">
<xsl:message terminate="no">
<xsl:text>INFO: an arg of signal </xsl:text>
@@ -1148,6 +1150,7 @@
<xsl:text> has unnecessary direction 'in'</xsl:text>
</xsl:message>
</xsl:when>
+ -->
<xsl:otherwise>
<xsl:message terminate="yes">
<xsl:text>ERR: an arg of signal </xsl:text>