Compare commits

..
1128 changed files with 22334 additions and 31621 deletions
-88
View File
@@ -1,88 +0,0 @@
;;; Directory Local Variables
;;; For more information see (info "(emacs) Directory Variables")
((c-mode .
((eval .
(set (make-local-variable 'directory-of-current-dir-locals-file)
(file-name-directory (locate-dominating-file default-directory ".dir-locals.el"))
)
)
(eval .
(set (make-local-variable 'include-directories)
(list
;; top directory
(expand-file-name
(concat directory-of-current-dir-locals-file "./"))
;; libisc
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isc/unix/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isc/pthreads/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isc/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isc"))
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isc/netmgr"))
;; libdns
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/dns/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/dns"))
;; libisccc
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isccc/include"))
;; libisccfg
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/isccfg/include"))
;; libns
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/ns/include"))
;; libirs
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/irs/include"))
;; libbind9
(expand-file-name
(concat directory-of-current-dir-locals-file "lib/bind9/include"))
;; bin
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/check"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/confgen/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/confgen"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/confgen/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/dig/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/named/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/rndc/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/dnssec/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/named/include"))
(expand-file-name
(concat directory-of-current-dir-locals-file "bin/rndc/include"))
(expand-file-name "/usr/local/opt/openssl@1.1/include")
(expand-file-name "/usr/local/opt/libxml2/include/libxml2")
(expand-file-name "/usr/local/include")
)
)
)
(eval setq flycheck-clang-include-path include-directories)
(eval setq flycheck-cppcheck-include-path include-directories)
)
))
+27 -49
View File
@@ -1,58 +1,36 @@
*-symtbl.c Makefile
*.a config.log
*.gcda config.h
*.gcno config.cache
*.la config.status
*.lo libtool
*.o /isc-config.sh
*.orig /configure.lineno
*.plist/ # ccc-analyzer store its results in .plist directories autom4te.cache/
*.rej *.rej
*.orig
*.o
*.lo
*.so *.so
*.a
*.la
*.gcno
*.gcda
*_test *_test
*~ *-symtbl.c
timestamp
ans.run
named.run
named.memstats
gen.dSYM/
.ccache/ .ccache/
.cproject
.deps/ .deps/
.dirstamp .dirstamp
.libs/ .libs/
# ccc-analyzer store its results in .plist directories
*.plist/
*~
.project .project
.cproject
.settings .settings
/aclocal.m4 kyua.log
/ar-lib
/autom4te.cache/
/bind.keys.h
/compile
/config.cache
/config.guess
/config.h
/config.h.in
/config.log
/config.status
/config.sub
/configure
/configure.lineno
/depcomp
/install-sh
/isc-config.sh
/libltdl/*
/libtool
/ltmain.sh
/m4/libtool.m4
/m4/ltargz.m4
/m4/ltdl.m4
/m4/ltoptions.m4
/m4/ltsugar.m4
/m4/ltversion.m4
/m4/lt~obsolete.m4
/missing
/py-compile
/stamp-h1
/test-driver
Makefile
ans.run
gen.dSYM/
kyua.log
named.memstats
named.run
timestamp
+266 -578
View File
File diff suppressed because it is too large Load Diff
+6 -553
View File
@@ -1,557 +1,10 @@
--- 9.14.7 released ---
5299. [security] A flaw in DNSSEC verification when transferring
mirror zones could allow data to be incorrectly
marked valid. (CVE-2019-6475) [GL #16P]
5298. [security] Named could assert if a forwarder returned a
referral, rather than resolving the query, when QNAME
minimization was enabled. (CVE-2019-6476) [GL #1051]
5297. [bug] Check whether a previous QNAME minimization fetch
is still running before starting a new one; return
SERVFAIL and log an error if so. [GL #1191]
5294. [func] Fallback to ACE name on output in locale, which does not
support converting it to unicode. [GL #846]
5293. [bug] On Windows, named crashed upon any attempt to fetch XML
statistics from it. [GL #1245]
5292. [bug] Queue 'rndc nsec3param' requests while signing inline
zone changes. [GL #1205]
--- 9.14.6 released ---
5289. [bug] Address NULL pointer dereference in rpz.c:rpz_detach.
[GL #1210]
5286. [contrib] Address potential NULL pointer dereferences in
dlz_mysqldyn_mod.c. [GL #1207]
5285. [port] win32: implement "-T maxudpXXX". [GL #837]
5283. [bug] When a response-policy zone expires, ensure that
its policies are removed from the RPZ summary
database. [GL #1146]
5282. [bug] Fixed a bug in searching for possible wildcard matches
for query names in the RPZ summary database. [GL #1146]
5281. [cleanup] Don't escape commas when reporting named's command
line. [GL #1189]
5280. [protocol] Add support for displaying EDNS option LLQ. [GL #1201]
5279. [bug] When loading, reject zones containing CDS or CDNSKEY
RRsets at the zone apex if they would cause DNSSEC
validation failures if published in the parent zone
as the DS RRset. [GL #1187]
--- 9.14.5 released ---
5277. [bug] Cache DB statistics could underflow when serve-stale
was in use, because of a bug in counter maintenance
when RRsets become stale.
Functions for dumping statistics have been updated
to dump active, stale, and ancient statistic
counters. Ancient RRset counters are prefixed
with '~'; stale RRset counters are still prefixed
with '#'. [GL #602]
5275. [bug] Mark DS records included in referral messages
with trust level "pending" so that they can be
validated and cached immediately, with no need to
re-query. [GL #964]
5274. [bug] Address potential use after free race when shutting
down rpz. [GL #1175]
5273. [bug] Check that bits [64..71] of a dns64 prefix are zero.
[GL #1159]
5269. [port] cygwin: can return ETIMEDOUT on connect() with a
non-blocking socket. [GL #1133]
5268. [bug] named could crash during configuration if
configured to use "geoip continent" ACLs with
legacy GeoIP. [GL #1163]
5266. [bug] named-checkconf failed to report dnstap-output
missing from named.conf when dnstap was specified.
[GL #1136]
5265. [bug] DNS64 and RPZ nodata (CNAME *.) rules interacted badly
[GL #1106]
5264. [func] New DNS Cookie algorithm - siphash24 - has been added
to BIND 9. [GL #605]
5236. [func] Add SipHash 2-4 implementation in lib/isc/siphash.c
and switch isc_hash_function() to use SipHash 2-4.
[GL #605]
--- 9.14.4 released ---
5260. [bug] dnstap-read was producing malformed output for large
packets. [GL #1093]
5258. [func] Added support for the GeoIP2 API from MaxMind,
when BIND is compiled using "configure --with-geoip2".
The legacy GeoIP API can be enabled by using
"configure --with-geoip" instead. These options
cannot be used together.
Certain geoip ACL settings that were available with
legacy GeoIP are not available when using GeoIP2.
See the ARM for details. [GL #182]
5257. [bug] Some statistics data was not being displayed.
Add shading to the zone tables. [GL #1030]
5256. [bug] Ensure that glue records are included in root
priming responses if "minimal-responses" is not
set to "yes". [GL #1092]
5255. [bug] Errors encountered while reloading inline-signing
zones could be ignored, causing the zone content to
be left in an incompletely updated state rather than
reverted. [GL #1109]
5254. [func] Collect metrics to report to the statistics-channel
DNSSEC signing operations (dnssec-sign) and refresh
operations (dnssec-refresh) per zone and per keytag.
[GL #513]
5253. [port] Support platforms that don't define ULLONG_MAX.
[GL #1098]
5251. [bug] Statistics were broken in x86 Windows builds.
[GL #1081]
5249. [bug] Fix a possible underflow in recursion clients
statistics when hitting recursive clients
soft quota. [GL #1067]
--- 9.14.3 released ---
5244. [security] Fixed a race condition in dns_dispatch_getnext()
that could cause an assertion failure if a
significant number of incoming packets were
rejected. (CVE-2019-6471) [GL #942]
5243. [bug] Fix a possible race between dispatcher and socket
code in a high-load cold-cache resolver scenario.
[GL #943]
5242. [bug] In relaxed qname minimization mode, fall back to
normal resolution when encountering a lame
delegation, and use _.domain/A queries rather
than domain/NS. [GL #1055]
5241. [bug] Fix Ed448 private and public key ASN.1 prefix blobs.
[GL #225]
5240. [bug] Remove key id calculation for RSAMD5. [GL #996]
5238. [bug] Fix a possible deadlock in TCP code. [GL #1046]
5237. [bug] Recurse to find the root server list with 'dig +trace'.
[GL #1028]
5234. [port] arm: just use the compiler's default support for
yield. [GL #981]
--- 9.14.2 released ---
5233. [bug] Negative trust anchors did not work with "forward only;"
to validating resolvers. [GL #997]
5231. [protocol] Add support for displaying CLIENT-TAG and SERVER-TAG.
[GL #960]
5229. [protocol] Enforce known SSHFP fingerprint lengths. [GL #852]
5228. [cleanup] If trusted-keys and managed-keys are configured
simultaneously for the same name, the key cannot
be rolled automatically. This configuration now
logs a warning. [GL #868]
5224. [bug] Only test provide-ixfr on TCP streams. [GL #991]
5223. [bug] Fixed a race in the filter-aaaa plugin accessing
the hash table. [GL #1005]
5222. [bug] 'delv -t ANY' could leak memory. [GL #983]
5221. [test] Enable parallel execution of system tests on
Windows. [GL !4101]
5220. [cleanup] Refactor the isc_stat structure to take advantage
of stdatomic. [GL !1493]
5219. [bug] Fixed a race in the filter-aaaa plugin that could
trigger a crash when returning an instance object
to the memory pool. [GL #982]
5218. [bug] Conditionally include <dlfcn.h>. [GL #995]
5217. [bug] Restore key id calculation for RSAMD5. [GL #996]
5216. [bug] Fetches-per-zone counter wasn't updated correctly
when doing qname minimization. [GL #992]
5215. [bug] Change #5124 was incomplete; named could still
return FORMERR instead of SERVFAIL in some cases.
[GL #990]
5214. [bug] win32: named now removes its lock file upon shutdown.
[GL #979]
5213. [bug] win32: Eliminated a race which allowed named.exe running
as a service to be killed prematurely during shutdown.
[GL #978]
5211. [bug] Allow out-of-zone additional data to be included
in authoritative responses if recursion is allowed
and "minimal-responses" is disabled. This behavior
was inadvertently removed in change #4605. [GL #817]
5210. [bug] When dnstap is enabled and recursion is not
available, incoming queries are now logged
as "auth". Previously, this depended on whether
recursion was requested by the client, not on
whether recursion was available. [GL #963]
5209. [bug] When update-check-ksk is true, add_sigs was not
considering offline keys, leaving record sets signed
with the incorrect type key. [GL #763]
5208. [test] Run valid rdata wire encodings through totext+fromtext
and tofmttext+fromtext methods to check these methods.
[GL #899]
5207. [test] Check delv and dig TTL values. [GL #965]
5206. [bug] Delv could print out bad TTLs. [GL #965]
5205. [bug] Enforce that a DS hash exists. [GL #899]
5204. [test] Check that dns_rdata_fromtext() produces a record that
will be accepted by dns_rdata_fromwire(). [GL #852]
5203. [bug] Enforce whether key rdata exists or not in KEY,
DNSKEY, CDNSKEY and RKEY. [GL #899]
5202. [bug] <dns/ecs.h> was missing ISC_LANG_ENDDECLS. [GL #976]
5190. [bug] Ignore trust anchors using disabled algorithms.
[GL #806]
--- 9.14.1 released ---
5201. [bug] Fix a possible deadlock in RPZ update code. [GL #973]
5200. [security] tcp-clients settings could be exceeded in some cases,
which could lead to exhaustion of file descriptors.
(CVE-2018-5743) [GL #615]
5199. [security] In certain configurations, named could crash
if nxdomain-redirect was in use and a redirected
query resulted in an NXDOMAIN from the cache.
(CVE-2019-6467) [GL #880]
5198. [bug] If a fetch context was being shut down and, at the same
time, we returned from qname minimization, an INSIST
could be hit. [GL #966]
5197. [bug] dig could die in best effort mode on multiple SIG(0)
records. Similarly on multiple OPT and multiple TSIG
records. [GL #920]
5196. [bug] make install failed with --with-dlopen=no. [GL #955]
5195. [bug] "allow-update" and "allow-update-forwarding" were
treated as configuration errors if used at the
options or view level. [GL #913]
5194. [bug] Enforce non empty ZOMEMD hash. [GL #899]
5193. [bug] EID and NIMLOC failed to do multi-line output
correctly. [GL #899]
5189. [cleanup] Remove revoked root DNSKEY from bind.keys. [GL #945]
5187. [test] Set time zone before running any tests in dnstap_test.
[GL #940]
5186. [cleanup] More dnssec-keygen manual tidying. [GL !1678]
5184. [bug] Missing unlocks in sdlz.c. [GL #936]
5183. [bug] Reinitialize ECS data before reusing client
structures. [GL #881]
--- 9.14.0 released ---
--- 9.14.0rc3 released ---
5182. [bug] Fix a high-load race/crash in handling of
isc_socket_close() in resolver. [GL #834]
5180. [bug] delv now honors the operating system's preferred
ephemeral port range. [GL #925]
5179. [cleanup] Replace some vague type declarations with the more
specific dns_secalg_t and dns_dsdigest_t.
Thanks to Tony Finch. [GL !1498]
5178. [bug] Handle EDQUOT (disk quota) and ENOSPC (disk full)
errors when writing files. [GL #902]
5177. [func] Add the ability to specify in named.conf whether a
response-policy zone's SOA record should be added
to the additional section (add-soa yes/no). [GL #865]
5167. [bug] nxdomain-redirect could sometimes lookup the wrong
redirect name. [GL #892]
--- 9.14.0rc2 released ---
5176. [tests] Remove a dependency on libxml in statschannel system
test. [GL #926]
5175. [bug] Fixed a problem with file input in dnssec-keymgr,
dnssec-coverage and dnssec-checkds when using
python3. [GL #882]
5174. [doc] Tidy dnssec-keygen manual. [GL !1557]
5173. [bug] Fixed a race in socket code that could occur when
accept, send, or recv were called from an event
loop but the socket had been closed by another
thread. [RT #874]
5172. [bug] nsupdate now honors the operating system's preferred
ephemeral port range. [GL #905]
5171. [func] named plugins are now installed into a separate
directory. Supplying a filename (a string without path
separators) in a "plugin" configuration stanza now
causes named to look for that plugin in that directory.
[GL #878]
5170. [test] Added --with-dlz-filesystem to feature-test. [GL !1587]
5169. [bug] The presence of certain types in an otherwise
empty node could cause a crash while processing a
type ANY query. [GL #901]
--- 9.14.0rc1 released ---
5168. [bug] Do not crash on shutdown when RPZ fails to load. Also,
keep previous version of the database if RPZ fails to
load. [GL #813]
5165. [contrib] Removed SDB drivers from contrib; they're obsolete.
[GL #428]
5164. [bug] Correct errno to result translation in dlz filesystem
modules. [GL #884]
5163. [cleanup] Out-of-tree builds failed --enable-dnstap. [GL #836]
5162. [cleanup] Improve dnssec-keymgr manual. Thanks to Tony Finch.
[GL !1518]
5161. [bug] Do not require the SEP bit to be set for mirror zone
trust anchors. [GL #873]
5160. [contrib] Added DNAME support to the DLZ LDAP schema. Also
fixed a compilation bug affecting several DLZ
modules. [GL #872]
5159. [bug] dnssec-coverage was incorrectly ignoring
names specified on the command line without
trailing dots. [GL !1478]
5158. [protocol] Add support for AMTRELAY and ZONEMD. [GL #867]
5157. [bug] Nslookup now errors out if there are extra command
line arguments. [GL #207]
5141. [security] Zone transfer controls for writable DLZ zones were
not effective as the allowzonexfr method was not being
called for such zones. (CVE-2019-6465) [GL #790]
5118. [security] Named could crash if it is managing a key with
`managed-keys` and the authoritative zone is rolling
the key to an unsupported algorithm. (CVE-2018-5745)
[GL #780]
5110. [security] Named leaked memory if there were multiple Key Tag
EDNS options present. (CVE-2018-5744) [GL #772]
--- 9.13.6 released ---
5156. [doc] Extended and refined the section of the ARM describing
mirror zones. [GL #774]
5155. [func] "named -V" now outputs the default paths to
named.conf, rndc.conf, bind.keys, and other
files used or created by named and other tools, so
that the correct paths to these files can quickly be
determined regardless of the configure settings
used when BIND was built. [GL #859]
5154. [bug] dig: process_opt could be called twice on the same
message leading to a assertion failure. [GL #860]
5153. [func] Zone transfer statistics (size, number of records, and
number of messages) are now logged for outgoing
transfers as well as incoming ones. [GL #513]
5152. [func] Improved logging of DNSSEC key events:
- Zone signing and DNSKEY maintenance events are
now logged to the "dnssec" category
- Messages are now logged when DNSSEC keys are
published, activated, inactivated, deleted,
or revoked.
[GL #714]
5151. [func] Options that have been been marked as obsolete in
named.conf for a very long time are now fatal
configuration errors. [GL #358]
5150. [cleanup] Remove the ability to compile BIND with assertions
disabled. [GL #735]
5149. [func] "rndc dumpdb" now prints a line above a stale RRset
indicating how long the data will be retained in the
cache for emergency use. [GL #101]
5148. [bug] named did not sign the TKEY response. [GL #821]
5147. [bug] dnssec-keymgr: Add a five-minute margin to better
handle key events close to 'now'. [GL #848]
5146. [placeholder]
5145. [func] Use atomics instead of locked variables for isc_quota
and isc_counter. [GL !1389]
5144. [bug] dig now returns a non-zero exit code when a TCP
connection is prematurely closed by a peer more than
once for the same lookup. [GL #820]
5143. [bug] dnssec-keymgr and dnssec-coverage failed to find
key files for zone names ending in ".". [GL #560]
5142. [cleanup] Removed "configure --disable-rpz-nsip" and
"--disable-rpz-nsdname" options. "nsip-enable"
and "nsdname-enable" both now default to yes,
regardless of compile-time settings. [GL #824]
5140. [bug] Don't immediately mark existing keys as inactive and
deleted when running dnssec-keymgr for the first
time. [GL #117]
5139. [bug] If possible, don't use forwarders when priming.
This ensures we can get root server IP addresses
from priming query response glue, which may not
be present if the forwarding server is returning
minimal responses. [GL #752]
5138. [bug] Under some circumstances named could hit an assertion
failure when doing qname minimization when using
forwarders. [GL #797]
5137. [func] named now logs messages whenever a mirror zone becomes
usable or unusable for resolution purposes. [GL #818]
5136. [cleanup] Check in named-checkconf that allow-update and
allow-update-forwarding are not set at the
view/options level; fix documentation. [GL #512]
5135. [port] sparc: Use smt_pause() instead of pause. [GL #816]
5134. [bug] win32: WSAStartup was not called before getservbyname
was called. [GL #590]
5133. [bug] 'rndc managed-keys' didn't handle class and view
correctly and failed to add new lines between each
view. [GL !1327]
5132. [bug] Fix race condition in cleanup part of dns_dt_create().
[GL !1323]
5131. [cleanup] Address Coverity warnings. [GL #801]
5130. [cleanup] Remove support for l10n message catalogs. [GL #709]
5129. [contrib] sdlz_helper.c:build_querylist was not properly
splitting the query string. [GL #798]
5128. [bug] Refreshkeytime was not being updated for managed
keys zones. [GL #784]
5127. [bug] rcode.c:maybe_numeric failed to handle NUL in text
regions. [GL #807]
5126. [bug] Named incorrectly accepted empty base64 and hex encoded
fields when reading master files. [GL #807]
5125. [bug] Allow for up to 100 records or 64k of data when caching
a negative response. [GL #804]
5124. [bug] Named could incorrectly return FORMERR rather than
SERVFAIL. [GL #804]
5123. [bug] dig could hang indefinitely after encountering an error
before creating a TCP socket. [GL #692]
5122. [bug] In a "forward first;" configuration, a forwarder
timeout did not prevent that forwarder from being
queried again after falling back to full recursive
resolution. [GL #315]
5121. [contrib] dlz_stub_driver.c fails to return ISC_R_NOTFOUND on none
matching zone names. [GL !1299]
5120. [placeholder]
5119. [placeholder]
5117. [placeholder]
5116. [bug] Named/named-checkconf triggered a assertion when
a mirror zone's name is bad. [GL #778]
5115. [bug] Allow unsupported algorithms in zone when not used for
signing with dnssec-signzone. [GL #783]
5114. [func] Include a 'reconfig/reload in progress' status line
in rndc status, use it in tests.
5113. [port] Fixed a Windows build error.
5112. [bug] Named/named-checkconf could dump core if there was
a missing masters clause and a bad notify clause.
[GL #779]
5111. [bug] Occluded DNSKEY records could make it into the
delegating NSEC/NSEC3 bitmap. [GL #742]
5109. [cleanup] Remove support for RSAMD5 algorithm. [GL #628]
--- 9.13.5 released --- --- 9.13.5 released ---
5108. [bug] Named could fail to determine bottom of zone when 5108. [bug] Named could fail to determine bottom of zone when
removing out of date keys leading to invalid NSEC removing out of date keys leading to invalid NSEC
and NSEC3 records being added to the zone. [GL #771] and NSEC3 records being added to the zone. [GL #771]
5107. [bug] 'host -U' did not work. [GL #769] 5107. [bug] 'host -U' did not work. [GL #769]
5106. [experimental] A new "plugin" mechanism has been added to allow 5106. [experimental] A new "plugin" mechanism has been added to allow
extension of query processing functionality through extension of query processing functionality through
@@ -621,8 +74,8 @@
5091. [func] Two new global and per-view options min-cache-ttl 5091. [func] Two new global and per-view options min-cache-ttl
and min-ncache-ttl [GL #613] and min-ncache-ttl [GL #613]
5090. [bug] dig and mdig failed to properly pre-parse dash value 5090. [bug] dig and mdig failed to properly preparse dash value
pairs when value was a separate argument and started pairs when value was a seperate argument and started
with a dash. [GL #584] with a dash. [GL #584]
5089. [bug] Restore localhost fallback in dig and host which is 5089. [bug] Restore localhost fallback in dig and host which is
@@ -688,7 +141,7 @@
5072. [bug] Add unit tests for isc_buffer_copyregion() and fix its 5072. [bug] Add unit tests for isc_buffer_copyregion() and fix its
behavior for auto-reallocated buffers. [GL #644] behavior for auto-reallocated buffers. [GL #644]
5071. [bug] Comparison of NXT records was broken. [GL #631] 5071. [bug] Comparision of NXT records was broken. [GL #631]
5070. [bug] Record types which support a empty rdata field were 5070. [bug] Record types which support a empty rdata field were
not handling the empty rdata field case. [GL #638] not handling the empty rdata field case. [GL #638]
@@ -707,7 +160,7 @@
5065. [bug] Only set IPV6_USE_MIN_MTU on IPv6. [GL #553] 5065. [bug] Only set IPV6_USE_MIN_MTU on IPv6. [GL #553]
5064. [test] Initialize TZ environment variable before calling 5064. [test] Initalize TZ environment variable before calling
dns_test_begin in dnstap_test. [GL #624] dns_test_begin in dnstap_test. [GL #624]
5063. [test] In statschannel test try a few times before failing 5063. [test] In statschannel test try a few times before failing
@@ -933,7 +386,7 @@
5001. [bug] Fix refcount errors on error paths. [GL !563] 5001. [bug] Fix refcount errors on error paths. [GL !563]
5000. [bug] named_server_servestale() could leave the server in 5000. [bug] named_server_servestale() could leave the server in
exclusive mode if an error occurred. [GL #441] exclusive mode if an error occured. [GL #441]
4999. [cleanup] Remove custom printf implementation in lib/isc/print.c. 4999. [cleanup] Remove custom printf implementation in lib/isc/print.c.
[GL #261] [GL #261]
-2
View File
@@ -1,5 +1,3 @@
CONTRIBUTING
BIND Source Access and Contributor Guidelines BIND Source Access and Contributor Guidelines
Feb 22, 2018 Feb 22, 2018
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright (C) 1996-2019 Internet Systems Consortium, Inc. ("ISC") Copyright (C) 1996-2018 Internet Systems Consortium, Inc. ("ISC")
This Source Code Form is subject to the terms of the Mozilla Public This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this License, v. 2.0. If a copy of the MPL was not distributed with this
+4 -6
View File
@@ -1,5 +1,3 @@
HISTORY
Functional enhancements from prior major releases of BIND 9 Functional enhancements from prior major releases of BIND 9
BIND 9.11 BIND 9.11
@@ -433,11 +431,11 @@ BIND 9.4.0
* Detect duplicates of UDP queries we are recursing on and drop them. * Detect duplicates of UDP queries we are recursing on and drop them.
New stats category "duplicates". New stats category "duplicates".
* "USE INTERNAL MALLOC" is now runtime selectable. * "USE INTERNAL MALLOC" is now runtime selectable.
* The lame cache is now done on a <qname,qclass,qtype> basis as some * The lame cache is now done on a basis as some servers only appear to
servers only appear to be lame for certain query types. be lame for certain query types.
* Limit the number of recursive clients that can be waiting for a single * Limit the number of recursive clients that can be waiting for a single
query (<qname,qtype,qclass>) to resolve. New options clients-per-query query () to resolve. New options clients-per-query and
and max-clients-per-query. max-clients-per-query.
* dig: report the number of extra bytes still left in the packet after * dig: report the number of extra bytes still left in the packet after
processing all the records. processing all the records.
* Support for IPSECKEY rdata type. * Support for IPSECKEY rdata type.
+5 -5
View File
@@ -97,27 +97,27 @@ test-force:
exit $$status exit $$status
README: README.md README: README.md
${PANDOC} --email-obfuscation=none -s --metadata title="README" -f markdown-smart -t html README.md | \ ${PANDOC} --email-obfuscation=none -s -t html README.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \ ${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@ sed -e '$${/^$$/d;}' > $@
HISTORY: HISTORY.md HISTORY: HISTORY.md
${PANDOC} --email-obfuscation=none -s --metadata title="HISTORY" -f markdown-smart -t html HISTORY.md | \ ${PANDOC} --email-obfuscation=none -s -t html HISTORY.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \ ${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@ sed -e '$${/^$$/d;}' > $@
OPTIONS: OPTIONS.md OPTIONS: OPTIONS.md
${PANDOC} --email-obfuscation=none -s --metadata title="OPTIONS" -f markdown-smart -t html OPTIONS.md | \ ${PANDOC} --email-obfuscation=none -s -t html OPTIONS.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \ ${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@ sed -e '$${/^$$/d;}' > $@
CONTRIBUTING: CONTRIBUTING.md CONTRIBUTING: CONTRIBUTING.md
${PANDOC} --email-obfuscation=none -s --metadata title="CONTRIBUTING" -f markdown-smart -t html CONTRIBUTING.md | \ ${PANDOC} --email-obfuscation=none -s -t html CONTRIBUTING.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \ ${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@ sed -e '$${/^$$/d;}' > $@
PLATFORMS: PLATFORMS.md PLATFORMS: PLATFORMS.md
${PANDOC} --email-obfuscation=none -s --metadata title="PLATFORMS" -f markdown-smart -t html PLATFORMS.md | \ ${PANDOC} --email-obfuscation=none -s -t html PLATFORMS.md | \
${W3M} -dump -cols 75 -O ascii -T text/html | \ ${W3M} -dump -cols 75 -O ascii -T text/html | \
sed -e '$${/^$$/d;}' > $@ sed -e '$${/^$$/d;}' > $@
+1 -3
View File
@@ -1,12 +1,10 @@
OPTIONS
Setting the STD_CDEFINES environment variable before running configure can Setting the STD_CDEFINES environment variable before running configure can
be used to enable certain compile-time options that are not explicitly be used to enable certain compile-time options that are not explicitly
defined in configure. defined in configure.
Some of these settings are: Some of these settings are:
Setting Description Setting Description
Overwrite memory with tag values when allocating Overwrite memory with tag values when allocating
-DISC_MEM_DEFAULTFILL=1 or freeing it; this impairs performance but -DISC_MEM_DEFAULTFILL=1 or freeing it; this impairs performance but
makes debugging of memory problems easier. makes debugging of memory problems easier.
+42 -28
View File
@@ -1,5 +1,3 @@
PLATFORMS
Supported platforms Supported platforms
In general, this version of BIND will build and run on any POSIX-compliant In general, this version of BIND will build and run on any POSIX-compliant
@@ -15,50 +13,49 @@ offer support on a "best effort" basis for some.
Regularly tested platforms Regularly tested platforms
As of Feb 2019, BIND 9.14 is fully supported and regularly tested on the As of May 2018, BIND 9.13 is tested on the following systems:
following systems:
* Debian 8, 9, 10 * Debian 8, 9
* Ubuntu 16.04, 18.04 * Ubuntu 16.04, 18.04
* Fedora 28, 29 * Fedora 27, 28
* Red Hat Enterprise Linux / CentOS 6, 7 * Red Hat/CentOS 6, 7
* FreeBSD 11.x * FreeBSD 10.x, 11.x
* OpenBSD 6.2, 6.3 * OpenBSD 6.3
The amd64, i386, armhf and arm64 CPU architectures are all fully The amd64, i386, armhf and arm64 CPU architectures are all fully
supported. supported.
Best effort Best effort
The following are platforms on which BIND is known to build and run. ISC The following are platforms on which BIND is known to build and run, but
makes every effort to fix bugs on these platforms, but may be unable to do on which it is not routinely tested. ISC makes every effort to fix bugs on
so quickly due to lack of hardware, less familiarity on the part of these platforms, but may be unable to do so quickly due to lack of
engineering staff, and other constraints. With the exception of Windows hardware, less familiarity on the part of engineering staff, and other
Server 2012 R2, none of these are tested regularly by ISC. constraints.
* Windows Server 2012 R2, 2016 / x64
* Windows 10 / x64 * Windows 10 / x64
* Windows Server 2012 R2, 2016 / x64
* macOS 10.12+ * macOS 10.12+
* Solaris 11 * Solaris 10
* FreeBSD 10.x, 12.0+ * FreeBSD 12+
* OpenBSD 6.4+ * OpenBSD 6.2
* NetBSD * NetBSD
* Other Linux distributions still supported by their vendors, such as: * Older or less popular Linux distributions still supported by their
vendors, such as:
+ Ubuntu 14.04, 18.10+ + Ubuntu 14.04, 18.10+
+ Gentoo + Gentoo
+ Arch Linux + ArchLinux
+ Alpine Linux + Alpine Linux
* OpenWRT/LEDE 17.01+ * OpenWRT/LEDE 17.0
* Other CPU architectures (mips, mipsel, sparc, ...) * Other CPU architectures (mips, mipsel, sparc, ...)
Unsupported platforms Unsupported platforms
These are platforms on which BIND 9.14 is known not to build or run: These are platforms on which BIND is known not to build or run:
* Platforms without at least OpenSSL 1.0.2 * Platforms without at least OpenSSL 1.0.2
* Windows 10 / x86 * Windows 10 / x86
* Windows Server 2012 and older * Windows Server 2012 and older
* Solaris 10 and older
* Platforms that don't support IPv6 Advanced Socket API (RFC 3542) * Platforms that don't support IPv6 Advanced Socket API (RFC 3542)
* Platforms that don't support atomic operations (via compiler or * Platforms that don't support atomic operations (via compiler or
library) library)
@@ -66,10 +63,27 @@ These are platforms on which BIND 9.14 is known not to build or run:
Platform quirks Platform quirks
NetBSD 6 i386 ARM
The i386 build of NetBSD requires the libatomic library, available from If the compilation ends with following error:
the gcc5-libs package. Because this library is in a non-standard path, its
location must be specified in the configure command line:
LDFLAGS="-L/usr/pkg/gcc5/i486--netbsdelf/lib/ -Wl,-R/usr/pkg/gcc5/i486--netbsdelf/lib/" ./configure Error: selected processor does not support `yield' in ARM mode
You will need to set -march compiler option to native, so the compiler
recognizes yield assembler instruction. The proper way to set -march=
native would be to put it into CFLAGS, e.g. run ./configure like this:
CFLAGS="-march=native -Os -g" ./configure plus your usual options.
If that doesn't work, you can enforce the minimum CPU and FPU (taken from
Debian armhf documentation):
* The lowest worthwhile CPU implementation is Armv7-A, therefore the
recommended build option is -march=armv7-a.
* FPU should be set at VFPv3-D16 as they represent the miminum
specification of the processors to support here, therefore the
recommended build option is -mfpu=vfpv3-d16.
The configure command should look like this:
CFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -Os -g" ./configure
+43 -26
View File
@@ -23,61 +23,78 @@ offer support on a "best effort" basis for some.
### Regularly tested platforms ### Regularly tested platforms
As of Feb 2019, BIND 9.14 is fully supported and regularly tested on the As of May 2018, BIND 9.13 is tested on the following systems:
following systems:
* Debian 8, 9, 10 * Debian 8, 9
* Ubuntu 16.04, 18.04 * Ubuntu 16.04, 18.04
* Fedora 28, 29 * Fedora 27, 28
* Red Hat Enterprise Linux / CentOS 6, 7 * Red Hat/CentOS 6, 7
* FreeBSD 11.x * FreeBSD 10.x, 11.x
* OpenBSD 6.2, 6.3 * OpenBSD 6.3
The amd64, i386, armhf and arm64 CPU architectures are all fully supported. The amd64, i386, armhf and arm64 CPU architectures are all fully supported.
### Best effort ### Best effort
The following are platforms on which BIND is known to build and run. The following are platforms on which BIND is known to build and run,
ISC makes every effort to fix bugs on these platforms, but may be unable to but on which it is not routinely tested. ISC makes every effort to fix bugs
do so quickly due to lack of hardware, less familiarity on the part of on these platforms, but may be unable to do so quickly due to lack of
engineering staff, and other constraints. With the exception of Windows hardware, less familiarity on the part of engineering staff, and other
Server 2012 R2, none of these are tested regularly by ISC. constraints.
* Windows Server 2012 R2, 2016 / x64
* Windows 10 / x64 * Windows 10 / x64
* Windows Server 2012 R2, 2016 / x64
* macOS 10.12+ * macOS 10.12+
* Solaris 11 * Solaris 10
* FreeBSD 10.x, 12.0+ * FreeBSD 12+
* OpenBSD 6.4+ * OpenBSD 6.2
* NetBSD * NetBSD
* Other Linux distributions still supported by their vendors, such as: * Older or less popular Linux distributions still supported by their vendors, such as:
* Ubuntu 14.04, 18.10+ * Ubuntu 14.04, 18.10+
* Gentoo * Gentoo
* Arch Linux * ArchLinux
* Alpine Linux * Alpine Linux
* OpenWRT/LEDE 17.01+ * OpenWRT/LEDE 17.0
* Other CPU architectures (mips, mipsel, sparc, ...) * Other CPU architectures (mips, mipsel, sparc, ...)
## Unsupported platforms ## Unsupported platforms
These are platforms on which BIND 9.14 is known *not* to build or run: These are platforms on which BIND is known *not* to build or run:
* Platforms without at least OpenSSL 1.0.2 * Platforms without at least OpenSSL 1.0.2
* Windows 10 / x86 * Windows 10 / x86
* Windows Server 2012 and older * Windows Server 2012 and older
* Solaris 10 and older
* Platforms that don't support IPv6 Advanced Socket API (RFC 3542) * Platforms that don't support IPv6 Advanced Socket API (RFC 3542)
* Platforms that don't support atomic operations (via compiler or library) * Platforms that don't support atomic operations (via compiler or library)
* Linux without NPTL (Native POSIX Thread Library) * Linux without NPTL (Native POSIX Thread Library)
## Platform quirks ## Platform quirks
### NetBSD 6 i386 ### ARM
The i386 build of NetBSD requires the `libatomic` library, available from If the compilation ends with following error:
the `gcc5-libs` package. Because this library is in a non-standard path,
its location must be specified in the `configure` command line:
``` ```
LDFLAGS="-L/usr/pkg/gcc5/i486--netbsdelf/lib/ -Wl,-R/usr/pkg/gcc5/i486--netbsdelf/lib/" ./configure Error: selected processor does not support `yield' in ARM mode
```
You will need to set `-march` compiler option to `native`, so the compiler
recognizes `yield` assembler instruction. The proper way to set `-march=native`
would be to put it into `CFLAGS`, e.g. run `./configure` like this:
`CFLAGS="-march=native -Os -g" ./configure` plus your usual options.
If that doesn't work, you can enforce the minimum CPU and FPU (taken from Debian
armhf documentation):
* The lowest worthwhile CPU implementation is Armv7-A, therefore the recommended
build option is `-march=armv7-a`.
* FPU should be set at VFPv3-D16 as they represent the miminum specification of
the processors to support here, therefore the recommended build option is
`-mfpu=vfpv3-d16`.
The configure command should look like this:
```
CFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -Os -g" ./configure
``` ```
+69 -130
View File
@@ -1,5 +1,3 @@
README
BIND 9 BIND 9
Contents Contents
@@ -7,15 +5,14 @@ Contents
1. Introduction 1. Introduction
2. Reporting bugs and getting help 2. Reporting bugs and getting help
3. Contributing to BIND 3. Contributing to BIND
4. BIND 9.14 features 4. BIND 9.13 features
5. Building BIND 5. Building BIND
6. macOS 6. macOS
7. Dependencies 7. Compile-time options
8. Compile-time options 8. Automated testing
9. Automated testing 9. Documentation
10. Documentation 10. Change log
11. Change log 11. Acknowledgments
12. Acknowledgments
Introduction Introduction
@@ -39,7 +36,7 @@ in versions 4 and 8. Internet Systems Consortium (https://www.isc.org), a
501(c)(3) public benefit corporation dedicated to providing software and 501(c)(3) public benefit corporation dedicated to providing software and
services in support of the Internet infrastructure, developed BIND 9 and services in support of the Internet infrastructure, developed BIND 9 and
is responsible for its ongoing maintenance and improvement. BIND is open is responsible for its ongoing maintenance and improvement. BIND is open
source software licensed under the terms of the Mozilla Public License, source software licenced under the terms of the Mozilla Public License,
version 2.0. version 2.0.
For a summary of features introduced in past major releases of BIND, see For a summary of features introduced in past major releases of BIND, see
@@ -71,9 +68,6 @@ If the bug you are reporting is a potential security issue, such as an
assertion failure or other crash in named, please do NOT use GitLab to assertion failure or other crash in named, please do NOT use GitLab to
report it. Instead, please send mail to security-officer@isc.org. report it. Instead, please send mail to security-officer@isc.org.
For a general overview of ISC security policies, read the Knowledge Base
article at https://kb.isc.org/docs/aa-00861.
Professional support and training for BIND are available from ISC at Professional support and training for BIND are available from ISC at
https://www.isc.org/support. https://www.isc.org/support.
@@ -93,7 +87,7 @@ Information for BIND contributors can be found in the following files: -
General information: CONTRIBUTING.md - BIND 9 code style: doc/dev/style.md General information: CONTRIBUTING.md - BIND 9 code style: doc/dev/style.md
- BIND architecture and developer guide: doc/dev/dev.md - BIND architecture and developer guide: doc/dev/dev.md
Patches for BIND may be submitted as merge requests in the ISC GitLab Patches for BIND may be submitted as Merge Requests in the ISC GitLab
server at at https://gitlab.isc.org/isc-projects/bind9/merge_requests. server at at https://gitlab.isc.org/isc-projects/bind9/merge_requests.
By default, external contributors don't have ability to fork BIND in the By default, external contributors don't have ability to fork BIND in the
@@ -105,19 +99,17 @@ If you prefer, you may also submit code by opening a GitLab Issue and
including your patch as an attachment, preferably generated by git including your patch as an attachment, preferably generated by git
format-patch. format-patch.
BIND 9.14 features BIND 9.13 features
BIND 9.14.0 is the first release from a new stable branch of BIND 9, BIND 9.13 is the newest development branch of BIND 9. It includes a number
incorporating all changes from the 9.13 development branch, updating the of changes from BIND 9.12 and earlier releases. New features include:
most recent stable branch, 9.12. These changes include:
* A new "plugin" mechanism has been added to allow query functionality * A new "plugin" mechanism has been added to allow query functionality
to be extended using dynamically loadable libraries. The "filter-aaaa" to be extended using dynamically loadable libraries. The "filter-aaaa"
feature has been removed from named and is now implemented as a feature has been removed from named and is now implemented as a
plugin. plugin.
* Socket and task code has been refactored to improve performance.
* QNAME minimization, as described in RFC 7816, is now supported. * QNAME minimization, as described in RFC 7816, is now supported.
* Socket and task code has been refactored to improve performance on
most modern machines.
* "Root key sentinel" support, enabling validating resolvers to indicate * "Root key sentinel" support, enabling validating resolvers to indicate
via a special query which trust anchors are configured for the root via a special query which trust anchors are configured for the root
zone. zone.
@@ -130,8 +122,6 @@ most recent stable branch, 9.12. These changes include:
which DNSSEC validation should not be performed. which DNSSEC validation should not be performed.
* The default value of "dnssec-validation" is now "auto". * The default value of "dnssec-validation" is now "auto".
* IDNA2008 is now supported when linking with libidn2. * IDNA2008 is now supported when linking with libidn2.
* "named -V" now outputs the default paths for files used by named and
other tools.
In addition, workarounds that were formerly in place to enable resolution In addition, workarounds that were formerly in place to enable resolution
of domains whose authoritative servers did not respond to EDNS queries of domains whose authoritative servers did not respond to EDNS queries
@@ -140,54 +130,20 @@ have been removed. See https://dnsflagday.net for more details.
Cryptographic support has been modernized. BIND now uses the best Cryptographic support has been modernized. BIND now uses the best
available pseudo-random number generator for the platform on which it's available pseudo-random number generator for the platform on which it's
built. Very old versions of OpenSSL are no longer supported. Cryptography built. Very old versions of OpenSSL are no longer supported. Cryptography
is now mandatory: building BIND without DNSSEC is no longer supported. is now mandatory: building BIND without DNSSEC is now longer supported.
Special code to support certain legacy operating systems has also been Special code to support certain legacy operating systems has also been
removed; see the file PLATFORMS.md for details of supported platforms. In removed; see the file PLATFORMS.md for details of supported platforms. In
addition to OpenSSL, BIND now requires support for IPv6, threads, and addition to OpenSSL, BIND now requires support for IPv6, threads, and
standard atomic operations provided by the C compiler. Non-threaded builds standard atomic operations provided by the C compiler.
are no longer supported.
BIND 9.14.1
BIND 9.14.1 is a maintenance release, and addresses security
vulnerabilities disclosed in CVE-2018-5743 and CVE-2019-6467.
BIND 9.14.2
BIND 9.14.2 is a maintenance release.
BIND 9.14.3
BIND 9.14.3 is a maintenance release, and addresses the security
vulnerability disclosed in CVE-2019-6471.
BIND 9.14.4
BIND 9.14.4 is a maintenance release, and also adds support for the new
MaxMind GeoIP2 geolocation API when built with configure --with-geoip2.
BIND 9.14.5
BIND 9.14.5 is a maintenance release.
BIND 9.14.6
BIND 9.14.6 is a maintenance release.
BIND 9.14.7
BIND 9.14.7 is a maintenance release, and also addresses the security
vulnerabilities disclosed in CVE-2019-6475 and CVE-2019-6476.
Building BIND Building BIND
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler, Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
basic POSIX support, and a 64-bit integer type. Successful builds have basic POSIX support, and a 64-bit integer type. Successful builds have
been observed on many versions of Linux and UNIX, including RHEL/CentOS, been observed on many versions of Linux and UNIX, including RedHat,
Fedora, Debian, Ubuntu, SLES, openSUSE, Slackware, Alpine, FreeBSD, Fedora, Debian, Ubuntu, SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS
NetBSD, OpenBSD, macOS, Solaris, OpenIndiana, OmniOS CE, HP-UX, and X, Solaris, HP-UX, and OpenWRT.
OpenWRT.
BIND requires a cryptography provider library such as OpenSSL or a BIND requires a cryptography provider library such as OpenSSL or a
hardware service module supporting PKCS#11. On Linux, BIND requires the hardware service module supporting PKCS#11. On Linux, BIND requires the
@@ -196,8 +152,8 @@ overridden by disabling capability support at compile time. See
Compile-time options below for details on other libraries that may be Compile-time options below for details on other libraries that may be
required to support optional features. required to support optional features.
BIND is also available for Windows Server 2008 and higher. See win32utils/ BIND is also available for Windows 2008 and higher. See win32utils/
build.txt for details on building for Windows systems. readme1st.txt for details on building for Windows systems.
To build on a UNIX or Linux system, use: To build on a UNIX or Linux system, use:
@@ -210,7 +166,7 @@ make depend. If you're using Emacs, you might find make tags helpful.
Several environment variables that can be set before running configure Several environment variables that can be set before running configure
will affect compilation: will affect compilation:
Variable Description Variable Description
CC The C compiler to use. configure tries to figure out the CC The C compiler to use. configure tries to figure out the
right one for supported systems. right one for supported systems.
C compiler flags. Defaults to include -g and/or -O2 as C compiler flags. Defaults to include -g and/or -O2 as
@@ -225,32 +181,43 @@ STD_CDEFINES Defaults to empty string. For a list of possible settings,
LDFLAGS Linker flags. Defaults to empty string. LDFLAGS Linker flags. Defaults to empty string.
BUILD_CC Needed when cross-compiling: the native C compiler to use BUILD_CC Needed when cross-compiling: the native C compiler to use
when building for the target system. when building for the target system.
BUILD_CFLAGS CFLAGS for the target system during cross-compiling. BUILD_CFLAGS Optional, used for cross-compiling
BUILD_CPPFLAGS CPPFLAGS for the target system during cross-compiling. BUILD_CPPFLAGS
BUILD_LDFLAGS LDFLAGS for the target system during cross-compiling. BUILD_LDFLAGS
BUILD_LIBS LIBS for the target system during cross-compiling. BUILD_LIBS
macOS macOS
Building on macOS assumes that the "Command Tools for Xcode" is installed. Building on macOS assumes that the "Command Tools for Xcode" is installed.
This can be downloaded from https://developer.apple.com/download/more/ or This can be downloaded from https://developer.apple.com/download/more/ or
if you have Xcode already installed you can run xcode-select --install. if you have Xcode already installed you can run "xcode-select --install".
This will add /usr/include to the system and install the compiler and
Dependencies other tools so that they can be easily found.
Portions of BIND that are written in Python, including dnssec-keymgr,
dnssec-coverage, dnssec-checkds, and some of the system tests, require the
argparse and ply modules to be available. argparse is a standard module as
of Python 2.7 and Python 3.2. ply is available from https://
pypi.python.org/pypi/ply.
Compile-time options Compile-time options
To see a full list of configuration options, run configure --help. To see a full list of configuration options, run configure --help.
On most platforms, BIND 9 is built with multithreading support, allowing
it to take advantage of multiple CPUs. You can configure this by
specifying --enable-threads or --disable-threads on the configure command
line. The default is to enable threads, except on some older operating
systems on which threads are known to have had problems in the past.
(Note: Prior to BIND 9.10, the default was to disable threads on Linux
systems; this has now been reversed. On Linux systems, the threaded build
is known to change BIND's behavior with respect to file permissions; it
may be necessary to specify a user with the -u option when running named.)
To build shared libraries, specify --with-libtool on the configure command To build shared libraries, specify --with-libtool on the configure command
line. line.
Certain compiled-in constants and default settings can be increased to
values better suited to large servers with abundant memory resources (e.g,
64-bit servers with 12G or more of memory) by specifying --with-tuning=
large on the configure command line. This can improve performance on big
servers, but will consume more memory and may degrade performance on
smaller systems.
For the server to support DNSSEC, you need to build it with crypto For the server to support DNSSEC, you need to build it with crypto
support. To use OpenSSL, you should have OpenSSL 1.0.2e or newer support. To use OpenSSL, you should have OpenSSL 1.0.2e or newer
installed. If the OpenSSL library is installed in a nonstandard location, installed. If the OpenSSL library is installed in a nonstandard location,
@@ -260,12 +227,9 @@ operations, specify the path to the PKCS#11 provider library using
--with-pkcs11=<PREFIX>, and configure BIND with --enable-native-pkcs11. --with-pkcs11=<PREFIX>, and configure BIND with --enable-native-pkcs11.
To support the HTTP statistics channel, the server must be linked with at To support the HTTP statistics channel, the server must be linked with at
least one of the following libraries: libxml2 http://xmlsoft.org or json-c least one of the following: libxml2 http://xmlsoft.org or json-c https://
https://github.com/json-c/json-c. If these are installed at a nonstandard github.com/json-c. If these are installed at a nonstandard location,
location, then: specify the prefix using --with-libxml2=/prefix or --with-libjson=/prefix.
* for libxml2, specify the prefix using --with-libxml2=/prefix,
* for json-c, adjust PKG_CONFIG_PATH.
To support compression on the HTTP statistics channel, the server must be To support compression on the HTTP statistics channel, the server must be
linked against libzlib. If this is installed in a nonstandard location, linked against libzlib. If this is installed in a nonstandard location,
@@ -285,17 +249,16 @@ github.com/farsightsec/fstrm and libprotobuf-c https://
developers.google.com/protocol-buffers, and BIND must be configured with developers.google.com/protocol-buffers, and BIND must be configured with
--enable-dnstap. --enable-dnstap.
Certain compiled-in constants and default settings can be increased to
values better suited to large servers with abundant memory resources (e.g,
64-bit servers with 12G or more of memory) by specifying --with-tuning=
large on the configure command line. This can improve performance on big
servers, but will consume more memory and may degrade performance on
smaller systems.
On Linux, process capabilities are managed in user space using the libcap On Linux, process capabilities are managed in user space using the libcap
library, which can be installed on most Linux systems via the libcap-dev library, which can be installed on most Linux systems via the libcap-dev
or libcap-devel package. Process capability support can also be disabled or libcap-devel module. Process capability support can also be disabled by
by configuring with --disable-linux-caps. configuring with --disable-linux-caps.
Portions of BIND that are written in Python, including dnssec-keymgr,
dnssec-coverage, dnssec-checkds, and some of the system tests, require the
'argparse' and 'ply' modules to be available. 'argparse' is a standard
module as of Python 2.7 and Python 3.2. 'ply' is available from https://
pypi.python.org/pypi/ply.
On some platforms it is necessary to explicitly request large file support On some platforms it is necessary to explicitly request large file support
to handle files bigger than 2GB. This can be done by using to handle files bigger than 2GB. This can be done by using
@@ -306,10 +269,6 @@ specifying --enable-fixed-rrset or --disable-fixed-rrset on the configure
command line. By default, fixed rrset-order is disabled to reduce memory command line. By default, fixed rrset-order is disabled to reduce memory
footprint. footprint.
The --enable-querytrace option causes named to log every step of
processing every query. This should only be enabled when debugging,
because it has a significant negative impact on query performance.
make install will install named and the various BIND 9 libraries. By make install will install named and the various BIND 9 libraries. By
default, installation is into /usr/local, but this can be changed with the default, installation is into /usr/local, but this can be changed with the
--prefix option when running configure. --prefix option when running configure.
@@ -332,7 +291,7 @@ ifconfig.sh up as root.
Some tests require Perl and the Net::DNS and/or IO::Socket::INET6 modules, Some tests require Perl and the Net::DNS and/or IO::Socket::INET6 modules,
and will be skipped if these are not available. Some tests require Python and will be skipped if these are not available. Some tests require Python
and the dnspython module and will be skipped if these are not available. and the 'dnspython' module and will be skipped if these are not available.
See bin/tests/system/README for further details. See bin/tests/system/README for further details.
Unit tests are implemented using the CMocka unit testing framework. To Unit tests are implemented using the CMocka unit testing framework. To
@@ -343,7 +302,7 @@ tests can be run via make test or make unit.
Documentation Documentation
The BIND 9 Administrator Reference Manual is included with the source The BIND 9 Administrator Reference Manual is included with the source
distribution, in DocBook XML, HTML, and PDF format, in the doc/arm distribution, in DocBook XML, HTML and PDF format, in the doc/arm
directory. directory.
Some of the programs in the BIND 9 distribution have man pages in their Some of the programs in the BIND 9 distribution have man pages in their
@@ -363,7 +322,7 @@ development BIND 9 is included in the file CHANGES, with the most recent
changes listed first. Change notes include tags indicating the category of changes listed first. Change notes include tags indicating the category of
the change that was made; these categories are: the change that was made; these categories are:
Category Description Category Description
[func] New feature [func] New feature
[bug] General bug fix [bug] General bug fix
[security] Fix for a significant security flaw [security] Fix for a significant security flaw
@@ -391,46 +350,26 @@ releases (i.e., those with version numbers ending in zero). Some new
functionality may be backported to older releases on a case-by-case basis. functionality may be backported to older releases on a case-by-case basis.
All other change types may be applied to all currently-supported releases. All other change types may be applied to all currently-supported releases.
Bug report identifiers
Most notes in the CHANGES file include a reference to a bug report or
issue number. Prior to 2018, these were usually of the form [RT #NNN] and
referred to entries in the "bind9-bugs" RT database, which was not open to
the public. More recent entries use the form [GL #NNN] or, less often, [GL
!NNN], which, respectively, refer to issues or merge requests in the
GitLab database. Most of these are publicly readable, unless they include
information which is confidential or security sensitive.
To look up a GitLab issue by its number, use the URL https://
gitlab.isc.org/isc-projects/bind9/issues/NNN. To look up a merge request,
use https://gitlab.isc.org/isc-projects/bind9/merge_requests/NNN.
In rare cases, an issue or merge request number may be followed with the
letter "P". This indicates that the information is in the private ISC
GitLab instance, which is not visible to the public.
Acknowledgments Acknowledgments
* The original development of BIND 9 was underwritten by the following * The original development of BIND 9 was underwritten by the following
organizations: organizations:
Sun Microsystems, Inc. Sun Microsystems, Inc.
Hewlett Packard Hewlett Packard
Compaq Computer Corporation Compaq Computer Corporation
IBM IBM
Process Software Corporation Process Software Corporation
Silicon Graphics, Inc. Silicon Graphics, Inc.
Network Associates, Inc. Network Associates, Inc.
U.S. Defense Information Systems Agency U.S. Defense Information Systems Agency
USENIX Association USENIX Association
Stichting NLnet - NLnet Foundation Stichting NLnet - NLnet Foundation
Nominum, Inc. Nominum, Inc.
* This product includes software developed by the OpenSSL Project for * This product includes software developed by the OpenSSL Project for
use in the OpenSSL Toolkit. http://www.OpenSSL.org/ use in the OpenSSL Toolkit. http://www.OpenSSL.org/
* This product includes cryptographic software written by Eric Young * This product includes cryptographic software written by Eric Young
(eay@cryptsoft.com) (eay@cryptsoft.com)
* This product includes software written by Tim Hudson * This product includes software written by Tim Hudson
(tjh@cryptsoft.com) (tjh@cryptsoft.com)
+61 -116
View File
@@ -15,10 +15,9 @@
1. [Introduction](#intro) 1. [Introduction](#intro)
1. [Reporting bugs and getting help](#help) 1. [Reporting bugs and getting help](#help)
1. [Contributing to BIND](#contrib) 1. [Contributing to BIND](#contrib)
1. [BIND 9.14 features](#features) 1. [BIND 9.13 features](#features)
1. [Building BIND](#build) 1. [Building BIND](#build)
1. [macOS](#macos) 1. [macOS](#macos)
1. [Dependencies](#dependencies)
1. [Compile-time options](#opts) 1. [Compile-time options](#opts)
1. [Automated testing](#testing) 1. [Automated testing](#testing)
1. [Documentation](#doc) 1. [Documentation](#doc)
@@ -48,7 +47,7 @@ used in versions 4 and 8. Internet Systems Consortium
corporation dedicated to providing software and services in support of the corporation dedicated to providing software and services in support of the
Internet infrastructure, developed BIND 9 and is responsible for its Internet infrastructure, developed BIND 9 and is responsible for its
ongoing maintenance and improvement. BIND is open source software ongoing maintenance and improvement. BIND is open source software
licensed under the terms of the Mozilla Public License, version 2.0. licenced under the terms of the Mozilla Public License, version 2.0.
For a summary of features introduced in past major releases of BIND, For a summary of features introduced in past major releases of BIND,
see the file [HISTORY](HISTORY.md). see the file [HISTORY](HISTORY.md).
@@ -82,9 +81,6 @@ assertion failure or other crash in `named`, please do *NOT* use GitLab to
report it. Instead, please send mail to report it. Instead, please send mail to
[security-officer@isc.org](mailto:security-officer@isc.org). [security-officer@isc.org](mailto:security-officer@isc.org).
For a general overview of ISC security policies, read the Knowledge Base
article at [https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861).
Professional support and training for BIND are available from Professional support and training for BIND are available from
ISC at [https://www.isc.org/support](https://www.isc.org/support). ISC at [https://www.isc.org/support](https://www.isc.org/support).
@@ -106,7 +102,7 @@ Information for BIND contributors can be found in the following files:
- BIND architecture and developer guide: [doc/dev/dev.md](doc/dev/dev.md) - BIND architecture and developer guide: [doc/dev/dev.md](doc/dev/dev.md)
Patches for BIND may be submitted as Patches for BIND may be submitted as
[merge requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests) [Merge Requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests)
in the [ISC GitLab server](https://gitlab.isc.org) at in the [ISC GitLab server](https://gitlab.isc.org) at
at [https://gitlab.isc.org/isc-projects/bind9/merge_requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests). at [https://gitlab.isc.org/isc-projects/bind9/merge_requests](https://gitlab.isc.org/isc-projects/bind9/merge_requests).
@@ -120,18 +116,17 @@ If you prefer, you may also submit code by opening a
including your patch as an attachment, preferably generated by including your patch as an attachment, preferably generated by
`git format-patch`. `git format-patch`.
### <a name="features"/> BIND 9.14 features ### <a name="features"/> BIND 9.13 features
BIND 9.14.0 is the first release from a new stable branch of BIND 9, BIND 9.13 is the newest development branch of BIND 9. It includes a
incorporating all changes from the 9.13 development branch, updating number of changes from BIND 9.12 and earlier releases. New features
the most recent stable branch, 9.12. These changes include: include:
* A new "plugin" mechanism has been added to allow query functionality * A new "plugin" mechanism has been added to allow query functionality
to be extended using dynamically loadable libraries. The "filter-aaaa" to be extended using dynamically loadable libraries. The "filter-aaaa"
feature has been removed from named and is now implemented as a plugin. feature has been removed from named and is now implemented as a plugin.
* Socket and task code has been refactored to improve performance.
* QNAME minimization, as described in RFC 7816, is now supported. * QNAME minimization, as described in RFC 7816, is now supported.
* Socket and task code has been refactored to improve performance on most
modern machines.
* "Root key sentinel" support, enabling validating resolvers to indicate * "Root key sentinel" support, enabling validating resolvers to indicate
via a special query which trust anchors are configured for the root zone. via a special query which trust anchors are configured for the root zone.
* Secondary zones can now be configured as "mirror" zones; their contents * Secondary zones can now be configured as "mirror" zones; their contents
@@ -143,8 +138,6 @@ the most recent stable branch, 9.12. These changes include:
DNSSEC validation should not be performed. DNSSEC validation should not be performed.
* The default value of "dnssec-validation" is now "auto". * The default value of "dnssec-validation" is now "auto".
* IDNA2008 is now supported when linking with `libidn2`. * IDNA2008 is now supported when linking with `libidn2`.
* "named -V" now outputs the default paths for files used by named
and other tools.
In addition, workarounds that were formerly in place to enable resolution In addition, workarounds that were formerly in place to enable resolution
of domains whose authoritative servers did not respond to EDNS queries of domains whose authoritative servers did not respond to EDNS queries
@@ -154,55 +147,22 @@ for more details.
Cryptographic support has been modernized. BIND now uses the Cryptographic support has been modernized. BIND now uses the
best available pseudo-random number generator for the platform on which best available pseudo-random number generator for the platform on which
it's built. Very old versions of OpenSSL are no longer supported. it's built. Very old versions of OpenSSL are no longer supported.
Cryptography is now mandatory: building BIND without DNSSEC is no Cryptography is now mandatory: building BIND without DNSSEC is now
longer supported. longer supported.
Special code to support certain legacy operating systems has also Special code to support certain legacy operating systems has also
been removed; see the file [PLATFORMS.md](PLATFORMS.md) for details been removed; see the file [PLATFORMS.md](PLATFORMS.md) for details
of supported platforms. In addition to OpenSSL, BIND now requires of supported platforms. In addition to OpenSSL, BIND now requires
support for IPv6, threads, and standard atomic operations provided support for IPv6, threads, and standard atomic operations provided
by the C compiler. Non-threaded builds are no longer supported. by the C compiler.
#### BIND 9.14.1
BIND 9.14.1 is a maintenance release, and addresses security
vulnerabilities disclosed in CVE-2018-5743 and CVE-2019-6467.
#### BIND 9.14.2
BIND 9.14.2 is a maintenance release.
#### BIND 9.14.3
BIND 9.14.3 is a maintenance release, and addresses the security
vulnerability disclosed in CVE-2019-6471.
#### BIND 9.14.4
BIND 9.14.4 is a maintenance release, and also adds support for
the new MaxMind GeoIP2 geolocation API when built with
`configure --with-geoip2`.
#### BIND 9.14.5
BIND 9.14.5 is a maintenance release.
#### BIND 9.14.6
BIND 9.14.6 is a maintenance release.
#### BIND 9.14.7
BIND 9.14.7 is a maintenance release, and also addresses the security
vulnerabilities disclosed in CVE-2019-6475 and CVE-2019-6476.
### <a name="build"/> Building BIND ### <a name="build"/> Building BIND
Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler, Minimally, BIND requires a UNIX or Linux system with an ANSI C compiler,
basic POSIX support, and a 64-bit integer type. Successful builds have been basic POSIX support, and a 64-bit integer type. Successful builds have been
observed on many versions of Linux and UNIX, including RHEL/CentOS, Fedora, observed on many versions of Linux and UNIX, including RedHat, Fedora,
Debian, Ubuntu, SLES, openSUSE, Slackware, Alpine, FreeBSD, NetBSD, Debian, Ubuntu, SuSE, Slackware, FreeBSD, NetBSD, OpenBSD, Mac OS X,
OpenBSD, macOS, Solaris, OpenIndiana, OmniOS CE, HP-UX, and OpenWRT. Solaris, HP-UX, and OpenWRT.
BIND requires a cryptography provider library such as OpenSSL or a BIND requires a cryptography provider library such as OpenSSL or a
hardware service module supporting PKCS#11. On Linux, BIND requires hardware service module supporting PKCS#11. On Linux, BIND requires
@@ -211,8 +171,8 @@ can be overridden by disabling capability support at compile time.
See [Compile-time options](#opts) below for details on other libraries See [Compile-time options](#opts) below for details on other libraries
that may be required to support optional features. that may be required to support optional features.
BIND is also available for Windows Server 2008 and higher. See BIND is also available for Windows 2008 and higher. See
`win32utils/build.txt` for details on building for Windows `win32utils/readme1st.txt` for details on building for Windows
systems. systems.
To build on a UNIX or Linux system, use: To build on a UNIX or Linux system, use:
@@ -234,32 +194,44 @@ affect compilation:
|`STD_CDEFINES`|Any additional preprocessor symbols you want defined. Defaults to empty string. For a list of possible settings, see the file [OPTIONS](OPTIONS.md).| |`STD_CDEFINES`|Any additional preprocessor symbols you want defined. Defaults to empty string. For a list of possible settings, see the file [OPTIONS](OPTIONS.md).|
|`LDFLAGS`|Linker flags. Defaults to empty string.| |`LDFLAGS`|Linker flags. Defaults to empty string.|
|`BUILD_CC`|Needed when cross-compiling: the native C compiler to use when building for the target system.| |`BUILD_CC`|Needed when cross-compiling: the native C compiler to use when building for the target system.|
|`BUILD_CFLAGS`|`CFLAGS` for the target system during cross-compiling.| |`BUILD_CFLAGS`|Optional, used for cross-compiling|
|`BUILD_CPPFLAGS`|`CPPFLAGS` for the target system during cross-compiling.| |`BUILD_CPPFLAGS`||
|`BUILD_LDFLAGS`|`LDFLAGS` for the target system during cross-compiling.| |`BUILD_LDFLAGS`||
|`BUILD_LIBS`|`LIBS` for the target system during cross-compiling.| |`BUILD_LIBS`||
#### <a name="macos"> macOS #### <a name="macos"> macOS
Building on macOS assumes that the "Command Tools for Xcode" is installed. Building on macOS assumes that the "Command Tools for Xcode" is installed.
This can be downloaded from [https://developer.apple.com/download/more/](https://developer.apple.com/download/more/) This can be downloaded from https://developer.apple.com/download/more/
or if you have Xcode already installed you can run `xcode-select --install`. or if you have Xcode already installed you can run "xcode-select --install".
This will add /usr/include to the system and install the compiler and other
tools so that they can be easily found.
### <a name="dependencies"/> Dependencies
Portions of BIND that are written in Python, including
`dnssec-keymgr`, `dnssec-coverage`, `dnssec-checkds`, and some of the
system tests, require the `argparse` and `ply` modules to be available.
`argparse` is a standard module as of Python 2.7 and Python 3.2.
`ply` is available from [https://pypi.python.org/pypi/ply](https://pypi.python.org/pypi/ply).
#### <a name="opts"/> Compile-time options #### <a name="opts"/> Compile-time options
To see a full list of configuration options, run `configure --help`. To see a full list of configuration options, run `configure --help`.
On most platforms, BIND 9 is built with multithreading support, allowing it
to take advantage of multiple CPUs. You can configure this by specifying
`--enable-threads` or `--disable-threads` on the `configure` command line.
The default is to enable threads, except on some older operating systems on
which threads are known to have had problems in the past. (Note: Prior to
BIND 9.10, the default was to disable threads on Linux systems; this has
now been reversed. On Linux systems, the threaded build is known to change
BIND's behavior with respect to file permissions; it may be necessary to
specify a user with the -u option when running `named`.)
To build shared libraries, specify `--with-libtool` on the `configure` To build shared libraries, specify `--with-libtool` on the `configure`
command line. command line.
Certain compiled-in constants and default settings can be increased to
values better suited to large servers with abundant memory resources (e.g,
64-bit servers with 12G or more of memory) by specifying
`--with-tuning=large` on the `configure` command line. This can improve
performance on big servers, but will consume more memory and may degrade
performance on smaller systems.
For the server to support DNSSEC, you need to build it with crypto support. For the server to support DNSSEC, you need to build it with crypto support.
To use OpenSSL, you should have OpenSSL 1.0.2e or newer installed. If the To use OpenSSL, you should have OpenSSL 1.0.2e or newer installed. If the
OpenSSL library is installed in a nonstandard location, specify the prefix OpenSSL library is installed in a nonstandard location, specify the prefix
@@ -269,16 +241,14 @@ path to the PKCS#11 provider library using `--with-pkcs11=<PREFIX>`, and
configure BIND with `--enable-native-pkcs11`. configure BIND with `--enable-native-pkcs11`.
To support the HTTP statistics channel, the server must be linked with at To support the HTTP statistics channel, the server must be linked with at
least one of the following libraries: `libxml2` least one of the following: libxml2
[http://xmlsoft.org](http://xmlsoft.org) or `json-c` [http://xmlsoft.org](http://xmlsoft.org) or json-c
[https://github.com/json-c/json-c](https://github.com/json-c/json-c). [https://github.com/json-c](https://github.com/json-c). If these are
If these are installed at a nonstandard location, then: installed at a nonstandard location, specify the prefix using
`--with-libxml2=/prefix` or `--with-libjson=/prefix`.
* for `libxml2`, specify the prefix using `--with-libxml2=/prefix`,
* for `json-c`, adjust `PKG_CONFIG_PATH`.
To support compression on the HTTP statistics channel, the server must be To support compression on the HTTP statistics channel, the server must be
linked against `libzlib`. If this is installed in a nonstandard location, linked against libzlib. If this is installed in a nonstandard location,
specify the prefix using `--with-zlib=/prefix`. specify the prefix using `--with-zlib=/prefix`.
To support storing configuration data for runtime-added zones in an LMDB To support storing configuration data for runtime-added zones in an LMDB
@@ -290,24 +260,23 @@ libGeoIP. This is not turned on by default; BIND must be configured with
`--with-geoip`. If the library is installed in a nonstandard location, `--with-geoip`. If the library is installed in a nonstandard location,
specify the prefix using `--with-geoip=/prefix`. specify the prefix using `--with-geoip=/prefix`.
For DNSTAP packet logging, you must have installed `libfstrm` For DNSTAP packet logging, you must have installed libfstrm
[https://github.com/farsightsec/fstrm](https://github.com/farsightsec/fstrm) [https://github.com/farsightsec/fstrm](https://github.com/farsightsec/fstrm)
and `libprotobuf-c` and libprotobuf-c
[https://developers.google.com/protocol-buffers](https://developers.google.com/protocol-buffers), [https://developers.google.com/protocol-buffers](https://developers.google.com/protocol-buffers),
and BIND must be configured with `--enable-dnstap`. and BIND must be configured with `--enable-dnstap`.
Certain compiled-in constants and default settings can be increased to
values better suited to large servers with abundant memory resources (e.g,
64-bit servers with 12G or more of memory) by specifying
`--with-tuning=large` on the `configure` command line. This can improve
performance on big servers, but will consume more memory and may degrade
performance on smaller systems.
On Linux, process capabilities are managed in user space using On Linux, process capabilities are managed in user space using
the `libcap` library, which can be installed on most Linux systems via the `libcap` library, which can be installed on most Linux systems via
the `libcap-dev` or `libcap-devel` package. Process capability support can the `libcap-dev` or `libcap-devel` module. Process capability support can
also be disabled by configuring with `--disable-linux-caps`. also be disabled by configuring with `--disable-linux-caps`.
Portions of BIND that are written in Python, including
`dnssec-keymgr`, `dnssec-coverage`, `dnssec-checkds`, and some of the
system tests, require the 'argparse' and 'ply' modules to be available.
'argparse' is a standard module as of Python 2.7 and Python 3.2.
'ply' is available from [https://pypi.python.org/pypi/ply](https://pypi.python.org/pypi/ply).
On some platforms it is necessary to explicitly request large file support On some platforms it is necessary to explicitly request large file support
to handle files bigger than 2GB. This can be done by using to handle files bigger than 2GB. This can be done by using
`--enable-largefile` on the `configure` command line. `--enable-largefile` on the `configure` command line.
@@ -317,10 +286,6 @@ specifying `--enable-fixed-rrset` or `--disable-fixed-rrset` on the
configure command line. By default, fixed rrset-order is disabled to configure command line. By default, fixed rrset-order is disabled to
reduce memory footprint. reduce memory footprint.
The `--enable-querytrace` option causes `named` to log every step of
processing every query. This should only be enabled when debugging, because
it has a significant negative impact on query performance.
`make install` will install `named` and the various BIND 9 libraries. By `make install` will install `named` and the various BIND 9 libraries. By
default, installation is into /usr/local, but this can be changed with the default, installation is into /usr/local, but this can be changed with the
`--prefix` option when running `configure`. `--prefix` option when running `configure`.
@@ -341,21 +306,20 @@ multiple servers to run locally and communicate with one another). These
IP addresses can be configured by running the command IP addresses can be configured by running the command
`bin/tests/system/ifconfig.sh up` as root. `bin/tests/system/ifconfig.sh up` as root.
Some tests require Perl and the `Net::DNS` and/or `IO::Socket::INET6` modules, Some tests require Perl and the Net::DNS and/or IO::Socket::INET6 modules,
and will be skipped if these are not available. Some tests require Python and will be skipped if these are not available. Some tests require Python
and the `dnspython` module and will be skipped if these are not available. and the 'dnspython' module and will be skipped if these are not available.
See bin/tests/system/README for further details. See bin/tests/system/README for further details.
Unit tests are implemented using the [CMocka unit testing framework](https://cmocka.org/). Unit tests are implemented using the CMocka unit testing framework.
To build them, use `configure --with-cmocka`. Execution of tests is done To build them, use `configure --with-cmocka`. Execution of tests is done
by the [Kyua test execution engine](https://github.com/jmmv/kyua); if the by the Kyua test execution engine; if the `kyua` command is available,
`kyua` command is available, then unit tests can be run via `make test` then unit tests can be run via `make test` or `make unit`.
or `make unit`.
### <a name="doc"/> Documentation ### <a name="doc"/> Documentation
The *BIND 9 Administrator Reference Manual* is included with the source The *BIND 9 Administrator Reference Manual* is included with the source
distribution, in DocBook XML, HTML, and PDF format, in the `doc/arm` distribution, in DocBook XML, HTML and PDF format, in the `doc/arm`
directory. directory.
Some of the programs in the BIND 9 distribution have man pages in their Some of the programs in the BIND 9 distribution have man pages in their
@@ -398,25 +362,6 @@ releases (i.e., those with version numbers ending in zero). Some new
functionality may be backported to older releases on a case-by-case basis. functionality may be backported to older releases on a case-by-case basis.
All other change types may be applied to all currently-supported releases. All other change types may be applied to all currently-supported releases.
#### Bug report identifiers
Most notes in the CHANGES file include a reference to a bug report or
issue number. Prior to 2018, these were usually of the form `[RT #NNN]`
and referred to entries in the "bind9-bugs" RT database, which was not open
to the public. More recent entries use the form `[GL #NNN]` or, less often,
`[GL !NNN]`, which, respectively, refer to issues or merge requests in the
GitLab database. Most of these are publicly readable, unless they include
information which is confidential or security sensitive.
To look up a GitLab issue by its number, use the URL
[https://gitlab.isc.org/isc-projects/bind9/issues/NNN](https://gitlab.isc.org/isc-projects/bind9/issues).
To look up a merge request, use
[https://gitlab.isc.org/isc-projects/bind9/merge_requests/NNN](https://gitlab.isc.org/isc-projects/bind9/merge_requests).
In rare cases, an issue or merge request number may be followed with the
letter "P". This indicates that the information is in the private ISC
GitLab instance, which is not visible to the public.
### <a name="ack"/> Acknowledgments ### <a name="ack"/> Acknowledgments
* The original development of BIND 9 was underwritten by the * The original development of BIND 9 was underwritten by the
Vendored
-2
View File
@@ -291,8 +291,6 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl
m4_include([m4/ax_check_openssl.m4]) m4_include([m4/ax_check_openssl.m4])
m4_include([m4/ax_posix_shell.m4]) m4_include([m4/ax_posix_shell.m4])
m4_include([m4/ax_pthread.m4]) m4_include([m4/ax_pthread.m4])
m4_include([m4/ax_restore_flags.m4])
m4_include([m4/ax_save_flags.m4])
m4_include([m4/libtool.m4]) m4_include([m4/libtool.m4])
m4_include([m4/ltoptions.m4]) m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4]) m4_include([m4/ltsugar.m4])
+1 -1
View File
@@ -21,7 +21,7 @@ CINCLUDES = ${NS_INCLUDES} ${BIND9_INCLUDES} ${DNS_INCLUDES} ${ISCCFG_INCLUDES}
CDEFINES = -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\" CDEFINES = -DNAMED_CONFFILE=\"${sysconfdir}/named.conf\"
CWARNINGS = CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@ DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@ ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@ ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@ ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -143,5 +143,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+1 -1
View File
@@ -63,7 +63,7 @@ usage(void) ISC_PLATFORM_NORETURN_POST;
static void static void
usage(void) { usage(void) {
fprintf(stderr, "usage: %s [-chjlvz] [-p [-x]] [-t directory] " fprintf(stderr, "usage: %s [-hjlvz] [-p [-x]] [-t directory] "
"[named.conf]\n", program); "[named.conf]\n", program);
exit(1); exit(1);
} }
-1
View File
@@ -40,7 +40,6 @@
<year>2015</year> <year>2015</year>
<year>2016</year> <year>2016</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2000-2002, 2004, 2005, 2007, 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -325,5 +325,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2000-2002, 2004-2007, 2009-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
-1
View File
@@ -43,7 +43,6 @@
<year>2015</year> <year>2015</year>
<year>2016</year> <year>2016</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2000-2002, 2004-2007, 2009-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{03A96113-CB14-43AA-AEB2-48950E3915C5}</ProjectGuid> <ProjectGuid>{03A96113-CB14-43AA-AEB2-48950E3915C5}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>checkconf</RootNamespace> <RootNamespace>checkconf</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -17,21 +17,18 @@
<ProjectGuid>{2C1F7096-C5B5-48D4-846F-A7ACA454335D}</ProjectGuid> <ProjectGuid>{2C1F7096-C5B5-48D4-846F-A7ACA454335D}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>checktool</RootNamespace> <RootNamespace>checktool</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+7 -10
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{66028555-7DD5-4016-B601-9EF9A1EE8BFA}</ProjectGuid> <ProjectGuid>{66028555-7DD5-4016-B601-9EF9A1EE8BFA}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>checkzone</RootNamespace> <RootNamespace>checkzone</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
@@ -65,15 +62,15 @@
<ObjectFileName>.\$(Configuration)\</ObjectFileName> <ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation> <BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs> <CompileAs>CompileAsC</CompileAs>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation> <GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIB@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link> </Link>
<PostBuildEvent> <PostBuildEvent>
<Command>cd ..\..\..\Build\$(Configuration) <Command>cd ..\..\..\Build\$(Configuration)
@@ -98,7 +95,7 @@ copy /Y named-checkzone.ilk named-compilezone.ilk
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation> <AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName> <ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName> <ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;..\..\..\lib\bind9\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs> <CompileAs>CompileAsC</CompileAs>
</ClCompile> </ClCompile>
<Link> <Link>
@@ -107,8 +104,8 @@ copy /Y named-checkzone.ilk named-compilezone.ilk
<EnableCOMDATFolding>true</EnableCOMDATFolding> <EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences> <OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile> <OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> <AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);..\..\..\lib\isccfg\win32\$(Configuration);..\..\..\lib\bind9\win32\$(Configuration);..\..\..\lib\ns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIB@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies> <AdditionalDependencies>@OPENSSL_LIB@checktool.lib;libisc.lib;libdns.lib;libisccfg.lib;libbind9.lib;libns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration> <LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
</Link> </Link>
<PostBuildEvent> <PostBuildEvent>
+1 -1
View File
@@ -29,7 +29,7 @@ ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
ISCCCLIBS = ../../lib/isccc/libisccc.@A@ ISCCCLIBS = ../../lib/isccc/libisccc.@A@
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@ ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@ ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
DNSLIBS = ../../lib/dns/libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@ DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
BIND9LIBS = ../../lib/bind9/libbind9.@A@ BIND9LIBS = ../../lib/bind9/libbind9.@A@
ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@ ISCCFGDEPLIBS = ../../lib/isccfg/libisccfg.@A@
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -144,5 +144,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
-1
View File
@@ -37,7 +37,6 @@
<year>2015</year> <year>2015</year>
<year>2016</year> <year>2016</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2009, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2009, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -206,5 +206,5 @@ BIND 9 Administrator Reference Manual\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2001, 2003-2005, 2007, 2009, 2013-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2001, 2003-2005, 2007, 2009, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
-1
View File
@@ -44,7 +44,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2001, 2003-2005, 2007, 2009, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{64964B03-4815-41F0-9057-E766A94AF197}</ProjectGuid> <ProjectGuid>{64964B03-4815-41F0-9057-E766A94AF197}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>confgentool</RootNamespace> <RootNamespace>confgentool</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{1EA4FC64-F33B-4A50-970A-EA052BBE9CF1}</ProjectGuid> <ProjectGuid>{1EA4FC64-F33B-4A50-970A-EA052BBE9CF1}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>ddnsconfgen</RootNamespace> <RootNamespace>ddnsconfgen</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{1E2C1635-3093-4D59-80E7-4743AC10F22F}</ProjectGuid> <ProjectGuid>{1E2C1635-3093-4D59-80E7-4743AC10F22F}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>rndcconfgen</RootNamespace> <RootNamespace>rndcconfgen</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -1
View File
@@ -23,7 +23,7 @@ CDEFINES = -DVERSION=\"${VERSION}\" \
CWARNINGS = CWARNINGS =
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@ ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
DNSLIBS = ../../lib/dns/libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@ DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@ ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@ ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
IRSLIBS = ../../lib/irs/libirs.@A@ IRSLIBS = ../../lib/irs/libirs.@A@
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2014-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -437,5 +437,5 @@ RFC5155\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2014-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+2 -2
View File
@@ -743,8 +743,8 @@ setup_dnsseckeys(dns_client_t *client) {
isc_buffer_init(&b, anchortext, sizeof(anchortext) - 1); isc_buffer_init(&b, anchortext, sizeof(anchortext) - 1);
isc_buffer_add(&b, sizeof(anchortext) - 1); isc_buffer_add(&b, sizeof(anchortext) - 1);
result = cfg_parse_buffer(parser, &b, NULL, 0, result = cfg_parse_buffer(parser, &b, &cfg_type_bindkeys,
&cfg_type_bindkeys, 0, &bindkeys); &bindkeys);
if (result != ISC_R_SUCCESS) if (result != ISC_R_SUCCESS)
fatal("Unable to parse built-in keys"); fatal("Unable to parse built-in keys");
} }
-1
View File
@@ -39,7 +39,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2014-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2014-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{BE172EFE-C1DC-4812-BFB9-8C5F8ADB7E9F}</ProjectGuid> <ProjectGuid>{BE172EFE-C1DC-4812-BFB9-8C5F8ADB7E9F}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>delv</RootNamespace> <RootNamespace>delv</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -1
View File
@@ -25,7 +25,7 @@ CDEFINES = -DVERSION=\"${VERSION}\"
CWARNINGS = CWARNINGS =
ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@ ISCCFGLIBS = ../../lib/isccfg/libisccfg.@A@
DNSLIBS = ../../lib/dns/libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@ DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
BIND9LIBS = ../../lib/bind9/libbind9.@A@ BIND9LIBS = ../../lib/bind9/libbind9.@A@
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@ ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@ ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
+12 -18
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2011, 2013-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -361,20 +361,14 @@ Display [do not display] the CLASS when printing the record\&.
.PP .PP
\fB+[no]cmd\fR \fB+[no]cmd\fR
.RS 4 .RS 4
Toggles the printing of the initial comment in the output, identifying the version of Toggles the printing of the initial comment in the output identifying the version of
\fBdig\fR \fBdig\fR
and the query options that have been applied\&. This option always has global effect; it cannot be set globally and then overridden on a per\-lookup basis\&. The default is to print this comment\&. and the query options that have been applied\&. This comment is printed by default\&.
.RE .RE
.PP .PP
\fB+[no]comments\fR \fB+[no]comments\fR
.RS 4 .RS 4
Toggles the display of some comment lines in the output, containing information about the packet header and OPT pseudosection, and the names of the response section\&. The default is to print these comments\&. Toggle the display of comment lines in the output\&. The default is to print comments\&.
.sp
Other types of comments in the output are not affected by this option, but can be controlled using other command line switches\&. These include
\fB+[no]cmd\fR,
\fB+[no]question\fR,
\fB+[no]stats\fR, and
\fB+[no]rrcomments\fR\&.
.RE .RE
.PP .PP
\fB+[no]cookie\fR\fB[=####]\fR \fB+[no]cookie\fR\fB[=####]\fR
@@ -567,12 +561,12 @@ would cause a 48\-byte query to be padded to 64 bytes\&. The default block size
.PP .PP
\fB+[no]qr\fR \fB+[no]qr\fR
.RS 4 .RS 4
Toggles the display of the query message as it is sent\&. By default, the query is not printed\&. Print [do not print] the query as it is sent\&. By default, the query is not printed\&.
.RE .RE
.PP .PP
\fB+[no]question\fR \fB+[no]question\fR
.RS 4 .RS 4
Toggles the display of the question section of a query when an answer is returned\&. The default is to print the question section as a comment\&. Print [do not print] the question section of a query when an answer is returned\&. The default is to print the question section as a comment\&.
.RE .RE
.PP .PP
\fB+[no]raflag\fR \fB+[no]raflag\fR
@@ -590,11 +584,11 @@ A synonym for
.RS 4 .RS 4
Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means Toggle the setting of the RD (recursion desired) bit in the query\&. This bit is set by default, which means
\fBdig\fR \fBdig\fR
normally sends recursive queries\&. Recursion is automatically disabled when using the normally sends recursive queries\&. Recursion is automatically disabled when the
\fI+nssearch\fR \fI+nssearch\fR
option, and when using or
\fI+trace\fR \fI+trace\fR
except for an initial recursive query to get the list of root servers\&. query options are used\&.
.RE .RE
.PP .PP
\fB+retry=T\fR \fB+retry=T\fR
@@ -625,7 +619,7 @@ determines if the name will be treated as relative or not and hence whether a se
.PP .PP
\fB+[no]short\fR \fB+[no]short\fR
.RS 4 .RS 4
Provide a terse answer\&. The default is to print the answer in a verbose form\&. This option always has global effect; it cannot be set globally and then overridden on a per\-lookup basis\&. Provide a terse answer\&. The default is to print the answer in a verbose form\&.
.RE .RE
.PP .PP
\fB+[no]showsearch\fR \fB+[no]showsearch\fR
@@ -655,7 +649,7 @@ causes fields not to be split at all\&. The default is 56 characters, or 44 char
.PP .PP
\fB+[no]stats\fR \fB+[no]stats\fR
.RS 4 .RS 4
Toggles the printing of statistics: when the query was made, the size of the reply and so on\&. The default behavior is to print the query statistics as a comment after each lookup\&. This query option toggles the printing of statistics: when the query was made, the size of the reply and so on\&. The default behavior is to print the query statistics\&.
.RE .RE
.PP .PP
\fB+[no]subnet=addr[/prefix\-length]\fR \fB+[no]subnet=addr[/prefix\-length]\fR
@@ -830,5 +824,5 @@ There are probably too many query options\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2000-2011, 2013-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+12 -19
View File
@@ -175,13 +175,11 @@ help(void) {
" +bufsize=### (Set EDNS0 Max UDP packet size)\n" " +bufsize=### (Set EDNS0 Max UDP packet size)\n"
" +[no]cdflag (Set checking disabled flag in query)\n" " +[no]cdflag (Set checking disabled flag in query)\n"
" +[no]class (Control display of class in records)\n" " +[no]class (Control display of class in records)\n"
" +[no]cmd (Control display of command line -\n" " +[no]cmd (Control display of command line)\n"
" global option)\n" " +[no]comments (Control display of comment lines)\n"
" +[no]comments (Control display of packet header\n"
" and section name comments)\n"
" +[no]cookie (Add a COOKIE option to the request)\n" " +[no]cookie (Add a COOKIE option to the request)\n"
" +[no]crypto (Control display of cryptographic\n" " +[no]crypto (Control display of cryptographic "
" fields in records)\n" "fields in records)\n"
" +[no]defname (Use search list (+[no]search))\n" " +[no]defname (Use search list (+[no]search))\n"
" +[no]dnssec (Request DNSSEC records)\n" " +[no]dnssec (Request DNSSEC records)\n"
" +domain=### (Set default domainname)\n" " +domain=### (Set default domainname)\n"
@@ -197,13 +195,11 @@ help(void) {
" +[no]identify (ID responders in short answers)\n" " +[no]identify (ID responders in short answers)\n"
#ifdef HAVE_LIBIDN2 #ifdef HAVE_LIBIDN2
" +[no]idnin (Parse IDN names [default=on on tty])\n" " +[no]idnin (Parse IDN names [default=on on tty])\n"
" +[no]idnout (Convert IDN response " " +[no]idnout (Convert IDN response [default=on on tty])\n"
"[default=on on tty])\n"
#endif #endif
" +[no]ignore (Don't revert to TCP for TC responses.)\n" " +[no]ignore (Don't revert to TCP for TC responses.)\n"
" +[no]keepalive (Request EDNS TCP keepalive)\n" " +[no]keepalive (Request EDNS TCP keepalive)\n"
" +[no]keepopen (Keep the TCP socket open between " " +[no]keepopen (Keep the TCP socket open between queries)\n"
"queries)\n"
" +[no]mapped (Allow mapped IPv4 over IPv6)\n" " +[no]mapped (Allow mapped IPv4 over IPv6)\n"
" +[no]multiline (Print records in an expanded format)\n" " +[no]multiline (Print records in an expanded format)\n"
" +ndots=### (Set search NDOTS value)\n" " +ndots=### (Set search NDOTS value)\n"
@@ -222,7 +218,7 @@ help(void) {
"comments)\n" "comments)\n"
" +[no]search (Set whether to use searchlist)\n" " +[no]search (Set whether to use searchlist)\n"
" +[no]short (Display nothing except short\n" " +[no]short (Display nothing except short\n"
" form of answers - global option)\n" " form of answer)\n"
" +[no]showsearch (Search with intermediate results)\n" " +[no]showsearch (Search with intermediate results)\n"
" +[no]split=## (Split hex/base64 fields into chunks)\n" " +[no]split=## (Split hex/base64 fields into chunks)\n"
" +[no]stats (Control display of statistics)\n" " +[no]stats (Control display of statistics)\n"
@@ -230,13 +226,11 @@ help(void) {
" +[no]tcflag (Set TC flag in query (+[no]tcflag))\n" " +[no]tcflag (Set TC flag in query (+[no]tcflag))\n"
" +[no]tcp (TCP mode (+[no]vc))\n" " +[no]tcp (TCP mode (+[no]vc))\n"
" +timeout=### (Set query timeout) [5]\n" " +timeout=### (Set query timeout) [5]\n"
" +[no]trace (Trace delegation down from root " " +[no]trace (Trace delegation down from root [+dnssec])\n"
"[+dnssec])\n"
" +tries=### (Set number of UDP attempts) [3]\n" " +tries=### (Set number of UDP attempts) [3]\n"
" +[no]ttlid (Control display of ttls in records)\n" " +[no]ttlid (Control display of ttls in records)\n"
" +[no]ttlunits (Display TTLs in human-readable units)\n" " +[no]ttlunits (Display TTLs in human-readable units)\n"
" +[no]unknownformat (Print RDATA in RFC 3597 \"unknown\" " " +[no]unknownformat (Print RDATA in RFC 3597 \"unknown\" format)\n"
"format)\n"
" +[no]vc (TCP mode (+[no]tcp))\n" " +[no]vc (TCP mode (+[no]tcp))\n"
" +[no]zflag (Set Z flag in query)\n" " +[no]zflag (Set Z flag in query)\n"
" global d-opts and servers (before host name) affect all queries.\n" " global d-opts and servers (before host name) affect all queries.\n"
@@ -508,9 +502,8 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
check_result(result, "dns_master_stylecreate"); check_result(result, "dns_master_stylecreate");
if (query->lookup->cmdline[0] != 0) { if (query->lookup->cmdline[0] != 0) {
if (!short_form && printcmd) { if (!short_form)
fputs(query->lookup->cmdline, stdout); fputs(query->lookup->cmdline, stdout);
}
query->lookup->cmdline[0]=0; query->lookup->cmdline[0]=0;
} }
debug("printmessage(%s %s %s)", headers ? "headers" : "noheaders", debug("printmessage(%s %s %s)", headers ? "headers" : "noheaders",
@@ -533,7 +526,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, bool headers) {
check_result(result, "isc_buffer_allocate"); check_result(result, "isc_buffer_allocate");
if (query->lookup->comments && !short_form) { if (query->lookup->comments && !short_form) {
if (query->lookup->cmdline[0] != 0 && printcmd) if (query->lookup->cmdline[0] != 0)
printf("; %s\n", query->lookup->cmdline); printf("; %s\n", query->lookup->cmdline);
if (msg == query->lookup->sendmsg) if (msg == query->lookup->sendmsg)
printf(";; Sending:\n"); printf(";; Sending:\n");
@@ -1452,7 +1445,7 @@ plus_option(char *option, bool is_batchfile,
lookup->trace = state; lookup->trace = state;
lookup->trace_root = state; lookup->trace_root = state;
if (state) { if (state) {
lookup->recurse = true; lookup->recurse = false;
lookup->identify = true; lookup->identify = true;
lookup->comments = false; lookup->comments = false;
lookup->rrcomments = 0; lookup->rrcomments = 0;
+15 -31
View File
@@ -52,7 +52,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
@@ -593,11 +592,9 @@
<listitem> <listitem>
<para> <para>
Toggles the printing of the initial comment in the Toggles the printing of the initial comment in the
output, identifying the version of <command>dig</command> output identifying the version of <command>dig</command>
and the query options that have been applied. This option and the query options that have been applied. This
always has global effect; it cannot be set globally comment is printed by default.
and then overridden on a per-lookup basis. The default
is to print this comment.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -606,18 +603,8 @@
<term><option>+[no]comments</option></term> <term><option>+[no]comments</option></term>
<listitem> <listitem>
<para> <para>
Toggles the display of some comment lines in the output, Toggle the display of comment lines in the output.
containing information about the packet header and The default is to print comments.
OPT pseudosection, and the names of the response
section. The default is to print these comments.
</para>
<para>
Other types of comments in the output are not affected by
this option, but can be controlled using other command
line switches. These include <command>+[no]cmd</command>,
<command>+[no]question</command>,
<command>+[no]stats</command>, and
<command>+[no]rrcomments</command>.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -967,8 +954,8 @@
<term><option>+[no]qr</option></term> <term><option>+[no]qr</option></term>
<listitem> <listitem>
<para> <para>
Toggles the display of the query message as it is sent. Print [do not print] the query as it is sent. By
By default, the query is not printed. default, the query is not printed.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -977,7 +964,7 @@
<term><option>+[no]question</option></term> <term><option>+[no]question</option></term>
<listitem> <listitem>
<para> <para>
Toggles the display of the question section of a query Print [do not print] the question section of a query
when an answer is returned. The default is to print when an answer is returned. The default is to print
the question section as a comment. the question section as a comment.
</para> </para>
@@ -1012,10 +999,8 @@
in the query. This bit is set by default, which means in the query. This bit is set by default, which means
<command>dig</command> normally sends recursive <command>dig</command> normally sends recursive
queries. Recursion is automatically disabled when queries. Recursion is automatically disabled when
using the <parameter>+nssearch</parameter> option, and the <parameter>+nssearch</parameter> or
when using <parameter>+trace</parameter> except for <parameter>+trace</parameter> query options are used.
an initial recursive query to get the list of root
servers.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -1068,9 +1053,7 @@
<listitem> <listitem>
<para> <para>
Provide a terse answer. The default is to print the Provide a terse answer. The default is to print the
answer in a verbose form. This option always has global answer in a verbose form.
effect; it cannot be set globally and then overridden on
a per-lookup basis.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -1115,9 +1098,10 @@
<term><option>+[no]stats</option></term> <term><option>+[no]stats</option></term>
<listitem> <listitem>
<para> <para>
Toggles the printing of statistics: when the query was made, This query option toggles the printing of statistics:
the size of the reply and so on. The default behavior is to when the query was made, the size of the reply and
print the query statistics as a comment after each lookup. so on. The default behavior is to print the query
statistics.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
+16 -31
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2000-2011, 2013-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2000-2011, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -481,28 +481,16 @@
<dd> <dd>
<p> <p>
Toggles the printing of the initial comment in the Toggles the printing of the initial comment in the
output, identifying the version of <span class="command"><strong>dig</strong></span> output identifying the version of <span class="command"><strong>dig</strong></span>
and the query options that have been applied. This option and the query options that have been applied. This
always has global effect; it cannot be set globally comment is printed by default.
and then overridden on a per-lookup basis. The default
is to print this comment.
</p> </p>
</dd> </dd>
<dt><span class="term"><code class="option">+[no]comments</code></span></dt> <dt><span class="term"><code class="option">+[no]comments</code></span></dt>
<dd> <dd>
<p> <p>
Toggles the display of some comment lines in the output, Toggle the display of comment lines in the output.
containing information about the packet header and The default is to print comments.
OPT pseudosection, and the names of the response
section. The default is to print these comments.
</p>
<p>
Other types of comments in the output are not affected by
this option, but can be controlled using other command
line switches. These include <span class="command"><strong>+[no]cmd</strong></span>,
<span class="command"><strong>+[no]question</strong></span>,
<span class="command"><strong>+[no]stats</strong></span>, and
<span class="command"><strong>+[no]rrcomments</strong></span>.
</p> </p>
</dd> </dd>
<dt><span class="term"><code class="option">+[no]cookie[<span class="optional">=####</span>]</code></span></dt> <dt><span class="term"><code class="option">+[no]cookie[<span class="optional">=####</span>]</code></span></dt>
@@ -769,14 +757,14 @@
<dt><span class="term"><code class="option">+[no]qr</code></span></dt> <dt><span class="term"><code class="option">+[no]qr</code></span></dt>
<dd> <dd>
<p> <p>
Toggles the display of the query message as it is sent. Print [do not print] the query as it is sent. By
By default, the query is not printed. default, the query is not printed.
</p> </p>
</dd> </dd>
<dt><span class="term"><code class="option">+[no]question</code></span></dt> <dt><span class="term"><code class="option">+[no]question</code></span></dt>
<dd> <dd>
<p> <p>
Toggles the display of the question section of a query Print [do not print] the question section of a query
when an answer is returned. The default is to print when an answer is returned. The default is to print
the question section as a comment. the question section as a comment.
</p> </p>
@@ -802,10 +790,8 @@
in the query. This bit is set by default, which means in the query. This bit is set by default, which means
<span class="command"><strong>dig</strong></span> normally sends recursive <span class="command"><strong>dig</strong></span> normally sends recursive
queries. Recursion is automatically disabled when queries. Recursion is automatically disabled when
using the <em class="parameter"><code>+nssearch</code></em> option, and the <em class="parameter"><code>+nssearch</code></em> or
when using <em class="parameter"><code>+trace</code></em> except for <em class="parameter"><code>+trace</code></em> query options are used.
an initial recursive query to get the list of root
servers.
</p> </p>
</dd> </dd>
<dt><span class="term"><code class="option">+retry=T</code></span></dt> <dt><span class="term"><code class="option">+retry=T</code></span></dt>
@@ -846,9 +832,7 @@
<dd> <dd>
<p> <p>
Provide a terse answer. The default is to print the Provide a terse answer. The default is to print the
answer in a verbose form. This option always has global answer in a verbose form.
effect; it cannot be set globally and then overridden on
a per-lookup basis.
</p> </p>
</dd> </dd>
<dt><span class="term"><code class="option">+[no]showsearch</code></span></dt> <dt><span class="term"><code class="option">+[no]showsearch</code></span></dt>
@@ -881,9 +865,10 @@
<dt><span class="term"><code class="option">+[no]stats</code></span></dt> <dt><span class="term"><code class="option">+[no]stats</code></span></dt>
<dd> <dd>
<p> <p>
Toggles the printing of statistics: when the query was made, This query option toggles the printing of statistics:
the size of the reply and so on. The default behavior is to when the query was made, the size of the reply and
print the query statistics as a comment after each lookup. so on. The default behavior is to print the query
statistics.
</p> </p>
</dd> </dd>
<dt><span class="term"><code class="option">+[no]subnet=addr[/prefix-length]</code></span></dt> <dt><span class="term"><code class="option">+[no]subnet=addr[/prefix-length]</code></span></dt>
+52 -98
View File
@@ -1399,7 +1399,6 @@ typedef struct dig_ednsoptname {
} dig_ednsoptname_t; } dig_ednsoptname_t;
dig_ednsoptname_t optnames[] = { dig_ednsoptname_t optnames[] = {
{ 1, "LLQ" }, /* draft-sekar-dns-llq */
{ 3, "NSID" }, /* RFC 5001 */ { 3, "NSID" }, /* RFC 5001 */
{ 5, "DAU" }, /* RFC 6975 */ { 5, "DAU" }, /* RFC 6975 */
{ 6, "DHU" }, /* RFC 6975 */ { 6, "DHU" }, /* RFC 6975 */
@@ -1412,8 +1411,6 @@ dig_ednsoptname_t optnames[] = {
{ 12, "PAD" }, /* shorthand */ { 12, "PAD" }, /* shorthand */
{ 13, "CHAIN" }, /* RFC 7901 */ { 13, "CHAIN" }, /* RFC 7901 */
{ 14, "KEY-TAG" }, /* RFC 8145 */ { 14, "KEY-TAG" }, /* RFC 8145 */
{ 16, "CLIENT-TAG" }, /* draft-bellis-dnsop-edns-tags */
{ 17, "SERVER-TAG" }, /* draft-bellis-dnsop-edns-tags */
{ 26946, "DEVICEID" }, /* Brian Hartvigsen */ { 26946, "DEVICEID" }, /* Brian Hartvigsen */
}; };
@@ -2192,14 +2189,12 @@ setup_lookup(dig_lookup_t *lookup) {
lookup->sendmsg->id = (dns_messageid_t)isc_random16(); lookup->sendmsg->id = (dns_messageid_t)isc_random16();
lookup->sendmsg->opcode = lookup->opcode; lookup->sendmsg->opcode = lookup->opcode;
lookup->msgcounter = 0; lookup->msgcounter = 0;
/* /*
* If this is a trace request, completely disallow recursion after * If this is a trace request, completely disallow recursion, since
* looking up the root name servers, since it's meaningless for traces. * it's meaningless for traces.
*/ */
if ((lookup->trace || lookup->ns_search_only) && !lookup->trace_root) { if (lookup->trace || (lookup->ns_search_only && !lookup->trace_root))
lookup->recurse = false; lookup->recurse = false;
}
if (lookup->recurse && if (lookup->recurse &&
lookup->rdtype != dns_rdatatype_axfr && lookup->rdtype != dns_rdatatype_axfr &&
@@ -2735,6 +2730,27 @@ send_tcp_connect(dig_query_t *query) {
return; return;
} }
if (specified_source &&
(isc_sockaddr_pf(&query->sockaddr) !=
isc_sockaddr_pf(&bind_address))) {
printf(";; Skipping server %s, incompatible "
"address family\n", query->servname);
query->waiting_connect = false;
if (ISC_LINK_LINKED(query, link))
next = ISC_LIST_NEXT(query, link);
else
next = NULL;
l = query->lookup;
clear_query(query);
if (next == NULL) {
printf(";; No acceptable nameservers\n");
check_next_lookup(l);
return;
}
send_tcp_connect(next);
return;
}
INSIST(query->sock == NULL); INSIST(query->sock == NULL);
if (keep != NULL && isc_sockaddr_equal(&keepaddr, &query->sockaddr)) { if (keep != NULL && isc_sockaddr_equal(&keepaddr, &query->sockaddr)) {
@@ -2885,36 +2901,6 @@ send_udp(dig_query_t *query) {
sendcount++; sendcount++;
} }
/*%
* If there are more servers available for querying within 'lookup', initiate a
* TCP or UDP query to the next available server and return true; otherwise,
* return false.
*/
static bool
try_next_server(dig_lookup_t *lookup) {
dig_query_t *current_query, *next_query;
current_query = lookup->current_query;
if (current_query == NULL || !ISC_LINK_LINKED(current_query, link)) {
return (false);
}
next_query = ISC_LIST_NEXT(current_query, link);
if (next_query == NULL) {
return (false);
}
debug("trying next server...");
if (lookup->tcp_mode) {
send_tcp_connect(next_query);
} else {
send_udp(next_query);
}
return (true);
}
/*% /*%
* IO timeout handler, used for both connect and recv timeouts. If * IO timeout handler, used for both connect and recv timeouts. If
* retries are still allowed, either resend the UDP packet or queue a * retries are still allowed, either resend the UDP packet or queue a
@@ -2923,7 +2909,7 @@ try_next_server(dig_lookup_t *lookup) {
static void static void
connect_timeout(isc_task_t *task, isc_event_t *event) { connect_timeout(isc_task_t *task, isc_event_t *event) {
dig_lookup_t *l = NULL; dig_lookup_t *l = NULL;
dig_query_t *query = NULL; dig_query_t *query = NULL, *cq;
UNUSED(task); UNUSED(task);
REQUIRE(event->ev_type == ISC_TIMEREVENT_IDLE); REQUIRE(event->ev_type == ISC_TIMEREVENT_IDLE);
@@ -2943,14 +2929,18 @@ connect_timeout(isc_task_t *task, isc_event_t *event) {
return; return;
} }
if (try_next_server(l)) { if ((query != NULL) && (query->lookup->current_query != NULL) &&
if (l->tcp_mode) { ISC_LINK_LINKED(query->lookup->current_query, link) &&
if (query->sock != NULL) { (ISC_LIST_NEXT(query->lookup->current_query, link) != NULL)) {
debug("trying next server...");
cq = query->lookup->current_query;
if (!l->tcp_mode)
send_udp(ISC_LIST_NEXT(cq, link));
else {
if (query->sock != NULL)
isc_socket_cancel(query->sock, NULL, isc_socket_cancel(query->sock, NULL,
ISC_SOCKCANCEL_ALL); ISC_SOCKCANCEL_ALL);
} else { send_tcp_connect(ISC_LIST_NEXT(cq, link));
clear_query(query);
}
} }
UNLOCK_LOOKUP; UNLOCK_LOOKUP;
return; return;
@@ -2996,27 +2986,6 @@ connect_timeout(isc_task_t *task, isc_event_t *event) {
UNLOCK_LOOKUP; UNLOCK_LOOKUP;
} }
/*%
* Called when a peer closes a TCP socket prematurely.
*/
static void
requeue_or_update_exitcode(dig_lookup_t *lookup) {
if (lookup->eoferr == 0U) {
/*
* Peer closed the connection prematurely for the first time
* for this lookup. Try again, keeping track of this failure.
*/
dig_lookup_t *requeued_lookup = requeue_lookup(lookup, true);
requeued_lookup->eoferr++;
} else {
/*
* Peer closed the connection prematurely and it happened
* previously for this lookup. Indicate an error.
*/
exitcode = 9;
}
}
/*% /*%
* Event handler for the TCP recv which gets the length header of TCP * Event handler for the TCP recv which gets the length header of TCP
* packets. Start the next recv of length bytes. * packets. Start the next recv of length bytes.
@@ -3028,7 +2997,7 @@ tcp_length_done(isc_task_t *task, isc_event_t *event) {
isc_region_t r; isc_region_t r;
isc_result_t result; isc_result_t result;
dig_query_t *query = NULL; dig_query_t *query = NULL;
dig_lookup_t *l; dig_lookup_t *l, *n;
uint16_t length; uint16_t length;
REQUIRE(event->ev_type == ISC_SOCKEVENT_RECVDONE); REQUIRE(event->ev_type == ISC_SOCKEVENT_RECVDONE);
@@ -3067,8 +3036,9 @@ tcp_length_done(isc_task_t *task, isc_event_t *event) {
sockcount--; sockcount--;
debug("sockcount=%d", sockcount); debug("sockcount=%d", sockcount);
INSIST(sockcount >= 0); INSIST(sockcount >= 0);
if (sevent->result == ISC_R_EOF) { if (sevent->result == ISC_R_EOF && l->eoferr == 0U) {
requeue_or_update_exitcode(l); n = requeue_lookup(l, true);
n->eoferr++;
} }
isc_event_free(&event); isc_event_free(&event);
clear_query(query); clear_query(query);
@@ -3427,7 +3397,7 @@ process_cookie(dig_lookup_t *l, dns_message_t *msg,
} }
INSIST(msg->cc_ok == 0 && msg->cc_bad == 0); INSIST(msg->cc_ok == 0 && msg->cc_bad == 0);
if (len >= 8 && optlen >= 8U) { if (optlen >= len && optlen >= 8U) {
if (isc_safe_memequal(isc_buffer_current(optbuf), sent, 8)) { if (isc_safe_memequal(isc_buffer_current(optbuf), sent, 8)) {
msg->cc_ok = 1; msg->cc_ok = 1;
} else { } else {
@@ -3514,7 +3484,6 @@ recv_done(isc_task_t *task, isc_event_t *event) {
dig_lookup_t *n, *l; dig_lookup_t *n, *l;
bool docancel = false; bool docancel = false;
bool match = true; bool match = true;
bool done_process_opt = false;
unsigned int parseflags; unsigned int parseflags;
dns_messageid_t id; dns_messageid_t id;
unsigned int msgflags; unsigned int msgflags;
@@ -3570,8 +3539,9 @@ recv_done(isc_task_t *task, isc_event_t *event) {
debug("sockcount=%d", sockcount); debug("sockcount=%d", sockcount);
INSIST(sockcount >= 0); INSIST(sockcount >= 0);
} }
if (sevent->result == ISC_R_EOF) { if (sevent->result == ISC_R_EOF && l->eoferr == 0U) {
requeue_or_update_exitcode(l); n = requeue_lookup(l, true);
n->eoferr++;
} }
isc_event_free(&event); isc_event_free(&event);
clear_query(query); clear_query(query);
@@ -3808,7 +3778,6 @@ recv_done(isc_task_t *task, isc_event_t *event) {
UNLOCK_LOOKUP; UNLOCK_LOOKUP;
return; return;
} }
done_process_opt = true;
} }
if ((msg->rcode == dns_rcode_servfail && !l->servfail_stops) || if ((msg->rcode == dns_rcode_servfail && !l->servfail_stops) ||
(check_ra && (msg->flags & DNS_MESSAGEFLAG_RA) == 0 && l->recurse)) (check_ra && (msg->flags & DNS_MESSAGEFLAG_RA) == 0 && l->recurse))
@@ -3898,17 +3867,13 @@ recv_done(isc_task_t *task, isc_event_t *event) {
} }
} }
if (!done_process_opt) { if (l->cookie != NULL) {
if (l->cookie != NULL) { if (msg->opt == NULL)
if (msg->opt == NULL) { printf(";; expected opt record in response\n");
printf(";; expected opt record in response\n"); else
} else {
process_opt(l, msg);
}
} else if (l->sendcookie && msg->opt != NULL) {
process_opt(l, msg); process_opt(l, msg);
} } else if (l->sendcookie && msg->opt != NULL)
} process_opt(l, msg);
if (!l->doing_xfr || l->xfr_q == query) { if (!l->doing_xfr || l->xfr_q == query) {
if (msg->rcode == dns_rcode_nxdomain && if (msg->rcode == dns_rcode_nxdomain &&
(l->origin != NULL || l->need_search)) { (l->origin != NULL || l->need_search)) {
@@ -4379,20 +4344,9 @@ idn_ace_to_locale(const char *src, char **dst) {
*/ */
res = idn2_to_unicode_8zlz(utf8_src, &local_src, 0); res = idn2_to_unicode_8zlz(utf8_src, &local_src, 0);
if (res != IDN2_OK) { if (res != IDN2_OK) {
static bool warned = false; fatal("Cannot represent '%s' in the current locale (%s), "
"use +noidnout or a different locale",
res = idn2_to_ascii_8z(utf8_src, &local_src, 0); src, idn2_strerror(res));
if (res != IDN2_OK) {
fatal("Cannot represent '%s' "
"in the current locale nor ascii (%s), "
"use +noidnout or a different locale",
src, idn2_strerror(res));
} else if (!warned) {
fprintf(stderr, ";; Warning: cannot represent '%s' "
"in the current locale",
local_src);
warned = true;
}
} }
/* /*
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -269,5 +269,5 @@ runs\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2000-2002, 2004, 2005, 2007-2009, 2014-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
-1
View File
@@ -47,7 +47,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2000-2002, 2004, 2005, 2007-2009, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007, 2010, 2013-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -301,5 +301,5 @@ runs or when the standard output is not a tty\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2004-2007, 2010, 2013-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+1 -21
View File
@@ -879,29 +879,12 @@ get_next_command(void) {
isc_mem_free(mctx, buf); isc_mem_free(mctx, buf);
} }
ISC_PLATFORM_NORETURN_PRE static void
usage(void) ISC_PLATFORM_NORETURN_POST;
static void
usage(void) {
fprintf(stderr, "Usage:\n");
fprintf(stderr,
" nslookup [-opt ...] # interactive mode using default server\n");
fprintf(stderr,
" nslookup [-opt ...] - server # interactive mode using 'server'\n");
fprintf(stderr,
" nslookup [-opt ...] host # just look up 'host' using default server\n");
fprintf(stderr,
" nslookup [-opt ...] host server # just look up 'host' using 'server'\n");
exit(1);
}
static void static void
parse_args(int argc, char **argv) { parse_args(int argc, char **argv) {
bool have_lookup = false; bool have_lookup = false;
usesearch = true; usesearch = true;
for (argc--, argv++; argc > 0 && argv[0] != NULL; argc--, argv++) { for (argc--, argv++; argc > 0; argc--, argv++) {
debug("main parsing %s", argv[0]); debug("main parsing %s", argv[0]);
if (argv[0][0] == '-') { if (argv[0][0] == '-') {
if (strncasecmp(argv[0], "-ver", 4) == 0) { if (strncasecmp(argv[0], "-ver", 4) == 0) {
@@ -917,9 +900,6 @@ parse_args(int argc, char **argv) {
in_use = true; in_use = true;
addlookup(argv[0]); addlookup(argv[0]);
} else { } else {
if (argv[1] != NULL) {
usage();
}
set_nameserver(argv[0]); set_nameserver(argv[0]);
check_ra = false; check_ra = false;
} }
-1
View File
@@ -71,7 +71,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2004-2007, 2010, 2013-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2004-2007, 2010, 2013-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{F938F9B8-D395-4A40-BEC7-0122D289C692}</ProjectGuid> <ProjectGuid>{F938F9B8-D395-4A40-BEC7-0122D289C692}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>dig</RootNamespace> <RootNamespace>dig</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{140DE800-E552-43CC-B0C7-A33A92E368CA}</ProjectGuid> <ProjectGuid>{140DE800-E552-43CC-B0C7-A33A92E368CA}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>dighost</RootNamespace> <RootNamespace>dighost</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{BA1048A8-6961-4A20-BE12-08BE20611C9D}</ProjectGuid> <ProjectGuid>{BA1048A8-6961-4A20-BE12-08BE20611C9D}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>host</RootNamespace> <RootNamespace>host</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{C15A6E1A-94CE-4686-99F9-6BC5FD623EB5}</ProjectGuid> <ProjectGuid>{C15A6E1A-94CE-4686-99F9-6BC5FD623EB5}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>nslookup</RootNamespace> <RootNamespace>nslookup</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -1
View File
@@ -20,7 +20,7 @@ CINCLUDES = ${DNS_INCLUDES} ${ISC_INCLUDES} @OPENSSL_INCLUDES@
CDEFINES = -DVERSION=\"${VERSION}\" CDEFINES = -DVERSION=\"${VERSION}\"
CWARNINGS = CWARNINGS =
DNSLIBS = ../../lib/dns/libdns.@A@ ${MAXMINDDB_LIBS} @DNS_CRYPTO_LIBS@ DNSLIBS = ../../lib/dns/libdns.@A@ @DNS_CRYPTO_LIBS@
ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@ ISCLIBS = ../../lib/isc/libisc.@A@ @OPENSSL_LIBS@
ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@ ISCNOSYMLIBS = ../../lib/isc/libisc-nosymtbl.@A@ @OPENSSL_LIBS@
+3 -3
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2017-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -102,7 +102,7 @@ Specify a digest algorithm to use when converting CDNSKEY records to DS records\
.sp .sp
The The
\fIalgorithm\fR \fIalgorithm\fR
must be one of SHA\-1, SHA\-256, or SHA\-384\&. These values are case insensitive, and the hyphen may be omitted\&. If no algorithm is specified, the default is SHA\-256\&. must be one of SHA\-1 (SHA1), SHA\-256 (SHA256), or SHA\-384 (SHA384)\&. These values are case insensitive\&. If no algorithm is specified, the default is SHA\-256\&.
.RE .RE
.PP .PP
\-c \fIclass\fR \-c \fIclass\fR
@@ -293,5 +293,5 @@ RFC 7344\&.
.RE .RE
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2017-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+17 -11
View File
@@ -86,7 +86,7 @@ static dns_rdataclass_t rdclass = dns_rdataclass_in;
* List of digest types used by ds_from_cdnskey(), filled in by add_dtype() * List of digest types used by ds_from_cdnskey(), filled in by add_dtype()
* from -a arguments. The size of the array is an arbitrary limit. * from -a arguments. The size of the array is an arbitrary limit.
*/ */
static dns_dsdigest_t dtype[8]; static uint8_t dtype[8];
static const char *startstr = NULL; /* from which we derive notbefore */ static const char *startstr = NULL; /* from which we derive notbefore */
static isc_stdtime_t notbefore = 0; /* restrict sig inception times */ static isc_stdtime_t notbefore = 0; /* restrict sig inception times */
@@ -129,7 +129,7 @@ static int nkey; /* number of child zone DNSKEY records */
typedef struct keyinfo { typedef struct keyinfo {
dns_rdata_t rdata; dns_rdata_t rdata;
dst_key_t *dst; dst_key_t *dst;
dns_secalg_t algo; uint8_t algo;
dns_keytag_t tag; dns_keytag_t tag;
} keyinfo_t; } keyinfo_t;
@@ -482,6 +482,7 @@ match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t strictness)
dns_rdata_ds_t ds; dns_rdata_ds_t ds;
dns_rdata_t dsrdata = DNS_RDATA_INIT; dns_rdata_t dsrdata = DNS_RDATA_INIT;
dns_rdata_t newdsrdata = DNS_RDATA_INIT; dns_rdata_t newdsrdata = DNS_RDATA_INIT;
dns_rdatatype_t keytype;
bool c; bool c;
dns_rdataset_current(dsset, &dsrdata); dns_rdataset_current(dsset, &dsrdata);
@@ -492,8 +493,12 @@ match_key_dsset(keyinfo_t *ki, dns_rdataset_t *dsset, strictness_t strictness)
continue; continue;
} }
/* allow for both DNSKEY and CDNSKEY */
keytype = ki->rdata.type;
ki->rdata.type = dns_rdatatype_dnskey;
result = dns_ds_buildrdata(name, &ki->rdata, ds.digest_type, result = dns_ds_buildrdata(name, &ki->rdata, ds.digest_type,
dsbuf, &newdsrdata); dsbuf, &newdsrdata);
ki->rdata.type = keytype;
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
vbprintf(3, "dns_ds_buildrdata(" vbprintf(3, "dns_ds_buildrdata("
"keytag=%d, algo=%d, digest=%d): %s\n", "keytag=%d, algo=%d, digest=%d): %s\n",
@@ -568,7 +573,7 @@ match_keyset_dsset(dns_rdataset_t *keyset, dns_rdataset_t *dsset,
ki->algo = dnskey.algorithm; ki->algo = dnskey.algorithm;
dns_rdata_toregion(keyrdata, &r); dns_rdata_toregion(keyrdata, &r);
ki->tag = dst_region_computeid(&r); ki->tag = dst_region_computeid(&r, ki->algo);
ki->dst = NULL; ki->dst = NULL;
if (!match_key_dsset(ki, dsset, strictness)) { if (!match_key_dsset(ki, dsset, strictness)) {
@@ -614,12 +619,12 @@ free_keytable(keyinfo_t **keytable_p) {
* otherwise the key algorithm. This is used by the signature coverage * otherwise the key algorithm. This is used by the signature coverage
* check functions below. * check functions below.
*/ */
static dns_secalg_t * static uint8_t *
matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset, matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset,
dns_rdataset_t *sigset) dns_rdataset_t *sigset)
{ {
isc_result_t result; isc_result_t result;
dns_secalg_t *algo; uint8_t *algo;
int i; int i;
algo = isc_mem_get(mctx, nkey); algo = isc_mem_get(mctx, nkey);
@@ -702,7 +707,7 @@ matching_sigs(keyinfo_t *keytbl, dns_rdataset_t *rdataset,
* fetched from the child zone, any working signature is enough. * fetched from the child zone, any working signature is enough.
*/ */
static bool static bool
signed_loose(dns_secalg_t *algo) { signed_loose(uint8_t *algo) {
bool ok = false; bool ok = false;
int i; int i;
for (i = 0; i < nkey; i++) { for (i = 0; i < nkey; i++) {
@@ -721,7 +726,7 @@ signed_loose(dns_secalg_t *algo) {
* RRset. * RRset.
*/ */
static bool static bool
signed_strict(dns_rdataset_t *dsset, dns_secalg_t *algo) { signed_strict(dns_rdataset_t *dsset, uint8_t *algo) {
isc_result_t result; isc_result_t result;
bool all_ok = true; bool all_ok = true;
@@ -821,6 +826,7 @@ ds_from_cdnskey(dns_rdatalist_t *dslist, isc_buffer_t *buf,
return (ISC_R_NOSPACE); return (ISC_R_NOSPACE);
} }
cdnskey->type = dns_rdatatype_dnskey;
rdata = rdata_get(); rdata = rdata_get();
result = dns_ds_buildrdata(name, cdnskey, dtype[i], result = dns_ds_buildrdata(name, cdnskey, dtype[i],
r.base, rdata); r.base, rdata);
@@ -844,14 +850,14 @@ ds_from_cdnskey(dns_rdatalist_t *dslist, isc_buffer_t *buf,
*/ */
static int static int
cmp_dtype(const void *ap, const void *bp) { cmp_dtype(const void *ap, const void *bp) {
int a = *(const dns_dsdigest_t *)ap; int a = *(const uint8_t *)ap;
int b = *(const dns_dsdigest_t *)bp; int b = *(const uint8_t *)bp;
return (a - b); return (a - b);
} }
static void static void
add_dtype(const char *dn) { add_dtype(const char *dn) {
dns_dsdigest_t dt; uint8_t dt;
unsigned i, n; unsigned i, n;
dt = strtodsdigest(dn); dt = strtodsdigest(dn);
@@ -936,7 +942,7 @@ consistent_digests(dns_rdataset_t *dsset) {
dns_rdata_t *arrdata; dns_rdata_t *arrdata;
dns_rdata_ds_t *ds; dns_rdata_ds_t *ds;
dns_keytag_t key_tag; dns_keytag_t key_tag;
dns_secalg_t algorithm; uint8_t algorithm;
bool match; bool match;
int i, j, n, d; int i, j, n, d;
+3 -4
View File
@@ -40,7 +40,6 @@
<copyright> <copyright>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
@@ -144,9 +143,9 @@
record. This option has no effect when using CDS records. record. This option has no effect when using CDS records.
</para> </para>
<para> <para>
The <replaceable>algorithm</replaceable> must be one of The <replaceable>algorithm</replaceable> must be one of SHA-1
SHA-1, SHA-256, or SHA-384. These values are case insensitive, (SHA1), SHA-256 (SHA256), or SHA-384 (SHA384). These
and the hyphen may be omitted. If no algorithm is specified, values are case insensitive. If no algorithm is specified,
the default is SHA-256. the default is SHA-256.
</para> </para>
</listitem> </listitem>
+4 -4
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2017-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2017, 2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -129,9 +129,9 @@
record. This option has no effect when using CDS records. record. This option has no effect when using CDS records.
</p> </p>
<p> <p>
The <em class="replaceable"><code>algorithm</code></em> must be one of The <em class="replaceable"><code>algorithm</code></em> must be one of SHA-1
SHA-1, SHA-256, or SHA-384. These values are case insensitive, (SHA1), SHA-256 (SHA256), or SHA-384 (SHA384). These
and the hyphen may be omitted. If no algorithm is specified, values are case insensitive. If no algorithm is specified,
the default is SHA-256. the default is SHA-256.
</p> </p>
</dd> </dd>
+46 -105
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2008-2012, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2008-2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -39,103 +39,61 @@
dnssec-dsfromkey \- DNSSEC DS RR generation tool dnssec-dsfromkey \- DNSSEC DS RR generation tool
.SH "SYNOPSIS" .SH "SYNOPSIS"
.HP \w'\fBdnssec\-dsfromkey\fR\ 'u .HP \w'\fBdnssec\-dsfromkey\fR\ 'u
\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] {keyfile} \fBdnssec\-dsfromkey\fR [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] {keyfile}
.HP \w'\fBdnssec\-dsfromkey\fR\ 'u .HP \w'\fBdnssec\-dsfromkey\fR\ 'u
\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-A\fR] {\fB\-f\ \fR\fB\fIfile\fR\fR} [dnsname] \fBdnssec\-dsfromkey\fR {\-s} [\fB\-1\fR] [\fB\-2\fR] [\fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-s\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-f\ \fR\fB\fIfile\fR\fR] [\fB\-A\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {dnsname}
.HP \w'\fBdnssec\-dsfromkey\fR\ 'u .HP \w'\fBdnssec\-dsfromkey\fR\ 'u
\fBdnssec\-dsfromkey\fR [\fB\-1\fR | \fB\-2\fR | \fB\-a\ \fR\fB\fIalg\fR\fR] [\fB\-C\fR | \fB\-l\ \fR\fB\fIdomain\fR\fR] [\fB\-T\ \fR\fB\fITTL\fR\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] {\-s} {dnsname} \fBdnssec\-dsfromkey\fR [\fB\-h\fR] [\fB\-V\fR]
.HP \w'\fBdnssec\-dsfromkey\fR\ 'u
\fBdnssec\-dsfromkey\fR [\fB\-h\fR | \fB\-V\fR]
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
The
\fBdnssec\-dsfromkey\fR \fBdnssec\-dsfromkey\fR
command outputs DS (Delegation Signer) resource records (RRs) and other similarly\-constructed RRs: with the outputs the Delegation Signer (DS) resource record (RR), as defined in RFC 3658 and RFC 4509, for the given key(s)\&.
\fB\-l\fR
option it outputs DLV (DNSSEC Lookaside Validation) RRs; or with the
\fB\-C\fR
it outputs CDS (Child DS) RRs\&.
.PP
The input keys can be specified in a number of ways:
.PP
By default,
\fBdnssec\-dsfromkey\fR
reads a key file named like
Knnnn\&.+aaa+iiiii\&.key, as generated by
\fBdnssec\-keygen\fR\&.
.PP
With the
\fB\-f \fR\fB\fIfile\fR\fR
option,
\fBdnssec\-dsfromkey\fR
reads keys from a zone file or partial zone file (which can contain just the DNSKEY records)\&.
.PP
With the
\fB\-s\fR
option,
\fBdnssec\-dsfromkey\fR
reads a
keyset\-
file, as generated by
\fBdnssec\-keygen\fR\fB\-C\fR\&.
.SH "OPTIONS" .SH "OPTIONS"
.PP .PP
\-1 \-1
.RS 4 .RS 4
An abbreviation for Use SHA\-1 as the digest algorithm (the default is to use both SHA\-1 and SHA\-256)\&.
\fB\-a SHA1\fR
.RE .RE
.PP .PP
\-2 \-2
.RS 4 .RS 4
An abbreviation for Use SHA\-256 as the digest algorithm\&.
\fB\-a SHA\-256\fR
.RE .RE
.PP .PP
\-a \fIalgorithm\fR \-a \fIalgorithm\fR
.RS 4 .RS 4
Specify a digest algorithm to use when converting DNSKEY records to DS records\&. This option can be repeated, so that multiple DS records are created for each DNSKEY record\&. Select the digest algorithm\&. The value of
.sp \fBalgorithm\fR
The must be one of SHA\-1 (SHA1), SHA\-256 (SHA256) or SHA\-384 (SHA384)\&. These values are case insensitive\&.
\fIalgorithm\fR
must be one of SHA\-1, SHA\-256, or SHA\-384\&. These values are case insensitive, and the hyphen may be omitted\&. If no algorithm is specified, the default is SHA\-256\&.
.RE
.PP
\-A
.RS 4
Include ZSKs when generating DS records\&. Without this option, only keys which have the KSK flag set will be converted to DS records and printed\&. Useful only in
\fB\-f\fR
zone file mode\&.
.RE
.PP
\-c \fIclass\fR
.RS 4
Specifies the DNS class (default is IN)\&. Useful only in
\fB\-s\fR
keyset or
\fB\-f\fR
zone file mode\&.
.RE .RE
.PP .PP
\-C \-C
.RS 4 .RS 4
Generate CDS records rather than DS records\&. This is mutually exclusive with the Generate CDS records rather than DS records\&. This is mutually exclusive with generating lookaside records\&.
\fB\-l\fR .RE
option for generating DLV records\&. .PP
\-T \fITTL\fR
.RS 4
Specifies the TTL of the DS records\&.
.RE
.PP
\-K \fIdirectory\fR
.RS 4
Look for key files (or, in keyset mode,
keyset\-
files) in
\fBdirectory\fR\&.
.RE .RE
.PP .PP
\-f \fIfile\fR \-f \fIfile\fR
.RS 4 .RS 4
Zone file mode: Zone file mode: in place of the keyfile name, the argument is the DNS domain name of a zone master file, which can be read from
\fBdnssec\-dsfromkey\fR\*(Aqs final
\fIdnsname\fR
argument is the DNS domain name of a zone whose master file can be read from
\fBfile\fR\&. If the zone name is the same as \fBfile\fR\&. If the zone name is the same as
\fBfile\fR, then it may be omitted\&. \fBfile\fR, then it may be omitted\&.
.sp .sp
If If
\fIfile\fR \fBfile\fR
is is set to
"\-", then the zone data is read from the standard input\&. This makes it possible to use the output of the "\-", then the zone data is read from the standard input\&. This makes it possible to use the output of the
\fBdig\fR \fBdig\fR
command as input, as in: command as input, as in:
@@ -143,41 +101,26 @@ command as input, as in:
\fBdig dnskey example\&.com | dnssec\-dsfromkey \-f \- example\&.com\fR \fBdig dnskey example\&.com | dnssec\-dsfromkey \-f \- example\&.com\fR
.RE .RE
.PP .PP
\-h \-A
.RS 4 .RS 4
Prints usage information\&. Include ZSKs when generating DS records\&. Without this option, only keys which have the KSK flag set will be converted to DS records and printed\&. Useful only in zone file mode\&.
.RE
.PP
\-K \fIdirectory\fR
.RS 4
Look for key files or
keyset\-
files in
\fBdirectory\fR\&.
.RE .RE
.PP .PP
\-l \fIdomain\fR \-l \fIdomain\fR
.RS 4 .RS 4
Generate a DLV set instead of a DS set\&. The specified Generate a DLV set instead of a DS set\&. The specified
\fIdomain\fR \fBdomain\fR
is appended to the name for each record in the set\&. This is mutually exclusive with the is appended to the name for each record in the set\&. The DNSSEC Lookaside Validation (DLV) RR is described in RFC 4431\&. This is mutually exclusive with generating CDS records\&.
\fB\-C\fR
option for generating CDS records\&.
.RE .RE
.PP .PP
\-s \-s
.RS 4 .RS 4
Keyset mode: Keyset mode: in place of the keyfile name, the argument is the DNS domain name of a keyset file\&.
\fBdnssec\-dsfromkey\fR\*(Aqs final
\fIdnsname\fR
argument is the DNS domain name used to locate a
keyset\-
file\&.
.RE .RE
.PP .PP
\-T \fITTL\fR \-c \fIclass\fR
.RS 4 .RS 4
Specifies the TTL of the DS records\&. By default the TTL is omitted\&. Specifies the DNS class (default is IN)\&. Useful only in keyset or zone file mode\&.
.RE .RE
.PP .PP
\-v \fIlevel\fR \-v \fIlevel\fR
@@ -185,6 +128,11 @@ Specifies the TTL of the DS records\&. By default the TTL is omitted\&.
Sets the debugging level\&. Sets the debugging level\&.
.RE .RE
.PP .PP
\-h
.RS 4
Prints usage information\&.
.RE
.PP
\-V \-V
.RS 4 .RS 4
Prints version information\&. Prints version information\&.
@@ -193,16 +141,16 @@ Prints version information\&.
.PP .PP
To build the SHA\-256 DS RR from the To build the SHA\-256 DS RR from the
\fBKexample\&.com\&.+003+26160\fR \fBKexample\&.com\&.+003+26160\fR
keyfile name, you can issue the following command: keyfile name, the following command would be issued:
.PP .PP
\fBdnssec\-dsfromkey \-2 Kexample\&.com\&.+003+26160\fR \fBdnssec\-dsfromkey \-2 Kexample\&.com\&.+003+26160\fR
.PP .PP
The command would print something like: The command would print something like:
.PP .PP
\fBexample\&.com\&. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94\fR \fBexample\&.com\&. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0 C5EA0B94\fR
.SH "FILES" .SH "FILES"
.PP .PP
The keyfile can be designated by the key identification The keyfile can be designed by the key identification
Knnnn\&.+aaa+iiiii Knnnn\&.+aaa+iiiii
or the full file name or the full file name
Knnnn\&.+aaa+iiiii\&.key Knnnn\&.+aaa+iiiii\&.key
@@ -222,20 +170,13 @@ A keyfile error can give a "file not found" even if the file exists\&.
\fBdnssec-keygen\fR(8), \fBdnssec-keygen\fR(8),
\fBdnssec-signzone\fR(8), \fBdnssec-signzone\fR(8),
BIND 9 Administrator Reference Manual, BIND 9 Administrator Reference Manual,
RFC 3658 RFC 3658,
(DS RRs), RFC 4431\&.
RFC 4431 RFC 4509\&.
(DLV RRs),
RFC 4509
(SHA\-256 for DS RRs),
RFC 6605
(SHA\-384 for DS RRs),
RFC 7344
(CDS and CDNSKEY RRs)\&.
.SH "AUTHOR" .SH "AUTHOR"
.PP .PP
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2008-2012, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2008-2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+48 -67
View File
@@ -235,7 +235,7 @@ logkey(dns_rdata_t *rdata)
} }
static void static void
emit(dns_dsdigest_t dtype, bool showall, char *lookaside, emit(unsigned int dtype, bool showall, char *lookaside,
bool cds, dns_rdata_t *rdata) bool cds, dns_rdata_t *rdata)
{ {
isc_result_t result; isc_result_t result;
@@ -318,27 +318,30 @@ usage(void) ISC_PLATFORM_NORETURN_POST;
static void static void
usage(void) { usage(void) {
fprintf(stderr, "Usage:\n"); fprintf(stderr, "Usage:\n");
fprintf(stderr, " %s [options] keyfile\n\n", program); fprintf(stderr, " %s options [-K dir] keyfile\n\n", program);
fprintf(stderr, " %s [options] -f zonefile [zonename]\n\n", program); fprintf(stderr, " %s options [-K dir] [-c class] -s dnsname\n\n",
fprintf(stderr, " %s [options] -s dnsname\n\n", program); program);
fprintf(stderr, " %s [-h|-V]\n\n", program); fprintf(stderr, " %s options -f zonefile (as zone name)\n\n", program);
fprintf(stderr, " %s options -f zonefile zonename\n\n", program);
fprintf(stderr, "Version: %s\n", VERSION); fprintf(stderr, "Version: %s\n", VERSION);
fprintf(stderr, "Options:\n" fprintf(stderr, "Options:\n");
" -1: digest algorithm SHA-1\n" fprintf(stderr, " -v <verbose level>\n");
" -2: digest algorithm SHA-256\n" fprintf(stderr, " -V: print version information\n");
" -a algorithm: digest algorithm (SHA-1, SHA-256 or SHA-384)\n" fprintf(stderr, " -K <directory>: directory in which to find "
" -A: include all keys in DS set, not just KSKs (-f only)\n" "key file or keyset file\n");
" -c class: rdata class for DS set (default IN) (-f or -s only)\n" fprintf(stderr, " -a algorithm: digest algorithm "
" -C: print CDS records\n" "(SHA-1, SHA-256 or SHA-384)\n");
" -f zonefile: read keys from a zone file\n" fprintf(stderr, " -1: use SHA-1\n");
" -h: print help information\n" fprintf(stderr, " -2: use SHA-256\n");
" -K directory: where to find key or keyset files\n" fprintf(stderr, " -C: print CDS record\n");
" -l zone: print DLV records in the given lookaside zone\n" fprintf(stderr, " -l: add lookaside zone and print DLV records\n");
" -s: read keys from keyset-<dnsname> file\n" fprintf(stderr, " -s: read keyset from keyset-<dnsname> file\n");
" -T: TTL of output records (omitted by default)\n" fprintf(stderr, " -c class: rdata class for DS set (default: IN)\n");
" -v level: verbosity\n" fprintf(stderr, " -T TTL\n");
" -V: print version information\n"); fprintf(stderr, " -f file: read keyset from zone file\n");
fprintf(stderr, "Output: DS, DLV, or CDS RRs\n"); fprintf(stderr, " -A: when used with -f, "
"include all keys in DS set, not just KSKs\n");
fprintf(stderr, "Output: DS or DLV RRs\n");
exit (-1); exit (-1);
} }
@@ -350,7 +353,7 @@ main(int argc, char **argv) {
char *lookaside = NULL; char *lookaside = NULL;
char *endp; char *endp;
int ch; int ch;
dns_dsdigest_t dtype = DNS_DSDIGEST_SHA1; unsigned int dtype = DNS_DSDIGEST_SHA1;
bool cds = false; bool cds = false;
bool both = true; bool both = true;
bool usekeyset = false; bool usekeyset = false;
@@ -362,14 +365,12 @@ main(int argc, char **argv) {
dns_rdata_init(&rdata); dns_rdata_init(&rdata);
if (argc == 1) { if (argc == 1)
usage(); usage();
}
result = isc_mem_create(0, 0, &mctx); result = isc_mem_create(0, 0, &mctx);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS)
fatal("out of memory"); fatal("out of memory");
}
#if USE_PKCS11 #if USE_PKCS11
pk11_result_register(); pk11_result_register();
@@ -397,10 +398,9 @@ main(int argc, char **argv) {
both = false; both = false;
break; break;
case 'C': case 'C':
if (lookaside != NULL) { if (lookaside != NULL)
fatal("lookaside and CDS are mutually" fatal("lookaside and CDS are mutually"
" exclusive"); " exclusive");
}
cds = true; cds = true;
break; break;
case 'c': case 'c':
@@ -412,18 +412,16 @@ main(int argc, char **argv) {
/* fall through */ /* fall through */
case 'K': case 'K':
dir = isc_commandline_argument; dir = isc_commandline_argument;
if (strlen(dir) == 0U) { if (strlen(dir) == 0U)
fatal("directory must be non-empty string"); fatal("directory must be non-empty string");
}
break; break;
case 'f': case 'f':
filename = isc_commandline_argument; filename = isc_commandline_argument;
break; break;
case 'l': case 'l':
if (cds) { if (cds)
fatal("lookaside and CDS are mutually" fatal("lookaside and CDS are mutually"
" exclusive"); " exclusive");
}
lookaside = isc_commandline_argument; lookaside = isc_commandline_argument;
if (strlen(lookaside) == 0U) if (strlen(lookaside) == 0U)
fatal("lookaside must be a non-empty string"); fatal("lookaside must be a non-empty string");
@@ -437,18 +435,16 @@ main(int argc, char **argv) {
break; break;
case 'v': case 'v':
verbose = strtol(isc_commandline_argument, &endp, 0); verbose = strtol(isc_commandline_argument, &endp, 0);
if (*endp != '\0') { if (*endp != '\0')
fatal("-v must be followed by a number"); fatal("-v must be followed by a number");
}
break; break;
case 'F': case 'F':
/* Reserved for FIPS mode */ /* Reserved for FIPS mode */
/* FALLTHROUGH */ /* FALLTHROUGH */
case '?': case '?':
if (isc_commandline_option != '?') { if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n", fprintf(stderr, "%s: invalid argument -%c\n",
program, isc_commandline_option); program, isc_commandline_option);
}
/* FALLTHROUGH */ /* FALLTHROUGH */
case 'h': case 'h':
/* Does not return. */ /* Does not return. */
@@ -467,56 +463,46 @@ main(int argc, char **argv) {
rdclass = strtoclass(classname); rdclass = strtoclass(classname);
if (usekeyset && filename != NULL) { if (usekeyset && filename != NULL)
fatal("cannot use both -s and -f"); fatal("cannot use both -s and -f");
}
/* When not using -f, -A is implicit */ /* When not using -f, -A is implicit */
if (filename == NULL) { if (filename == NULL)
showall = true; showall = true;
}
if (argc < isc_commandline_index + 1 && filename == NULL) { if (argc < isc_commandline_index + 1 && filename == NULL)
fatal("the key file name was not specified"); fatal("the key file name was not specified");
} if (argc > isc_commandline_index + 1)
if (argc > isc_commandline_index + 1) {
fatal("extraneous arguments"); fatal("extraneous arguments");
}
result = dst_lib_init(mctx, NULL); result = dst_lib_init(mctx, NULL);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS)
fatal("could not initialize dst: %s", fatal("could not initialize dst: %s",
isc_result_totext(result)); isc_result_totext(result));
}
setup_logging(mctx, &log); setup_logging(mctx, &log);
dns_rdataset_init(&rdataset); dns_rdataset_init(&rdataset);
if (usekeyset || filename != NULL) { if (usekeyset || filename != NULL) {
if (argc < isc_commandline_index + 1) { if (argc < isc_commandline_index + 1 && filename != NULL) {
/* using zone name as the zone file name */ /* using zone name as the zone file name */
namestr = filename; namestr = filename;
} else { } else
namestr = argv[isc_commandline_index]; namestr = argv[isc_commandline_index];
}
result = initname(namestr); result = initname(namestr);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS)
fatal("could not initialize name %s", namestr); fatal("could not initialize name %s", namestr);
}
if (usekeyset) { if (usekeyset)
result = loadkeyset(dir, &rdataset); result = loadkeyset(dir, &rdataset);
} else { else
INSIST(filename != NULL);
result = loadset(filename, &rdataset); result = loadset(filename, &rdataset);
}
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS)
fatal("could not load DNSKEY set: %s\n", fatal("could not load DNSKEY set: %s\n",
isc_result_totext(result)); isc_result_totext(result));
}
for (result = dns_rdataset_first(&rdataset); for (result = dns_rdataset_first(&rdataset);
result == ISC_R_SUCCESS; result == ISC_R_SUCCESS;
@@ -524,18 +510,16 @@ main(int argc, char **argv) {
dns_rdata_init(&rdata); dns_rdata_init(&rdata);
dns_rdataset_current(&rdataset, &rdata); dns_rdataset_current(&rdataset, &rdata);
if (verbose > 2) { if (verbose > 2)
logkey(&rdata); logkey(&rdata);
}
if (both) { if (both) {
emit(DNS_DSDIGEST_SHA1, showall, lookaside, emit(DNS_DSDIGEST_SHA1, showall, lookaside,
cds, &rdata); cds, &rdata);
emit(DNS_DSDIGEST_SHA256, showall, lookaside, emit(DNS_DSDIGEST_SHA256, showall, lookaside,
cds, &rdata); cds, &rdata);
} else { } else
emit(dtype, showall, lookaside, cds, &rdata); emit(dtype, showall, lookaside, cds, &rdata);
}
} }
} else { } else {
unsigned char key_buf[DST_KEY_MAXSIZE]; unsigned char key_buf[DST_KEY_MAXSIZE];
@@ -548,9 +532,8 @@ main(int argc, char **argv) {
&rdata); &rdata);
emit(DNS_DSDIGEST_SHA256, showall, lookaside, cds, emit(DNS_DSDIGEST_SHA256, showall, lookaside, cds,
&rdata); &rdata);
} else { } else
emit(dtype, showall, lookaside, cds, &rdata); emit(dtype, showall, lookaside, cds, &rdata);
}
} }
if (dns_rdataset_isassociated(&rdataset)) if (dns_rdataset_isassociated(&rdataset))
@@ -558,16 +541,14 @@ main(int argc, char **argv) {
cleanup_logging(&log); cleanup_logging(&log);
dst_lib_destroy(); dst_lib_destroy();
dns_name_destroy(); dns_name_destroy();
if (verbose > 10) { if (verbose > 10)
isc_mem_stats(mctx, stdout); isc_mem_stats(mctx, stdout);
}
isc_mem_destroy(&mctx); isc_mem_destroy(&mctx);
fflush(stdout); fflush(stdout);
if (ferror(stdout)) { if (ferror(stdout)) {
fprintf(stderr, "write error\n"); fprintf(stderr, "write error\n");
return (1); return (1);
} else { } else
return (0); return (0);
}
} }
+90 -154
View File
@@ -41,7 +41,6 @@
<year>2015</year> <year>2015</year>
<year>2016</year> <year>2016</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
@@ -49,108 +48,56 @@
<refsynopsisdiv> <refsynopsisdiv>
<cmdsynopsis sepchar=" "> <cmdsynopsis sepchar=" ">
<command>dnssec-dsfromkey</command> <command>dnssec-dsfromkey</command>
<group choice="opt">
<arg choice="plain"><option>-1</option></arg>
<arg choice="plain"><option>-2</option></arg>
<arg choice="plain"><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
</group>
<group>
<arg choice="plain" rep="norepeat"><option>-C</option></arg>
<arg choice="plain" rep="norepeat"><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
</group>
<arg choice="opt" rep="norepeat"><option>-T <replaceable class="parameter">TTL</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-K <replaceable class="parameter">directory</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-1</option></arg>
<arg choice="opt" rep="norepeat"><option>-2</option></arg>
<arg choice="opt" rep="norepeat"><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-C</option></arg>
<arg choice="opt" rep="norepeat"><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-T <replaceable class="parameter">TTL</replaceable></option></arg>
<arg choice="req" rep="norepeat">keyfile</arg> <arg choice="req" rep="norepeat">keyfile</arg>
</cmdsynopsis> </cmdsynopsis>
<cmdsynopsis sepchar=" "> <cmdsynopsis sepchar=" ">
<command>dnssec-dsfromkey</command> <command>dnssec-dsfromkey</command>
<group choice="opt">
<arg choice="plain"><option>-1</option></arg>
<arg choice="plain"><option>-2</option></arg>
<arg choice="plain"><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
</group>
<group>
<arg choice="plain" rep="norepeat"><option>-C</option></arg>
<arg choice="plain" rep="norepeat"><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
</group>
<arg choice="opt" rep="norepeat"><option>-T <replaceable class="parameter">TTL</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-A</option></arg>
<arg choice="req" rep="norepeat"><option>-f <replaceable class="parameter">file</replaceable></option></arg>
<arg choice="opt" rep="norepeat">dnsname</arg>
</cmdsynopsis>
<cmdsynopsis sepchar=" ">
<command>dnssec-dsfromkey</command>
<group choice="opt">
<arg choice="plain"><option>-1</option></arg>
<arg choice="plain"><option>-2</option></arg>
<arg choice="plain"><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
</group>
<group>
<arg choice="plain" rep="norepeat"><option>-C</option></arg>
<arg choice="plain" rep="norepeat"><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
</group>
<arg choice="opt" rep="norepeat"><option>-T <replaceable class="parameter">TTL</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="req" rep="norepeat">-s</arg> <arg choice="req" rep="norepeat">-s</arg>
<arg choice="opt" rep="norepeat"><option>-1</option></arg>
<arg choice="opt" rep="norepeat"><option>-2</option></arg>
<arg choice="opt" rep="norepeat"><option>-a <replaceable class="parameter">alg</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-l <replaceable class="parameter">domain</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-s</option></arg>
<arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-T <replaceable class="parameter">TTL</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-f <replaceable class="parameter">file</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-A</option></arg>
<arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg choice="req" rep="norepeat">dnsname</arg> <arg choice="req" rep="norepeat">dnsname</arg>
</cmdsynopsis> </cmdsynopsis>
<cmdsynopsis sepchar=" "> <cmdsynopsis sepchar=" ">
<command>dnssec-dsfromkey</command> <command>dnssec-dsfromkey</command>
<group choice="opt"> <arg choice="opt" rep="norepeat"><option>-h</option></arg>
<arg choice="plain" rep="norepeat"><option>-h</option></arg> <arg choice="opt" rep="norepeat"><option>-V</option></arg>
<arg choice="plain" rep="norepeat"><option>-V</option></arg> </cmdsynopsis>
</group>
</cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
<refsection><info><title>DESCRIPTION</title></info> <refsection><info><title>DESCRIPTION</title></info>
<para> <para><command>dnssec-dsfromkey</command>
The <command>dnssec-dsfromkey</command> command outputs DS (Delegation outputs the Delegation Signer (DS) resource record (RR), as defined in
Signer) resource records (RRs) and other similarly-constructed RRs: RFC 3658 and RFC 4509, for the given key(s).
with the <option>-l</option> option it outputs DLV (DNSSEC Lookaside
Validation) RRs; or with the <option>-C</option> it outputs CDS (Child
DS) RRs.
</para> </para>
<para>
The input keys can be specified in a number of ways:
</para>
<para>
By default, <command>dnssec-dsfromkey</command> reads a key file
named like <filename>Knnnn.+aaa+iiiii.key</filename>, as generated
by <command>dnssec-keygen</command>.
</para>
<para>
With the <option>-f <replaceable>file</replaceable></option>
option, <command>dnssec-dsfromkey</command> reads keys from a zone file
or partial zone file (which can contain just the DNSKEY records).
</para>
<para>
With the <option>-s</option>
option, <command>dnssec-dsfromkey</command> reads
a <filename>keyset-</filename> file, as generated
by <command>dnssec-keygen</command> <option>-C</option>.
</para>
</refsection> </refsection>
<refsection><info><title>OPTIONS</title></info> <refsection><info><title>OPTIONS</title></info>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term>-1</term> <term>-1</term>
<listitem> <listitem>
<para> <para>
An abbreviation for <option>-a SHA1</option> Use SHA-1 as the digest algorithm (the default is to use
both SHA-1 and SHA-256).
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -159,7 +106,7 @@
<term>-2</term> <term>-2</term>
<listitem> <listitem>
<para> <para>
An abbreviation for <option>-a SHA-256</option> Use SHA-256 as the digest algorithm.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -168,49 +115,40 @@
<term>-a <replaceable class="parameter">algorithm</replaceable></term> <term>-a <replaceable class="parameter">algorithm</replaceable></term>
<listitem> <listitem>
<para> <para>
Specify a digest algorithm to use when converting DNSKEY Select the digest algorithm. The value of
records to DS records. This option can be repeated, so <option>algorithm</option> must be one of SHA-1 (SHA1),
that multiple DS records are created for each DNSKEY SHA-256 (SHA256) or SHA-384 (SHA384).
record. These values are case insensitive.
</para>
<para>
The <replaceable>algorithm</replaceable> must be one of
SHA-1, SHA-256, or SHA-384. These values are case insensitive,
and the hyphen may be omitted. If no algorithm is specified,
the default is SHA-256.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>-A</term>
<listitem>
<para>
Include ZSKs when generating DS records. Without this option, only
keys which have the KSK flag set will be converted to DS records
and printed. Useful only in <option>-f</option> zone file mode.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-c <replaceable class="parameter">class</replaceable></term>
<listitem>
<para>
Specifies the DNS class (default is IN). Useful only
in <option>-s</option> keyset or <option>-f</option>
zone file mode.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>-C</term> <term>-C</term>
<listitem> <listitem>
<para> <para>
Generate CDS records rather than DS records. This is mutually Generate CDS records rather than DS records. This is mutually
exclusive with the <option>-l</option> option for generating DLV exclusive with generating lookaside records.
records. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>-T <replaceable class="parameter">TTL</replaceable></term>
<listitem>
<para>
Specifies the TTL of the DS records.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-K <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
Look for key files (or, in keyset mode,
<filename>keyset-</filename> files) in
<option>directory</option>.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -219,14 +157,13 @@
<term>-f <replaceable class="parameter">file</replaceable></term> <term>-f <replaceable class="parameter">file</replaceable></term>
<listitem> <listitem>
<para> <para>
Zone file mode: <command>dnssec-dsfromkey</command>'s Zone file mode: in place of the keyfile name, the argument is
final <replaceable>dnsname</replaceable> argument is the DNS domain name of a zone master file, which can be read
the DNS domain name of a zone whose master file can be read
from <option>file</option>. If the zone name is the same as from <option>file</option>. If the zone name is the same as
<option>file</option>, then it may be omitted. <option>file</option>, then it may be omitted.
</para> </para>
<para> <para>
If <replaceable>file</replaceable> is <literal>"-"</literal>, then If <option>file</option> is set to <literal>"-"</literal>, then
the zone data is read from the standard input. This makes it the zone data is read from the standard input. This makes it
possible to use the output of the <command>dig</command> possible to use the output of the <command>dig</command>
command as input, as in: command as input, as in:
@@ -238,33 +175,26 @@
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>-h</term> <term>-A</term>
<listitem> <listitem>
<para> <para>
Prints usage information. Include ZSKs when generating DS records. Without this option,
</para> only keys which have the KSK flag set will be converted to DS
</listitem> records and printed. Useful only in zone file mode.
</varlistentry> </para>
</listitem>
<varlistentry>
<term>-K <replaceable class="parameter">directory</replaceable></term>
<listitem>
<para>
Look for key files or <filename>keyset-</filename> files in
<option>directory</option>.
</para>
</listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>-l <replaceable class="parameter">domain</replaceable></term> <term>-l <replaceable class="parameter">domain</replaceable></term>
<listitem> <listitem>
<para> <para>
Generate a DLV set instead of a DS set. The specified Generate a DLV set instead of a DS set. The specified
<replaceable>domain</replaceable> is appended to the name for each <option>domain</option> is appended to the name for each
record in the set. record in the set.
This is mutually exclusive with the <option>-C</option> option The DNSSEC Lookaside Validation (DLV) RR is described
for generating CDS records. in RFC 4431. This is mutually exclusive with generating
CDS records.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -273,18 +203,18 @@
<term>-s</term> <term>-s</term>
<listitem> <listitem>
<para> <para>
Keyset mode: <command>dnssec-dsfromkey</command>'s Keyset mode: in place of the keyfile name, the argument is
final <replaceable>dnsname</replaceable> argument is the DNS the DNS domain name of a keyset file.
domain name used to locate a <filename>keyset-</filename> file.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>-T <replaceable class="parameter">TTL</replaceable></term> <term>-c <replaceable class="parameter">class</replaceable></term>
<listitem> <listitem>
<para> <para>
Specifies the TTL of the DS records. By default the TTL is omitted. Specifies the DNS class (default is IN). Useful only
in keyset or zone file mode.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -298,6 +228,15 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>-h</term>
<listitem>
<para>
Prints usage information.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>-V</term> <term>-V</term>
<listitem> <listitem>
@@ -314,22 +253,21 @@
<para> <para>
To build the SHA-256 DS RR from the To build the SHA-256 DS RR from the
<userinput>Kexample.com.+003+26160</userinput> <userinput>Kexample.com.+003+26160</userinput>
keyfile name, you can issue the following command: keyfile name, the following command would be issued:
</para> </para>
<para><userinput>dnssec-dsfromkey -2 Kexample.com.+003+26160</userinput> <para><userinput>dnssec-dsfromkey -2 Kexample.com.+003+26160</userinput>
</para> </para>
<para> <para>
The command would print something like: The command would print something like:
</para> </para>
<para><userinput>example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94</userinput> <para><userinput>example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0 C5EA0B94</userinput>
</para> </para>
</refsection> </refsection>
<refsection><info><title>FILES</title></info> <refsection><info><title>FILES</title></info>
<para> <para>
The keyfile can be designated by the key identification The keyfile can be designed by the key identification
<filename>Knnnn.+aaa+iiiii</filename> or the full file name <filename>Knnnn.+aaa+iiiii</filename> or the full file name
<filename>Knnnn.+aaa+iiiii.key</filename> as generated by <filename>Knnnn.+aaa+iiiii.key</filename> as generated by
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>. <refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>.
@@ -357,11 +295,9 @@
<refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum> <refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>, </citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>, <citetitle>BIND 9 Administrator Reference Manual</citetitle>,
<citetitle>RFC 3658</citetitle> (DS RRs), <citetitle>RFC 3658</citetitle>,
<citetitle>RFC 4431</citetitle> (DLV RRs), <citetitle>RFC 4431</citetitle>.
<citetitle>RFC 4509</citetitle> (SHA-256 for DS RRs), <citetitle>RFC 4509</citetitle>.
<citetitle>RFC 6605</citetitle> (SHA-384 for DS RRs),
<citetitle>RFC 7344</citetitle> (CDS and CDNSKEY RRs).
</para> </para>
</refsection> </refsection>
+81 -144
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2008-2012, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2008-2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -33,167 +33,105 @@
<h2>Synopsis</h2> <h2>Synopsis</h2>
<div class="cmdsynopsis"><p> <div class="cmdsynopsis"><p>
<code class="command">dnssec-dsfromkey</code> <code class="command">dnssec-dsfromkey</code>
[
<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">-C</code>
| <code class="option">-l <em class="replaceable"><code>domain</code></em></code>
]
[<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>]
[<code class="option">-v <em class="replaceable"><code>level</code></em></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">-1</code>]
[<code class="option">-2</code>]
[<code class="option">-a <em class="replaceable"><code>alg</code></em></code>]
[<code class="option">-C</code>]
[<code class="option">-l <em class="replaceable"><code>domain</code></em></code>]
[<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>]
{keyfile} {keyfile}
</p></div> </p></div>
<div class="cmdsynopsis"><p> <div class="cmdsynopsis"><p>
<code class="command">dnssec-dsfromkey</code> <code class="command">dnssec-dsfromkey</code>
[
<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">-C</code>
| <code class="option">-l <em class="replaceable"><code>domain</code></em></code>
]
[<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>]
[<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
[<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
[<code class="option">-A</code>]
{<code class="option">-f <em class="replaceable"><code>file</code></em></code>}
[dnsname]
</p></div>
<div class="cmdsynopsis"><p>
<code class="command">dnssec-dsfromkey</code>
[
<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">-C</code>
| <code class="option">-l <em class="replaceable"><code>domain</code></em></code>
]
[<code class="option">-T <em class="replaceable"><code>TTL</code></em></code>]
[<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
[<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
[<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
{-s} {-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">-T <em class="replaceable"><code>TTL</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} {dnsname}
</p></div> </p></div>
<div class="cmdsynopsis"><p> <div class="cmdsynopsis"><p>
<code class="command">dnssec-dsfromkey</code> <code class="command">dnssec-dsfromkey</code>
[ [<code class="option">-h</code>]
<code class="option">-h</code> [<code class="option">-V</code>]
| <code class="option">-V</code> </p></div>
]
</p></div>
</div> </div>
<div class="refsection"> <div class="refsection">
<a name="id-1.7"></a><h2>DESCRIPTION</h2> <a name="id-1.7"></a><h2>DESCRIPTION</h2>
<p> <p><span class="command"><strong>dnssec-dsfromkey</strong></span>
The <span class="command"><strong>dnssec-dsfromkey</strong></span> command outputs DS (Delegation outputs the Delegation Signer (DS) resource record (RR), as defined in
Signer) resource records (RRs) and other similarly-constructed RRs: RFC 3658 and RFC 4509, for the given key(s).
with the <code class="option">-l</code> option it outputs DLV (DNSSEC Lookaside
Validation) RRs; or with the <code class="option">-C</code> it outputs CDS (Child
DS) RRs.
</p> </p>
<p>
The input keys can be specified in a number of ways:
</p>
<p>
By default, <span class="command"><strong>dnssec-dsfromkey</strong></span> reads a key file
named like <code class="filename">Knnnn.+aaa+iiiii.key</code>, as generated
by <span class="command"><strong>dnssec-keygen</strong></span>.
</p>
<p>
With the <code class="option">-f <em class="replaceable"><code>file</code></em></code>
option, <span class="command"><strong>dnssec-dsfromkey</strong></span> reads keys from a zone file
or partial zone file (which can contain just the DNSKEY records).
</p>
<p>
With the <code class="option">-s</code>
option, <span class="command"><strong>dnssec-dsfromkey</strong></span> reads
a <code class="filename">keyset-</code> file, as generated
by <span class="command"><strong>dnssec-keygen</strong></span> <code class="option">-C</code>.
</p>
</div> </div>
<div class="refsection"> <div class="refsection">
<a name="id-1.8"></a><h2>OPTIONS</h2> <a name="id-1.8"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl class="variablelist"> <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-1</span></dt> <dt><span class="term">-1</span></dt>
<dd> <dd>
<p> <p>
An abbreviation for <code class="option">-a SHA1</code> Use SHA-1 as the digest algorithm (the default is to use
both SHA-1 and SHA-256).
</p> </p>
</dd> </dd>
<dt><span class="term">-2</span></dt> <dt><span class="term">-2</span></dt>
<dd> <dd>
<p> <p>
An abbreviation for <code class="option">-a SHA-256</code> Use SHA-256 as the digest algorithm.
</p> </p>
</dd> </dd>
<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>
Specify a digest algorithm to use when converting DNSKEY Select the digest algorithm. The value of
records to DS records. This option can be repeated, so <code class="option">algorithm</code> must be one of SHA-1 (SHA1),
that multiple DS records are created for each DNSKEY SHA-256 (SHA256) or SHA-384 (SHA384).
record. These values are case insensitive.
</p>
<p>
The <em class="replaceable"><code>algorithm</code></em> must be one of
SHA-1, SHA-256, or SHA-384. These values are case insensitive,
and the hyphen may be omitted. If no algorithm is specified,
the default is SHA-256.
</p> </p>
</dd> </dd>
<dt><span class="term">-A</span></dt>
<dd>
<p>
Include ZSKs when generating DS records. Without this option, only
keys which have the KSK flag set will be converted to DS records
and printed. Useful only in <code class="option">-f</code> zone file mode.
</p>
</dd>
<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
<dd>
<p>
Specifies the DNS class (default is IN). Useful only
in <code class="option">-s</code> keyset or <code class="option">-f</code>
zone file mode.
</p>
</dd>
<dt><span class="term">-C</span></dt> <dt><span class="term">-C</span></dt>
<dd> <dd>
<p> <p>
Generate CDS records rather than DS records. This is mutually Generate CDS records rather than DS records. This is mutually
exclusive with the <code class="option">-l</code> option for generating DLV exclusive with generating lookaside records.
records. </p>
</dd>
<dt><span class="term">-T <em class="replaceable"><code>TTL</code></em></span></dt>
<dd>
<p>
Specifies the TTL of the DS records.
</p>
</dd>
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
<dd>
<p>
Look for key files (or, in keyset mode,
<code class="filename">keyset-</code> files) in
<code class="option">directory</code>.
</p> </p>
</dd> </dd>
<dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt> <dt><span class="term">-f <em class="replaceable"><code>file</code></em></span></dt>
<dd> <dd>
<p> <p>
Zone file mode: <span class="command"><strong>dnssec-dsfromkey</strong></span>'s Zone file mode: in place of the keyfile name, the argument is
final <em class="replaceable"><code>dnsname</code></em> argument is the DNS domain name of a zone master file, which can be read
the DNS domain name of a zone whose master file can be read
from <code class="option">file</code>. If the zone name is the same as from <code class="option">file</code>. If the zone name is the same as
<code class="option">file</code>, then it may be omitted. <code class="option">file</code>, then it may be omitted.
</p> </p>
<p> <p>
If <em class="replaceable"><code>file</code></em> is <code class="literal">"-"</code>, then If <code class="option">file</code> is set to <code class="literal">"-"</code>, then
the zone data is read from the standard input. This makes it the zone data is read from the standard input. This makes it
possible to use the output of the <span class="command"><strong>dig</strong></span> possible to use the output of the <span class="command"><strong>dig</strong></span>
command as input, as in: command as input, as in:
@@ -202,41 +140,37 @@
<strong class="userinput"><code>dig dnskey example.com | dnssec-dsfromkey -f - example.com</code></strong> <strong class="userinput"><code>dig dnskey example.com | dnssec-dsfromkey -f - example.com</code></strong>
</p> </p>
</dd> </dd>
<dt><span class="term">-h</span></dt> <dt><span class="term">-A</span></dt>
<dd> <dd>
<p> <p>
Prints usage information. Include ZSKs when generating DS records. Without this option,
</p> only keys which have the KSK flag set will be converted to DS
</dd> records and printed. Useful only in zone file mode.
<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt> </p>
<dd> </dd>
<p>
Look for key files or <code class="filename">keyset-</code> files in
<code class="option">directory</code>.
</p>
</dd>
<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt> <dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
<dd> <dd>
<p> <p>
Generate a DLV set instead of a DS set. The specified Generate a DLV set instead of a DS set. The specified
<em class="replaceable"><code>domain</code></em> is appended to the name for each <code class="option">domain</code> is appended to the name for each
record in the set. record in the set.
This is mutually exclusive with the <code class="option">-C</code> option The DNSSEC Lookaside Validation (DLV) RR is described
for generating CDS records. in RFC 4431. This is mutually exclusive with generating
CDS records.
</p> </p>
</dd> </dd>
<dt><span class="term">-s</span></dt> <dt><span class="term">-s</span></dt>
<dd> <dd>
<p> <p>
Keyset mode: <span class="command"><strong>dnssec-dsfromkey</strong></span>'s Keyset mode: in place of the keyfile name, the argument is
final <em class="replaceable"><code>dnsname</code></em> argument is the DNS the DNS domain name of a keyset file.
domain name used to locate a <code class="filename">keyset-</code> file.
</p> </p>
</dd> </dd>
<dt><span class="term">-T <em class="replaceable"><code>TTL</code></em></span></dt> <dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
<dd> <dd>
<p> <p>
Specifies the TTL of the DS records. By default the TTL is omitted. Specifies the DNS class (default is IN). Useful only
in keyset or zone file mode.
</p> </p>
</dd> </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt> <dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
@@ -245,6 +179,12 @@
Sets the debugging level. Sets the debugging level.
</p> </p>
</dd> </dd>
<dt><span class="term">-h</span></dt>
<dd>
<p>
Prints usage information.
</p>
</dd>
<dt><span class="term">-V</span></dt> <dt><span class="term">-V</span></dt>
<dd> <dd>
<p> <p>
@@ -260,23 +200,22 @@
<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>
keyfile name, you can issue the following command: keyfile name, the following command would be issued:
</p> </p>
<p><strong class="userinput"><code>dnssec-dsfromkey -2 Kexample.com.+003+26160</code></strong> <p><strong class="userinput"><code>dnssec-dsfromkey -2 Kexample.com.+003+26160</code></strong>
</p> </p>
<p> <p>
The command would print something like: The command would print something like:
</p> </p>
<p><strong class="userinput"><code>example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0C5EA0B94</code></strong> <p><strong class="userinput"><code>example.com. IN DS 26160 5 2 3A1EADA7A74B8D0BA86726B0C227AA85AB8BBD2B2004F41A868A54F0 C5EA0B94</code></strong>
</p> </p>
</div> </div>
<div class="refsection"> <div class="refsection">
<a name="id-1.10"></a><h2>FILES</h2> <a name="id-1.10"></a><h2>FILES</h2>
<p> <p>
The keyfile can be designated 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
<code class="filename">Knnnn.+aaa+iiiii.key</code> as generated by <code class="filename">Knnnn.+aaa+iiiii.key</code> as generated by
<span class="refentrytitle">dnssec-keygen</span>(8). <span class="refentrytitle">dnssec-keygen</span>(8).
@@ -306,11 +245,9 @@
<span class="refentrytitle">dnssec-signzone</span>(8) <span class="refentrytitle">dnssec-signzone</span>(8)
</span>, </span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>, <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 3658</em> (DS RRs), <em class="citetitle">RFC 3658</em>,
<em class="citetitle">RFC 4431</em> (DLV RRs), <em class="citetitle">RFC 4431</em>.
<em class="citetitle">RFC 4509</em> (SHA-256 for DS RRs), <em class="citetitle">RFC 4509</em>.
<em class="citetitle">RFC 6605</em> (SHA-384 for DS RRs),
<em class="citetitle">RFC 7344</em> (CDS and CDNSKEY RRs).
</p> </p>
</div> </div>
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2013-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -134,5 +134,5 @@ RFC 5011\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2013-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
-1
View File
@@ -38,7 +38,6 @@
<year>2015</year> <year>2015</year>
<year>2016</year> <year>2016</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2013-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2013-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+3 -3
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2008-2012, 2014-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -55,7 +55,7 @@ of the key is specified on the command line\&. This must match the name of the z
.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 RSASHA1, NSEC3RSASHA1, RSASHA256, RSASHA512, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. must be one of RSAMD5, RSASHA1, NSEC3RSASHA1, RSASHA256, RSASHA512, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&.
.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
@@ -307,5 +307,5 @@ The PKCS#11 URI Scheme (draft\-pechanec\-pkcs11uri\-13)\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2008-2012, 2014-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+21 -13
View File
@@ -64,7 +64,7 @@ usage(void) {
fprintf(stderr, " name: owner of the key\n"); fprintf(stderr, " name: owner of the key\n");
fprintf(stderr, "Other options:\n"); fprintf(stderr, "Other options:\n");
fprintf(stderr, " -a algorithm: \n" fprintf(stderr, " -a algorithm: \n"
" DH | RSASHA1 |\n" " RSA | RSAMD5 | DH | RSASHA1 |\n"
" NSEC3RSASHA1 |\n" " NSEC3RSASHA1 |\n"
" RSASHA256 | RSASHA512 |\n" " RSASHA256 | RSASHA512 |\n"
" ECDSAP256SHA256 | ECDSAP384SHA384\n"); " ECDSAP256SHA256 | ECDSAP384SHA384\n");
@@ -382,14 +382,22 @@ main(int argc, char **argv) {
fatal("no algorithm specified"); fatal("no algorithm specified");
} }
r.base = algname; if (strcasecmp(algname, "RSA") == 0) {
r.length = strlen(algname); fprintf(stderr, "The use of RSA (RSAMD5) is not "
ret = dns_secalg_fromtext(&alg, &r); "recommended.\nIf you still wish to "
if (ret != ISC_R_SUCCESS) { "use RSA (RSAMD5) please specify "
fatal("unknown algorithm %s", algname); "\"-a RSAMD5\"\n");
} if (freeit != NULL)
if (alg == DST_ALG_DH) { free(freeit);
options |= DST_TYPE_KEY; return (1);
} else {
r.base = algname;
r.length = strlen(algname);
ret = dns_secalg_fromtext(&alg, &r);
if (ret != ISC_R_SUCCESS)
fatal("unknown algorithm %s", algname);
if (alg == DST_ALG_DH)
options |= DST_TYPE_KEY;
} }
if (use_nsec3) { if (use_nsec3) {
@@ -631,10 +639,10 @@ main(int argc, char **argv) {
if (setdel) if (setdel)
dst_key_settime(key, DST_TIME_DELETE, deltime); dst_key_settime(key, DST_TIME_DELETE, deltime);
if (setsyncadd) if (setsyncadd)
dst_key_settime(key, DST_TIME_SYNCPUBLISH, syncadd); dst_key_settime(key, DST_TIME_SYNCPUBLISH, syncadd);
if (setsyncdel) if (setsyncdel)
dst_key_settime(key, DST_TIME_SYNCDELETE, syncdel); dst_key_settime(key, DST_TIME_SYNCDELETE, syncdel);
} else { } else {
if (setpub || setact || setrev || setinact || if (setpub || setact || setrev || setinact ||
+1 -2
View File
@@ -43,7 +43,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
@@ -106,7 +105,7 @@
<listitem> <listitem>
<para> <para>
Selects the cryptographic algorithm. The value of Selects the cryptographic algorithm. The value of
<option>algorithm</option> must be one of RSASHA1, <option>algorithm</option> must be one of RSAMD5, RSASHA1,
NSEC3RSASHA1, RSASHA256, RSASHA512, NSEC3RSASHA1, RSASHA256, RSASHA512,
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
</para> </para>
+2 -2
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2008-2012, 2014-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2008-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -89,7 +89,7 @@
<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 RSASHA1, <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
NSEC3RSASHA1, RSASHA256, RSASHA512, NSEC3RSASHA1, RSASHA256, RSASHA512,
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
</p> </p>
+45 -44
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2005, 2007-2012, 2014-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -39,7 +39,7 @@
dnssec-keygen \- DNSSEC key generation tool dnssec-keygen \- DNSSEC key generation tool
.SH "SYNOPSIS" .SH "SYNOPSIS"
.HP \w'\fBdnssec\-keygen\fR\ 'u .HP \w'\fBdnssec\-keygen\fR\ 'u
\fBdnssec\-keygen\fR [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-V\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] {name} \fBdnssec\-keygen\fR [\fB\-a\ \fR\fB\fIalgorithm\fR\fR] [\fB\-b\ \fR\fB\fIkeysize\fR\fR] [\fB\-n\ \fR\fB\fInametype\fR\fR] [\fB\-3\fR] [\fB\-A\ \fR\fB\fIdate/offset\fR\fR] [\fB\-C\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-D\ \fR\fB\fIdate/offset\fR\fR] [\fB\-D\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-E\ \fR\fB\fIengine\fR\fR] [\fB\-f\ \fR\fB\fIflag\fR\fR] [\fB\-G\fR] [\fB\-g\ \fR\fB\fIgenerator\fR\fR] [\fB\-h\fR] [\fB\-I\ \fR\fB\fIdate/offset\fR\fR] [\fB\-i\ \fR\fB\fIinterval\fR\fR] [\fB\-K\ \fR\fB\fIdirectory\fR\fR] [\fB\-k\fR] [\fB\-L\ \fR\fB\fIttl\fR\fR] [\fB\-P\ \fR\fB\fIdate/offset\fR\fR] [\fB\-P\ sync\ \fR\fB\fIdate/offset\fR\fR] [\fB\-p\ \fR\fB\fIprotocol\fR\fR] [\fB\-q\fR] [\fB\-R\ \fR\fB\fIdate/offset\fR\fR] [\fB\-S\ \fR\fB\fIkey\fR\fR] [\fB\-s\ \fR\fB\fIstrength\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-V\fR] [\fB\-v\ \fR\fB\fIlevel\fR\fR] [\fB\-z\fR] {name}
.SH "DESCRIPTION" .SH "DESCRIPTION"
.PP .PP
\fBdnssec\-keygen\fR \fBdnssec\-keygen\fR
@@ -58,18 +58,11 @@ may be preferable to direct use of
\fBdnssec\-keygen\fR\&. \fBdnssec\-keygen\fR\&.
.SH "OPTIONS" .SH "OPTIONS"
.PP .PP
\-3
.RS 4
Use an NSEC3\-capable algorithm to generate a DNSSEC key\&. If this option is used with an algorithm that has both NSEC and NSEC3 versions, then the NSEC3 version will be used; for example,
\fBdnssec\-keygen \-3a RSASHA1\fR
specifies the NSEC3RSASHA1 algorithm\&.
.RE
.PP
\-a \fIalgorithm\fR \-a \fIalgorithm\fR
.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 RSASHA1, NSEC3RSASHA1, RSASHA256, RSASHA512, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TKEY, the value must be DH (Diffie Hellman); specifying his value will automatically set the must be one of RSAMD5, RSASHA1, NSEC3RSASHA1, RSASHA256, RSASHA512, ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448\&. For TKEY, the value must be DH (Diffie Hellman); specifying his value will automatically set the
\fB\-T KEY\fR \fB\-T KEY\fR
option as well\&. option as well\&.
.sp .sp
@@ -90,15 +83,29 @@ to generate TSIG keys\&.
.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 1024 and 4096 bits\&. Diffie Hellman keys must be between 128 and 4096 bits\&. Elliptic curve algorithms don\*(Aqt need this parameter\&. Specifies the number of bits in the key\&. The choice of key size depends on the algorithm used\&. RSA keys must be between 1024 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\*(Aqt need this parameter\&.
.sp .sp
If the key size is not specified, some algorithms have pre\-defined defaults\&. For example, RSA keys for use as DNSSEC zone signing keys have a default size of 1024 bits; RSA keys for use as key signing keys (KSKs, generated with If the key size is not specified, some algorithms have pre\-defined defaults\&. For example, RSA keys for use as DNSSEC zone signing keys have a default size of 1024 bits; RSA keys for use as key signing keys (KSKs, generated with
\fB\-f KSK\fR) default to 2048 bits\&. \fB\-f KSK\fR) default to 2048 bits\&.
.RE .RE
.PP .PP
\-n \fInametype\fR
.RS 4
Specifies the owner type of the key\&. The value of
\fBnametype\fR
must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)), USER (for a key associated with a user(KEY)) or OTHER (DNSKEY)\&. These values are case insensitive\&. Defaults to ZONE for DNSKEY generation\&.
.RE
.PP
\-3
.RS 4
Use an NSEC3\-capable algorithm to generate a DNSSEC key\&. If this option is used with an algorithm that has both NSEC and NSEC3 versions, then the NSEC3 version will be used; for example,
\fBdnssec\-keygen \-3a RSASHA1\fR
specifies the NSEC3RSASHA1 algorithm\&.
.RE
.PP
\-C \-C
.RS 4 .RS 4
Compatibility mode: generates an old\-style key, without any timing metadata\&. By default, Compatibility mode: generates an old\-style key, without any metadata\&. By default,
\fBdnssec\-keygen\fR \fBdnssec\-keygen\fR
will include the key\*(Aqs creation date in the metadata stored with the private key, and other dates may be set there as well (publication date, activation date, etc)\&. Keys that include this data may be incompatible with older versions of BIND; the will include the key\*(Aqs creation date in the metadata stored with the private key, and other dates may be set there as well (publication date, activation date, etc)\&. Keys that include this data may be incompatible with older versions of BIND; the
\fB\-C\fR \fB\-C\fR
@@ -143,6 +150,11 @@ Prints a short summary of the options and arguments to
Sets the directory in which the key files are to be written\&. Sets the directory in which the key files are to be written\&.
.RE .RE
.PP .PP
\-k
.RS 4
Deprecated in favor of \-T KEY\&.
.RE
.PP
\-L \fIttl\fR \-L \fIttl\fR
.RS 4 .RS 4
Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to Sets the default TTL to use for this key when it is converted into a DNSKEY RR\&. If the key is imported into a zone, this is the TTL that will be used for it, unless there was already a DNSKEY RRset in place, in which case the existing TTL would take precedence\&. If this value is not set and there is no existing DNSKEY RRset, the TTL will default to the SOA TTL\&. Setting the default TTL to
@@ -152,17 +164,9 @@ none
is the same as leaving it unset\&. is the same as leaving it unset\&.
.RE .RE
.PP .PP
\-n \fInametype\fR
.RS 4
Specifies the owner type of the key\&. The value of
\fBnametype\fR
must either be ZONE (for a DNSSEC zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with a host (KEY)), USER (for a key associated with a user(KEY)) or OTHER (DNSKEY)\&. These values are case insensitive\&. Defaults to ZONE for DNSKEY generation\&.
.RE
.PP
\-p \fIprotocol\fR \-p \fIprotocol\fR
.RS 4 .RS 4
Sets the protocol value for the generated key, for use with Sets the protocol value for the generated key\&. The protocol is a number between 0 and 255\&. The default is 3 (DNSSEC)\&. Other possible values for this argument are listed in RFC 2535 and its successors\&.
\fB\-T KEY\fR\&. The protocol is a number between 0 and 255\&. The default is 3 (DNSSEC)\&. Other possible values for this argument are listed in RFC 2535 and its successors\&.
.RE .RE
.PP .PP
\-q \-q
@@ -189,25 +193,27 @@ Specifies the strength value of the key\&. The strength is a number between 0 an
Specifies the resource record type to use for the key\&. Specifies the resource record type to use for the key\&.
\fBrrtype\fR \fBrrtype\fR
must be either DNSKEY or KEY\&. The default is DNSKEY when using a DNSSEC algorithm, but it can be overridden to KEY for use with SIG(0)\&. must be either DNSKEY or KEY\&. The default is DNSKEY when using a DNSSEC algorithm, but it can be overridden to KEY for use with SIG(0)\&.
Specifying any TSIG algorithm (HMAC\-* or DH) with
\fB\-a\fR
forces this option to KEY\&.
.RE .RE
.PP .PP
\-t \fItype\fR \-t \fItype\fR
.RS 4 .RS 4
Indicates the use of the key, for use with Indicates the use of the key\&.
\fB\-T KEY\fR\&.
\fBtype\fR \fBtype\fR
must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF\&. The default is AUTHCONF\&. AUTH refers to the ability to authenticate data, and CONF the ability to encrypt data\&. must be one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF\&. The default is AUTHCONF\&. AUTH refers to the ability to authenticate data, and CONF the ability to encrypt data\&.
.RE .RE
.PP .PP
\-V
.RS 4
Prints version information\&.
.RE
.PP
\-v \fIlevel\fR \-v \fIlevel\fR
.RS 4 .RS 4
Sets the debugging level\&. Sets the debugging level\&.
.RE .RE
.PP
\-V
.RS 4
Prints version information\&.
.RE
.SH "TIMING OPTIONS" .SH "TIMING OPTIONS"
.PP .PP
Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To explicitly prevent a date from being set, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&. Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS\&. If the argument begins with a \*(Aq+\*(Aq or \*(Aq\-\*(Aq, it is interpreted as an offset from the present time\&. For convenience, if such an offset is followed by one of the suffixes \*(Aqy\*(Aq, \*(Aqmo\*(Aq, \*(Aqw\*(Aq, \*(Aqd\*(Aq, \*(Aqh\*(Aq, or \*(Aqmi\*(Aq, then the offset is computed in years (defined as 365 24\-hour days, ignoring leap years), months (defined as 30 24\-hour days), weeks, days, hours, or minutes, respectively\&. Without a suffix, the offset is computed in seconds\&. To explicitly prevent a date from being set, use \*(Aqnone\*(Aq or \*(Aqnever\*(Aq\&.
@@ -308,24 +314,23 @@ contains the private key\&.
.PP .PP
The The
\&.key \&.key
file contains a DNSKEY or KEY record\&. When a zone is being signed by file contains a DNS KEY record that can be inserted into a zone file (directly or with a $INCLUDE statement)\&.
\fBnamed\fR
or
\fBdnssec\-signzone\fR\fB\-S\fR, DNSKEY records are included automatically\&. In other cases, the
\&.key
file can be inserted into a zone file manually or with a
\fB$INCLUDE\fR
statement\&.
.PP .PP
The The
\&.private \&.private
file contains algorithm\-specific fields\&. For obvious security reasons, this file does not have general read permission\&. file contains algorithm\-specific fields\&. For obvious security reasons, this file does not have general read permission\&.
.PP
Both
\&.key
and
\&.private
files are generated for symmetric cryptography algorithms such as HMAC\-MD5, even though the public and private key are equivalent\&.
.SH "EXAMPLE" .SH "EXAMPLE"
.PP .PP
To generate an ECDSAP256SHA256 zone\-signing key for the zone To generate an ECDSAP256SHA256 key for the domain
\fBexample\&.com\fR, issue the command: \fBexample\&.com\fR, the following command would be issued:
.PP .PP
\fBdnssec\-keygen \-a ECDSAP256SHA256 example\&.com\fR \fBdnssec\-keygen \-a ECDSAP256SHA256 \-n ZONE example\&.com\fR
.PP .PP
The command would print a string of the form: The command would print a string of the form:
.PP .PP
@@ -337,10 +342,6 @@ creates the files
Kexample\&.com\&.+013+26160\&.key Kexample\&.com\&.+013+26160\&.key
and and
Kexample\&.com\&.+013+26160\&.private\&. Kexample\&.com\&.+013+26160\&.private\&.
.PP
To generate a matching key\-signing key, issue the command:
.PP
\fBdnssec\-keygen \-a ECDSAP256SHA256 \-f KSK example\&.com\fR
.SH "SEE ALSO" .SH "SEE ALSO"
.PP .PP
\fBdnssec-signzone\fR(8), \fBdnssec-signzone\fR(8),
@@ -353,5 +354,5 @@ RFC 4034\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2000-2005, 2007-2012, 2014-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+28 -10
View File
@@ -79,12 +79,14 @@ usage(void) {
fprintf(stderr, "Options:\n"); fprintf(stderr, "Options:\n");
fprintf(stderr, " -K <directory>: write keys into directory\n"); fprintf(stderr, " -K <directory>: write keys into directory\n");
fprintf(stderr, " -a <algorithm>:\n"); fprintf(stderr, " -a <algorithm>:\n");
fprintf(stderr, " RSASHA1 | NSEC3RSASHA1 |\n"); fprintf(stderr, " RSA | RSAMD5 | RSASHA1 | NSEC3RSASHA1"
" |\n");
fprintf(stderr, " RSASHA256 | RSASHA512 |\n"); fprintf(stderr, " RSASHA256 | RSASHA512 |\n");
fprintf(stderr, " ECDSAP256SHA256 | ECDSAP384SHA384 |\n"); fprintf(stderr, " ECDSAP256SHA256 | ECDSAP384SHA384 |\n");
fprintf(stderr, " ED25519 | ED448 | DH\n"); fprintf(stderr, " ED25519 | ED448 | DH\n");
fprintf(stderr, " -3: use NSEC3-capable algorithm\n"); fprintf(stderr, " -3: use NSEC3-capable algorithm\n");
fprintf(stderr, " -b <key size in bits>:\n"); fprintf(stderr, " -b <key size in bits>:\n");
fprintf(stderr, " RSAMD5:\t[1024..%d]\n", MAX_RSA);
fprintf(stderr, " RSASHA1:\t[1024..%d]\n", MAX_RSA); fprintf(stderr, " RSASHA1:\t[1024..%d]\n", MAX_RSA);
fprintf(stderr, " NSEC3RSASHA1:\t[1024..%d]\n", MAX_RSA); fprintf(stderr, " NSEC3RSASHA1:\t[1024..%d]\n", MAX_RSA);
fprintf(stderr, " RSASHA256:\t[1024..%d]\n", MAX_RSA); fprintf(stderr, " RSASHA256:\t[1024..%d]\n", MAX_RSA);
@@ -241,7 +243,7 @@ main(int argc, char **argv) {
/* /*
* Process memory debugging argument first. * Process memory debugging argument first.
*/ */
#define CMDLINE_FLAGS "3A:a:b:Cc:D:d:E:eFf:Gg:hI:i:K:L:m:n:P:p:qR:r:S:s:T:t:" \ #define CMDLINE_FLAGS "3A:a:b:Cc:D:d:E:eFf:Gg:hI:i:K:kL:m:n:P:p:qR:r:S:s:T:t:" \
"v:V" "v:V"
while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) { while ((ch = isc_commandline_parse(argc, argv, CMDLINE_FLAGS)) != -1) {
switch (ch) { switch (ch) {
@@ -322,6 +324,11 @@ main(int argc, char **argv) {
fatal("cannot open directory %s: %s", fatal("cannot open directory %s: %s",
directory, isc_result_totext(ret)); directory, isc_result_totext(ret));
break; break;
case 'k':
fatal("The -k option has been deprecated.\n"
"To generate a key-signing key, use -f KSK.\n"
"To generate a key with TYPE=KEY, use -T KEY.\n");
break;
case 'L': case 'L':
ttl = strtottl(isc_commandline_argument); ttl = strtottl(isc_commandline_argument);
setttl = true; setttl = true;
@@ -501,14 +508,23 @@ main(int argc, char **argv) {
fatal("no algorithm specified"); fatal("no algorithm specified");
} }
r.base = algname; if (strcasecmp(algname, "RSA") == 0) {
r.length = strlen(algname); fprintf(stderr, "The use of RSA (RSAMD5) is not "
ret = dns_secalg_fromtext(&alg, &r); "recommended.\nIf you still wish to "
if (ret != ISC_R_SUCCESS) { "use RSA (RSAMD5) please specify "
fatal("unknown algorithm %s", algname); "\"-a RSAMD5\"\n");
} INSIST(freeit == NULL);
if (alg == DST_ALG_DH) { return (1);
options |= DST_TYPE_KEY; } else {
r.base = algname;
r.length = strlen(algname);
ret = dns_secalg_fromtext(&alg, &r);
if (ret != ISC_R_SUCCESS) {
fatal("unknown algorithm %s", algname);
}
if (alg == DST_ALG_DH) {
options |= DST_TYPE_KEY;
}
} }
if (!dst_algorithm_supported(alg)) { if (!dst_algorithm_supported(alg)) {
@@ -682,6 +698,7 @@ main(int argc, char **argv) {
} }
switch (alg) { switch (alg) {
case DNS_KEYALG_RSAMD5:
case DNS_KEYALG_RSASHA1: case DNS_KEYALG_RSASHA1:
case DNS_KEYALG_NSEC3RSASHA1: case DNS_KEYALG_NSEC3RSASHA1:
case DNS_KEYALG_RSASHA256: case DNS_KEYALG_RSASHA256:
@@ -763,6 +780,7 @@ main(int argc, char **argv) {
} }
switch(alg) { switch(alg) {
case DNS_KEYALG_RSAMD5:
case DNS_KEYALG_RSASHA1: case DNS_KEYALG_RSASHA1:
case DNS_KEYALG_NSEC3RSASHA1: case DNS_KEYALG_NSEC3RSASHA1:
case DNS_KEYALG_RSASHA256: case DNS_KEYALG_RSASHA256:
+86 -76
View File
@@ -50,7 +50,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
@@ -58,10 +57,11 @@
<refsynopsisdiv> <refsynopsisdiv>
<cmdsynopsis sepchar=" "> <cmdsynopsis sepchar=" ">
<command>dnssec-keygen</command> <command>dnssec-keygen</command>
<arg choice="opt" rep="norepeat"><option>-3</option></arg>
<arg choice="opt" rep="norepeat"><option>-A <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg rep="norepeat"><option>-a <replaceable class="parameter">algorithm</replaceable></option></arg> <arg rep="norepeat"><option>-a <replaceable class="parameter">algorithm</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-b <replaceable class="parameter">keysize</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-b <replaceable class="parameter">keysize</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-n <replaceable class="parameter">nametype</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-3</option></arg>
<arg choice="opt" rep="norepeat"><option>-A <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-C</option></arg> <arg choice="opt" rep="norepeat"><option>-C</option></arg>
<arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-D <replaceable class="parameter">date/offset</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-D <replaceable class="parameter">date/offset</replaceable></option></arg>
@@ -76,7 +76,6 @@
<arg choice="opt" rep="norepeat"><option>-K <replaceable class="parameter">directory</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-k</option></arg> <arg choice="opt" rep="norepeat"><option>-k</option></arg>
<arg choice="opt" rep="norepeat"><option>-L <replaceable class="parameter">ttl</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-L <replaceable class="parameter">ttl</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-n <replaceable class="parameter">nametype</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-P sync <replaceable class="parameter">date/offset</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-P sync <replaceable class="parameter">date/offset</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-p <replaceable class="parameter">protocol</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-p <replaceable class="parameter">protocol</replaceable></option></arg>
@@ -87,6 +86,7 @@
<arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">type</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">type</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-V</option></arg> <arg choice="opt" rep="norepeat"><option>-V</option></arg>
<arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg> <arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg>
<arg choice="opt" rep="norepeat"><option>-z</option></arg>
<arg choice="req" rep="norepeat">name</arg> <arg choice="req" rep="norepeat">name</arg>
</cmdsynopsis> </cmdsynopsis>
</refsynopsisdiv> </refsynopsisdiv>
@@ -117,26 +117,12 @@
<variablelist> <variablelist>
<varlistentry>
<term>-3</term>
<listitem>
<para>
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used with an algorithm that has both
NSEC and NSEC3 versions, then the NSEC3 version will be
used; for example, <command>dnssec-keygen -3a RSASHA1</command>
specifies the NSEC3RSASHA1 algorithm.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>-a <replaceable class="parameter">algorithm</replaceable></term> <term>-a <replaceable class="parameter">algorithm</replaceable></term>
<listitem> <listitem>
<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 RSASHA1, of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
NSEC3RSASHA1, RSASHA256, RSASHA512, NSEC3RSASHA1, RSASHA256, RSASHA512,
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For
TKEY, the value must be DH (Diffie Hellman); specifying TKEY, the value must be DH (Diffie Hellman); specifying
@@ -170,9 +156,11 @@
<para> <para>
Specifies the number of bits in the key. The choice of key Specifies the number of bits in the key. The choice of key
size depends on the algorithm used. RSA keys must be size depends on the algorithm used. RSA keys must be
between 1024 and 4096 bits. Diffie Hellman keys must be between between 1024 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. Elliptic curve algorithms don't need this 128 and 4096 bits. DSA keys must be between 512 and 1024
parameter. bits and an exact multiple of 64. HMAC keys must be
between 1 and 512 bits. Elliptic curve algorithms don't need
this parameter.
</para> </para>
<para> <para>
If the key size is not specified, some algorithms have If the key size is not specified, some algorithms have
@@ -184,16 +172,43 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>-n <replaceable class="parameter">nametype</replaceable></term>
<listitem>
<para>
Specifies the owner type of the key. The value of
<option>nametype</option> must either be ZONE (for a DNSSEC
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated
with a host (KEY)), USER (for a key associated with a
user(KEY)) or OTHER (DNSKEY). These values are case
insensitive. Defaults to ZONE for DNSKEY generation.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-3</term>
<listitem>
<para>
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used with an algorithm that has both
NSEC and NSEC3 versions, then the NSEC3 version will be
used; for example, <command>dnssec-keygen -3a RSASHA1</command>
specifies the NSEC3RSASHA1 algorithm.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>-C</term> <term>-C</term>
<listitem> <listitem>
<para> <para>
Compatibility mode: generates an old-style key, without any Compatibility mode: generates an old-style key, without
timing metadata. By default, <command>dnssec-keygen</command> any metadata. By default, <command>dnssec-keygen</command>
will include the key's creation date in the metadata stored with will include the key's creation date in the metadata stored
the private key, and other dates may be set there as well with the private key, and other dates may be set there as well
(publication date, activation date, etc). Keys that include this (publication date, activation date, etc). Keys that include
data may be incompatible with older versions of BIND; the this data may be incompatible with older versions of BIND; the
<option>-C</option> option suppresses them. <option>-C</option> option suppresses them.
</para> </para>
</listitem> </listitem>
@@ -277,6 +292,15 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>-k</term>
<listitem>
<para>
Deprecated in favor of -T KEY.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>-L <replaceable class="parameter">ttl</replaceable></term> <term>-L <replaceable class="parameter">ttl</replaceable></term>
<listitem> <listitem>
@@ -293,28 +317,14 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>-n <replaceable class="parameter">nametype</replaceable></term>
<listitem>
<para>
Specifies the owner type of the key. The value of
<option>nametype</option> must either be ZONE (for a DNSSEC
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated
with a host (KEY)), USER (for a key associated with a
user(KEY)) or OTHER (DNSKEY). These values are case
insensitive. Defaults to ZONE for DNSKEY generation.
</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>-p <replaceable class="parameter">protocol</replaceable></term> <term>-p <replaceable class="parameter">protocol</replaceable></term>
<listitem> <listitem>
<para> <para>
Sets the protocol value for the generated key, for use Sets the protocol value for the generated key. The protocol
with <option>-T KEY</option>. The protocol is a number between 0 is a number between 0 and 255. The default is 3 (DNSSEC).
and 255. The default is 3 (DNSSEC). Other possible values for Other possible values for this argument are listed in
this argument are listed in RFC 2535 and its successors. RFC 2535 and its successors.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -372,6 +382,10 @@
<option>rrtype</option> must be either DNSKEY or KEY. The <option>rrtype</option> must be either DNSKEY or KEY. The
default is DNSKEY when using a DNSSEC algorithm, but it can be default is DNSKEY when using a DNSSEC algorithm, but it can be
overridden to KEY for use with SIG(0). overridden to KEY for use with SIG(0).
<para>
</para>
Specifying any TSIG algorithm (HMAC-* or DH) with
<option>-a</option> forces this option to KEY.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -380,20 +394,10 @@
<term>-t <replaceable class="parameter">type</replaceable></term> <term>-t <replaceable class="parameter">type</replaceable></term>
<listitem> <listitem>
<para> <para>
Indicates the use of the key, for use with <option>-T Indicates the use of the key. <option>type</option> must be
KEY</option>. <option>type</option> must be one of AUTHCONF, one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default
NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF. AUTH is AUTHCONF. AUTH refers to the ability to authenticate
refers to the ability to authenticate data, and CONF the ability data, and CONF the ability to encrypt data.
to encrypt data.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-V</term>
<listitem>
<para>
Prints version information.
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@@ -407,6 +411,15 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>-V</term>
<listitem>
<para>
Prints version information.
</para>
</listitem>
</varlistentry>
</variablelist> </variablelist>
</refsection> </refsection>
@@ -571,12 +584,10 @@
key. key.
</para> </para>
<para> <para>
The <filename>.key</filename> file contains a DNSKEY or KEY record. The <filename>.key</filename> file contains a DNS KEY record
When a zone is being signed by <command>named</command> that
or <command>dnssec-signzone</command> <option>-S</option>, DNSKEY can be inserted into a zone file (directly or with a $INCLUDE
records are included automatically. In other cases, statement).
the <filename>.key</filename> file can be inserted into a zone file
manually or with a <userinput>$INCLUDE</userinput> statement.
</para> </para>
<para> <para>
The <filename>.private</filename> file contains The <filename>.private</filename> file contains
@@ -584,16 +595,21 @@
fields. For obvious security reasons, this file does not have fields. For obvious security reasons, this file does not have
general read permission. general read permission.
</para> </para>
<para>
Both <filename>.key</filename> and <filename>.private</filename>
files are generated for symmetric cryptography algorithms such as
HMAC-MD5, even though the public and private key are equivalent.
</para>
</refsection> </refsection>
<refsection><info><title>EXAMPLE</title></info> <refsection><info><title>EXAMPLE</title></info>
<para> <para>
To generate an ECDSAP256SHA256 zone-signing key for the zone To generate an ECDSAP256SHA256 key for the domain
<userinput>example.com</userinput>, issue the command: <userinput>example.com</userinput>, the following command would be
issued:
</para> </para>
<para> <para><userinput>dnssec-keygen -a ECDSAP256SHA256 -n ZONE example.com</userinput>
<userinput>dnssec-keygen -a ECDSAP256SHA256 example.com</userinput>
</para> </para>
<para> <para>
The command would print a string of the form: The command would print a string of the form:
@@ -606,12 +622,6 @@
and and
<filename>Kexample.com.+013+26160.private</filename>. <filename>Kexample.com.+013+26160.private</filename>.
</para> </para>
<para>
To generate a matching key-signing key, issue the command:
</para>
<para>
<userinput>dnssec-keygen -a ECDSAP256SHA256 -f KSK example.com</userinput>
</para>
</refsection> </refsection>
<refsection><info><title>SEE ALSO</title></info> <refsection><info><title>SEE ALSO</title></info>
+77 -66
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2000-2005, 2007-2012, 2014-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2000-2005, 2007-2012, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -33,10 +33,11 @@
<h2>Synopsis</h2> <h2>Synopsis</h2>
<div class="cmdsynopsis"><p> <div class="cmdsynopsis"><p>
<code class="command">dnssec-keygen</code> <code class="command">dnssec-keygen</code>
[<code class="option">-3</code>]
[<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>]
[<code class="option">-a <em class="replaceable"><code>algorithm</code></em></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">-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</code>]
[<code class="option">-c <em class="replaceable"><code>class</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">-D <em class="replaceable"><code>date/offset</code></em></code>]
@@ -51,7 +52,6 @@
[<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
[<code class="option">-k</code>] [<code class="option">-k</code>]
[<code class="option">-L <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</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>date/offset</code></em></code>]
[<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-P sync <em class="replaceable"><code>date/offset</code></em></code>]
[<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>]
@@ -62,6 +62,7 @@
[<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>]
[<code class="option">-V</code>] [<code class="option">-V</code>]
[<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
[<code class="option">-z</code>]
{name} {name}
</p></div> </p></div>
</div> </div>
@@ -94,21 +95,11 @@
<div class="variablelist"><dl class="variablelist"> <div class="variablelist"><dl class="variablelist">
<dt><span class="term">-3</span></dt>
<dd>
<p>
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used with an algorithm that has both
NSEC and NSEC3 versions, then the NSEC3 version will be
used; for example, <span class="command"><strong>dnssec-keygen -3a RSASHA1</strong></span>
specifies the NSEC3RSASHA1 algorithm.
</p>
</dd>
<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 RSASHA1, of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
NSEC3RSASHA1, RSASHA256, RSASHA512, NSEC3RSASHA1, RSASHA256, RSASHA512,
ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448. For
TKEY, the value must be DH (Diffie Hellman); specifying TKEY, the value must be DH (Diffie Hellman); specifying
@@ -139,9 +130,11 @@
<p> <p>
Specifies the number of bits in the key. The choice of key Specifies the number of bits in the key. The choice of key
size depends on the algorithm used. RSA keys must be size depends on the algorithm used. RSA keys must be
between 1024 and 4096 bits. Diffie Hellman keys must be between between 1024 and 2048 bits. Diffie Hellman keys must be between
128 and 4096 bits. Elliptic curve algorithms don't need this 128 and 4096 bits. DSA keys must be between 512 and 1024
parameter. bits and an exact multiple of 64. HMAC keys must be
between 1 and 512 bits. Elliptic curve algorithms don't need
this parameter.
</p> </p>
<p> <p>
If the key size is not specified, some algorithms have If the key size is not specified, some algorithms have
@@ -151,15 +144,36 @@
<code class="option">-f KSK</code>) default to 2048 bits. <code class="option">-f KSK</code>) default to 2048 bits.
</p> </p>
</dd> </dd>
<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
<dd>
<p>
Specifies the owner type of the key. The value of
<code class="option">nametype</code> must either be ZONE (for a DNSSEC
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated
with a host (KEY)), USER (for a key associated with a
user(KEY)) or OTHER (DNSKEY). These values are case
insensitive. Defaults to ZONE for DNSKEY generation.
</p>
</dd>
<dt><span class="term">-3</span></dt>
<dd>
<p>
Use an NSEC3-capable algorithm to generate a DNSSEC key.
If this option is used with an algorithm that has both
NSEC and NSEC3 versions, then the NSEC3 version will be
used; for example, <span class="command"><strong>dnssec-keygen -3a RSASHA1</strong></span>
specifies the NSEC3RSASHA1 algorithm.
</p>
</dd>
<dt><span class="term">-C</span></dt> <dt><span class="term">-C</span></dt>
<dd> <dd>
<p> <p>
Compatibility mode: generates an old-style key, without any Compatibility mode: generates an old-style key, without
timing metadata. By default, <span class="command"><strong>dnssec-keygen</strong></span> any metadata. By default, <span class="command"><strong>dnssec-keygen</strong></span>
will include the key's creation date in the metadata stored with will include the key's creation date in the metadata stored
the private key, and other dates may be set there as well with the private key, and other dates may be set there as well
(publication date, activation date, etc). Keys that include this (publication date, activation date, etc). Keys that include
data may be incompatible with older versions of BIND; the this data may be incompatible with older versions of BIND; the
<code class="option">-C</code> option suppresses them. <code class="option">-C</code> option suppresses them.
</p> </p>
</dd> </dd>
@@ -220,6 +234,12 @@
Sets the directory in which the key files are to be written. Sets the directory in which the key files are to be written.
</p> </p>
</dd> </dd>
<dt><span class="term">-k</span></dt>
<dd>
<p>
Deprecated in favor of -T KEY.
</p>
</dd>
<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt> <dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt>
<dd> <dd>
<p> <p>
@@ -233,24 +253,13 @@
or <code class="literal">none</code> is the same as leaving it unset. or <code class="literal">none</code> is the same as leaving it unset.
</p> </p>
</dd> </dd>
<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
<dd>
<p>
Specifies the owner type of the key. The value of
<code class="option">nametype</code> must either be ZONE (for a DNSSEC
zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated
with a host (KEY)), USER (for a key associated with a
user(KEY)) or OTHER (DNSKEY). These values are case
insensitive. Defaults to ZONE for DNSKEY generation.
</p>
</dd>
<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt> <dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt>
<dd> <dd>
<p> <p>
Sets the protocol value for the generated key, for use Sets the protocol value for the generated key. The protocol
with <code class="option">-T KEY</code>. The protocol is a number between 0 is a number between 0 and 255. The default is 3 (DNSSEC).
and 255. The default is 3 (DNSSEC). Other possible values for Other possible values for this argument are listed in
this argument are listed in RFC 2535 and its successors. RFC 2535 and its successors.
</p> </p>
</dd> </dd>
<dt><span class="term">-q</span></dt> <dt><span class="term">-q</span></dt>
@@ -297,21 +306,20 @@
default is DNSKEY when using a DNSSEC algorithm, but it can be default is DNSKEY when using a DNSSEC algorithm, but it can be
overridden to KEY for use with SIG(0). overridden to KEY for use with SIG(0).
</p> </p>
<p>
</p>
<p>
Specifying any TSIG algorithm (HMAC-* or DH) with
<code class="option">-a</code> forces this option to KEY.
</p>
</dd> </dd>
<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt> <dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
<dd> <dd>
<p> <p>
Indicates the use of the key, for use with <code class="option">-T Indicates the use of the key. <code class="option">type</code> must be
KEY</code>. <code class="option">type</code> must be one of AUTHCONF, one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default
NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF. AUTH is AUTHCONF. AUTH refers to the ability to authenticate
refers to the ability to authenticate data, and CONF the ability data, and CONF the ability to encrypt data.
to encrypt data.
</p>
</dd>
<dt><span class="term">-V</span></dt>
<dd>
<p>
Prints version information.
</p> </p>
</dd> </dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt> <dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
@@ -320,6 +328,12 @@
Sets the debugging level. Sets the debugging level.
</p> </p>
</dd> </dd>
<dt><span class="term">-V</span></dt>
<dd>
<p>
Prints version information.
</p>
</dd>
</dl></div> </dl></div>
</div> </div>
@@ -462,12 +476,10 @@
key. key.
</p> </p>
<p> <p>
The <code class="filename">.key</code> file contains a DNSKEY or KEY record. The <code class="filename">.key</code> file contains a DNS KEY record
When a zone is being signed by <span class="command"><strong>named</strong></span> that
or <span class="command"><strong>dnssec-signzone</strong></span> <code class="option">-S</code>, DNSKEY can be inserted into a zone file (directly or with a $INCLUDE
records are included automatically. In other cases, statement).
the <code class="filename">.key</code> file can be inserted into a zone file
manually or with a <strong class="userinput"><code>$INCLUDE</code></strong> statement.
</p> </p>
<p> <p>
The <code class="filename">.private</code> file contains The <code class="filename">.private</code> file contains
@@ -475,17 +487,22 @@
fields. For obvious security reasons, this file does not have fields. For obvious security reasons, this file does not have
general read permission. general read permission.
</p> </p>
<p>
Both <code class="filename">.key</code> and <code class="filename">.private</code>
files are generated for symmetric cryptography algorithms such as
HMAC-MD5, even though the public and private key are equivalent.
</p>
</div> </div>
<div class="refsection"> <div class="refsection">
<a name="id-1.11"></a><h2>EXAMPLE</h2> <a name="id-1.11"></a><h2>EXAMPLE</h2>
<p> <p>
To generate an ECDSAP256SHA256 zone-signing key for the zone To generate an ECDSAP256SHA256 key for the domain
<strong class="userinput"><code>example.com</code></strong>, issue the command: <strong class="userinput"><code>example.com</code></strong>, the following command would be
issued:
</p> </p>
<p> <p><strong class="userinput"><code>dnssec-keygen -a ECDSAP256SHA256 -n ZONE example.com</code></strong>
<strong class="userinput"><code>dnssec-keygen -a ECDSAP256SHA256 example.com</code></strong>
</p> </p>
<p> <p>
The command would print a string of the form: The command would print a string of the form:
@@ -498,12 +515,6 @@
and and
<code class="filename">Kexample.com.+013+26160.private</code>. <code class="filename">Kexample.com.+013+26160.private</code>.
</p> </p>
<p>
To generate a matching key-signing key, issue the command:
</p>
<p>
<strong class="userinput"><code>dnssec-keygen -a ECDSAP256SHA256 -f KSK example.com</code></strong>
</p>
</div> </div>
<div class="refsection"> <div class="refsection">
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2009, 2011, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2009, 2011, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -99,5 +99,5 @@ RFC 5011\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2009, 2011, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2009, 2011, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
+6 -6
View File
@@ -57,13 +57,13 @@ usage(void) {
#else #else
fprintf(stderr, " -E engine: specify OpenSSL engine\n"); fprintf(stderr, " -E engine: specify OpenSSL engine\n");
#endif #endif
fprintf(stderr, " -f: force overwrite\n"); fprintf(stderr, " -f: force overwrite\n");
fprintf(stderr, " -h: help\n");
fprintf(stderr, " -K directory: use directory for key files\n"); fprintf(stderr, " -K directory: use directory for key files\n");
fprintf(stderr, " -r: remove old keyfiles after " fprintf(stderr, " -h: help\n");
fprintf(stderr, " -r: remove old keyfiles after "
"creating revoked version\n"); "creating revoked version\n");
fprintf(stderr, " -v level: set level of verbosity\n"); fprintf(stderr, " -v level: set level of verbosity\n");
fprintf(stderr, " -V: print version information\n"); fprintf(stderr, " -V: print version information\n");
fprintf(stderr, "Output:\n"); fprintf(stderr, "Output:\n");
fprintf(stderr, " K<name>+<alg>+<new id>.key, " fprintf(stderr, " K<name>+<alg>+<new id>.key, "
"K<name>+<alg>+<new id>.private\n"); "K<name>+<alg>+<new id>.private\n");
@@ -239,7 +239,7 @@ main(int argc, char **argv) {
* Remove old key file, if told to (and if * Remove old key file, if told to (and if
* it isn't the same as the new file) * it isn't the same as the new file)
*/ */
if (removefile) { if (removefile && dst_key_alg(key) != DST_ALG_RSAMD5) {
isc_buffer_init(&buf, oldname, sizeof(oldname)); isc_buffer_init(&buf, oldname, sizeof(oldname));
dst_key_setflags(key, flags & ~DNS_KEYFLAG_REVOKE); dst_key_setflags(key, flags & ~DNS_KEYFLAG_REVOKE);
dst_key_buildfilename(key, DST_TYPE_PRIVATE, dir, &buf); dst_key_buildfilename(key, DST_TYPE_PRIVATE, dir, &buf);
-1
View File
@@ -38,7 +38,6 @@
<year>2015</year> <year>2015</year>
<year>2016</year> <year>2016</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2009, 2011, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2009, 2011, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2009-2011, 2014-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -200,5 +200,5 @@ RFC 5011\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2009-2011, 2014-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
-1
View File
@@ -40,7 +40,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2009-2011, 2014-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2009-2011, 2014-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2000-2009, 2011-2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2000-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -468,5 +468,5 @@ RFC 4641\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2000-2009, 2011-2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2000-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
-1
View File
@@ -50,7 +50,6 @@
<year>2016</year> <year>2016</year>
<year>2017</year> <year>2017</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2000-2009, 2011-2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2000-2009, 2011-2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
+2 -2
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2012, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (C) 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.\" .\"
.\" This Source Code Form is subject to the terms of the Mozilla Public .\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this .\" License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -113,5 +113,5 @@ RFC 4033\&.
\fBInternet Systems Consortium, Inc\&.\fR \fBInternet Systems Consortium, Inc\&.\fR
.SH "COPYRIGHT" .SH "COPYRIGHT"
.br .br
Copyright \(co 2012, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") Copyright \(co 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
.br .br
-1
View File
@@ -37,7 +37,6 @@
<year>2015</year> <year>2015</year>
<year>2016</year> <year>2016</year>
<year>2018</year> <year>2018</year>
<year>2019</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder> <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright> </copyright>
</docinfo> </docinfo>
+1 -1
View File
@@ -1,6 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- <!--
- Copyright (C) 2012, 2014-2016, 2018, 2019 Internet Systems Consortium, Inc. ("ISC") - Copyright (C) 2012, 2014-2016, 2018 Internet Systems Consortium, Inc. ("ISC")
- -
- This Source Code Form is subject to the terms of the Mozilla Public - This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this - License, v. 2.0. If a copy of the MPL was not distributed with this
-18
View File
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\dnssec-cds.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
-115
View File
@@ -1,115 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration>
<Platform>@PLATFORM@</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|@PLATFORM@">
<Configuration>Release</Configuration>
<Platform>@PLATFORM@</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{0EB1727E-2BBD-47A6-AD12-418F9DEB0531}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>cds</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
<IntDir>.\$(Configuration)\</IntDir>
<TargetName>dnssec-$(ProjectName)</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\..\..\Build\$(Configuration)\</OutDir>
<IntDir>.\$(Configuration)\</IntDir>
<TargetName>dnssec-$(ProjectName)</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(ProjectName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<BrowseInformation>true</BrowseInformation>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>@INTRINSIC@</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<WholeProgramOptimization>false</WholeProgramOptimization>
<StringPooling>true</StringPooling>
<PrecompiledHeaderOutputFile>.\$(Configuration)\$(ProjectName).pch</PrecompiledHeaderOutputFile>
<AssemblerListingLocation>.\$(Configuration)\</AssemblerListingLocation>
<ObjectFileName>.\$(Configuration)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)$(TargetName).pdb</ProgramDataBaseFileName>
<AdditionalIncludeDirectories>.\;..\..\..\;@LIBXML2_INC@@OPENSSL_INC@..\..\..\lib\isc\win32;..\..\..\lib\isc\win32\include;..\..\..\lib\isc\include;..\..\..\lib\dns\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<CompileAs>CompileAsC</CompileAs>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>false</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>..\..\..\Build\$(Configuration)\$(TargetName)$(TargetExt)</OutputFile>
<LinkTimeCodeGeneration>Default</LinkTimeCodeGeneration>
<AdditionalLibraryDirectories>$(Configuration);..\..\..\lib\isc\win32\$(Configuration);..\..\..\lib\dns\win32\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>@OPENSSL_LIB@dnssectool.lib;libisc.lib;libdns.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\dnssec-cds.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
-3
View File
@@ -1,3 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -20,21 +20,18 @@
<ProjectGuid>{2CB7DC75-023B-4AA3-AF3A-AE5046A4EE70}</ProjectGuid> <ProjectGuid>{2CB7DC75-023B-4AA3-AF3A-AE5046A4EE70}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>dnssectool</RootNamespace> <RootNamespace>dnssectool</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType> <ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{6E6297F4-69D7-4533-85E1-BD17C30017C8}</ProjectGuid> <ProjectGuid>{6E6297F4-69D7-4533-85E1-BD17C30017C8}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>dsfromkey</RootNamespace> <RootNamespace>dsfromkey</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{AB6690A0-055E-458f-BAC5-BF38BCC5834F}</ProjectGuid> <ProjectGuid>{AB6690A0-055E-458f-BAC5-BF38BCC5834F}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>importkey</RootNamespace> <RootNamespace>importkey</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{17455DC6-5FBB-47C3-8F44-7DB574A188D3}</ProjectGuid> <ProjectGuid>{17455DC6-5FBB-47C3-8F44-7DB574A188D3}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>keyfromlabel</RootNamespace> <RootNamespace>keyfromlabel</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{0BF11E21-168C-4CAA-B784-429D126BBAE5}</ProjectGuid> <ProjectGuid>{0BF11E21-168C-4CAA-B784-429D126BBAE5}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>keygen</RootNamespace> <RootNamespace>keygen</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
+1 -4
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="@TOOLS_VERSION@" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations"> <ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|@PLATFORM@"> <ProjectConfiguration Include="Debug|@PLATFORM@">
<Configuration>Debug</Configuration> <Configuration>Debug</Configuration>
@@ -14,21 +14,18 @@
<ProjectGuid>{D171F185-D3C2-4463-9CF3-ED1D0B1D6832}</ProjectGuid> <ProjectGuid>{D171F185-D3C2-4463-9CF3-ED1D0B1D6832}</ProjectGuid>
<Keyword>Win32Proj</Keyword> <Keyword>Win32Proj</Keyword>
<RootNamespace>revoke</RootNamespace> <RootNamespace>revoke</RootNamespace>
@WINDOWS_TARGET_PLATFORM_VERSION@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries> <UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|@PLATFORM@'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType> <ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries> <UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization> <WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet> <CharacterSet>MultiByte</CharacterSet>
@PLATFORM_TOOLSET@
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">

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