| 1 | Protocol support |
|---|
| 2 | ---------------- |
|---|
| 3 | |
|---|
| 4 | jabberd 2.x is a server implementation of the eXtensible Messaging and |
|---|
| 5 | Presence Protocol (XMPP), as published by the IETF. It also implements |
|---|
| 6 | several XMPP extensions documented by the XMPP Software Foundation (XSF), |
|---|
| 7 | and some legacy extensions that were implemented by its predecessor, |
|---|
| 8 | jabberd 1.4. |
|---|
| 9 | |
|---|
| 10 | This document lists the protocols supported by the server, and any notes |
|---|
| 11 | relating to the implementation. |
|---|
| 12 | |
|---|
| 13 | This is current as of 2008-01-24 (jabberd 2.1.22). |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | RFC 3920 XMPP Core supported |
|---|
| 17 | RFC 3921 XMPP IM supported |
|---|
| 18 | RFC 3920bis XMPP Core supported |
|---|
| 19 | RFC 3921bis XMPP IM supported |
|---|
| 20 | |
|---|
| 21 | XEP-0004 Data Forms - |
|---|
| 22 | XEP-0011 Jabber Browsing supported |
|---|
| 23 | XEP-0012 Last Activity supported |
|---|
| 24 | XEP-0013 Flexible Offline Message Retrieval - |
|---|
| 25 | XEP-0016 Privacy Lists supported |
|---|
| 26 | XEP-0018 Invisible Presence removed |
|---|
| 27 | XEP-0022 Message Events supported |
|---|
| 28 | XEP-0023 Message Expiration supported |
|---|
| 29 | XEP-0030 Service Discovery supported |
|---|
| 30 | XEP-0033 Extended Stanza Addressing - |
|---|
| 31 | XEP-0045 Multi-User Chat (by add-on) |
|---|
| 32 | XEP-0048 Bookmark Storage supported |
|---|
| 33 | XEP-0049 Private XML Storage supported |
|---|
| 34 | XEP-0050 Ad-Hoc Commands - |
|---|
| 35 | XEP-0054 vcard-temp supported |
|---|
| 36 | XEP-0055 Jabber Search (by add-on) |
|---|
| 37 | XEP-0059 Result Set Management - |
|---|
| 38 | XEP-0060 Publish-Subscribe (by add-on) |
|---|
| 39 | XEP-0065 SOCKS5 Bytestreams (by add-on) |
|---|
| 40 | XEP-0073 Basic IM Protocol Suite supported |
|---|
| 41 | XEP-0077 In-Band Registration supported |
|---|
| 42 | XEP-0078 Non-SASL Authentication supported |
|---|
| 43 | XEP-0079 Advanced Message Processing partial |
|---|
| 44 | XEP-0083 Nested Roster Groups supported |
|---|
| 45 | XEP-0086 Error Condition Mappings supported |
|---|
| 46 | XEP-0090 Entity Time supported |
|---|
| 47 | XEP-0091 Delayed Delivery supported |
|---|
| 48 | XEP-0092 Software Version supported |
|---|
| 49 | XEP-0093 Agent Information supported |
|---|
| 50 | XEP-0114 Jabber Component Protocol supported |
|---|
| 51 | XEP-0117 Intermediate IM Protocol Suite (by add-on) |
|---|
| 52 | XEP-0124 HTTP Binding (by add-on) |
|---|
| 53 | XEP-0128 Service Discovery Extensions supported |
|---|
| 54 | XEP-0133 Service Administration - |
|---|
| 55 | XEP-0136 Message Archiving - |
|---|
| 56 | XEP-0138 Stream Compression supported |
|---|
| 57 | XEP-0142 Workgroups - |
|---|
| 58 | XEP-0145 Annotations supported |
|---|
| 59 | XEP-0150 Use of Entity Tags in XMPP Extensions - |
|---|
| 60 | XEP-0153 vCard-Based Avatars supported |
|---|
| 61 | XEP-0154 User Profile - |
|---|
| 62 | XEP-0157 Contact Addresses for XMPP Services supported |
|---|
| 63 | XEP-0159 SPIM-Blocking Control - |
|---|
| 64 | XEP-0160 Best Practices for Handling Offline |
|---|
| 65 | Messages supported |
|---|
| 66 | XEP-0163 Personal Eventing via Pubsub - |
|---|
| 67 | XEP-0168 Resource Application Priority - |
|---|
| 68 | XEP-0170 Recommended Order of Stream Feature |
|---|
| 69 | Negotiation supported |
|---|
| 70 | XEP-0172 User Nickname |
|---|
| 71 | XEP-0175 Best Practices of Use of SASL ANONYMOUS supported |
|---|
| 72 | XEP-0178 Best Practices of Use of SASL EXTERNAL partial |
|---|
| 73 | XEP-0185 Dialback Key Generation and Validation supported |
|---|
| 74 | XEP-0186 Invisible Command - |
|---|
| 75 | XEP-0190 Best Practice for Closing Idle Streams supported |
|---|
| 76 | XEP-0191 Simple Communications Blocking supported |
|---|
| 77 | XEP-0192 Proposed Stream Feature Improvements supported |
|---|
| 78 | XEP-0193 Proposed Resource Binding Improvements supported |
|---|
| 79 | XEP-0198 Stanza Acknowledgements supported |
|---|
| 80 | XEP-0199 XMPP Ping supported |
|---|
| 81 | XEP-0202 Entity Time supported |
|---|
| 82 | XEP-0203 Delayed Delivery supported |
|---|
| 83 | XEP-0205 Best Practices to Discourage |
|---|
| 84 | Denial of Service Attacks partial |
|---|
| 85 | XEP-0206 XMPP Over BOSH (by add-on) |
|---|
| 86 | XEP-0209 Metacontacts supported |
|---|
| 87 | XEP-0212 XMPP Basic Server 2008 supported |
|---|
| 88 | XEP-0215 External Service Discovery - |
|---|
| 89 | XEP-0216 XMPP Intermediate IM Server 2008 partial |
|---|
| 90 | XEP-0219 Hop Check - |
|---|
| 91 | XEP-0220 Server Dialback supported |
|---|
| 92 | XEP-0225 Component Connections supported |
|---|
| 93 | |
|---|
| 94 | |
|---|
| 95 | Additional features supported by jabberd 2.1.22 (without plugins): |
|---|
| 96 | |
|---|
| 97 | - Server admin address |
|---|
| 98 | - Echo address |
|---|
| 99 | - Server MOTD |
|---|
| 100 | - Offline message storage |
|---|
| 101 | - Message archiving |
|---|
| 102 | - Authorization with: BerkeleyDB, LDAP, MySQL, NTLogon, Oracle, PAM, PostgreSQL, Pipe, SQLite, SSPI |
|---|
| 103 | - Storage in: BerkeleyDB, files, LDAP(vCard), MySQL, Oracle, PostreSQL, SQLite |
|---|
| 104 | - jabberd2 Component Protocol |
|---|
| 105 | |
|---|
| 106 | |
|---|
| 107 | |
|---|
| 108 | Implementation Notes |
|---|
| 109 | -------------------- |
|---|
| 110 | |
|---|
| 111 | |
|---|
| 112 | XMPP RFCs |
|---|
| 113 | --------- |
|---|
| 114 | |
|---|
| 115 | XMPP Core (RFC 3920 and RFC 3920bis) |
|---|
| 116 | |
|---|
| 117 | Implemented, except for: |
|---|
| 118 | - SASL (External) for s2s streams |
|---|
| 119 | - Language support via xml:lang |
|---|
| 120 | |
|---|
| 121 | XMPP IM (RFC 3921 and RFC 3921bis) |
|---|
| 122 | |
|---|
| 123 | Implemented. |
|---|
| 124 | |
|---|
| 125 | |
|---|
| 126 | XMPP Extension Protocols |
|---|
| 127 | ------------------------ |
|---|
| 128 | |
|---|
| 129 | Jabber Browsing (XEP-0011) |
|---|
| 130 | |
|---|
| 131 | Implemented by the session manager (mod_disco) as a wrapper around the |
|---|
| 132 | service list used for Service Discovery. The configuration required to |
|---|
| 133 | enable browsing is undocumented as browse is considered to be |
|---|
| 134 | deprecated. |
|---|
| 135 | |
|---|
| 136 | Last Activity (XEP-0012) |
|---|
| 137 | |
|---|
| 138 | Implemented by the session manager (mod_iq_last). |
|---|
| 139 | |
|---|
| 140 | Message Events (XEP-0022) |
|---|
| 141 | |
|---|
| 142 | Offline event implemented by the session manager (mod_offline). |
|---|
| 143 | |
|---|
| 144 | Message Expiration (XEP-0023) |
|---|
| 145 | |
|---|
| 146 | Implemented by the session manager (mod_offline). |
|---|
| 147 | |
|---|
| 148 | Service Discovery (XEP-0030) |
|---|
| 149 | |
|---|
| 150 | Implemented by the session manager (mod_disco). Administrative users |
|---|
| 151 | will see extra nodes when doing a #items query - these nodes provide |
|---|
| 152 | information about active users and sessions. New components becoming |
|---|
| 153 | available are probed automatically, and if they are disco-aware, their |
|---|
| 154 | information is added to the service list. Sub-entity item publishing is |
|---|
| 155 | implemented seperately by mod_disco_publish. |
|---|
| 156 | |
|---|
| 157 | Private XML Storage (XEP-0049) |
|---|
| 158 | |
|---|
| 159 | Implemented by the session manager (mod_iq_private). |
|---|
| 160 | |
|---|
| 161 | vcard-temp (XEP-0054) |
|---|
| 162 | |
|---|
| 163 | Implemented by the session manager (mod_iq_vcard). |
|---|
| 164 | |
|---|
| 165 | In-band Registration (XEP-0077) |
|---|
| 166 | |
|---|
| 167 | Implemented by c2s. |
|---|
| 168 | |
|---|
| 169 | Non-SASL Authentication (XEP-0078) |
|---|
| 170 | |
|---|
| 171 | Implemented by c2s. |
|---|
| 172 | |
|---|
| 173 | Entity Time (XEP-0090) |
|---|
| 174 | |
|---|
| 175 | Implemented by the session manager (mod_iq_time). |
|---|
| 176 | |
|---|
| 177 | Delayed Delivery (XEP-0091) |
|---|
| 178 | |
|---|
| 179 | Implemented by the session manager. |
|---|
| 180 | |
|---|
| 181 | Software Version (XEP-0092) |
|---|
| 182 | |
|---|
| 183 | Implemented by the session manager (mod_iq_version). |
|---|
| 184 | |
|---|
| 185 | Agent Information (XEP-0094) |
|---|
| 186 | |
|---|
| 187 | Implemented by the session manager (mod_disco) as a wrapper around the |
|---|
| 188 | service list used for Service Discovery. |
|---|
| 189 | |
|---|
| 190 | External Component Protocol (XEP-0114) |
|---|
| 191 | |
|---|
| 192 | Implemented by the router as a wrapper around the more featureful |
|---|
| 193 | jabberd 2.x component protocol. |
|---|
| 194 | |
|---|
| 195 | |
|---|
| 196 | Legacy extensions (jabberd 1.4) |
|---|
| 197 | ------------------------------- |
|---|
| 198 | |
|---|
| 199 | Invisible presence (XEP-0018) |
|---|
| 200 | |
|---|
| 201 | This extension was implemented by the session manager. |
|---|
| 202 | It was intentionally removed. This is very legacy, causes problems, we |
|---|
| 203 | have better ways of doing so called invisibility, etc. |
|---|
| 204 | |
|---|