For the list of assigned DNS SRV service types, and instructions on getting one assigned for your protocol.
ruliwrap provides seamless SRV support throught the getaddrinfo(3) inteface. This is a nice way to add SRV capability to applications.
libsrv is a library capable of using SRV records in order to create TCP connections. It uses the customary, synchronous, res_* functions as underlying DNS stub resolver.
Take a minute to improve the Internet is a campaign to promote usage of SRV records.
Liboop is a low-level event loop management library for POSIX-based operating systems. RULI uses Liboop API for asynchronous handling of network events.
Exim is an awesome GNU GPL'ed Internet mailer with support for SRV records. It's disabled by default, but one can enable the "check_srv" router option like in the following example. "srv_fail_domains" and "mx_fail_domains" are useful to work-around broken DNS servers which timeout on SRV queries.
dnslookup: driver = dnslookup domains = ! +local_domains transport = remote_smtp ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8 check_srv = smtp srv_fail_domains = * mx_fail_domains = * no_more
The "smtp" argument makes Exim lookup "_smtp._tcp" records.
It seems that the open-source, multiplataform, full-featured, standards-compliant Mozilla web browser is going to deploy SRV records. This may be a bold move for SRV adoption!
AsyncResolv is an asynchronous DNS query library written in C++, is capable of most RFC1035 resource records parsing, supports queries over UDP and over TCP (if UDP failed).
adns is an event-based asynchronous DNS stub resolver, similar to the underlying resolver used by RULI. In the past adns was considered as underlying resolver for RULI, but then it lacked support for SRV records.
ares is an event-based asynchronous DNS stub resolver, similar to the underlying resolver used by RULI.
c-ares is a fork of ares (see above).
skadns is a daemon-based asynchronous DNS stub resolver.
djbdns' client library is an event-based asynchronous DNS stub resolver, similar to the underlying resolver used by RULI.
Denise plans to build an asynchronous name resolving library. Currently (february, 2003) it seems to be in very early alpha stage.
FireDNS is a library for handling asynchronous DNS requests.
Faerion librascal is a library for working with TCP based connections. The library uses asynchronous I/O, multi-threading, and transparently supports the DNS SRV standard.
ceosp is a catalog of nice Free Software (TM).