NameDateSize

..30-Apr-201913

dlz_bdbhpt_dynamic.cH A D27-Jan-202320.2 KiB

MakefileH A D22-Feb-20241.6 KiB

README.mdH A D24-Sep-20223.6 KiB

testing/H22-Feb-20247

README.md

1<!--
2Copyright Internet Systems Consortium, Inc. ("ISC")
3
4This Source Code Form is subject to the terms of the Mozilla Public
5License, v. 2.0. If a copy of the MPL was not distributed with this
6file, you can obtain one at https://mozilla.org/MPL/2.0/.
7
8Copyright (C) Stichting NLnet, Netherlands, stichting@nlnet.nl.
9
10The development of Dynamically Loadable Zones (DLZ) for Bind 9 was
11conceived and contributed by Rob Butler.
12
13SPDX-License-Identifier: ISC and MPL-2.0
14
15Permission to use, copy, modify, and distribute this software for any purpose
16with or without fee is hereby granted, provided that the above copyright
17notice and this permission notice appear in all copies.
18
19THE SOFTWARE IS PROVIDED "AS IS" AND STICHTING NLNET DISCLAIMS ALL WARRANTIES
20WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
21MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL STICHTING NLNET BE LIABLE FOR
22ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
23WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
24OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
25CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
26-->
27
28dlz-bdbhpt-dynamic
29==================
30
31A Bind 9 Dynamically Loadable BerkeleyDB High Performance Text Driver
32
33Summary
34-------
35
36This is an attempt to port the original Bind 9 DLZ bdbhpt_driver.c as
37found in the Bind 9 source tree into the new DLZ dlopen driver API.
38The goals of this project are as follows:
39
40* Provide DLZ facilities to OEM-supported Bind distributions
41* Support both v1 (Bind 9.8) and v2 (Bind 9.9) of the dlopen() DLZ API
42
43Requirements
44------------
45
46You will need the following:
47 * Bind 9.8 or higher with the DLZ dlopen driver enabled
48 * BerkeleyDB libraries and header files
49 * A C compiler
50
51This distribution have been successfully installed and tested on
52Ubuntu 12.04.
53
54Installation
55------------
56
57With the above requirements satisfied perform the following steps:
58
591. Ensure the symlink for dlz_minimal.h points at the correct header
60   file matching your Bind version
612. Run: make
623. Run: sudo make install # this will install dlz_bdbhpt_dynamic.so
63   into /usr/lib/bind9/
644. Add a DLZ statement similar to the example below into your
65   Bind configuration
665. Ensure your BerkeleyDB home-directory exists and can be written to
67   by the bind user
686. Use the included testing/bdbhpt-populate.pl script to provide some
69   data for initial testing
70
71Usage
72-----
73
74Example usage is as follows:
75
76```
77dlz "bdbhpt_dynamic" {
78        database "dlopen /usr/lib/bind9/dlz_bdbhpt_dynamic.so T /var/cache/bind/dlz dnsdata.db";
79};
80```
81
82The arguments for the "database" line above are as follows:
83
841. dlopen - Use the dlopen DLZ driver to dynamically load our compiled
85   driver
862. The full path to your built dlz_bdbhpt_dynamic.so
873. Single character specifying the mode to open your BerkeleyDB
88   environment:
89   * T - Transactional Mode - Highest safety, lowest speed.
90   * C - Concurrent Mode - Lower safety (no rollback), higher speed.
91   * P - Private Mode - No interprocess communication & no locking.
92     Lowest safety, highest speed.
934. Directory containing your BerkeleyDB - this is where the BerkeleyDB
94   environment will be created.
955. Filename within this directory containing your BerkeleyDB tables.
96
97A copy of the above Bind configuration is included within
98example/dlz.conf.
99
100Author
101------
102
103The person responsible for this is:
104
105 Mark Goldfinch <g@g.org.nz>
106
107The code is maintained at:
108
109 https://github.com/goldie80/dlz-bdbhpt-dynamic
110
111There is very little in the way of original code in this work,
112however, original license conditions from both bdbhpt_driver.c and
113dlz_example.c are maintained in the dlz_bdbhpt_dynamic.c.
114