mirror of
https://gitlab.isc.org/isc-projects/bind9.git
synced 2025-04-18 09:44:09 +03:00
I've used the following command to remove the trailing whitespace for all tracked text files: git grep -Il '' | xargs sed -i 's/[ \t]*$//'
88 lines
3.4 KiB
Plaintext
88 lines
3.4 KiB
Plaintext
<!--
|
|
Copyright Internet Systems Consortium, Inc. ("ISC")
|
|
|
|
This Source Code Form is subject to the terms of the Mozilla Public
|
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
|
|
|
Copyright (C) Stichting NLnet, Netherlands, stichting@nlnet.nl.
|
|
|
|
The development of Dynamically Loadable Zones (DLZ) for Bind 9 was
|
|
conceived and contributed by Rob Butler.
|
|
|
|
SPDX-License-Identifier: ISC and MPL-2.0
|
|
|
|
Permission to use, copy, modify, and distribute this software for any purpose
|
|
with or without fee is hereby granted, provided that the above copyright
|
|
notice and this permission notice appear in all copies.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS" AND STICHTING NLNET DISCLAIMS ALL WARRANTIES
|
|
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL STICHTING NLNET BE LIABLE FOR
|
|
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
|
OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
|
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
-->
|
|
|
|
BIND 9 DLZ MySQL module with support for dynamic DNS (DDNS)
|
|
|
|
Adapted from code contributed by Marty Lee, Maui Systems Ltd.
|
|
|
|
This is a dynamically loadable zone (DLZ) plugin that uses a fixed-
|
|
schema MySQL database for back-end storage. It allows zone data
|
|
to be updated via dynamic DNS updates, and sends DNS NOTIFY packets
|
|
to other name servers when appropriate.
|
|
|
|
The database for this module uses the following schema:
|
|
|
|
CREATE TABLE `Zones` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`domain` varchar(128) NOT NULL DEFAULT '',
|
|
`host` varchar(128) NOT NULL DEFAULT '',
|
|
`admin` varchar(128) NOT NULL DEFAULT '',
|
|
`serial` int(11) NOT NULL DEFAULT '1',
|
|
`expire` int(11) NOT NULL DEFAULT '86400',
|
|
`refresh` int(11) NOT NULL DEFAULT '86400',
|
|
`retry` int(11) NOT NULL DEFAULT '86400',
|
|
`minimum` int(11) NOT NULL DEFAULT '86400',
|
|
`ttl` int(11) NOT NULL DEFAULT '86400',
|
|
`writeable` tinyint(1) NOT NULL DEFAULT '0',
|
|
PRIMARY KEY (`id`),
|
|
KEY `domain_idx` (`domain`)
|
|
);
|
|
|
|
CREATE TABLE `ZoneData` (
|
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
|
`zone_id` int(11) NOT NULL,
|
|
`name` varchar(128) NOT NULL DEFAULT '',
|
|
`type` varchar(16) NOT NULL DEFAULT '',
|
|
`ttl` int(11) NOT NULL DEFAULT '86400',
|
|
`data` varchar(128) NOT NULL DEFAULT '',
|
|
PRIMARY KEY (`id`),
|
|
KEY `zone_idx` (`zone_id`),
|
|
KEY `name_idx` (`zone_id`, `name`),
|
|
KEY `type_idx` (`type`)
|
|
);
|
|
|
|
'Zones' contains information about specific zones:
|
|
- domain: the zone name
|
|
- admin: the zone administrator
|
|
- serial, expire, reresh, retry, minimum: values in the SOA record
|
|
- ttl: default zone TTL
|
|
- writeable: set to true if the zone can be updated via DDNS
|
|
|
|
'ZoneData' contains the individual records within the zone:
|
|
- zone_id: the 'id' from the corresponding record in Zones
|
|
- name: domain name, relative to the zone apex. (Data at the zone
|
|
apex itself may use a blank name or "@".)
|
|
- type: the RR type, expressed as text
|
|
- ttl: the record's TTL
|
|
- data: the records rdata, expressed as text.
|
|
|
|
To configure this module in named.conf:
|
|
|
|
dlz "mysqldlz" {
|
|
database "dlopen <path to>/dlz_mysqldyn_mod.so <dbname> [dbhost [dbuser [dbpass]]]";
|
|
};
|