Wildfire not able to resolve srv records - failing s2s with jabber.ccc.de

Today I’'ve been migrating my jabberd2 to wildfire 3.1.1. It now fails to create a s2s connection to the server jabber.ccc.de. As I found out, jabber.ccc.de is not providing s2s service on jabber.ccc.de but on other IPs. The jabberd2 Server has been perfectly able to connect to this server, because of resolving srv records. Is there a way to make wildfire resolve the svr records as provided for jabber.ccc.de and others proberly?

see “dig -t srv xmpp-server.tcp.jabber.ccc.de” for an example, what wildfire isnt able to handle properly

Hi,

may I ask about the exception you get in the error log? (xxx all sensitive information)

Wildfire is (or at least the former versions were) able to resolve SRV recoreds right.

LG

Hello,

connecting to jabber.ccc.de works well for me. But maybe you have noticed that jabber.ccc.de is very often down/not available.

Do you checked your dns recursor that it correctly resolve these srv records?

That’'s what i got in debug log:


{snip]----


2006.10.31 18:00:23 Error sending packet to remote server:

java.lang.Exception: Failed to create connection to remote server

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.createSessionAndSendPac ket(OutgoingSessionPromise.java:143)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.access$300(OutgoingSess ionPromise.java:40)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise$1$1.run(OutgoingSession Promise.java:95)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 650)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)

at java.lang.Thread.run(Thread.java:595)

2006.10.31 18:00:37 OS - Going to try connecting using server dialback with: jabber.ccc.de

2006.10.31 18:00:37 OS - Trying to connect to jabber.ccc.de:5269(DNS lookup: jabber.ccc.de:5269)

2006.10.31 18:00:37 Error connecting to the remote server: jabber.ccc.de(DNS lookup: jabber.ccc.de:5269)

java.net.ConnectException: Connection refused

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)

at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)

at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)

at java.net.Socket.connect(Socket.java:516)

at org.jivesoftware.wildfire.server.ServerDialback.createOutgoingSession(ServerDia lback.java:151)

at org.jivesoftware.wildfire.server.OutgoingServerSession.createOutgoingSession(Ou tgoingServerSession.java:350)

at org.jivesoftware.wildfire.server.OutgoingServerSession.authenticateDomain(Outgo ingServerSession.java:140)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.createSessionAndSendPac ket(OutgoingSessionPromise.java:130)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise.access$300(OutgoingSess ionPromise.java:40)

at org.jivesoftware.wildfire.server.OutgoingSessionPromise$1$1.run(OutgoingSession Promise.java:95)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java: 650)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)

at java.lang.Thread.run(Thread.java:595)


{snip]----


After that its trying ccc.de and .de in that order, which both fail with same result and message. Its never asking for srv records or xmpp-server.tcp. or something. But If others can connect to that server without problems, it must be something with my system. With dig I’'m able to resolve the srv records from jabber.ccc.de from that host as follows:


{snip]----


ns2# dig -t srv xmpp-server.tcp.jabber.ccc.de

; <<>> DiG 9.3.1 <<>> -t srv xmpp-server.tcp.jabber.ccc.de

;; global options: printcmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55449

;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 4, ADDITIONAL: 2

;; QUESTION SECTION:

;_xmpp-server._tcp.jabber.ccc.de. IN SRV

;; ANSWER SECTION:

xmpp-server.tcp.jabber.ccc.de. 2516 IN SRV 5 0 5267 jabberd.jabber.ccc.de.

xmpp-server.tcp.jabber.ccc.de. 2516 IN SRV 5 0 5268 jabberd.jabber.ccc.de.

xmpp-server.tcp.jabber.ccc.de. 2516 IN SRV 5 0 5269 jabberd.jabber.ccc.de.

xmpp-server.tcp.jabber.ccc.de. 2516 IN SRV 5 0 5262 jabberd.jabber.ccc.de.

xmpp-server.tcp.jabber.ccc.de. 2516 IN SRV 5 0 5263 jabberd.jabber.ccc.de.

xmpp-server.tcp.jabber.ccc.de. 2516 IN SRV 5 0 5264 jabberd.jabber.ccc.de.

xmpp-server.tcp.jabber.ccc.de. 2516 IN SRV 5 0 5265 jabberd.jabber.ccc.de.

xmpp-server.tcp.jabber.ccc.de. 2516 IN SRV 5 0 5266 jabberd.jabber.ccc.de.

;; AUTHORITY SECTION:

ccc.de. 2516 IN NS ns.ccc.de.

ccc.de. 2516 IN NS ns.in-ulm.ccc.de.

ccc.de. 2516 IN NS ns.in-berlin.ccc.de.

ccc.de. 2516 IN NS s-dns.irz42.NET.

;; ADDITIONAL SECTION:

jabberd.jabber.ccc.de. 2516 IN A 217.10.10.196

s-dns.irz42.NET. 124047 IN A 212.12.50.130

;; Query time: 1 msec

;; SERVER: 62.141.52.20#53(62.141.52.20)

;; WHEN: Wed Nov 1 10:19:44 2006

;; MSG SIZE rcvd: 506


{snip]----


Today I switched over to ejabberd and it runs out of the box with no connection problems to jabber.ccc.de (as did jabberd2) before.

My OS : FreeBSD 5.4-RELEASE-p*.

Environment is jailed.

Java: diablo-jdk-1.5.0.07.01 Java Development Kit 1.5.0_07.01

I guess I should try running wildfire in a non-jailed environment or in another domain (using another nameserver) to find out, whats the cause of the strange behaviour.

Hi,

did you use a network sniffer to make sure that it does not try to resolve xmpp-server.tcp… @ “Its never asking for srv records or xmpp-server.tcp. or something.” ?

LG