~ubuntu-branches/ubuntu/utopic/telepathy-python/utopic

« back to all changes in this revision

Viewing changes to spec/Channel_Interface_HTML.xml

  • Committer: Bazaar Package Importer
  • Author(s): Jonny Lamb
  • Date: 2009-02-16 10:47:31 UTC
  • mfrom: (7.1.14 jaunty)
  • Revision ID: james.westby@ubuntu.com-20090216104731-3l467x71wygwok32
Tags: 0.15.6-2
debian/control: Added myself to Uploaders.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" ?>
 
2
<node name="/Channel_Interface_HTML"
 
3
  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
 
4
  <tp:copyright>Copyright (C) 2008 Collabora Ltd.</tp:copyright>
 
5
  <tp:copyright>Copyright (C) 2008 Nokia Corporation</tp:copyright>
 
6
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
 
7
    <p>This library is free software; you can redistribute it and/or
 
8
modify it under the terms of the GNU Lesser General Public
 
9
License as published by the Free Software Foundation; either
 
10
version 2.1 of the License, or (at your option) any later version.</p>
 
11
 
 
12
<p>This library is distributed in the hope that it will be useful,
 
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
15
Lesser General Public License for more details.</p>
 
16
 
 
17
<p>You should have received a copy of the GNU Lesser General Public
 
18
License along with this library; if not, write to the Free Software
 
19
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.</p>
 
20
  </tp:license>
 
21
  <interface
 
22
    name="org.freedesktop.Telepathy.Channel.Interface.HTML.DRAFT"
 
23
    tp:causes-havoc="unfinished">
 
24
    <tp:requires interface="org.freedesktop.Telepathy.Channel.Type.Text"/>
 
25
    <tp:requires
 
26
      interface="org.freedesktop.Telepathy.Channel.Interface.Messages"/>
 
27
    <tp:added version="0.17.5">(draft version, not API-stable)</tp:added>
 
28
 
 
29
    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
 
30
      <p>This interface extends the Messages interface to support
 
31
        capability discovery, so clients can decide what subset of HTML
 
32
        is supported.</p>
 
33
 
 
34
      <p>(However, the capability discovery mechanism has not been written
 
35
        yet, so this interface MUST NOT be used. It exists only to
 
36
        indicate what direction we intend to go in.)</p>
 
37
 
 
38
      <tp:rationale>
 
39
        <p>XMPP supports all of XHTML-IM, and SIP (at least theoretically)
 
40
          supports all of XHTML. However, many protocols are more limited -
 
41
          for instance, in MSN you can only set font properties for a
 
42
          whole message at a time. We should not mislead users into thinking
 
43
          they can send MSN messages where individual words are emphasized.</p>
 
44
      </tp:rationale>
 
45
 
 
46
      <p>If this interface is present, clients MAY send XHTML formatted text
 
47
        in message parts with type "text/html", and SHOULD interpret
 
48
        "text/html" message parts received in reply.</p>
 
49
 
 
50
      <p>Client authors SHOULD pay careful attention to the security
 
51
        considerations in XEP-0071, "XHTML-IM", to avoid exposing client users
 
52
        to security risks. Clients MUST NOT assume that connection managers
 
53
        will filter messages to remove unsafe HTML.</p>
 
54
 
 
55
      <tp:rationale>
 
56
        <p>Connection managers are the components in Telepathy that are most
 
57
          likely to be exploitable by a remote attacker to run malicious code
 
58
          (since they are network-facing), so any filtering that the CM does
 
59
          might be subverted.</p>
 
60
      </tp:rationale>
 
61
 
 
62
      <p>To avoid misleading users, clients SHOULD only present UI for the
 
63
        subset of HTML that is indicated to be supported by this
 
64
        interface. It follows that clients SHOULD NOT send unsupported
 
65
        markup to the connection manager. However, even if the connection
 
66
        manager cannot send arbitrary XHTML, it MUST cope gracefully
 
67
        with being given arbitrary XHTML by a client.</p>
 
68
 
 
69
      <tp:rationale>
 
70
        <p>Connection managers should be lenient in what they receive.</p>
 
71
      </tp:rationale>
 
72
 
 
73
      <p>Clients MUST NOT send HTML that is not well-formed XML, but
 
74
        connection managers MAY signal HTML that is malformed or invalid.
 
75
        Clients SHOULD attempt to parse messages as XHTML, but fall back
 
76
        to using a permissive "tag-soup" HTML parser if that fails.
 
77
        (FIXME: or should the presence of this interface imply that the
 
78
        CM fixes up "text/html" to be XHTML? In practice that would result
 
79
        in all the CMs having to link against libxml2 or something... the
 
80
        rationale above no longer applies here, since dropping a malformed
 
81
        message is "safe")</p>
 
82
    </tp:docstring>
 
83
 
 
84
  </interface>
 
85
</node>
 
86
<!-- vim:set sw=2 sts=2 et ft=xml: -->