This is the dns-client Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 15 05:59:50 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
dns-client
A client for the DNS protocol.
Yukari Hafner <shinmera@tymoon.eu>
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/shinmera/dns-client.git)
zlib
1.0.0
usocket
(system).
punycode
(system).
documentation-utils
(system).
package.lisp
(file).
toolkit.lisp
(file).
record-types.lisp
(file).
client.lisp
(file).
documentation.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
dns-client/dns-client.asd
dns-client/package.lisp
dns-client/toolkit.lisp
dns-client/record-types.lisp
dns-client/client.lisp
dns-client/documentation.lisp
dns-client/toolkit.lisp
package.lisp
(file).
dns-client
(system).
dns-condition
(condition).
dns-server
(reader method).
dns-server-failure
(condition).
dns-servers-exhausted
(condition).
response-code
(reader method).
response-code-name
(function).
with-dns-error-handling
(macro).
maybe-set
(macro).
split
(function).
with-decoding
(macro).
with-encoding
(macro).
dns-client/record-types.lisp
toolkit.lisp
(file).
dns-client
(system).
*record-type-table*
(special variable).
id-record-type
(function).
record-type-id
(function).
dns-client/client.lisp
record-types.lisp
(file).
dns-client
(system).
*cloudflare-servers*
(special variable).
*dns-servers*
(special variable).
*dnswatch-servers*
(special variable).
*google-servers*
(special variable).
*opendns-servers*
(special variable).
*quad9-servers*
(special variable).
dns-port
(constant).
hostname
(function).
query
(function).
query-data
(function).
recv-buffer-length
(constant).
resolve
(function).
decode-data
(function).
decode-header
(function).
decode-host
(function).
decode-host*
(function).
decode-query
(function).
decode-record
(function).
decode-record-payload
(generic function).
decode-response
(function).
encode-header
(function).
encode-host
(function).
encode-query
(function).
try-server
(function).
with-query-buffer
(macro).
dns-client/documentation.lisp
client.lisp
(file).
dns-client
(system).
Packages are listed by definition order.
org.shirakumo.dns-client
common-lisp
.
*cloudflare-servers*
(special variable).
*dns-servers*
(special variable).
*dnswatch-servers*
(special variable).
*google-servers*
(special variable).
*opendns-servers*
(special variable).
*quad9-servers*
(special variable).
*record-type-table*
(special variable).
dns-condition
(condition).
dns-port
(constant).
dns-server
(generic reader).
dns-server-failure
(condition).
dns-servers-exhausted
(condition).
hostname
(function).
id-record-type
(function).
query
(function).
query-data
(function).
record-type-id
(function).
recv-buffer-length
(constant).
resolve
(function).
response-code
(generic reader).
response-code-name
(function).
with-dns-error-handling
(macro).
decode-data
(function).
decode-header
(function).
decode-host
(function).
decode-host*
(function).
decode-query
(function).
decode-record
(function).
decode-record-payload
(generic function).
decode-response
(function).
encode-header
(function).
encode-host
(function).
encode-query
(function).
maybe-set
(macro).
split
(function).
try-server
(function).
with-decoding
(macro).
with-encoding
(macro).
with-query-buffer
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
The port used for DNS queries.
Should be 53.
The buffer size for received DNS packets.
Defaults to 65507, which should be more than enough for all DNS queries. Note that while the standard DNS packet size used to (and still is in some devices) limited to 512 bytes, this restriction no longer applies generally.
List of IP addresses to CloudFlare’s DNS servers.
List of IP addresses to query for DNS records.
By default this is a combination of the localhost address and a bunch
of other publicly available DNS servers, in rough order of
trustworthiness and speed.
You may bind or modify this variable to suit your preferences.
See *CLOUDFLARE-SERVERS*
See *DNSWATCH-SERVERS*
See *GOOGLE-SERVERS*
See *OPENDNS-SERVERS*
See *QUAD9-SERVERS*
See QUERY
List of IP addresses to DNSWatch’s DNS servers.
List of IP addresses to Google’s DNS servers.
List of IP addresses to OpenDNS’ DNS servers.
List of IP addresses to Quad9’s DNS servers.
Table associating standardised names to DNS record type IDs.
This is a list where each entry should be a list of two elements, the
standardised name as a symbol, and the (unsigned-byte 16) ID.
You should not need to modify this. The table contains all
standardised records types.
See RECORD-TYPE-ID
See ID-RECORD-TYPE
Wraps a handler around BODY that performs useful defaults.
In particular, it will cause CONTINUE to be invoked on all error
responses that are a failure on the server side, but still let the
error propagate for all failures that indicate a bad query.
See DNS-SERVER-FAILURE
Perform a reverse DNS query.
Returns three values, the first hostname that was found (if any), a
list of all hostnames that were found, and whether the query was
successful. If the last value is NIL, the first two values are NIL as
well.
See QUERY
Returns the standardised record name for the given record type ID.
If the record type ID is not known, the ID itself is returned
instead.
See *RECORD-TYPE-TABLE*
Perform a DNS query for the given hostname.
TYPE should be a DNS class name or class ID that identifies the type
of record you want to retrieve.
DNS-SERVERS should be a list of DNS servers to consult for your
query. Each server in the list is asked ATTEMPTS number of times before
skipping ahead to the next one.
Returns a PLIST of the resulting query, if successful.
The result contains the following keys:
:QUESTIONS — A list of QUERY structures.
:ANSWERS — A list of RECORD structures.
:AUTHORITIES — A list of RECORD structures.
:ADDITIONAL — A list of RECORD structures.
:ID — The ID identifying the query.
:RECURSION-DESIRED — Whether recursion was asked for.
:TRUNCATED-MESSAGE — Whether the message was truncated.
:OPERATION — The operation that was carried out.
:REPLY-P — Whether this is a reply.
:RESPONSE-CODE — The response status code.
:CHECKING-DISABLED — Whether checking was disabled.
:AUTHENTICATED-DATA — Whether the data is authorative.
:Z-RESERVED — Reserved flag.
:RECURSION-AVAILABLE — Whether the server allows recursion.
:QUESTION-COUNT — How many QUESTION records there are.
:ANSWER-COUNT — How many ANSWER records there are.
:AUTHORITY-COUNT — How many AUTHORITY records there are.
:ADDITIONAL-COUNT — How many ADDITIONAL records there are.
A query structure is a plist with the following keys:
:NAME — The hostname that was queried.
:TYPE — The record type that was queried.
:CLASS — The record class that was queried.
A record structure is a plist with the following keys:
:NAME — The hostname the result relates to.
:TYPE — The record type.
:CLASS — The record class.
:TTL — The time this record remains valid for, in
minutes.
:LENGTH — The length of the payload in octets.
:DATA — A record type specific data payload.
The client will translate record types from their octet data into a
more easily digestible format for some record types:
:A — An IPv4 address in string format.
:AAAA — An IPv6 address in string format.
:TXT :URI :CNAME :PTR
— A hostname.
:MX — A plist with the following keys:
:PRIORITY
:NAME
:SOA — A plist with the following keys:
:MNAME
:RNAME
:SERIAL
:REFRESH
:RETRY
:EXPIRE
:MINIMUM
If a server is queried and has sent a response, but the response
contains a non-zero response code, a condition of type
DNS-SERVER-FAILURE is signalled. During this time, the CONTINUE
restart can be used to skip the server and attempt the next one,
or the ABORT restart can be used to simply return NIL from QUERY.
If no server succeeds, an error of type DNS-SERVERS-EXHAUSTED
is signalled.
See DNS-SERVER-FAILURE
See DNS-SERVERS-EXHAUSTED
See RESOLVE
See HOSTNAME
Shorthand to return the data payloads from the answers of a query.
This returns a list of all :DATA fields of :ANSWERS records from the
query result that match the requested record type.
See QUERY
Returns the record type ID for the given record name.
If ERROR is non-NIL, and the given record type does not exist, an
error is signalled. Otherwise, NIL is returned for inexistent record
types.
See *RECORD-TYPE-TABLE*
Resolves a hostname to its IP address.
This is a shorthand to fetch the A or AAAA records.
Returns three values, the first IP that was found (if any), a list of
all IPs that were found, and whether the query was successful. If the
last value is NIL, the first two values are NIL as well.
See QUERY
Returns a name for the response code if one is known.
Returns the DNS server that returned the failure.
See DNS-SERVER-FAILURE
dns-server-failure
)) ¶Returns the response code of the condition.
See DNS-SERVER-FAILURE
See RESPONSE-CODE-NAME
dns-server-failure
)) ¶Base type for all DNS conditions.
condition
.
Error signalled when a DNS server replies with a bad response code.
See DNS-CONDITION
See DNS-SERVER
See RESPONSE-CODE
See QUERY
dns-condition
.
error
.
:dns-server
This slot is read-only.
:response-code
This slot is read-only.
Error signalled when all DNS servers fail to provide a response.
See DNS-CONDITION
dns-condition
.
error
.
(eql :soa)
) octets start end) ¶(eql :mx)
) octets start end) ¶(eql :ptr)
) octets start end) ¶(eql :cname)
) octets start end) ¶(eql :uri)
) octets start end) ¶(eql :txt)
) octets start end) ¶(eql :aaaa)
) octets start end) ¶(eql :a)
) octets start end) ¶Jump to: | D E F G H I M Q R S T W |
---|
Jump to: | D E F G H I M Q R S T W |
---|
Jump to: | *
C D R S |
---|
Jump to: | *
C D R S |
---|
Jump to: | C D F O P R S T |
---|
Jump to: | C D F O P R S T |
---|