README 3.05 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

BUILDING

Simple build instructions:

10 11 12
  autoreconf
  ./configure
  make
13

14 15 16 17
Requires autoconf 2.59 or newer.

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

18 19 20

TEST COVERAGE

21 22
Doing code coverage tests:

23
  make coverage
24 25
	Does the following:

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

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

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

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
47 48 49
Commands can be given through the tool bindctl;
cd src/bin/bindctl
sh run_bindctl
50

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

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
76
~> sh run_bindctl
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 112 113 114
> 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>