RULI(1)

πŸ’– RULI β€” bestie edition πŸ’–

okay so this is the manual page for RULI(1), from the General Commands Manual section of your local man setup, and it's literally all about the sample programs that ship with the RULI library πŸ’… we're doing RFC 2782 SRV lookups and we're doing them cute.


✨ NAME ✨

srvsearch, sync_srvsearch, smtpsearch, sync_smtpsearch, httpsearch, sync_httpsearch, ruli-getaddrinfo, getaddrinfo β€” these are the sample programs for the RULI Library, and yes they do RFC 2782 things πŸ¦‹


🌸 SYNOPSIS 🌸

like, just pipe an SRV-ish name into them and go:

echo _service._protocol.nongnu.org | getaddrinfo
echo _service._protocol.nongnu.org | ruli-getaddrinfo [ options ]
echo _service._protocol.nongnu.org | srvsearch [ options ]
echo _service._protocol.nongnu.org | sync_srvsearch [ options ]
echo nongnu.org | smtpsearch [ options ]
echo nongnu.org | sync_smtpsearch [ options ]
echo nongnu.org | httpsearch [ options ]
echo nongnu.org | sync_httpsearch [ options ]

see how the smtp/http ones only want the bare domain? yeah. different vibe, different input πŸ‘‘


πŸ’œ DESCRIPTION πŸ’œ

This manual page documents, briefly, the sample programs for the ruli(3) library. Short and sweet, we love that for us.

ruli is a library aimed at querying DNS SRV resource records β€” that's the whole point of it, no cap.


πŸŽ€ OPTIONS πŸŽ€

For http searches, one can force the port number by specifying it as the first option. (yes, first. position matters, bestie, it's giving picky but okay.)

  • search β€” use the resolver search list defined in /etc/resolv.conf πŸ”
  • need_ra β€” require the RA (Recursion Available) bit in the name server answer. no RA, no vibes.
  • noinet β€” don't fetch IPv4 addresses πŸ™ˆ
  • noinet6 β€” don't fetch IPv6 addresses 🫢
  • uri_port β€” assume the specified default port was forced by the user-supplied URI
  • nowalk β€” don't search addresses that are missing from the name server answer
  • nofall β€” don't launch fallback queries for addresses, if the SRV query fails πŸ’€
  • nosort6 β€” don't sort the address list to give preference to IPv6 addresses
  • rfc3484 β€” enable RFC3484 destination address selection rules ⭐
  • cname β€” allow CNAME in SRV targets πŸ‘‘

🌈 EXAMPLES 🌈

copy-paste these, they ate:

echo _sip._udp.nongnu.org | getaddrinfo
echo _telnet._tcp.nongnu.org | ruli-getaddrinfo rfc3484
echo _smtp._tcp.nongnu.org | srvsearch search
echo _smtp._tcp.nongnu.org | sync_srvsearch search noinet6
echo nongnu.org | smtpsearch noinet
echo nongnu.org | sync_smtpsearch nowalk nofall
echo nongnu.org | httpsearch noinet6
echo nongnu.org | sync_httpsearch 80

note that last one? 80 sitting right there in first-option position like the OPTIONS section promised 😌 consistency is the moment.


πŸ¦‹ SEE ALSO πŸ¦‹


πŸ‘‘ AUTHOR πŸ‘‘

This manual page was written by Everton da Silva Marques <evertonsm@yahoo.com.br> β€” thank you for your service, legend 🫢


and that's the whole page, bestie!! this version of RULI(1) is dated September 1, 2005, living in the General Commands Manual section forever and ever, and honestly? iconic. periodt. πŸ’…βœ¨