From b2d0c9102f3f6298912cbf449fea4bfd271a9a38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marek=20Vavru=C5=A1a?= <marek.vavrusa@nic.cz>
Date: Fri, 14 Mar 2014 17:31:46 +0100
Subject: [PATCH] query_module: added basic documentation and configuration
 reference

not sure where to put configuration string doc for each module
---
 Knot.files             | 7 +++++--
 doc/reference.texi     | 1 +
 man/knot.conf.5.in     | 7 +++++++
 samples/knot.full.conf | 7 +++++++
 4 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/Knot.files b/Knot.files
index f9b889085..f99aa1d3f 100644
--- a/Knot.files
+++ b/Knot.files
@@ -104,6 +104,8 @@ src/knot/dnssec/zone-sign.c
 src/knot/dnssec/zone-sign.h
 src/knot/knot.h
 src/knot/main.c
+src/knot/modules/synth_record.c
+src/knot/modules/synth_record.h
 src/knot/nameserver/axfr.c
 src/knot/nameserver/axfr.h
 src/knot/nameserver/chaos.c
@@ -116,8 +118,8 @@ src/knot/nameserver/nsec_proofs.c
 src/knot/nameserver/nsec_proofs.h
 src/knot/nameserver/process_query.c
 src/knot/nameserver/process_query.h
-src/knot/nameserver/synth_record.c
-src/knot/nameserver/synth_record.h
+src/knot/nameserver/query_module.c
+src/knot/nameserver/query_module.h
 src/knot/nameserver/update.c
 src/knot/nameserver/update.h
 src/knot/other/debug.h
@@ -279,6 +281,7 @@ tests/hhash.c
 tests/journal.c
 tests/pkt.c
 tests/process_query.c
+tests/query_module.c
 tests/rrl.c
 tests/rrset.c
 tests/sample_conf.h
diff --git a/doc/reference.texi b/doc/reference.texi
index 85ef7178f..7b3f2e46e 100644
--- a/doc/reference.texi
+++ b/doc/reference.texi
@@ -703,6 +703,7 @@ The @code{zones} statement contains definition of zones served by Knot DNS.
     [ @code{notify-in} @kbd{remote_id} [, @kbd{remote_id}, @dots{} ]@code{;} ]
     [ @code{notify-out} @kbd{remote_id} [, @kbd{remote_id}, @dots{} ]@code{;} ]
     [ @code{update-in} @kbd{remote_id} [, @kbd{remote_id}, @dots{} ]@code{;} ]
+    [ @code{query_module} @code{@{} @kbd{module_name} @code{"}@kbd{string}@code{"} [, @kbd{module_name} @code{"}@kbd{string}@code{"}, @dots{} ] @code{@}} ]
     [ @kbd{zone_options} ]
   @code{@}}
 @code{@}}
diff --git a/man/knot.conf.5.in b/man/knot.conf.5.in
index f00d5dfa9..dcdb17e9e 100644
--- a/man/knot.conf.5.in
+++ b/man/knot.conf.5.in
@@ -369,6 +369,13 @@ serves as an example of the configuration for knotc(8) and knotd(8).
 
     # List of servers to allow UPDATE queries
     update-in server0, admins;
+
+	# Query modules are dynamically loaded modules that can alter query plan
+	# Configuration is always module-specific, but passed as a simple string
+	query_module {
+		module_one "configuration string",
+		module_two "specific configuration string"
+	}
   }
  }
 
diff --git a/samples/knot.full.conf b/samples/knot.full.conf
index 2dd5512e1..3eb04e239 100644
--- a/samples/knot.full.conf
+++ b/samples/knot.full.conf
@@ -365,6 +365,13 @@ zones {
 
     # List of servers to allow UPDATE queries
     update-in server0, admins;
+
+	# Query modules are dynamically loaded modules that can alter query plan processing
+	# Configuration is always module-specific, but passed as a simple string here 
+	query_module {
+		module_one "configuration string",
+		module_two "specific configuration string"
+	}
   }
 }
 
-- 
GitLab