Using Openfire Server 3.7.1 on Debian Squeeze.
Was using “::1” as the system name-server (the IPv6 loopback address). Note that openfire server interpreted that as host “” (blank) and port “:1”. See error stack trace below.
I switched my system name-server to “127.0.0.1” and server-to-server connections began working.
2012.08.13 01:33:48 org.jivesoftware.openfire.session.LocalOutgoingServerSession - Error authenticating domain with remote server: gmail.com
java.lang.NumberFormatException: For input string: “:1”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:481)
at java.lang.Integer.parseInt(Integer.java:514)
at com.sun.jndi.dns.DnsClient.(DnsClient.java:122)
at com.sun.jndi.dns.Resolver.(Resolver.java:61)
at com.sun.jndi.dns.DnsContext.getResolver(DnsContext.java:570)
at com.sun.jndi.dns.DnsContext.c_getAttributes(DnsContext.java:430)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_getAttributes(ComponentDirContex t.java:231)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompos iteDirContext.java:139)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.getAttributes(PartialCompos iteDirContext.java:127)
at javax.naming.directory.InitialDirContext.getAttributes(InitialDirContext.java:1 40)
at org.jivesoftware.openfire.net.DNSUtil.srvLookup(DNSUtil.java:199)
at org.jivesoftware.openfire.net.DNSUtil.resolveXMPPDomain(DNSUtil.java:131)
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.createOutgoingSess ion(LocalOutgoingServerSession.java:269)
at org.jivesoftware.openfire.session.LocalOutgoingServerSession.authenticateDomain (LocalOutgoingServerSession.java:167)
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.sendPa cket(OutgoingSessionPromise.java:261)
at org.jivesoftware.openfire.server.OutgoingSessionPromise$PacketsProcessor.run(Ou tgoingSessionPromise.java:238)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)