mirror of
https://gitlab.isc.org/isc-projects/bind9.git
synced 2025-07-31 18:04:32 +03:00
This commit converts the license handling to adhere to the REUSE specification. It specifically: 1. Adds used licnses to LICENSES/ directory 2. Add "isc" template for adding the copyright boilerplate 3. Changes all source files to include copyright and SPDX license header, this includes all the C sources, documentation, zone files, configuration files. There are notes in the doc/dev/copyrights file on how to add correct headers to the new files. 4. Handle the rest that can't be modified via .reuse/dep5 file. The binary (or otherwise unmodifiable) files could have license places next to them in <foo>.license file, but this would lead to cluttered repository and most of the files handled in the .reuse/dep5 file are system test files.
100 lines
2.6 KiB
Plaintext
100 lines
2.6 KiB
Plaintext
<!--
|
|
Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
|
|
|
SPDX-License-Identifier: MPL-2.0
|
|
|
|
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/.
|
|
|
|
See the COPYRIGHT file distributed with this work for additional
|
|
information regarding copyright ownership.
|
|
-->
|
|
|
|
Here is a more formal statement of the important database design
|
|
rules. Each rule has a 5 character mnemonic, for use in source code
|
|
comments.
|
|
|
|
Reference Safety [DBREF]
|
|
|
|
1) Any node reference retrieved from the database shall remain
|
|
valid until discarded by the caller.
|
|
|
|
2) Any rdataset retrieved from the database shall remain valid,
|
|
with its rdata contents unaltered, until it has been discarded
|
|
by the caller.
|
|
|
|
|
|
Database Type [DBTYP]
|
|
|
|
Every database is either a zone database or a cache database. This
|
|
type is chosen when the database is created and cannot be altered.
|
|
|
|
|
|
Basic Versioning [DBVER]
|
|
|
|
The rdata contents of a committed version in a zone database
|
|
do not change.
|
|
|
|
|
|
Database Future Version [DBFUV]
|
|
|
|
1) Zone databases may have at most one open future version.
|
|
|
|
2) When committed, the future version becomes the current version.
|
|
|
|
3) Until committed, the future version changes may be rolled
|
|
back.
|
|
|
|
|
|
Node Lookups [DBNLU]
|
|
|
|
A node lookup shall return:
|
|
|
|
1) A node handle if the node was found.
|
|
|
|
2) A result code.
|
|
|
|
3) Ancestor information. (XXX MORE INFO XXX)
|
|
|
|
|
|
Zone Node Lookups [DBZNL]
|
|
|
|
A node zone lookup returns the requested node, if it exists, in the
|
|
version specified, or DNS_R_NONEXISTENT otherwise.
|
|
|
|
|
|
Zone Rdataset Lookups [DBZRL]
|
|
|
|
A zone lookup returns the requested data, if any, in the
|
|
version specified, or DNS_R_NONEXISTENT otherwise.
|
|
|
|
|
|
Cache Node Lookups [DBCNL]
|
|
|
|
1) A node lookup shall return a handle to the desired node,
|
|
if it exists.
|
|
|
|
2) If there is a negative caching entry for the desired node,
|
|
DNS_R_NONEXISTENT shall be returned.
|
|
|
|
3) If the desired node does not exist, and there is not a
|
|
negative caching entry, DNS_R_UNKNOWN shall be returned.
|
|
|
|
|
|
Cache Rdataset Lookups [DBCRL]
|
|
|
|
1) A cache lookup returns the most recently written data
|
|
(if any).
|
|
|
|
2) If there is a negative caching entry for the desired data,
|
|
DNS_R_NONEXISTENT shall be returned.
|
|
|
|
3) If the requested data does not exist, and there is not a
|
|
negative caching entry, DNS_R_UNKNOWN shall be returned.
|
|
|
|
|
|
Cache Updates [DBCUP]
|
|
|
|
Concurrent attempts to update the same rdataset type of a given
|
|
node must appear to execute in some order. |