1dlz-bdbhpt-dynamic 2================== 3 4A Bind 9 Dynamically Loadable BerkeleyDB High Performance Text Driver 5 6Summary 7------- 8 9This is an attempt to port the original Bind 9 DLZ bdbhpt_driver.c as 10found in the Bind 9 source tree into the new DLZ dlopen driver API. 11The goals of this project are as follows: 12 13* Provide DLZ facilities to OEM-supported Bind distributions 14* Support both v1 (Bind 9.8) and v2 (Bind 9.9) of the dlopen() DLZ API 15 16Requirements 17------------ 18 19You will need the following: 20 * Bind 9.8 or higher with the DLZ dlopen driver enabled 21 * BerkeleyDB libraries and header files 22 * A C compiler 23 24This distribution have been successfully installed and tested on 25Ubuntu 12.04. 26 27Installation 28------------ 29 30With the above requirements satisfied perform the following steps: 31 321. Ensure the symlink for dlz_minimal.h points at the correct header 33 file matching your Bind version 342. Run: make 353. Run: sudo make install # this will install dlz_bdbhpt_dynamic.so 36 into /usr/lib/bind9/ 374. Add a DLZ statement similar to the example below into your 38 Bind configuration 395. Ensure your BerkeleyDB home-directory exists and can be written to 40 by the bind user 416. Use the included testing/bdbhpt-populate.pl script to provide some 42 data for initial testing 43 44Usage 45----- 46 47Example usage is as follows: 48 49``` 50dlz "bdbhpt_dynamic" { 51 database "dlopen /usr/lib/bind9/dlz_bdbhpt_dynamic.so T /var/cache/bind/dlz dnsdata.db"; 52}; 53``` 54 55The arguments for the "database" line above are as follows: 56 571. dlopen - Use the dlopen DLZ driver to dynamically load our compiled 58 driver 592. The full path to your built dlz_bdbhpt_dynamic.so 603. Single character specifying the mode to open your BerkeleyDB 61 environment: 62 * T - Transactional Mode - Highest safety, lowest speed. 63 * C - Concurrent Mode - Lower safety (no rollback), higher speed. 64 * P - Private Mode - No interprocess communication & no locking. 65 Lowest safety, highest speed. 664. Directory containing your BerkeleyDB - this is where the BerkeleyDB 67 environment will be created. 685. Filename within this directory containing your BerkeleyDB tables. 69 70A copy of the above Bind configuration is included within 71example/dlz.conf. 72 73Author 74------ 75 76The person responsible for this is: 77 78 Mark Goldfinch <g@g.org.nz> 79 80The code is maintained at: 81 82 https://github.com/goldie80/dlz-bdbhpt-dynamic 83 84There is very little in the way of original code in this work, 85however, original license conditions from both bdbhpt_driver.c and 86dlz_example.c are maintained in the dlz_bdbhpt_dynamic.c. 87