Step 1:
- Install DJB's daemontools (optional) and setup /package and /service directory if you want to use djbdnscurve6 using svc. [http://cr.yp.to/daemontools.html]
- Install NaCl; recommended under /usr/local [http://nacl.cr.yp.to]
- NaCl is included in libsodium as well: [https://libsodium.gitbook.io/doc/] to be used alternatively.
- Installation of djbdnscurve6 in a VM requires libsodium instead of NaCl.
- Install qlibs; recommended under /usr/local
Step 2:
- Untar djbdnscurve6-XYZ under /package cd to net/djbdnscurve6 and the respective subdir
Step 3:
- Customize djbdnscurve6
- conf-home: where to place binaries
- conf-qlibs: where the qlibs are located
- conf-nacl: where to find the NACL modules Attention: Check 'hostname' and 'arch' in path and adjust to your local settings
- libsodium settings
- change conf-nacl to include the path of your libsodium settings
- Usually, the libsodium samples in conf-nacl do work; put them on lines 1 and 2
- In src/Makefile replace 'nacl' with 'sodium' (one occurence, about line number 321)
- If required, you can adjust
- conf-cc for compiler settings
- conf-ld for loader settings
- conf-man for man-page location
Services are initially configured editing -conf-dnscache: setting up dnscache; /var/service/dnscache @ ::1 - enabled -conf-tinydns: setting up tinydns; disabled -conf-rbldns: setting up rbldns; disabled -conf-walldns: setting up walldns; disabled -conf-axfrdns: is still a dummy
You have to specify each:
- a userid for service
- a service directory
- a log-userid
- an IP address to bind to
- Binaries are usually installed at
Service directories are assumed to exist at:
both are customizable. Given the ./run script, the service directory needs to be able to support executables.
Step 4:
- Execute
- or using individual steps
- package/compile
- package/upgrade
- package/legacy
- package/man
- package/service (for conf-XX services)
If you are not planning to use
- dnscache
- tinydns
- rbldns
- walldns
under supervise; don't apply the respective XX-conf executables but rather use customized run scripts and feed the required environment variables and uid settings manually; not to forget to care about logging.
Step 5:
Read the man pages!
Erwin Hoffmann; July 2023