Don't connect to any address record if SRV records exist

This commit is contained in:
Florian Zeitz 2011-06-16 20:28:52 +02:00
parent 393e75930b
commit de9b58c4a6

View file

@ -255,12 +255,17 @@
free(cDomainToASCII);
}
@try {
SRVLookup = [XMPPSRVLookup
lookupWithDomain: domainToASCII];
enumerator = [SRVLookup objectEnumerator];
while ((candidate = [enumerator nextObject]) != nil) {
// If there are no SRV records connect via A/AAAA record
if ((candidate = [enumerator nextObject]) == nil)
[sock connectToHost: domainToASCII
port: port];
// Iterate over SRV records
else {
do {
@try {
[sock connectToHost: [candidate target]
port: [candidate port]];
@ -271,14 +276,8 @@
} @catch (OFConnectionFailedException *e) {
[e release];
}
} while ((candidate = [enumerator nextObject]) != nil);
}
} @catch (OFAddressTranslationFailedException *e) {
[e release];
}
if (!candidate)
[sock connectToHost: domainToASCII
port: port];
}
[self XMPP_startStream];