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>
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>
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>
22
name="org.freedesktop.Telepathy.Channel.Interface.HTML.DRAFT"
23
tp:causes-havoc="unfinished">
24
<tp:requires interface="org.freedesktop.Telepathy.Channel.Type.Text"/>
26
interface="org.freedesktop.Telepathy.Channel.Interface.Messages"/>
27
<tp:added version="0.17.5">(draft version, not API-stable)</tp:added>
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
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>
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>
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>
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>
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>
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>
70
<p>Connection managers should be lenient in what they receive.</p>
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>
86
<!-- vim:set sw=2 sts=2 et ft=xml: -->