diff --git a/doc/latex/dns.tex b/doc/latex/dns.tex index 26b4044..4087cab 100644 --- a/doc/latex/dns.tex +++ b/doc/latex/dns.tex @@ -7,11 +7,19 @@ % \section{Overview} The \ex{dns} structure contains a library for querying DNS servers. +The library contains sophisticated replacements for scsh's interface +to the \ex{gethostbyname} and \ex{gethostbyaddr} and many extensions +to these functions. -Features: +The main features of the libraray include: \begin{itemize} +\item Complete implementation of the DNS protocol +\item Concurrent contacting of multiple DNS servers without blocking + the scsh process +\item Internal caching of DNS responses \item Parsing of \texttt{resolv.conf}, including \texttt{search} - entries. This enables looking up the FQDN of a host. + entries to generate FQDNs from unqualified host names +\item Rich condition hierarchie \end{itemize} \section{Conditions} @@ -100,27 +108,25 @@ accept. \var{Nameserver} is either a \ipaddr or a dotted IP string. \begin{desc} Looks up the FQDN for the given IP address. The optional argument specifes the name servers to query, it defaults to the ones found in - \texttt{/etc/resolv.conf}. \oops{use-cache? is not implemented yet} + \texttt{/etc/resolv.conf}. \end{desc} \defun{dns-lookup-nameserver}{name/\ipaddr [nameserver list][use-cache?]}{\ipaddr list} \begin{desc} Looks up an authoritative name server for a hostname, returns a list - of name servers. The optional argument specifes the name servers to - query, it defaults to the ones found in - \texttt{/etc/resolv.conf}\oops{use-cache? is not implemented yet} + of name servers. \end{desc} \defun{dns-lookup-mail-exchanger}{name/\ipaddr [nameserver list][use-cache?]}{\fqdn list} \begin{desc} Looks up mail-exchangers for a hostname und returns them in a list - sorted by preference. \oops{use-cache? is not implemented yet} + sorted by preference. \end{desc} \defun{socket-address->fqdn}{socket-address [nameserver list][use-cache?]}{\fqdn} \begin{desc} Returns the FQDN for of the address bound to argument. The argument \var{cache?} indicates whether the internal cache may be queried to - obtain the information.\oops{use-cache? is required by the implmentation} + obtain the information. \end{desc} \defun{maybe-dns-lookup-name}{name [nameserver list][use-cache?]}{\ipaddr or \sharpf} @@ -128,7 +134,7 @@ accept. \var{Nameserver} is either a \ipaddr or a dotted IP string. \begin{desc} These procedures provide the same functionality as \ex{dns-lookup-name} and \ex{dns-lookup-ip} but return \sharpf{} in - case of an \ex{dns-error}.\oops{optional arguments not implemented yet} + case of an \ex{dns-error}. \end{desc} \defun{host-fqdn} {name/socket-address [nameserver list][use-cache?]}{\fqdn} @@ -139,7 +145,7 @@ accept. \var{Nameserver} is either a \ipaddr or a dotted IP string. address. The procedure \ex{system-fqdn} returns the FQDN of the local host. These procedures use a list of domain names obtained from \texttt{/etc/resolv.conf} to the generate FQDNs and try to - resolve these FQDNs.\oops{optional arguments not implemented yet} + resolve these FQDNs. \end{desc} \section{Low-level Interface} @@ -165,8 +171,7 @@ generating the \var{dns-message}. answer is not authoritative additional name servers sent with the reply are checked until an authoritative answer is found. If the predicate returns \sharpf{} but the answer is authoritative a - \var{bad-address} condition is signalled. \oops{order of parameters - differs in implementation} + \var{bad-address} condition is signalled. \end{desc} \dfn{network-protocol}{protocol-name}{network-protocol}{syntax} @@ -179,7 +184,7 @@ generating the \var{dns-message}. \defun{dns-lookup}{\fqdn{}/\ipaddr type [nameserver list][use-cache?]}{dns-message} \begin{desc} Convenient shortcut to submit a DNS query. The return value - is a \ex{dns-message} structure:\oops{optional arguments not implemented yet} + is a \ex{dns-message} structure: \end{desc} \defun{dns-message?}{thing}{\boolean} @@ -421,7 +426,6 @@ field but we where no able to find test cases for them. subtype of the \var{dns-error} condition. \ex{resolv.conf-parse-error?} is the type predicate for this condition. - \oops{this is not implemented yet} \end{desc} \defun{resolv.conf}{}{{symbol$\rightarrow$string} alist}