ejabberd - Comments for "[ejabberd] Can&amp;#039;t mix XMPP and non-SASL auth" https://www.ejabberd.im/node/86 en IPWorks connecting to eJabberd https://www.ejabberd.im/node/86#comment-18487 <p>I work for /n software (the IPWorks people) and another customer of ours also had a problem connecting to this server and pointed me to this thread, so I just wanted to chime in with the solution.</p> <p>IPWorks supports SASL and plain text authentication. In the current version, by default it uses plaintext because that used to be the most common. We cannot change the default right now because it may break existing products that rely on us - however if you need to support SASL auth in IPWorks v6 you can do so by setting the authmechanism config prior to connecting, like this:</p> <p>xmpp1.Config("AuthMechanism=SASL/PLAIN")</p> <p>In IPWorks v8, the component will connect to eJabberd without any additional configuration (just instantiate the component, set the IM server and call the Connect method. Authentication method defaults to the strongest method allowed by the server. The following are supported: SASL/DIGEST-MD5, AuthIQ/Digest, SASL/PLAIN, AuthIQ/Plaintext.</p> Fri, 15 Jun 2007 15:18:03 +0000 Lance Robinson comment 18487 at https://www.ejabberd.im Right, ejabberd supports jep-78 https://www.ejabberd.im/node/86#comment-736 <blockquote>In this link says that non-SASL(JEP-0078) is supported http://www.ejabberd.im/node/4#comment-729</blockquote> <p>Ah, right, ejabberd supports JEP-78. But the client is allowed to use it only if it does not advertise itself as XMPP/1.0 compliant, since XMPP/1.0 requires SASL support.</p> Mon, 22 Aug 2005 14:46:42 +0000 mfoss comment 736 at https://www.ejabberd.im Indeed the socket is closed, https://www.ejabberd.im/node/86#comment-733 <p>Indeed the socket is closed, but is eJabberd who close it, I cant realize why, the class I using triguers an event that raises only when the server closes the connection.<br /> It's seems to be related with the \0 that I append to the end of each stream that is sent to the client.<br /> Any idea?</p> Sat, 20 Aug 2005 00:52:42 +0000 WEREW0LF comment 733 at https://www.ejabberd.im Looks like you have closed https://www.ejabberd.im/node/86#comment-731 <p>Looks like you have closed socket before sending jabber:iq:auth query.</p> Fri, 19 Aug 2005 04:51:59 +0000 teo comment 731 at https://www.ejabberd.im It's suposed it support https://www.ejabberd.im/node/86#comment-730 <p>In this link says that non-SASL(JEP-0078) is supported</p> <p><a href="http://www.ejabberd.im/node/4#comment-729" title="http://www.ejabberd.im/node/4#comment-729">http://www.ejabberd.im/node/4#comment-729</a></p> <p>But I cant use it, this is my trace:</p> <p>SEND:<br /> &lt;?xml<br /> version='1.0'?&gt;&lt;stream:stream to=&quot;localhost&quot;<br /> xmlns=&quot;jabber:client&quot;<br /> xmlns:stream=&quot;http://etherx.jabber.org/streams&quot; xml:lang=&quot;es_AR&quot;<br /> version=&quot;0.9&quot; &gt;</p> <p>RECEIVE:<br /> &lt;?xml<br /> version='1.0'?&gt;&lt;stream:stream xmlns='jabber:client'<br /> xmlns:stream='http://etherx.jabber.org/streams' id='897032616' from='localhost'<br /> xml:lang='en'&gt;</p> <p>SEND:<br /> &lt;iq id=&quot;log_user_1&quot;<br /> type=&quot;get&quot;&gt;&lt;query<br /> xmlns=&quot;jabber:iq:auth&quot;&gt;&lt;username&gt;werem&lt;/username&gt;&lt;/query&gt;&lt;/iq&gt;</p> <p>RECEIVE:<br /> &lt;?xml<br /> version='1.0'?&gt;&lt;stream:stream xmlns='jabber:client'<br /> xmlns:stream='http://etherx.jabber.org/streams' id='745824646' from='localhost'<br /> xml:lang='en'&gt;&lt;stream:error&gt;&lt;invalid-namespace<br /> xmlns='urn:ietf:params:xml:ns:xmpp-streams'/&gt;&lt;/stream:error&gt;&lt;/stream:stream&gt;</p> <p>I don't know if<br /> &quot;invalid-namespace&quot; refers to EJabberd don't support JEP-0078. Can<br /> confirm this?</p> Fri, 19 Aug 2005 01:01:42 +0000 WEREW0LF comment 730 at https://www.ejabberd.im Is there any way of dissablin https://www.ejabberd.im/node/86#comment-145 <p>Is there any way of dissabling SASL authentication in an ejabber server. Any configuration file?</p> <p>My client does not support SASL authentication and always sends 1.0 xml header. I am not the developer of this client, the only solution for me resides in make a change in server in order to connect succesfully.</p> <p>Thanks!</p> Mon, 07 Feb 2005 08:22:28 +0000 jaguba comment 145 at https://www.ejabberd.im SASL requires XMPP 1.0 https://www.ejabberd.im/node/86#comment-135 <p>Actually the fact that SASL requires including version="1.0" attribute to stream header does not imply the opposite requirement.</p> <p>One can only conclude that if version isn't specified then entity isn't SASL capable.</p> <p>On the other side ejabberd doesn't announce nonsasl auth when gives list of stream features for XMPP compliant clients, so it souldn't provide this auth.</p> Thu, 03 Feb 2005 13:09:12 +0000 teo comment 135 at https://www.ejabberd.im XMPP 1.0 requires SASL https://www.ejabberd.im/node/86#comment-134 <p>Reading RFC 3920: XMPP Core, <a href="http://www.xmpp.org/specs/rfc3920.html#sasl">6. Use of SASL</a>, 6.1 Overview, 2.: <blockquote>If the initiating entity is capable of SASL negotiation, it MUST include the 'version' attribute set to a value of at least "1.0" in the initial stream header.</blockquote></p> <p>So when you ask <blockquote>Is there anyway of connecting to ejabber server without using SASL authentication?</blockquote></p> <p>The answer is yes. If the client does not support SASL, he must not advertise itself as XMPP 1.0 compliant, since XMPP 1.0 requires SASL. Ask your client developer to fix that bug.</p> <p>There's a <a href="http://www.jabber.org/jeps/jep-0078.html">JEP about non-SASL authentication</a>, but ejabberd does not implement it</p> Thu, 03 Feb 2005 12:44:26 +0000 mfoss comment 134 at https://www.ejabberd.im