]> git.ipfire.org Git - thirdparty/pdns.git/commit
Introduce structured YAML settings for Recursor.
authorOtto Moerbeek <otto.moerbeek@open-xchange.com>
Wed, 5 Jul 2023 13:48:59 +0000 (15:48 +0200)
committerOtto Moerbeek <otto.moerbeek@open-xchange.com>
Mon, 11 Sep 2023 13:10:07 +0000 (15:10 +0200)
commit9883d3f9f2f754f5102bbc1a5e7a4ccfae7b24b7
tree991c330a7f00cf48971536e1cd5ebae211124ab8
parentef121ee75ef0fb938a16d2c458ab0062f98e57ca
Introduce structured YAML settings for Recursor.

Mostly written in Rust, using CXX and Serde

Code generation is used to generate both the old style config tables as
the new Rust based code. The code generation also produces the code
to covert old styel to new style and documentation.

Th main entry point for code generationo is settings/generate.py,
using the table table.py

Existing configs continue to work as before.
57 files changed:
.github/actions/spell-check/expect.txt
.github/workflows/build-and-test-all.yml
.github/workflows/codeql-analysis.yml
builder-support/debian/recursor/debian-buster/rules
builder-support/dockerfiles/Dockerfile.debbuild-prepare
builder-support/dockerfiles/Dockerfile.rpmbuild
builder-support/helpers/install_rust.sh [new file with mode: 0755]
builder-support/specs/pdns-recursor.spec
pdns/arguments.cc
pdns/arguments.hh
pdns/recursordist/.gitignore
pdns/recursordist/Makefile.am
pdns/recursordist/configure.ac
pdns/recursordist/docs/appendices/example/conversion [new file with mode: 0644]
pdns/recursordist/docs/appendices/example/fwzones.txt [new file with mode: 0644]
pdns/recursordist/docs/appendices/example/generate.sh [new file with mode: 0755]
pdns/recursordist/docs/appendices/example/recursor.conf [new file with mode: 0644]
pdns/recursordist/docs/appendices/example/recursor.d/01.conf [new file with mode: 0644]
pdns/recursordist/docs/appendices/yamlconversion.rst [new file with mode: 0644]
pdns/recursordist/docs/indexTOC.rst
pdns/recursordist/docs/lua-scripting/hooks.rst
pdns/recursordist/docs/manpages/rec_control.1.rst
pdns/recursordist/docs/settings.rst
pdns/recursordist/docs/upgrade.rst
pdns/recursordist/docs/yamlsettings.rst [new file with mode: 0644]
pdns/recursordist/rec-main.cc
pdns/recursordist/rec-main.hh
pdns/recursordist/rec_channel_rec.cc
pdns/recursordist/rec_control.cc
pdns/recursordist/reczones.cc
pdns/recursordist/settings/.gitignore [new file with mode: 0644]
pdns/recursordist/settings/Makefile.am [new file with mode: 0644]
pdns/recursordist/settings/README.md [new file with mode: 0644]
pdns/recursordist/settings/cxxsettings-private.hh [new file with mode: 0644]
pdns/recursordist/settings/cxxsettings.hh [new file with mode: 0644]
pdns/recursordist/settings/cxxsupport.cc [new file with mode: 0644]
pdns/recursordist/settings/docs-new-preamble-in.rst [new file with mode: 0644]
pdns/recursordist/settings/docs-old-preamble-in.rst [new file with mode: 0644]
pdns/recursordist/settings/generate.py [new file with mode: 0644]
pdns/recursordist/settings/rust-bridge-in.rs [new file with mode: 0644]
pdns/recursordist/settings/rust-preamble-in.rs [new file with mode: 0644]
pdns/recursordist/settings/rust/.gitignore [new file with mode: 0644]
pdns/recursordist/settings/rust/Cargo.lock [new file with mode: 0644]
pdns/recursordist/settings/rust/Cargo.toml [new file with mode: 0644]
pdns/recursordist/settings/rust/Makefile.am [new file with mode: 0644]
pdns/recursordist/settings/rust/build.rs [new file with mode: 0644]
pdns/recursordist/settings/rust/src/bridge.rs [new file with mode: 0644]
pdns/recursordist/settings/rust/src/helpers.rs [new file with mode: 0644]
pdns/recursordist/settings/table.py [new file with mode: 0644]
pdns/recursordist/syncres.hh
pdns/recursordist/test-settings.cc [new file with mode: 0644]
pdns/recursordist/ws-recursor.cc
regression-tests.api/.gitignore
regression-tests.api/runtests.py
regression-tests.recursor-dnssec/recursortests.py
regression-tests.recursor-dnssec/test_SimpleYAML.py [new file with mode: 0644]
tasks.py