README 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. This is the source for the BIND 10 testing branch known as
  2. the parkinglot. This is a simple authoritative server used
  3. to provide identical records for many zones, such as in
  4. a DNS parking service.
  5. BUILDING
  6. Simple build instructions:
  7. autoreconf --install
  8. ./configure
  9. make
  10. Requires autoconf 2.59 or newer.
  11. Use automake-1.11 or better for working Python 3.1 tests.
  12. INSTALLATION
  13. Install with:
  14. make install
  15. Testing samples of a RSA key, certificate, and user account
  16. are installed under the $PREFIX/share/bind10/ directory.
  17. cmdctl-accounts.csv
  18. cmdctl-keyfile.pem
  19. cmdctl-certfile.pem
  20. Copy them to your $sysconfdir/bind10/ directory for testing.
  21. Or create your own.
  22. TODO: show how
  23. TEST COVERAGE
  24. Doing code coverage tests:
  25. make coverage
  26. Does the following:
  27. make clean-coverage
  28. Zeroes the lcov code coverage counters and removes the coverage HTML.
  29. make perform-coverage
  30. Runs the C++ tests (using googletests framework).
  31. make report-coverage
  32. Generates the coverage HTML, excluding some unrelated headers.
  33. The HTML reports are placed in a directory called coverage/.
  34. DEVELOPERS
  35. The generated run_*.sh scripts available in the src/bin directories
  36. are for running the code using the source tree.
  37. RUNNING
  38. You can start the BIND 10 processes by running bind10 which is
  39. installed to the sbin directory under the installation prefix.
  40. The default location is:
  41. /usr/local/sbin/bind10
  42. For development work, you can also run the bind10 services from the
  43. source tree:
  44. ./src/bin/bind10/run_bind10.sh
  45. (Which will use the modules and configurations also from the source
  46. tree.)
  47. The server will listen on port 5300 for DNS requests.
  48. CONFIGURATION
  49. Commands can be given through the bindctl tool.
  50. The server must be running for bindctl to work.
  51. The following configuration commands are available
  52. help: show the different command modules
  53. <module> help: show the commands for module
  54. <module> <command> help: show info for the command
  55. config show [identifier]: Show the currently set values. If no identifier is
  56. given, the current location is used. If a config
  57. option is a list or a map, the value is not
  58. shown directly, but must be requested separately.
  59. config go [identifier]: Go to the given location within the configuration.
  60. config set [identifier] <value>: Set a configuration value.
  61. config unset [identifier]: Remove a value (reverts to default if the option
  62. is mandatory).
  63. config add [identifier] <value>: add a value to a list
  64. config remove [identifier] <value>: remove a value from a list
  65. config revert: Revert all changes that have not been committed
  66. config commit: Commit all changes
  67. config diff: Show the changes that have not been committed yet
  68. EXAMPLE SESSION
  69. ~> bindctl
  70. ["login success "] login as root
  71. > help
  72. BindCtl, verstion 0.1
  73. usage: <module name> <command name> [param1 = value1 [, param2 = value2]]
  74. Type Tab character to get the hint of module/command/paramters.
  75. Type "help(? h)" for help on bindctl.
  76. Type "<module_name> help" for help on the specific module.
  77. Type "<module_name> <command_name> help" for help on the specific command.
  78. Available module names:
  79. help Get help for bindctl
  80. config Configuration commands
  81. Xfrin same here
  82. Auth same here
  83. Boss same here
  84. > config help
  85. Module config Configuration commands
  86. Available commands:
  87. help (Get help for module)
  88. show (Show configuration)
  89. add (Add entry to configuration list)
  90. remove (Remove entry from configuration list)
  91. set (Set a configuration value)
  92. unset (Unset a configuration value)
  93. diff (Show all local changes)
  94. revert (Revert all local changes)
  95. commit (Commit all local changes)
  96. go (Go to a specific configuration part)
  97. > config show
  98. Xfrin/ module
  99. Auth/ module
  100. Boss/ module
  101. > config show Xfrin
  102. transfers_in: 10 integer
  103. > config go Auth
  104. /Auth> config show
  105. database_file: None string
  106. /Auth> config set database_file /tmp/bind10_zones.db
  107. /Auth> config commit
  108. /Auth> config go /
  109. > config show Auth/
  110. database_file: /tmp/bind10_zones.db string
  111. > config diff
  112. {}
  113. > config set Auth/foobar
  114. Error: missing identifier or value
  115. > config set Auth/database_file foobar
  116. > config diff
  117. {'Auth': {'database_file': 'foobar'}}
  118. > config revert
  119. > config diff
  120. {}
  121. > quit