KAFS-DNS(8)

NAME
kafs-dns - AFS filesystem address resolution helper

SYNOPSIS
      /usr/libexec/kafs-dns\fR [OPTION]... <key_serial>
      /usr/libexec/kafs-dns\fR -D [OPTION]... <desc> <calloutinfo>
      /usr/libexec/kafs-dns\fR -V

Where options are:

      [-v] [-c <conffile>]* [-N <restriction>] [-o <dumpfile>]

DESCRIPTION
This program is invoked by the request-key(8) kernel upcall handling program to handle an address resolution request on behalf of the in-kernel AFS filesystem driver to find the Volume Location servers for a cell. It is capable of using static configuration, NSS and DNS SRV and AFSDB record lookups.

Note that this program is not meant to be called directly, though it does have a debugging mode that can be used.

The first form of the command, without the \fB-D\fR flag cannot be called directly as it requires an under-construction kernel key as its parameter.

The debugging form, in which \fB-D\fR 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 "-o\ <dumpfile">.

ARGUMENTS
The key description, "desc", should be the name of a cell prefixed by "afsdb:".

The callout information string, "calloutinfo", is a comma separated list of none or more of the following items:

ipv4
    Get IPv4 addresses only.

ipv6
    Get IPv6 addresses only.

srv=<ver>
    Allow the extra information that can be gleaned from SRV records to be rendered as output format "ver", where "ver" is a number.

OPTIONS

-D  Execute in debug mode.

-v  Increase the verbosity of the output. This may be specified multiple times.

-c <conffile>
    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.

-N <restriction>
    Apply a restriction to the lookup performed for the listed cells (if any are). Restrictions include:

    vl-srv
        Don't use SRV records to find Volume Location servers.

    vl-afsdb
        Don't use AFSDB records to find Volume Location servers.

    vl-all
        Don't use SRV or AFSDB records to find Volume Location servers.

    vl-host
        Don't look cell name up as hostname to find a Volume Location server.

    vl-dns
        Don't do any lookups to find Volume Location servers. Use only the static configuration.

-o <dumpfile>
    Specify a file in which to dump the proposed payload with which to instantiate a resolver key.

-V  Display version information and exit.

EXIT STATUS

0 - On success
1 - If an error occurs during processing
2 - If a command line error occurs
3 - If bad configuration is detected.

EXAMPLE
The program can be called with something like:

      /usr/libexec/kafs-dns -D afsdb:example.com srv=1

The program can also be invoked indirectly with something like:

      keyctl request2 dns_resolver afsdb:example.com srv=1 @s

which will return the serial number of a key that can then be displayed.

SEE ALSO
kafs (7), kafs-client.conf(5), keyctl (1), request-key(8)

COPYRIGHT
Copyright (C) 2020 Red Hat, Inc. All Rights Reserved.

Written by David Howells (dhowells@redhat.com)

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.