.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "KAFS-DNS 8" .TH KAFS-DNS 8 "2023-02-05" "0.5-4" "kafs-client" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" kafs\-dns \- AFS filesystem address resolution helper .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& /usr/libexec/kafs\-dns\efR [OPTION]... \& /usr/libexec/kafs\-dns\efR \-D [OPTION]... \& /usr/libexec/kafs\-dns\efR \-V .Ve .PP Where options are: .PP .Vb 1 \& [\-v] [\-c ]* [\-N ] [\-o ] .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This program is invoked by the \fBrequest-key\fR(8) kernel upcall handling program to handle an address resolution request on behalf of the in-kernel \s-1AFS\s0 filesystem driver to find the Volume Location servers for a cell. It is capable of using static configuration, \s-1NSS\s0 and \s-1DNS SRV\s0 and \s-1AFSDB\s0 record lookups. .PP Note that this program is not meant to be called directly, though it does have a debugging mode that can be used. .PP The first form of the command, without the \efB\-D\efR flag cannot be called directly as it requires an under-construction kernel key as its parameter. .PP The debugging form, in which \efB\-D\efR is given, doesn't require a key, but must be given a proposed key description and a callout information string. Information about what it is doing is dumped to the output. The result blob may be binary and so is not dumped to stdout, but can be dumped to a file with \&\f(CW\*(C`\-o\e . .SH "ARGUMENTS" .IX Header "ARGUMENTS" The key description, \f(CW\*(C`desc\*(C'\fR, should be the name of a cell prefixed by \&\f(CW\*(C`afsdb:\*(C'\fR. .PP The callout information string, \f(CW\*(C`calloutinfo\*(C'\fR, is a comma separated list of none or more of the following items: .IP "ipv4" 4 .IX Item "ipv4" Get IPv4 addresses only. .IP "ipv6" 4 .IX Item "ipv6" Get IPv6 addresses only. .IP "srv=" 4 .IX Item "srv=" Allow the extra information that can be gleaned from \s-1SRV\s0 records to be rendered as output format \f(CW\*(C`ver\*(C'\fR, where \f(CW\*(C`ver\*(C'\fR is a number. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-D\fR" 4 .IX Item "-D" Execute in debug mode. .IP "\fB\-v\fR" 4 .IX Item "-v" Increase the verbosity of the output. This may be specified multiple times. .IP "\fB\-c " 4 .IX Item "-c " Specify a configuration file to read instead of the system default. This may be specified multiple times and the configuration files are read and applied in order. .IP "\fB\-N " 4 .IX Item "-N " Apply a restriction to the lookup performed for the listed cells (if any are). Restrictions include: .RS 4 .IP "vl-srv" 4 .IX Item "vl-srv" Don't use \s-1SRV\s0 records to find Volume Location servers. .IP "vl-afsdb" 4 .IX Item "vl-afsdb" Don't use \s-1AFSDB\s0 records to find Volume Location servers. .IP "vl-all" 4 .IX Item "vl-all" Don't use \s-1SRV\s0 or \s-1AFSDB\s0 records to find Volume Location servers. .IP "vl-host" 4 .IX Item "vl-host" Don't look cell name up as hostname to find a Volume Location server. .IP "vl-dns" 4 .IX Item "vl-dns" Don't do any lookups to find Volume Location servers. Use only the static configuration. .RE .RS 4 .RE .IP "\fB\-o " 4 .IX Item "-o " Specify a file in which to dump the proposed payload with which to instantiate a resolver key. .IP "\fB\-V\fR" 4 .IX Item "-V" Display version information and exit. .SH "EXIT STATUS" .IX Header "EXIT STATUS" .IP "0 \- On success" 4 .IX Item "0 - On success" .PD 0 .IP "1 \- If an error occurs during processing" 4 .IX Item "1 - If an error occurs during processing" .IP "2 \- If a command line error occurs" 4 .IX Item "2 - If a command line error occurs" .IP "3 \- If bad configuration is detected." 4 .IX Item "3 - If bad configuration is detected." .PD .SH "EXAMPLE" .IX Header "EXAMPLE" The program can be called with something like: .PP .Vb 1 \& /usr/libexec/kafs\-dns \-D afsdb:example.com srv=1 .Ve .PP The program can also be invoked indirectly with something like: .PP .Vb 1 \& keyctl request2 dns_resolver afsdb:example.com srv=1 @s .Ve .PP which will return the serial number of a key that can then be displayed. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBkafs\fR (7), \fBkafs\-client.conf\fR(5), \fBkeyctl\fR (1), \fBrequest-key\fR(8) .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2020 Red Hat, Inc. All Rights Reserved. .PP Written by David Howells (dhowells@redhat.com) .PP This program is free software; you can redistribute it and/or modify it under the terms of the \s-1GNU\s0 General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.