"Resolver" in libstrophe is a component which resolves SRV record into a list of domain names. Further resolving (A / AAAA) is done by system via getaddrinfo(3).
For example:
set type=SRV
_xmpp-client._
tcp.jabber.org Non-authoritative answer:
_xmpp-client._
tcp.jabber.org service = 30 30 5222
hermes2.jabber.org.
_xmpp-client._
tcp.jabber.org service = 31 30 5222
hermes2v6.jabber.org.
According to RFC a client must contact with
hermes2.jabber.org first. But this name has only A record. Therefore, if you have both IPv4 and IPv6 networks you will connect to IPv4 address. And if you have only IPv6 network, connection to
hermes2.jabber.org will fail and on the next step you will connect to
hermes2v6.jabber.org which has only AAAA record.
I'll check RFC 2782, thanks for mention.