From 00c153c57c455ecaa5bd12d0ece2c7afe4d4fec7 Mon Sep 17 00:00:00 2001
From: Guillaume Desmottes
Date: Tue, 22 Mar 2011 10:25:22 +0100
Subject: sync to spec 0.22.0
---
...Account_Interface_External_Password_Storage.xml | 18 +-
spec/Channel_Type_Server_TLS_Connection.xml | 60 +++++-
spec/Connection.xml | 6 +
spec/Connection_Interface_Contact_Blocking.xml | 207 +++++++++++++++++++++
...onnection_Manager_Interface_Account_Storage.xml | 29 +--
spec/Makefile.am | 1 +
spec/all.xml | 12 +-
7 files changed, 303 insertions(+), 30 deletions(-)
create mode 100644 spec/Connection_Interface_Contact_Blocking.xml
(limited to 'spec')
diff --git a/spec/Account_Interface_External_Password_Storage.xml b/spec/Account_Interface_External_Password_Storage.xml
index 71a542428..5bd1bfce0 100644
--- a/spec/Account_Interface_External_Password_Storage.xml
+++ b/spec/Account_Interface_External_Password_Storage.xml
@@ -27,24 +27,30 @@
An interface for Accounts whose passwords are stored externally and
- SHOULD NOT be stored by either the AccountManager nor
- any ServerAuthentication
+ SHOULD NOT be stored by either the
+ AccountManager nor any
+ ServerAuthentication
handler.
+
+ This interface SHOULD only appear on accounts for which the
+ related Connection Manager implements
+ ConnectionManager.Interface.AccountStorage.DRAFT.
- Clears any saved password associated with this account.
+ Clears any saved password associated with this account.
-
+
Indicates whether the account has a saved password or not.
+
+ Change notification for this property is provided by the
+ standard D-Bus PropertiesChanged
signal.
diff --git a/spec/Channel_Type_Server_TLS_Connection.xml b/spec/Channel_Type_Server_TLS_Connection.xml
index 1f3348e12..97efd1b36 100644
--- a/spec/Channel_Type_Server_TLS_Connection.xml
+++ b/spec/Channel_Type_Server_TLS_Connection.xml
@@ -44,23 +44,71 @@
+ tp:name-for-bindings="Server_Certificate"
+ tp:immutable='yeah'>
A TLSCertificate
containing the certificate chain as sent by the server,
and other relevant information.
- This property is immutable.
+ tp:name-for-bindings="Hostname"
+ tp:immutable='sharks'>
- The hostname of the server we expect ServerCertificate
- to certify; clients SHOULD verify ServerCertificate against
- this hostname when checking its validity.
+ The hostname or domain that the user expects to connect to. Clients
+ SHOULD use the ReferenceIdentities
+ property to verify the identity of the certificate. Clients MAY display
+ this hostname to the user as the expected identity. Clients SHOULD use
+ this property to lookup pinned certificates or other user preferences
+ for the connection.
+
+
+
+
+
+ If this property is not present, clients SHOULD use the
+ Hostname property as the reference
+ identity to validate server certificates against.
+
+
+
+ The identities of the server we expect
+ ServerCertificate to certify; clients
+ SHOULD verify that ServerCertificate
+ matches one of these identities when checking its validity.
+
+ This property MUST NOT be the empty list; it MUST
+ contain the value of the Hostname
+ property. All other identities included in this property MUST be derived from
+ explicit user input or choices, such as Parameters passed to
+ RequestConnection.
+
+
+ The primary use for this property is for XMPP services hosted by
+ Google
+ Apps. When connecting to Google Talk using an
+ @gmail.com JID, the server correctly presents a
+ certificate for gmail.com; however, for domains hosted via
+ Google Apps, a certificate for talk.google.com is
+ offered, due to unresolved technical limitations.
+
+ If the user has explicitly chosen to create a Google Talk
+ account, then trusting a certificate for talk.google.com
+ is reasonable. To handle this case, the connection manager may add
+ the values of any or all of the server,
+ fallback-server and extra-identities parameters;
+ the Google Talk account creation user interface may set these
+ parameters appropriately, or the user may set them for accounts
+ with other services.
+
diff --git a/spec/Connection.xml b/spec/Connection.xml
index 51ec1ab23..0ba095a9e 100644
--- a/spec/Connection.xml
+++ b/spec/Connection.xml
@@ -1033,6 +1033,12 @@ USA.
Debugging information on the change, corresponding to the
message part of a D-Bus error message, which SHOULD NOT be
displayed to users under normal circumstances
+
+ server-message (s)
+ A human-readable message from the server explaining what
+ happened. This may be in the user's native language, or in the
+ server operator's native language, or even in Lojban.
+
user-requested (b), expected-hostname (s), certificate-hostname (s)
The same details defined in TLS_Certificate_Rejection.
diff --git a/spec/Connection_Interface_Contact_Blocking.xml b/spec/Connection_Interface_Contact_Blocking.xml
new file mode 100644
index 000000000..756fd4db8
--- /dev/null
+++ b/spec/Connection_Interface_Contact_Blocking.xml
@@ -0,0 +1,207 @@
+
+
+ Copyright © 2009–2011 Collabora Ltd.
+ Copyright © 2009 Nokia Corporation
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+ USA.
+
+
+
+
+ Changes from the draft:
+ methods and signals now return Handle_Identifier_Map
+ (a{us}
) rather than bare lists of contact handles
+ (au
)
+
+
+ An interface for connections where contacts can be blocked from
+ communicating with this user and receiving this user's presence.
+ Clients may retrieve a list of currently-blocked contacts using
+ RequestBlockedContacts, and listen for
+ BlockedContactsChanged to be notified
+ when contacts are blocked and unblocked. The
+ BlockContacts and
+ UnblockContacts methods do what they say
+ on the tin; depending on the value of the
+ ContactBlockingCapabilities property,
+ contacts may be reported for spam or other abuse when calling
+ BlockContacts.
+
+ This interface is intended for protocols where blocking contacts
+ persists on the server between connections; connection managers for
+ protocols with no server-side support for blocking contacts MAY choose
+ to implement this interface using an on-disk file of blocked
+ contacts or some other means to store blocked contacts between
+ connections.
+
+ This interface is intended to replace the
+ ContactList
+ channel with TargetHandleType
+ List
and TargetID "deny"
+ (along with the ContactList and
+ ContactGroups
+ interfaces replacing other channels with TargetHandleType
+ List
and TargetHandleType
+ Group
, respectively).
+
+
+
+
+ Direct the server to block some contacts. The precise effect is
+ protocol-dependent, but SHOULD include ignoring all current and
+ subsequent communications from the given contacts, avoiding sending
+ presence to them in future, and if they were already receiving the
+ local user's presence, behaving as if the local user went
+ offline.
+
+
+
+ Some contacts to block. If some of the contacts in this
+ list are already blocked, the connection manager MUST act as if they
+ were not specified in this list.
+
+
+
+
+ In addition to blocking, report these contacts as abusive to the
+ server administrators.
+
+ Clients can determine whether this capability is available by
+ checking the
+ ContactBlockingCapabilities
+ property. If this argument is set to True
by a client
+ despite ContactBlockingCapabilities
+ not containing the Can_Report_Abusive
flag, the
+ connection manager SHOULD act as if it were False
and
+ simply block the supplied contacts.
+
+
+ A correct user interface shouldn't get this far without knowing
+ that reporting abusive contacts is not supported. If it does,
+ then the user has expressed their intention to block these
+ contacts. Returning an error would leave the UI with three
+ options:
+
+
+ - Ignore the error, leaving the contacts not actually blocked;
+ - Display an error to the user;
+ - Call this method again, passing
False
for this
+ argument.
+
+
+ None of these seem preferable to the CM just ignoring this flag
+ if it doesn't support it: that way, the contacts will be blocked,
+ as the user requested, and UIs have fewer ways to mess up
+ entirely.
+
+
+
+
+
+
+
+ Direct the server to unblock some contacts.
+
+
+
+ Some contacts to unblock. If some of the contacts in this
+ list are not currently blocked, the connection manager MUST act as if
+ they were not specified in this list.
+
+
+
+
+
+ List the contacts that are blocked.
+
+ Clients SHOULD allow a relatively long timeout for calls to this
+ method, since on some protocols contact blocking is part of the
+ contact list, which can take a significant time to retrieve.
+
+
+
+ The blocked contacts’ handles, together with their
+ identifiers.
+
+
+
+
+
+ Emitted when the list of blocked contacts is first retrieved
+ (before returning from any pending calls to
+ RequestBlockedContacts), and
+ whenever the list of blocked contacts subsequently changes.
+
+
+
+ Contacts added to the result of
+ RequestBlockedContacts.
+
+
+
+ Contacts removed from the result of
+ RequestBlockedContacts.
+
+
+
+
+
+ True
if the contact would be in the result of
+ RequestBlockedContacts;
+ False
or omitted if the contact is not blocked, or if it
+ is unknown whether the contact is blocked.
+
+
+
+
+
+ Additional capabilities for contact blocking; currently, this is
+ limited to whether contacts may be reported as abusive.
+
+ Note that there is no capability for supporting blocking itself:
+ the presence of this interface on a Connection indicates that blocking
+ contacts is supported.
+
+
+
+
+
+
+ When calling BlockContacts, the
+ contacts may be reporting as abusive to the server administrators by
+ setting Report_Abusive to True
.
+
+
+
+
+
+
+
diff --git a/spec/Connection_Manager_Interface_Account_Storage.xml b/spec/Connection_Manager_Interface_Account_Storage.xml
index 143d5de73..2f4f4bf78 100644
--- a/spec/Connection_Manager_Interface_Account_Storage.xml
+++ b/spec/Connection_Manager_Interface_Account_Storage.xml
@@ -29,18 +29,18 @@
An interface for connection managers that store account details
internally. At the moment this consists only of storing an account's
credentials, but other functionality may be added in the future.
- Account objects
+
+
Account objects
representing accounts on a connection manager that implements this
- interface should implement the ExternalPasswordStorage.DRAFT
+ interface should implement the
+ ExternalPasswordStorage.DRAFT
interface.
-
- A set of flags representing the status of the Account stored in the Connection Manager.
+ A set of flags representing the status of the Account stored in the
+ Connection Manager.
@@ -61,9 +61,12 @@
-
- The set of Accounts stored in this connection manager, and flags
- indicating their status.
+
+ The set of Accounts stored in this Connection Manager, and flags
+ indicating their status.
+
+ Change notification for this property is provided by the standard
+ D-Bus PropertiesChanged
signal.
@@ -76,8 +79,8 @@
- An account id as returned from Protocol.IdentifyAccount.
+ An account id as returned from
+ Protocol.IdentifyAccount.
@@ -99,8 +102,8 @@
- An account id as returned from Protocol.IdentifyAccount.
+ An account id as returned from
+ Protocol.IdentifyAccount.
diff --git a/spec/Makefile.am b/spec/Makefile.am
index e8e3e0cc5..767780e59 100644
--- a/spec/Makefile.am
+++ b/spec/Makefile.am
@@ -75,6 +75,7 @@ EXTRA_DIST = \
Connection_Interface_Cellular.xml \
Connection_Interface_Client_Types.xml \
Connection_Interface_Communication_Policy.xml \
+ Connection_Interface_Contact_Blocking.xml \
Connection_Interface_Contact_Capabilities.xml \
Connection_Interface_Contact_Groups.xml \
Connection_Interface_Contact_Info.xml \
diff --git a/spec/all.xml b/spec/all.xml
index fccf75c95..a5644a90f 100644
--- a/spec/all.xml
+++ b/spec/all.xml
@@ -3,10 +3,10 @@
xmlns:xi="http://www.w3.org/2001/XInclude">
Telepathy D-Bus Interface Specification
-0.21.12
+0.22.0
-Copyright © 2005-2010 Collabora Limited
-Copyright © 2005-2010 Nokia Corporation
+Copyright © 2005-2011 Collabora Limited
+Copyright © 2005-2011 Nokia Corporation
Copyright © 2006 INdT
@@ -56,13 +56,15 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
On protocols that support contact lists, these interface expose the user's
- contact lists, along with presence subscription information and contact
- list groups (if supported).
+ contact lists, along with presence subscription information, contact
+ list groups (if supported), and the ability to block and unblock contacts
+ (if supported).
+
--
cgit v1.2.1