README 3.03 KB
Newer Older
Jeremy C. Reed's avatar
Jeremy C. Reed committed
1 2 3 4
This is the source for the BIND 10 testing branch known as
the parkinglot. This is a simple authoritative server used
to provide identical records for many zones, such as in
a DNS parking service.
5 6 7 8 9 10 11 12 13

BUILDING

Simple build instructions:

autoreconf
./configure
make

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
Requires autoconf 2.59 or newer.

Use automake-1.11 or better for working Python 3.1 tests.

Doing code coverage tests:

make coverage
	Does the following:

make clean-coverage
	Zeroes the lcov code coverage counters and removes the coverage HTML.

make perform-coverage
	Runs the C++ tests (using googletests framework).

make report-coverage
Jeremy C. Reed's avatar
Jeremy C. Reed committed
30 31
	Generates the coverage HTML, excluding some unrelated headers.
	The HTML reports are placed in a directory called coverage/.
32 33 34 35 36 37 38 39 40 41 42 43

RUNNING

At the moment there is no install yet, you can run the bind10 parkinglot
server from the source tree:
./src/bin/bind10/bind10

The server will listen on port 5300 for DNS requests.


CONFIGURATION

Jeremy C. Reed's avatar
Jeremy C. Reed committed
44 45 46
Commands can be given through the tool bindctl;
cd src/bin/bindctl
sh run_bindctl
47

Jeremy C. Reed's avatar
Jeremy C. Reed committed
48
The server must be running for bindctl to work.
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72

The following configuration commands are available

help: show the different command modules
<module> help: show the commands for module
<module> <command> help: show info for the command


config show [identifier]: Show the currently set values. If no identifier is
                          given, the current location is used. If a config
                          option is a list or a map, the value is not
                          shown directly, but must be requested separately.
config go [identifier]:   Go to the given location within the configuration.
config set [identifier] <value>: Set a configuration value.
config unset [identifier]: Remove a value (reverts to default if the option
                           is mandatory).
config add [identifier] <value>: add a value to a list
config remove [identifier] <value>: remove a value from a list 
config revert:	Revert all changes that have not been committed
config commit: Commit all changes


EXAMPLE SESSION

Jeremy C. Reed's avatar
Jeremy C. Reed committed
73
~> sh run_bindctl
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
> config show
ParkingLot/	module	
> config show ParkingLot/
port:	5300	integer	(default)
zones/	list	
a_records/	list	(default)
aaaa_records/	list	(default)
ns_records/	list	(default)
> config go ParkingLot/
/ParkingLot> config show
port:	5300	integer	(default)
zones/	list	
a_records/	list	(default)
aaaa_records/	list	(default)
ns_records/	list	(default)
/ParkingLot> config show zones
/ParkingLot> config add zone tjeb.nl
Error: /ParkingLot/zone not found
/ParkingLot> config add zones tjeb.nl
/ParkingLot> config show zones
zone_name:	tjeb.nl	string	
/ParkingLot> config show
port:	5300	integer	(default)
zones/	list	(modified)
a_records/	list	(default)
aaaa_records/	list	(default)
ns_records/	list	(default)
/ParkingLot> config go /
> config show ParkingLot/port
port:	5300	integer	(default)
> config go ParkingLot/a_records/
/ParkingLot/a_records> config show
address:	127.0.0.1	string	
/ParkingLot/a_records> config add "127.0.0.2"
/ParkingLot/a_records> config show
address:	127.0.0.2	string	
/ParkingLot/a_records>