What is the difference between jabber and xmpp




















In such a situation, a SASL security layer should be negotiated that effectively ignores the presence of the lower layer security.

Use of these well-known ports allows administrators to easily enable or disable XMPP activity through existing and commonly-deployed firewalls.

An implementation MUST reject not ignore any characters that are not explicitly allowed by the base64 alphabet; this helps to guard against creation of a covert channel that could be used to "leak" information. Base 64 encoding visually hides otherwise easily recognized information, such as passwords, but does not provide any computational confidentiality. In many cases, users of security protocols might do visual matching, such as when comparing the names of trusted third parties.

Because it is impossible to map similar-looking characters without a great deal of context, such as knowing the fonts used, stringprep does nothing to map similar-looking characters together, nor to prohibit some characters because they look like others. A node identifier can be employed as one part of an entity's address in XMPP.

One common usage is as the username of an instant messaging user; another is as the name of a multi-user chat room; many other kinds of entities could use node identifiers as part of their addresses. The security of such services could be compromised based on different interpretations of the internationalized node identifier; for example, a user entering a single internationalized node identifier could access another user's account information, or a user could gain access to an otherwise restricted chat room or service.

A resource identifier can be employed as one part of an entity's address in XMPP. One common usage is as the name for an instant messaging user's connected resource active session ; another is as the nickname of a user in a multi-user chat room; many other kinds of entities could use resource identifiers as part of their addresses.

The security of such services could be compromised based on different interpretations of the internationalized resource identifier; for example, a user could attempt to initiate multiple sessions with the same name, or a user could send a message to someone other than the intended recipient in a multi-user chat room.

The Nodeprep profile of stringprep is defined under Nodeprep Nodeprep. The Resourceprep profile of stringprep is defined under Resourceprep Resourceprep. As such, it specifies processing rules that will enable users to enter internationalized node identifiers in the Extensible Messaging and Presence Protocol XMPP and have the highest chance of getting the content of the strings correct.

An XMPP node identifier is the optional portion of an XMPP address that precedes a domain identifier and the ' ' separator; it is often but not exclusively associated with an instant messaging username.

This profile uses Unicode 3. As such, it specifies processing rules that will enable users to enter internationalized resource identifiers in the Extensible Messaging and Presence Protocol XMPP and have the highest chance of getting the content of the strings correct.

The following XML schemas are descriptive, not normative. Because there exists a large installed base of Jabber implementations and deployments, it may be helpful to specify the key differences between the relevant Jabber protocols and XMPP in order to expedite and encourage upgrades of those implementations and deployments to XMPP.

It was common practice in the Jabber community to use SSL for channel encryption on ports other than and the convention is to use ports and The Jabber community did not develop an authentication protocol for server-to-server communications, only the Server Dialback Server Dialback protocol to prevent server spoofing.

Resource binding in the Jabber community was handled via the 'jabber:iq:auth' namespace which was also used for client authentication with a server. XMPP defines a dedicated namespace for resource binding as well as the ability for a server to generate a resource identifier on behalf of a client, as defined under Resource Binding Resource Binding. Although use of UTF-8 has always been standard practice within the Jabber community, the community did not define mechanisms for specifying the language of human-readable text provided in XML character data.

XMPP specifies the use of the 'xml:lang' attribute in such contexts, as defined under Stream Attributes Stream Attributes and xml:lang xml:lang herein.

The Jabber community did not include a 'version' attribute in stream headers. XMPP specifies inclusion of that attribute as a way to signal support for the stream features authentication, encryption, etc.

Most of the core aspects of the Extensible Messaging and Presence Protocol were developed originally within the Jabber open-source community in This community was founded by Jeremie Miller, who released source code for the initial version of the jabberd server in January The error code syntax was suggested by Lisa Dusseault.

Thanks are due to a number of individuals in addition to the contributors listed. This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard.

Please address the information to the IETF at ietf-ipr ietf. RFC Network Working Group. Crocker, D. Josefsson, S. Alvestrand, H. Leach, P. Mockapetris, P. Linn, J. Rescorla, E. Faltstrom, P. Hinden, R. Hoffman, P. Eastlake, D. Myers, J. Gulbrandsen, A. Postel, J. Bradner, S. Dierks, T. Yergeau, F. Housley, R. Sign up to join this community. The best answers are voted up and rise to the top. Stack Overflow for Teams — Collaborate and share knowledge with a private group.

Create a free Team What is Teams? Learn more. Ask Question. Asked 11 years, 6 months ago. Active 3 years, 5 months ago. Viewed 9k times. Improve this question. Armstrongest Armstrongest 2 2 silver badges 7 7 bronze badges. Add a comment. Active Oldest Votes. Password is optional for creating a new room. Alias is the alias display name you wish to assign to the chat. Group is the group in your buddy list roster in which you wish the chat to appear.

Find the chat in your Buddy List and double-click it. There are a number of possible reasons for this. This is a server-side restriction. IN SRV 5 0 xmpp-server. IN SRV 20 0 alt1. IN SRV 20 0 alt2. IN SRV 20 0 alt3. IN SRV 20 0 alt4. How you do this will differ depending on your your DNS server or provider works. But if we were to construct a statement like "IRC manages reliable message delivery without any concept of message IDs", then that would be false or technically, vacuous , because it doesn't manage reliable message delivery.

I don't think you get the idea of extensions in XMPP. If something is published as a XEP, it doesn't mean "it's a completely optional thing you can ignore".

It does mean "it's a thing that might not be useful in some cases, so it doesn't belong to the core that everyone and their pets must implement". If you build an IM client for XMPP which is just one of the use cases of XMPP , you absolutely have to implement at least a few of those extensions in order to have basic functionality. That's expected, by design and very fine. Of course, what's considered "basic" changes over time and it's easy to find outdated clients out there.

That's why Compliance Profiles exist, so you can look around for clients that implement, for instance, desktop IM profile. It also imposes some burden on new implementations to consider backwards compatibility with those clients. No solution is perfect, but while I think Matrix' way allows them to move forward faster now, in the long term it's probably XMPP that will age more gracefully. Stream Management from XEP ? Acking from XEP ?

Something from Carbons or MAM in or ? You know, if you wanted some light reading It's bananas. The spec behavior is that whenever a client sends a message, the server is supposed to consider that one the most alive, and then route all future messages exclusively to that one. So you send a message on your phone? Yeah, your desktop is just going to silently stop receiving messages.

This involves re-sending all your messages back to the server after you receive them, with special instructions to send them back again to your other clients. The amount of redundantly redundant XML involved is eyewatering. The trouble is, so much of this stuff is core to sane message delivery semantics that it really, practically speaking, causes huge problems when it's all considered "extensions".

Stuff like message IDs fundamentally shouldn't be an extension because it's just too critical that all minimum-viable clients agree. You just can't build higher level stuff without that. XEPs are great. A community process for extensions should exist. It just needs to exist for extensions, not subsume the total set of realistic minimum viable features.

I have tried to implement them. It is based on this first-hand experience that I am now arguing that the XEPs are a swamp. It is time to move on. Yes, even with Compliance Profiles. It's too late. The horses have left the barn, developed tools, formed their own complex civilizations, invented light speed travel, and in fact left the galaxy. That's how far out of the barn they are. Message ID and multi-device messaging is in fact fundamentally broken in such a unique, fascinating way in XMPP that all other clients will cease to operate correctly in the presence of a single bad client.

That's right. Any bad client can cause other clients which are following the spec to the letter to begin to drop messages, forward them incorrectly, and generally lose history and form desynchronized views of the world. I'm not kidding.

The only way to implement a reasonably correct multi-device behavior requires ignoring significant parts of XMPP because it is wrong. XMPP is not your savior. Guess what: I was implementing at least some of them too, successfully. Check out XEP Also, unique message IDs are not a feature. They are means to provide some feature. You will deal with different kinds of IDs when trying to ensure network reliability or when trying to implement read markers and delivery receipts , Without telling us what feature would you like to implement threading?

I can agree with opinion that the protocol is really "bananas", but it works.



0コメント

  • 1000 / 1000