All jabber plugins after 1.6 will not connect to my ejabberd server. I've defined 3 ports, one STARTTLS, one TLS, and one with no SSL. I've tried with and without SASL enabled for the plugin on each. No combination works. There's nothing overly exciting with the ejabberd server, it pulls accounts from LDAP and sends premade rosters which is the only thing beyond default.

      In all cases, it opens the port and then does nothing:

      =INFO REPORT==== 2010-07-23 11:19:56 ===
      I(<0.518.0>:ejabberd_listener:232) : (#Port<0.26285>) Accepted connection {{10,0,0,217},59241} -> {{10,0,0,216},5222}

      =INFO REPORT==== 2010-07-23 11:19:56 ===
      I(<0.5972.0>:ejabberd_net:25) : gethostname

      {socket_state,gen_tcp, #Port<0.26285>,<0.5971.0>}

      =INFO REPORT==== 2010-07-23 11:19:56 ===
      I(<0.5972.0>:ejabberd_c2s:261) : FQDN: "im.get2spec.com"

      =INFO REPORT==== 2010-07-23 11:19:56 ===
      I(<0.5972.0>:ejabberd_c2s:261) : FQDN: "im.get2spec.com"

      I turned the hudson logs up all the way but nothing relevant is printed there.

        1. instant-messaging.hpi
          96 kB
          kutzi
        2. jabber.hpi
          872 kB
          kutzi

          [JENKINS-7060] Hudson not connecting to ejabberd

          kev009 created issue -

          kev009 added a comment -

          Here's a good connect with version 1.6:

          =INFO REPORT==== 2010-07-23 11:28:19 ===
          I(<0.518.0>:ejabberd_listener:232) : (#Port<0.26295>) Accepted connection {{10,0,0,217},55190} -> {{10,0,0,216},5222}

          =INFO REPORT==== 2010-07-23 11:28:19 ===
          I(<0.6015.0>:ejabberd_net:25) : gethostname

          {socket_state,gen_tcp, #Port<0.26295>,<0.6014.0>}

          =INFO REPORT==== 2010-07-23 11:28:19 ===
          I(<0.6015.0>:ejabberd_c2s:261) : FQDN: "im.get2spec.com"

          =INFO REPORT==== 2010-07-23 11:28:19 ===
          I(<0.6015.0>:ejabberd_c2s:261) : FQDN: "im.get2spec.com"

          =INFO REPORT==== 2010-07-23 11:28:19 ===
          I(<0.6015.0>:ejabberd_c2s:586) : ({socket_state,tls,

          {tlssock,#Port<0.26295>,#Port<0.26298>},<0.6014.0>}) Accepted authentication for buildbot by ejabberd_auth_ldap

          =INFO REPORT==== 2010-07-23 11:28:19 ===
          I(<0.6015.0>:ejabberd_c2s:845) : ({socket_state,tls,{tlssock,#Port<0.26295>,#Port<0.26298>}

          ,<0.6014.0>}) Opened session for buildbot@im.get2spec.com/Hudson

          kev009 added a comment - Here's a good connect with version 1.6: =INFO REPORT==== 2010-07-23 11:28:19 === I(<0.518.0>:ejabberd_listener:232) : (#Port<0.26295>) Accepted connection {{10,0,0,217},55190} -> {{10,0,0,216},5222} =INFO REPORT==== 2010-07-23 11:28:19 === I(<0.6015.0>:ejabberd_net:25) : gethostname {socket_state,gen_tcp, #Port<0.26295>,<0.6014.0>} =INFO REPORT==== 2010-07-23 11:28:19 === I(<0.6015.0>:ejabberd_c2s:261) : FQDN: "im.get2spec.com" =INFO REPORT==== 2010-07-23 11:28:19 === I(<0.6015.0>:ejabberd_c2s:261) : FQDN: "im.get2spec.com" =INFO REPORT==== 2010-07-23 11:28:19 === I(<0.6015.0>:ejabberd_c2s:586) : ({socket_state,tls, {tlssock,#Port<0.26295>,#Port<0.26298>},<0.6014.0>}) Accepted authentication for buildbot by ejabberd_auth_ldap =INFO REPORT==== 2010-07-23 11:28:19 === I(<0.6015.0>:ejabberd_c2s:845) : ({socket_state,tls,{tlssock,#Port<0.26295>,#Port<0.26298>} ,<0.6014.0>}) Opened session for buildbot@im.get2spec.com/Hudson

          kutzi added a comment -

          What Jabber/IM versions are you using now?

          Please see JENKINS-6032 where the user also had a problem with ejabberd, but that one was resolved in Jabber 1.8

          kutzi added a comment - What Jabber/IM versions are you using now? Please see JENKINS-6032 where the user also had a problem with ejabberd, but that one was resolved in Jabber 1.8

          kev009 added a comment -

          The breakage happens with 1.7, 1.8, 1.9, and 1.10. 1.6 and below work.

          kev009 added a comment - The breakage happens with 1.7, 1.8, 1.9, and 1.10. 1.6 and below work.

          kutzi added a comment -

          2 ideas to get behind the problem:

          • take a stack trace of Hudson while it is trying to connect to eJabberd
          • look on which ports Hudson-jabber-plugin/eJabberd are trying to connect (e.g. via lsof) and check if these ports are protected by a firewall rule

          kutzi added a comment - 2 ideas to get behind the problem: take a stack trace of Hudson while it is trying to connect to eJabberd look on which ports Hudson-jabber-plugin/eJabberd are trying to connect (e.g. via lsof) and check if these ports are protected by a firewall rule

          kev009 added a comment -

          There are no firewalls between the hudson box or the xmpp server, they're on the same LAN and OS firewalls are fully disabled.

          I'd be happy to give an XMPP login on the particular server to any devs. Email request to kevinb <at> analograils.com

          kev009 added a comment - There are no firewalls between the hudson box or the xmpp server, they're on the same LAN and OS firewalls are fully disabled. I'd be happy to give an XMPP login on the particular server to any devs. Email request to kevinb <at> analograils.com

          kutzi added a comment -

          Do you use Kerberos authentication?
          When I try to connect to the given server, I get the following error logs:

          31.07.2010 09:48:08 hudson.plugins.im.IMConnectionProvider$ConnectorRunnable run
          INFO: Reconnect failed. Next connection attempt in 4 minutes
          java.io.EOFException: no more data available - expected end tag </stream:stream> to close start tag <stream:stream> from line 1, parser stopped on END_TAG seen ...ailable xmlns=\'urn:ietf:params:xml:ns:xmpp-stanzas\'/></error></iq>... @1:692
          at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035)
          at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046)
          at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144)
          at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)
          at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:368)
          at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44)
          at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76)
          javax.security.sasl.SaslException: Failure to initialize security context [Caused by GSSException: Invalid name provided (Mechanism level: Could not load configuration file /etc/krb5.conf (No such file or directory))]
          at com.sun.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:132)
          at com.sun.security.sasl.gsskerb.FactoryImpl.createSaslClient(FactoryImpl.java:45)
          at javax.security.sasl.Sasl.createSaslClient(Sasl.java:354)
          at org.jivesoftware.smack.sasl.SASLGSSAPIMechanism.authenticate(SASLGSSAPIMechanism.java:85)
          at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:308)
          at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:395)
          at hudson.plugins.jabber.im.transport.JabberIMConnection.createConnection(JabberIMConnection.java:236)
          at hudson.plugins.jabber.im.transport.JabberIMConnection.connect(JabberIMConnection.java:124)
          at hudson.plugins.jabber.im.transport.JabberIMConnectionProvider.createConnection(JabberIMConnectionProvider.java:42)
          at hudson.plugins.im.IMConnectionProvider.create(IMConnectionProvider.java:56)
          at hudson.plugins.im.IMConnectionProvider.access$2(IMConnectionProvider.java:54)
          at hudson.plugins.im.IMConnectionProvider$ConnectorRunnable.run(IMConnectionProvider.java:173)
          at java.lang.Thread.run(Thread.java:619)
          Caused by: GSSException: Invalid name provided (Mechanism level: Could not load configuration file /etc/krb5.conf (No such file or directory))
          at sun.security.jgss.krb5.Krb5NameElement.getInstance(Krb5NameElement.java:110)
          at sun.security.jgss.krb5.Krb5MechFactory.getNameElement(Krb5MechFactory.java:80)
          at sun.security.jgss.GSSManagerImpl.getNameElement(GSSManagerImpl.java:188)
          at sun.security.jgss.GSSNameImpl.getElement(GSSNameImpl.java:428)
          at sun.security.jgss.GSSNameImpl.init(GSSNameImpl.java:157)
          at sun.security.jgss.GSSNameImpl.<init>(GSSNameImpl.java:127)
          at sun.security.jgss.GSSManagerImpl.createName(GSSManagerImpl.java:123)
          at com.sun.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:90)
          ... 12 more
          31.07.2010 09:52:38 hudson.plugins.jabber.im.transport.JabberIMConnection connect
          WARNUNG: service-unavailable(503)
          at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:78)
          at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:345)
          at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:395)
          at hudson.plugins.jabber.im.transport.JabberIMConnection.createConnection(JabberIMConnection.java:236)
          at hudson.plugins.jabber.im.transport.JabberIMConnection.connect(JabberIMConnection.java:124)
          at hudson.plugins.jabber.im.transport.JabberIMConnectionProvider.createConnection(JabberIMConnectionProvider.java:42)
          at hudson.plugins.im.IMConnectionProvider.create(IMConnectionProvider.java:56)
          at hudson.plugins.im.IMConnectionProvider.access$2(IMConnectionProvider.java:54)
          at hudson.plugins.im.IMConnectionProvider$ConnectorRunnable.run(IMConnectionProvider.java:173)
          at java.lang.Thread.run(Thread.java:619)

          kutzi added a comment - Do you use Kerberos authentication? When I try to connect to the given server, I get the following error logs: 31.07.2010 09:48:08 hudson.plugins.im.IMConnectionProvider$ConnectorRunnable run INFO: Reconnect failed. Next connection attempt in 4 minutes java.io.EOFException: no more data available - expected end tag </stream:stream> to close start tag <stream:stream> from line 1, parser stopped on END_TAG seen ...ailable xmlns=\'urn:ietf:params:xml:ns:xmpp-stanzas\'/></error></iq>... @1:692 at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035) at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046) at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144) at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093) at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:368) at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44) at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:76) javax.security.sasl.SaslException: Failure to initialize security context [Caused by GSSException: Invalid name provided (Mechanism level: Could not load configuration file /etc/krb5.conf (No such file or directory))] at com.sun.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:132) at com.sun.security.sasl.gsskerb.FactoryImpl.createSaslClient(FactoryImpl.java:45) at javax.security.sasl.Sasl.createSaslClient(Sasl.java:354) at org.jivesoftware.smack.sasl.SASLGSSAPIMechanism.authenticate(SASLGSSAPIMechanism.java:85) at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:308) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:395) at hudson.plugins.jabber.im.transport.JabberIMConnection.createConnection(JabberIMConnection.java:236) at hudson.plugins.jabber.im.transport.JabberIMConnection.connect(JabberIMConnection.java:124) at hudson.plugins.jabber.im.transport.JabberIMConnectionProvider.createConnection(JabberIMConnectionProvider.java:42) at hudson.plugins.im.IMConnectionProvider.create(IMConnectionProvider.java:56) at hudson.plugins.im.IMConnectionProvider.access$2(IMConnectionProvider.java:54) at hudson.plugins.im.IMConnectionProvider$ConnectorRunnable.run(IMConnectionProvider.java:173) at java.lang.Thread.run(Thread.java:619) Caused by: GSSException: Invalid name provided (Mechanism level: Could not load configuration file /etc/krb5.conf (No such file or directory)) at sun.security.jgss.krb5.Krb5NameElement.getInstance(Krb5NameElement.java:110) at sun.security.jgss.krb5.Krb5MechFactory.getNameElement(Krb5MechFactory.java:80) at sun.security.jgss.GSSManagerImpl.getNameElement(GSSManagerImpl.java:188) at sun.security.jgss.GSSNameImpl.getElement(GSSNameImpl.java:428) at sun.security.jgss.GSSNameImpl.init(GSSNameImpl.java:157) at sun.security.jgss.GSSNameImpl.<init>(GSSNameImpl.java:127) at sun.security.jgss.GSSManagerImpl.createName(GSSManagerImpl.java:123) at com.sun.security.sasl.gsskerb.GssKrb5Client.<init>(GssKrb5Client.java:90) ... 12 more 31.07.2010 09:52:38 hudson.plugins.jabber.im.transport.JabberIMConnection connect WARNUNG: service-unavailable(503) at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:78) at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:345) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:395) at hudson.plugins.jabber.im.transport.JabberIMConnection.createConnection(JabberIMConnection.java:236) at hudson.plugins.jabber.im.transport.JabberIMConnection.connect(JabberIMConnection.java:124) at hudson.plugins.jabber.im.transport.JabberIMConnectionProvider.createConnection(JabberIMConnectionProvider.java:42) at hudson.plugins.im.IMConnectionProvider.create(IMConnectionProvider.java:56) at hudson.plugins.im.IMConnectionProvider.access$2(IMConnectionProvider.java:54) at hudson.plugins.im.IMConnectionProvider$ConnectorRunnable.run(IMConnectionProvider.java:173) at java.lang.Thread.run(Thread.java:619)

          kutzi added a comment -

          As far as I understand it (I'm absolutely no authentication/security expert) you have to provide some gss.conf file. Please see the smack forums for how to configure it. E.g.
          http://community.igniterealtime.org/message/192586
          http://issues.igniterealtime.org/browse/SMACK-142

          kutzi added a comment - As far as I understand it (I'm absolutely no authentication/security expert) you have to provide some gss.conf file. Please see the smack forums for how to configure it. E.g. http://community.igniterealtime.org/message/192586 http://issues.igniterealtime.org/browse/SMACK-142

          kev009 added a comment -

          Kerberos is not in use. Behind the scenes, LDAP is used to get the users and verify passwords but it is the official ejabberd module and the clients wont even know that. For instance, any user client software I've tried can connect with good old username and password. Perhaps the framework is making an invalid assumption?

          kev009 added a comment - Kerberos is not in use. Behind the scenes, LDAP is used to get the users and verify passwords but it is the official ejabberd module and the clients wont even know that. For instance, any user client software I've tried can connect with good old username and password. Perhaps the framework is making an invalid assumption?

          kutzi added a comment -

          The question is:
          do you get the same errors in the log?

          kutzi added a comment - The question is: do you get the same errors in the log?

            kutzi kutzi
            kev009 kev009
            Votes:
            7 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: