IFC @ r244983.

This commit is contained in:
Neel Natu 2013-01-04 19:28:32 +00:00
commit 46b1c55d9e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/projects/bhyve/; revision=245045
1437 changed files with 41557 additions and 29167 deletions

View File

@ -4,7 +4,7 @@
The compilation of software known as FreeBSD is distributed under the The compilation of software known as FreeBSD is distributed under the
following terms: following terms:
Copyright (c) 1992-2012 The FreeBSD Project. All rights reserved. Copyright (c) 1992-2013 The FreeBSD Project. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions

1
LOCKS
View File

@ -11,3 +11,4 @@ releng/4.* Requires Security Officer approval.
releng/5.* Requires Security Officer approval. releng/5.* Requires Security Officer approval.
releng/6.* Requires Security Officer approval. releng/6.* Requires Security Officer approval.
releng/7.* Requires Security Officer approval. releng/7.* Requires Security Officer approval.
releng/8.* Requires Security Officer approval.

View File

@ -38,6 +38,12 @@
# xargs -n1 | sort | uniq -d; # xargs -n1 | sort | uniq -d;
# done # done
# 20121230: libdisk removed
OLD_FILES+=usr/share/man/man3/libdisk.3.gz usr/include/libdisk.h
OLD_FILES+=usr/lib/libdisk.a usr/lib32/libdisk.a
# 20121230: remove wrongly created directories for auditdistd
OLD_DIRS+=var/dist
OLD_DIRS+=var/remote
# 20121114: zpool-features manual page moved from section 5 to 7 # 20121114: zpool-features manual page moved from section 5 to 7
OLD_FILES+=usr/share/man/man5/zpool-features.5.gz OLD_FILES+=usr/share/man/man5/zpool-features.5.gz
# 20121022: remove harp, hfa and idt man page # 20121022: remove harp, hfa and idt man page

View File

@ -26,6 +26,24 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10.x IS SLOW:
disable the most expensive debugging functionality run disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".) "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
20121223:
After switching to Clang as the default compiler some users of ZFS
on i386 systems started to experience stack overflow kernel panics.
Please consider using 'options KSTACK_PAGES=4' in such configurations.
20121222:
GEOM_LABEL now mangles label names read from file system metadata.
Mangling affect labels containing spaces, non-printable characters,
'%' or '"'. Device names in /etc/fstab and other places may need to
be updated.
20121217:
By default, only the 10 most recent kernel dumps will be saved. To
restore the previous behaviour (no limit on the number of kernel dumps
stored in the dump directory) add the following line to /etc/rc.conf:
savecore_flags=""
20121201: 20121201:
With the addition of auditdistd(8), a new auditdistd user is now With the addition of auditdistd(8), a new auditdistd user is now
depended on during installworld. "mergemaster -p" can be used to add depended on during installworld. "mergemaster -p" can be used to add

View File

@ -85,7 +85,7 @@ netsettime(time_t tval)
dest.sin_addr.s_addr = htonl((u_long)INADDR_ANY); dest.sin_addr.s_addr = htonl((u_long)INADDR_ANY);
s = socket(AF_INET, SOCK_DGRAM, 0); s = socket(AF_INET, SOCK_DGRAM, 0);
if (s < 0) { if (s < 0) {
if (errno != EPROTONOSUPPORT) if (errno != EAFNOSUPPORT)
warn("timed"); warn("timed");
return (retval = 2); return (retval = 2);
} }

View File

@ -397,7 +397,7 @@ prthumanvalinode(int64_t bytes)
static intmax_t static intmax_t
fsbtoblk(int64_t num, uint64_t fsbs, u_long bs) fsbtoblk(int64_t num, uint64_t fsbs, u_long bs)
{ {
return (num * (intmax_t) fsbs / bs); return (num * (intmax_t) fsbs / (int64_t) bs);
} }
/* /*

View File

@ -291,7 +291,7 @@ implementations.
.Pp .Pp
The The
.Fl F .Fl F
option is option is a
.Fx .Fx
extension and should not be used in portable scripts. extension and should not be used in portable scripts.
.Sh SEE ALSO .Sh SEE ALSO

View File

@ -109,6 +109,7 @@ static int needcomm; /* -o "command" */
static int needenv; /* -e */ static int needenv; /* -e */
static int needuser; /* -o "user" */ static int needuser; /* -o "user" */
static int optfatal; /* Fatal error parsing some list-option. */ static int optfatal; /* Fatal error parsing some list-option. */
static int pid_max; /* kern.max_pid */
static enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT; static enum sort { DEFAULT, SORTMEM, SORTCPU } sortby = DEFAULT;
@ -148,6 +149,7 @@ static int pscomp(const void *, const void *);
static void saveuser(KINFO *); static void saveuser(KINFO *);
static void scanvars(void); static void scanvars(void);
static void sizevars(void); static void sizevars(void);
static void pidmax_init(void);
static void usage(void); static void usage(void);
static char dfmt[] = "pid,tt,state,time,command"; static char dfmt[] = "pid,tt,state,time,command";
@ -200,6 +202,8 @@ main(int argc, char *argv[])
if (argc > 1) if (argc > 1)
argv[1] = kludge_oldps_options(PS_ARGS, argv[1], argv[2]); argv[1] = kludge_oldps_options(PS_ARGS, argv[1], argv[2]);
pidmax_init();
all = descendancy = _fmt = nselectors = optfatal = 0; all = descendancy = _fmt = nselectors = optfatal = 0;
prtheader = showthreads = wflag = xkeep_implied = 0; prtheader = showthreads = wflag = xkeep_implied = 0;
xkeep = -1; /* Neither -x nor -X. */ xkeep = -1; /* Neither -x nor -X. */
@ -722,7 +726,6 @@ addelem_gid(struct listinfo *inf, const char *elem)
return (1); return (1);
} }
#define BSD_PID_MAX 99999 /* Copy of PID_MAX from sys/proc.h. */
static int static int
addelem_pid(struct listinfo *inf, const char *elem) addelem_pid(struct listinfo *inf, const char *elem)
{ {
@ -740,7 +743,7 @@ addelem_pid(struct listinfo *inf, const char *elem)
if (*endp != '\0' || tempid < 0 || elem == endp) { if (*endp != '\0' || tempid < 0 || elem == endp) {
warnx("Invalid %s: %s", inf->lname, elem); warnx("Invalid %s: %s", inf->lname, elem);
errno = ERANGE; errno = ERANGE;
} else if (errno != 0 || tempid > BSD_PID_MAX) { } else if (errno != 0 || tempid > pid_max) {
warnx("%s too large: %s", inf->lname, elem); warnx("%s too large: %s", inf->lname, elem);
errno = ERANGE; errno = ERANGE;
} }
@ -753,7 +756,6 @@ addelem_pid(struct listinfo *inf, const char *elem)
inf->l.pids[(inf->count)++] = tempid; inf->l.pids[(inf->count)++] = tempid;
return (1); return (1);
} }
#undef BSD_PID_MAX
/*- /*-
* The user can specify a device via one of three formats: * The user can specify a device via one of three formats:
@ -1351,6 +1353,18 @@ kludge_oldps_options(const char *optlist, char *origval, const char *nextarg)
return (newopts); return (newopts);
} }
static void
pidmax_init(void)
{
size_t intsize;
intsize = sizeof(pid_max);
if (sysctlbyname("kern.pid_max", &pid_max, &intsize, NULL, 0) < 0) {
warn("unable to read kern.pid_max");
pid_max = 99999;
}
}
static void static void
usage(void) usage(void)
{ {

View File

@ -1070,6 +1070,7 @@ evalcommand(union node *cmd, int flags, struct backcmd *backcmd)
} }
handler = &jmploc; handler = &jmploc;
redirect(cmd->ncmd.redirect, mode); redirect(cmd->ncmd.redirect, mode);
outclearerror(out1);
/* /*
* If there is no command word, redirection errors should * If there is no command word, redirection errors should
* not be fatal but assignment errors should. * not be fatal but assignment errors should.
@ -1085,6 +1086,11 @@ evalcommand(union node *cmd, int flags, struct backcmd *backcmd)
builtin_flags = flags; builtin_flags = flags;
exitstatus = (*builtinfunc[cmdentry.u.index])(argc, argv); exitstatus = (*builtinfunc[cmdentry.u.index])(argc, argv);
flushall(); flushall();
if (outiserror(out1)) {
warning("write error on stdout");
if (exitstatus == 0 || exitstatus == 1)
exitstatus = 2;
}
cmddone: cmddone:
if (argc > 0) if (argc > 0)
bltinunsetlocale(); bltinunsetlocale();

View File

@ -298,6 +298,7 @@ showjob(struct job *jp, int mode)
{ {
char s[64]; char s[64];
char statestr[64]; char statestr[64];
const char *sigstr;
struct procstat *ps; struct procstat *ps;
struct job *j; struct job *j;
int col, curr, i, jobno, prev, procno; int col, curr, i, jobno, prev, procno;
@ -324,8 +325,9 @@ showjob(struct job *jp, int mode)
i = WSTOPSIG(ps->status); i = WSTOPSIG(ps->status);
else else
i = -1; i = -1;
if (i > 0 && i < sys_nsig && sys_siglist[i]) sigstr = strsignal(i);
strcpy(statestr, sys_siglist[i]); if (sigstr != NULL)
strcpy(statestr, sigstr);
else else
strcpy(statestr, "Suspended"); strcpy(statestr, "Suspended");
#endif #endif
@ -337,10 +339,11 @@ showjob(struct job *jp, int mode)
WEXITSTATUS(ps->status)); WEXITSTATUS(ps->status));
} else { } else {
i = WTERMSIG(ps->status); i = WTERMSIG(ps->status);
if (i > 0 && i < sys_nsig && sys_siglist[i]) sigstr = strsignal(i);
strcpy(statestr, sys_siglist[i]); if (sigstr != NULL)
strcpy(statestr, sigstr);
else else
fmtstr(statestr, 64, "Signal %d", i); strcpy(statestr, "Unknown signal");
if (WCOREDUMP(ps->status)) if (WCOREDUMP(ps->status))
strcat(statestr, " (core dumped)"); strcat(statestr, " (core dumped)");
} }
@ -1019,6 +1022,7 @@ dowait(int mode, struct job *job)
struct procstat *sp; struct procstat *sp;
struct job *jp; struct job *jp;
struct job *thisjob; struct job *thisjob;
const char *sigstr;
int done; int done;
int stopped; int stopped;
int sig; int sig;
@ -1129,10 +1133,11 @@ dowait(int mode, struct job *job)
coredump = WCOREDUMP(sp->status); coredump = WCOREDUMP(sp->status);
} }
if (sig > 0 && sig != SIGINT && sig != SIGPIPE) { if (sig > 0 && sig != SIGINT && sig != SIGPIPE) {
if (sig < sys_nsig && sys_siglist[sig]) sigstr = strsignal(sig);
out2str(sys_siglist[sig]); if (sigstr != NULL)
out2str(sigstr);
else else
outfmt(out2, "Signal %d", sig); out2str("Unknown signal");
if (coredump) if (coredump)
out2str(" (core dumped)"); out2str(" (core dumped)");
out2c('\n'); out2c('\n');

View File

@ -239,6 +239,20 @@ freestdout(void)
} }
int
outiserror(struct output *file)
{
return (file->flags & OUTPUT_ERR);
}
void
outclearerror(struct output *file)
{
file->flags &= ~OUTPUT_ERR;
}
void void
outfmt(struct output *file, const char *fmt, ...) outfmt(struct output *file, const char *fmt, ...)
{ {

View File

@ -66,6 +66,8 @@ void emptyoutbuf(struct output *);
void flushall(void); void flushall(void);
void flushout(struct output *); void flushout(struct output *);
void freestdout(void); void freestdout(void);
int outiserror(struct output *);
void outclearerror(struct output *);
void outfmt(struct output *, const char *, ...) __printflike(2, 3); void outfmt(struct output *, const char *, ...) __printflike(2, 3);
void out1fmt(const char *, ...) __printflike(1, 2); void out1fmt(const char *, ...) __printflike(1, 2);
void out2fmt_flush(const char *, ...) __printflike(1, 2); void out2fmt_flush(const char *, ...) __printflike(1, 2);

View File

@ -32,7 +32,7 @@
.\" @(#)test.1 8.1 (Berkeley) 5/31/93 .\" @(#)test.1 8.1 (Berkeley) 5/31/93
.\" $FreeBSD$ .\" $FreeBSD$
.\" .\"
.Dd September 10, 2010 .Dd December 27, 2012
.Dt TEST 1 .Dt TEST 1
.Os .Os
.Sh NAME .Sh NAME
@ -331,6 +331,13 @@ missing.
.It >1 .It >1
An error occurred. An error occurred.
.El .El
.Sh COMPATIBILITY
For compatibility with some other implementations,
the
.Cm =
primary can be substituted with
.Cm ==
with the same meaning.
.Sh SEE ALSO .Sh SEE ALSO
.Xr builtin 1 , .Xr builtin 1 ,
.Xr expr 1 , .Xr expr 1 ,

View File

@ -61,14 +61,16 @@
#undef verify #undef verify
#include <libzfs.h> #include <libzfs.h>
#define ZDB_COMPRESS_NAME(idx) ((idx) < ZIO_COMPRESS_FUNCTIONS ? \ #define ZDB_COMPRESS_NAME(idx) ((idx) < ZIO_COMPRESS_FUNCTIONS ? \
zio_compress_table[(idx)].ci_name : "UNKNOWN") zio_compress_table[(idx)].ci_name : "UNKNOWN")
#define ZDB_CHECKSUM_NAME(idx) ((idx) < ZIO_CHECKSUM_FUNCTIONS ? \ #define ZDB_CHECKSUM_NAME(idx) ((idx) < ZIO_CHECKSUM_FUNCTIONS ? \
zio_checksum_table[(idx)].ci_name : "UNKNOWN") zio_checksum_table[(idx)].ci_name : "UNKNOWN")
#define ZDB_OT_NAME(idx) ((idx) < DMU_OT_NUMTYPES ? \ #define ZDB_OT_NAME(idx) ((idx) < DMU_OT_NUMTYPES ? \
dmu_ot[(idx)].ot_name : DMU_OT_IS_VALID(idx) ? \ dmu_ot[(idx)].ot_name : DMU_OT_IS_VALID(idx) ? \
dmu_ot_byteswap[DMU_OT_BYTESWAP(idx)].ob_name : "UNKNOWN") dmu_ot_byteswap[DMU_OT_BYTESWAP(idx)].ob_name : "UNKNOWN")
#define ZDB_OT_TYPE(idx) ((idx) < DMU_OT_NUMTYPES ? (idx) : DMU_OT_NUMTYPES) #define ZDB_OT_TYPE(idx) ((idx) < DMU_OT_NUMTYPES ? (idx) : \
(((idx) == DMU_OTN_ZAP_DATA || (idx) == DMU_OTN_ZAP_METADATA) ? \
DMU_OT_ZAP_OTHER : DMU_OT_NUMTYPES))
#ifndef lint #ifndef lint
extern int zfs_recover; extern int zfs_recover;
@ -3194,7 +3196,13 @@ main(int argc, char **argv)
argv[i], strerror(errno)); argv[i], strerror(errno));
} }
} }
(os != NULL) ? dump_dir(os) : dump_zpool(spa); if (os != NULL) {
dump_dir(os);
} else if (zopt_objects > 0 && !dump_opt['m']) {
dump_dir(spa->spa_meta_objset);
} else {
dump_zpool(spa);
}
} else { } else {
flagbits['b'] = ZDB_FLAG_PRINT_BLKPTR; flagbits['b'] = ZDB_FLAG_PRINT_BLKPTR;
flagbits['c'] = ZDB_FLAG_CHECKSUM; flagbits['c'] = ZDB_FLAG_CHECKSUM;

View File

@ -906,10 +906,11 @@ zpool_do_create(int argc, char **argv)
/* /*
* Check the validity of the mountpoint and direct the user to use the * Check the validity of the mountpoint and direct the user to use the
* '-m' mountpoint option if it looks like its in use. * '-m' mountpoint option if it looks like its in use.
* Ignore the checks if the '-f' option is given.
*/ */
if (mountpoint == NULL || if (!force && (mountpoint == NULL ||
(strcmp(mountpoint, ZFS_MOUNTPOINT_LEGACY) != 0 && (strcmp(mountpoint, ZFS_MOUNTPOINT_LEGACY) != 0 &&
strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0)) { strcmp(mountpoint, ZFS_MOUNTPOINT_NONE) != 0))) {
char buf[MAXPATHLEN]; char buf[MAXPATHLEN];
DIR *dirp; DIR *dirp;

View File

@ -727,7 +727,7 @@ send_iterate_fs(zfs_handle_t *zhp, void *arg)
sd->parent_fromsnap_guid = 0; sd->parent_fromsnap_guid = 0;
VERIFY(0 == nvlist_alloc(&sd->parent_snaps, NV_UNIQUE_NAME, 0)); VERIFY(0 == nvlist_alloc(&sd->parent_snaps, NV_UNIQUE_NAME, 0));
VERIFY(0 == nvlist_alloc(&sd->snapprops, NV_UNIQUE_NAME, 0)); VERIFY(0 == nvlist_alloc(&sd->snapprops, NV_UNIQUE_NAME, 0));
(void) zfs_iter_snapshots(zhp, B_FALSE, send_iterate_snap, sd); (void) zfs_iter_snapshots_sorted(zhp, send_iterate_snap, sd);
VERIFY(0 == nvlist_add_nvlist(nvfs, "snaps", sd->parent_snaps)); VERIFY(0 == nvlist_add_nvlist(nvfs, "snaps", sd->parent_snaps));
VERIFY(0 == nvlist_add_nvlist(nvfs, "snapprops", sd->snapprops)); VERIFY(0 == nvlist_add_nvlist(nvfs, "snapprops", sd->snapprops));
nvlist_free(sd->parent_snaps); nvlist_free(sd->parent_snaps);
@ -1945,11 +1945,12 @@ recv_incremental_replication(libzfs_handle_t *hdl, const char *tofs,
recvflags_t *flags, nvlist_t *stream_nv, avl_tree_t *stream_avl, recvflags_t *flags, nvlist_t *stream_nv, avl_tree_t *stream_avl,
nvlist_t *renamed) nvlist_t *renamed)
{ {
nvlist_t *local_nv; nvlist_t *local_nv, *deleted = NULL;
avl_tree_t *local_avl; avl_tree_t *local_avl;
nvpair_t *fselem, *nextfselem; nvpair_t *fselem, *nextfselem;
char *fromsnap; char *fromsnap;
char newname[ZFS_MAXNAMELEN]; char newname[ZFS_MAXNAMELEN];
char guidname[32];
int error; int error;
boolean_t needagain, progress, recursive; boolean_t needagain, progress, recursive;
char *s1, *s2; char *s1, *s2;
@ -1965,6 +1966,8 @@ recv_incremental_replication(libzfs_handle_t *hdl, const char *tofs,
again: again:
needagain = progress = B_FALSE; needagain = progress = B_FALSE;
VERIFY(0 == nvlist_alloc(&deleted, NV_UNIQUE_NAME, 0));
if ((error = gather_nvlist(hdl, tofs, fromsnap, NULL, if ((error = gather_nvlist(hdl, tofs, fromsnap, NULL,
recursive, &local_nv, &local_avl)) != 0) recursive, &local_nv, &local_avl)) != 0)
return (error); return (error);
@ -2079,6 +2082,8 @@ recv_incremental_replication(libzfs_handle_t *hdl, const char *tofs,
needagain = B_TRUE; needagain = B_TRUE;
else else
progress = B_TRUE; progress = B_TRUE;
sprintf(guidname, "%lu", thisguid);
nvlist_add_boolean(deleted, guidname);
continue; continue;
} }
@ -2134,6 +2139,8 @@ recv_incremental_replication(libzfs_handle_t *hdl, const char *tofs,
needagain = B_TRUE; needagain = B_TRUE;
else else
progress = B_TRUE; progress = B_TRUE;
sprintf(guidname, "%lu", parent_fromsnap_guid);
nvlist_add_boolean(deleted, guidname);
continue; continue;
} }
@ -2155,6 +2162,24 @@ recv_incremental_replication(libzfs_handle_t *hdl, const char *tofs,
s1 = strrchr(fsname, '/'); s1 = strrchr(fsname, '/');
s2 = strrchr(stream_fsname, '/'); s2 = strrchr(stream_fsname, '/');
/*
* Check if we're going to rename based on parent guid change
* and the current parent guid was also deleted. If it was then
* rename will fail and is likely unneeded, so avoid this and
* force an early retry to determine the new
* parent_fromsnap_guid.
*/
if (stream_parent_fromsnap_guid != 0 &&
parent_fromsnap_guid != 0 &&
stream_parent_fromsnap_guid != parent_fromsnap_guid) {
sprintf(guidname, "%lu", parent_fromsnap_guid);
if (nvlist_exists(deleted, guidname)) {
progress = B_TRUE;
needagain = B_TRUE;
goto doagain;
}
}
/* /*
* Check for rename. If the exact receive path is specified, it * Check for rename. If the exact receive path is specified, it
* does not count as a rename, but we still need to check the * does not count as a rename, but we still need to check the
@ -2209,8 +2234,10 @@ recv_incremental_replication(libzfs_handle_t *hdl, const char *tofs,
} }
} }
doagain:
fsavl_destroy(local_avl); fsavl_destroy(local_avl);
nvlist_free(local_nv); nvlist_free(local_nv);
nvlist_free(deleted);
if (needagain && progress) { if (needagain && progress) {
/* do another pass to fix up temporary names */ /* do another pass to fix up temporary names */

View File

@ -1,15 +1,81 @@
--- 9.8.3-P4 released --- --- 9.8.4-P1 released ---
3407. [security] Named could die on specific queries with dns64 enabled.
[Addressed in change #3388 for BIND 9.8.5 and 9.9.3.]
--- 9.8.4 released ---
3383. [security] A certain combination of records in the RBT could 3383. [security] A certain combination of records in the RBT could
cause named to hang while populating the additional cause named to hang while populating the additional
section of a response. [RT #31090] section of a response. [RT #31090]
--- 9.8.3-P3 released --- 3373. [bug] win32: open raw files in binary mode. [RT #30944]
3364. [security] Named could die on specially crafted record. 3364. [security] Named could die on specially crafted record.
[RT #30416] [RT #30416]
--- 9.8.3-P2 released --- --- 9.8.4rc1 released ---
3369. [bug] nsupdate terminated unexpectedly in interactive mode
if built with readline support. [RT #29550]
3368. [bug] <dns/iptable.h> and <dns/zone.h> were not C++ safe.
3367. [bug] dns_dnsseckey_create() result was not being checked.
[RT #30685]
3366. [bug] Fixed Read-After-Write dependency violation for IA64
atomic operations. [RT #25181]
3365. [bug] Removed spurious newlines from log messages in
zone.c [RT #30675]
3363. [bug] Need to allow "forward" and "fowarders" options
in static-stub zones; this had been overlooked.
[RT #30482]
3362. [bug] Setting some option values to 0 in named.conf
could trigger an assertion failure on startup.
[RT #27730]
3360. [bug] 'host -w' could die. [RT #18723]
3359. [bug] An improperly-formed TSIG secret could cause a
memory leak. [RT #30607]
3357. [port] Add support for libxml2-2.8.x [RT #30440]
3356. [bug] Cap the TTL of signed RRsets when RRSIGs are
approaching their expiry, so they don't remain
in caches after expiry. [RT #26429]
--- 9.8.4b1 released ---
3354. [func] Improve OpenSSL error logging. [RT #29932]
3353. [bug] Use a single task for task exclusive operations.
[RT #29872]
3352. [bug] Ensure that learned server attributes timeout of the
adb cache. [RT #29856]
3351. [bug] isc_mem_put and isc_mem_putanddetach didn't report
caller if either ISC_MEM_DEBUGSIZE or ISC_MEM_DEBUGCTX
memory debugging flags are set. [RT #30243]
3350. [bug] Memory read overrun in isc___mem_reallocate if
ISC_MEM_DEBUGCTX memory debugging flag is set.
[RT #30240]
3348. [bug] Prevent RRSIG data from being cached if a negative
record matching the covering type exists at a higher
trust level. Such data already can't be retrieved from
the cache since change 3218 -- this prevents it
being inserted into the cache as well. [RT #26809]
3347. [bug] dnssec-settime: Issue a warning when writing a new
private key file would cause a change in the
permissions of the existing file. [RT #27724]
3346. [security] Bad-cache data could be used before it was 3346. [security] Bad-cache data could be used before it was
initialized, causing an assert. [RT #30025] initialized, causing an assert. [RT #30025]
@ -18,11 +84,47 @@
resulting in excessive cpu usage in some cases. resulting in excessive cpu usage in some cases.
[RT #29952] [RT #29952]
--- 9.8.3-P1 released --- 3337. [bug] Change #3294 broke support for the multiple keys
in controls. [RT #29694]
3335. [func] nslookup: return a nonzero exit code when unable
to get an answer. [RT #29492]
3333. [bug] Setting resolver-query-timeout too low can cause
named to not recover if it loses connectivity.
[RT #29623]
3332. [bug] Re-use cached DS rrsets if possible. [RT #29446]
3331. [security] dns_rdataslab_fromrdataset could produce bad 3331. [security] dns_rdataslab_fromrdataset could produce bad
rdataslabs. [RT #29644] rdataslabs. [RT #29644]
3330. [func] Fix missing signatures on NOERROR results despite
RPZ rewriting. Also
- add optional "recursive-only yes|no" to the
response-policy statement
- add optional "max-policy-ttl" to the response-policy
statement to limit the false data that
"recursive-only no" can introduce into
resolvers' caches
- add a RPZ performance test to bin/tests/system/rpz
when queryperf is available.
- the encoding of PASSTHRU action to "rpz-passthru".
(The old encoding is still accepted.)
[RT #26172]
3329. [bug] Handle RRSIG signer-name case consistently: We
generate RRSIG records with the signer-name in
lower case. We accept them with any case, but if
they fail to validate, we try again in lower case.
[RT #27451]
3328. [bug] Fixed inconsistent data checking in dst_parse.c.
[RT #29401]
3317. [func] Add ECDSA support (RFC 6605). [RT #21918]
--- 9.8.3 released --- --- 9.8.3 released ---
3318. [tuning] Reduce the amount of work performed while holding a 3318. [tuning] Reduce the amount of work performed while holding a

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004-2009, 2011 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium. # Copyright (C) 1998-2002 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -51,6 +51,11 @@ BIND 9
For up-to-date release notes and errata, see For up-to-date release notes and errata, see
http://www.isc.org/software/bind9/releasenotes http://www.isc.org/software/bind9/releasenotes
BIND 9.8.4
BIND 9.8.4 includes several bug fixes and patches security
flaws described in CVE-2012-1667, CVE-2012-3817 and CVE-2012-4244.
BIND 9.8.3 BIND 9.8.3
BIND 9.8.3 is a maintenance release. BIND 9.8.3 is a maintenance release.

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2004, 2005, 2007, 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium. * Copyright (C) 1999-2003 Internet Software Consortium.
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
@ -138,6 +138,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define if OpenSSL includes DSA support */ /* Define if OpenSSL includes DSA support */
#undef HAVE_OPENSSL_DSA #undef HAVE_OPENSSL_DSA
/* Define if OpenSSL includes ECDSA support */
#undef HAVE_OPENSSL_ECDSA
/* Define to the length type used by the socket API (socklen_t, size_t, int). */ /* Define to the length type used by the socket API (socklen_t, size_t, int). */
#undef ISC_SOCKADDR_LEN_T #undef ISC_SOCKADDR_LEN_T

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001 Internet Software Consortium. # Copyright (C) 1998-2001 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004-2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium. # Copyright (C) 2000-2003 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -639,6 +639,9 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
{ {
isc_result_t result; isc_result_t result;
FILE *output = stdout; FILE *output = stdout;
const char *flags;
flags = (fileformat == dns_masterformat_text) ? "w+" : "wb+";
if (debug) { if (debug) {
if (filename != NULL && strcmp(filename, "-") != 0) if (filename != NULL && strcmp(filename, "-") != 0)
@ -649,7 +652,7 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
} }
if (filename != NULL && strcmp(filename, "-") != 0) { if (filename != NULL && strcmp(filename, "-") != 0) {
result = isc_stdio_open(filename, "w+", &output); result = isc_stdio_open(filename, flags, &output);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not open output " fprintf(stderr, "could not open output "

View File

@ -1,4 +1,4 @@
# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above # purpose with or without fee is hereby granted, provided that the above

View File

@ -1,4 +1,4 @@
# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above # purpose with or without fee is hereby granted, provided that the above

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2005, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2005, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium. # Copyright (C) 2000-2002 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium. * Copyright (C) 2000-2003 Internet Software Consortium.
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
@ -57,6 +57,7 @@ static isc_boolean_t in_use = ISC_FALSE;
static char defclass[MXRD] = "IN"; static char defclass[MXRD] = "IN";
static char deftype[MXRD] = "A"; static char deftype[MXRD] = "A";
static isc_event_t *global_event = NULL; static isc_event_t *global_event = NULL;
static int query_error = 1, print_error = 0;
static char domainopt[DNS_NAME_MAXTEXT]; static char domainopt[DNS_NAME_MAXTEXT];
@ -406,6 +407,9 @@ isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) { printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
char servtext[ISC_SOCKADDR_FORMATSIZE]; char servtext[ISC_SOCKADDR_FORMATSIZE];
/* I've we've gotten this far, we've reached a server. */
query_error = 0;
debug("printmessage()"); debug("printmessage()");
isc_sockaddr_format(&query->sockaddr, servtext, sizeof(servtext)); isc_sockaddr_format(&query->sockaddr, servtext, sizeof(servtext));
@ -433,6 +437,9 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
(msg->rcode != dns_rcode_nxdomain) ? nametext : (msg->rcode != dns_rcode_nxdomain) ? nametext :
query->lookup->textname, rcode_totext(msg->rcode)); query->lookup->textname, rcode_totext(msg->rcode));
debug("returning with rcode == 0"); debug("returning with rcode == 0");
/* the lookup failed */
print_error |= 1;
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
} }
@ -887,5 +894,5 @@ main(int argc, char **argv) {
destroy_libs(); destroy_libs();
isc_app_finish(); isc_app_finish();
return (0); return (query_error | print_error);
} }

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2005, 2007-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium. # Copyright (C) 2000-2002 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,4 +1,4 @@
.\" Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2008-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" Permission to use, copy, modify, and/or distribute this software for any .\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above .\" purpose with or without fee is hereby granted, provided that the above
@ -55,7 +55,7 @@ Use SHA\-256 as the digest algorithm.
.RS 4 .RS 4
Select the digest algorithm. The value of Select the digest algorithm. The value of
\fBalgorithm\fR \fBalgorithm\fR
must be one of SHA\-1 (SHA1), SHA\-256 (SHA256) or GOST. These values are case insensitive. must be one of SHA\-1 (SHA1), SHA\-256 (SHA256), GOST or SHA\-384 (SHA384). These values are case insensitive.
.RE .RE
.PP .PP
\-K \fIdirectory\fR \-K \fIdirectory\fR
@ -139,5 +139,5 @@ RFC 4509.
.PP .PP
Internet Systems Consortium Internet Systems Consortium
.SH "COPYRIGHT" .SH "COPYRIGHT"
Copyright \(co 2008\-2010 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2008\-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
.br .br

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2008-2012 Internet Systems Consortium, Inc. ("ISC")
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above * purpose with or without fee is hereby granted, provided that the above
@ -296,7 +296,7 @@ usage(void) {
fprintf(stderr, " -K <directory>: directory in which to find " fprintf(stderr, " -K <directory>: directory in which to find "
"key file or keyset file\n"); "key file or keyset file\n");
fprintf(stderr, " -a algorithm: digest algorithm " fprintf(stderr, " -a algorithm: digest algorithm "
"(SHA-1, SHA-256 or GOST)\n"); "(SHA-1, SHA-256, GOST or SHA-384)\n");
fprintf(stderr, " -1: use SHA-1\n"); fprintf(stderr, " -1: use SHA-1\n");
fprintf(stderr, " -2: use SHA-256\n"); fprintf(stderr, " -2: use SHA-256\n");
fprintf(stderr, " -l: add lookaside zone and print DLV records\n"); fprintf(stderr, " -l: add lookaside zone and print DLV records\n");
@ -415,6 +415,9 @@ main(int argc, char **argv) {
else if (strcasecmp(algname, "GOST") == 0) else if (strcasecmp(algname, "GOST") == 0)
dtype = DNS_DSDIGEST_GOST; dtype = DNS_DSDIGEST_GOST;
#endif #endif
else if (strcasecmp(algname, "SHA384") == 0 ||
strcasecmp(algname, "SHA-384") == 0)
dtype = DNS_DSDIGEST_SHA384;
else else
fatal("unknown algorithm %s", algname); fatal("unknown algorithm %s", algname);
} }

View File

@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]> [<!ENTITY mdash "&#8212;">]>
<!-- <!--
- Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2008-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
- -
- Permission to use, copy, modify, and/or distribute this software for any - Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above - purpose with or without fee is hereby granted, provided that the above
@ -39,6 +39,7 @@
<year>2008</year> <year>2008</year>
<year>2009</year> <year>2009</year>
<year>2010</year> <year>2010</year>
<year>2012</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
@ -107,7 +108,8 @@
<para> <para>
Select the digest algorithm. The value of Select the digest algorithm. The value of
<option>algorithm</option> must be one of SHA-1 (SHA1), <option>algorithm</option> must be one of SHA-1 (SHA1),
SHA-256 (SHA256) or GOST. These values are case insensitive. SHA-256 (SHA256), GOST or SHA-384 (SHA384).
These values are case insensitive.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -1,5 +1,5 @@
<!-- <!--
- Copyright (C) 2008-2010 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2008-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
- -
- Permission to use, copy, modify, and/or distribute this software for any - Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above - purpose with or without fee is hereby granted, provided that the above
@ -32,14 +32,14 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543465"></a><h2>DESCRIPTION</h2> <a name="id2543468"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-dsfromkey</strong></span> <p><span><strong class="command">dnssec-dsfromkey</strong></span>
outputs the Delegation Signer (DS) resource record (RR), as defined in outputs the Delegation Signer (DS) resource record (RR), as defined in
RFC 3658 and RFC 4509, for the given key(s). RFC 3658 and RFC 4509, for the given key(s).
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543477"></a><h2>OPTIONS</h2> <a name="id2543480"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-1</span></dt> <dt><span class="term">-1</span></dt>
<dd><p> <dd><p>
@ -54,7 +54,8 @@
<dd><p> <dd><p>
Select the digest algorithm. The value of Select the digest algorithm. The value of
<code class="option">algorithm</code> must be one of SHA-1 (SHA1), <code class="option">algorithm</code> must be one of SHA-1 (SHA1),
SHA-256 (SHA256) or GOST. These values are case insensitive. SHA-256 (SHA256), GOST or SHA-384 (SHA384).
These values are case insensitive.
</p></dd> </p></dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt> <dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p> <dd><p>
@ -100,7 +101,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543664"></a><h2>EXAMPLE</h2> <a name="id2543667"></a><h2>EXAMPLE</h2>
<p> <p>
To build the SHA-256 DS RR from the To build the SHA-256 DS RR from the
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong> <strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
@ -115,7 +116,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543693"></a><h2>FILES</h2> <a name="id2543697"></a><h2>FILES</h2>
<p> <p>
The keyfile can be designed by the key identification The keyfile can be designed by the key identification
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name <code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
@ -129,13 +130,13 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543729"></a><h2>CAVEAT</h2> <a name="id2543732"></a><h2>CAVEAT</h2>
<p> <p>
A keyfile error can give a "file not found" even if the file exists. A keyfile error can give a "file not found" even if the file exists.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543738"></a><h2>SEE ALSO</h2> <a name="id2543741"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@ -145,7 +146,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543778"></a><h2>AUTHOR</h2> <a name="id2543781"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -1,4 +1,4 @@
.\" Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2008-2012 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" Permission to use, copy, modify, and/or distribute this software for any .\" Permission to use, copy, modify, and/or distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above .\" purpose with or without fee is hereby granted, provided that the above
@ -47,7 +47,7 @@ of the key is specified on the command line. This must match the name of the zon
.RS 4 .RS 4
Selects the cryptographic algorithm. The value of Selects the cryptographic algorithm. The value of
\fBalgorithm\fR \fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. These values are case insensitive. must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 or ECDSAP384SHA384. These values are case insensitive.
.sp .sp
If no algorithm is specified, then RSASHA1 will be used by default, unless the If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR \fB\-3\fR
@ -215,5 +215,5 @@ RFC 4034.
.PP .PP
Internet Systems Consortium Internet Systems Consortium
.SH "COPYRIGHT" .SH "COPYRIGHT"
Copyright \(co 2008\-2011 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2008\-2012 Internet Systems Consortium, Inc. ("ISC")
.br .br

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2007-2011 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2007-2012 Internet Systems Consortium, Inc. ("ISC")
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above * purpose with or without fee is hereby granted, provided that the above
@ -55,7 +55,8 @@ int verbose;
static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 |" static const char *algs = "RSA | RSAMD5 | DH | DSA | RSASHA1 |"
" NSEC3DSA | NSEC3RSASHA1 |" " NSEC3DSA | NSEC3RSASHA1 |"
" RSASHA256 | RSASHA512 | ECCGOST"; " RSASHA256 | RSASHA512 | ECCGOST |"
" ECDSAP256SHA256 | ECDSAP384SHA384";
ISC_PLATFORM_NORETURN_PRE static void ISC_PLATFORM_NORETURN_PRE static void
usage(void) ISC_PLATFORM_NORETURN_POST; usage(void) ISC_PLATFORM_NORETURN_POST;
@ -369,7 +370,8 @@ main(int argc, char **argv) {
if (use_nsec3 && if (use_nsec3 &&
alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 && alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 &&
alg != DST_ALG_RSASHA256 && alg != DST_ALG_RSASHA512 && alg != DST_ALG_RSASHA256 && alg != DST_ALG_RSASHA512 &&
alg != DST_ALG_ECCGOST) { alg != DST_ALG_ECCGOST &&
alg != DST_ALG_ECDSA256 && alg != DST_ALG_ECDSA384) {
fatal("%s is incompatible with NSEC3; " fatal("%s is incompatible with NSEC3; "
"do not use the -3 option", algname); "do not use the -3 option", algname);
} }

View File

@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]> [<!ENTITY mdash "&#8212;">]>
<!-- <!--
- Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2008-2012 Internet Systems Consortium, Inc. ("ISC")
- -
- Permission to use, copy, modify, and/or distribute this software for any - Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above - purpose with or without fee is hereby granted, provided that the above
@ -40,6 +40,7 @@
<year>2009</year> <year>2009</year>
<year>2010</year> <year>2010</year>
<year>2011</year> <year>2011</year>
<year>2012</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
@ -94,7 +95,8 @@
<para> <para>
Selects the cryptographic algorithm. The value of Selects the cryptographic algorithm. The value of
<option>algorithm</option> must be one of RSAMD5, RSASHA1, <option>algorithm</option> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
These values are case insensitive. These values are case insensitive.
</para> </para>
<para> <para>

View File

@ -1,5 +1,5 @@
<!-- <!--
- Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2008-2012 Internet Systems Consortium, Inc. ("ISC")
- -
- Permission to use, copy, modify, and/or distribute this software for any - Permission to use, copy, modify, and/or distribute this software for any
- purpose with or without fee is hereby granted, provided that the above - purpose with or without fee is hereby granted, provided that the above
@ -31,7 +31,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543495"></a><h2>DESCRIPTION</h2> <a name="id2543498"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keyfromlabel</strong></span> <p><span><strong class="command">dnssec-keyfromlabel</strong></span>
gets keys with the given label from a crypto hardware and builds gets keys with the given label from a crypto hardware and builds
key files for DNSSEC (Secure DNS), as defined in RFC 2535 key files for DNSSEC (Secure DNS), as defined in RFC 2535
@ -44,14 +44,15 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543513"></a><h2>OPTIONS</h2> <a name="id2543516"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt> <dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd> <dd>
<p> <p>
Selects the cryptographic algorithm. The value of Selects the cryptographic algorithm. The value of
<code class="option">algorithm</code> must be one of RSAMD5, RSASHA1, <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
These values are case insensitive. These values are case insensitive.
</p> </p>
<p> <p>
@ -163,7 +164,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543877"></a><h2>TIMING OPTIONS</h2> <a name="id2543880"></a><h2>TIMING OPTIONS</h2>
<p> <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as If the argument begins with a '+' or '-', it is interpreted as
@ -210,7 +211,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2544043"></a><h2>GENERATED KEY FILES</h2> <a name="id2544046"></a><h2>GENERATED KEY FILES</h2>
<p> <p>
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
successfully, successfully,
@ -249,7 +250,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2544116"></a><h2>SEE ALSO</h2> <a name="id2544119"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@ -257,7 +258,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2544149"></a><h2>AUTHOR</h2> <a name="id2544152"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -1,4 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2004, 2005, 2007-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium. .\" Copyright (C) 2000-2003 Internet Software Consortium.
.\" .\"
.\" Permission to use, copy, modify, and/or distribute this software for any .\" Permission to use, copy, modify, and/or distribute this software for any
@ -48,7 +48,7 @@ of the key is specified on the command line. For DNSSEC keys, this must match th
.RS 4 .RS 4
Selects the cryptographic algorithm. For DNSSEC keys, the value of Selects the cryptographic algorithm. For DNSSEC keys, the value of
\fBalgorithm\fR \fBalgorithm\fR
must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512. These values are case insensitive. must be one of RSAMD5, RSASHA1, DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 or ECDSAP384SHA384. For TSIG/TKEY, the value must be DH (Diffie Hellman), HMAC\-MD5, HMAC\-SHA1, HMAC\-SHA224, HMAC\-SHA256, HMAC\-SHA384, or HMAC\-SHA512. These values are case insensitive.
.sp .sp
If no algorithm is specified, then RSASHA1 will be used by default, unless the If no algorithm is specified, then RSASHA1 will be used by default, unless the
\fB\-3\fR \fB\-3\fR
@ -63,7 +63,7 @@ Note 2: DH, HMAC\-MD5, and HMAC\-SHA1 through HMAC\-SHA512 automatically set the
.PP .PP
\-b \fIkeysize\fR \-b \fIkeysize\fR
.RS 4 .RS 4
Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC keys must be between 1 and 512 bits. Specifies the number of bits in the key. The choice of key size depends on the algorithm used. RSA keys must be between 512 and 2048 bits. Diffie Hellman keys must be between 128 and 4096 bits. DSA keys must be between 512 and 1024 bits and an exact multiple of 64. HMAC keys must be between 1 and 512 bits. Elliptic curve algorithms don't need this parameter.
.sp .sp
The key size does not need to be specified if using a default algorithm. The default key size is 1024 bits for zone signing keys (ZSK's) and 2048 bits for key signing keys (KSK's, generated with The key size does not need to be specified if using a default algorithm. The default key size is 1024 bits for zone signing keys (ZSK's) and 2048 bits for key signing keys (KSK's, generated with
\fB\-f KSK\fR). However, if an algorithm is explicitly specified with the \fB\-f KSK\fR). However, if an algorithm is explicitly specified with the
@ -81,7 +81,7 @@ must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a
.PP .PP
\-3 \-3
.RS 4 .RS 4
Use an NSEC3\-capable algorithm to generate a DNSSEC key. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms are NSEC3\-capable. Use an NSEC3\-capable algorithm to generate a DNSSEC key. If this option is used and no algorithm is explicitly set on the command line, NSEC3RSASHA1 will be used by default. Note that RSASHA256, RSASHA512, ECCGOST, ECDSAP256SHA256 and ECDSAP384SHA384 algorithms are NSEC3\-capable.
.RE .RE
.PP .PP
\-C \-C
@ -298,7 +298,7 @@ RFC 4034.
.PP .PP
Internet Systems Consortium Internet Systems Consortium
.SH "COPYRIGHT" .SH "COPYRIGHT"
Copyright \(co 2004, 2005, 2007\-2010 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2004, 2005, 2007\-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
.br .br
Copyright \(co 2000\-2003 Internet Software Consortium. Copyright \(co 2000\-2003 Internet Software Consortium.
.br .br

View File

@ -1,5 +1,5 @@
/* /*
* Portions Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") * Portions Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2003 Internet Software Consortium. * Portions Copyright (C) 1999-2003 Internet Software Consortium.
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
@ -85,6 +85,7 @@ usage(void) {
fprintf(stderr, " RSA | RSAMD5 | DSA | RSASHA1 | NSEC3RSASHA1" fprintf(stderr, " RSA | RSAMD5 | DSA | RSASHA1 | NSEC3RSASHA1"
" | NSEC3DSA |\n"); " | NSEC3DSA |\n");
fprintf(stderr, " RSASHA256 | RSASHA512 | ECCGOST |\n"); fprintf(stderr, " RSASHA256 | RSASHA512 | ECCGOST |\n");
fprintf(stderr, " ECDSAP256SHA256 | ECDSAP384SHA384 |\n");
fprintf(stderr, " DH | HMAC-MD5 | HMAC-SHA1 | HMAC-SHA224 | " fprintf(stderr, " DH | HMAC-MD5 | HMAC-SHA1 | HMAC-SHA224 | "
"HMAC-SHA256 | \n"); "HMAC-SHA256 | \n");
fprintf(stderr, " HMAC-SHA384 | HMAC-SHA512\n"); fprintf(stderr, " HMAC-SHA384 | HMAC-SHA512\n");
@ -102,6 +103,8 @@ usage(void) {
fprintf(stderr, " NSEC3DSA:\t[512..1024] and divisible " fprintf(stderr, " NSEC3DSA:\t[512..1024] and divisible "
"by 64\n"); "by 64\n");
fprintf(stderr, " ECCGOST:\tignored\n"); fprintf(stderr, " ECCGOST:\tignored\n");
fprintf(stderr, " ECDSAP256SHA256:\tignored\n");
fprintf(stderr, " ECDSAP384SHA384:\tignored\n");
fprintf(stderr, " HMAC-MD5:\t[1..512]\n"); fprintf(stderr, " HMAC-MD5:\t[1..512]\n");
fprintf(stderr, " HMAC-SHA1:\t[1..160]\n"); fprintf(stderr, " HMAC-SHA1:\t[1..160]\n");
fprintf(stderr, " HMAC-SHA224:\t[1..224]\n"); fprintf(stderr, " HMAC-SHA224:\t[1..224]\n");
@ -549,7 +552,8 @@ main(int argc, char **argv) {
if (use_nsec3 && if (use_nsec3 &&
alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 && alg != DST_ALG_NSEC3DSA && alg != DST_ALG_NSEC3RSASHA1 &&
alg != DST_ALG_RSASHA256 && alg!= DST_ALG_RSASHA512 && alg != DST_ALG_RSASHA256 && alg!= DST_ALG_RSASHA512 &&
alg != DST_ALG_ECCGOST) { alg != DST_ALG_ECCGOST &&
alg != DST_ALG_ECDSA256 && alg != DST_ALG_ECDSA384) {
fatal("%s is incompatible with NSEC3; " fatal("%s is incompatible with NSEC3; "
"do not use the -3 option", algname); "do not use the -3 option", algname);
} }
@ -579,9 +583,11 @@ main(int argc, char **argv) {
size = 1024; size = 1024;
if (verbose > 0) if (verbose > 0)
fprintf(stderr, "key size not " fprintf(stderr, "key size not "
"specified; defaulting " "specified; defaulting"
"to %d\n", size); " to %d\n", size);
} else if (alg != DST_ALG_ECCGOST) } else if (alg != DST_ALG_ECCGOST &&
alg != DST_ALG_ECDSA256 &&
alg != DST_ALG_ECDSA384)
fatal("key size not specified (-b option)"); fatal("key size not specified (-b option)");
} }
@ -710,6 +716,8 @@ main(int argc, char **argv) {
fatal("invalid DSS key size: %d", size); fatal("invalid DSS key size: %d", size);
break; break;
case DST_ALG_ECCGOST: case DST_ALG_ECCGOST:
case DST_ALG_ECDSA256:
case DST_ALG_ECDSA384:
break; break;
case DST_ALG_HMACMD5: case DST_ALG_HMACMD5:
options |= DST_TYPE_KEY; options |= DST_TYPE_KEY;
@ -775,7 +783,8 @@ main(int argc, char **argv) {
if (!(alg == DNS_KEYALG_RSAMD5 || alg == DNS_KEYALG_RSASHA1 || if (!(alg == DNS_KEYALG_RSAMD5 || alg == DNS_KEYALG_RSASHA1 ||
alg == DNS_KEYALG_NSEC3RSASHA1 || alg == DNS_KEYALG_RSASHA256 || alg == DNS_KEYALG_NSEC3RSASHA1 || alg == DNS_KEYALG_RSASHA256 ||
alg == DNS_KEYALG_RSASHA512 || alg == DST_ALG_ECCGOST) && alg == DNS_KEYALG_RSASHA512 || alg == DST_ALG_ECCGOST ||
alg == DST_ALG_ECDSA256 || alg == DST_ALG_ECDSA384) &&
rsa_exp != 0) rsa_exp != 0)
fatal("specified RSA exponent for a non-RSA key"); fatal("specified RSA exponent for a non-RSA key");
@ -849,6 +858,8 @@ main(int argc, char **argv) {
case DNS_KEYALG_DSA: case DNS_KEYALG_DSA:
case DNS_KEYALG_NSEC3DSA: case DNS_KEYALG_NSEC3DSA:
case DST_ALG_ECCGOST: case DST_ALG_ECCGOST:
case DST_ALG_ECDSA256:
case DST_ALG_ECDSA384:
show_progress = ISC_TRUE; show_progress = ISC_TRUE;
/* fall through */ /* fall through */

View File

@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]> [<!ENTITY mdash "&#8212;">]>
<!-- <!--
- Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2004, 2005, 2007-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium. - Copyright (C) 2000-2003 Internet Software Consortium.
- -
- Permission to use, copy, modify, and/or distribute this software for any - Permission to use, copy, modify, and/or distribute this software for any
@ -43,6 +43,7 @@
<year>2008</year> <year>2008</year>
<year>2009</year> <year>2009</year>
<year>2010</year> <year>2010</year>
<year>2012</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
<copyright> <copyright>
@ -114,7 +115,8 @@
<para> <para>
Selects the cryptographic algorithm. For DNSSEC keys, the value Selects the cryptographic algorithm. For DNSSEC keys, the value
of <option>algorithm</option> must be one of RSAMD5, RSASHA1, of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
For TSIG/TKEY, the value must For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224, be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@ -148,7 +150,8 @@
between 512 and 2048 bits. Diffie Hellman keys must be between between 512 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. DSA keys must be between 512 and 1024 128 and 4096 bits. DSA keys must be between 512 and 1024
bits and an exact multiple of 64. HMAC keys must be bits and an exact multiple of 64. HMAC keys must be
between 1 and 512 bits. between 1 and 512 bits. Elliptic curve algorithms don't need
this parameter.
</para> </para>
<para> <para>
The key size does not need to be specified if using a default The key size does not need to be specified if using a default
@ -184,7 +187,8 @@
Use an NSEC3-capable algorithm to generate a DNSSEC key. Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by set on the command line, NSEC3RSASHA1 will be used by
default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms default. Note that RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 and ECDSAP384SHA384 algorithms
are NSEC3-capable. are NSEC3-capable.
</para> </para>
</listitem> </listitem>

View File

@ -1,5 +1,5 @@
<!-- <!--
- Copyright (C) 2004, 2005, 2007-2010 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2004, 2005, 2007-2010, 2012 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium. - Copyright (C) 2000-2003 Internet Software Consortium.
- -
- Permission to use, copy, modify, and/or distribute this software for any - Permission to use, copy, modify, and/or distribute this software for any
@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {name}</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {name}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543579"></a><h2>DESCRIPTION</h2> <a name="id2543582"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keygen</strong></span> <p><span><strong class="command">dnssec-keygen</strong></span>
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
and RFC 4034. It can also generate keys for use with and RFC 4034. It can also generate keys for use with
@ -46,14 +46,15 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2543597"></a><h2>OPTIONS</h2> <a name="id2543601"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt> <dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd> <dd>
<p> <p>
Selects the cryptographic algorithm. For DNSSEC keys, the value Selects the cryptographic algorithm. For DNSSEC keys, the value
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1, of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
For TSIG/TKEY, the value must For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224, be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@ -84,7 +85,8 @@
between 512 and 2048 bits. Diffie Hellman keys must be between between 512 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. DSA keys must be between 512 and 1024 128 and 4096 bits. DSA keys must be between 512 and 1024
bits and an exact multiple of 64. HMAC keys must be bits and an exact multiple of 64. HMAC keys must be
between 1 and 512 bits. between 1 and 512 bits. Elliptic curve algorithms don't need
this parameter.
</p> </p>
<p> <p>
The key size does not need to be specified if using a default The key size does not need to be specified if using a default
@ -111,7 +113,8 @@
Use an NSEC3-capable algorithm to generate a DNSSEC key. Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by set on the command line, NSEC3RSASHA1 will be used by
default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms default. Note that RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 and ECDSAP384SHA384 algorithms
are NSEC3-capable. are NSEC3-capable.
</p></dd> </p></dd>
<dt><span class="term">-C</span></dt> <dt><span class="term">-C</span></dt>
@ -248,7 +251,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2544166"></a><h2>TIMING OPTIONS</h2> <a name="id2544169"></a><h2>TIMING OPTIONS</h2>
<p> <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as If the argument begins with a '+' or '-', it is interpreted as
@ -319,7 +322,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2544356"></a><h2>GENERATED KEYS</h2> <a name="id2544359"></a><h2>GENERATED KEYS</h2>
<p> <p>
When <span><strong class="command">dnssec-keygen</strong></span> completes When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully, successfully,
@ -365,7 +368,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2544506"></a><h2>EXAMPLE</h2> <a name="id2544441"></a><h2>EXAMPLE</h2>
<p> <p>
To generate a 768-bit DSA key for the domain To generate a 768-bit DSA key for the domain
<strong class="userinput"><code>example.com</code></strong>, the following command would be <strong class="userinput"><code>example.com</code></strong>, the following command would be
@ -386,7 +389,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2544550"></a><h2>SEE ALSO</h2> <a name="id2544485"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2539</em>, <em class="citetitle">RFC 2539</em>,
@ -395,7 +398,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2544581"></a><h2>AUTHOR</h2> <a name="id2544584"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2009-2011 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2009-2012 Internet Systems Consortium, Inc. ("ISC")
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above * purpose with or without fee is hereby granted, provided that the above
@ -38,6 +38,7 @@
#include <dns/keyvalues.h> #include <dns/keyvalues.h>
#include <dns/result.h> #include <dns/result.h>
#include <dns/log.h>
#include <dst/dst.h> #include <dst/dst.h>
@ -151,6 +152,7 @@ main(int argc, char **argv) {
isc_boolean_t force = ISC_FALSE; isc_boolean_t force = ISC_FALSE;
isc_boolean_t epoch = ISC_FALSE; isc_boolean_t epoch = ISC_FALSE;
isc_boolean_t changed = ISC_FALSE; isc_boolean_t changed = ISC_FALSE;
isc_log_t *log = NULL;
if (argc == 1) if (argc == 1)
usage(); usage();
@ -159,6 +161,8 @@ main(int argc, char **argv) {
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("Out of memory"); fatal("Out of memory");
setup_logging(verbose, mctx, &log);
dns_result_register(); dns_result_register();
isc_commandline_errprint = ISC_FALSE; isc_commandline_errprint = ISC_FALSE;
@ -578,6 +582,7 @@ main(int argc, char **argv) {
cleanup_entropy(&ectx); cleanup_entropy(&ectx);
if (verbose > 10) if (verbose > 10)
isc_mem_stats(mctx, stdout); isc_mem_stats(mctx, stdout);
cleanup_logging(&log);
isc_mem_free(mctx, directory); isc_mem_free(mctx, directory);
isc_mem_destroy(&mctx); isc_mem_destroy(&mctx);

View File

@ -3893,7 +3893,10 @@ main(int argc, char *argv[]) {
check_result(result, "isc_file_mktemplate"); check_result(result, "isc_file_mktemplate");
fp = NULL; fp = NULL;
result = isc_file_openunique(tempfile, &fp); if (outputformat == dns_masterformat_text)
result = isc_file_openunique(tempfile, &fp);
else
result = isc_file_bopenunique(tempfile, &fp);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("failed to open temporary output file: %s", fatal("failed to open temporary output file: %s",
isc_result_totext(result)); isc_result_totext(result));

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002 Internet Software Consortium. # Copyright (C) 1998-2002 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -99,9 +99,9 @@ static size_t
dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata) { dns64_rdata(unsigned char *v, size_t start, unsigned char *rdata) {
size_t i, j = 0; size_t i, j = 0;
for (i = 0; i < 4; i++) { for (i = 0; i < 4U; i++) {
unsigned char c = v[start++]; unsigned char c = v[start++];
if (start == 7) if (start == 7U)
start++; start++;
if (c > 99) { if (c > 99) {
rdata[j++] = 3; rdata[j++] = 3;
@ -164,7 +164,7 @@ dns64_cname(const dns_name_t *zone, const dns_name_t *name,
i = (nlen % 4) == 2U ? 1 : 0; i = (nlen % 4) == 2U ? 1 : 0;
j = nlen; j = nlen;
memset(v, 0, sizeof(v)); memset(v, 0, sizeof(v));
while (j != 0) { while (j != 0U) {
INSIST((i/2) < sizeof(v)); INSIST((i/2) < sizeof(v));
if (ndata[0] != 1) if (ndata[0] != 1)
return (ISC_R_NOTFOUND); return (ISC_R_NOTFOUND);

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001-2003 Internet Software Consortium. * Copyright (C) 2001-2003 Internet Software Consortium.
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
@ -89,7 +89,7 @@ options {\n\
#endif #endif
"\ "\
recursive-clients 1000;\n\ recursive-clients 1000;\n\
resolver-query-timeout 30;\n\ resolver-query-timeout 10;\n\
rrset-order {type NS order random; order cyclic; };\n\ rrset-order {type NS order random; order cyclic; };\n\
serial-queries 20;\n\ serial-queries 20;\n\
serial-query-rate 20;\n\ serial-query-rate 20;\n\

View File

@ -373,8 +373,10 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (result == ISC_R_SUCCESS) if (result == ISC_R_SUCCESS)
break; break;
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret)); isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
log_invalid(&conn->ccmsg, result); if (result != ISCCC_R_BADAUTH) {
goto cleanup; log_invalid(&conn->ccmsg, result);
goto cleanup;
}
} }
if (key == NULL) { if (key == NULL) {

View File

@ -1,6 +1,6 @@
#!/usr/bin/env perl #!/usr/bin/env perl
# #
# Copyright (C) 2006-2008 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2006-2008, 2012 Internet Systems Consortium, Inc. ("ISC")
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above # purpose with or without fee is hereby granted, provided that the above

View File

@ -25,6 +25,7 @@
#include <isc/hex.h> #include <isc/hex.h>
#include <isc/mem.h> #include <isc/mem.h>
#include <isc/serial.h>
#include <isc/stats.h> #include <isc/stats.h>
#include <isc/util.h> #include <isc/util.h>
@ -2775,11 +2776,12 @@ query_add_cname(ns_client_t *client, dns_name_t *qname, dns_name_t *tname,
*/ */
static void static void
mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name, mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name,
isc_uint32_t ttl, dns_rdataset_t *rdataset, dns_rdata_rrsig_t *rrsig, dns_rdataset_t *rdataset,
dns_rdataset_t *sigrdataset) dns_rdataset_t *sigrdataset)
{ {
isc_result_t result; isc_result_t result;
dns_dbnode_t *node = NULL; dns_dbnode_t *node = NULL;
isc_stdtime_t now;
rdataset->trust = dns_trust_secure; rdataset->trust = dns_trust_secure;
sigrdataset->trust = dns_trust_secure; sigrdataset->trust = dns_trust_secure;
@ -2790,17 +2792,10 @@ mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name,
result = dns_db_findnode(db, name, ISC_TRUE, &node); result = dns_db_findnode(db, name, ISC_TRUE, &node);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
return; return;
/*
* Bound the validated ttls then minimise. isc_stdtime_get(&now);
*/ dns_rdataset_trimttl(rdataset, sigrdataset, rrsig, now,
if (sigrdataset->ttl > ttl) client->view->acceptexpired);
sigrdataset->ttl = ttl;
if (rdataset->ttl > ttl)
rdataset->ttl = ttl;
if (rdataset->ttl > sigrdataset->ttl)
rdataset->ttl = sigrdataset->ttl;
else
sigrdataset->ttl = rdataset->ttl;
(void)dns_db_addrdataset(db, node, NULL, client->now, rdataset, (void)dns_db_addrdataset(db, node, NULL, client->now, rdataset,
0, NULL); 0, NULL);
@ -2925,8 +2920,7 @@ validate(ns_client_t *client, dns_db_t *db, dns_name_t *name,
client->view->acceptexpired)) { client->view->acceptexpired)) {
dst_key_free(&key); dst_key_free(&key);
dns_rdataset_disassociate(&keyrdataset); dns_rdataset_disassociate(&keyrdataset);
mark_secure(client, db, name, mark_secure(client, db, name, &rrsig,
rrsig.originalttl,
rdataset, sigrdataset); rdataset, sigrdataset);
return (ISC_TRUE); return (ISC_TRUE);
} }
@ -3802,6 +3796,13 @@ rpz_clean(dns_zone_t **zonep, dns_db_t **dbp, dns_dbnode_t **nodep,
dns_rdataset_disassociate(*rdatasetp); dns_rdataset_disassociate(*rdatasetp);
} }
static void
rpz_match_clear(dns_rpz_st_t *st)
{
rpz_clean(&st->m.zone, &st->m.db, &st->m.node, &st->m.rdataset);
st->m.version = NULL;
}
static inline isc_result_t static inline isc_result_t
rpz_ready(ns_client_t *client, dns_zone_t **zonep, dns_db_t **dbp, rpz_ready(ns_client_t *client, dns_zone_t **zonep, dns_db_t **dbp,
dns_dbnode_t **nodep, dns_rdataset_t **rdatasetp) dns_dbnode_t **nodep, dns_rdataset_t **rdatasetp)
@ -3821,10 +3822,9 @@ static void
rpz_st_clear(ns_client_t *client) { rpz_st_clear(ns_client_t *client) {
dns_rpz_st_t *st = client->query.rpz_st; dns_rpz_st_t *st = client->query.rpz_st;
rpz_clean(&st->m.zone, &st->m.db, &st->m.node, NULL);
st->m.version = NULL;
if (st->m.rdataset != NULL) if (st->m.rdataset != NULL)
query_putrdataset(client, &st->m.rdataset); query_putrdataset(client, &st->m.rdataset);
rpz_match_clear(st);
rpz_clean(NULL, &st->r.db, NULL, NULL); rpz_clean(NULL, &st->r.db, NULL, NULL);
if (st->r.ns_rdataset != NULL) if (st->r.ns_rdataset != NULL)
@ -3974,6 +3974,9 @@ rpz_rewrite_ip(ns_client_t *client, dns_rdataset_t *rdataset,
for (rpz = ISC_LIST_HEAD(client->view->rpz_zones); for (rpz = ISC_LIST_HEAD(client->view->rpz_zones);
rpz != NULL; rpz != NULL;
rpz = ISC_LIST_NEXT(rpz, link)) { rpz = ISC_LIST_NEXT(rpz, link)) {
if (!RECURSIONOK(client) && rpz->recursive_only)
continue;
/* /*
* Do not check policy zones that cannot replace a policy * Do not check policy zones that cannot replace a policy
* already known to match. * already known to match.
@ -4002,9 +4005,8 @@ rpz_rewrite_ip(ns_client_t *client, dns_rdataset_t *rdataset,
* hit, if any. Note the domain name and quality of the * hit, if any. Note the domain name and quality of the
* best hit. * best hit.
*/ */
(void)dns_db_rpz_findips(rpz, rpz_type, zone, db, version, dns_db_rpz_findips(rpz, rpz_type, zone, db, version,
rdataset, st, rdataset, st, client->query.rpz_st->qname);
client->query.rpz_st->qname);
rpz_clean(&zone, &db, NULL, NULL); rpz_clean(&zone, &db, NULL, NULL);
} }
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
@ -4109,8 +4111,8 @@ rpz_rewrite_rrsets(ns_client_t *client, dns_rpz_type_t rpz_type,
*/ */
static isc_result_t static isc_result_t
rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef, rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
dns_name_t *sname, dns_rpz_type_t rpz_type, dns_zone_t **zonep, dns_name_t *sname, dns_rpz_zone_t *rpz, dns_rpz_type_t rpz_type,
dns_db_t **dbp, dns_dbversion_t **versionp, dns_zone_t **zonep, dns_db_t **dbp, dns_dbversion_t **versionp,
dns_dbnode_t **nodep, dns_rdataset_t **rdatasetp, dns_dbnode_t **nodep, dns_rdataset_t **rdatasetp,
dns_rpz_policy_t *policyp) dns_rpz_policy_t *policyp)
{ {
@ -4149,7 +4151,7 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
dns_db_detachnode(*dbp, nodep); dns_db_detachnode(*dbp, nodep);
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, rpz_type, rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, rpz_type,
qnamef, "allrdatasets()", result); qnamef, "allrdatasets() ", result);
*policyp = DNS_RPZ_POLICY_ERROR; *policyp = DNS_RPZ_POLICY_ERROR;
return (DNS_R_SERVFAIL); return (DNS_R_SERVFAIL);
} }
@ -4166,7 +4168,7 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
if (result != ISC_R_NOMORE) { if (result != ISC_R_NOMORE) {
rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL, rpz_log_fail(client, DNS_RPZ_ERROR_LEVEL,
rpz_type, qnamef, "rdatasetiter", rpz_type, qnamef, "rdatasetiter ",
result); result);
*policyp = DNS_RPZ_POLICY_ERROR; *policyp = DNS_RPZ_POLICY_ERROR;
return (DNS_R_SERVFAIL); return (DNS_R_SERVFAIL);
@ -4194,7 +4196,7 @@ rpz_find(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qnamef,
if ((*rdatasetp)->type != dns_rdatatype_cname) { if ((*rdatasetp)->type != dns_rdatatype_cname) {
policy = DNS_RPZ_POLICY_RECORD; policy = DNS_RPZ_POLICY_RECORD;
} else { } else {
policy = dns_rpz_decode_cname(*rdatasetp, sname); policy = dns_rpz_decode_cname(rpz, *rdatasetp, sname);
if ((policy == DNS_RPZ_POLICY_RECORD || if ((policy == DNS_RPZ_POLICY_RECORD ||
policy == DNS_RPZ_POLICY_WILDCNAME) && policy == DNS_RPZ_POLICY_WILDCNAME) &&
qtype != dns_rdatatype_cname && qtype != dns_rdatatype_cname &&
@ -4265,6 +4267,9 @@ rpz_rewrite_name(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
for (rpz = ISC_LIST_HEAD(client->view->rpz_zones); for (rpz = ISC_LIST_HEAD(client->view->rpz_zones);
rpz != NULL; rpz != NULL;
rpz = ISC_LIST_NEXT(rpz, link)) { rpz = ISC_LIST_NEXT(rpz, link)) {
if (!RECURSIONOK(client) && rpz->recursive_only)
continue;
/* /*
* Do not check policy zones that cannot replace a policy * Do not check policy zones that cannot replace a policy
* already known to match. * already known to match.
@ -4310,11 +4315,11 @@ rpz_rewrite_name(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
} }
/* /*
* See if the policy record exists. * See if the policy record exists and get its policy.
*/ */
result = rpz_find(client, qtype, rpz_qname, qname, rpz_type, result = rpz_find(client, qtype, rpz_qname, qname, rpz,
&zone, &db, &version, &node, rdatasetp, rpz_type, &zone, &db, &version, &node,
&policy); rdatasetp, &policy);
switch (result) { switch (result) {
case DNS_R_NXDOMAIN: case DNS_R_NXDOMAIN:
case DNS_R_EMPTYNAME: case DNS_R_EMPTYNAME:
@ -4350,8 +4355,7 @@ rpz_rewrite_name(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
continue; continue;
} }
rpz_clean(&st->m.zone, &st->m.db, &st->m.node, rpz_match_clear(st);
&st->m.rdataset);
st->m.rpz = rpz; st->m.rpz = rpz;
st->m.type = rpz_type; st->m.type = rpz_type;
st->m.prefix = 0; st->m.prefix = 0;
@ -4365,9 +4369,11 @@ rpz_rewrite_name(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
trdataset = st->m.rdataset; trdataset = st->m.rdataset;
st->m.rdataset = *rdatasetp; st->m.rdataset = *rdatasetp;
*rdatasetp = trdataset; *rdatasetp = trdataset;
st->m.ttl = st->m.rdataset->ttl; st->m.ttl = ISC_MIN(st->m.rdataset->ttl,
rpz->max_policy_ttl);
} else { } else {
st->m.ttl = DNS_RPZ_TTL_DEFAULT; st->m.ttl = ISC_MIN(DNS_RPZ_TTL_DEFAULT,
rpz->max_policy_ttl);
} }
st->m.node = node; st->m.node = node;
node = NULL; node = NULL;
@ -4462,13 +4468,13 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, isc_result_t qresult,
case DNS_R_BROKENCHAIN: case DNS_R_BROKENCHAIN:
rpz_log_fail(client, DNS_RPZ_DEBUG_LEVEL3, DNS_RPZ_TYPE_QNAME, rpz_log_fail(client, DNS_RPZ_DEBUG_LEVEL3, DNS_RPZ_TYPE_QNAME,
client->query.qname, client->query.qname,
"stop on qresult in rpz_rewrite()", "stop on qresult in rpz_rewrite() ",
qresult); qresult);
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
default: default:
rpz_log_fail(client, DNS_RPZ_DEBUG_LEVEL1, DNS_RPZ_TYPE_QNAME, rpz_log_fail(client, DNS_RPZ_DEBUG_LEVEL1, DNS_RPZ_TYPE_QNAME,
client->query.qname, client->query.qname,
"stop on unrecognized qresult in rpz_rewrite()", "stop on unrecognized qresult in rpz_rewrite() ",
qresult); qresult);
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
} }
@ -4647,10 +4653,11 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, isc_result_t qresult,
if (st->m.policy == DNS_RPZ_POLICY_MISS || if (st->m.policy == DNS_RPZ_POLICY_MISS ||
st->m.policy == DNS_RPZ_POLICY_PASSTHRU || st->m.policy == DNS_RPZ_POLICY_PASSTHRU ||
st->m.policy == DNS_RPZ_POLICY_ERROR) { st->m.policy == DNS_RPZ_POLICY_ERROR) {
if (st->m.policy == DNS_RPZ_POLICY_PASSTHRU) if (st->m.policy == DNS_RPZ_POLICY_PASSTHRU &&
result != DNS_R_DELEGATION)
rpz_log_rewrite(client, "", st->m.policy, st->m.type, rpz_log_rewrite(client, "", st->m.policy, st->m.type,
st->qname); st->qname);
rpz_clean(&st->m.zone, &st->m.db, &st->m.node, &st->m.rdataset); rpz_match_clear(st);
} }
if (st->m.policy == DNS_RPZ_POLICY_ERROR) { if (st->m.policy == DNS_RPZ_POLICY_ERROR) {
st->m.type = DNS_RPZ_TYPE_BAD; st->m.type = DNS_RPZ_TYPE_BAD;
@ -4663,6 +4670,64 @@ rpz_rewrite(ns_client_t *client, dns_rdatatype_t qtype, isc_result_t qresult,
return (result); return (result);
} }
/*
* See if response policy zone rewriting is allowed a lack of interest
* by the client in DNSSEC or a lack of signatures.
*/
static isc_boolean_t
rpz_ck_dnssec(ns_client_t *client, isc_result_t result,
dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)
{
dns_fixedname_t fixed;
dns_name_t *found;
dns_rdataset_t trdataset;
dns_rdatatype_t type;
if (client->view->rpz_break_dnssec)
return (ISC_TRUE);
/*
* sigrdataset == NULL if and only !WANTDNSSEC(client)
*/
if (sigrdataset == NULL)
return (ISC_TRUE);
if (dns_rdataset_isassociated(sigrdataset))
return (ISC_FALSE);
/*
* We are happy to rewrite nothing.
*/
if (rdataset == NULL || !dns_rdataset_isassociated(rdataset))
return (ISC_TRUE);
/*
* Do not rewrite if there is any sign of signatures.
*/
if (rdataset->type == dns_rdatatype_nsec ||
rdataset->type == dns_rdatatype_nsec3 ||
rdataset->type == dns_rdatatype_rrsig)
return (ISC_FALSE);
/*
* Look for a signature in a negative cache rdataset.
*/
if ((rdataset->attributes & DNS_RDATASETATTR_NEGATIVE) == 0)
return (ISC_TRUE);
dns_fixedname_init(&fixed);
found = dns_fixedname_name(&fixed);
dns_rdataset_init(&trdataset);
for (result = dns_rdataset_first(rdataset);
result == ISC_R_SUCCESS;
result = dns_rdataset_next(rdataset)) {
dns_ncache_current(rdataset, found, &trdataset);
type = trdataset.type;
dns_rdataset_disassociate(&trdataset);
if (type == dns_rdatatype_nsec ||
type == dns_rdatatype_nsec3 ||
type == dns_rdatatype_rrsig)
return (ISC_FALSE);
}
return (ISC_TRUE);
}
/* /*
* Add a CNAME to the query response, including translating foo.evil.com and * Add a CNAME to the query response, including translating foo.evil.com and
* *.evil.com CNAME *.example.com * *.evil.com CNAME *.example.com
@ -4707,7 +4772,8 @@ rpz_add_cname(ns_client_t *client, dns_rpz_st_t *st,
* Turn off DNSSEC because the results of a * Turn off DNSSEC because the results of a
* response policy zone cannot verify. * response policy zone cannot verify.
*/ */
client->attributes &= ~NS_CLIENTATTR_WANTDNSSEC; client->attributes &= ~(NS_CLIENTATTR_WANTDNSSEC |
DNS_MESSAGEFLAG_AD);
return (ISC_R_SUCCESS); return (ISC_R_SUCCESS);
} }
@ -5117,10 +5183,12 @@ dns64_ttl(dns_db_t *db, dns_dbversion_t *version) {
isc_result_t result; isc_result_t result;
isc_uint32_t ttl = ISC_UINT32_MAX; isc_uint32_t ttl = ISC_UINT32_MAX;
dns_rdataset_init(&rdataset);
result = dns_db_getoriginnode(db, &node); result = dns_db_getoriginnode(db, &node);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
goto cleanup; goto cleanup;
dns_rdataset_init(&rdataset);
result = dns_db_findrdataset(db, node, version, dns_rdatatype_soa, result = dns_db_findrdataset(db, node, version, dns_rdatatype_soa,
0, 0, &rdataset, NULL); 0, 0, &rdataset, NULL);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
@ -5502,9 +5570,9 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
CTRACE("query_find: resume"); CTRACE("query_find: resume");
if (!ISC_LIST_EMPTY(client->view->rpz_zones) && if (!ISC_LIST_EMPTY(client->view->rpz_zones) &&
RECURSIONOK(client) && !RECURSING(client) && (RECURSIONOK(client) || !client->view->rpz_recursive_only) &&
(!WANTDNSSEC(client) || sigrdataset == NULL || rpz_ck_dnssec(client, result, rdataset, sigrdataset) &&
!dns_rdataset_isassociated(sigrdataset)) && !RECURSING(client) &&
(client->query.rpz_st == NULL || (client->query.rpz_st == NULL ||
(client->query.rpz_st->state & DNS_RPZ_REWRITTEN) == 0) && (client->query.rpz_st->state & DNS_RPZ_REWRITTEN) == 0) &&
!dns_name_equal(client->query.qname, dns_rootname)) { !dns_name_equal(client->query.qname, dns_rootname)) {
@ -5578,10 +5646,22 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
break; break;
case DNS_RPZ_POLICY_RECORD: case DNS_RPZ_POLICY_RECORD:
result = rpz_st->m.result; result = rpz_st->m.result;
if (type == dns_rdatatype_any && if (qtype == dns_rdatatype_any &&
result != DNS_R_CNAME && result != DNS_R_CNAME) {
dns_rdataset_isassociated(rdataset)) /*
dns_rdataset_disassociate(rdataset); * We will add all of the rdatasets of
* the node by iterating, setting the
* TTL then.
*/
if (dns_rdataset_isassociated(rdataset))
dns_rdataset_disassociate(rdataset);
} else {
/*
* We will add this rdataset.
*/
rdataset->ttl = ISC_MIN(rdataset->ttl,
rpz_st->m.ttl);
}
break; break;
case DNS_RPZ_POLICY_WILDCNAME: case DNS_RPZ_POLICY_WILDCNAME:
result = dns_rdataset_first(rdataset); result = dns_rdataset_first(rdataset);
@ -5620,7 +5700,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
* Turn off DNSSEC because the results of a * Turn off DNSSEC because the results of a
* response policy zone cannot verify. * response policy zone cannot verify.
*/ */
client->attributes &= ~NS_CLIENTATTR_WANTDNSSEC; client->attributes &= ~(NS_CLIENTATTR_WANTDNSSEC |
DNS_MESSAGEFLAG_AD);
query_putrdataset(client, &sigrdataset); query_putrdataset(client, &sigrdataset);
is_zone = ISC_TRUE; is_zone = ISC_TRUE;
rpz_log_rewrite(client, "", rpz_st->m.policy, rpz_log_rewrite(client, "", rpz_st->m.policy,
@ -6560,6 +6641,10 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
noqname = rdataset; noqname = rdataset;
else else
noqname = NULL; noqname = NULL;
rpz_st = client->query.rpz_st;
if (rpz_st != NULL)
rdataset->ttl = ISC_MIN(rdataset->ttl,
rpz_st->m.ttl);
query_addrrset(client, query_addrrset(client,
fname != NULL ? &fname : &tname, fname != NULL ? &fname : &tname,
&rdataset, NULL, &rdataset, NULL,
@ -6852,8 +6937,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/ */
rpz_st = client->query.rpz_st; rpz_st = client->query.rpz_st;
if (rpz_st != NULL && (rpz_st->state & DNS_RPZ_RECURSING) == 0) { if (rpz_st != NULL && (rpz_st->state & DNS_RPZ_RECURSING) == 0) {
rpz_clean(&rpz_st->m.zone, &rpz_st->m.db, &rpz_st->m.node, rpz_match_clear(rpz_st);
&rpz_st->m.rdataset);
rpz_st->state &= ~DNS_RPZ_DONE_QNAME; rpz_st->state &= ~DNS_RPZ_DONE_QNAME;
} }
if (rdataset != NULL) if (rdataset != NULL)

View File

@ -1430,15 +1430,14 @@ dns64_reverse(dns_view_t *view, isc_mem_t *mctx, isc_netaddr_t *na,
} }
static isc_result_t static isc_result_t
configure_rpz(dns_view_t *view, const cfg_listelt_t *element) { configure_rpz(dns_view_t *view, const cfg_listelt_t *element,
const cfg_obj_t *rpz_obj, *policy_obj; isc_boolean_t recursive_only_def, dns_ttl_t ttl_def)
{
const cfg_obj_t *rpz_obj, *policy_obj, *obj;
const char *str; const char *str;
dns_fixedname_t fixed;
dns_name_t *origin;
dns_rpz_zone_t *old, *new; dns_rpz_zone_t *old, *new;
dns_zone_t *zone = NULL; dns_zone_t *zone = NULL;
isc_result_t result; isc_result_t result;
unsigned int l1, l2;
new = isc_mem_get(view->mctx, sizeof(*new)); new = isc_mem_get(view->mctx, sizeof(*new));
if (new == NULL) { if (new == NULL) {
@ -1447,9 +1446,10 @@ configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
} }
memset(new, 0, sizeof(*new)); memset(new, 0, sizeof(*new));
dns_name_init(&new->nsdname, NULL);
dns_name_init(&new->origin, NULL); dns_name_init(&new->origin, NULL);
dns_name_init(&new->nsdname, NULL);
dns_name_init(&new->cname, NULL); dns_name_init(&new->cname, NULL);
dns_name_init(&new->passthru, NULL);
ISC_LIST_INITANDAPPEND(view->rpz_zones, new, link); ISC_LIST_INITANDAPPEND(view->rpz_zones, new, link);
rpz_obj = cfg_listelt_value(element); rpz_obj = cfg_listelt_value(element);
@ -1457,15 +1457,31 @@ configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
if (cfg_obj_isvoid(policy_obj)) { if (cfg_obj_isvoid(policy_obj)) {
new->policy = DNS_RPZ_POLICY_GIVEN; new->policy = DNS_RPZ_POLICY_GIVEN;
} else { } else {
str = cfg_obj_asstring(policy_obj); str = cfg_obj_asstring(cfg_tuple_get(policy_obj,
"policy name"));
new->policy = dns_rpz_str2policy(str); new->policy = dns_rpz_str2policy(str);
INSIST(new->policy != DNS_RPZ_POLICY_ERROR); INSIST(new->policy != DNS_RPZ_POLICY_ERROR);
} }
dns_fixedname_init(&fixed); obj = cfg_tuple_get(rpz_obj, "recursive-only");
origin = dns_fixedname_name(&fixed); if (cfg_obj_isvoid(obj)) {
str = cfg_obj_asstring(cfg_tuple_get(rpz_obj, "name")); new->recursive_only = recursive_only_def;
result = dns_name_fromstring(origin, str, DNS_NAME_DOWNCASE, NULL); } else {
new->recursive_only = cfg_obj_asboolean(obj);
}
if (!new->recursive_only)
view->rpz_recursive_only = ISC_FALSE;
obj = cfg_tuple_get(rpz_obj, "max-policy-ttl");
if (cfg_obj_isuint32(obj)) {
new->max_policy_ttl = cfg_obj_asuint32(obj);
} else {
new->max_policy_ttl = ttl_def;
}
str = cfg_obj_asstring(cfg_tuple_get(rpz_obj, "zone name"));
result = dns_name_fromstring(&new->origin, str, DNS_NAME_DOWNCASE,
view->mctx);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL, cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
"invalid zone '%s'", str); "invalid zone '%s'", str);
@ -1473,31 +1489,28 @@ configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
} }
result = dns_name_fromstring2(&new->nsdname, DNS_RPZ_NSDNAME_ZONE, result = dns_name_fromstring2(&new->nsdname, DNS_RPZ_NSDNAME_ZONE,
origin, DNS_NAME_DOWNCASE, view->mctx); &new->origin, DNS_NAME_DOWNCASE,
view->mctx);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL, cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
"invalid zone '%s'", str); "invalid zone '%s'", str);
goto cleanup; goto cleanup;
} }
/* result = dns_name_fromstring(&new->passthru, DNS_RPZ_PASSTHRU_ZONE,
* The origin is part of 'nsdname' so we don't need to keep it DNS_NAME_DOWNCASE, view->mctx);
* seperately. if (result != ISC_R_SUCCESS) {
*/ cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
l1 = dns_name_countlabels(&new->nsdname); "invalid zone '%s'", str);
l2 = dns_name_countlabels(origin); goto cleanup;
dns_name_getlabelsequence(&new->nsdname, l1 - l2, l2, &new->origin); }
/*
* Are we configured to with the reponse policy zone?
*/
result = dns_view_findzone(view, &new->origin, &zone); result = dns_view_findzone(view, &new->origin, &zone);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL, cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
"unknown zone '%s'", str); "unknown zone '%s'", str);
goto cleanup; goto cleanup;
} }
if (dns_zone_gettype(zone) != dns_zone_master && if (dns_zone_gettype(zone) != dns_zone_master &&
dns_zone_gettype(zone) != dns_zone_slave) { dns_zone_gettype(zone) != dns_zone_slave) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL, cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
@ -1521,8 +1534,9 @@ configure_rpz(dns_view_t *view, const cfg_listelt_t *element) {
} }
if (new->policy == DNS_RPZ_POLICY_CNAME) { if (new->policy == DNS_RPZ_POLICY_CNAME) {
str = cfg_obj_asstring(cfg_tuple_get(rpz_obj, "cname")); str = cfg_obj_asstring(cfg_tuple_get(policy_obj, "cname"));
result = dns_name_fromstring(&new->cname, str, 0, view->mctx); result = dns_name_fromstring(&new->cname, str,
DNS_NAME_DOWNCASE, view->mctx);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL, cfg_obj_log(rpz_obj, ns_g_lctx, DNS_RPZ_ERROR_LEVEL,
"invalid cname '%s'", str); "invalid cname '%s'", str);
@ -2876,19 +2890,39 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
* Make the list of response policy zone names for views that * Make the list of response policy zone names for views that
* are used for real lookups and so care about hints. * are used for real lookups and so care about hints.
*/ */
zonelist = NULL; obj = NULL;
if (view->rdclass == dns_rdataclass_in && need_hints) { if (view->rdclass == dns_rdataclass_in && need_hints &&
obj = NULL; ns_config_get(maps, "response-policy", &obj) == ISC_R_SUCCESS) {
result = ns_config_get(maps, "response-policy", &obj); const cfg_obj_t *recursive_only_obj;
if (result == ISC_R_SUCCESS) const cfg_obj_t *break_dnssec_obj, *ttl_obj;
cfg_map_get(obj, "zone", &zonelist); isc_boolean_t recursive_only_def;
} dns_ttl_t ttl_def;
if (zonelist != NULL) { recursive_only_obj = cfg_tuple_get(obj, "recursive-only");
for (element = cfg_list_first(zonelist); if (!cfg_obj_isvoid(recursive_only_obj) &&
!cfg_obj_asboolean(recursive_only_obj))
recursive_only_def = ISC_FALSE;
else
recursive_only_def = ISC_TRUE;
break_dnssec_obj = cfg_tuple_get(obj, "break-dnssec");
if (!cfg_obj_isvoid(break_dnssec_obj) &&
cfg_obj_asboolean(break_dnssec_obj))
view->rpz_break_dnssec = ISC_TRUE;
else
view->rpz_break_dnssec = ISC_FALSE;
ttl_obj = cfg_tuple_get(obj, "max-policy-ttl");
if (cfg_obj_isuint32(ttl_obj))
ttl_def = cfg_obj_asuint32(ttl_obj);
else
ttl_def = DNS_RPZ_MAX_TTL_DEFAULT;
for (element = cfg_list_first(cfg_tuple_get(obj, "zone list"));
element != NULL; element != NULL;
element = cfg_list_next(element)) { element = cfg_list_next(element)) {
result = configure_rpz(view, element); result = configure_rpz(view, element,
recursive_only_def, ttl_def);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
goto cleanup; goto cleanup;
dns_rpz_set_need(ISC_TRUE); dns_rpz_set_need(ISC_TRUE);
@ -5434,11 +5468,13 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
/* /*
* Setup the server task, which is responsible for coordinating * Setup the server task, which is responsible for coordinating
* startup and shutdown of the server. * startup and shutdown of the server, as well as all exclusive
* tasks.
*/ */
CHECKFATAL(isc_task_create(ns_g_taskmgr, 0, &server->task), CHECKFATAL(isc_task_create(ns_g_taskmgr, 0, &server->task),
"creating server task"); "creating server task");
isc_task_setname(server->task, "server", server); isc_task_setname(server->task, "server", server);
isc_taskmgr_setexcltask(ns_g_taskmgr, server->task);
CHECKFATAL(isc_task_onshutdown(server->task, shutdown_server, server), CHECKFATAL(isc_task_onshutdown(server->task, shutdown_server, server),
"isc_task_onshutdown"); "isc_task_onshutdown");
CHECKFATAL(isc_app_onrun(ns_g_mctx, server->task, run_server, server), CHECKFATAL(isc_app_onrun(ns_g_mctx, server->task, run_server, server),

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2008-2011 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2008-2012 Internet Systems Consortium, Inc. ("ISC")
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above * purpose with or without fee is hereby granted, provided that the above
@ -85,16 +85,19 @@ static const char *nsstats_desc[dns_nsstatscounter_max];
static const char *resstats_desc[dns_resstatscounter_max]; static const char *resstats_desc[dns_resstatscounter_max];
static const char *zonestats_desc[dns_zonestatscounter_max]; static const char *zonestats_desc[dns_zonestatscounter_max];
static const char *sockstats_desc[isc_sockstatscounter_max]; static const char *sockstats_desc[isc_sockstatscounter_max];
static const char *dnssecstats_desc[dns_dnssecstats_max];
#ifdef HAVE_LIBXML2 #ifdef HAVE_LIBXML2
static const char *nsstats_xmldesc[dns_nsstatscounter_max]; static const char *nsstats_xmldesc[dns_nsstatscounter_max];
static const char *resstats_xmldesc[dns_resstatscounter_max]; static const char *resstats_xmldesc[dns_resstatscounter_max];
static const char *zonestats_xmldesc[dns_zonestatscounter_max]; static const char *zonestats_xmldesc[dns_zonestatscounter_max];
static const char *sockstats_xmldesc[isc_sockstatscounter_max]; static const char *sockstats_xmldesc[isc_sockstatscounter_max];
static const char *dnssecstats_xmldesc[dns_dnssecstats_max];
#else #else
#define nsstats_xmldesc NULL #define nsstats_xmldesc NULL
#define resstats_xmldesc NULL #define resstats_xmldesc NULL
#define zonestats_xmldesc NULL #define zonestats_xmldesc NULL
#define sockstats_xmldesc NULL #define sockstats_xmldesc NULL
#define dnssecstats_xmldesc NULL
#endif /* HAVE_LIBXML2 */ #endif /* HAVE_LIBXML2 */
#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) #define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0)
@ -108,6 +111,7 @@ static int nsstats_index[dns_nsstatscounter_max];
static int resstats_index[dns_resstatscounter_max]; static int resstats_index[dns_resstatscounter_max];
static int zonestats_index[dns_zonestatscounter_max]; static int zonestats_index[dns_zonestatscounter_max];
static int sockstats_index[isc_sockstatscounter_max]; static int sockstats_index[isc_sockstatscounter_max];
static int dnssecstats_index[dns_dnssecstats_max];
static inline void static inline void
set_desc(int counter, int maxcounter, const char *fdesc, const char **fdescs, set_desc(int counter, int maxcounter, const char *fdesc, const char **fdescs,
@ -409,6 +413,33 @@ init_desc(void) {
"FDwatchRecvErr"); "FDwatchRecvErr");
INSIST(i == isc_sockstatscounter_max); INSIST(i == isc_sockstatscounter_max);
/* Initialize DNSSEC statistics */
for (i = 0; i < dns_dnssecstats_max; i++)
dnssecstats_desc[i] = NULL;
#ifdef HAVE_LIBXML2
for (i = 0; i < dns_dnssecstats_max; i++)
dnssecstats_xmldesc[i] = NULL;
#endif
#define SET_DNSSECSTATDESC(counterid, desc, xmldesc) \
do { \
set_desc(dns_dnssecstats_ ## counterid, \
dns_dnssecstats_max, \
desc, dnssecstats_desc,\
xmldesc, dnssecstats_xmldesc); \
dnssecstats_index[i++] = dns_dnssecstats_ ## counterid; \
} while (0)
i = 0;
SET_DNSSECSTATDESC(asis, "dnssec validation success with signer "
"\"as is\"", "DNSSECasis");
SET_DNSSECSTATDESC(downcase, "dnssec validation success with signer "
"lower cased", "DNSSECdowncase");
SET_DNSSECSTATDESC(wildcard, "dnssec validation of wildcard signature",
"DNSSECwild");
SET_DNSSECSTATDESC(fail, "dnssec validation failures", "DNSSECfail");
INSIST(i == dns_dnssecstats_max);
/* Sanity check */ /* Sanity check */
for (i = 0; i < dns_nsstatscounter_max; i++) for (i = 0; i < dns_nsstatscounter_max; i++)
INSIST(nsstats_desc[i] != NULL); INSIST(nsstats_desc[i] != NULL);
@ -418,6 +449,8 @@ init_desc(void) {
INSIST(zonestats_desc[i] != NULL); INSIST(zonestats_desc[i] != NULL);
for (i = 0; i < isc_sockstatscounter_max; i++) for (i = 0; i < isc_sockstatscounter_max; i++)
INSIST(sockstats_desc[i] != NULL); INSIST(sockstats_desc[i] != NULL);
for (i = 0; i < dns_dnssecstats_max; i++)
INSIST(dnssecstats_desc[i] != NULL);
#ifdef HAVE_LIBXML2 #ifdef HAVE_LIBXML2
for (i = 0; i < dns_nsstatscounter_max; i++) for (i = 0; i < dns_nsstatscounter_max; i++)
INSIST(nsstats_xmldesc[i] != NULL); INSIST(nsstats_xmldesc[i] != NULL);
@ -427,6 +460,8 @@ init_desc(void) {
INSIST(zonestats_xmldesc[i] != NULL); INSIST(zonestats_xmldesc[i] != NULL);
for (i = 0; i < isc_sockstatscounter_max; i++) for (i = 0; i < isc_sockstatscounter_max; i++)
INSIST(sockstats_xmldesc[i] != NULL); INSIST(sockstats_xmldesc[i] != NULL);
for (i = 0; i < dns_dnssecstats_max; i++)
INSIST(dnssecstats_xmldesc[i] != NULL);
#endif #endif
} }

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007, 2009, 2011 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium. # Copyright (C) 1999-2001 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2006-2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2006-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium. # Copyright (C) 2000-2002 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,5 +1,5 @@
/* /*
* Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium. * Copyright (C) 2000-2003 Internet Software Consortium.
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
@ -1122,7 +1122,7 @@ parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t **namep) {
isc_buffer_t source; isc_buffer_t source;
word = nsu_strsep(cmdlinep, " \t\r\n"); word = nsu_strsep(cmdlinep, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read owner name\n"); fprintf(stderr, "could not read owner name\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
@ -1154,6 +1154,11 @@ parse_rdata(char **cmdlinep, dns_rdataclass_t rdataclass,
dns_rdatacallbacks_t callbacks; dns_rdatacallbacks_t callbacks;
isc_result_t result; isc_result_t result;
if (cmdline == NULL) {
rdata->flags = DNS_RDATA_UPDATE;
return (STATUS_MORE);
}
while (*cmdline != 0 && isspace((unsigned char)*cmdline)) while (*cmdline != 0 && isspace((unsigned char)*cmdline))
cmdline++; cmdline++;
@ -1220,7 +1225,7 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) {
*/ */
if (isrrset) { if (isrrset) {
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read class or type\n"); fprintf(stderr, "could not read class or type\n");
goto failure; goto failure;
} }
@ -1236,7 +1241,7 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) {
* Now read the type. * Now read the type.
*/ */
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read type\n"); fprintf(stderr, "could not read type\n");
goto failure; goto failure;
} }
@ -1310,7 +1315,7 @@ evaluate_prereq(char *cmdline) {
ddebug("evaluate_prereq()"); ddebug("evaluate_prereq()");
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read operation code\n"); fprintf(stderr, "could not read operation code\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
@ -1344,14 +1349,14 @@ evaluate_server(char *cmdline) {
} }
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read server name\n"); fprintf(stderr, "could not read server name\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
server = word; server = word;
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) if (word == NULL || *word == 0)
port = dnsport; port = dnsport;
else { else {
char *endp; char *endp;
@ -1385,14 +1390,14 @@ evaluate_local(char *cmdline) {
struct in6_addr in6; struct in6_addr in6;
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read server name\n"); fprintf(stderr, "could not read server name\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
local = word; local = word;
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) if (word == NULL || *word == 0)
port = 0; port = 0;
else { else {
char *endp; char *endp;
@ -1441,7 +1446,7 @@ evaluate_key(char *cmdline) {
char *n; char *n;
namestr = nsu_strsep(&cmdline, " \t\r\n"); namestr = nsu_strsep(&cmdline, " \t\r\n");
if (*namestr == 0) { if (namestr == NULL || *namestr == 0) {
fprintf(stderr, "could not read key name\n"); fprintf(stderr, "could not read key name\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
@ -1465,7 +1470,7 @@ evaluate_key(char *cmdline) {
} }
secretstr = nsu_strsep(&cmdline, "\r\n"); secretstr = nsu_strsep(&cmdline, "\r\n");
if (*secretstr == 0) { if (secretstr == NULL || *secretstr == 0) {
fprintf(stderr, "could not read key secret\n"); fprintf(stderr, "could not read key secret\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
@ -1506,7 +1511,7 @@ evaluate_zone(char *cmdline) {
isc_result_t result; isc_result_t result;
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read zone name\n"); fprintf(stderr, "could not read zone name\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
@ -1532,7 +1537,7 @@ evaluate_realm(char *cmdline) {
char buf[1024]; char buf[1024];
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
if (realm != NULL) if (realm != NULL)
isc_mem_free(mctx, realm); isc_mem_free(mctx, realm);
realm = NULL; realm = NULL;
@ -1557,7 +1562,7 @@ evaluate_ttl(char *cmdline) {
isc_uint32_t ttl; isc_uint32_t ttl;
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not ttl\n"); fprintf(stderr, "could not ttl\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
@ -1591,7 +1596,7 @@ evaluate_class(char *cmdline) {
dns_rdataclass_t rdclass; dns_rdataclass_t rdclass;
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read class name\n"); fprintf(stderr, "could not read class name\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
@ -1649,7 +1654,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
* If it's a delete, ignore a TTL if present (for compatibility). * If it's a delete, ignore a TTL if present (for compatibility).
*/ */
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
if (!isdelete) { if (!isdelete) {
fprintf(stderr, "could not read owner ttl\n"); fprintf(stderr, "could not read owner ttl\n");
goto failure; goto failure;
@ -1690,7 +1695,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
*/ */
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
parseclass: parseclass:
if (*word == 0) { if (word == NULL || *word == 0) {
if (isdelete) { if (isdelete) {
rdataclass = dns_rdataclass_any; rdataclass = dns_rdataclass_any;
rdatatype = dns_rdatatype_any; rdatatype = dns_rdatatype_any;
@ -1714,7 +1719,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
* Now read the type. * Now read the type.
*/ */
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
if (isdelete) { if (isdelete) {
rdataclass = dns_rdataclass_any; rdataclass = dns_rdataclass_any;
rdatatype = dns_rdatatype_any; rdatatype = dns_rdatatype_any;
@ -1794,7 +1799,7 @@ evaluate_update(char *cmdline) {
ddebug("evaluate_update()"); ddebug("evaluate_update()");
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) { if (word == NULL || *word == 0) {
fprintf(stderr, "could not read operation code\n"); fprintf(stderr, "could not read operation code\n");
return (STATUS_SYNTAX); return (STATUS_SYNTAX);
} }
@ -1884,6 +1889,7 @@ get_next_command(void) {
char cmdlinebuf[MAXCMD]; char cmdlinebuf[MAXCMD];
char *cmdline; char *cmdline;
char *word; char *word;
char *tmp;
ddebug("get_next_command()"); ddebug("get_next_command()");
if (interactive) { if (interactive) {
@ -1895,11 +1901,18 @@ get_next_command(void) {
isc_app_unblock(); isc_app_unblock();
if (cmdline == NULL) if (cmdline == NULL)
return (STATUS_QUIT); return (STATUS_QUIT);
/*
* Normalize input by removing any eol.
*/
tmp = cmdline;
(void)nsu_strsep(&tmp, "\r\n");
word = nsu_strsep(&cmdline, " \t\r\n"); word = nsu_strsep(&cmdline, " \t\r\n");
if (feof(input)) if (feof(input))
return (STATUS_QUIT); return (STATUS_QUIT);
if (*word == 0) if (word == NULL || *word == 0)
return (STATUS_SEND); return (STATUS_SEND);
if (word[0] == ';') if (word[0] == ';')
return (STATUS_MORE); return (STATUS_MORE);

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium. # Copyright (C) 2000-2002 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,4 +1,4 @@
# Copyright (C) 2009, 2010 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2009, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above # purpose with or without fee is hereby granted, provided that the above

View File

@ -1,6 +1,6 @@
/* config.h.in. Generated from configure.in by autoheader. */ /* config.h.in. Generated from configure.in by autoheader. */
/* /*
* Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 2004, 2005, 2007, 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium. * Copyright (C) 1999-2003 Internet Software Consortium.
* *
* Permission to use, copy, modify, and/or distribute this software for any * Permission to use, copy, modify, and/or distribute this software for any
@ -16,7 +16,7 @@
* PERFORMANCE OF THIS SOFTWARE. * PERFORMANCE OF THIS SOFTWARE.
*/ */
/* $Id$ */ /* $Id: acconfig.h,v 1.53 2008/12/01 23:47:44 tbox Exp $ */
/*! \file */ /*! \file */
@ -138,6 +138,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define if OpenSSL includes DSA support */ /* Define if OpenSSL includes DSA support */
#undef HAVE_OPENSSL_DSA #undef HAVE_OPENSSL_DSA
/* Define if OpenSSL includes ECDSA support */
#undef HAVE_OPENSSL_ECDSA
/* Define to the length type used by the socket API (socklen_t, size_t, int). */ /* Define to the length type used by the socket API (socklen_t, size_t, int). */
#undef ISC_SOCKADDR_LEN_T #undef ISC_SOCKADDR_LEN_T
@ -202,6 +205,9 @@ int sigwait(const unsigned int *set, int *sig);
/* Define to 1 if you have the `EVP_sha256' function. */ /* Define to 1 if you have the `EVP_sha256' function. */
#undef HAVE_EVP_SHA256 #undef HAVE_EVP_SHA256
/* Define to 1 if you have the `EVP_sha384' function. */
#undef HAVE_EVP_SHA384
/* Define to 1 if you have the `EVP_sha512' function. */ /* Define to 1 if you have the `EVP_sha512' function. */
#undef HAVE_EVP_SHA512 #undef HAVE_EVP_SHA512

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2003 Internet Software Consortium. # Copyright (C) 1998-2003 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any
@ -543,6 +543,7 @@ then
fi fi
done done
fi fi
OPENSSL_ECDSA=""
OPENSSL_GOST="" OPENSSL_GOST=""
case "$use_openssl" in case "$use_openssl" in
no) no)
@ -698,7 +699,40 @@ esac
else else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi fi
AC_CHECK_FUNCS(EVP_sha256 EVP_sha512)
AC_CHECK_FUNCS(EVP_sha256 EVP_sha384 EVP_sha512)
AC_MSG_CHECKING(for OpenSSL ECDSA support)
have_ecdsa=""
AC_TRY_RUN([
#include <stdio.h>
#include <openssl/ecdsa.h>
#include <openssl/objects.h>
int main() {
EC_KEY *ec256, *ec384;
#if !defined(HAVE_EVP_SHA256) || !defined(HAVE_EVP_SHA384)
return (1);
#endif
ec256 = EC_KEY_new_by_curve_name(NID_X9_62_prime256v1);
ec384 = EC_KEY_new_by_curve_name(NID_secp384r1);
if (ec256 == NULL || ec384 == NULL)
return (2);
return (0);
}
],
[AC_MSG_RESULT(yes)
have_ecdsa="yes"],
[AC_MSG_RESULT(no)
have_ecdsa="no"])
case $have_ecdsa in
yes)
OPENSSL_ECDSA="yes"
AC_DEFINE(HAVE_OPENSSL_ECDSA)
;;
*)
;;
esac
AC_MSG_CHECKING(for OpenSSL GOST support) AC_MSG_CHECKING(for OpenSSL GOST support)
have_gost="" have_gost=""
@ -772,7 +806,9 @@ AC_SUBST(USE_OPENSSL)
AC_SUBST(DST_OPENSSL_INC) AC_SUBST(DST_OPENSSL_INC)
AC_SUBST(OPENSSLLINKOBJS) AC_SUBST(OPENSSLLINKOBJS)
AC_SUBST(OPENSSLLINKSRCS) AC_SUBST(OPENSSLLINKSRCS)
AC_SUBST(OPENSSL_ECDSA)
AC_SUBST(OPENSSL_GOST) AC_SUBST(OPENSSL_GOST)
DNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_OPENSSL_LIBS" DNS_CRYPTO_LIBS="$DNS_CRYPTO_LIBS $DNS_OPENSSL_LIBS"
# #
@ -1222,7 +1258,7 @@ case "$use_libxml2" in
;; ;;
auto|yes) auto|yes)
case X`(xml2-config --version) 2>/dev/null` in case X`(xml2-config --version) 2>/dev/null` in
X2.[[67]].*) X2.[[678]].*)
libxml2_libs=`xml2-config --libs` libxml2_libs=`xml2-config --libs`
libxml2_cflags=`xml2-config --cflags` libxml2_cflags=`xml2-config --cflags`
;; ;;
@ -3462,6 +3498,7 @@ AC_CONFIG_FILES([
bin/tests/system/dlz/prereq.sh bin/tests/system/dlz/prereq.sh
bin/tests/system/dlzexternal/Makefile bin/tests/system/dlzexternal/Makefile
bin/tests/system/dlzexternal/ns1/named.conf bin/tests/system/dlzexternal/ns1/named.conf
bin/tests/system/ecdsa/prereq.sh
bin/tests/system/filter-aaaa/Makefile bin/tests/system/filter-aaaa/Makefile
bin/tests/system/gost/prereq.sh bin/tests/system/gost/prereq.sh
bin/tests/system/lwresd/Makefile bin/tests/system/lwresd/Makefile

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004-2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium. # Copyright (C) 2000, 2001 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -5212,7 +5212,11 @@ badresp:1,adberr:0,findfail:0,valfail:0]
<optional> resolver-query-timeout <replaceable>number</replaceable> ; </optional> <optional> resolver-query-timeout <replaceable>number</replaceable> ; </optional>
<optional> deny-answer-addresses { <replaceable>address_match_list</replaceable> } <optional> except-from { <replaceable>namelist</replaceable> } </optional>;</optional> <optional> deny-answer-addresses { <replaceable>address_match_list</replaceable> } <optional> except-from { <replaceable>namelist</replaceable> } </optional>;</optional>
<optional> deny-answer-aliases { <replaceable>namelist</replaceable> } <optional> except-from { <replaceable>namelist</replaceable> } </optional>;</optional> <optional> deny-answer-aliases { <replaceable>namelist</replaceable> } <optional> except-from { <replaceable>namelist</replaceable> } </optional>;</optional>
<optional> response-policy { <replaceable>zone_name</replaceable> <optional> policy given | disabled | passthru | nxdomain | nodata | cname <replaceable>domain</replaceable> </optional> ; } ; </optional> <optional> response-policy { <replaceable>zone_name</replaceable>
<optional> policy given | disabled | passthru | nxdomain | nodata | cname <replaceable>domain</replaceable> </optional>
<optional> recursive-only <replaceable>yes_or_no</replaceable> </optional> <optional> max-policy-ttl <replaceable>number</replaceable> </optional> ;
} <optional> recursive-only <replaceable>yes_or_no</replaceable> </optional> <optional> max-policy-ttl <replaceable>number</replaceable> </optional>
<optional> break-dnssec <replaceable>yes_or_no</replaceable> </optional> ; </optional>
}; };
</programlisting> </programlisting>
@ -7280,8 +7284,8 @@ options {
<listitem> <listitem>
<para> <para>
The amount of time the resolver will spend attempting The amount of time the resolver will spend attempting
to resolve a recursive query before failing. The to resolve a recursive query before failing. The default
default is <literal>10</literal> and the maximum is and minimum is <literal>10</literal> and the maximum is
<literal>30</literal>. Setting it to <literal>0</literal> <literal>30</literal>. Setting it to <literal>0</literal>
will result in the default being used. will result in the default being used.
</para> </para>
@ -9266,17 +9270,15 @@ deny-answer-aliases { "example.net"; };
<sect3> <sect3>
<title>Response Policy Zone (RPZ) Rewriting</title> <title>Response Policy Zone (RPZ) Rewriting</title>
<para> <para>
<acronym>BIND</acronym> 9 includes an intentionally limited <acronym>BIND</acronym> 9 includes a limited
mechanism to modify DNS responses for recursive requests mechanism to modify DNS responses for requests
somewhat similar to email anti-spam DNS blacklists. analogous to email anti-spam DNS blacklists.
Responses can be changed to deny the existence of domains(NXDOMAIN), Responses can be changed to deny the existence of domains(NXDOMAIN),
deny the existence of IP addresses for domains (NODATA), deny the existence of IP addresses for domains (NODATA),
or contain other IP addresses or data. or contain other IP addresses or data.
</para> </para>
<para> <para>
The actions encoded in a response policy zone (RPZ) are applied
only to queries that ask for recursion (RD=1).
Response policy zones are named in the Response policy zones are named in the
<command>response-policy</command> option for the view or among the <command>response-policy</command> option for the view or among the
global options if there is no response-policy option for the view. global options if there is no response-policy option for the view.
@ -9287,22 +9289,21 @@ deny-answer-aliases { "example.net"; };
</para> </para>
<para> <para>
There are four kinds of RPZ records, QNAME, IP, NSIP, Four policy triggers are encoded in RPZ records, QNAME, IP, NSIP,
and NSDNAME. and NSDNAME.
QNAME records are applied to query names of requests and targets QNAME RPZ records triggered by query names of requests and targets
of CNAME records resolved to generate the response. of CNAME records resolved to generate the response.
The owner name of a QNAME RPZ record is the query name relativized The owner name of a QNAME RPZ record is the query name relativized
to the RPZ. to the RPZ.
</para> </para>
<para> <para>
The second kind of RPZ record, an IP policy record, The second kind of RPZ trigger is an IP address in an A and AAAA
is triggered by addresses in A and AAAA records record in the ANSWER section of a response.
for the ANSWER sections of responses. IP address triggers are encoded in records that have owner names
IP policy records have owner names that are that are subdomains of <userinput>rpz-ip</userinput> relativized
subdomains of <userinput>rpz-ip</userinput> relativized to the to the RPZ origin name and encode an IP address or address block.
RPZ origin name and encode an IP address or address block. IPv4 trigger addresses are represented as
IPv4 addresses are encoded as
<userinput>prefixlength.B4.B3.B2.B1.rpz-ip</userinput>. <userinput>prefixlength.B4.B3.B2.B1.rpz-ip</userinput>.
The prefix length must be between 1 and 32. The prefix length must be between 1 and 32.
All four bytes, B4, B3, B2, and B1, must be present. All four bytes, B4, B3, B2, and B1, must be present.
@ -9321,43 +9322,45 @@ deny-answer-aliases { "example.net"; };
</para> </para>
<para> <para>
NSDNAME policy records match names of authoritative servers NSDNAME triggers match names of authoritative servers
for the query name, a parent of the query name, a CNAME, for the query name, a parent of the query name, a CNAME for
or a parent of a CNAME. query name, or a parent of a CNAME.
They are encoded as subdomains of They are encoded as subdomains of
<userinput>rpz-nsdomain</userinput> relativized <userinput>rpz-nsdomain</userinput> relativized
to the RPZ origin name. to the RPZ origin name.
</para> </para>
<para> <para>
NSIP policy records match IP addresses in A and AAAA RRsets NSIP triggers match IP addresses in A and
for domains that can be checked against NSDNAME policy records. AAAA RRsets for domains that can be checked against NSDNAME
The are encoded like IP policies except as subdomains of policy records.
NSIP triggers are encoded like IP triggers except as subdomains of
<userinput>rpz-nsip</userinput>. <userinput>rpz-nsip</userinput>.
</para> </para>
<para> <para>
The query response is checked against all RPZs, so The query response is checked against all RPZs, so
two or more policy records can apply to a single response. two or more policy records can be triggered by a response.
Because DNS responses can be rewritten according by at most a Because DNS responses can be rewritten according to at most one
single policy record, a single policy (other than policy record, a single record encoding an action (other than
<command>DISABLED</command> policies) must be chosen. <command>DISABLED</command> actions) must be chosen.
Policies are chosen in the following order: Triggers or the records that encode them are chosen in
the following order:
<itemizedlist> <itemizedlist>
<listitem>Among applicable zones, use the RPZ that appears first <listitem>Choose the triggered record in the zone that appears
in the response-policy option. first in the response-policy option.
</listitem> </listitem>
<listitem>Prefer QNAME to IP to NSDNAME to NSIP policy records <listitem>Prefer QNAME to IP to NSDNAME to NSIP triggers
in a single RPZ in a single zone.
</listitem> </listitem>
<listitem>Among applicable NSDNAME policy records, prefer the <listitem>Among NSDNAME triggers, prefer the
policy record that matches the lexically smallest name trigger that matches the smallest name under the DNSSEC ordering.
</listitem> </listitem>
<listitem>Among IP or NSIP policy records, prefer the record <listitem>Among IP or NSIP triggers, prefer the trigger
with the longest prefix. with the longest prefix.
</listitem> </listitem>
<listitem>Among records with the same prefex length, <listitem>Among triggers with the same prefex length,
prefer the IP or NSIP policy record that matches prefer the IP or NSIP trigger that matches
the smallest IP address. the smallest IP address.
</listitem> </listitem>
</itemizedlist> </itemizedlist>
@ -9365,8 +9368,8 @@ deny-answer-aliases { "example.net"; };
<para> <para>
When the processing of a response is restarted to resolve When the processing of a response is restarted to resolve
DNAME or CNAME records and an applicable policy record set has DNAME or CNAME records and a policy record set has
not been found, not been triggered,
all RPZs are again consulted for the DNAME or CNAME names all RPZs are again consulted for the DNAME or CNAME names
and addresses. and addresses.
</para> </para>
@ -9383,55 +9386,56 @@ deny-answer-aliases { "example.net"; };
</para> </para>
<para> <para>
RPZ record sets are special CNAME records or one or more RPZ record sets are sets of any types of DNS record except
of any types of DNS record except DNAME or DNSSEC. DNAME or DNSSEC that encode actions or responses to queries.
Except when a policy record is a CNAME, there can be more
more than one record and more than one type
in a set of policy records.
Except for three kinds of CNAME records that are illegal except
in policy zones, the records in a set are used in the response as if
their owner name were the query name. They are copied to the
response as dictated by their types.
<itemizedlist> <itemizedlist>
<listitem>A CNAME whose target is the root domain (.) <listitem>The <command>NXDOMAIN</command> response is encoded
specifies the <command>NXDOMAIN</command> policy, by a CNAME whose target is the root domain (.)
which generates an NXDOMAIN response.
</listitem> </listitem>
<listitem>A CNAME whose target is the wildcard top-level <listitem>A CNAME whose target is the wildcard top-level
domain (*.) specifies the <command>NODATA</command> policy, domain (*.) specifies the <command>NODATA</command> action,
which rewrites the response to NODATA or ANCOUNT=1. which rewrites the response to NODATA or ANCOUNT=1.
</listitem> </listitem>
<listitem>A CNAME whose target is a wildcard hostname such <listitem>The <command>Local Data</command> action is
as *.example.com is used normally after the astrisk (*) represented by a set ordinary DNS records that are used
to answer queries. Queries for record types not the
set are answered with NODATA.
A special form of local data is a CNAME whose target is a
wildcard such as *.example.com.
It is used as if were an ordinary CNAME after the astrisk (*)
has been replaced with the query name. has been replaced with the query name.
These records are usually resolved with ordinary CNAMEs The purpose for this special form is query logging in the
outside the policy zones. They can be useful for logging. walled garden's authority DNS server.
</listitem> </listitem>
<listitem>The <command>PASSTHRU</command> policy is specified <listitem>The <command>PASSTHRU</command> policy is specified
by a CNAME whose target is the variable part of its own by a CNAME whose target is <command>rpz_passthru.</command>
owner name. It causes the response to not be rewritten It causes the response to not be rewritten
and is most often used to "poke holes" in policies for and is most often used to "poke holes" in policies for
CIDR blocks. CIDR blocks.
(A CNAME whose target is the variable part of its owner name
is an obsolete specification of the PASSTHRU policy.)
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
<para> <para>
The policies specified in individual records The actions specified in an RPZ can be overridden with a
in an RPZ can be overridden with a <command>policy</command> clause <command>policy</command> clause in the
in the <command>response-policy</command> option. <command>response-policy</command> option.
An organization using an RPZ provided by another organization might An organization using an RPZ provided by another organization might
use this mechanism to redirect domains to its own walled garden. use this mechanism to redirect domains to its own walled garden.
<itemizedlist> <itemizedlist>
<listitem><command>GIVEN</command> says "do not override." <listitem><command>GIVEN</command> says "do not override but
perform the action specified in the zone."
</listitem> </listitem>
<listitem><command>DISABLED</command> causes policy records to do <listitem><command>DISABLED</command> causes policy records to do
nothing but log what they might have done. nothing but log what they might have done.
The response to the DNS query will be written according to The response to the DNS query will be written according to
any matching policy records that are not disabled. any triggered policy records that are not disabled.
Policy zones overridden with <command>DISABLED</command> should Disabled policy zones should appear first,
appear first, because they will often not be logged because they will often not be logged
if a higher precedence policy is found first. if a higher precedence trigger is found first.
</listitem> </listitem>
<listitem><command>PASSTHRU</command> causes all policy records <listitem><command>PASSTHRU</command> causes all policy records
to act as if they were CNAME records with targets the variable to act as if they were CNAME records with targets the variable
@ -9450,6 +9454,37 @@ deny-answer-aliases { "example.net"; };
</itemizedlist> </itemizedlist>
</para> </para>
<para>
By default, the actions encoded in an RPZ are applied
only to queries that ask for recursion (RD=1).
That default can be changed for a single RPZ or all RPZs in a view
with a <command>recursive-only no</command> clause.
This feature is useful for serving the same zone files
both inside and outside an RFC 1918 cloud and using RPZ to
delete answers that would otherwise contain RFC 1918 values
on the externally visible name server or view.
</para>
<para>
Also by default, RPZ actions are applied only to DNS requests that
either do not request DNSSEC metadata (DO=0) or when no DNSSEC
records are available for request name in the original zone (not
the response policy zone).
This default can be changed for all RPZs in a view with a
<command>break-dnssec yes</command> clause.
In that case, RPZ actions are applied regardless of DNSSEC.
The name of the clause option reflects the fact that results
rewritten by RPZ actions cannot verify.
</para>
<para>
The TTL of a record modified by RPZ policies is set from the
TTL of the relevant record in policy zone. It is then limited
to a maximum value.
The <command>max-policy-ttl</command> clause changes that
maximum from its default of 5.
</para>
<para> <para>
For example, you might use this option statement For example, you might use this option statement
</para> </para>
@ -9472,7 +9507,7 @@ bad.domain.com A 10.0.0.1 ; redirect to a walled garden
AAAA 2001:2::1 AAAA 2001:2::1
; do not rewrite (PASSTHRU) OK.DOMAIN.COM ; do not rewrite (PASSTHRU) OK.DOMAIN.COM
ok.domain.com CNAME ok.domain.com. ok.domain.com CNAME rpz-passthru.
bzone.domain.com CNAME garden.example.com. bzone.domain.com CNAME garden.example.com.
@ -9482,7 +9517,7 @@ bzone.domain.com CNAME garden.example.com.
; IP policy records that rewrite all answers for 127/8 except 127.0.0.1 ; IP policy records that rewrite all answers for 127/8 except 127.0.0.1
8.0.0.0.127.rpz-ip CNAME . 8.0.0.0.127.rpz-ip CNAME .
32.1.0.0.127.rpz-ip CNAME 32.1.0.0.127. ; PASSTHRU for 127.0.0.1 32.1.0.0.127.rpz-ip CNAME rpz-passthru.
; NSDNAME and NSIP policy records ; NSDNAME and NSIP policy records
ns.domain.com.rpz-nsdname CNAME . ns.domain.com.rpz-nsdname CNAME .
@ -11527,7 +11562,7 @@ example.com. NS ns2.example.net.
(machine$@REALM) for machine in REALM and (machine$@REALM) for machine in REALM and
and converts it machine.realm allowing the machine and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched to update machine.realm. The REALM to be matched
is specified in the <replacable>identity</replacable> is specified in the <replaceable>identity</replaceable>
field. field.
</para> </para>
</entry> </entry>
@ -11544,7 +11579,7 @@ example.com. NS ns2.example.net.
converts it to machine.realm allowing the machine converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM to update subdomains of machine.realm. The REALM
to be matched is specified in the to be matched is specified in the
<replacable>identity</replacable> field. <replaceable>identity</replaceable> field.
</para> </para>
</entry> </entry>
</row> </row>
@ -11559,7 +11594,7 @@ example.com. NS ns2.example.net.
(host/machine@REALM) for machine in REALM and (host/machine@REALM) for machine in REALM and
and converts it machine.realm allowing the machine and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched to update machine.realm. The REALM to be matched
is specified in the <replacable>identity</replacable> is specified in the <replaceable>identity</replaceable>
field. field.
</para> </para>
</entry> </entry>
@ -11576,7 +11611,7 @@ example.com. NS ns2.example.net.
converts it to machine.realm allowing the machine converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM to update subdomains of machine.realm. The REALM
to be matched is specified in the to be matched is specified in the
<replacable>identity</replacable> field. <replaceable>identity</replaceable> field.
</para> </para>
</entry> </entry>
</row> </row>

View File

@ -70,33 +70,33 @@
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571421">Converting from insecure to secure</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571475">Converting from insecure to secure</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571459">Dynamic DNS update method</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571512">Dynamic DNS update method</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563508">Fully automatic zone signing</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563493">Fully automatic zone signing</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563590">Private-type records</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563575">Private-type records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563696">DNSKEY rollovers</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563612">DNSKEY rollovers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563708">Dynamic DNS update method</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563762">Dynamic DNS update method</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563741">Automatic key rollovers</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563795">Automatic key rollovers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563836">NSEC3PARAM rollovers via UPDATE</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563821">NSEC3PARAM rollovers via UPDATE</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563846">Converting from NSEC to NSEC3</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563899">Converting from NSEC to NSEC3</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563856">Converting from NSEC3 to NSEC</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563909">Converting from NSEC3 to NSEC</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563868">Converting from secure to insecure</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563922">Converting from secure to insecure</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563906">Periodic re-signing</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571605">Periodic re-signing</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563915">NSEC3 and OPTOUT</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571614">NSEC3 and OPTOUT</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571685">Validating Resolver</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2607510">Validating Resolver</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571707">Authoritative Server</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571692">Authoritative Server</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#pkcs11">PKCS #11 (Cryptoki) support</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch04.html#pkcs11">PKCS #11 (Cryptoki) support</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609970">Prerequisites</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610637">Prerequisites</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608219">Building BIND 9 with PKCS#11</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608477">Building BIND 9 with PKCS#11</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610529">PKCS #11 Tools</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608602">PKCS #11 Tools</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610560">Using the HSM</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2634916">Using the HSM</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2635129">Specifying the engine on the command line</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2635114">Specifying the engine on the command line</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2635243">Running named with automatic zone re-signing</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2635160">Running named with automatic zone re-signing</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572669">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572669">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dd><dl> <dd><dl>
@ -1067,7 +1067,7 @@ options {
from insecure to signed and back again. A secure zone can use from insecure to signed and back again. A secure zone can use
either NSEC or NSEC3 chains.</p> either NSEC or NSEC3 chains.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2571421"></a>Converting from insecure to secure</h3></div></div></div></div> <a name="id2571475"></a>Converting from insecure to secure</h3></div></div></div></div>
<p>Changing a zone from insecure to secure can be done in two <p>Changing a zone from insecure to secure can be done in two
ways: using a dynamic DNS update, or the ways: using a dynamic DNS update, or the
<span><strong class="command">auto-dnssec</strong></span> zone option.</p> <span><strong class="command">auto-dnssec</strong></span> zone option.</p>
@ -1093,7 +1093,7 @@ options {
well. An NSEC chain will be generated as part of the initial well. An NSEC chain will be generated as part of the initial
signing process.</p> signing process.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2571459"></a>Dynamic DNS update method</h3></div></div></div></div> <a name="id2571512"></a>Dynamic DNS update method</h3></div></div></div></div>
<p>To insert the keys via dynamic update:</p> <p>To insert the keys via dynamic update:</p>
<pre class="screen"> <pre class="screen">
% nsupdate % nsupdate
@ -1129,7 +1129,7 @@ options {
<p>While the initial signing and NSEC/NSEC3 chain generation <p>While the initial signing and NSEC/NSEC3 chain generation
is happening, other updates are possible as well.</p> is happening, other updates are possible as well.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563508"></a>Fully automatic zone signing</h3></div></div></div></div> <a name="id2563493"></a>Fully automatic zone signing</h3></div></div></div></div>
<p>To enable automatic signing, add the <p>To enable automatic signing, add the
<span><strong class="command">auto-dnssec</strong></span> option to the zone statement in <span><strong class="command">auto-dnssec</strong></span> option to the zone statement in
<code class="filename">named.conf</code>. <code class="filename">named.conf</code>.
@ -1164,7 +1164,7 @@ options {
configuration. If this has not been done, the configuration will configuration. If this has not been done, the configuration will
fail.</p> fail.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563590"></a>Private-type records</h3></div></div></div></div> <a name="id2563575"></a>Private-type records</h3></div></div></div></div>
<p>The state of the signing process is signaled by <p>The state of the signing process is signaled by
private-type records (with a default type value of 65534). When private-type records (with a default type value of 65534). When
signing is complete, these records will have a nonzero value for signing is complete, these records will have a nonzero value for
@ -1205,12 +1205,12 @@ options {
<p> <p>
</p> </p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563696"></a>DNSKEY rollovers</h3></div></div></div></div> <a name="id2563612"></a>DNSKEY rollovers</h3></div></div></div></div>
<p>As with insecure-to-secure conversions, rolling DNSSEC <p>As with insecure-to-secure conversions, rolling DNSSEC
keys can be done in two ways: using a dynamic DNS update, or the keys can be done in two ways: using a dynamic DNS update, or the
<span><strong class="command">auto-dnssec</strong></span> zone option.</p> <span><strong class="command">auto-dnssec</strong></span> zone option.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563708"></a>Dynamic DNS update method</h3></div></div></div></div> <a name="id2563762"></a>Dynamic DNS update method</h3></div></div></div></div>
<p> To perform key rollovers via dynamic update, you need to add <p> To perform key rollovers via dynamic update, you need to add
the <code class="filename">K*</code> files for the new keys so that the <code class="filename">K*</code> files for the new keys so that
<span><strong class="command">named</strong></span> can find them. You can then add the new <span><strong class="command">named</strong></span> can find them. You can then add the new
@ -1232,7 +1232,7 @@ options {
<span><strong class="command">named</strong></span> will clean out any signatures generated <span><strong class="command">named</strong></span> will clean out any signatures generated
by the old key after the update completes.</p> by the old key after the update completes.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563741"></a>Automatic key rollovers</h3></div></div></div></div> <a name="id2563795"></a>Automatic key rollovers</h3></div></div></div></div>
<p>When a new key reaches its activation date (as set by <p>When a new key reaches its activation date (as set by
<span><strong class="command">dnssec-keygen</strong></span> or <span><strong class="command">dnssec-settime</strong></span>), <span><strong class="command">dnssec-keygen</strong></span> or <span><strong class="command">dnssec-settime</strong></span>),
if the <span><strong class="command">auto-dnssec</strong></span> zone option is set to if the <span><strong class="command">auto-dnssec</strong></span> zone option is set to
@ -1247,27 +1247,27 @@ options {
completes in 30 days, after which it will be safe to remove the completes in 30 days, after which it will be safe to remove the
old key from the DNSKEY RRset.</p> old key from the DNSKEY RRset.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563836"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div></div> <a name="id2563821"></a>NSEC3PARAM rollovers via UPDATE</h3></div></div></div></div>
<p>Add the new NSEC3PARAM record via dynamic update. When the <p>Add the new NSEC3PARAM record via dynamic update. When the
new NSEC3 chain has been generated, the NSEC3PARAM flag field new NSEC3 chain has been generated, the NSEC3PARAM flag field
will be zero. At this point you can remove the old NSEC3PARAM will be zero. At this point you can remove the old NSEC3PARAM
record. The old chain will be removed after the update request record. The old chain will be removed after the update request
completes.</p> completes.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563846"></a>Converting from NSEC to NSEC3</h3></div></div></div></div> <a name="id2563899"></a>Converting from NSEC to NSEC3</h3></div></div></div></div>
<p>To do this, you just need to add an NSEC3PARAM record. When <p>To do this, you just need to add an NSEC3PARAM record. When
the conversion is complete, the NSEC chain will have been removed the conversion is complete, the NSEC chain will have been removed
and the NSEC3PARAM record will have a zero flag field. The NSEC3 and the NSEC3PARAM record will have a zero flag field. The NSEC3
chain will be generated before the NSEC chain is chain will be generated before the NSEC chain is
destroyed.</p> destroyed.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563856"></a>Converting from NSEC3 to NSEC</h3></div></div></div></div> <a name="id2563909"></a>Converting from NSEC3 to NSEC</h3></div></div></div></div>
<p>To do this, use <span><strong class="command">nsupdate</strong></span> to <p>To do this, use <span><strong class="command">nsupdate</strong></span> to
remove all NSEC3PARAM records with a zero flag remove all NSEC3PARAM records with a zero flag
field. The NSEC chain will be generated before the NSEC3 chain is field. The NSEC chain will be generated before the NSEC3 chain is
removed.</p> removed.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563868"></a>Converting from secure to insecure</h3></div></div></div></div> <a name="id2563922"></a>Converting from secure to insecure</h3></div></div></div></div>
<p>To convert a signed zone to unsigned using dynamic DNS, <p>To convert a signed zone to unsigned using dynamic DNS,
delete all the DNSKEY records from the zone apex using delete all the DNSKEY records from the zone apex using
<span><strong class="command">nsupdate</strong></span>. All signatures, NSEC or NSEC3 chains, <span><strong class="command">nsupdate</strong></span>. All signatures, NSEC or NSEC3 chains,
@ -1282,14 +1282,14 @@ options {
<span><strong class="command">allow</strong></span> instead (or it will re-sign). <span><strong class="command">allow</strong></span> instead (or it will re-sign).
</p> </p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563906"></a>Periodic re-signing</h3></div></div></div></div> <a name="id2571605"></a>Periodic re-signing</h3></div></div></div></div>
<p>In any secure zone which supports dynamic updates, named <p>In any secure zone which supports dynamic updates, named
will periodically re-sign RRsets which have not been re-signed as will periodically re-sign RRsets which have not been re-signed as
a result of some update action. The signature lifetimes will be a result of some update action. The signature lifetimes will be
adjusted so as to spread the re-sign load over time rather than adjusted so as to spread the re-sign load over time rather than
all at once.</p> all at once.</p>
<div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"> <div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title">
<a name="id2563915"></a>NSEC3 and OPTOUT</h3></div></div></div></div> <a name="id2571614"></a>NSEC3 and OPTOUT</h3></div></div></div></div>
<p> <p>
<span><strong class="command">named</strong></span> only supports creating new NSEC3 chains <span><strong class="command">named</strong></span> only supports creating new NSEC3 chains
where all the NSEC3 records in the zone have the same OPTOUT where all the NSEC3 records in the zone have the same OPTOUT
@ -1311,7 +1311,7 @@ options {
configuration files.</p> configuration files.</p>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2571685"></a>Validating Resolver</h3></div></div></div> <a name="id2607510"></a>Validating Resolver</h3></div></div></div>
<p>To configure a validating resolver to use RFC 5011 to <p>To configure a validating resolver to use RFC 5011 to
maintain a trust anchor, configure the trust anchor using a maintain a trust anchor, configure the trust anchor using a
<span><strong class="command">managed-keys</strong></span> statement. Information about <span><strong class="command">managed-keys</strong></span> statement. Information about
@ -1322,7 +1322,7 @@ options {
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2571707"></a>Authoritative Server</h3></div></div></div> <a name="id2571692"></a>Authoritative Server</h3></div></div></div>
<p>To set up an authoritative zone for RFC 5011 trust anchor <p>To set up an authoritative zone for RFC 5011 trust anchor
maintenance, generate two (or more) key signing keys (KSKs) for maintenance, generate two (or more) key signing keys (KSKs) for
the zone. Sign the zone with one of them; this is the "active" the zone. Sign the zone with one of them; this is the "active"
@ -1396,7 +1396,7 @@ $ <strong class="userinput"><code>dnssec-signzone -S -K keys example.net</code><
Debian Linux, Solaris x86 and Windows Server 2003.</p> Debian Linux, Solaris x86 and Windows Server 2003.</p>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2609970"></a>Prerequisites</h3></div></div></div> <a name="id2610637"></a>Prerequisites</h3></div></div></div>
<p>See the HSM vendor documentation for information about <p>See the HSM vendor documentation for information about
installing, initializing, testing and troubleshooting the installing, initializing, testing and troubleshooting the
HSM.</p> HSM.</p>
@ -1473,7 +1473,7 @@ $ <strong class="userinput"><code>patch -p1 -d openssl-0.9.8s \
when we configure BIND 9.</p> when we configure BIND 9.</p>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2607881"></a>Building OpenSSL for the AEP Keyper on Linux</h4></div></div></div> <a name="id2608071"></a>Building OpenSSL for the AEP Keyper on Linux</h4></div></div></div>
<p>The AEP Keyper is a highly secure key storage device, <p>The AEP Keyper is a highly secure key storage device,
but does not provide hardware cryptographic acceleration. It but does not provide hardware cryptographic acceleration. It
can carry out cryptographic operations, but it is probably can carry out cryptographic operations, but it is probably
@ -1505,7 +1505,7 @@ $ <strong class="userinput"><code>./Configure linux-generic32 -m32 -pthread \
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608019"></a>Building OpenSSL for the SCA 6000 on Solaris</h4></div></div></div> <a name="id2608140"></a>Building OpenSSL for the SCA 6000 on Solaris</h4></div></div></div>
<p>The SCA-6000 PKCS #11 provider is installed as a system <p>The SCA-6000 PKCS #11 provider is installed as a system
library, libpkcs11. It is a true crypto accelerator, up to 4 library, libpkcs11. It is a true crypto accelerator, up to 4
times faster than any CPU, so the flavor shall be times faster than any CPU, so the flavor shall be
@ -1527,7 +1527,7 @@ $ <strong class="userinput"><code>./Configure solaris64-x86_64-cc \
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608068"></a>Building OpenSSL for SoftHSM</h4></div></div></div> <a name="id2608189"></a>Building OpenSSL for SoftHSM</h4></div></div></div>
<p>SoftHSM is a software library provided by the OpenDNSSEC <p>SoftHSM is a software library provided by the OpenDNSSEC
project (http://www.opendnssec.org) which provides a PKCS#11 project (http://www.opendnssec.org) which provides a PKCS#11
interface to a virtual HSM, implemented in the form of encrypted interface to a virtual HSM, implemented in the form of encrypted
@ -1587,12 +1587,12 @@ $ <strong class="userinput"><code>./Configure linux-x86_64 -pthread \
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2608219"></a>Building BIND 9 with PKCS#11</h3></div></div></div> <a name="id2608477"></a>Building BIND 9 with PKCS#11</h3></div></div></div>
<p>When building BIND 9, the location of the custom-built <p>When building BIND 9, the location of the custom-built
OpenSSL library must be specified via configure.</p> OpenSSL library must be specified via configure.</p>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608228"></a>Configuring BIND 9 for Linux with the AEP Keyper</h4></div></div></div> <a name="id2608486"></a>Configuring BIND 9 for Linux with the AEP Keyper</h4></div></div></div>
<p>To link with the PKCS #11 provider, threads must be <p>To link with the PKCS #11 provider, threads must be
enabled in the BIND 9 build.</p> enabled in the BIND 9 build.</p>
<p>The PKCS #11 library for the AEP Keyper is currently <p>The PKCS #11 library for the AEP Keyper is currently
@ -1608,7 +1608,7 @@ $ <strong class="userinput"><code>./configure CC="gcc -m32" --enable-threads \
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608260"></a>Configuring BIND 9 for Solaris with the SCA 6000</h4></div></div></div> <a name="id2608518"></a>Configuring BIND 9 for Solaris with the SCA 6000</h4></div></div></div>
<p>To link with the PKCS #11 provider, threads must be <p>To link with the PKCS #11 provider, threads must be
enabled in the BIND 9 build.</p> enabled in the BIND 9 build.</p>
<pre class="screen"> <pre class="screen">
@ -1626,7 +1626,7 @@ $ <strong class="userinput"><code>./configure CC="cc -xarch=amd64" --enable-thre
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2610481"></a>Configuring BIND 9 for SoftHSM</h4></div></div></div> <a name="id2608554"></a>Configuring BIND 9 for SoftHSM</h4></div></div></div>
<pre class="screen"> <pre class="screen">
$ <strong class="userinput"><code>cd ../bind9</code></strong> $ <strong class="userinput"><code>cd ../bind9</code></strong>
$ <strong class="userinput"><code>./configure --enable-threads \ $ <strong class="userinput"><code>./configure --enable-threads \
@ -1643,7 +1643,7 @@ $ <strong class="userinput"><code>./configure --enable-threads \
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2610529"></a>PKCS #11 Tools</h3></div></div></div> <a name="id2608602"></a>PKCS #11 Tools</h3></div></div></div>
<p>BIND 9 includes a minimal set of tools to operate the <p>BIND 9 includes a minimal set of tools to operate the
HSM, including HSM, including
<span><strong class="command">pkcs11-keygen</strong></span> to generate a new key pair <span><strong class="command">pkcs11-keygen</strong></span> to generate a new key pair
@ -1661,7 +1661,7 @@ $ <strong class="userinput"><code>./configure --enable-threads \
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2610560"></a>Using the HSM</h3></div></div></div> <a name="id2634916"></a>Using the HSM</h3></div></div></div>
<p>First, we must set up the runtime environment so the <p>First, we must set up the runtime environment so the
OpenSSL and PKCS #11 libraries can be loaded:</p> OpenSSL and PKCS #11 libraries can be loaded:</p>
<pre class="screen"> <pre class="screen">
@ -1749,7 +1749,7 @@ example.net.signed
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2635129"></a>Specifying the engine on the command line</h3></div></div></div> <a name="id2635114"></a>Specifying the engine on the command line</h3></div></div></div>
<p>The OpenSSL engine can be specified in <p>The OpenSSL engine can be specified in
<span><strong class="command">named</strong></span> and all of the BIND <span><strong class="command">named</strong></span> and all of the BIND
<span><strong class="command">dnssec-*</strong></span> tools by using the "-E <span><strong class="command">dnssec-*</strong></span> tools by using the "-E
@ -1770,7 +1770,7 @@ $ <strong class="userinput"><code>dnssec-signzone -E '' -S example.net</code></s
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2635243"></a>Running named with automatic zone re-signing</h3></div></div></div> <a name="id2635160"></a>Running named with automatic zone re-signing</h3></div></div></div>
<p>If you want <p>If you want
<span><strong class="command">named</strong></span> to dynamically re-sign zones using HSM <span><strong class="command">named</strong></span> to dynamically re-sign zones using HSM
keys, and/or to to sign new records inserted via nsupdate, then keys, and/or to to sign new records inserted via nsupdate, then

View File

@ -78,28 +78,28 @@
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and <dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
Usage</a></span></dt> Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589481"><span><strong class="command">statistics-channels</strong></span> Statement Definition and <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589534"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
Usage</a></span></dt> Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#trusted-keys"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#trusted-keys"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589689"><span><strong class="command">trusted-keys</strong></span> Statement Definition <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589742"><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</a></span></dt> and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589736"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589858"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#managed-keys"><span><strong class="command">managed-keys</strong></span> Statement Definition <dt><span class="sect2"><a href="Bv9ARM.ch06.html#managed-keys"><span><strong class="command">managed-keys</strong></span> Statement Definition
and Usage</a></span></dt> and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590162"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590352"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span>
Statement Grammar</a></span></dt> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591713"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591902"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2595116">Zone File</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2595170">Zone File</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2597415">Discussion of MX Records</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2597537">Discussion of MX Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2597962">Inverse Mapping in IPv4</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598084">Inverse Mapping in IPv4</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598157">Other Zone File Directives</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598211">Other Zone File Directives</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598430"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598552"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#statistics">BIND9 Statistics</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch06.html#statistics">BIND9 Statistics</a></span></dt>
@ -2277,7 +2277,11 @@ badresp:1,adberr:0,findfail:0,valfail:0]
[<span class="optional"> resolver-query-timeout <em class="replaceable"><code>number</code></em> ; </span>] [<span class="optional"> resolver-query-timeout <em class="replaceable"><code>number</code></em> ; </span>]
[<span class="optional"> deny-answer-addresses { <em class="replaceable"><code>address_match_list</code></em> } [<span class="optional"> except-from { <em class="replaceable"><code>namelist</code></em> } </span>];</span>] [<span class="optional"> deny-answer-addresses { <em class="replaceable"><code>address_match_list</code></em> } [<span class="optional"> except-from { <em class="replaceable"><code>namelist</code></em> } </span>];</span>]
[<span class="optional"> deny-answer-aliases { <em class="replaceable"><code>namelist</code></em> } [<span class="optional"> except-from { <em class="replaceable"><code>namelist</code></em> } </span>];</span>] [<span class="optional"> deny-answer-aliases { <em class="replaceable"><code>namelist</code></em> } [<span class="optional"> except-from { <em class="replaceable"><code>namelist</code></em> } </span>];</span>]
[<span class="optional"> response-policy { <em class="replaceable"><code>zone_name</code></em> [<span class="optional"> policy given | disabled | passthru | nxdomain | nodata | cname <em class="replaceable"><code>domain</code></em> </span>] ; } ; </span>] [<span class="optional"> response-policy { <em class="replaceable"><code>zone_name</code></em>
[<span class="optional"> policy given | disabled | passthru | nxdomain | nodata | cname <em class="replaceable"><code>domain</code></em> </span>]
[<span class="optional"> recursive-only <em class="replaceable"><code>yes_or_no</code></em> </span>] [<span class="optional"> max-policy-ttl <em class="replaceable"><code>number</code></em> </span>] ;
} [<span class="optional"> recursive-only <em class="replaceable"><code>yes_or_no</code></em> </span>] [<span class="optional"> max-policy-ttl <em class="replaceable"><code>number</code></em> </span>]
[<span class="optional"> break-dnssec <em class="replaceable"><code>yes_or_no</code></em> </span>] ; </span>]
}; };
</pre> </pre>
</div> </div>
@ -3665,7 +3669,7 @@ options {
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2583643"></a>Forwarding</h4></div></div></div> <a name="id2583675"></a>Forwarding</h4></div></div></div>
<p> <p>
The forwarding facility can be used to create a large site-wide The forwarding facility can be used to create a large site-wide
cache on a few servers, reducing traffic over links to external cache on a few servers, reducing traffic over links to external
@ -3709,7 +3713,7 @@ options {
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2583702"></a>Dual-stack Servers</h4></div></div></div> <a name="id2583734"></a>Dual-stack Servers</h4></div></div></div>
<p> <p>
Dual-stack servers are used as servers of last resort to work Dual-stack servers are used as servers of last resort to work
around around
@ -3911,8 +3915,8 @@ options {
<dt><span class="term"><span><strong class="command">resolver-query-timeout</strong></span></span></dt> <dt><span class="term"><span><strong class="command">resolver-query-timeout</strong></span></span></dt>
<dd><p> <dd><p>
The amount of time the resolver will spend attempting The amount of time the resolver will spend attempting
to resolve a recursive query before failing. The to resolve a recursive query before failing. The default
default is <code class="literal">10</code> and the maximum is and minimum is <code class="literal">10</code> and the maximum is
<code class="literal">30</code>. Setting it to <code class="literal">0</code> <code class="literal">30</code>. Setting it to <code class="literal">0</code>
will result in the default being used. will result in the default being used.
</p></dd> </p></dd>
@ -3920,7 +3924,7 @@ options {
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2584322"></a>Interfaces</h4></div></div></div> <a name="id2584422"></a>Interfaces</h4></div></div></div>
<p> <p>
The interfaces and ports that the server will answer queries The interfaces and ports that the server will answer queries
from may be specified using the <span><strong class="command">listen-on</strong></span> option. <span><strong class="command">listen-on</strong></span> takes from may be specified using the <span><strong class="command">listen-on</strong></span> option. <span><strong class="command">listen-on</strong></span> takes
@ -4379,7 +4383,7 @@ avoid-v6-udp-ports {};
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2585531"></a>UDP Port Lists</h4></div></div></div> <a name="id2585495"></a>UDP Port Lists</h4></div></div></div>
<p> <p>
<span><strong class="command">use-v4-udp-ports</strong></span>, <span><strong class="command">use-v4-udp-ports</strong></span>,
<span><strong class="command">avoid-v4-udp-ports</strong></span>, <span><strong class="command">avoid-v4-udp-ports</strong></span>,
@ -4421,7 +4425,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2585591"></a>Operating System Resource Limits</h4></div></div></div> <a name="id2585555"></a>Operating System Resource Limits</h4></div></div></div>
<p> <p>
The server's usage of many system resources can be limited. The server's usage of many system resources can be limited.
Scaled values are allowed when specifying resource limits. For Scaled values are allowed when specifying resource limits. For
@ -4583,7 +4587,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2586082"></a>Periodic Task Intervals</h4></div></div></div> <a name="id2586114"></a>Periodic Task Intervals</h4></div></div></div>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term"><span><strong class="command">cleaning-interval</strong></span></span></dt> <dt><span class="term"><span><strong class="command">cleaning-interval</strong></span></span></dt>
<dd><p> <dd><p>
@ -5423,7 +5427,7 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2588188"></a>Content Filtering</h4></div></div></div> <a name="id2588152"></a>Content Filtering</h4></div></div></div>
<p> <p>
<acronym class="acronym">BIND</acronym> 9 provides the ability to filter <acronym class="acronym">BIND</acronym> 9 provides the ability to filter
out DNS responses from external DNS servers containing out DNS responses from external DNS servers containing
@ -5546,18 +5550,16 @@ deny-answer-aliases { "example.net"; };
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2588379"></a>Response Policy Zone (RPZ) Rewriting</h4></div></div></div> <a name="id2588343"></a>Response Policy Zone (RPZ) Rewriting</h4></div></div></div>
<p> <p>
<acronym class="acronym">BIND</acronym> 9 includes an intentionally limited <acronym class="acronym">BIND</acronym> 9 includes a limited
mechanism to modify DNS responses for recursive requests mechanism to modify DNS responses for requests
somewhat similar to email anti-spam DNS blacklists. analogous to email anti-spam DNS blacklists.
Responses can be changed to deny the existence of domains(NXDOMAIN), Responses can be changed to deny the existence of domains(NXDOMAIN),
deny the existence of IP addresses for domains (NODATA), deny the existence of IP addresses for domains (NODATA),
or contain other IP addresses or data. or contain other IP addresses or data.
</p> </p>
<p> <p>
The actions encoded in a response policy zone (RPZ) are applied
only to queries that ask for recursion (RD=1).
Response policy zones are named in the Response policy zones are named in the
<span><strong class="command">response-policy</strong></span> option for the view or among the <span><strong class="command">response-policy</strong></span> option for the view or among the
global options if there is no response-policy option for the view. global options if there is no response-policy option for the view.
@ -5567,21 +5569,20 @@ deny-answer-aliases { "example.net"; };
<span><strong class="command">allow-query { localhost; };</strong></span>. <span><strong class="command">allow-query { localhost; };</strong></span>.
</p> </p>
<p> <p>
There are four kinds of RPZ records, QNAME, IP, NSIP, Four policy triggers are encoded in RPZ records, QNAME, IP, NSIP,
and NSDNAME. and NSDNAME.
QNAME records are applied to query names of requests and targets QNAME RPZ records triggered by query names of requests and targets
of CNAME records resolved to generate the response. of CNAME records resolved to generate the response.
The owner name of a QNAME RPZ record is the query name relativized The owner name of a QNAME RPZ record is the query name relativized
to the RPZ. to the RPZ.
</p> </p>
<p> <p>
The second kind of RPZ record, an IP policy record, The second kind of RPZ trigger is an IP address in an A and AAAA
is triggered by addresses in A and AAAA records record in the ANSWER section of a response.
for the ANSWER sections of responses. IP address triggers are encoded in records that have owner names
IP policy records have owner names that are that are subdomains of <strong class="userinput"><code>rpz-ip</code></strong> relativized
subdomains of <strong class="userinput"><code>rpz-ip</code></strong> relativized to the to the RPZ origin name and encode an IP address or address block.
RPZ origin name and encode an IP address or address block. IPv4 trigger addresses are represented as
IPv4 addresses are encoded as
<strong class="userinput"><code>prefixlength.B4.B3.B2.B1.rpz-ip</code></strong>. <strong class="userinput"><code>prefixlength.B4.B3.B2.B1.rpz-ip</code></strong>.
The prefix length must be between 1 and 32. The prefix length must be between 1 and 32.
All four bytes, B4, B3, B2, and B1, must be present. All four bytes, B4, B3, B2, and B1, must be present.
@ -5599,42 +5600,44 @@ deny-answer-aliases { "example.net"; };
The prefix length must be between 1 and 128. The prefix length must be between 1 and 128.
</p> </p>
<p> <p>
NSDNAME policy records match names of authoritative servers NSDNAME triggers match names of authoritative servers
for the query name, a parent of the query name, a CNAME, for the query name, a parent of the query name, a CNAME for
or a parent of a CNAME. query name, or a parent of a CNAME.
They are encoded as subdomains of They are encoded as subdomains of
<strong class="userinput"><code>rpz-nsdomain</code></strong> relativized <strong class="userinput"><code>rpz-nsdomain</code></strong> relativized
to the RPZ origin name. to the RPZ origin name.
</p> </p>
<p> <p>
NSIP policy records match IP addresses in A and AAAA RRsets NSIP triggers match IP addresses in A and
for domains that can be checked against NSDNAME policy records. AAAA RRsets for domains that can be checked against NSDNAME
The are encoded like IP policies except as subdomains of policy records.
NSIP triggers are encoded like IP triggers except as subdomains of
<strong class="userinput"><code>rpz-nsip</code></strong>. <strong class="userinput"><code>rpz-nsip</code></strong>.
</p> </p>
<p> <p>
The query response is checked against all RPZs, so The query response is checked against all RPZs, so
two or more policy records can apply to a single response. two or more policy records can be triggered by a response.
Because DNS responses can be rewritten according by at most a Because DNS responses can be rewritten according to at most one
single policy record, a single policy (other than policy record, a single record encoding an action (other than
<span><strong class="command">DISABLED</strong></span> policies) must be chosen. <span><strong class="command">DISABLED</strong></span> actions) must be chosen.
Policies are chosen in the following order: Triggers or the records that encode them are chosen in
the following order:
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul type="disc">
<li>Among applicable zones, use the RPZ that appears first <li>Choose the triggered record in the zone that appears
in the response-policy option. first in the response-policy option.
</li> </li>
<li>Prefer QNAME to IP to NSDNAME to NSIP policy records <li>Prefer QNAME to IP to NSDNAME to NSIP triggers
in a single RPZ in a single zone.
</li> </li>
<li>Among applicable NSDNAME policy records, prefer the <li>Among NSDNAME triggers, prefer the
policy record that matches the lexically smallest name trigger that matches the smallest name under the DNSSEC ordering.
</li> </li>
<li>Among IP or NSIP policy records, prefer the record <li>Among IP or NSIP triggers, prefer the trigger
with the longest prefix. with the longest prefix.
</li> </li>
<li>Among records with the same prefex length, <li>Among triggers with the same prefex length,
prefer the IP or NSIP policy record that matches prefer the IP or NSIP trigger that matches
the smallest IP address. the smallest IP address.
</li> </li>
</ul></div> </ul></div>
@ -5642,8 +5645,8 @@ deny-answer-aliases { "example.net"; };
</p> </p>
<p> <p>
When the processing of a response is restarted to resolve When the processing of a response is restarted to resolve
DNAME or CNAME records and an applicable policy record set has DNAME or CNAME records and a policy record set has
not been found, not been triggered,
all RPZs are again consulted for the DNAME or CNAME names all RPZs are again consulted for the DNAME or CNAME names
and addresses. and addresses.
</p> </p>
@ -5658,59 +5661,60 @@ deny-answer-aliases { "example.net"; };
on the "configure" command line. on the "configure" command line.
</p> </p>
<p> <p>
RPZ record sets are special CNAME records or one or more RPZ record sets are sets of any types of DNS record except
of any types of DNS record except DNAME or DNSSEC. DNAME or DNSSEC that encode actions or responses to queries.
Except when a policy record is a CNAME, there can be more
more than one record and more than one type
in a set of policy records.
Except for three kinds of CNAME records that are illegal except
in policy zones, the records in a set are used in the response as if
their owner name were the query name. They are copied to the
response as dictated by their types.
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul type="disc">
<li>A CNAME whose target is the root domain (.) <li>The <span><strong class="command">NXDOMAIN</strong></span> response is encoded
specifies the <span><strong class="command">NXDOMAIN</strong></span> policy, by a CNAME whose target is the root domain (.)
which generates an NXDOMAIN response.
</li> </li>
<li>A CNAME whose target is the wildcard top-level <li>A CNAME whose target is the wildcard top-level
domain (*.) specifies the <span><strong class="command">NODATA</strong></span> policy, domain (*.) specifies the <span><strong class="command">NODATA</strong></span> action,
which rewrites the response to NODATA or ANCOUNT=1. which rewrites the response to NODATA or ANCOUNT=1.
</li> </li>
<li>A CNAME whose target is a wildcard hostname such <li>The <span><strong class="command">Local Data</strong></span> action is
as *.example.com is used normally after the astrisk (*) represented by a set ordinary DNS records that are used
to answer queries. Queries for record types not the
set are answered with NODATA.
A special form of local data is a CNAME whose target is a
wildcard such as *.example.com.
It is used as if were an ordinary CNAME after the astrisk (*)
has been replaced with the query name. has been replaced with the query name.
These records are usually resolved with ordinary CNAMEs The purpose for this special form is query logging in the
outside the policy zones. They can be useful for logging. walled garden's authority DNS server.
</li> </li>
<li>The <span><strong class="command">PASSTHRU</strong></span> policy is specified <li>The <span><strong class="command">PASSTHRU</strong></span> policy is specified
by a CNAME whose target is the variable part of its own by a CNAME whose target is <span><strong class="command">rpz_passthru.</strong></span>
owner name. It causes the response to not be rewritten It causes the response to not be rewritten
and is most often used to "poke holes" in policies for and is most often used to "poke holes" in policies for
CIDR blocks. CIDR blocks.
(A CNAME whose target is the variable part of its owner name
is an obsolete specification of the PASSTHRU policy.)
</li> </li>
</ul></div> </ul></div>
<p> <p>
</p> </p>
<p> <p>
The policies specified in individual records The actions specified in an RPZ can be overridden with a
in an RPZ can be overridden with a <span><strong class="command">policy</strong></span> clause <span><strong class="command">policy</strong></span> clause in the
in the <span><strong class="command">response-policy</strong></span> option. <span><strong class="command">response-policy</strong></span> option.
An organization using an RPZ provided by another organization might An organization using an RPZ provided by another organization might
use this mechanism to redirect domains to its own walled garden. use this mechanism to redirect domains to its own walled garden.
</p> </p>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul type="disc">
<li> <li>
<span><strong class="command">GIVEN</strong></span> says "do not override." <span><strong class="command">GIVEN</strong></span> says "do not override but
perform the action specified in the zone."
</li> </li>
<li> <li>
<span><strong class="command">DISABLED</strong></span> causes policy records to do <span><strong class="command">DISABLED</strong></span> causes policy records to do
nothing but log what they might have done. nothing but log what they might have done.
The response to the DNS query will be written according to The response to the DNS query will be written according to
any matching policy records that are not disabled. any triggered policy records that are not disabled.
Policy zones overridden with <span><strong class="command">DISABLED</strong></span> should Disabled policy zones should appear first,
appear first, because they will often not be logged because they will often not be logged
if a higher precedence policy is found first. if a higher precedence trigger is found first.
</li> </li>
<li> <li>
<span><strong class="command">PASSTHRU</strong></span> causes all policy records <span><strong class="command">PASSTHRU</strong></span> causes all policy records
@ -5733,6 +5737,34 @@ deny-answer-aliases { "example.net"; };
</ul></div> </ul></div>
<p> <p>
</p> </p>
<p>
By default, the actions encoded in an RPZ are applied
only to queries that ask for recursion (RD=1).
That default can be changed for a single RPZ or all RPZs in a view
with a <span><strong class="command">recursive-only no</strong></span> clause.
This feature is useful for serving the same zone files
both inside and outside an RFC 1918 cloud and using RPZ to
delete answers that would otherwise contain RFC 1918 values
on the externally visible name server or view.
</p>
<p>
Also by default, RPZ actions are applied only to DNS requests that
either do not request DNSSEC metadata (DO=0) or when no DNSSEC
records are available for request name in the original zone (not
the response policy zone).
This default can be changed for all RPZs in a view with a
<span><strong class="command">break-dnssec yes</strong></span> clause.
In that case, RPZ actions are applied regardless of DNSSEC.
The name of the clause option reflects the fact that results
rewritten by RPZ actions cannot verify.
</p>
<p>
The TTL of a record modified by RPZ policies is set from the
TTL of the relevant record in policy zone. It is then limited
to a maximum value.
The <span><strong class="command">max-policy-ttl</strong></span> clause changes that
maximum from its default of 5.
</p>
<p> <p>
For example, you might use this option statement For example, you might use this option statement
</p> </p>
@ -5755,7 +5787,7 @@ bad.domain.com A 10.0.0.1 ; redirect to a walled garden
AAAA 2001:2::1 AAAA 2001:2::1
; do not rewrite (PASSTHRU) OK.DOMAIN.COM ; do not rewrite (PASSTHRU) OK.DOMAIN.COM
ok.domain.com CNAME ok.domain.com. ok.domain.com CNAME rpz-passthru.
bzone.domain.com CNAME garden.example.com. bzone.domain.com CNAME garden.example.com.
@ -5765,7 +5797,7 @@ bzone.domain.com CNAME garden.example.com.
; IP policy records that rewrite all answers for 127/8 except 127.0.0.1 ; IP policy records that rewrite all answers for 127/8 except 127.0.0.1
8.0.0.0.127.rpz-ip CNAME . 8.0.0.0.127.rpz-ip CNAME .
32.1.0.0.127.rpz-ip CNAME 32.1.0.0.127. ; PASSTHRU for 127.0.0.1 32.1.0.0.127.rpz-ip CNAME rpz-passthru.
; NSDNAME and NSIP policy records ; NSDNAME and NSIP policy records
ns.domain.com.rpz-nsdname CNAME . ns.domain.com.rpz-nsdname CNAME .
@ -5981,7 +6013,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2589481"></a><span><strong class="command">statistics-channels</strong></span> Statement Definition and <a name="id2589534"></a><span><strong class="command">statistics-channels</strong></span> Statement Definition and
Usage</h3></div></div></div> Usage</h3></div></div></div>
<p> <p>
The <span><strong class="command">statistics-channels</strong></span> statement The <span><strong class="command">statistics-channels</strong></span> statement
@ -6041,7 +6073,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2589689"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition <a name="id2589742"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</h3></div></div></div> and Usage</h3></div></div></div>
<p> <p>
The <span><strong class="command">trusted-keys</strong></span> statement defines The <span><strong class="command">trusted-keys</strong></span> statement defines
@ -6081,7 +6113,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2589736"></a><span><strong class="command">managed-keys</strong></span> Statement Grammar</h3></div></div></div> <a name="id2589858"></a><span><strong class="command">managed-keys</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">managed-keys</strong></span> { <pre class="programlisting"><span><strong class="command">managed-keys</strong></span> {
<em class="replaceable"><code>string</code></em> initial-key <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; <em class="replaceable"><code>string</code></em> initial-key <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ;
[<span class="optional"> <em class="replaceable"><code>string</code></em> initial-key <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; [<span class="optional">...</span>]</span>] [<span class="optional"> <em class="replaceable"><code>string</code></em> initial-key <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; [<span class="optional">...</span>]</span>]
@ -6216,7 +6248,7 @@ ns.domain.com.rpz-nsdname CNAME .
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2590162"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div> <a name="id2590352"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
<p> <p>
The <span><strong class="command">view</strong></span> statement is a powerful The <span><strong class="command">view</strong></span> statement is a powerful
feature feature
@ -6505,10 +6537,10 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2591713"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div> <a name="id2591902"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2591720"></a>Zone Types</h4></div></div></div> <a name="id2591910"></a>Zone Types</h4></div></div></div>
<div class="informaltable"><table border="1"> <div class="informaltable"><table border="1">
<colgroup> <colgroup>
<col> <col>
@ -6768,7 +6800,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2592402"></a>Class</h4></div></div></div> <a name="id2592455"></a>Class</h4></div></div></div>
<p> <p>
The zone's name may optionally be followed by a class. If The zone's name may optionally be followed by a class. If
a class is not specified, class <code class="literal">IN</code> (for <code class="varname">Internet</code>), a class is not specified, class <code class="literal">IN</code> (for <code class="varname">Internet</code>),
@ -6790,7 +6822,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2592503"></a>Zone Options</h4></div></div></div> <a name="id2592488"></a>Zone Options</h4></div></div></div>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt> <dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt>
<dd><p> <dd><p>
@ -7506,7 +7538,7 @@ example.com. NS ns2.example.net.
(machine$@REALM) for machine in REALM and (machine$@REALM) for machine in REALM and
and converts it machine.realm allowing the machine and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched to update machine.realm. The REALM to be matched
is specified in the <font color="red">&lt;replacable&gt;identity&lt;/replacable&gt;</font> is specified in the <em class="replaceable"><code>identity</code></em>
field. field.
</p> </p>
</td> </td>
@ -7524,7 +7556,7 @@ example.com. NS ns2.example.net.
converts it to machine.realm allowing the machine converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM to update subdomains of machine.realm. The REALM
to be matched is specified in the to be matched is specified in the
<font color="red">&lt;replacable&gt;identity&lt;/replacable&gt;</font> field. <em class="replaceable"><code>identity</code></em> field.
</p> </p>
</td> </td>
</tr> </tr>
@ -7540,7 +7572,7 @@ example.com. NS ns2.example.net.
(host/machine@REALM) for machine in REALM and (host/machine@REALM) for machine in REALM and
and converts it machine.realm allowing the machine and converts it machine.realm allowing the machine
to update machine.realm. The REALM to be matched to update machine.realm. The REALM to be matched
is specified in the <font color="red">&lt;replacable&gt;identity&lt;/replacable&gt;</font> is specified in the <em class="replaceable"><code>identity</code></em>
field. field.
</p> </p>
</td> </td>
@ -7558,7 +7590,7 @@ example.com. NS ns2.example.net.
converts it to machine.realm allowing the machine converts it to machine.realm allowing the machine
to update subdomains of machine.realm. The REALM to update subdomains of machine.realm. The REALM
to be matched is specified in the to be matched is specified in the
<font color="red">&lt;replacable&gt;identity&lt;/replacable&gt;</font> field. <em class="replaceable"><code>identity</code></em> field.
</p> </p>
</td> </td>
</tr> </tr>
@ -7667,7 +7699,7 @@ example.com. NS ns2.example.net.
</div> </div>
<div class="sect1" lang="en"> <div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2595116"></a>Zone File</h2></div></div></div> <a name="id2595170"></a>Zone File</h2></div></div></div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="types_of_resource_records_and_when_to_use_them"></a>Types of Resource Records and When to Use Them</h3></div></div></div> <a name="types_of_resource_records_and_when_to_use_them"></a>Types of Resource Records and When to Use Them</h3></div></div></div>
@ -7680,7 +7712,7 @@ example.com. NS ns2.example.net.
</p> </p>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2595134"></a>Resource Records</h4></div></div></div> <a name="id2595188"></a>Resource Records</h4></div></div></div>
<p> <p>
A domain name identifies a node. Each node has a set of A domain name identifies a node. Each node has a set of
resource information, which may be empty. The set of resource resource information, which may be empty. The set of resource
@ -8417,7 +8449,7 @@ example.com. NS ns2.example.net.
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2596826"></a>Textual expression of RRs</h4></div></div></div> <a name="id2596880"></a>Textual expression of RRs</h4></div></div></div>
<p> <p>
RRs are represented in binary form in the packets of the DNS RRs are represented in binary form in the packets of the DNS
protocol, and are usually represented in highly encoded form protocol, and are usually represented in highly encoded form
@ -8620,7 +8652,7 @@ example.com. NS ns2.example.net.
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2597415"></a>Discussion of MX Records</h3></div></div></div> <a name="id2597537"></a>Discussion of MX Records</h3></div></div></div>
<p> <p>
As described above, domain servers store information as a As described above, domain servers store information as a
series of resource records, each of which contains a particular series of resource records, each of which contains a particular
@ -8876,7 +8908,7 @@ example.com. NS ns2.example.net.
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2597962"></a>Inverse Mapping in IPv4</h3></div></div></div> <a name="id2598084"></a>Inverse Mapping in IPv4</h3></div></div></div>
<p> <p>
Reverse name resolution (that is, translation from IP address Reverse name resolution (that is, translation from IP address
to name) is achieved by means of the <span class="emphasis"><em>in-addr.arpa</em></span> domain to name) is achieved by means of the <span class="emphasis"><em>in-addr.arpa</em></span> domain
@ -8937,7 +8969,7 @@ example.com. NS ns2.example.net.
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2598157"></a>Other Zone File Directives</h3></div></div></div> <a name="id2598211"></a>Other Zone File Directives</h3></div></div></div>
<p> <p>
The Master File Format was initially defined in RFC 1035 and The Master File Format was initially defined in RFC 1035 and
has subsequently been extended. While the Master File Format has subsequently been extended. While the Master File Format
@ -8952,7 +8984,7 @@ example.com. NS ns2.example.net.
</p> </p>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2598180"></a>The <span><strong class="command">@</strong></span> (at-sign)</h4></div></div></div> <a name="id2598233"></a>The <span><strong class="command">@</strong></span> (at-sign)</h4></div></div></div>
<p> <p>
When used in the label (or name) field, the asperand or When used in the label (or name) field, the asperand or
at-sign (@) symbol represents the current origin. at-sign (@) symbol represents the current origin.
@ -8963,7 +8995,7 @@ example.com. NS ns2.example.net.
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2598196"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div> <a name="id2598249"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div>
<p> <p>
Syntax: <span><strong class="command">$ORIGIN</strong></span> Syntax: <span><strong class="command">$ORIGIN</strong></span>
<em class="replaceable"><code>domain-name</code></em> <em class="replaceable"><code>domain-name</code></em>
@ -8992,7 +9024,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2598325"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div> <a name="id2598446"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
<p> <p>
Syntax: <span><strong class="command">$INCLUDE</strong></span> Syntax: <span><strong class="command">$INCLUDE</strong></span>
<em class="replaceable"><code>filename</code></em> <em class="replaceable"><code>filename</code></em>
@ -9028,7 +9060,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2598394"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div> <a name="id2598516"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
<p> <p>
Syntax: <span><strong class="command">$TTL</strong></span> Syntax: <span><strong class="command">$TTL</strong></span>
<em class="replaceable"><code>default-ttl</code></em> <em class="replaceable"><code>default-ttl</code></em>
@ -9047,7 +9079,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2598430"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div> <a name="id2598552"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
<p> <p>
Syntax: <span><strong class="command">$GENERATE</strong></span> Syntax: <span><strong class="command">$GENERATE</strong></span>
<em class="replaceable"><code>range</code></em> <em class="replaceable"><code>range</code></em>
@ -9471,7 +9503,7 @@ HOST-127.EXAMPLE. MX 0 .
</p> </p>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2599384"></a>Name Server Statistics Counters</h4></div></div></div> <a name="id2599437"></a>Name Server Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1"> <div class="informaltable"><table border="1">
<colgroup> <colgroup>
<col> <col>
@ -10028,7 +10060,7 @@ HOST-127.EXAMPLE. MX 0 .
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2600857"></a>Zone Maintenance Statistics Counters</h4></div></div></div> <a name="id2601047"></a>Zone Maintenance Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1"> <div class="informaltable"><table border="1">
<colgroup> <colgroup>
<col> <col>
@ -10182,7 +10214,7 @@ HOST-127.EXAMPLE. MX 0 .
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2601308"></a>Resolver Statistics Counters</h4></div></div></div> <a name="id2601498"></a>Resolver Statistics Counters</h4></div></div></div>
<div class="informaltable"><table border="1"> <div class="informaltable"><table border="1">
<colgroup> <colgroup>
<col> <col>
@ -10565,7 +10597,7 @@ HOST-127.EXAMPLE. MX 0 .
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2602398"></a>Socket I/O Statistics Counters</h4></div></div></div> <a name="id2602588"></a>Socket I/O Statistics Counters</h4></div></div></div>
<p> <p>
Socket I/O statistics counters are defined per socket Socket I/O statistics counters are defined per socket
types, which are types, which are
@ -10720,7 +10752,7 @@ HOST-127.EXAMPLE. MX 0 .
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2602840"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div> <a name="id2602962"></a>Compatibility with <span class="emphasis"><em>BIND</em></span> 8 Counters</h4></div></div></div>
<p> <p>
Most statistics counters that were available Most statistics counters that were available
in <span><strong class="command">BIND</strong></span> 8 are also supported in in <span><strong class="command">BIND</strong></span> 8 are also supported in

View File

@ -46,10 +46,10 @@
<p><b>Table of Contents</b></p> <p><b>Table of Contents</b></p>
<dl> <dl>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2603082"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2603136"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2603232">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2603285">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2603291">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2603345">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt>
</dl> </dl>
@ -121,7 +121,7 @@ zone "example.com" {
</div> </div>
<div class="sect1" lang="en"> <div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2603082"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span> <a name="id2603136"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span>
</h2></div></div></div> </h2></div></div></div>
<p> <p>
On UNIX servers, it is possible to run <acronym class="acronym">BIND</acronym> On UNIX servers, it is possible to run <acronym class="acronym">BIND</acronym>
@ -147,7 +147,7 @@ zone "example.com" {
</p> </p>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2603232"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div> <a name="id2603285"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div>
<p> <p>
In order for a <span><strong class="command">chroot</strong></span> environment In order for a <span><strong class="command">chroot</strong></span> environment
to to
@ -175,7 +175,7 @@ zone "example.com" {
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2603291"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div> <a name="id2603345"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div>
<p> <p>
Prior to running the <span><strong class="command">named</strong></span> daemon, Prior to running the <span><strong class="command">named</strong></span> daemon,
use use

View File

@ -45,18 +45,18 @@
<div class="toc"> <div class="toc">
<p><b>Table of Contents</b></p> <p><b>Table of Contents</b></p>
<dl> <dl>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603371">Common Problems</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603561">Common Problems</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2603377">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2603566">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603388">Incrementing and Changing the Serial Number</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603578">Incrementing and Changing the Serial Number</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603405">Where Can I Get Help?</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603595">Where Can I Get Help?</a></span></dt>
</dl> </dl>
</div> </div>
<div class="sect1" lang="en"> <div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2603371"></a>Common Problems</h2></div></div></div> <a name="id2603561"></a>Common Problems</h2></div></div></div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2603377"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div> <a name="id2603566"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div>
<p> <p>
The best solution to solving installation and The best solution to solving installation and
configuration issues is to take preventative measures by setting configuration issues is to take preventative measures by setting
@ -68,7 +68,7 @@
</div> </div>
<div class="sect1" lang="en"> <div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2603388"></a>Incrementing and Changing the Serial Number</h2></div></div></div> <a name="id2603578"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
<p> <p>
Zone serial numbers are just numbers &#8212; they aren't Zone serial numbers are just numbers &#8212; they aren't
date related. A lot of people set them to a number that date related. A lot of people set them to a number that
@ -95,7 +95,7 @@
</div> </div>
<div class="sect1" lang="en"> <div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2603405"></a>Where Can I Get Help?</h2></div></div></div> <a name="id2603595"></a>Where Can I Get Help?</h2></div></div></div>
<p> <p>
The Internet Systems Consortium The Internet Systems Consortium
(<acronym class="acronym">ISC</acronym>) offers a wide range (<acronym class="acronym">ISC</acronym>) offers a wide range

View File

@ -45,31 +45,31 @@
<div class="toc"> <div class="toc">
<p><b>Table of Contents</b></p> <p><b>Table of Contents</b></p>
<dl> <dl>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2603536">Acknowledgments</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2603657">Acknowledgments</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2603707">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2603761">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2607124">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2607177">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bind9.library">BIND 9 DNS Library Support</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#bind9.library">BIND 9 DNS Library Support</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608280">Prerequisite</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608265">Prerequisite</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608290">Compilation</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608275">Compilation</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608314">Installation</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608299">Installation</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608345">Known Defects/Restrictions</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608330">Known Defects/Restrictions</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608422">The dns.conf File</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608680">The dns.conf File</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608449">Sample Applications</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608707">Sample Applications</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609490">Library References</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609611">Library References</a></span></dt>
</dl></dd> </dl></dd>
</dl> </dl>
</div> </div>
<div class="sect1" lang="en"> <div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2603536"></a>Acknowledgments</h2></div></div></div> <a name="id2603657"></a>Acknowledgments</h2></div></div></div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="historical_dns_information"></a>A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym> <a name="historical_dns_information"></a>A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym>
@ -172,7 +172,7 @@
</div> </div>
<div class="sect1" lang="en"> <div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both"> <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2603707"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div> <a name="id2603761"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="ipv6addresses"></a>IPv6 addresses (AAAA)</h3></div></div></div> <a name="ipv6addresses"></a>IPv6 addresses (AAAA)</h3></div></div></div>
@ -260,17 +260,17 @@
</p> </p>
<div class="bibliography"> <div class="bibliography">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2603895"></a>Bibliography</h4></div></div></div> <a name="id2604017"></a>Bibliography</h4></div></div></div>
<div class="bibliodiv"> <div class="bibliodiv">
<h3 class="title">Standards</h3> <h3 class="title">Standards</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2603906"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p> <a name="id2604027"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2603929"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names &#8212; Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p> <a name="id2604051"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names &#8212; Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2603953"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names &#8212; Implementation and <a name="id2604074"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names &#8212; Implementation and
Specification</i>. </span><span class="pubdate">November 1987. </span></p> Specification</i>. </span><span class="pubdate">November 1987. </span></p>
</div> </div>
</div> </div>
@ -278,42 +278,42 @@
<h3 class="title"> <h3 class="title">
<a name="proposed_standards"></a>Proposed Standards</h3> <a name="proposed_standards"></a>Proposed Standards</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2603989"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym> <a name="id2604110"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym>
Specification</i>. </span><span class="pubdate">July 1997. </span></p> Specification</i>. </span><span class="pubdate">July 1997. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604016"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym> <a name="id2604137"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym>
Queries</i>. </span><span class="pubdate">March 1998. </span></p> Queries</i>. </span><span class="pubdate">March 1998. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604041"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p> <a name="id2604163"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604066"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p> <a name="id2604187"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604089"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p> <a name="id2604211"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604145"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p> <a name="id2604266"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604171"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p> <a name="id2604293"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604198"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p> <a name="id2604320"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604260"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p> <a name="id2604381"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604290"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p> <a name="id2604411"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604320"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p> <a name="id2604441"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604346"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret <a name="id2604468"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret
Key Transaction Authentication for DNS Key Transaction Authentication for DNS
(GSS-TSIG)</i>. </span><span class="pubdate">October 2003. </span></p> (GSS-TSIG)</i>. </span><span class="pubdate">October 2003. </span></p>
</div> </div>
@ -322,19 +322,19 @@
<h3 class="title"> <h3 class="title">
<acronym class="acronym">DNS</acronym> Security Proposed Standards</h3> <acronym class="acronym">DNS</acronym> Security Proposed Standards</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604428"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p> <a name="id2604618"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604455"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p> <a name="id2604645"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604491"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p> <a name="id2604681"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604625"></a><p>[<abbr class="abbrev">RFC4034</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p> <a name="id2604746"></a><p>[<abbr class="abbrev">RFC4034</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604690"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS <a name="id2604811"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS
Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p> Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
</div> </div>
</div> </div>
@ -342,146 +342,146 @@
<h3 class="title">Other Important RFCs About <acronym class="acronym">DNS</acronym> <h3 class="title">Other Important RFCs About <acronym class="acronym">DNS</acronym>
Implementation</h3> Implementation</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604763"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely <a name="id2604885"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely
Deployed <acronym class="acronym">DNS</acronym> Software.</i>. </span><span class="pubdate">October 1993. </span></p> Deployed <acronym class="acronym">DNS</acronym> Software.</i>. </span><span class="pubdate">October 1993. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604789"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation <a name="id2604910"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation
Errors and Suggested Fixes</i>. </span><span class="pubdate">October 1993. </span></p> Errors and Suggested Fixes</i>. </span><span class="pubdate">October 1993. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604857"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p> <a name="id2605047"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604892"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym> <a name="id2605082"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym>
Queries for IPv6 Addresses</i>. </span><span class="pubdate">May 2005. </span></p> Queries for IPv6 Addresses</i>. </span><span class="pubdate">May 2005. </span></p>
</div> </div>
</div> </div>
<div class="bibliodiv"> <div class="bibliodiv">
<h3 class="title">Resource Record Types</h3> <h3 class="title">Resource Record Types</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604938"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p> <a name="id2605128"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2604996"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p> <a name="id2605186"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605033"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using <a name="id2605223"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using
the Domain Name System</i>. </span><span class="pubdate">June 1997. </span></p> the Domain Name System</i>. </span><span class="pubdate">June 1997. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605137"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the <a name="id2605258"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the
Domain Domain
Name System</i>. </span><span class="pubdate">January 1996. </span></p> Name System</i>. </span><span class="pubdate">January 1996. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605191"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the <a name="id2605313"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the
Location of Location of
Services.</i>. </span><span class="pubdate">October 1996. </span></p> Services.</i>. </span><span class="pubdate">October 1996. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605229"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to <a name="id2605351"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to
Distribute MIXER Distribute MIXER
Conformant Global Address Mapping</i>. </span><span class="pubdate">January 1998. </span></p> Conformant Global Address Mapping</i>. </span><span class="pubdate">January 1998. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605255"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p> <a name="id2605377"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605281"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> <a name="id2605402"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605307"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> <a name="id2605429"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605334"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> <a name="id2605456"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605373"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p> <a name="id2605495"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605403"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p> <a name="id2605525"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605433"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p> <a name="id2605555"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605476"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p> <a name="id2605597"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605509"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p> <a name="id2605630"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605536"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p> <a name="id2605657"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605559"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP <a name="id2605681"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP
version 6</i>. </span><span class="pubdate">October 2003. </span></p> version 6</i>. </span><span class="pubdate">October 2003. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605617"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p> <a name="id2605738"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p>
</div> </div>
</div> </div>
<div class="bibliodiv"> <div class="bibliodiv">
<h3 class="title"> <h3 class="title">
<acronym class="acronym">DNS</acronym> and the Internet</h3> <acronym class="acronym">DNS</acronym> and the Internet</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605649"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names <a name="id2605770"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names
and Other Types</i>. </span><span class="pubdate">April 1989. </span></p> and Other Types</i>. </span><span class="pubdate">April 1989. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605674"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and <a name="id2605796"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and
Support</i>. </span><span class="pubdate">October 1989. </span></p> Support</i>. </span><span class="pubdate">October 1989. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605697"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p> <a name="id2605818"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605720"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p> <a name="id2605842"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605766"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p> <a name="id2605888"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605789"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p> <a name="id2605911"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p>
</div> </div>
</div> </div>
<div class="bibliodiv"> <div class="bibliodiv">
<h3 class="title"> <h3 class="title">
<acronym class="acronym">DNS</acronym> Operations</h3> <acronym class="acronym">DNS</acronym> Operations</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605847"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide.</i>. </span><span class="pubdate">November 1987. </span></p> <a name="id2605969"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide.</i>. </span><span class="pubdate">November 1987. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605870"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File <a name="id2605992"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File
Configuration Errors</i>. </span><span class="pubdate">October 1993. </span></p> Configuration Errors</i>. </span><span class="pubdate">October 1993. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605897"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and <a name="id2606019"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and
Configuration Errors</i>. </span><span class="pubdate">February 1996. </span></p> Configuration Errors</i>. </span><span class="pubdate">February 1996. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605924"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers.</i>. </span><span class="pubdate">October 1996. </span></p> <a name="id2606045"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers.</i>. </span><span class="pubdate">October 1996. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2605960"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for <a name="id2606082"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for
Network Services.</i>. </span><span class="pubdate">October 1997. </span></p> Network Services.</i>. </span><span class="pubdate">October 1997. </span></p>
</div> </div>
</div> </div>
<div class="bibliodiv"> <div class="bibliodiv">
<h3 class="title">Internationalized Domain Names</h3> <h3 class="title">Internationalized Domain Names</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606006"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names, <a name="id2606128"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names,
and the Other Internet protocols</i>. </span><span class="pubdate">May 2000. </span></p> and the Other Internet protocols</i>. </span><span class="pubdate">May 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606038"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p> <a name="id2606160"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606084"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p> <a name="id2606205"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606119"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode <a name="id2606241"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode
for Internationalized Domain Names in for Internationalized Domain Names in
Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p> Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
</div> </div>
@ -497,47 +497,47 @@
</p> </p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606164"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String <a name="id2606354"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String
Attributes</i>. </span><span class="pubdate">May 1993. </span></p> Attributes</i>. </span><span class="pubdate">May 1993. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606186"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p> <a name="id2606376"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606212"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load <a name="id2606402"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load
Balancing</i>. </span><span class="pubdate">April 1995. </span></p> Balancing</i>. </span><span class="pubdate">April 1995. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606306"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p> <a name="id2606427"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606329"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p> <a name="id2606451"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606375"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p> <a name="id2606497"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606398"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p> <a name="id2606520"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606425"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via <a name="id2606547"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via
Shared Unicast Addresses</i>. </span><span class="pubdate">April 2002. </span></p> Shared Unicast Addresses</i>. </span><span class="pubdate">April 2002. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606451"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p> <a name="id2606572"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p>
</div> </div>
</div> </div>
<div class="bibliodiv"> <div class="bibliodiv">
<h3 class="title">Obsolete and Unimplemented Experimental RFC</h3> <h3 class="title">Obsolete and Unimplemented Experimental RFC</h3>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606494"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical <a name="id2606616"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical
Location</i>. </span><span class="pubdate">November 1994. </span></p> Location</i>. </span><span class="pubdate">November 1994. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606552"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p> <a name="id2606674"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606579"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation <a name="id2606700"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation
and Renumbering</i>. </span><span class="pubdate">July 2000. </span></p> and Renumbering</i>. </span><span class="pubdate">July 2000. </span></p>
</div> </div>
</div> </div>
@ -551,39 +551,39 @@
</p> </p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606695"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p> <a name="id2606748"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606734"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p> <a name="id2606788"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606761"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p> <a name="id2606814"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606791"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC) <a name="id2606844"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC)
Signing Authority</i>. </span><span class="pubdate">November 2000. </span></p> Signing Authority</i>. </span><span class="pubdate">November 2000. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606817"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p> <a name="id2606870"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606843"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p> <a name="id2606897"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606880"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p> <a name="id2606933"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606916"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p> <a name="id2607037"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2606942"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p> <a name="id2607064"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2607037"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record <a name="id2607091"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record
(RR) Secure Entry Point (SEP) Flag</i>. </span><span class="pubdate">April 2004. </span></p> (RR) Secure Entry Point (SEP) Flag</i>. </span><span class="pubdate">April 2004. </span></p>
</div> </div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2607082"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p> <a name="id2607136"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p>
</div> </div>
</div> </div>
</div> </div>
@ -604,14 +604,14 @@
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2607124"></a>Other Documents About <acronym class="acronym">BIND</acronym> <a name="id2607177"></a>Other Documents About <acronym class="acronym">BIND</acronym>
</h3></div></div></div> </h3></div></div></div>
<p></p> <p></p>
<div class="bibliography"> <div class="bibliography">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2607133"></a>Bibliography</h4></div></div></div> <a name="id2607187"></a>Bibliography</h4></div></div></div>
<div class="biblioentry"> <div class="biblioentry">
<a name="id2607136"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p> <a name="id2607189"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p>
</div> </div>
</div> </div>
</div> </div>
@ -648,7 +648,7 @@
</ul></div> </ul></div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2608280"></a>Prerequisite</h3></div></div></div> <a name="id2608265"></a>Prerequisite</h3></div></div></div>
<p>GNU make is required to build the export libraries (other <p>GNU make is required to build the export libraries (other
part of BIND 9 can still be built with other types of make). In part of BIND 9 can still be built with other types of make). In
the reminder of this document, "make" means GNU make. Note that the reminder of this document, "make" means GNU make. Note that
@ -657,7 +657,7 @@
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2608290"></a>Compilation</h3></div></div></div> <a name="id2608275"></a>Compilation</h3></div></div></div>
<pre class="screen"> <pre class="screen">
$ <strong class="userinput"><code>./configure --enable-exportlib <em class="replaceable"><code>[other flags]</code></em></code></strong> $ <strong class="userinput"><code>./configure --enable-exportlib <em class="replaceable"><code>[other flags]</code></em></code></strong>
$ <strong class="userinput"><code>make</code></strong> $ <strong class="userinput"><code>make</code></strong>
@ -672,7 +672,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2608314"></a>Installation</h3></div></div></div> <a name="id2608299"></a>Installation</h3></div></div></div>
<pre class="screen"> <pre class="screen">
$ <strong class="userinput"><code>cd lib/export</code></strong> $ <strong class="userinput"><code>cd lib/export</code></strong>
$ <strong class="userinput"><code>make install</code></strong> $ <strong class="userinput"><code>make install</code></strong>
@ -694,7 +694,7 @@ $ <strong class="userinput"><code>make install</code></strong>
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2608345"></a>Known Defects/Restrictions</h3></div></div></div> <a name="id2608330"></a>Known Defects/Restrictions</h3></div></div></div>
<div class="itemizedlist"><ul type="disc"> <div class="itemizedlist"><ul type="disc">
<li><p>Currently, win32 is not supported for the export <li><p>Currently, win32 is not supported for the export
library. (Normal BIND 9 application can be built as library. (Normal BIND 9 application can be built as
@ -734,7 +734,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2608422"></a>The dns.conf File</h3></div></div></div> <a name="id2608680"></a>The dns.conf File</h3></div></div></div>
<p>The IRS library supports an "advanced" configuration file <p>The IRS library supports an "advanced" configuration file
related to the DNS library for configuration parameters that related to the DNS library for configuration parameters that
would be beyond the capability of the would be beyond the capability of the
@ -752,14 +752,14 @@ $ <strong class="userinput"><code>make</code></strong>
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2608449"></a>Sample Applications</h3></div></div></div> <a name="id2608707"></a>Sample Applications</h3></div></div></div>
<p>Some sample application programs using this API are <p>Some sample application programs using this API are
provided for reference. The following is a brief description of provided for reference. The following is a brief description of
these applications. these applications.
</p> </p>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608457"></a>sample: a simple stub resolver utility</h4></div></div></div> <a name="id2608715"></a>sample: a simple stub resolver utility</h4></div></div></div>
<p> <p>
It sends a query of a given name (of a given optional RR type) to a It sends a query of a given name (of a given optional RR type) to a
specified recursive server, and prints the result as a list of specified recursive server, and prints the result as a list of
@ -823,7 +823,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608548"></a>sample-async: a simple stub resolver, working asynchronously</h4></div></div></div> <a name="id2608806"></a>sample-async: a simple stub resolver, working asynchronously</h4></div></div></div>
<p> <p>
Similar to "sample", but accepts a list Similar to "sample", but accepts a list
of (query) domain names as a separate file and resolves the names of (query) domain names as a separate file and resolves the names
@ -864,7 +864,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608601"></a>sample-request: a simple DNS transaction client</h4></div></div></div> <a name="id2608859"></a>sample-request: a simple DNS transaction client</h4></div></div></div>
<p> <p>
It sends a query to a specified server, and It sends a query to a specified server, and
prints the response with minimal processing. It doesn't act as a prints the response with minimal processing. It doesn't act as a
@ -905,7 +905,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608733"></a>sample-gai: getaddrinfo() and getnameinfo() test code</h4></div></div></div> <a name="id2608992"></a>sample-gai: getaddrinfo() and getnameinfo() test code</h4></div></div></div>
<p> <p>
This is a test program This is a test program
to check getaddrinfo() and getnameinfo() behavior. It takes a to check getaddrinfo() and getnameinfo() behavior. It takes a
@ -922,7 +922,7 @@ $ <strong class="userinput"><code>make</code></strong>
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2608748"></a>sample-update: a simple dynamic update client program</h4></div></div></div> <a name="id2609006"></a>sample-update: a simple dynamic update client program</h4></div></div></div>
<p> <p>
It accepts a single update command as a It accepts a single update command as a
command-line argument, sends an update request message to the command-line argument, sends an update request message to the
@ -1017,7 +1017,7 @@ $ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mm
</div> </div>
<div class="sect3" lang="en"> <div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title"> <div class="titlepage"><div><div><h4 class="title">
<a name="id2609426"></a>nsprobe: domain/name server checker in terms of RFC 4074</h4></div></div></div> <a name="id2609138"></a>nsprobe: domain/name server checker in terms of RFC 4074</h4></div></div></div>
<p> <p>
It checks a set It checks a set
of domains to see the name servers of the domains behave of domains to see the name servers of the domains behave
@ -1074,7 +1074,7 @@ $ <strong class="userinput"><code>sample-update -a sample-update -k Kxxx.+nnn+mm
</div> </div>
<div class="sect2" lang="en"> <div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title"> <div class="titlepage"><div><div><h3 class="title">
<a name="id2609490"></a>Library References</h3></div></div></div> <a name="id2609611"></a>Library References</h3></div></div></div>
<p>As of this writing, there is no formal "manual" of the <p>As of this writing, there is no formal "manual" of the
libraries, except this document, header files (some of them libraries, except this document, header files (some of them
provide pretty detailed explanations), and sample application provide pretty detailed explanations), and sample application

View File

@ -113,33 +113,33 @@
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch04.html#dnssec.dynamic.zones">DNSSEC, Dynamic Zones, and Automatic Signing</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571421">Converting from insecure to secure</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571475">Converting from insecure to secure</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571459">Dynamic DNS update method</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571512">Dynamic DNS update method</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563508">Fully automatic zone signing</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563493">Fully automatic zone signing</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563590">Private-type records</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563575">Private-type records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563696">DNSKEY rollovers</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563612">DNSKEY rollovers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563708">Dynamic DNS update method</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563762">Dynamic DNS update method</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563741">Automatic key rollovers</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563795">Automatic key rollovers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563836">NSEC3PARAM rollovers via UPDATE</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563821">NSEC3PARAM rollovers via UPDATE</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563846">Converting from NSEC to NSEC3</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563899">Converting from NSEC to NSEC3</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563856">Converting from NSEC3 to NSEC</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563909">Converting from NSEC3 to NSEC</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563868">Converting from secure to insecure</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563922">Converting from secure to insecure</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563906">Periodic re-signing</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571605">Periodic re-signing</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2563915">NSEC3 and OPTOUT</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571614">NSEC3 and OPTOUT</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch04.html#rfc5011.support">Dynamic Trust Anchor Management</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571685">Validating Resolver</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2607510">Validating Resolver</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571707">Authoritative Server</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571692">Authoritative Server</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#pkcs11">PKCS #11 (Cryptoki) support</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch04.html#pkcs11">PKCS #11 (Cryptoki) support</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2609970">Prerequisites</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610637">Prerequisites</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608219">Building BIND 9 with PKCS#11</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608477">Building BIND 9 with PKCS#11</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610529">PKCS #11 Tools</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2608602">PKCS #11 Tools</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2610560">Using the HSM</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2634916">Using the HSM</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2635129">Specifying the engine on the command line</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2635114">Specifying the engine on the command line</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2635243">Running named with automatic zone re-signing</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2635160">Running named with automatic zone re-signing</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572669">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572669">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dd><dl> <dd><dl>
@ -187,28 +187,28 @@
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and <dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
Usage</a></span></dt> Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#statschannels"><span><strong class="command">statistics-channels</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589481"><span><strong class="command">statistics-channels</strong></span> Statement Definition and <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589534"><span><strong class="command">statistics-channels</strong></span> Statement Definition and
Usage</a></span></dt> Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#trusted-keys"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#trusted-keys"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589689"><span><strong class="command">trusted-keys</strong></span> Statement Definition <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589742"><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</a></span></dt> and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589736"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2589858"><span><strong class="command">managed-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#managed-keys"><span><strong class="command">managed-keys</strong></span> Statement Definition <dt><span class="sect2"><a href="Bv9ARM.ch06.html#managed-keys"><span><strong class="command">managed-keys</strong></span> Statement Definition
and Usage</a></span></dt> and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590162"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2590352"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span>
Statement Grammar</a></span></dt> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591713"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591902"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2595116">Zone File</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2595170">Zone File</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2597415">Discussion of MX Records</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2597537">Discussion of MX Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2597962">Inverse Mapping in IPv4</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598084">Inverse Mapping in IPv4</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598157">Other Zone File Directives</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598211">Other Zone File Directives</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598430"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2598552"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#statistics">BIND9 Statistics</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch06.html#statistics">BIND9 Statistics</a></span></dt>
@ -217,41 +217,41 @@
<dt><span class="chapter"><a href="Bv9ARM.ch07.html">7. <acronym class="acronym">BIND</acronym> 9 Security Considerations</a></span></dt> <dt><span class="chapter"><a href="Bv9ARM.ch07.html">7. <acronym class="acronym">BIND</acronym> 9 Security Considerations</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2603082"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2603136"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2603232">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2603285">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2603291">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2603345">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch08.html">8. Troubleshooting</a></span></dt> <dt><span class="chapter"><a href="Bv9ARM.ch08.html">8. Troubleshooting</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603371">Common Problems</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603561">Common Problems</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2603377">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2603566">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603388">Incrementing and Changing the Serial Number</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603578">Incrementing and Changing the Serial Number</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603405">Where Can I Get Help?</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2603595">Where Can I Get Help?</a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Appendices</a></span></dt> <dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Appendices</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2603536">Acknowledgments</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2603657">Acknowledgments</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2603707">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2603761">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd> <dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2607124">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2607177">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
</dl></dd> </dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bind9.library">BIND 9 DNS Library Support</a></span></dt> <dt><span class="sect1"><a href="Bv9ARM.ch09.html#bind9.library">BIND 9 DNS Library Support</a></span></dt>
<dd><dl> <dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608280">Prerequisite</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608265">Prerequisite</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608290">Compilation</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608275">Compilation</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608314">Installation</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608299">Installation</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608345">Known Defects/Restrictions</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608330">Known Defects/Restrictions</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608422">The dns.conf File</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608680">The dns.conf File</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608449">Sample Applications</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2608707">Sample Applications</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609490">Library References</a></span></dt> <dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2609611">Library References</a></span></dt>
</dl></dd> </dl></dd>
</dl></dd> </dl></dd>
<dt><span class="reference"><a href="Bv9ARM.ch10.html">I. Manual pages</a></span></dt> <dt><span class="reference"><a href="Bv9ARM.ch10.html">I. Manual pages</a></span></dt>

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004-2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001, 2002 Internet Software Consortium. # Copyright (C) 2001, 2002 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -50,20 +50,20 @@
<div class="cmdsynopsis"><p><code class="command">arpaname</code> {<em class="replaceable"><code>ipaddress </code></em>...}</p></div> <div class="cmdsynopsis"><p><code class="command">arpaname</code> {<em class="replaceable"><code>ipaddress </code></em>...}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2614792"></a><h2>DESCRIPTION</h2> <a name="id2618405"></a><h2>DESCRIPTION</h2>
<p> <p>
<span><strong class="command">arpaname</strong></span> translates IP addresses (IPv4 and <span><strong class="command">arpaname</strong></span> translates IP addresses (IPv4 and
IPv6) to the corresponding IN-ADDR.ARPA or IP6.ARPA names. IPv6) to the corresponding IN-ADDR.ARPA or IP6.ARPA names.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2614807"></a><h2>SEE ALSO</h2> <a name="id2618420"></a><h2>SEE ALSO</h2>
<p> <p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>. <em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2652026"></a><h2>AUTHOR</h2> <a name="id2618434"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">ddns-confgen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [ -s <em class="replaceable"><code>name</code></em> | -z <em class="replaceable"><code>zone</code></em> ] [<code class="option">-q</code>] [name]</p></div> <div class="cmdsynopsis"><p><code class="command">ddns-confgen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [ -s <em class="replaceable"><code>name</code></em> | -z <em class="replaceable"><code>zone</code></em> ] [<code class="option">-q</code>] [name]</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2651677"></a><h2>DESCRIPTION</h2> <a name="id2641910"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">ddns-confgen</strong></span> <p><span><strong class="command">ddns-confgen</strong></span>
generates a key for use by <span><strong class="command">nsupdate</strong></span> generates a key for use by <span><strong class="command">nsupdate</strong></span>
and <span><strong class="command">named</strong></span>. It simplifies configuration and <span><strong class="command">named</strong></span>. It simplifies configuration
@ -77,7 +77,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2651765"></a><h2>OPTIONS</h2> <a name="id2641997"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt> <dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd><p> <dd><p>
@ -144,7 +144,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2651965"></a><h2>SEE ALSO</h2> <a name="id2642608"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">nsupdate</span>(1)</span>, <p><span class="citerefentry"><span class="refentrytitle">nsupdate</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>, <span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
@ -152,7 +152,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2652004"></a><h2>AUTHOR</h2> <a name="id2642646"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -52,7 +52,7 @@
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div> <div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2610001"></a><h2>DESCRIPTION</h2> <a name="id2609644"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dig</strong></span> <p><span><strong class="command">dig</strong></span>
(domain information groper) is a flexible tool (domain information groper) is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and for interrogating DNS name servers. It performs DNS lookups and
@ -98,7 +98,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2610096"></a><h2>SIMPLE USAGE</h2> <a name="id2609808"></a><h2>SIMPLE USAGE</h2>
<p> <p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like: A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p> </p>
@ -144,7 +144,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2610889"></a><h2>OPTIONS</h2> <a name="id2610055"></a><h2>OPTIONS</h2>
<p> <p>
The <code class="option">-b</code> option sets the source IP address of the query The <code class="option">-b</code> option sets the source IP address of the query
to <em class="parameter"><code>address</code></em>. This must be a valid to <em class="parameter"><code>address</code></em>. This must be a valid
@ -248,7 +248,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2662636"></a><h2>QUERY OPTIONS</h2> <a name="id2662690"></a><h2>QUERY OPTIONS</h2>
<p><span><strong class="command">dig</strong></span> <p><span><strong class="command">dig</strong></span>
provides a number of query options which affect provides a number of query options which affect
the way in which lookups are made and the results displayed. Some of the way in which lookups are made and the results displayed. Some of
@ -579,7 +579,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2663651"></a><h2>MULTIPLE QUERIES</h2> <a name="id2663772"></a><h2>MULTIPLE QUERIES</h2>
<p> <p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span> The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports supports
@ -625,7 +625,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2663804"></a><h2>IDN SUPPORT</h2> <a name="id2663858"></a><h2>IDN SUPPORT</h2>
<p> <p>
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names. domain name) support, it can accept and display non-ASCII domain names.
@ -639,14 +639,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2663833"></a><h2>FILES</h2> <a name="id2663886"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code> <p><code class="filename">/etc/resolv.conf</code>
</p> </p>
<p><code class="filename">${HOME}/.digrc</code> <p><code class="filename">${HOME}/.digrc</code>
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2663854"></a><h2>SEE ALSO</h2> <a name="id2663908"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>, <p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
@ -654,7 +654,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2663892"></a><h2>BUGS</h2> <a name="id2663945"></a><h2>BUGS</h2>
<p> <p>
There are probably too many query options. There are probably too many query options.
</p> </p>

View File

@ -51,14 +51,14 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-dsfromkey</code> {-s} [<code class="option">-1</code>] [<code class="option">-2</code>] [<code class="option">-a <em class="replaceable"><code>alg</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-s</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>file</code></em></code>] [<code class="option">-A</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {dnsname}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2611846"></a><h2>DESCRIPTION</h2> <a name="id2611633"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-dsfromkey</strong></span> <p><span><strong class="command">dnssec-dsfromkey</strong></span>
outputs the Delegation Signer (DS) resource record (RR), as defined in outputs the Delegation Signer (DS) resource record (RR), as defined in
RFC 3658 and RFC 4509, for the given key(s). RFC 3658 and RFC 4509, for the given key(s).
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2611860"></a><h2>OPTIONS</h2> <a name="id2611646"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-1</span></dt> <dt><span class="term">-1</span></dt>
<dd><p> <dd><p>
@ -73,7 +73,8 @@
<dd><p> <dd><p>
Select the digest algorithm. The value of Select the digest algorithm. The value of
<code class="option">algorithm</code> must be one of SHA-1 (SHA1), <code class="option">algorithm</code> must be one of SHA-1 (SHA1),
SHA-256 (SHA256) or GOST. These values are case insensitive. SHA-256 (SHA256), GOST or SHA-384 (SHA384).
These values are case insensitive.
</p></dd> </p></dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt> <dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p> <dd><p>
@ -119,7 +120,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2612526"></a><h2>EXAMPLE</h2> <a name="id2611835"></a><h2>EXAMPLE</h2>
<p> <p>
To build the SHA-256 DS RR from the To build the SHA-256 DS RR from the
<strong class="userinput"><code>Kexample.com.+003+26160</code></strong> <strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
@ -134,7 +135,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2612563"></a><h2>FILES</h2> <a name="id2611872"></a><h2>FILES</h2>
<p> <p>
The keyfile can be designed by the key identification The keyfile can be designed by the key identification
<code class="filename">Knnnn.+aaa+iiiii</code> or the full file name <code class="filename">Knnnn.+aaa+iiiii</code> or the full file name
@ -148,13 +149,13 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2612604"></a><h2>CAVEAT</h2> <a name="id2611913"></a><h2>CAVEAT</h2>
<p> <p>
A keyfile error can give a "file not found" even if the file exists. A keyfile error can give a "file not found" even if the file exists.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2612614"></a><h2>SEE ALSO</h2> <a name="id2611923"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@ -164,7 +165,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2612858"></a><h2>AUTHOR</h2> <a name="id2611962"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-keyfromlabel</code> {-l <em class="replaceable"><code>label</code></em>} [<code class="option">-3</code>] [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-k</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-y</code>] {name}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2613302"></a><h2>DESCRIPTION</h2> <a name="id2612614"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keyfromlabel</strong></span> <p><span><strong class="command">dnssec-keyfromlabel</strong></span>
gets keys with the given label from a crypto hardware and builds gets keys with the given label from a crypto hardware and builds
key files for DNSSEC (Secure DNS), as defined in RFC 2535 key files for DNSSEC (Secure DNS), as defined in RFC 2535
@ -63,14 +63,15 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2613322"></a><h2>OPTIONS</h2> <a name="id2612634"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt> <dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd> <dd>
<p> <p>
Selects the cryptographic algorithm. The value of Selects the cryptographic algorithm. The value of
<code class="option">algorithm</code> must be one of RSAMD5, RSASHA1, <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
These values are case insensitive. These values are case insensitive.
</p> </p>
<p> <p>
@ -182,7 +183,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2614168"></a><h2>TIMING OPTIONS</h2> <a name="id2613344"></a><h2>TIMING OPTIONS</h2>
<p> <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as If the argument begins with a '+' or '-', it is interpreted as
@ -229,7 +230,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2614266"></a><h2>GENERATED KEY FILES</h2> <a name="id2615080"></a><h2>GENERATED KEY FILES</h2>
<p> <p>
When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes When <span><strong class="command">dnssec-keyfromlabel</strong></span> completes
successfully, successfully,
@ -268,7 +269,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2615589"></a><h2>SEE ALSO</h2> <a name="id2615447"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@ -276,7 +277,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2615622"></a><h2>AUTHOR</h2> <a name="id2615480"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {name}</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-q</code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S <em class="replaceable"><code>key</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {name}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2614596"></a><h2>DESCRIPTION</h2> <a name="id2613979"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keygen</strong></span> <p><span><strong class="command">dnssec-keygen</strong></span>
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
and RFC 4034. It can also generate keys for use with and RFC 4034. It can also generate keys for use with
@ -64,14 +64,15 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2614684"></a><h2>OPTIONS</h2> <a name="id2614068"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt> <dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd> <dd>
<p> <p>
Selects the cryptographic algorithm. For DNSSEC keys, the value Selects the cryptographic algorithm. For DNSSEC keys, the value
of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1, of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512 or ECCGOST. DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 or ECDSAP384SHA384.
For TSIG/TKEY, the value must For TSIG/TKEY, the value must
be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224, be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
@ -102,7 +103,8 @@
between 512 and 2048 bits. Diffie Hellman keys must be between between 512 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. DSA keys must be between 512 and 1024 128 and 4096 bits. DSA keys must be between 512 and 1024
bits and an exact multiple of 64. HMAC keys must be bits and an exact multiple of 64. HMAC keys must be
between 1 and 512 bits. between 1 and 512 bits. Elliptic curve algorithms don't need
this parameter.
</p> </p>
<p> <p>
The key size does not need to be specified if using a default The key size does not need to be specified if using a default
@ -129,7 +131,8 @@
Use an NSEC3-capable algorithm to generate a DNSSEC key. Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used and no algorithm is explicitly If this option is used and no algorithm is explicitly
set on the command line, NSEC3RSASHA1 will be used by set on the command line, NSEC3RSASHA1 will be used by
default. Note that RSASHA256, RSASHA512 and ECCGOST algorithms default. Note that RSASHA256, RSASHA512, ECCGOST,
ECDSAP256SHA256 and ECDSAP384SHA384 algorithms
are NSEC3-capable. are NSEC3-capable.
</p></dd> </p></dd>
<dt><span class="term">-C</span></dt> <dt><span class="term">-C</span></dt>
@ -266,7 +269,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2668243"></a><h2>TIMING OPTIONS</h2> <a name="id2666124"></a><h2>TIMING OPTIONS</h2>
<p> <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as If the argument begins with a '+' or '-', it is interpreted as
@ -337,7 +340,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2668501"></a><h2>GENERATED KEYS</h2> <a name="id2666314"></a><h2>GENERATED KEYS</h2>
<p> <p>
When <span><strong class="command">dnssec-keygen</strong></span> completes When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully, successfully,
@ -383,7 +386,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2668609"></a><h2>EXAMPLE</h2> <a name="id2666422"></a><h2>EXAMPLE</h2>
<p> <p>
To generate a 768-bit DSA key for the domain To generate a 768-bit DSA key for the domain
<strong class="userinput"><code>example.com</code></strong>, the following command would be <strong class="userinput"><code>example.com</code></strong>, the following command would be
@ -404,7 +407,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2668665"></a><h2>SEE ALSO</h2> <a name="id2666478"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2539</em>, <em class="citetitle">RFC 2539</em>,
@ -413,7 +416,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2668696"></a><h2>AUTHOR</h2> <a name="id2666509"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-revoke</code> [<code class="option">-hr</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f</code>] [<code class="option">-R</code>] {keyfile}</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-revoke</code> [<code class="option">-hr</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-f</code>] [<code class="option">-R</code>] {keyfile}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2615650"></a><h2>DESCRIPTION</h2> <a name="id2614416"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-revoke</strong></span> <p><span><strong class="command">dnssec-revoke</strong></span>
reads a DNSSEC key file, sets the REVOKED bit on the key as defined reads a DNSSEC key file, sets the REVOKED bit on the key as defined
in RFC 5011, and creates a new pair of key files containing the in RFC 5011, and creates a new pair of key files containing the
@ -58,7 +58,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2615664"></a><h2>OPTIONS</h2> <a name="id2614429"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-h</span></dt> <dt><span class="term">-h</span></dt>
<dd><p> <dd><p>
@ -96,14 +96,14 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2615784"></a><h2>SEE ALSO</h2> <a name="id2614550"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 5011</em>. <em class="citetitle">RFC 5011</em>.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2615809"></a><h2>AUTHOR</h2> <a name="id2614574"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-settime</code> [<code class="option">-f</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-h</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] {keyfile}</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-settime</code> [<code class="option">-f</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-h</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] {keyfile}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2615924"></a><h2>DESCRIPTION</h2> <a name="id2614758"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-settime</strong></span> <p><span><strong class="command">dnssec-settime</strong></span>
reads a DNSSEC private key file and sets the key timing metadata reads a DNSSEC private key file and sets the key timing metadata
as specified by the <code class="option">-P</code>, <code class="option">-A</code>, as specified by the <code class="option">-P</code>, <code class="option">-A</code>,
@ -76,7 +76,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2616051"></a><h2>OPTIONS</h2> <a name="id2614817"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-f</span></dt> <dt><span class="term">-f</span></dt>
<dd><p> <dd><p>
@ -109,7 +109,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2616145"></a><h2>TIMING OPTIONS</h2> <a name="id2615184"></a><h2>TIMING OPTIONS</h2>
<p> <p>
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
If the argument begins with a '+' or '-', it is interpreted as If the argument begins with a '+' or '-', it is interpreted as
@ -188,7 +188,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2616488"></a><h2>PRINTING OPTIONS</h2> <a name="id2615322"></a><h2>PRINTING OPTIONS</h2>
<p> <p>
<span><strong class="command">dnssec-settime</strong></span> can also be used to print the <span><strong class="command">dnssec-settime</strong></span> can also be used to print the
timing metadata associated with a key. timing metadata associated with a key.
@ -214,7 +214,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2616636"></a><h2>SEE ALSO</h2> <a name="id2615607"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
@ -222,7 +222,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2617693"></a><h2>AUTHOR</h2> <a name="id2615640"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-P</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-t</code>] [<code class="option">-u</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-x</code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div> <div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-P</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-t</code>] [<code class="option">-u</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-x</code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2617803"></a><h2>DESCRIPTION</h2> <a name="id2616228"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-signzone</strong></span> <p><span><strong class="command">dnssec-signzone</strong></span>
signs a zone. It generates signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the NSEC and RRSIG records and produces a signed version of the
@ -61,7 +61,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2617822"></a><h2>OPTIONS</h2> <a name="id2616247"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-a</span></dt> <dt><span class="term">-a</span></dt>
<dd><p> <dd><p>
@ -397,7 +397,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2672553"></a><h2>EXAMPLE</h2> <a name="id2667564"></a><h2>EXAMPLE</h2>
<p> <p>
The following command signs the <strong class="userinput"><code>example.com</code></strong> The following command signs the <strong class="userinput"><code>example.com</code></strong>
zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span> zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
@ -427,14 +427,14 @@ db.example.com.signed
%</pre> %</pre>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2672632"></a><h2>SEE ALSO</h2> <a name="id2667643"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 4033</em>. <em class="citetitle">RFC 4033</em>.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2672657"></a><h2>AUTHOR</h2> <a name="id2667668"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">genrandom</code> [<code class="option">-n <em class="replaceable"><code>number</code></em></code>] {<em class="replaceable"><code>size</code></em>} {<em class="replaceable"><code>filename</code></em>}</p></div> <div class="cmdsynopsis"><p><code class="command">genrandom</code> [<code class="option">-n <em class="replaceable"><code>number</code></em></code>] {<em class="replaceable"><code>size</code></em>} {<em class="replaceable"><code>filename</code></em>}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2652195"></a><h2>DESCRIPTION</h2> <a name="id2642837"></a><h2>DESCRIPTION</h2>
<p> <p>
<span><strong class="command">genrandom</strong></span> <span><strong class="command">genrandom</strong></span>
generates a file or a set of files containing a specified quantity generates a file or a set of files containing a specified quantity
@ -59,7 +59,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2652210"></a><h2>ARGUMENTS</h2> <a name="id2642852"></a><h2>ARGUMENTS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-n <em class="replaceable"><code>number</code></em></span></dt> <dt><span class="term">-n <em class="replaceable"><code>number</code></em></span></dt>
<dd><p> <dd><p>
@ -77,14 +77,14 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2652270"></a><h2>SEE ALSO</h2> <a name="id2642913"></a><h2>SEE ALSO</h2>
<p> <p>
<span class="citerefentry"><span class="refentrytitle">rand</span>(3)</span>, <span class="citerefentry"><span class="refentrytitle">rand</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">arc4random</span>(3)</span> <span class="citerefentry"><span class="refentrytitle">arc4random</span>(3)</span>
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2652980"></a><h2>AUTHOR</h2> <a name="id2642939"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div> <div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2611091"></a><h2>DESCRIPTION</h2> <a name="id2610871"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">host</strong></span> <p><span><strong class="command">host</strong></span>
is a simple utility for performing DNS lookups. is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa. It is normally used to convert names to IP addresses and vice versa.
@ -202,7 +202,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2611537"></a><h2>IDN SUPPORT</h2> <a name="id2611317"></a><h2>IDN SUPPORT</h2>
<p> <p>
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names. domain name) support, it can accept and display non-ASCII domain names.
@ -216,12 +216,12 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2611565"></a><h2>FILES</h2> <a name="id2611346"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code> <p><code class="filename">/etc/resolv.conf</code>
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2611579"></a><h2>SEE ALSO</h2> <a name="id2611360"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>, <p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>. <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p> </p>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">isc-hmac-fixup</code> {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>secret</code></em>}</p></div> <div class="cmdsynopsis"><p><code class="command">isc-hmac-fixup</code> {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>secret</code></em>}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2615000"></a><h2>DESCRIPTION</h2> <a name="id2619705"></a><h2>DESCRIPTION</h2>
<p> <p>
Versions of BIND 9 up to and including BIND 9.6 had a bug causing Versions of BIND 9 up to and including BIND 9.6 had a bug causing
HMAC-SHA* TSIG keys which were longer than the digest length of the HMAC-SHA* TSIG keys which were longer than the digest length of the
@ -76,7 +76,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2653052"></a><h2>SECURITY CONSIDERATIONS</h2> <a name="id2643899"></a><h2>SECURITY CONSIDERATIONS</h2>
<p> <p>
Secrets that have been converted by <span><strong class="command">isc-hmac-fixup</strong></span> Secrets that have been converted by <span><strong class="command">isc-hmac-fixup</strong></span>
are shortened, but as this is how the HMAC protocol works in are shortened, but as this is how the HMAC protocol works in
@ -87,14 +87,14 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2653068"></a><h2>SEE ALSO</h2> <a name="id2643915"></a><h2>SEE ALSO</h2>
<p> <p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2104</em>. <em class="citetitle">RFC 2104</em>.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2653085"></a><h2>AUTHOR</h2> <a name="id2643932"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-h</code>] [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-p</code>] [<code class="option">-z</code>]</p></div> <div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-h</code>] [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-p</code>] [<code class="option">-z</code>]</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2617986"></a><h2>DESCRIPTION</h2> <a name="id2617093"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named-checkconf</strong></span> <p><span><strong class="command">named-checkconf</strong></span>
checks the syntax, but not the semantics, of a checks the syntax, but not the semantics, of a
<span><strong class="command">named</strong></span> configuration file. The file is parsed <span><strong class="command">named</strong></span> configuration file. The file is parsed
@ -70,7 +70,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2618056"></a><h2>OPTIONS</h2> <a name="id2617163"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-h</span></dt> <dt><span class="term">-h</span></dt>
<dd><p> <dd><p>
@ -109,21 +109,21 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2618190"></a><h2>RETURN VALUES</h2> <a name="id2617298"></a><h2>RETURN VALUES</h2>
<p><span><strong class="command">named-checkconf</strong></span> <p><span><strong class="command">named-checkconf</strong></span>
returns an exit status of 1 if returns an exit status of 1 if
errors were detected and 0 otherwise. errors were detected and 0 otherwise.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2618204"></a><h2>SEE ALSO</h2> <a name="id2617312"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>. <em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2618234"></a><h2>AUTHOR</h2> <a name="id2617341"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -51,7 +51,7 @@
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div> <div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-r <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {<code class="option">-o <em class="replaceable"><code>filename</code></em></code>} {zonename} {filename}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2633185"></a><h2>DESCRIPTION</h2> <a name="id2618775"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named-checkzone</strong></span> <p><span><strong class="command">named-checkzone</strong></span>
checks the syntax and integrity of a zone file. It performs the checks the syntax and integrity of a zone file. It performs the
same checks as <span><strong class="command">named</strong></span> does when loading a same checks as <span><strong class="command">named</strong></span> does when loading a
@ -71,7 +71,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2633235"></a><h2>OPTIONS</h2> <a name="id2618825"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-d</span></dt> <dt><span class="term">-d</span></dt>
<dd><p> <dd><p>
@ -265,14 +265,14 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2673464"></a><h2>RETURN VALUES</h2> <a name="id2671342"></a><h2>RETURN VALUES</h2>
<p><span><strong class="command">named-checkzone</strong></span> <p><span><strong class="command">named-checkzone</strong></span>
returns an exit status of 1 if returns an exit status of 1 if
errors were detected and 0 otherwise. errors were detected and 0 otherwise.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2673478"></a><h2>SEE ALSO</h2> <a name="id2671356"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
<em class="citetitle">RFC 1035</em>, <em class="citetitle">RFC 1035</em>,
@ -280,7 +280,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2673511"></a><h2>AUTHOR</h2> <a name="id2671389"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">named-journalprint</code> {<em class="replaceable"><code>journal</code></em>}</p></div> <div class="cmdsynopsis"><p><code class="command">named-journalprint</code> {<em class="replaceable"><code>journal</code></em>}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2612358"></a><h2>DESCRIPTION</h2> <a name="id2616312"></a><h2>DESCRIPTION</h2>
<p> <p>
<span><strong class="command">named-journalprint</strong></span> <span><strong class="command">named-journalprint</strong></span>
prints the contents of a zone journal file in a human-readable prints the contents of a zone journal file in a human-readable
@ -76,7 +76,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2638618"></a><h2>SEE ALSO</h2> <a name="id2621956"></a><h2>SEE ALSO</h2>
<p> <p>
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">nsupdate</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">nsupdate</span>(8)</span>,
@ -84,7 +84,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2638649"></a><h2>AUTHOR</h2> <a name="id2621987"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine-name</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div> <div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine-name</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-V</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2635533"></a><h2>DESCRIPTION</h2> <a name="id2619008"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named</strong></span> <p><span><strong class="command">named</strong></span>
is a Domain Name System (DNS) server, is a Domain Name System (DNS) server,
part of the BIND 9 distribution from ISC. For more part of the BIND 9 distribution from ISC. For more
@ -65,7 +65,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2635564"></a><h2>OPTIONS</h2> <a name="id2619038"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-4</span></dt> <dt><span class="term">-4</span></dt>
<dd><p> <dd><p>
@ -246,7 +246,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2660284"></a><h2>SIGNALS</h2> <a name="id2638843"></a><h2>SIGNALS</h2>
<p> <p>
In routine operation, signals should not be used to control In routine operation, signals should not be used to control
the nameserver; <span><strong class="command">rndc</strong></span> should be used the nameserver; <span><strong class="command">rndc</strong></span> should be used
@ -267,7 +267,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2660334"></a><h2>CONFIGURATION</h2> <a name="id2660602"></a><h2>CONFIGURATION</h2>
<p> <p>
The <span><strong class="command">named</strong></span> configuration file is too complex The <span><strong class="command">named</strong></span> configuration file is too complex
to describe in detail here. A complete description is provided to describe in detail here. A complete description is provided
@ -284,7 +284,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2660384"></a><h2>FILES</h2> <a name="id2660651"></a><h2>FILES</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt> <dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
<dd><p> <dd><p>
@ -297,7 +297,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2660427"></a><h2>SEE ALSO</h2> <a name="id2660695"></a><h2>SEE ALSO</h2>
<p><em class="citetitle">RFC 1033</em>, <p><em class="citetitle">RFC 1033</em>,
<em class="citetitle">RFC 1034</em>, <em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>, <em class="citetitle">RFC 1035</em>,
@ -310,7 +310,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2675585"></a><h2>AUTHOR</h2> <a name="id2675716"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -48,7 +48,7 @@
<div class="cmdsynopsis"><p><code class="command">nsec3hash</code> {<em class="replaceable"><code>salt</code></em>} {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>iterations</code></em>} {<em class="replaceable"><code>domain</code></em>}</p></div> <div class="cmdsynopsis"><p><code class="command">nsec3hash</code> {<em class="replaceable"><code>salt</code></em>} {<em class="replaceable"><code>algorithm</code></em>} {<em class="replaceable"><code>iterations</code></em>} {<em class="replaceable"><code>domain</code></em>}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2653133"></a><h2>DESCRIPTION</h2> <a name="id2643980"></a><h2>DESCRIPTION</h2>
<p> <p>
<span><strong class="command">nsec3hash</strong></span> generates an NSEC3 hash based on <span><strong class="command">nsec3hash</strong></span> generates an NSEC3 hash based on
a set of NSEC3 parameters. This can be used to check the validity a set of NSEC3 parameters. This can be used to check the validity
@ -56,7 +56,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2653148"></a><h2>ARGUMENTS</h2> <a name="id2643995"></a><h2>ARGUMENTS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">salt</span></dt> <dt><span class="term">salt</span></dt>
<dd><p> <dd><p>
@ -80,14 +80,14 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2653210"></a><h2>SEE ALSO</h2> <a name="id2644125"></a><h2>SEE ALSO</h2>
<p> <p>
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 5155</em>. <em class="citetitle">RFC 5155</em>.
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2653227"></a><h2>AUTHOR</h2> <a name="id2644142"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [filename]</p></div> <div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [<code class="option">-D</code>] [[<code class="option">-g</code>] | [<code class="option">-o</code>] | [<code class="option">-l</code>] | [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-R <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-v</code>] [filename]</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2639154"></a><h2>DESCRIPTION</h2> <a name="id2626656"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">nsupdate</strong></span> <p><span><strong class="command">nsupdate</strong></span>
is used to submit Dynamic DNS Update requests as defined in RFC 2136 is used to submit Dynamic DNS Update requests as defined in RFC 2136
to a name server. to a name server.
@ -210,7 +210,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2639897"></a><h2>INPUT FORMAT</h2> <a name="id2633475"></a><h2>INPUT FORMAT</h2>
<p><span><strong class="command">nsupdate</strong></span> <p><span><strong class="command">nsupdate</strong></span>
reads input from reads input from
<em class="parameter"><code>filename</code></em> <em class="parameter"><code>filename</code></em>
@ -498,7 +498,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2678629"></a><h2>EXAMPLES</h2> <a name="id2678828"></a><h2>EXAMPLES</h2>
<p> <p>
The examples below show how The examples below show how
<span><strong class="command">nsupdate</strong></span> <span><strong class="command">nsupdate</strong></span>
@ -552,7 +552,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2678679"></a><h2>FILES</h2> <a name="id2678878"></a><h2>FILES</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt> <dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
<dd><p> <dd><p>
@ -575,7 +575,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2678762"></a><h2>SEE ALSO</h2> <a name="id2678962"></a><h2>SEE ALSO</h2>
<p> <p>
<em class="citetitle">RFC 2136</em>, <em class="citetitle">RFC 2136</em>,
<em class="citetitle">RFC 3007</em>, <em class="citetitle">RFC 3007</em>,
@ -590,7 +590,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2678820"></a><h2>BUGS</h2> <a name="id2679019"></a><h2>BUGS</h2>
<p> <p>
The TSIG key is redundantly stored in two separate files. The TSIG key is redundantly stored in two separate files.
This is a consequence of nsupdate using the DST library This is a consequence of nsupdate using the DST library

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">rndc-confgen</code> [<code class="option">-a</code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [<code class="option">-s <em class="replaceable"><code>address</code></em></code>] [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]</p></div> <div class="cmdsynopsis"><p><code class="command">rndc-confgen</code> [<code class="option">-a</code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [<code class="option">-s <em class="replaceable"><code>address</code></em></code>] [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2642617"></a><h2>DESCRIPTION</h2> <a name="id2641110"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">rndc-confgen</strong></span> <p><span><strong class="command">rndc-confgen</strong></span>
generates configuration files generates configuration files
for <span><strong class="command">rndc</strong></span>. It can be used as a for <span><strong class="command">rndc</strong></span>. It can be used as a
@ -66,7 +66,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2642683"></a><h2>OPTIONS</h2> <a name="id2641176"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-a</span></dt> <dt><span class="term">-a</span></dt>
<dd> <dd>
@ -173,7 +173,7 @@
</dl></div> </dl></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2650101"></a><h2>EXAMPLES</h2> <a name="id2641835"></a><h2>EXAMPLES</h2>
<p> <p>
To allow <span><strong class="command">rndc</strong></span> to be used with To allow <span><strong class="command">rndc</strong></span> to be used with
no manual configuration, run no manual configuration, run
@ -190,7 +190,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2652410"></a><h2>SEE ALSO</h2> <a name="id2643189"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>, <span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
@ -198,7 +198,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2652449"></a><h2>AUTHOR</h2> <a name="id2643842"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">rndc.conf</code> </p></div> <div class="cmdsynopsis"><p><code class="command">rndc.conf</code> </p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2641106"></a><h2>DESCRIPTION</h2> <a name="id2639872"></a><h2>DESCRIPTION</h2>
<p><code class="filename">rndc.conf</code> is the configuration file <p><code class="filename">rndc.conf</code> is the configuration file
for <span><strong class="command">rndc</strong></span>, the BIND 9 name server control for <span><strong class="command">rndc</strong></span>, the BIND 9 name server control
utility. This file has a similar structure and syntax to utility. This file has a similar structure and syntax to
@ -135,7 +135,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2641346"></a><h2>EXAMPLE</h2> <a name="id2640180"></a><h2>EXAMPLE</h2>
<pre class="programlisting"> <pre class="programlisting">
options { options {
default-server localhost; default-server localhost;
@ -209,7 +209,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2641672"></a><h2>NAME SERVER CONFIGURATION</h2> <a name="id2640301"></a><h2>NAME SERVER CONFIGURATION</h2>
<p> <p>
The name server must be configured to accept rndc connections and The name server must be configured to accept rndc connections and
to recognize the key specified in the <code class="filename">rndc.conf</code> to recognize the key specified in the <code class="filename">rndc.conf</code>
@ -219,7 +219,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2641698"></a><h2>SEE ALSO</h2> <a name="id2640327"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>, <p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">mmencode</span>(1)</span>, <span class="citerefentry"><span class="refentrytitle">mmencode</span>(1)</span>,
@ -227,7 +227,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2642419"></a><h2>AUTHOR</h2> <a name="id2640365"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">rndc</code> [<code class="option">-b <em class="replaceable"><code>source-address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key-file</code></em></code>] [<code class="option">-s <em class="replaceable"><code>server</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-V</code>] [<code class="option">-y <em class="replaceable"><code>key_id</code></em></code>] {command}</p></div> <div class="cmdsynopsis"><p><code class="command">rndc</code> [<code class="option">-b <em class="replaceable"><code>source-address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key-file</code></em></code>] [<code class="option">-s <em class="replaceable"><code>server</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-V</code>] [<code class="option">-y <em class="replaceable"><code>key_id</code></em></code>] {command}</p></div>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2640665"></a><h2>DESCRIPTION</h2> <a name="id2638953"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">rndc</strong></span> <p><span><strong class="command">rndc</strong></span>
controls the operation of a name controls the operation of a name
server. It supersedes the <span><strong class="command">ndc</strong></span> utility server. It supersedes the <span><strong class="command">ndc</strong></span> utility
@ -79,7 +79,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2640715"></a><h2>OPTIONS</h2> <a name="id2639003"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl> <div class="variablelist"><dl>
<dt><span class="term">-b <em class="replaceable"><code>source-address</code></em></span></dt> <dt><span class="term">-b <em class="replaceable"><code>source-address</code></em></span></dt>
<dd><p> <dd><p>
@ -151,7 +151,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2640940"></a><h2>LIMITATIONS</h2> <a name="id2639228"></a><h2>LIMITATIONS</h2>
<p><span><strong class="command">rndc</strong></span> <p><span><strong class="command">rndc</strong></span>
does not yet support all the commands of does not yet support all the commands of
the BIND 8 <span><strong class="command">ndc</strong></span> utility. the BIND 8 <span><strong class="command">ndc</strong></span> utility.
@ -165,7 +165,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2640971"></a><h2>SEE ALSO</h2> <a name="id2639259"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>, <p><span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
@ -175,7 +175,7 @@
</p> </p>
</div> </div>
<div class="refsect1" lang="en"> <div class="refsect1" lang="en">
<a name="id2641027"></a><h2>AUTHOR</h2> <a name="id2639315"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span> <p><span class="corpauthor">Internet Systems Consortium</span>
</p> </p>
</div> </div>

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium. # Copyright (C) 2001 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,6 +1,6 @@
#!/usr/bin/perl #!/usr/bin/perl
# #
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium. # Copyright (C) 2001 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -196,10 +196,11 @@ options {
request-nsid <boolean>; request-nsid <boolean>;
reserved-sockets <integer>; reserved-sockets <integer>;
resolver-query-timeout <integer>; resolver-query-timeout <integer>;
response-policy { response-policy { zone <quoted_string> [ policy ( given | disabled
zone <string> [ policy ( given | disabled | passthru | | passthru | no-op | nxdomain | nodata | cname <quoted_string>
no-op | nxdomain | nodata | cname <domain> ) ]; ) ] [ recursive-only <boolean> ] [ max-policy-ttl <integer> ];
}; ... } [ recursive-only <boolean> ] [ break-dnssec <boolean> ] [
max-policy-ttl <integer> ];
rfc2308-type1 <boolean>; // not yet implemented rfc2308-type1 <boolean>; // not yet implemented
root-delegation-only [ exclude { <quoted_string>; ... } ]; root-delegation-only [ exclude { <quoted_string>; ... } ];
rrset-order { [ class <string> ] [ type <string> ] [ name rrset-order { [ class <string> ] [ type <string> ] [ name
@ -400,10 +401,11 @@ view <string> <optional_class> {
request-ixfr <boolean>; request-ixfr <boolean>;
request-nsid <boolean>; request-nsid <boolean>;
resolver-query-timeout <integer>; resolver-query-timeout <integer>;
response-policy { response-policy { zone <quoted_string> [ policy ( given | disabled
zone <string> [ policy ( given | disabled | passthru | | passthru | no-op | nxdomain | nodata | cname <quoted_string>
no-op | nxdomain | nodata | cname <domain> ) ]; ) ] [ recursive-only <boolean> ] [ max-policy-ttl <integer> ];
}; ... } [ recursive-only <boolean> ] [ break-dnssec <boolean> ] [
max-policy-ttl <integer> ];
rfc2308-type1 <boolean>; // not yet implemented rfc2308-type1 <boolean>; // not yet implemented
root-delegation-only [ exclude { <quoted_string>; ... } ]; root-delegation-only [ exclude { <quoted_string>; ... } ];
rrset-order { [ class <string> ] [ type <string> ] [ name rrset-order { [ class <string> ] [ type <string> ] [ name

View File

@ -1,6 +1,6 @@
#!/bin/perl #!/bin/perl
# #
# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above # purpose with or without fee is hereby granted, provided that the above

View File

@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# #
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001, 2003 Internet Software Consortium. # Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2001, 2003 Internet Software Consortium. # Copyright (C) 1998-2001, 2003 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007, 2009 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium. # Copyright (C) 2001 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -4,5 +4,5 @@
# 9.8: 80-89 # 9.8: 80-89
# 9.9: 90-109 # 9.9: 90-109
LIBINTERFACE = 80 LIBINTERFACE = 80
LIBREVISION = 5 LIBREVISION = 7
LIBAGE = 0 LIBAGE = 0

View File

@ -286,10 +286,6 @@ disabled_algorithms(const cfg_obj_t *disabled, isc_log_t *logctx) {
r.length = strlen(r.base); r.length = strlen(r.base);
tresult = dns_secalg_fromtext(&alg, &r); tresult = dns_secalg_fromtext(&alg, &r);
if (tresult != ISC_R_SUCCESS) {
isc_uint8_t ui;
result = isc_parse_uint8(&ui, r.base, 10);
}
if (tresult != ISC_R_SUCCESS) { if (tresult != ISC_R_SUCCESS) {
cfg_obj_log(cfg_listelt_value(element), logctx, cfg_obj_log(cfg_listelt_value(element), logctx,
ISC_LOG_ERROR, "invalid algorithm '%s'", ISC_LOG_ERROR, "invalid algorithm '%s'",
@ -1258,6 +1254,29 @@ typedef struct {
int allowed; int allowed;
} optionstable; } optionstable;
static isc_result_t
check_nonzero(const cfg_obj_t *options, isc_log_t *logctx) {
isc_result_t result = ISC_R_SUCCESS;
const cfg_obj_t *obj = NULL;
unsigned int i;
static const char *nonzero[] = { "max-retry-time", "min-retry-time",
"max-refresh-time", "min-refresh-time" };
/*
* Check if value is zero.
*/
for (i = 0; i < sizeof(nonzero) / sizeof(nonzero[0]); i++) {
obj = NULL;
if (cfg_map_get(options, nonzero[i], &obj) == ISC_R_SUCCESS &&
cfg_obj_asuint32(obj) == 0) {
cfg_obj_log(obj, logctx, ISC_LOG_ERROR,
"'%s' must not be zero", nonzero[i]);
result = ISC_R_FAILURE;
}
}
return (result);
}
static isc_result_t static isc_result_t
check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
const cfg_obj_t *config, isc_symtab_t *symtab, const cfg_obj_t *config, isc_symtab_t *symtab,
@ -1267,7 +1286,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
const char *znamestr; const char *znamestr;
const char *typestr; const char *typestr;
unsigned int ztype; unsigned int ztype;
const cfg_obj_t *zoptions; const cfg_obj_t *zoptions, *goptions = NULL;
const cfg_obj_t *obj = NULL; const cfg_obj_t *obj = NULL;
isc_result_t result = ISC_R_SUCCESS; isc_result_t result = ISC_R_SUCCESS;
isc_result_t tresult; isc_result_t tresult;
@ -1288,8 +1307,10 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
{ "also-notify", MASTERZONE | SLAVEZONE }, { "also-notify", MASTERZONE | SLAVEZONE },
{ "dialup", MASTERZONE | SLAVEZONE | STUBZONE }, { "dialup", MASTERZONE | SLAVEZONE | STUBZONE },
{ "delegation-only", HINTZONE | STUBZONE | DELEGATIONZONE }, { "delegation-only", HINTZONE | STUBZONE | DELEGATIONZONE },
{ "forward", MASTERZONE | SLAVEZONE | STUBZONE | FORWARDZONE }, { "forward", MASTERZONE | SLAVEZONE | STUBZONE |
{ "forwarders", MASTERZONE | SLAVEZONE | STUBZONE | FORWARDZONE }, STATICSTUBZONE | FORWARDZONE },
{ "forwarders", MASTERZONE | SLAVEZONE | STUBZONE |
STATICSTUBZONE | FORWARDZONE },
{ "maintain-ixfr-base", MASTERZONE | SLAVEZONE }, { "maintain-ixfr-base", MASTERZONE | SLAVEZONE },
{ "max-ixfr-log-size", MASTERZONE | SLAVEZONE }, { "max-ixfr-log-size", MASTERZONE | SLAVEZONE },
{ "notify-source", MASTERZONE | SLAVEZONE }, { "notify-source", MASTERZONE | SLAVEZONE },
@ -1345,10 +1366,14 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
{ "passive", SLAVEZONE | STUBZONE }, { "passive", SLAVEZONE | STUBZONE },
}; };
znamestr = cfg_obj_asstring(cfg_tuple_get(zconfig, "name")); znamestr = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
zoptions = cfg_tuple_get(zconfig, "options"); zoptions = cfg_tuple_get(zconfig, "options");
if (config != NULL)
cfg_map_get(config, "options", &goptions);
obj = NULL; obj = NULL;
(void)cfg_map_get(zoptions, "type", &obj); (void)cfg_map_get(zoptions, "type", &obj);
if (obj == NULL) { if (obj == NULL) {
@ -1429,6 +1454,12 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions,
root = ISC_TRUE; root = ISC_TRUE;
} }
/*
* Check if value is zero.
*/
if (check_nonzero(zoptions, logctx) != ISC_R_SUCCESS)
result = ISC_R_FAILURE;
/* /*
* Look for inappropriate options for the given zone type. * Look for inappropriate options for the given zone type.
* Check that ACLs expand correctly. * Check that ACLs expand correctly.
@ -2169,6 +2200,14 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
result = ISC_R_FAILURE; result = ISC_R_FAILURE;
} }
/*
* Check non-zero options at the global and view levels.
*/
if (options != NULL && check_nonzero(options, logctx) != ISC_R_SUCCESS)
result = ISC_R_FAILURE;
if (voptions != NULL &&check_nonzero(voptions, logctx) != ISC_R_SUCCESS)
result = ISC_R_FAILURE;
/* /*
* Check that dual-stack-servers is reasonable. * Check that dual-stack-servers is reasonable.
*/ */
@ -2196,15 +2235,15 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
tresult = isc_symtab_create(mctx, 1000, freekey, mctx, tresult = isc_symtab_create(mctx, 1000, freekey, mctx,
ISC_FALSE, &symtab); ISC_FALSE, &symtab);
if (tresult != ISC_R_SUCCESS) if (tresult != ISC_R_SUCCESS)
return (ISC_R_NOMEMORY); goto cleanup;
(void)cfg_map_get(config, "key", &keys); (void)cfg_map_get(config, "key", &keys);
tresult = check_keylist(keys, symtab, mctx, logctx); tresult = check_keylist(keys, symtab, mctx, logctx);
if (tresult == ISC_R_EXISTS) if (tresult == ISC_R_EXISTS)
result = ISC_R_FAILURE; result = ISC_R_FAILURE;
else if (tresult != ISC_R_SUCCESS) { else if (tresult != ISC_R_SUCCESS) {
isc_symtab_destroy(&symtab); result = tresult;
return (tresult); goto cleanup;
} }
if (voptions != NULL) { if (voptions != NULL) {
@ -2214,8 +2253,8 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
if (tresult == ISC_R_EXISTS) if (tresult == ISC_R_EXISTS)
result = ISC_R_FAILURE; result = ISC_R_FAILURE;
else if (tresult != ISC_R_SUCCESS) { else if (tresult != ISC_R_SUCCESS) {
isc_symtab_destroy(&symtab); result = tresult;
return (tresult); goto cleanup;
} }
} }
@ -2336,7 +2375,11 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions,
if (tresult != ISC_R_SUCCESS) if (tresult != ISC_R_SUCCESS)
result = tresult; result = tresult;
cfg_aclconfctx_detach(&actx); cleanup:
if (symtab != NULL)
isc_symtab_destroy(&symtab);
if (actx != NULL)
cfg_aclconfctx_detach(&actx);
return (result); return (result);
} }

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium. # Copyright (C) 2001 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium. # Copyright (C) 2001 Internet Software Consortium.
# #
# Permission to use, copy, modify, and/or distribute this software for any # Permission to use, copy, modify, and/or distribute this software for any

View File

@ -47,7 +47,8 @@ LIBS = @LIBS@
# Alphabetically # Alphabetically
OPENSSLLINKOBJS = openssl_link.@O@ openssldh_link.@O@ openssldsa_link.@O@ \ OPENSSLLINKOBJS = openssl_link.@O@ openssldh_link.@O@ openssldsa_link.@O@ \
opensslgost_link.@O@ opensslrsa_link.@O@ opensslecdsa_link.@O@ opensslgost_link.@O@ \
opensslrsa_link.@O@
DSTOBJS = @DST_EXTRA_OBJS@ @OPENSSLLINKOBJS@ \ DSTOBJS = @DST_EXTRA_OBJS@ @OPENSSLLINKOBJS@ \
dst_api.@O@ dst_lib.@O@ dst_parse.@O@ dst_result.@O@ \ dst_api.@O@ dst_lib.@O@ dst_parse.@O@ dst_result.@O@ \
@ -76,7 +77,7 @@ OBJS= ${DNSOBJS} ${OTHEROBJS} ${DSTOBJS}
# Alphabetically # Alphabetically
OPENSSLLINKSRCS = openssl_link.c openssldh_link.c openssldsa_link.c \ OPENSSLLINKSRCS = openssl_link.c openssldh_link.c openssldsa_link.c \
opensslgost_link.c opensslrsa_link.c opensslecdsa_link.c opensslgost_link.c opensslrsa_link.c
DSTSRCS = @DST_EXTRA_SRCS@ @OPENSSLLINKSRCS@ \ DSTSRCS = @DST_EXTRA_SRCS@ @OPENSSLLINKSRCS@ \
dst_api.c dst_lib.c dst_parse.c \ dst_api.c dst_lib.c dst_parse.c \

Some files were not shown because too many files have changed in this diff Show More