Opened 8 years ago

Last modified 8 years ago

#13052 new defect

XMPP XML parser error: Document is Empty

Reported by: scader Owned by: deryni
Milestone: Component: XMPP
Version: 2.7.7 Keywords:
Cc:

Description

I'm attempting to connect via XMPP to our company's Cisco services (instead of using Unified Messaging Client). Upgrading to the latest version of Pidgin helped, but I'm still getting an error. Of note: in the debug window, the "jabber: Recv(7):" line also has three squares with four circles in each, but that didn't copy over.

(14:22:16) account: Connecting to account jared.holmberg@chca.com/.
(14:22:16) connection: Connecting. gc = 07037870
(14:22:16) dnsquery: Performing DNS lookup for 172.17.70.17
(14:22:16) dnsquery: IP resolved for 172.17.70.17
(14:22:16) proxy: Attempting connection to 172.17.70.17
(14:22:16) proxy: Connecting to 172.17.70.17:443 with no proxy
(14:22:16) proxy: Connection in progress
(14:22:16) proxy: Connecting to 172.17.70.17:443.
(14:22:16) proxy: Connected to 172.17.70.17:443.
(14:22:16) jabber: Sending (jared.holmberg@chca.com): <?xml version='1.0' ?>
(14:22:16) jabber: Sending (jared.holmberg@chca.com): <stream:stream to='chca.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
(14:22:16) jabber: Recv (7): 
(14:22:16) jabber: XML parser error for JabberStream 058E2F80: Domain 1, code 4, level 3: Document is empty
(14:22:16) connection: Connection error on 07037870 (reason: 0 description: Server closed the connection)
(14:22:16) account: Disconnecting account jared.holmberg@chca.com/ (01BD8980)
(14:22:16) connection: Disconnecting connection 07037870
(14:22:16) jabber: Sending (jared.holmberg@chca.com): </stream:stream>
(14:22:16) connection: Destroying connection 07037870

Change History (10)

comment:1 Changed 8 years ago by deryni

  • Status changed from new to pending

Those "circles" are going to be numbers indicating what the codepoint of the characters your font doesn't support are. Those are also likely to be the problem. They appear to have copied actually they just aren't visible. Though it might help if you were able to save the debug output to a file and upload it instead just to be sure they come through correctly. Those characters are quite likely the problem.

I assume other XMPP clients fail to work as well?

If there isn't a way to make the server stop sending those I doubt this is going to be something that is easily fixable as I imagine those are going to force the XML parser to die on us.

comment:2 Changed 8 years ago by datallah

Are you sure that you should be connecting to the server on port 443?

If so, it is likely that you will want to use the "Old Style SSL" Connection security option.

comment:3 Changed 8 years ago by deryni

Ah indeed, that is almost certainly going to be the issue here. I'd missed that.

comment:4 Changed 8 years ago by scader

  • Status changed from pending to new

When I view the Help > Server Statistics in the CUPC client, it states that the login server is as noted in the logs with port 443. However, there are other servers, for example, the Presence server, which uses the same IP on port 5060. I switch XMPP to use that port, and I got a different error:

(10:20:44) account: Connecting to account jared.holmberg@chca.com/.
(10:20:44) connection: Connecting. gc = 064F1A60
(10:20:44) dnsquery: Performing DNS lookup for 172.17.70.17
(10:20:44) dnsquery: IP resolved for 172.17.70.17
(10:20:44) proxy: Attempting connection to 172.17.70.17
(10:20:44) proxy: Connecting to 172.17.70.17:5060 with no proxy
(10:20:44) proxy: Connection in progress
(10:20:44) proxy: Connecting to 172.17.70.17:5060.
(10:20:44) proxy: Connected to 172.17.70.17:5060.
(10:20:44) jabber: Sending (jared.holmberg@chca.com): <?xml version='1.0' ?>
(10:20:44) xmlnode: XML parser error for xmlnode 065BD330: Domain 1, code 4, level 3: Start tag expected, '<' not found
(10:20:44) jabber: Sending (jared.holmberg@chca.com): <stream:stream to='chca.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
(10:20:44) xmlnode: XML parser error for xmlnode 065BD330: Domain 1, code 77, level 3: Premature end of data in tag stream line 1

comment:5 Changed 8 years ago by deryni

  • Status changed from new to pending

443 is almost certainly more correct than whatever is listening on 5060. You likely just need to turn on the "Use old-style SSL" setting for your account.

Do you have reason to believe that this CUPS server (is that the right set of letters?) is actually an XMPP server? From what Google tells me quickly it doesn't sound like it is.

comment:6 Changed 8 years ago by scader

  • Status changed from pending to new

Sorry, I forgot to mention that I tried the 443 with "Old-Style SSL" and it did not connect. I found several sites that mentioned Cisco Unified Personal Communicator uses Jabba/XMPP, including this one: http://www.cisco.com/web/about/ac49/ac0/ac1/ac258/JabberInc.html

Here's the "Old-Style" log:

(11:33:51) account: Connecting to account jared.holmberg@chca.com/.
(11:33:51) connection: Connecting. gc = 0668AE20
(11:33:51) dnsquery: Performing DNS lookup for 172.17.70.17
(11:33:51) dnsquery: IP resolved for 172.17.70.17
(11:33:51) proxy: Attempting connection to 172.17.70.17
(11:33:51) proxy: Connecting to 172.17.70.17:443 with no proxy
(11:33:51) proxy: Connection in progress
(11:33:51) proxy: Connecting to 172.17.70.17:443.
(11:33:51) proxy: Connected to 172.17.70.17:443.
(11:33:52) msn-pecan: C: 000: ns: PNG
(11:33:52) nss: subject=C=US,ST=KS,L=SM,O=IT,OU=Staff,CN=PR70H issuer=C=US,ST=KS,L=SM,O=IT,OU=Staff,CN=PR70H
(11:33:52) certificate/x509/tls_cached: Starting verify for 172.17.70.17
(11:33:52) certificate/x509/tls_cached: Checking for cached cert...
(11:33:52) certificate/x509/tls_cached: ...Found cached cert
(11:33:52) nss/x509: Loading certificate from C:\Users\jared.holmberg\AppData\Roaming\.purple\certificates\x509\tls_peers\172.17.70.17
(11:33:52) certificate/x509/tls_cached: Peer cert matched cached
(11:33:52) nss/x509: Exporting certificate to C:\Users\jared.holmberg\AppData\Roaming\.purple\certificates\x509\tls_peers\172.17.70.17
(11:33:52) util: Writing file C:\Users\jared.holmberg\AppData\Roaming\.purple\certificates\x509\tls_peers\172.17.70.17
(11:33:52) certificate: Successfully verified certificate for 172.17.70.17
(11:33:52) jabber: Sending (ssl) (jared.holmberg@chca.com): <?xml version='1.0' ?>
(11:33:52) jabber: Sending (ssl) (jared.holmberg@chca.com): <stream:stream to='chca.com' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
(11:34:52) connection: Connection error on 0668AE20 (reason: 0 description: Server closed the connection)
(11:34:52) account: Disconnecting account jared.holmberg@chca.com/ (019F1F48)
(11:34:52) connection: Disconnecting connection 0668AE20
(11:34:52) jabber: Sending (ssl) (jared.holmberg@chca.com): </stream:stream>
(11:34:52) connection: Destroying connection 0668AE20

comment:7 Changed 8 years ago by deryni

  • Status changed from new to pending

Is connecting via pidgin specifically or third-party clients in general something that you are supposed to be allowed to do? If so I would suggest you talk to the correct administration staff at your company for getting this set up correctly. If it isn't something you are supposed to be doing then it is entirely possible that any XMPP connection feature that may exist (I still can't find anything incredibly definitive about how this is supposed to work) may be turned off. The documentation here seems to have some amount of relevant information as does the document here but I can't make sense of either of them myself.

comment:8 Changed 8 years ago by rekkanoryo

If I'm correctly interpreting what's going on here with respect to the Cisco documentation, I believe the problem is going to be that XMPP API clients are allowed but not standard XMPP IM clients. I could be mistaken, as this Cisco documentation is (as usaul) full of double-talk that requires a CCIE to decipher.

comment:9 Changed 8 years ago by scader

  • Status changed from pending to new

It has not specifically been allowed, but neither denied. I wanted to make sure it wasn't something on this end before approaching the network administrator. The Cisco phone network is band new, so I doubt our network administrator would even know where to look concerning XMPP, so I was simply hoping for the best. I love Pidgin; thanks for helping me verify it wasn't just a glitch in the client.

comment:10 Changed 8 years ago by Robby

  • Component changed from unclassified to XMPP
  • Owner changed from rekkanoryo to deryni
Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!