YADIFA(8)

πŸ’– YADIFA(8) β€” bestie's guide to controlling YADIFAD πŸ’–

🌸 NAME

YADIFA is an utility for controlling YADIFAD. periodt. πŸ’…

✨ SYNOPSIS ✨

yadifa module [--config|-c configfile] [--server|-s host] [@host ]
[--port|-p port] [-K key-name] [--version|-V] [-h] [--verbose|-v] [-t]
command [[-q] zone]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so yadifa controls the operation of yadifad with its control module (ctrl), part of the YADIFA distribution from EURid vzw/asbl. The latest version of YADIFA can be found on: http://www.yadifa.eu/download

yadifa communicates with a name server over a TCP connection. Messages are authenticated using a TSIG signature. The key is a secret shared between client and server. The key can be defined using a <key> section both in the client and the server. Additionally, the client accepts a full definition as a command line option.

bestie, using authentication is mandatory when using the control module. no cap. πŸ”₯

For details about the key, see the manual or the TSIG section below. iykyk. 🫢

🧩 MODULES 🧩

  • ctrl command β€” controls yadifad. That's the module, bestie. πŸ‘‘

🌈 SIMPLE USAGE 🌈

For controlling yadifad a command can be:

πŸ’… NORMAL USE CASE

yadifa ctrl @server -t command -q argument

🫢 FRIENDLIER USE CASE

yadifa ctrl @server command argument

ctrl β€” module used for controlling yadifad.

server β€” is the IP address of the name server to control. If no "server" argument is given yadifa.rc will be checked.

command β€” is the command to be invoked.

argument β€” depending the command this can be e.g. a domain name. πŸŽ€

🌟 EXAMPLE

yadifa ctrl @127.0.0.1 freeze somedomain.eu

πŸŽ€ OPTIONS πŸŽ€

  • [--config|-c configfile] β€” another config file will be used.
  • [--server|-s host] | [ @host ] β€” host is the remote server to operate.

e.g.:

yadifa --server 192.0.2.1
yadifa @192.0.2.1

By default the DNS port is used. A port can be specified along with the IP address:

e.g.:

yadifa --server "192.0.2.1 port 5353"
yadifa @"192.0.2.1 port 5353"
  • [--port|-p port] β€” changes the DNS port. (default: 53)
  • [-K key-name] β€” name of the key to be used for the controller. It needs to have been defined using a <key> section. (default: 'ctrl-key')
  • [-y hmac-algorithm:key-name:base64-key] β€” definition of the key to be used for the controller.
    • hmac-algorithm β€” optional, can be: hmac-md5, hmac-sha1, hmac-sha224, hmac-256, hmac-384, hmac-512. (default: hmac-md5)
    • key-name β€” is the fqdn of the key.
    • base64-key β€” is a base64 encoding of the key bytes.

e.g.:

-y hmac-sha1:our-shared-secret:ThisIsASecretShared=
-y our-shared-secret:ThisIsASecretShared=
  • [--verbose|-v] β€” verbose output.
  • [--version|-V] β€” show version information.
  • [--help|-h] β€” show a help text.

⚑ COMMANDS ⚑

  • [-t] cfgreload β€” reload the settings from the configuration file on disk.
  • [-t] freeze [-q] zone β€” disables dynamic updates to a zone.
  • [-t] freezeall [-q] zone β€” disables dynamic updates to every zone currently loaded.
  • [-t] loglevel level β€” sets the log level to the given value (0-15), 6 = INFO, 15 = ALL.
  • [-t] logreopen β€” close all log files and reopens them.
  • [-t] notify β€” sends notifies to slaves of these zones.
  • [-t] querylog [enable|disable] β€” sets the log for queries on or off (default: enable).
  • [-t] reload [-q] zone β€” triggers the loading of the zone file(s) if the serial number is incremented.
  • [-t] shutdown β€” shuts down the server.
  • [-t] sync [-q] [zone] [clean] β€” write the zone to disk and optionally cleans up the journal.
  • [-t] thaw [-q] [zone] β€” enables dynamic updates to a zone.
  • [-t] thawall β€” enables dynamic updates to every zone.
  • [-t] unfreeze [-q] [zone] β€” enables dynamic updates to a zone.
  • [-t] unfreezeall β€” enables dynamic updates to every zone.
  • [-t] zonecfgreload β€” with [-q zone]: reload the zone information in the configuration file and reload the zone file(s) with increased serial number.

πŸ” TSIG KEYS πŸ”

TSIG keys are used for authentication of messages. Their use is mandatory in the controller module. periodt. πŸ’€

Several digest algorithms are supported for the TSIG key:

  • hmac-md5
  • hmac-sha1
  • hmac-sha224
  • hmac-sha256
  • hmac-sha384
  • hmac-sha512

Several methods can be used to generate the base64-encoded sequence of bytes for the secret:

  • %openssl rand -base64 32
  • %dd if=/dev/random count=1 bs=32 2>/dev/null|base64
  • %dd if=/dev/urandom count=1 bs=32 2>/dev/null|base64

e.g.:

#!/bin/sh
# TSIG key generation example
# can a
key_algorithm="hmac-sha256"
key_name="secretkey"
key_secret=$(openssl rand -base64 32)
if [ ! "x$1" == "x" ]
then
     key_name="$1"
fi

echo "# Encoded for the yadifa command-line: -y $key_algorithm:$key_name:$key_secret"
echo
echo "<key>"
echo "algorithm $key_algorithm"
echo "name $key_name"
echo "secret $key_secret"
echo "</key>"

πŸ“ FILES πŸ“

  • yadifa β€” the name server remote client.
  • ${SYSCONFDIR}/yadifa.conf β€” default yadifa configuration file.
  • ${HOME}/.yadifa.rc β€” default rcfile.
  • yadifa.conf.5 β€” configuration man page for yadifa.
  • yadifa.rc.5 β€” configuration man page for yadifa.
  • yadifa.8 β€” this man page.

πŸ‘€ SEE ALSO πŸ‘€

yadifa.conf(5) yadifa.rc(5) yadifad(8)

πŸ› οΈ REQUIREMENTS πŸ› οΈ

  • OpenSSL β€” yadifad requires OpenSSL version 1.1.1 or later.

πŸ“ CHANGES πŸ“

Please check the ChangeLog file from the sources code.

🏷️ VERSION 🏷️

Version: 3.0.9 of 2026-03-24.

πŸ“¬ MAILINGLIST πŸ“¬

There is a mailinglist for questions relating to any program in the yadifa package:

If you would like to stay informed about new versions and official patches send a subscription request to via:

(this is a read-only list).

Copyright (C)2011-2025, EURid B-1831 Diegem, Belgium info@yadifa.eu

πŸ‘‘ AUTHORS πŸ‘‘

  • Gery Van Emelen β€” Email: Gery.VanEmelen@EURid.eu
  • Eric Diaz Fernandez β€” Email: Eric.DiazFernandez@EURid.eu

WWW: http://www.EURid.eu

okay bye bestie β€” this was the YADIFA(8) manual, source YADIFA, dated 2026-03-24, version 3.0.9 of 2026-03-24. mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from