Compare commits

...
985 Commits
Author SHA1 Message Date
Ken Smith 54055718ff Get ready for 7.2-RELEASE builds.
Approved by:	re (implicit)
2009-05-01 02:18:54 +00:00
Ken Smith 1f61e76b51 Predict announcement day for 7.2-RELEASE.
Approved by:	re (implicit)
2009-05-01 02:17:08 +00:00
Hiroki Sato 69a8884af1 Merge r191705 change in the English version.
Submitted by:	delphij
Approved by:	re (implicit)
2009-04-30 21:39:56 +00:00
Hiroki Sato 510c6cf29a Revise entry for superpages.
Suggested by:	rwatson
Approved by:	re (implicit)
2009-04-30 21:20:09 +00:00
Xin LI c998438538 Sync with English revisions.
Approved by:	re (hrs)
2009-04-30 06:17:56 +00:00
Hiroki Sato 3649c5caff Various wording/grammar fixes.
Suggested by:	keramida
Approved by:	re (implicit)
2009-04-29 17:50:48 +00:00
Hiroki Sato 76322dbacd - Update entries for increased KVA on amd64 and superpages on
amd64/i386[1]
- BTX loader improved[2]
- Move sysctl node MPSAFE flag to the kernel section[3]
- u3g(4) added[4]
- Various grammer fixes[5]
- MAKE_JOBS_SAFE added in bsd.port.mk.

Suggested by:	ivoras[1], gavin[2], kib[3], edwin[4], and schweikh[5].
Approved by:	re (implicit)
2009-04-29 15:22:58 +00:00
Hiroki Sato f9a559a82d Fix a typo.
Spotted by:	pluknet at gmail.com
Approved by:	re (implicit)
2009-04-29 08:46:50 +00:00
Hiroki Sato 9070dd1518 Fix a typo.
Approved by:	re (implicit)
2009-04-29 07:37:07 +00:00
Hiroki Sato a54b5e9264 - Updare release notes:
currently jail+cpuset allows superuser inside the jail to
	change the CPU bindings,
	atkbd(4) + kbdmux(4) duplicated/missing chars issue on MP systems fixed,
	ULE machdep.hyperthreading_enabled support,
	bce(4) update,
	cxgb(4) update,
	ixgbe(4) update,
	a typo fix: s/<varname>/<replaceable>/,
	ata(4) nForce MCP67/MCP73 support improved,
	GEOM label UFS ID support,
	GEOM journal rootfs support,
	hptmv(4) updated,
	twa(4) 64-bit DMA support,
	fsck -C (check clean mode) support,
	getaddrinfo(3) SCTP support,
	make(1) -p, -Q, ${.MAKE.JOB.PREFIX}, ${.MAKE.PID} added, and
	mount(8) -o mountprog=/foo added.

- Various grammer and order fixes.

Approved by:	re (implicit)
2009-04-29 06:52:04 +00:00
Hiroki Sato 38f33e47a0 Updare release notes:
currently jail+cpuset allows superuser inside the jail to
	change the CPU bindings,
	atkbd(4) + kbdmux(4) duplicated/missing chars issue on MP systems fixed,
	ULE machdep.hyperthreading_enabled support,
	bce(4) update,
	cxgb(4) update,
	ixgbe(4) update,
	a typo fix: s/<varname>/<replaceable>/,
	ata(4) nForce MCP67/MCP73 support improved,
	GEOM label UFS ID support,
	GEOM journal rootfs support,
	hptmv(4) updated,
	twa(4) 64-bit DMA support,
	fsck -C (check clean mode) support,
	getaddrinfo(3) SCTP support,
	make(1) -p, -Q, ${.MAKE.JOB.PREFIX}, ${.MAKE.PID} added, and
	mount(8) -o mountprog=/foo added.

Approved by:	re (implicit)
2009-04-29 06:14:12 +00:00
Hiroki Sato e7b58bcd8d Update release notes:
schizo driver on sparc64,
	txp(4) various improvements,
	tap(4) SIOSIFMTU support.

Approved by:	re (implicit)
2009-04-28 04:45:06 +00:00
Hiroki Sato d35c52a536 Update release notes:
DDB show mount added,
	sparc64 US III support,
	DRM r600/r700,
	ae(4) WoL support,
	hardware MAC stats: cxgb(4), msk(4), nfe(4),
	re(4) hw.re.prefer_iomap,
	sis(4) VLAN tagging bugfix,
	txp(4) update,
	TCP MD5 signature option for IPv6,
	gpart(8) updated; APM and EBR scheme support,
	mpt(4) in GENERIC on sparc64,
	vfs.nfs.prime_access_cache for NFSv3,
	ncal(1) multibyte support,
	csup CVSMode support,
	du(1) -A and -B option added,
	makefs(8) added, and
	mergemaster(8) -F option added.

Approved by:	re (implicit)
2009-04-27 21:53:44 +00:00
Christian Brueffer bbee93cbf5 Document an issue of jail(8) in conjunction with cpuset(1).
Problem reported by:	Miroslav Lachman <[email protected]>
Reviewed by:	bz
Approved by:	re (kib)
2009-04-27 20:38:27 +00:00
Xin LI 4679e4f9c4 Add -C back.
Approved by:	re (kensmith)
2009-04-27 19:15:33 +00:00
Marc Fonvieille 5d7d08d44a Add a missing space and remove a superfluous char.
Approved by:	re (implicit)
2009-04-26 19:16:32 +00:00
Hiroki Sato 2b6caead9d Update release note:
type of shm_segsz in struct shmid_ds to size_t from int,
	AltiVec support on powerpc,
	INTx disabled when MSI/MSIX enabled,
	sysctl leaf node now has an MPSAFE flag,
	hw.drm.msi tunable added,
	ale(4) in GENERIC on amd64 and i386,
	ata-raid(4) initial support for DDF metadata,
	cam(4) kern.cam.cd.retry_count sysctl,
	ciss(4) max device openings count fix,
	btpand(8) for NAP, GN, PANU profiles of bluetooth added, and
	improve description of the fetch(1) If-Modified-Since support.

Approved by:	re (implicit)
2009-04-26 18:10:07 +00:00
Hiroki Sato e8fb91fe8b Update release note:
jail improvements: IPv4, IPv6, no address support, SCTP fix,
	cpuset(1) support, ddb show jails, version number bump,
	KTR_CALLOUT new tracepoint added,
	Superpages on amd64 and i386,
	acpu_asus(4) Asus A8Sr support added,
	axe(4) reduced csw for better performance,
	fxp(4) improvements including checksum offload, TSO, WoL, and VLAN,
	msk(4) hang up issue due to misalignment workaround,
	mxge(4) newer hardware support and media types,
	re(4) better miibus interaction support,
	rl(4) better miibus interaction support and fixes for >4GB system,
	IPv4 source address selection,
	tap(4) TAPGIFNAME ioctl added,
	unix(4) MPSAFE,
	sdhci(4) kernel dump support,
	EA semantics of [am]time update changed,
	atacontrol(8) minor nits fixed,
	dirname(1) multiple arguments support,
	dumpfs(8) -f flag added,
	fsck(8) s/-C/-D/,
	ln(1) -w flag added,
	netstat(1) unix sockets stats in -L flag,
	pciconf(8) -b flag added, and
	stat(1) octal s[gu]id in -x flag.

Approved by:	re (implicit)
2009-04-26 16:56:03 +00:00
Hiroki Sato 03a76b348d Update release notes:
FREEBSD32 syscall translation layer now supports
	addition/removal of syscall from kernel module,
	VFS_AIO syscalls added to FREEBSD32,
	ktr(4) new tracepoint for callout added,
	cpufreq(4) hw.est.msr_info added,
	kern.timecounter.invariant_tsc for i386 and amd64 added,
	vfs.lookup_shared improvement and removal of LOOKUP_SHARED option, and
	netstat(1) -ss for icmp6 section fixed.

Approved by:	re (implicit)
2009-04-26 14:03:52 +00:00
Marc Fonvieille 575826f183 s/&os:/&os;/ wrongly added by myself (damn it builded fine even with the
wrong version:( )

Submitted by:	marius
Approved by:	re (implicit)
2009-04-26 09:54:03 +00:00
Hiroki Sato 5b37f4de45 Update release notes:
amd64 KVA space to 6GB,
	variable reference in loader(8) script fixed,
	debug.batt.batt_sleep_ms added,
	snd_au88x0(4) removed,
	typo in igb(4) hw.igb.ave_latency fixed,
	gvinum plex access permission issue fixed,
	du(1) -l flag added,
	"netstat -m -N foo" issue fixed, and
	wc(1) -L flag added.

Approved by:	re (implicit)
2009-04-26 08:29:35 +00:00
Marc Fonvieille 45e294f985 - Add/usr trademarks for Windows;
- Various typo fixes.

Approved by:	re (implicit)
2009-04-26 08:17:14 +00:00
Marc Fonvieille af51f9df3c MFC:
r191509:
Unbreak the build of relnotes.

r191511:
Bump copyright year;
Add missing colon and fix broken entity.

Approved by:	re (implicit)
2009-04-26 08:00:41 +00:00
Hiroki Sato daf0e2ac5e Update release note:
boot0 volume ID and F6 PXE invoke support,
	DHCP options via kenv,
	cpuctl(4) added,
	ciphy(4) VSC8211 support,
	jme(4) newer JMC250/260 support,
	rl(4) improved,
	ata(4) Marvell PATA M88SX6121 support, and
	config(8) multiple makeoption support.

Approved by:	re (implicit)
2009-04-26 00:29:49 +00:00
Hiroki Sato 4304e5eb17 Update release note:
agp(4) Intel G4X support,
	DRM update,
	snd_hda(4) update,
	jail(8) FIB support,
	ng_netflow(4) egress netflow support,
	mmc(4) and mmcsd(4) improved,
	sdhci(4) added,
	mmc(4), mmcsd(4), and sdhci(4) as kernel module,
	fetch(1) -i flag,
	fsck(8) -C flag,
	ipfw(8) -q flag fixed,
	powerd(8) improved,
	rpc.yppasswdd(8) zombie process issue fixed, and
	pkg_create(1) -n fixed.

Approved by:	re (implicit)
2009-04-25 23:09:39 +00:00
Marius Strobl 421bcceeb8 MFC: r191491, r191492
Sync the sparc64 hardware notes with reality, mainly regarding support
of sun4u-machines based on USIII and beyond in 7.2-RELEASE.

Approved by:	re (blackend)
2009-04-25 23:08:59 +00:00
Hiroki Sato c1ff6d05f5 - Use arch="" attr instead of literal [&arch.xxx;].
- Bump copyright year.
- Delete trailing whitespaces.

Approved by:	re (implicit)
2009-04-25 21:32:48 +00:00
Hiroki Sato d550f5d3db Add &release.next;.
Approved by:	re (implicit)
2009-04-25 21:16:06 +00:00
Hiroki Sato 52ab77523b Bump version number for 7.2.
Approved by:	re (implicit)
2009-04-25 21:11:17 +00:00
Hiroki Sato 59fbe89293 Trim errata document for 7.2.
Approved by:	re (implicit)
2009-04-25 21:10:38 +00:00
Marc Fonvieille 2cfb122f55 Small attempt to update a bit relnotes:
ISC BIND 9.4.3-P2
timezone database tzdata2009f
GNOME 2.26
KDE 4.2.2

Approved by:	re (implicit)
2009-04-25 20:42:21 +00:00
Marc Fonvieille c4f7dce098 Add following Security Advisories:
SA-09:01.lukemftpd
SA-09:02.openssl
SA-09:03.ntpd
SA-09:04.bind
SA-09:05.telnetd
SA-09:06.ktimer
SA-09:07.libc
SA-09:08.openssl

Approved by:	re (implicit)
2009-04-25 13:52:47 +00:00
Marc Fonvieille 6df7da0052 Remove footer belonging to -STABLE version
Approved by:	re (implicit)
2009-04-25 12:58:01 +00:00
Marc Fonvieille b329f45a9a Update various entities required by release notes.
Approved by:	re (implicit)
2009-04-25 12:53:52 +00:00
Marc Fonvieille 04260ee25f Remove old (unmaintained) translations.
Approved by:	re (implicit)
2009-04-25 12:32:12 +00:00
Robert Watson 72f50b48c4 Merge r191434 from stable/7 to releng/7.2:
In sysctl_ifdata(), query the ifnet pointer using the index only
  once, rather than querying it, validating it, and then re-querying
  it without validating it.  This may avoid a NULL pointer
  dereference and resulting kernel page fault if an interface is
  being deleted while bsnmp or other tools are querying data on the
  interface.

  The full fix, to properly refcount the interface for the duration
  of the sysctl, is in 8.x, but is considered too high-risk for
  7.2, so instead will appear in 7.3 (if all goes well).

  Reported by:  mdtancsa

Approved by:	re (kensmith)
2009-04-23 18:23:08 +00:00
Christian Brueffer 563a73f034 MFC r191414
Correct the information about when the respective functionality first
appeared in FreeBSD.

Approved by:  re (kensmith)
2009-04-23 17:19:25 +00:00
Ken Smith 79c1c663cb Adjust for the 7.2-RELEASE package set.
Approved by:	re (kib)
2009-04-23 12:05:55 +00:00
Christian Brueffer 8fcffe2145 MFC r190822
Move an "end list" macro to the right place.

Approved by:	re (kensmith)
2009-04-23 08:11:48 +00:00
Ken Smith 6e5c517269 Get ready for 7.2-RC2 builds.
Approved by:	re (implicit)
2009-04-23 02:30:44 +00:00
Robert Noland 34e6868261 Merge 191274.
Don't try to setup interrupts for drivers that don't support them.

This causes sis and probably a couple of other driver to panic and fail.

Tested by:    cpghost <[email protected]>
Approved by:	re (kib)
2009-04-22 21:50:32 +00:00
Colin Percival 62309d46fc Don't leak information via uninitialized space in db(3) records. [09:07]
Sanity-check string lengths in order to stop OpenSSL crashing
when printing corrupt BMPString or UniversalString objects. [09:08]

Security:	FreeBSD-SA-09:07.libc
Security:	FreeBSD-SA-09:08.openssl
Security:	CVE-2009-0590
Approved by:	re (kensmith)
Approved by:	so (cperciva)
2009-04-22 14:07:14 +00:00
Ollivier Robert 9f5a40581d MFH of changeset r191200:
Add an entry for the French macbook keyboard layout.

Approved by:    re (kensmith)
2009-04-22 13:18:13 +00:00
Bjoern A. Zeeb f8cb494d51 MFC r191305:
Back out r186308 (r191014 in stable/7):

 In case of AF_LINK, which the kernel still returns for an RTAX_GATEWAY
 as an empty sockaddr_dl in the classic tun<n> case:
 copying the address into the message payload, but not the RTA_GATEWAY
 flag results in rt_xaddrs() in the kernel tripping over that and parsing
 the next attribute set with a flag, i.e. RTA_NETMASK, with the gateway
 address, resulting in bogus route entry.

Approved by:  re (kensmith)
2009-04-22 08:37:02 +00:00
Colin Percival 4e7ac0d6fc MFH r191302: Fix a buffer overflow.
For reasons of stack alignment, it does not appear that this is exploitable
on any systems FreeBSD runs on, so this will not be getting a security
advisory.

Approved by:	re (kib)
2009-04-21 10:54:47 +00:00
Marc Fonvieille 6e043e1a60 MFC: r191265
Add docs category.

Approved by:  re (kensmith)
2009-04-21 09:55:17 +00:00
Maksim Yevmenkin 23b937f516 MFC r191232
Fix bug in event timeout handling

Submitted by:	mav
Approved by:	re (kib)
2009-04-20 17:11:21 +00:00
Maksim Yevmenkin da2a3ace37 MFC r191164
Prevent atkbd(4) interrupt handler from calling keyboard callback function
when polled mode is enabled. This should help with duplicated/missing
characters problem at mountroot, geli, etc. prompts on multi CPU systems
while kbdmux(4) is enabled.

Tested by:	Tobias Grosser <grosser -at- fim -dot- uni-passau -dot- de>
Tested by:	Fabian Keil <freebsd-listen -at- fabiankeil -dot- de>
Approved by:	re (kib)
2009-04-20 17:09:53 +00:00
Edwin Groothuis 1b5ec3f62e MFC of tzdata2009f
Correct DST information for Pakistan for 2009.

Approved by:	re (kip)
2009-04-18 12:16:33 +00:00
Marius Strobl 516148ef3e MFC: r191076
- Remove the second license as I'm also fine with the first one.
- Remove redundant softc members for RIDs.
- Change some softc members to be unsigned where more appropriate.
- Add some missing const.
- Remove support for mmap(2)'ing VGA I/O as it was broken [1] and
  not required by X.Org anyway.
- Fix some confusion between bus, physical and virtual addresses
  which mostly consisted in using members of struct video_adapter
  inappropriately but wasn't fatal except for the regular framebuffer
  mmap(2)'ing.
- Remove redundant bzero(9)'ing of the softc.
- Don't map the framebuffer twice in case the firmware has already
  mapped it as besides wasting resources this isn't possible with
  all MMUs. This is a bit tricky as a) just because the firmware
  provides a property with a virtual address doesn't mean it's
  actually mapped (but typically is when the framebuffer is the
  console) and b) the firmware doesn't necessarily map it with
  the same byteorder as we do. This makes machfb(4) work on machines
  with cheetah-class MMUs (including X.Org).

Reported by:	Michael Plass [1]
Approved by:	re (kib)
2009-04-17 23:22:06 +00:00
Marius Strobl 6759c92a8d MFC: r191072
Fix whitespace.

Approved by:	re (kib)
2009-04-17 23:11:18 +00:00
Alexander Kabaev 9929416e83 MFC r191218 and related backout r191220.
More fallout from negative dotdot caching. Negative entries should
be removed from and reinserted to proper ncneg list.

Reported by:	pho
Submitted by:	kib
Approved by:	re (kib)
2009-04-17 21:18:17 +00:00
John Baldwin 7ff6b770c6 MFC: Use a disk address instead of an int to hold the starting offset of an
open partition.

Approved by:	re (kib)
2009-04-17 17:13:41 +00:00
Dmitry Chagin fec900bd04 Merge r190708 from HEAD to releng/7.2:
Fix KBI breakage by r190520 which affects older linux.ko binaries:

1) Move the new field (brand_note) to the end of the Brandinfo structure.
2) Add a new flag BI_BRAND_NOTE that indicates that the brand_note pointer
   is valid.
3) Use the brand_note field if the flag BI_BRAND_NOTE is set and as old
   modules won't have the flag set, so the new field brand_note would be
   ignored.

Suggested by:   jhb
Reviewed by:    jhb

Approved by:	re (Ken Smith), kib (mentor)
2009-04-17 17:05:31 +00:00
Alan Cox 1b65664c28 MFC r175055
Defer setting either PG_CACHED or PG_FREE until after the free page
  queues lock is acquired.  Otherwise, the state of a reservation's
  pages' flags and its population count can be inconsistent.  That could
  result in a page being freed twice.

(This change should have been included in the MFC of the superpages
support.)

Thanks to:	pho for an illuminating crash

Approved by:	re (kib)
2009-04-17 16:42:03 +00:00
Alexander Kabaev 6794374441 MFC r191081-191082:
Properly handle negative cache enries found through dotdot lookups.

Submitted by:	tegge
Approved by:	re(kib)
2009-04-15 16:36:13 +00:00
Ken Smith 2487bb6cb1 Add package directory for 7.2-REL. While here add the one for 6.4-REL.
Approved by:	re (implicit)
2009-04-15 04:28:22 +00:00
Ken Smith e175267715 Bump __FreeBSD_version for 7.2-REL plus the shift to show this is a
release branch.

Approved by:	re (implicit)
2009-04-15 04:27:04 +00:00
Ken Smith 98e57db40f Almost ready for 7.2-RC1 builds.
Approved by:	re (implicit)
2009-04-15 04:25:31 +00:00
Ken Smith 2a72044563 Update CVS tag to RELENG_7_2.
Approved by:	re (implicit)
2009-04-15 04:24:24 +00:00
Ken Smith 77bbc16437 Bump version from 7.1 to 7.2.
Approved by:	re (implicit)
2009-04-15 04:23:17 +00:00
Ken Smith 4c1e483f92 Change default version for manual pages to 7.2.
Approved by:	re (implicit)
2009-04-15 04:22:27 +00:00
Ken Smith af333ae2db Update branch to use.
Approved by:	re (implicit)
2009-04-15 04:21:21 +00:00
Scott Long 448152da57 Don't register the CAM passthrough interface until interrupts are running.
This fixes some problems at boot for some that are happening in fairly
rare cases.  It's just a hack, though, which is why it's only going into
stable/7 for now.  Note that this hack has a side effect of possibly not
scanning the AMR buses for /dev/passN devices at boot.  These devices are
not required for access to the RAID arrays, and only a few tools use them.
If this affects you, let me know.

Approved by:	re
2009-04-14 20:10:53 +00:00
George V. Neville-Neil 8af1295409 MFC of a Chelsio bug fix.
Fix a bug in the recent update to the Chelsio driver.
The tick routine was not being restarted in the init_locked routine
which could resulted in loss of carrier when updating the MTU.

Approved by:	re (kensmith)
Obtained from:	Chelsio Inc.
2009-04-14 18:52:39 +00:00
Jack F Vogel ba2b408c2d Change default on RX queues to 1, this has been found
as a more stable config.

Approved by: re
2009-04-14 16:48:49 +00:00
Jack F Vogel 94a6aa47f2 OK, been a long weekend and fingers are getting tired,
missed changing the file name :*(

Approved by: re
2009-04-14 00:38:02 +00:00
Jack F Vogel ead1b571dc Add ixgbe and remove ixgb driver support from GENERIC
in the amd64 architecture.

Approved by: re
2009-04-14 00:35:56 +00:00
Jack F Vogel bfbde85fe0 Update Makefile with new file for ixgbe driver
Approved by: re
2009-04-14 00:27:05 +00:00
Jack F Vogel 293dd2bcd8 Add extra file for the ixgbe driver checkin
Approved by: re
2009-04-14 00:24:59 +00:00
Jack F Vogel 2bb3c3a921 MFC ixgbe version 1.7.4 for FreeBSD 7.2, this is earlier
than planned but coordinated with and approved by RE.

Most important reason for this was so that FreeBSD 7.2
will have native support for the 82599 controller which
is part of the Nehalem launch.

The driver now does pluggable optics, multispeed fiber,
and header split. I am adding this to the GENERIC kernel
only in the amd64 architecture since its where I expect
most use and others were untested.

Enjoy!

Approved by: re
2009-04-14 00:23:13 +00:00
Max Laier 5cc303c24b MFH r190903 & r190895:
Remove interfaces from interface groups on detach.

Reported by:	various
Submitted by:	Mikolaj Golub (r190895)
PR:		kern/130977, kern/131310
Approved by:	re (gnn)
2009-04-13 22:17:03 +00:00
Bjoern A. Zeeb e3982f8e61 MFC r186308 by qingli:
The ppp application relies on the if_tun interface to properly
  install a ptp host route between the end points. The ppp module
  upates this router based on user configuration later on. The
  rt_Update() seems to always set the RTF_GATEWAY flag, which is
  broken.

PR:		bin/130159
Approved by:	re (kensmith)
2009-04-13 20:19:28 +00:00
David Xu 3f7ae6c522 MFC r190987 from head to stable/7:
Make UMTX_OP_WAIT_UINT actually wait for an unsigned integer on 64-bits
    machine.

Approved by:    re (kib)
2009-04-13 14:25:36 +00:00
Nathan Whitehorn 35110afd24 MFC r190946:
Fix recognition of kernel-mode traps that pass through the KDB trap handler
but do not actually invoke KDB. This includes recoverable machine checks
encountered in kernel mode.

This patch causes machines with Grackle host-PCI bridges to be able to
correctly enumerate them again.

Reviewed by:	marcel
Approved by:	re
2009-04-13 14:15:36 +00:00
Robert Watson be2942b5bc Merge r190996 from head to stable/7:
When writing out updated pollfd records when returning from
  poll(), only copy out the revents field, not the whole pollfd
  structure.  Otherwise, if the events field is updated
  concurrently by another thread, that update may be lost.

  This issue apparently causes problems for the JDK on FreeBSD,
  which expects the Linux behavior of not updating all fields
  (somewhat oddly, Solaris does not implement the required
  behavior, but presumably our adaptation of the JDK is based
  on the Linux port?).

  MFC after:      2 weeks
  PR:             kern/130924
  Submitted by:   Kurt Miller <kurt @ intricatesoftware.com>
  Discussed with: kib

Approved by:	re (kib)
2009-04-13 11:54:22 +00:00
Edwin Groothuis d5095261c1 MFC of tzdata2009e
- Jordan went into DST in the last Thursday in March instead of the
  last Friday in March.
- Palestine has extended the DST time with one week before and one
  month after.

Approved by:	re (kip)
2009-04-13 10:41:25 +00:00
Edwin Groothuis 13cbd3c7b6 MFC of tzdata2009d:
- Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00
- Tunisia will not observe DST this year.
- Syria will start DST on 2009-03-27 00:00 this year
- the Province of San Luis will go to utc-04:00

Approved by:	re (kib)
2009-04-13 09:22:03 +00:00
Maxim Sobolev fcb2f8183d MFC: Respect RBX_MUTE flag from boot[012].
Approved by:	re (kib)
2009-04-12 23:10:01 +00:00
Maxim Sobolev e1f6c8d2a9 MFC: Make machdep.hyperthreading_allowed working.
Approved by:    re (kib)
2009-04-12 23:06:23 +00:00
Alexander Kabaev d67003a4d5 MFC change 190756:
Fix logic in MOD_LOAD handler to call dcons_attach after all successful
dcons_drv_init invocations. Testing return value for 0 does not work for
cases where dcons_drv_init was called already as part of low level
onsole initialization.

Approved by:	re(kib)
2009-04-12 19:50:46 +00:00
Alexander Kabaev 99e72b7f3b MFC changes 190533 and 190945:
Replace v_dd vnode pointer with v_cache_dd pointer to struct namecache
in directory vnodes. Allow namecache dotdot entry to be created pointing
from child vnode to parent vnode if no existing links in opposite
direction exist. Use direct link from parent to child for dotdot lookups
otherwise.

This restores more efficient dotdot caching in NFS filesystems which
was lost when vnodes stoppped being type stable.

Majority of backporting work for this was done by jhb.

Reviewed by:	jhb, kib
Approved by:	re (kib)
2009-04-12 19:41:16 +00:00
Hajimu UMEMOTO 2cba174922 MFH r190382,190416,190525:
- getaddrinfo(3) should accept numeric when ai_socktype is not
  specified in hint or hints is NULL.
- Add support for SCTP to getaddrinfo(3).
  Now, getaddrinfo(3) returns two SOCK_STREAMs, IPPROTO_TCP and
  IPPROTO_SCTP.  It confuses some programs.  If getaddrinfo(3) returns
  IPPROTO_SCTP when SOCK_STREAM is specified by hints.ai_socktype, at
  least Apache doesn't work.  So, I made getaddrinfo(3) to return
  IPPROTO_SCTP with SOCK_STREAM only when IPPROTO_SCTP is specified
  explicitly by hints.ai_protocol.
- Query DNS only once per an address family.

Approved by:	re (kib)
2009-04-12 19:06:41 +00:00
Alexander Kabaev 66fc931eec Reimplement r189287 for -stable:
Change vfs_busy to wait until an outcome of pending unmount
operation is known and to retry or fail accordingly to that
outcome. This fixes the problem with namespace traversing
programs failing with random ENOENT errors if someone just
happened to try to unmount that same filesystem at the same
time.

Prodded by:	dhw, obrien
Approved by:	re(kib)
Sponsored by:	Juniper Networks, Inc.
2009-04-12 17:43:41 +00:00
Xin LI a0b7611fb8 MFC r190482: zero out memory before use and free.
Approved by:	re (kib)
Security:	Potential Information Leak
2009-04-11 15:19:26 +00:00
Xin LI fc29423f5f MFC r190809, 190810:
Update driver to vendor 1.16 plus some local changes to maintain our old
tweaks/behavor and to fix a bug with multiple cards.

Approved by:	re (kensmith)
2009-04-11 15:16:11 +00:00
Xin LI 1b41b9cf29 MFC r190832: Mention support of 1000baseSX and 2500baseSX.
Approved by:	re (kensmith)
2009-04-11 15:04:51 +00:00
Xin LI 6efa823956 MFC r190656:
Fix a crash when corrupted data file is found.

PR:		bin/32686
Approved by:	re (kib)
2009-04-11 14:10:42 +00:00
Dmitry Chagin b89025b00e Merge from HEAD to stable/7:
r186211:
Remove obsolete AT_DEBUG stuff.  It never should have been committed
in the first place, let alone migrated to linux emulation.

r189362:
Add AT_PLATFORM, AT_HWCAP and AT_CLKTCK auxiliary vector entries which
are used by glibc. This silents the message "2.4+ kernel w/o ELF notes?"
from some programs at start, among them are top and pkill.

Do the assignment of the vector entries in elf_linux_fixup()
as it is done in glibc.

Fix some minor style issues.

Approved by:	re (Ken Smith), kib(mentor)
2009-04-10 13:45:56 +00:00
Bjoern A. Zeeb 3c3b8f78d0 MFC r190800:
With the right comparison we get a proper wscale value and thus
  more adequate TCP performance with IPv6.

  Changes for IPv4, r166403 and r172795, both ignored the
  IPv6 counterpart and left it in the state of art of year 2000.

  The same logic in syncache already shares code between v4 and v6 so
  things do not need to be adapted there.

  Reported by:  Steinar Haug (sthaug nethelp.no)
  Tested by:    Steinar Haug (sthaug nethelp.no)

Approved by:	re (kib)
2009-04-10 12:32:44 +00:00
Stephen McKay 07a63855b6 MFC r187460: Add a limit on namecache entries.
Approved by: re (kib)
2009-04-08 04:30:16 +00:00
Xin LI 06d892f1fb MFC 190398 + 190405:
Use __packed for ioctl structure to make High Point management tool work.

Approved by:	re (kensmith)
2009-04-08 02:04:07 +00:00
Ivan Voras 4ba1652785 Merge r190424: man page accompanying r190816.
Reviewed by:	pjd
Approved by:	re (kib)
Approved by:	gnn (mentor) (original)
2009-04-07 19:35:41 +00:00
Ivan Voras d0966d8185 Merge r190423: introduce a new UFS-based label called "ufsid" that can
be used to reference UFS-carrying devices by the unique file system id.
An example of this new label is: /dev/ufsid/48e69c8b5c8e1b43.
The benefit of using GEOM labels in general is to avoid problems of
device renaming when shifting drives or controllers.

Reviewed by:	pjd
Approved by:	re (kib)
Approved by:	gnn (mentor) (original)
2009-04-07 19:18:02 +00:00
Maksim Yevmenkin a6cba25b2f MFC r190575
- Add ipfw_nat to the list of required modules if "firewall_nat_enable"
  is set and "natd_enable" is NOT set;

- Accept and pass firewall type to the external firewall script.

Submitted by:		Yuri Kurenkov < y -dot- kurenkov -at- init -dot- ru >
No response from:	freebsd-rc
Approved by:		re (kib)
2009-04-07 16:29:50 +00:00
Ruslan Ermilov 8aac52f036 MFC:
- Add missing include.

- Style: size_t can't be negative.

- Don't exit with a zero status code when no jails are configured
  on a system.

- Style: simplify some code constructs.

- If a single jail cannot be found, let the caller print a proper
  diagnostic message.

Approved by:	re (kib)
2009-04-07 12:49:50 +00:00
Edward Tomasz Napierala 6079807beb MFC r185693:
Make it possible to use gjournal for the root filesystem.  Previously,
an unclean shutdown would make it impossible to mount rootfs at boot.

Approved by:	re (kib)
2009-04-06 17:33:35 +00:00
Colin Percival 2a20045f38 MFC r190679: Set SO_NOSIGPIPE on sockets in order to avoid having
phttpget die when a RST packet arrives.

Approved by:	re (kib)
2009-04-06 15:45:03 +00:00
Christian Brueffer b1ae92fe42 MFC: rev. 190557
Fix memory leak in semunload().

Approved by:	re (kib)
2009-04-06 12:00:51 +00:00
Luigi Rizzo ab642611eb MFC: use shared libraries for the crunched binary,
put together the basic binaries so it is easier to replace them
with busybox.

Approved by:	re (blanket on picobsd)
2009-04-06 11:31:31 +00:00
Luigi Rizzo 059c0952bf bump image size to 4MB and remove references to non-devfs configs
Approved by:	re (blanket on picobsd)
2009-04-06 11:23:20 +00:00
Luigi Rizzo b71fd20b1e diff reduction with the version in head
Approved by:	re (blanket on picobsd)
2009-04-06 11:22:29 +00:00
Luigi Rizzo d5ffafafa0 MFC: remove call to non-existing dev-mkdb
Approved by:	re (blanket on picobsd)
2009-04-06 11:21:58 +00:00
Luigi Rizzo afb8b6ce2f put the absolute path for /etc/rc1
Approved by:	re (blanket on picobsd)
2009-04-06 11:21:14 +00:00
Luigi Rizzo c335c9375d MFC: bring in recent fixes to the picobsd script
Approved by:	re (blanket on picobsd)
2009-04-06 11:15:28 +00:00
Ruslan Ermilov 4c6d9dac8f MFC: Don't put "install-info" to the list of install-tools if we're
installing with -DWITHOUT_INFO.

Approved by:	re (kib)
2009-04-05 00:51:59 +00:00
Ulf Lilleengen 8e432b95a4 MFC r190422:
- Add proper error checking and printing to the CVSMode code when reading and
  writing from/to streams, as leaving them out stops csup from cleaning up on
  SIGINT and friends properly.

Approved by:	re (kib)
2009-04-03 16:02:13 +00:00
Alexander Motin 29a1f1472c MFC rev. 188464.
Check for device_set_devclass() errors and skip driver probe/attach if any.
Attach called without devclass set crashes the system.

On attach/resume some ATA drivers sometimes trying to create duplicate adX
device. It is surely their own problem, but it is not a reason to crash here.

Approved by:	re (kib)
2009-04-03 10:38:24 +00:00
Weongyo Jeong 58e67b4192 MFC r190541:
fix a bug of uses after free.

  Pointed by:	dchagin

MFC r190544:
  handles more exceptional cases when the driver failed to attach.

MFC r190550:
  corrects a error message.

MFC r190590:
  fix a bug that it passed a incorrect flag BUS_DMA_ALLOCNOW to create
  a device specific DMA tag. On amd64 it could exhaust all of bounce
  pages when bus_dma_tag_create(9) is called at malo_pci_attach() then
  as result in next turn it returns ENOMEM. This fix a attach fail on
  amd64.

  Pointed by:   yongari
  Tested by:    dchagin

Approved by:	re (kib)
2009-04-03 03:25:00 +00:00
Warner Losh 5c663b3f65 Merge 190488 from head:
Fix shared memory packet movement.

Approved by:	re@ (kostik)
2009-04-03 03:04:26 +00:00
Pyun YongHyeon c962a4a9fc MFC r190587:
It seems that RTL8168D and RTL8102EL requires additional settle
  time to complete RL_PHYAR register write. Accessing RL_PHYAR
  register right after the write causes errors for subsequent PHY
  register accesses.

  Tested by:    george at luckytele dot com,
                Steve Wills < STEVE at stevenwills dot com >
Approved by:	re (Kostik Belousov)
2009-04-03 00:12:14 +00:00
Tom Rhodes cb639e0af4 nt a warning when blackhole and reject are used together.
Update arp.8 manual page syntax.

PR:		125896
Submitted by:	Marc Olzheim <[email protected]>
Approved by:	re (kib), sam
2009-04-02 22:04:44 +00:00
Robert Noland 84deb9e1d3 Merge 190565
We don't know what these pages are going to be used for, they should be
un-cached.  This got lost somewhere with all the bus_dma fixups.

Approved by:	re (kib)
2009-04-02 18:21:41 +00:00
Robert Noland 55d44b66a6 Merge 190563
Load the right microcode for RS780

Approved by:	re (kib)
2009-04-02 18:20:46 +00:00
Robert Noland 510c37dee9 Merge 190399
The GART allocations are a propery of the gart, not of scatter-gather
memory.  Track them in the appropriate structure.

Approved by:	re (kib)
2009-04-02 17:58:20 +00:00
Robert Noland 5fc5063eaa Merge 190124
Add a couple of radeon pci ids.

Approved by:	re (kib)
2009-04-02 17:57:04 +00:00
Robert Noland 5ad98033dc Merge 190123,190282
Fix up the flags to bus_dmamem again.  The man page incorrectly showed
the BUS_DMA_NOCACHE flags as being a valid flag for load instead of alloc.

Approved by:	re (kib)
2009-04-02 17:53:30 +00:00
Weongyo Jeong 65d8901787 MFC r190437:
bump date.

  Pointed by:	yongari

Approved by:	re (kib)
2009-04-02 02:26:58 +00:00
Tom Rhodes cefcc12d8b MFC r186429:
Document the "-o large" option.

PR:		129792

And r186768:
Add missing qualifier which was missed in the previous commit.

Noticed by:	brooks

Approved by:	re (kib)
2009-04-01 06:03:23 +00:00
Tom Rhodes cbc10e80cc MFC r186431:
Note that when shutdown is run without options, it will place
the system into single user mode at the time specified.

PR:		129765

Approved by:	re (kib)
2009-04-01 06:01:40 +00:00
Xin LI ff1fd1b87d MFC r187318:
Reflect PCI ID changes for bce(4).

Approved by:	re (kensmith)
2009-03-31 16:44:07 +00:00
Weongyo Jeong 6abef001a0 MFC r190434:
The malo(4) device driver first appeared in FreeBSD 7.1 not 8.0.

  Reported by:	John <lists_at_reiteration.net>

Approved by:	re (hrs)
2009-03-31 02:29:42 +00:00
Xin LI 9b8aa08483 Update bce(4) to latest -CURRENT version:
- Add several HP OEM parts' PCI IDs (187133+187317)
 - Remove intermediate variable busaddr and have bus_* operate
   directly on softc members upon initialization. (187204)
 - Only enable split header operation when ZERO_COPY_SOCKETS is
   enabled in the kernel. (189117)
 - Updated firmware to latest 4.6.X release. (189325)
 - Added missing firmware for 5709 A1 controllers. (189325)
 - Changed some debug statistic variable names to be more
   consistent. (189325)

Approved by:	re (kensmith)
2009-03-31 01:01:01 +00:00
Jeff Roberson 22497af641 MFC SVN rev 189787.
- Fix steal_thresh calculation with odd numbers of cpus and sched_affinity()
   for threads on runqueues.
Approved by:	re
2009-03-30 19:20:56 +00:00
John Baldwin 2559cfd2a2 MFC: Reenable 64-bit DMA for twa(4) controllers, but use a boundary of 4GB
to prevent individual transactions from crossing a 4GB address boundary.
Due to bus_size_t type limitations, the driver uses a 2GB boundary in PAE
kernels.

Approved by:	re (kensmith)
2009-03-30 18:43:41 +00:00
John Baldwin 1c5a8f46e9 MFC: Move the code to update cpu_cx_count out of acpi_cpu_generic_cx_probe()
and into acpi_cpu_startup() which is where all the other code to update this
global variable lives.  This fixes a bug where cpu_cx_count was not updated
correctly if acpi_cpu_generic_cx_probe() returned early.

Approved by:	re (kensmith)
2009-03-30 18:33:04 +00:00
Robert Watson fb032f49f0 Merge r189196 from head to stable/7:
Remove unreachable code for generating RST segments from tcp_twcheck();
  this code became stale when T/TCP support was removed.

  Discussed with: bz, sam

Approved by:	re (kensmith)
2009-03-30 14:11:37 +00:00
Alexander Motin afd50dd2df MFC rev. 190519:
Fixup relative pointers after channel realloc. It fixes crash on systems
 with several HDA codecs per controller.

 While I am there, remove some unneeded dereferences.

MFCed earlier than it should be so that it can be part of 7.2-BETA1.

PR:		kern/131785
Submitted by:	Tor Egge <[email protected]>
Approved by:	re (kensmith)
2009-03-30 10:18:43 +00:00
Ulf Lilleengen 2c5cb33508 MFC r190406:
- Remember to set umask before setting attributes of RCS file.

Approved by:	re (kib)
2009-03-30 08:44:29 +00:00
Pyun YongHyeon 67e25ae119 MFC r190407:
Fix typo.

Approved by:	re (Ken Smith)
2009-03-30 04:42:08 +00:00
Robert Watson edba99d0b0 Merge r185858 from head to stable/7:
Remove inconsistent white space from in_pcballoc().

Approved by:	re (kib)
2009-03-29 17:42:30 +00:00
Dmitry Chagin 6363bdcad5 Merge from head to stable/7:
r189771:
Implement new way of branding ELF binaries by looking to a
".note.ABI-tag" section.

The search order of a brand is changed, now first of all the
".note.ABI-tag" is looked through.

Move code which fetch osreldate for ELF binary to check_note() handler.

r189919:
Use the properly sized types for ELF object header and program headers.
This fixes osrel fetching from the FreeBSD branding note for the 64bit
platforms (bug introduced by r189771).

r190264:
Fix several issues with parsing the notes for ELF objects.

Badly formed ELF note may cause the caclulated pointer to the next note
to point both after the note region, that was checked in the code, but
also to point before the region, that was not checked [1]. Remember the
first note location in note0 and leap out if the note is not between
note0 and note_end.

In the similar way, badly formed note may cause infinite loop by
pointing next note into the same or previous note. Guard against this
by
limiting amount of loop iterations by arbitrary choosen big number.

For clarity, check the calculated note alignment in each iteration.

PR:     kern/132886
Approved by:	re(Ken Smith)
2009-03-29 08:07:36 +00:00
Tim Kientzle 86e15b8026 Merge r188343 from -CURRENT: Unbreak writing shar archives.
When copying file data to the archive, don't write more
   than was read.  This seems to have only affected the shar
   writer, since other formats proactively truncate output
   to the originally-advertised size.

PR:		bin/131244
Approved by:	re (Ken Smith)
2009-03-29 01:04:13 +00:00
Tim Kientzle 4c12798996 MFC r187976: Restore timestamps on symlinks
Before this fix, pax would stop the restore sequence for
   symlinks after setting the owner.  As a result, mode
   and timestamp were not restored.  This patch corrects the
   problem by simply removing the short-circuit for symlinks
   and using lchown()/lchmod()/lutimes() always for restoring
   metadata.

PR:		bin/91316
Submitted by:	Jaakko Heinonen
Reviewed by:	Joerg Sonnenberger
Approved by:    re (Ken Smith)
2009-03-29 01:00:48 +00:00
Marius Strobl 35519cdd7b MFC: r190375, r190376
Given that zfs.ko depends on opensolaris.ko also build the latter by
default on sparc64.

Approved by:	re (kib)
2009-03-28 19:47:46 +00:00
Marius Strobl 238ae7b71f MFC: r190374
As with ZFS use real atomic operations for sparc64.

Approved by:	re (kib)
2009-03-28 19:23:10 +00:00
Robert Watson 0159f5607b Enable soreceive_dgram() use by UDP by default in 7.x. This can lead
to a significant performance improvement for multi-threaded UDP socket
receive, such as found in BIND, memcached, VoIP applications, etc.

Requested by:	Florian Smeets <flo at kasimir.com>
Approved by:	re (kib)
2009-03-28 16:12:32 +00:00
Marius Strobl 09b9012bde MFC: r190319
- Ensure that INTx isn't disabled, as these chips apparently have a
  quirk requiring it to be enabled even when using MSI. This makes
  the latter work again after r189568.
- Remove a comment which no longer applies since r190335.

Approved by:	re (kib)
2009-03-27 21:21:22 +00:00
Konstantin Belousov 29f173ca37 MFC r189737:
The non-modifying EA VOPs are executed with only shared vnode lock taken.
Provide a custom lock around initializing and tearing down EA area,
to prevent both memory leaks and double-free of it. Count the number
of EA area accessors.

Put the new field i_ea_refs to the end of the struct inode to keep
structure layout stable on releng branch for the benefit of lsof.

MFC r190469:
Correct typo.

ABI issue pointed out by:	kensmith
Approved by:	re (kensmith)
2009-03-27 15:57:52 +00:00
John Baldwin 95cd2a40ba MFC: Improve the description of a few sysctls.
Approved by:	re (kib)
2009-03-27 15:45:52 +00:00
John Baldwin c8d3b5555f MFC: Release driver lock at the end of the watchdog routine instead of
trying to acquire it again.

Approved by:	re (kib)
2009-03-27 15:19:51 +00:00
Konstantin Belousov 17cbd3654e MFC r190141:
When ktracing namei operations, log a result of the __getcwd().

Approved by:	re (kensmith)
2009-03-27 13:05:29 +00:00
Robert Watson 43f9916d92 r189615:
Remove now-unused INP_UNMAPPABLEOPTS.

  Discussd with: bz

r189637:

  Avoid use of IPv6  macro aliases to inpcb fields and inp_flags; we don't
  remove their defintions as some third-party tools may use them (such as
  net-snmp), unlike in the 8.x change.

  References to in6p_lport and in6_fport in sockstat are also replaced with
  normal inp_lport and inp_fport references.

  Reviewed by:   bz

r189848:

  Correct a number of evolved problems with inp_vflag and inp_flags:
  certain flags that should have been in inp_flags ended up in inp_vflag,
  meaning that they were inconsistently locked, and in one case,
  interpreted.  Move the following flags from inp_vflag to gaps in the
  inp_flags space (and clean up the inp_flags constants to make gaps
  more obvious to future takers):

    INP_TIMEWAIT
    INP_SOCKREF
    INP_ONESBCAST
    INP_DROPPED

  Some aspects of this change have no effect on kernel ABI at all, as these
  are UDP/TCP/IP-internal uses; however, netstat and sockstat detect
  INP_TIMEWAIT when listing TCP sockets, so any MFC will need to take this
  into account.

  MFC after:      1 week (or after dependencies are MFC'd)
  Reviewed by:    bz

Note that this change requires netstat, systat, and sockstat to be
recompiled in order to properly print TIMEWAIT connection state; this
minor API change (documented in UPDATING) is considered worth it in
order to fix the above bugs.  This change fixes the INP_ONESBCAST bug
describted in kern/124282 by disambiguating flag use.

Approved by:    re (kib)
PR:             kern/124282
r189637 discussed with:	pav
2009-03-26 22:54:19 +00:00
Yoshihiro Takahashi d01d028ad9 MFC: r189446
Allow different ABIs to use different initial control words for the FPU.

Approved by:	re (Kostik Belousov)
2009-03-26 17:04:08 +00:00
Robert Watson 7314f96f1e Merge r189657 from head to stable/7:
Add INP_INHASHLIST flag for inpcb->inp_flags to indicate whether
  or not the inpcb is currenty on various hash lookup lists, rather
  than using (lport != 0) to detect this.  This means that the full
  4-tuple of a connection can be retained after close, which should
  lead to more sensible netstat output in the window between TCP
  close and socket close.

Approved by:	re (kib)
2009-03-26 14:20:16 +00:00
Bjoern A. Zeeb 39cfbfd447 MFC r184097:
Update a comment which to my reading had been misplaced in rev. 1.12
  already (but probably had been way above as the code was there twice)
  and describe what was last changed in rev. 1.199 there (which now is
  in sync with in6_src.c r184096(HEAD), r189956(stable/7)).

Approved by:	re (rwatson)
2009-03-26 13:27:26 +00:00
Bjoern A. Zeeb bd9fb47891 MFC r186393:
Correct variable name in comment.

Approved by:	re (rwatson)
2009-03-26 13:22:29 +00:00
Konstantin Belousov 0519e5ad1d Include linux_misc.h to get the definition for __LINUX_NPXCW__.
Approved by:	re (kensmith)
2009-03-26 12:13:19 +00:00
John Baldwin 2b9e37e2b9 Allow different ABIs to use different initial control words for the FPU on
amd64 and i386.  This fixes a bug were 32-bit binaries would run with a
different floating point exception mask under FreeBSD/amd64 vs FreeBSD/i386.
This commit also includes a few other minor changes to keep the code in
sync with 8.

Approved by:	re (kib)
2009-03-25 17:22:15 +00:00
Konstantin Belousov e8c562aaf0 MFC r190266:
7.2 will be the first release where strndup() appears.

Approved by:	re (kensmith)
2009-03-25 15:42:07 +00:00
Alexander Motin 421100b978 MFC rev. 188846:
Handle nForce MCP67 and MCP73 SATA controllers as AHCI. They report
itself as ATA RAID, but generic ATAPCI driver unable to detect drives
there. AHCI driver reported to handle them fine. Linux does the same.

Submitted by:	Andrey V. Elsukov on stable@
PR:		kern/125713
Approved by:	re (kib)
2009-03-25 14:26:38 +00:00
VANHULLEBUS Yvan d3524dbac4 MFC: Added DLT_ENC to map list, so it is now possible
to save dumps on enc0

Approved by:	re (gnn)
Obtained from:	NETASQ
2009-03-25 14:11:29 +00:00
Konstantin Belousov 5da9fe5b5d Mostly synchronize lib/libthr and sys/kern/kern_umtx.c with the code
from HEAD.

Since libkse is still built on RELENG_7, pthread_cleanup_push/pop
are left as the functions, but the support code in libthr is present for
the macro versions.

Malloc in RELENG_7 does not require thread exit hook, but I decided
to add empty handler for it, instead of removing callback from thr_exit().

No mergeinfo since this change is prepared by patching libthr and then
bringing in required missed bits.

Requested by:	bms
Reviewed by:	davidxu
Tested by:	bms, Mykola Dzham <i levsha org ua>
Approved by:	re (kensmith)
2009-03-24 20:57:10 +00:00
Luigi Rizzo bc0cd6411c remove unused entries and stale comments on the size of objects
Approved by:	re (blanket on picobsd)
2009-03-24 18:35:01 +00:00
Luigi Rizzo 8a3504706d make the mfs larger to give room for shared libs.
Build /dev/random so ssh can find it

Approved by:	re (blanket on picobsd)
2009-03-24 18:34:19 +00:00
Doug Barton d018fc5f4e MFC r181113, -c named_flags example and capitalization fix 2009-03-24 02:56:50 +00:00
Doug Barton ea8a418cc7 MFC r181114, make sure services and protocols are in the chroot /etc
MFC r188293, improve handling of chroot inside of a jail
2009-03-24 02:54:15 +00:00
Doug Barton 168e024233 MFC r180564, addition of the SHUTDOWN keyword to those scripts that
start persistent services.
2009-03-24 02:48:54 +00:00
David E. O'Brien bb6b8e5378 Revert r190357, in which I was just trying to get the merge info set at
the src level.
(turns out svn+ssh://[email protected]/base/head and
svn+ssh://svn.freebsd.org/base/stable/7 are seen as two totally different
repositories... Jeez subversion can be dumb...)
2009-03-24 02:28:46 +00:00
David E. O'Brien 8f88d24331 MFC: r187964: Fix the inconsistent tabbing. 2009-03-24 02:09:48 +00:00
David E. O'Brien df246f5f30 MFC: r186234/r186236: Use passed parameter rather than a hard coded value.
Bump WARNS to 3.
2009-03-24 01:56:16 +00:00
David E. O'Brien 5af4d01225 MFC: 186291: Use strlcpy(). 2009-03-24 01:54:17 +00:00
David E. O'Brien ebeb22fe92 MFC: r186581: Sound less scary about errorousous disk geometry. 2009-03-24 01:51:42 +00:00
David E. O'Brien 7ef79bedaf MFC: r186337/r186444/186784: burncd(8) doesn't handle signals and interrupting
burncd during operation.  Add signal handling by doing a CDRIOCFLUSH ioctl
to attempt to leave burner in a sane state when burning is interrupted with
SIGHUP, SIGINT, SIGTERM, or in case an I/O error occurs during write.
2009-03-24 01:35:58 +00:00
David E. O'Brien 70df965f8a MFC:
r189397: Add a -o mountprog parameter to mount which explicitly allows an
	 alternative program to be used for mounting a file system.
r187035/r187093/r187130: Don't overflow buffers when processing -o options.
2009-03-24 01:31:42 +00:00
David E. O'Brien eeafa811e4 MFC: r187102 / r187107: Update fech URL. 2009-03-24 01:18:35 +00:00
David E. O'Brien d5441f8b1b MFC: r187116: If running with "-K" really do not information about symbols
from the a.out argument.
2009-03-24 00:46:44 +00:00
David E. O'Brien e748d17531 MFC: r187907: For files not named on the command line, only the basename is
compared to the exclude pattern.
2009-03-24 00:44:30 +00:00
David E. O'Brien 3fbccc8fd7 MFC: r187931: Add the '-C' "check clean" flag. 2009-03-24 00:43:12 +00:00
David E. O'Brien bde82f7728 MFC:
r173412: Cleanup of userland __P use.
r187943: Run with -B and just .POSIX.
r173067: Include <stdlib.h> for the right prototype for exit(3).
r173065: Set the program name if the crunched program is selected
	 through argv[1] to mimic crt0 behaviour.
2009-03-24 00:34:55 +00:00
David E. O'Brien b10f4fd98c MFC: r187724 / r187969: unsplit _PATH_SYSPATH & _PATH_STDPATH. 2009-03-24 00:30:06 +00:00
David E. O'Brien d7447c402b MFC:
r187475: Remove inlining of functions that are used mostly in different
	 object files.  This lets use to remove NO_WERROR.
r186558: Consistently use Var_SetGlobal().
r186713: Add the -Q be-quiet flag for parallel jobs.
r186279: Exit with error code 2 when run with -k (continue if errors)
	 and build failed.
r186559: Add the ability to tweak the token output before targets in job mode.
r181021: Add POSIX -p flag to make(1).
r186502: Clarify the behaviour of conditionals when dealing with comparisons.
2009-03-24 00:07:17 +00:00
David E. O'Brien 7af4ee8f35 MFC: r189721: don't need to set symbol, default value OK 2009-03-23 23:32:20 +00:00
Luigi Rizzo c7bd2b3dc2 MFC: add support for local config files and non-chroot
copy of files from the host filesystem
2009-03-23 21:32:03 +00:00
Marius Strobl 1f05d27ebf MFC: r190194
- In bge_ifmedia_upd_locked() take advantrage of LIST_FOREACH().
- If boot verbose, print asicrev, chiprev and bus type on attach.
- For PCI Express devices:
  1) Adjust max read request size to 4Kbytes
  2) Turn on FIFO_LONG_BURST in RDMA during bge_blockinit()
  Though 1) does not seem to have much to do with the poor TX performance
  observed on PCI Express bge(4), 2) does fix the problem. [1]
- Nuke the RX CPU self-diag, which prevents working cards from working
  (Linux tg3 does not have this diag neither does OpenBSD's bge(4)).
  The increasing of the firmware handshaking timeout to 20000 retries
  done as part of the original commit isn't merged as way already have a
  way higher BGE_TIMEOUT of 100000.

PR:		119361 [1]
Obtained from:	tg3 via DragonflyBSD [1], DragonflyBSD
2009-03-23 20:53:38 +00:00
VANHULLEBUS Yvan 9bc0d3095a SAs are valid (but dying) when they reached soft lifetime,
even if they have never been used.

Approved by:	gnn(mentor)
2009-03-23 20:37:37 +00:00
John Baldwin 0cd2926f89 MFC: Export the current values of nbuf, ncallout, and nswbuf via read-only
sysctls that match the tunable names.
2009-03-23 20:29:54 +00:00
John Baldwin f8f82eadf4 MFC: Move the debug.hashstat sysctl tree under DIAGNOSTIC. 2009-03-23 20:23:28 +00:00
Andrew Thompson a9294a04fe MFC r189905
Fix checking of the IGNORE_RESIDUE quirk.

Submitted by:	marius
2009-03-23 18:13:18 +00:00
Doug Barton 3e186a3c58 MFC 190320, don't expand example $FreeBSD strings 2009-03-23 14:53:21 +00:00
Jamie Gritton a08d3cd117 MFC:
r189864:
   Default to AF_LOCAL instead of AF_INET sockets for non-family-specific
   operations.  This allows the query operations to work in non-IPv4 jails,
   and will be necessary in a future of possible non-INET networking.
   (reprise r189970)

 r190151:
   Call the interface's if_ioctl from ifioctl(), if the protocol didn't
   handle the ioctl.  There are other paths that already call it, but this
   allows for a non-interface socket (like AF_LOCAL which ifconfig now
   uses) to use a broader class of interface ioctls.

Approved by:	bz (mentor)
2009-03-23 12:07:29 +00:00
Maxim Konovalov d4fe63a1e2 MFC r175118: when the ms/req fields exceed 1 second, drop the fractions
to fit more digits.
MFC r183665: batch mode.
MFC r189738: fix man page sinopsys; remove BUG section.
MFC r189739: turn the batch mode on if stdout is not tty.
2009-03-23 09:00:33 +00:00
Craig Rodrigues 6eeb699cb5 MFC 183005, 187812:
Add code to parse mount options passed as individual
items of the nmount() iovec.
2009-03-23 08:33:19 +00:00
Gregory Neil Shapiro 7d5a604d53 MFC r190304: Add the URL for RFC2142
PR:		conf/127510
2009-03-23 04:54:52 +00:00
Andrew Thompson d0091636e7 Sync umass quirks to HEAD. 2009-03-23 04:07:46 +00:00
Andrew Thompson 09c6f1428f Sync usbdevs to HEAD, keeping name compat. 2009-03-23 04:06:21 +00:00
Edwin Groothuis 271c74b5fb MFC of ...
r187524:
Latest bulletin C from Daniel GAMBIS: no leap at the end of june 2009.

r188436:
MFV of tzdata2009b.
- Updated leapseconds

r189923:
MFV of tzdata2009c
- Cuba has DST again.
2009-03-23 03:26:01 +00:00
Sean Farley 1c88a1c8ba Merge r189866 from head to stable/7:
Add the SIOCSIFMTU ioctl handling directly to tap(4) permitting it to have
  its MTU set higher than 1500 (ETHERMTU).  Its new limit is now 65535 as
  enforced by ifhwioctl() in if.c

  This allows a tap(4) device to be added to a bridge, which requires all
  interface members to have the same MTU, with an interface configured for
  jumbo frames.  QEMU may now connect to a network via tap(4) without
  requiring the real interface to have its MTU set to 1500 or lower.

  Reviewed by:	rpaulo, bms

Merge r189907 from head to stable/7:

  Remove the splimp()/splx() calls around the setting of the MTU.  They are
  no-op's that I inadvertently added.  Even if locking is needed in general
  for the ioctl's, setting a single long will not need it due to the
  operation being atomic.

  Reported by:	rwatson
2009-03-23 03:03:44 +00:00
Nathan Whitehorn 06b17a2c74 MFC r189675:
Change the PVO zone for fictitious pages to the unmanaged PVO zone, to match
the unmanaged flag set in the PVO attributes. Without doing this,
pmap_remove() could try to remove fictitious pages (like those created
by mmap of physical memory) from the wrong UMA zone, causing a panic.

Reported by:    Justin Hibbits
2009-03-23 00:15:38 +00:00
Colin Percival 75bb89c93a Correctly sanity-check timer IDs. [SA-09:06]
Limit the size of malloced buffer when dumping environment
variables. [EN-09:01]

Approved by:	so (cperciva)
Approved by:	re (kensmith)
Security:	FreeBSD-SA-09:06.ktimer
Errata:		FreeBSD-EN-09:01.kenv
2009-03-23 00:00:50 +00:00
Mike Silbersack 2e2335c75c Fix unp_gc so that it recognizes file descriptors
that are currently in the process of being passed
between processes as alive and does not
try to garbage collect them.

The full description of the problem and a test
program to reproduce it can be found in PR 112554.

This fix was inspired by similar fixes in NetBSD and BSD/OS.
However, it does not apply to FreeBSD 8 and above -
when this code was rewritten and optimized, the bug
was fixed in a different way.  The test program in the
PR passes on 8-current with flying colors.

PR:		112554
Submitted by:	Spencer Minear
Reviewed by:	Mike Silbersack
Obtained from:	Secure Computing Corp
MFC after:	4 weeks
2009-03-22 23:00:00 +00:00
Marius Strobl 59a31fa7fd MFC: r183423, r184428, r185133, r186290, r190108
Add a driver for `Schizo' Fireplane/Safari to PCI 2.1 and `Tomatillo'
JBus to PCI 2.2 bridges including subsequent fixes and improvements
as of r190108.
2009-03-22 22:19:54 +00:00
Marius Strobl 23027986a5 MFC: r190117
- Set MIIF_NOLOOP and don't add IFM_LOOP as loopback apparently isn't
  supported with these pseudo-PHYs. The MIIF_NOLOOP flag currently triggers
  nothing but hopefully will be respected by mii_phy_setmedia() later on.
- Don't add IFM_NONE as isolation isn't supported by these pseudo-PHYs.
- Use mii_phy_add_media() instead of mii_add_media() so the latter can
  be eventually retired.
2009-03-22 22:08:30 +00:00
Marius Strobl a80cf8dc69 MFC: r190112
- As suggested by OpenSolaris use up-burst-sizes for determining the
  supported burst sizes.
- Add support for 64-bit burst sizes (required for SBus GEM).
- Register our interrupt filters with the revived INTR_FAST so
  they these interrupts can even interrupt filters of device
  drivers as necessary.
- Failing to register as interrupt controller during attach shouldn't
  be fatal so just inform about this instead of panicing.
- Take advantage of KOBJMETHOD_END.
- Remove some redundant variables.
- Add missing const.
2009-03-22 22:05:22 +00:00
Marius Strobl f99bf7fc5d MFC: r190111
Add device found in B100.
2009-03-22 22:00:19 +00:00
Marius Strobl e4e75e613c MFC: r190109
- Ensure we find no unexpected partner.
- Failing to register as interrupt controller during attach shouldn't
  be fatal so just inform about this instead of panicing.
- Disable rerun of the streaming cache as workaround for a silicon bug
  of certain Psycho versions.
- Remove the comment regarding lack of newbus'ified bus_dma(9) as being
  able to associate a DMA tag with a device would allow to implement
  CDMA flushing/syncing in bus_dmamap_sync(9) but that would totally
  kill performance. Given that for devices not behind a PCI-PCI bridge
  the host-to-PCI bridges also only do CDMA flushing/syncing based on
  interrupts there's no additional disadvantage for polling(4) callbacks
  in the case schizo(4) has to do the CDMA flushing/syncing but rather a
  general problem.
- Don't panic if the power failure, power management or over-temperature
  interrupts doesn't exist as these aren't mandatory and not available
  with all controllers (not even Psychos). [1]
- Take advantage of KOBJMETHOD_END.
- Remove some redundant variables.
- Add missing const.

PR:	131371 [1]
2009-03-22 21:38:24 +00:00
Marius Strobl 5a7b7bed7e MFC: 190107 (partial)
- There's no need to wrap kdb_active and kdb_trap() in #ifdef KDB as
  they're always available.
- Remove unused variable. [1]
- Add a missing const.
- Sort includes.

Submitted by:	Christoph Mallon [1]
2009-03-22 21:31:02 +00:00
Marius Strobl a98790b109 MFC: r190103
Take advantage of KOBJMETHOD_END.
2009-03-22 21:17:20 +00:00
Marius Strobl ec1cfe8e51 MFC: r190101
Take advantage of KOBJMETHOD_END.
2009-03-22 21:16:10 +00:00
Marius Strobl 6a19f0e1f5 MFC: r190099
- Sort device methods.
- Take advantage of KOBJMETHOD_END.
2009-03-22 21:14:33 +00:00
Marius Strobl 1401fd5863 MFC: r190098
- Failing to register as interrupt controller during attach shouldn't
  be fatal so just inform about this instead of panicing.
- Sort device methods.
- Take advantage of KOBJMETHOD_END.
- Remove some redundant variables.
2009-03-22 20:54:22 +00:00
Marius Strobl a448bd1954 MFC: r188475
o Introduce KOBJMETHOD_END for the end of the kobj list.
o Fix a minor indentation problem.
o Put in the extra-strict KOBJMETHOD define, but commented out since
  the tree isn't yet ready.

Reviewed by:	(1) was posted to arch@ without objection (and 1 go for it)
2009-03-22 20:52:43 +00:00
Marius Strobl 857f042077 MFC: 188040
Use NULL in preference to 0 for pointers.
2009-03-22 20:50:45 +00:00
Alan Cox 183283f466 MFC r188932, r189785, r189795, and r190272
Optimize free_pv_entry(); specifically, avoid repeated TAILQ_REMOVE()s.

  Update the pmap's resident page count when a page table page is freed in
  pmap_remove_pde() and pmap_remove_pages().

  Update stale comments.  The alternate address space mapping was eliminated
  when PAE support was added to i386.  The direct mapping exists on amd64.
2009-03-22 20:46:37 +00:00
Marius Strobl 74b818c69a MFC: 190097
- Sprinkle const.
- Remove incorrect __unused.
2009-03-22 20:36:26 +00:00
Nick Hibma 329a410ae8 MFC the (current) u3g driver, a driver for USB based 3G cards and dongles.
This includes changes to ubsa (removing attachment from that device),
and small changes to ucom.

Note: A change to umass reducing the attach priority for it was committed
already.
2009-03-22 16:27:14 +00:00
Nick Hibma 4d271802a2 If the device marked itself quiet, make detachment quiet as well. This
avoids '<dev>XX: detached' messages when the 'attached' message was
suppressed.
2009-03-22 15:46:12 +00:00
Yoshihiro Takahashi 6df3a0da33 MFC: r190146, r190147
Teach the BIOS CD driver to use bounce buffers when the destination
    address is > 1 MB.
2009-03-22 11:03:24 +00:00
Yoshihiro Takahashi c8e88bdc5b MFC: r190029
Use the common PC98_MID_* defines instead of a magic number.
2009-03-22 10:55:07 +00:00
Yoshihiro Takahashi 32a073f111 MFC: r190027
Use the common PC98_SID_ACTIVE define instead of a local define.
2009-03-22 10:51:40 +00:00
Marius Strobl 0c1ba60d22 MFC: r183142, r186395, 190106
- Newer firmware versions no longer provide SUNW,stop-self so just
  disable interrupts and loop forever instead. We still could use
  SUNW,stop-self if implemented but acording to comments in OpenBSD,
  E{2,4}50 tend to have fragile firmware versions which wedge when
  using the OFW test service, so given that we don't really depend
  on SUNW,stop-self just nuke it altogether instead of risking
  problems.
- Hide all MP-related bits in <machine/smp.h> underneath #ifdef SMP.
- Inline ipi_all_but_self(9) and ipi_selected(9). We don't expose any
  additional bits but save a few cycles by doing so.
- Remove ipi_all(9), which actually only called panic(9). It can't be
  implemented natively anyway and having it removed at least causes
  MI users to already fail when linking.
- At least Fire V880 have a small hardware glitch which causes the
  reception of IDR_NACKs for CPUs we actually haven't tried to send
  an IPI to, even not as part of the initial try. According to tests
  this apparently can be safely ignored though, so just return if
  checking for the individual IDR_NACKs indicates no outstanding
  dispatch. Serializing the sending of IPIs between MD and MI code
  by the combined usage of smp_ipi_mtx makes no difference to this
  phenomenon. [1]
- Provide relevant debugging bits already with the initial panic
  in case of problems with the IPI dispatch, which would have
  allowed to diagnose the above problem without a specially built
  kernel.
- In case of cheetah_ipi_selected() base the delay we wait for
  other CPUs which also might want to dispatch IPIs on the total
  amount of CPUs instead of just the number of CPUs we let this
  CPU send IPIs to because in the worst case all CPUs also want
  to IPI us at the same time.
- There's no need to wrap kdb_active in #ifdef KDB as it's always
  available.

Reported and access for extensive tests provided by:    beat [1]
2009-03-22 10:33:10 +00:00
Marius Strobl 8607457664 MFC: r182918
Add drivers for the power management devices found on Fireplane/
Safari- and JBus-based machines. Currently the main purpose of
these drivers is debugging of the resource allocation on nexus(4)
and the register content of these devices though.
2009-03-22 10:08:41 +00:00
Marius Strobl 45a39a13f0 MFC: r181640, r190003
- Add sys_tick and the USIII and beyond sys_tick_cmpr to state_regs[].
- Const'ify and static'ize as appropriate.
- Use __FBSDID().
2009-03-22 09:57:57 +00:00
Ed Schouten 7b3659d011 MFC:
Don't disable CR-to-NL translation when waiting for data to arrive.

  A difference between the old and the new TTY layer is that the new
  implementation does not perform any post-processing before returning
  data back to userspace when calling read().

  sh(1)'s read turns the TTY into a raw mode before calling select(). This
  means that the first character will not receive any ICRNL processing.
  Inherit this flag from the original terminal attributes.

  Even though this issue is not present on RELENG_*, I'm MFCing it to make
  sh(1) in jails behave better.

  PR:		bin/129566
2009-03-22 08:09:16 +00:00
Nick Hibma f55ab73cdb MFC 184941:
Add a reset device command to ugen.c.
   This is needed to make some devices work that require a
   firmware upload and a USB reset afterwards.
2009-03-22 06:37:14 +00:00
Pyun YongHyeon 2e316866f0 MFC r189717:
Xref altq.4 and bump .Dd
2009-03-22 06:31:59 +00:00
Pyun YongHyeon e462e779e2 MFC r189716:
Add txp(4) to the list of drivers supporting ALTQ.
2009-03-22 06:30:54 +00:00
Pyun YongHyeon 3cec1f7540 MFC r189715:
Uncomment txp(4), txp(4) should work on all architectures.
2009-03-22 06:28:53 +00:00
Pyun YongHyeon c90a440138 MFC r189714:
bus_dma(9) conversion and make txp(4) work on all architectures.
  o Header file cleanup.
  o bus_dma(9) conversion.
    - Removed all consumers of vtophys(9) and converted to use
      bus_dma(9).
    - Typhoon2 functional specification says the controller supports
      64bit DMA addressing. However all Typhoon controllers are known
      to lack of DAC support so 64bit DMA support was disabled.
    - The hardware can't handle more 16 fragmented Tx DMA segments so
      teach txp(4) to collapse these segments to be less than 16.
    - Added Rx buffer alignment requirements(4 bytes alignment) and
      implemented fixup code to align receive frame. Previously
      txp(4) always copied Rx frame to align it on 2 byte boundary
      but its copy overhead is much higher than unaligned access on
      i386/amd64. Alignment fixup code is now applied only for
      strict-alignment architectures. With this change i386 and
      amd64 will get instant Rx performance boost. Typhoon2 datasheet
      mentions a command that pads arbitrary bytes in Rx buffer but
      that command does not work.
    - Nuked pointer trick in descriptor ring. This does not work on
      sparc64 and replaced it with bcopy. Alternatively txp(4) can
      embed a 32 bits index value into the descriptor and compute
      real buffer address but it may make code complicated.
    - Added endianness support code in various Tx/Rx/command/response
      descriptor access. With this change txp(4) should work on all
      architectures.
  o Added comments for known firmware bugs(Tx checksum offloading,
    TSO, VLAN stripping and Rx buffer padding control).
  o Prefer faster memory space register access to I/O space access.
    Added fall-back mechanism to use alternative I/O space access.
    The hardware supports both memory and I/O mapped access. Users
    can still force to use old I/O space access by setting
    hw.txp.prefer_iomap tunable to 1 in /boot/loader.conf.
  o Added experimental suspend/resume methods.
  o Nuke error prone Rx buffer handling code and implemented local
    buffer management with TAILQ. Be definition the controller can't
    pass the last received frame to host if no Rx free buffers are
    available to use as head and tail pointer of Rx descriptor ring
    can't have the same value. In that case the Rx buffer pointer in
    Rx buffer ring still holds a valid buffer and txp_rxbuf_reclaim()
    can't fill Rx buffers as the first buffer is still valid. Instead
    of relying on the value of Rx buffer ring, introduce local buffer
    management code to handle empty buffer situation. This should fix
    a long standing bug which completely hangs the controller under
    high network load. I could easily trigger the issue by sending 64
    bytes UDP frames with netperf. I have no idea how this bugs was
    not fixed for a long time.
  o Converted ithread interrupt handler to filter based one.
  o Rearranged txp_detach routine such that it's now used for general
    clean-up routine.
  o Show sleep image version on device attach time. This will help
    to know what action should be taken depending on sleep image
    version. The version information in datasheet was wrong for newer
    NV images so I followed Linux which seems to correctly extract
    version numbers from response descriptors.
  o Firmware image is no longer downloaded in device attach time. Now
    it is reloaded whenever if_init is invoked. This is to ensure
    correct operation of hardware when something goes wrong.
    Previously the controller always run without regard to running
    state of firmware. This change will add additional controller
    initialization time but it give more robust operation as txp(4)
    always start off from a known state. The controller is put into
    sleep state until administrator explicitly up the interface.
  o As firmware is loaded in if_init handler, it's now possible to
    implement real watchdog timeout handler. When watchdog timer is
    expired, full-reset the controller and initialize the hardware
    again as most other drivers do. While I'm here use our own timer
    for watchdog instead of using if_watchdog/if_timer interface.
  o Instead of masking specific interrupts with TXP_IMR register,
    program TXP_IER register with the interrupts to be raised and
    use TXP_IMR to toggle interrupt generation.
  o Implemented txp_wait() to wait a specific state of a controller.
  o Separate boot related code from txp_download_fw() and name it
    txp_boot() to handle boot process.
  o Added bus_barrier(9) to host to ARM communication.
  o Added endianness to all typhoon command processing. The ARM93C
    always expects little-endian format of command/data.
  o Removed __STRICT_ALIGNMENT which is not valid on FreeBSD.
    __NO_STRICT_ALIGNMENT is provided for that purpose on FreeBSD.
    Previously __STRICT_ALIGNMENT was unconditionally defined for
    all architectures.
  o Rewrote SIOCSIFCAP ioctl handler such that each capability can be
    controlled by ifconfig(8). Note, disabling VLAN hardware tagging
    has no effect due to the bug of firmware.
  o Don't send TXP_CMD_CLEAR_STATISTICS to clear MAC statistics in
    txp_tick(). The command is not atomic. Instead, just read the
    statistics and reflect saved statistics to the statistics.
    dev.txp.%d.stats sysctl node provides detailed MAC statistics.
    This also reduces a lot of waste of CPU cycles as processing a
    command ring takes a very long time on ARM93C. Note, Rx
    multicast and broadcast statistics does not seem to right. It
    might be another bug of firmware.
  o Implemented link state change handling in txp_tick(). Now sending
    packets is allowed only after establishing a valid link. Also
    invoke link state change notification whenever its state is
    changed so pseudo drivers like lagg(4) that relies on link state
    can work with failover or link aggregation without hacks.
    if_baudrate is updated to resolved speed so SNMP agents can get
    correct bandwidth parameters.
  o Overhauled Tx routine such that it now honors number of allowable
    DMA segments and checks for 4 free descriptors before trying to
    send a frame. A frame may require  4 descriptors(1 frame
    descriptor, 1 or more frame descriptors, 1 TSO option descriptor,
    one free descriptor to prevent descriptor wrap-around) at least
    so it's necessary to check available free descriptors prior to
    setting up DMA operation.
  o Added a sysctl variable dev.txp.%d.process_limit to control
    how many received frames should be served in Rx handler. Valid
    ranges are 16 to 128(default 64) in unit of frames.
  o Added ALTQ(4) support.
  o Added missing IFCAP_VLAN_HWCSUM as txp(4) can offload checksum
    calculation as well as VLAN tag insertion/stripping.
  o Fixed media header length for VLAN.
  o Don't set if_mtu in device attach, it's already set in
    ether_ifattach().
  o Enabled MWI.
  o Fixed module unload panic when bpf listeners are active.
  o Rearranged ethernet address programming logic such that it works
     on strict-alignment architectures.
  o Removed unused member variables in softc.
  o Added support for WOL.
  o Removed now unused TXP_PCI_LOMEM/TXP_PCI_LOIO.
  o Added wakeup command TXP_BOOTCMD_WAKEUP definition.
  o Added a new firmware version query command, TXP_CMD_READ_VERSION.
  o Removed volatile keyword in softc as bus_dmamap_sync(9) should
    take care of this.
  o Removed embedded union trick of a structure used to to access
    a pointer on LP64 systems.
  o Added a few TSO related definitions for struct txp_tcpseg_desc.
    However TSO is not used at all due to the limitation of hardware.
  o Redefined PKT_MAX_PKTLEN to theoretical maximum size of a frame.
  o Switched from bus_space_{read|write}_4 to bus_{read|write}_4.
  o Added a new macro TXP_DESC_INC to compute next descriptor index.

  Tested by:	don.nasco <> gmail dot com
2009-03-22 06:26:47 +00:00
Pyun YongHyeon 57724e7ccd MFC r189690:
Replace local CRC32 routine with ether_crc32_be(). This should
  have happened long time ago. Also simplify Rx filter logic.
2009-03-22 06:21:35 +00:00
Pyun YongHyeon df2bae7d47 MFC r189689:
s/u_int8_t/uint8_t/g
  s/u_int16_t/uint16_t/g
  s/u_int32_t/uint32_t/g
  s/u_int64_t/uint64_t/g
2009-03-22 06:16:44 +00:00
Pyun YongHyeon 08adbd6752 MFC r189688:
style(9) - space after keywords.
2009-03-22 06:11:35 +00:00
Pyun YongHyeon 089ecc7454 MFC r189687:
Remove return statement at the end of function that returns void.
2009-03-22 06:07:03 +00:00
Pyun YongHyeon 178e22c813 MFC r189686:
Remove extra tab characters.
2009-03-22 06:04:16 +00:00
Pyun YongHyeon 3476d76712 MFC r189685:
K&R -> ANSI C function definitions.
2009-03-22 06:01:33 +00:00
David Schultz f6d1838636 MFC r189804:
Multibyte character support for cal(1).

  PR:		131578
2009-03-22 05:44:56 +00:00
Doug Barton 14c4f1aeac MFC the 9.4.3-P2 update 2009-03-21 23:03:56 +00:00
Doug Barton 78713bed9e MFC r189761, r189763, r189992, r189994:
1. Fix creation and saving of the new mtree file with the -D option
2. Clean up usage() and man page so the options are all listed consistently
3. Add -F option
4. More man page cleanups for CVS -> VCS, punctuation, etc.
2009-03-21 22:32:53 +00:00
Doug Barton 90a948de7b MFC r189902, clarify a few sections and add FreeBSD-specific notes 2009-03-21 22:20:55 +00:00
Craig Rodrigues 7ef515853e MFC r182460:
Add the ability to run /usr/sbin/crashinfo on a new core dump automatically
during boot.  Right now this is disabled by default, but it can be enabled
by setting 'crashinfo_enable=YES' in rc.conf.
2009-03-21 21:16:05 +00:00
Craig Rodrigues a90abeaf52 MFC r180318:
Remove the $DUMPDIR variable. It's redundant and the rest of the
script uses $dumpdir directly.
2009-03-21 21:12:16 +00:00
Bjoern A. Zeeb 147e9be95d MFC r186223:
Another step assimilating IPv[46] PCB code:
  normalize IN6P_* compat flags usage to their equialent
  INP_* counterpart.
2009-03-21 13:37:49 +00:00
Bjoern A. Zeeb 86588ebc31 MFC r186141:
Another step assimilating IPv[46] PCB code - directly use
  the inpcb names rather than the following IPv6 compat macros:
  in6pcb, in6p_sp, in6p_ip6_nxt, in6p_flowinfo, in6p_vflag,
  in6p_flags, in6p_socket, in6p_lport, in6p_fport, in6p_ppcb and
  sotoin6pcb().

  Apart from removing duplicate code in netipsec, this is a pure
  whitespace, not a functional change.
2009-03-21 12:53:42 +00:00
Bjoern A. Zeeb e34b557662 MFC r185371:
Replace most INP_CHECK_SOCKAF() uses checking if it is an
  IPv6 socket by comparing a constant inp vflag.
  This is expected to help to reduce extra locking.
2009-03-21 12:02:11 +00:00
Bjoern A. Zeeb 36f458d7c2 MFC r185370:
Merge in6_pcbfree() into in_pcbfree() which after the previous
  IPsec change in r185366 (r185366 for stable/7) only differed in
  two additonal IPv6 lines.
  Rather than splattering conditional code everywhere add the v6
  check centrally at this single place.
2009-03-21 11:18:59 +00:00
Bjoern A. Zeeb 8cb0ee7764 MFC r185366:
Unify ipsec[46]_delete_pcbpolicy in ipsec_delete_pcbpolicy.
  Ignoring different names because of macros (in6pcb, in6p_sp) and
  inp vs. in6p variable name both functions were entirely identical.
2009-03-20 23:06:16 +00:00
Alexander Motin 1683dbf6aa MFC rev. 188510, 189876, 189879
s/succeded/succeeded/ in comments.

Fix spelling in message.

Remove CD input hack for ALC268 based Acer systems. Latest systems does not
implement CD input in hardware, while unconditional showing it confuse users.
Also it was made in the way that sometimes improper with present driver.

Add patch for ALC268 based Acer TM5320 to make headphones jack sensing work.
Default configuration defines two separate playback associations, which
current driver unable to trace properly due to order they are defined and
limited codec uniformity.
2009-03-20 21:46:28 +00:00
Bjoern A. Zeeb cefb7d3211 MFC r185344:
Remove in6_pcbdetach() as it is exactly the same function
  as in_pcbdetach() and we don't need the code twice.
2009-03-20 21:22:14 +00:00
Alexander Motin 2732494684 MFC rev. 186093
To avoid one doubtless netgraph SMP scalability limitation point, switch
node queues processing from single swi:net thread to several specialized
threads.
2009-03-20 20:55:57 +00:00
Christian S.J. Peron 82b619d06f MFC r189590
- Mark the mac_bsdextended rules sysctl as mpsafe.
2009-03-20 18:04:20 +00:00
Christian S.J. Peron 9e24888850 MFC r189490
- Mark bpf(4) stats sysctl as mpsafe. We do not require Giant here.
2009-03-20 18:00:19 +00:00
John Baldwin ea35732c7b MFC: Add a new vfs.nfs.prime_access_cache sysctl to determine whether or
not nfs_getattr() will use an ACCESS RPC to prime the access cache instead
of a simple GETATTR RPC.  The sysctl defaults to enabled to maintain the
previous behavior.
2009-03-20 15:52:11 +00:00
Jamie Gritton cc5d79ac8d Revert r189970 until its implications get sorted out in CURRENT.
Approved by:	bz(mentor)
2009-03-20 13:46:30 +00:00
Robert Noland 1908194e4b Merge 189915
Add support for matching solely on vendor id.

We will use this method with nouveau
2009-03-20 05:51:54 +00:00
Robert Noland 87a5e98385 Merge 189914,189916
Improve the debugging output of drm_mmap
Cast to (unsigned long) to make printf happy on i386
2009-03-20 05:50:42 +00:00
Robert Noland 43c815edc0 Merge 189913
Add list_for_each_prev to our linux compatibility.

We need this for nouveau
2009-03-20 05:47:49 +00:00
Robert Noland 6d05c314e1 Merge 189912
Minor code cleanup
2009-03-20 05:46:25 +00:00
Robert Noland 49567263be Merge 189911
We can have more than 3 pci resources
2009-03-20 05:45:26 +00:00
Robert Noland 44f25d3933 Merge 189910
Cast register maps and offsets to vm_offset_t
2009-03-20 05:44:31 +00:00
Robert Noland cc95b4c49c Merge 189909
Change the logic around to match ati_pcigart.
2009-03-20 05:43:24 +00:00
Robert Noland a970b36949 Merge 189908
Use flsl() here rather than ffsl()

I discovered that we were computing page_order differently than linux.
2009-03-20 05:42:27 +00:00
Yoshihiro Takahashi 3bf2c85da7 MFC: r189445
Allow syscons to work without any hints.
2009-03-20 03:10:12 +00:00
Christian S.J. Peron 3fa0c8a474 MFC r182120
- Avoid printing warning message for vnodes that have dead fileops
  when MAC is enabled
2009-03-20 01:15:50 +00:00
Christian S.J. Peron 28889ff658 MFC r184660
- Dont hold Giant around vn_fullpath and vn_fullpath_global
2009-03-20 00:55:38 +00:00
Christian S.J. Peron b1a51b0763 MFC r182090
- use sbuf_putc instead of sbuf_cat
2009-03-20 00:38:14 +00:00
Christian S.J. Peron 2f6fc49044 MFC r181060
- Add vn_fullpath_global()
- Fix issues in auditing pathnames within chroot/jail envs
2009-03-20 00:34:50 +00:00
Christian Brueffer 70ed1284c0 MFC: r186715
Call pcn_start_locked() instead of pcn_start() where the softc lock is
already held.
2009-03-19 22:01:19 +00:00
John Baldwin 003b2c31bc Remove empty mergeinfo. 2009-03-19 21:40:12 +00:00
Warner Losh 14743db308 MFC: r181740
Move pcn.
2009-03-19 20:40:11 +00:00
John Baldwin 4c31cba52e MFC: Honor the prefetchable flag in memory BARs. 2009-03-19 18:04:37 +00:00
John Baldwin 6253d466e0 MFC: Allow syscons to work on amd64 and i386 without any hints. 2009-03-19 17:46:51 +00:00
John Baldwin cc6cc7dc17 MFC: Ignore I/O APICs with a starting IRQ > 255. 2009-03-19 17:42:11 +00:00
Roman Divacky 1afb4edc7a Merge r189004.
Requested by:	yongari
Approved by:	ed (mentor)
2009-03-19 17:06:04 +00:00
John Baldwin 5742c5ae38 MFC:
- Make it possible to disable GPT support by setting LOADER_NO_GPT_SUPPORT
  in make.conf or src.conf.
- When GPT is enabled (which it is by default), use memory above 1 MB and
  leave the memory from the end of the bss to the end of the 640k window
  purely for the stack.  The loader has grown and now it is much more
  common for the heap and stack to grow into each other when both are
  located in the 640k window.
2009-03-19 17:02:10 +00:00
John Baldwin 6d3d715258 MFC: Fix uninitialized pointer dereference. 2009-03-19 16:55:26 +00:00
Marius Strobl 6ed9db6eb7 MFC: r188164, r188457
- device_shutdown returns an int.
- Don't reset the PHY probe retry counter within the loop so
  it will eventually terminate as intended. [1]

Submitted by:	Helen Zhang [1]
2009-03-19 16:44:37 +00:00
Marius Strobl 1246d56295 MFC: r186682
- Currently the PMAP code is laid out to let the kernel TSB cover the
  whole KVA space using one locked 4MB dTLB entry per GB of physical
  memory. On Cheetah-class machines only the dt16 can hold locked
  entries though, which would be completely consumed for the kernel
  TSB on machines with >= 16GB. Therefore limit the KVA space to use
  no more than half of the lockable dTLB slots, given that we need
  them also for other things.
- Add sanity checks which ensure that we don't exhaust the (lockable)
  TLB slots.
2009-03-19 16:37:30 +00:00
Marius Strobl 41741f3573 MFC: r186140
Don't try reading the SXP_PINS_DIFF on the 10160 and 12160 SCSI
controllers. Reading this register, for which there are indications
that it doesn't really exist, returns 0 on at least some 12160
and doing so on Sun Fire V880 causes a data access error exception.

Reported and tested by:	Beat Gaetzi
Approved by:		mjacob
Obtained from:		OpenBSD (modulo setting isp_lvdmode)
2009-03-19 16:14:00 +00:00
Marius Strobl 0affa41ff8 MFC: r185109
Use the interrupt level right below PIL_FAST for executing interrupt
filters instead of PIL_FAST and allow special filters and handlers
for interrupts which need to be able to interrupt even filters, f.e.
bus error interrupts, to be registered with the revived INTR_FAST
at PIL_FAST.
2009-03-19 16:11:14 +00:00
Marius Strobl 88a388b086 MFC: r185008, r188456
- Allow the front-end to specify that iommu(4) should disable
  rerun of the streaming cache for silicon bug workarounds.
- Announce the presence of a streaming cache on attach for
  informational purposes.
- For performance reasons don't do unnecessary flushes of the
  streaming cache when coherent mappings are synced.
- Fix some minor style issues.
2009-03-19 16:03:21 +00:00
Andriy Gapon 8303922cee MFC 179060: udf: fix and speedup timestamp calculations
markus and emax are notified

Approved by:	jhb (mentor)
2009-03-19 15:49:30 +00:00
Marius Strobl 0fcb706a92 MFC: r179694
Mark "highaddr" and "lowaddr" appropriately. Change "dma" to "DMA".

Fix spelling mistage found by rodrigc@.

Reviewed by:	rodrigc, danger
2009-03-19 15:45:43 +00:00
John Baldwin 2bd6eae917 MFC: Teach the BIOS CD driver to use bounce buffers when the destination
address is > 1 MB.
2009-03-19 15:40:44 +00:00
John Baldwin 765dd51423 MFC: Add support for the single-port NetMos NM9835 serial adapter. 2009-03-19 15:35:33 +00:00
Marius Strobl 05259b4abf MFC: r185007
Use the spitfire VIS block copy/zero functions also with cheetah-
class CPUs. In theory one could also use versions additionally
taking advantage of the prefetch cache with cheetah-class CPUs,
in my worldstone runs these either didn't provide extra speedup
(USIII+) in comparison to the existing spitfire versions or were
even slightly slower (USIIIi) though, so they aren't committed
for now.
The basic problem leading to the VIS-based copy/zero functions
being initially disabled for cheetah-class CPUs was solved by
letting cheetah_init() clear DCR_IFPOE.
2009-03-19 15:32:16 +00:00
Marius Strobl c9781e86ee MFC: r185006
Micro-optimize spitfire_block_{copy,zero}():
- Predict the loop as taken as it's more likely that there's still
  data to copy and memory to zero respectively.
- Don't waste the delay slot.
2009-03-19 15:30:45 +00:00
Marius Strobl 69da54d9b0 MFC: 183762
Enable mpt(4) as some later models have on-board Fusion-MPT
controllers and it's sufficient endian-clean since r189999.
While at it, remove the commented out ncr(4) as it doesn't
even use bus_dma(9), which isn't worth fixing though as sym(4)
already supports a superset of the controllers driven by ncr(4).
2009-03-19 15:21:04 +00:00
Marius Strobl f6dc6d1b8b MFC: r183505
cosmetic changes and style fixes
2009-03-19 15:16:05 +00:00
Marius Strobl 3833b32de9 MFC: r183202, r183203, r183204
Some of the assembly files depend on v9a/v9b-only instructions so
compile these with -mcpu=ultrasparc (which is the hard-coded default
of our system compiler), which allows the remainder of the kernel to
be compiled with "only" -mcpu=v9 for reference and testing purposes.
2009-03-19 15:08:35 +00:00
Marius Strobl c9f14a928f MFC: r183144
- Add a missing prototype.
- Remove a banal comment.
2009-03-19 15:01:24 +00:00
Marius Strobl a82688caae MFC: r183152
Clear any possibly pending PCI error bits left by the firmware. These
could trigger an error interrupt that we can't actually to do anything
against as soon as enabling the error handlers.
While at it don't bother about writing only to the write-one-to-clear
bits when clearing error bits.
2009-03-19 14:51:56 +00:00
Andriy Gapon 2203016373 MFC 189364: udf: use truly unique directory cookie
Approved by:	jhb (mentor)
2009-03-19 14:32:11 +00:00
Andriy Gapon 3de1c50ec0 MFC 189302: udf_readdir: do not advance offset if entry can not be uio-ed
Approved by:	jhb (mentor)
2009-03-19 14:26:15 +00:00
Andriy Gapon 0cd28c5746 MFC 189111: udf_readatoffset: correctly hanlde data in fentry
Approved by:	jhb (mentor)
2009-03-19 14:20:00 +00:00
Marius Strobl 5d3df2c000 MFC: r182916, r188455 (partial)
Work around Cheetah+ erratum 34 (USIII+ erratum #10) by relocating
the locked entry in it16 slot 0, which typically is occupied by the
PROM, and manually entering locked entries in slots != 0.

Thanks to Hubert Feyrer for donating the Blade 2000 this change was
developed on.
2009-03-19 14:17:34 +00:00
Marius Strobl 54445a6f84 MFC: r182878
For cheetah-class CPUs ensure that the dt512_0 is set to hold 8k pages
for all three contexts and configure the dt512_1 to hold 4MB pages for
them (e.g. for direct mappings).
This might allow for additional optimization by using the faulting
page sizes provided by AA_DMMU_TAG_ACCESS_EXT for bypassing the page
size walker for the dt512 in the superpage support code.

Submitted by:	nwhitehorn (initial patch)
2009-03-19 14:15:11 +00:00
Andriy Gapon afff721199 MFC 189082: udf_readatoffset: read through directory vnode, do not read > MAXBSIZE
Approved by:	jhb (mentor)
2009-03-19 14:12:07 +00:00
Marius Strobl d10d3b3254 MFC: r182877, r188455, r188477
USIII and beyond CPUs have stricter requirements when it comes
to synchronization needed after stores to internal ASIs in order
to make side-effects visible. This mainly requires the MEMBAR #Sync
after such stores to be replaced with a FLUSH. We use KERNBASE in
the kernel and the newly introduced PROMBASE for the loader as the
addresses to FLUSH as these are guaranteed to not trap. Actually,
the USII synchronization rules also already require a FLUSH in
pretty much all of the cases changed.
We're also hitting an additional USIII synchronization rule which
requires stores to AA_IMMU_SFSR to be immediately followed by a DONE,
FLUSH or RETRY. Doing so triggers a RED state exception though so
leave the MEMBAR #Sync. Linux apparently also has gotten away with
doing the same for quite some time now, apart from the fact that
it's not clear to me why we need to clear the valid bit from the
SFSR in the first place.

Reviewed by:	nwhitehorn
2009-03-19 14:11:03 +00:00
Andriy Gapon e029ba641f MFC 189070: udf: add read-ahead support modeled after cd9660
Approved by:	jhb (mentor)
2009-03-19 14:09:20 +00:00
Andriy Gapon 76aacc4c61 MFC 189069: udf_map: return proper error code instead of leaking an internal one
Approved by:	jhb (mentor)
2009-03-19 14:07:27 +00:00
Andriy Gapon 0f110a31b3 MFC 189068: udf_read: correctly read data from files with data embedded into fentry
Approved by:	jhb (mentor)
2009-03-19 14:04:59 +00:00
Andriy Gapon 9d78e09589 MFC 189067,189363: udf_strategy: tiny optimization of logic, calculations; extra diagnostics
Approved by:	jhb (mentor)
2009-03-19 14:00:23 +00:00
Andriy Gapon 1d54c5514e MFC 188815, 188815: fix incorrect error return when reading a large dir
Approved by:	jhb (mentor)
2009-03-19 13:48:43 +00:00
Marius Strobl 8a31ed0a69 MFC: r182774
When determining whether we trapped while in the PROM don't only
check for addresses below the PROM range but also those above.
2009-03-19 13:24:48 +00:00
Christian Brueffer a9d181ff40 MFC: r186965
Recognize et(4), igb(4), ixgbe(4) and nxge(4) devices.
Correct some minor whitespace in the ae(4) entry.

The iwn(4) entry was left out as the driver has not been merged.
2009-03-19 13:18:28 +00:00
Marius Strobl 1495f1bc21 MFC: r182773
Use the PROM provided SUNW,set-trap-table to take over the trap
table. This is required in order to set obp-control-relinquished
within the PROM, allowing to safely read the OFW translations node.
Without this, f.e. a `ofwdump -ap` triggers a fatal reset error or
worse things on machines based on USIII and beyond.
In theory this should allow to remove touching %tba in cpu_setregs(),
in practice we seem to currently face a chicken and egg problem when
doing so however.
2009-03-19 13:17:19 +00:00
Marius Strobl 3030413a91 MFC: r182769 2009-03-19 13:11:02 +00:00
Marius Strobl a3ffb9c443 MFC: r182768
Flesh out MMU and cache handling of cheetah-class CPUs.
2009-03-19 13:09:53 +00:00
Marius Strobl a3d9d43a11 MFC: r182767
The physical address space of cheetah-class CPUs has been extended
to 43 bits so update TD_PA_BITS accordingly. For the most part this
increase is transparent to the existing code except for when reading
the physical address from ASI_{D,I}TLB_DATA_ACCESS_REG, which we
only do in the loader and which was already adjusted in r190002, or
from the OFW translations node.
While at it, ensure we are only taking valid OFW mapping entries
into account.
2009-03-19 13:08:24 +00:00
Yoshihiro Takahashi 6c1209c235 MFC: r186073
Disconnect the efi from pc98.
2009-03-19 13:02:37 +00:00
Yoshihiro Takahashi f8f0b97076 MFC: r182441
Remove unneeded include.
2009-03-19 13:00:21 +00:00
Marius Strobl 26c387beb0 MFC: r182730, r182743, r183201
- USIII-based machines can consist of CPUs running at different
  frequencies (and having different cache sizes) so use the STICK
  (System TICK) timer, which was introduced due to this and is
  driven by the same frequency across all CPUs, instead of the
  TICK timer, whose frequency varies with the CPU clock, to drive
  hardclock. We use the STICK timers only when absolutely necessary
  though as the STICK timers are driven at frequencies as low as
  5MHz, resulting in bad granularity compared to the TICK timers.
  However, don't employ the workaround for the BlackBird erratum #1
  when using the TICK timer on machines with cheetah-class CPUs for
  performance reasons.
  Note that using the STICK counter also causes a hang with USIIIi
  MP machines for reasons unknown, but these can only consist of
  identical CPUs anyway.
- Given that we only (try to) synchronize the (S)TICK timers of APs
  with the BSP during startup, we could end up spinning forever in
  DELAY(9) if that function is migrated to another CPU while we're
  spinning due to clock drift afterwards, so pin to the CPU in order
  to avoid migration. Unfortunately, pinning doesn't work at the
  point DELAY(9) is required by the low-level console drivers, yet,
  so switch to a function pointer, which is updated accordingly, for
  implementing DELAY(9). For USIII and beyond, this would also allow
  to easily use the STICK counter instead of the TICK one here,
  there's no benefit in doing so however.
  While at it, use cpu_spinwait(9) for spinning in the delay-
  functions. This currently is a NOP though.
- Don't set the TICK timer of the BSP to 0 during startup as there's
  no need to do so.
- Implement cpu_est_clockrate().
- Unfortunately, USIIIi-based machines don't provide a timecounter
  device besides the STICK and TICK counters (well, in theory the
  Tomatillo bridges have a performance counter that can be (ab)used
  as timecounter by configuring it to count bus cycles, though unlike
  the performance counter of Schizo bridges, the Tomatillo one is
  broken and counts Sun knows what in this mode). This means that
  we've to use a (S)TICK counter for timecounting, which has the old
  problem of not being in sync across CPUs, so provide an additional
  timecounter function which binds itself to the BSP but has an
  adequate low priority.
2009-03-19 12:55:11 +00:00
Marius Strobl 394b27ae06 MFC: r182729
Switch sun4v to back to using its own clock.c, which was ressurected
in r190005, as the sparc64 version is going to be rototilled and sun4v
currently can't be verified to still work with the new sparc64 one
due to its overall state.
2009-03-19 12:32:13 +00:00
Robert Noland 00e2aa4414 Merge 189899
Use the right MSI_REARM for RS600.
2009-03-19 07:41:58 +00:00
Robert Noland c0cad8adae Merge 189870
Teach psm about O_ASYNC

This makes Xorg happy if you aren't using moused.
2009-03-19 07:40:41 +00:00
Robert Noland 0994515af8 Merge 189869
Get rid of any remaining PZERO flags in mtx_sleep()

Also, clean up some ifdef mess while I'm here.
2009-03-19 07:39:07 +00:00
Robert Noland 9554cd1f29 Merge 189868
Fix R600 writeback across suspend/resume.

This is likely a NOOP for us, since I haven't ported the suspend/resume
code yet.
2009-03-19 07:37:00 +00:00
Marcel Moolenaar 7c190e7d2a MFC r184070,185454,185495-185496,188330 -- gpart(8):
o  Add support for multiple attributes.
o  Parse the error string returned by the kernel.
o  Prefer the start and end attributes over the offset and size attributes.
2009-03-19 06:44:00 +00:00
Pyun YongHyeon 9df85b1b53 MFC r187325:
Add hardware MAC statistics support. Also added some reserved
  statistics register definition. Users can get current MAC
  statistics from dev.msk.%d.stats sysctl node(%d is unit number of
  a device).
2009-03-19 02:13:14 +00:00
Pyun YongHyeon cd64ad5281 MFC r189022:
Update to latest 3Com firmware image. The latest fimware is
  required to make 3CR990 familiy controllers run on NV flash
  firmware version 03.001.008.
  The latest firmware added HMAC digest information so teach txp(4)
  to pass them to sleep image before downloading is started.

  While I'm here restore previous IMR/IER register if firmware
  downloading have failed.

  PR:	kern/89876, kern/132047
2009-03-19 01:07:21 +00:00
Pyun YongHyeon 3a7b0cbf19 MFC r188550:
Receving VLAN oversized frames raise SIS_ISR_RX_ERR interrupt, so
  make sis_rxeof() handle that too. Previously it used to receive the
  frame and reset controller.

  PR:	kern/131414
2009-03-19 00:55:27 +00:00
Pyun YongHyeon d8862b1887 MFC r185784:
Fix a long standing VLAN tagged frame handling bug.
  When VLAN tagged frame is received the hardware sets 'LONG' bit of
  Rx status word. It is always set when the size of received frame
  exceeded 1518 bytes, including CRC. This VLAN tagged frame clears
  'OK' bit of Rx status word such that driver should not rely on 'OK'
  bit of Rx status word to pass the VLAN tagged frame to upper stack.

  To fix the bug, don't use SIS_CMDSTS_PKT_OK for Rx error check and
  introduce SIS_RXSTAT_ERROR macro that checks Rx errors. If we are
  configured to accept VLAN tagged frames and the received frame size
  is less than or equal to maximum allowed length of VLAN tagged
  frame, clear 'LONG' bit of Rx status word before checking Rx
  errors.

  Reported by:	Vladimir Ermako < samflanker <> gmail DOT com >
  Tested by:	Vladimir Ermako < samflanker <> gmail DOT com >
2009-03-19 00:52:30 +00:00
Sam Leffler 67cc07f8f4 MFC makefs: a tool for creating a file system image from a directory tree 2009-03-19 00:28:54 +00:00
Marius Strobl 3453c13e08 MFC: r182691
Resurrect clock.c from r164371.
2009-03-19 00:04:30 +00:00
Marius Strobl 8d46b4dee9 MFC: r182689
- USIII-based machines can consist of CPUs having different cache
  sizes (and running at different frequencies) so move the cacheinfo
  to the PCPU data. While at it, remove some redundant and/or unused
  members from struct cacheinfo.
- In sparc64_init don't assume the first CPU node we find in the OFW
  device tree is the BSP.
2009-03-19 00:02:07 +00:00
Marius Strobl 96b547dea6 MFC: r182478, r182766
- Read ASI_{D,I}TLB_DATA_ACCESS_REG twice in order to work around
  errata of USIII and beyond (USIII erratum #19, USIII+ erratum #1,
  USIIIi erratum #1).
- Use the cheetah PA mask in {d,i}tlb_va_to_pa_sun4u() for USIII
  and beyond. This is done so that these functions will still mask
  the debug bits of spitfire-class CPUs once we increase TD_PA_BITS
  to match the number of bits used for the PA by cheetah-class CPUs.
- Change {d,i}tlb_enter_sun4u() to also set TLB_CTX_KERNEL as the
  context of the mappings entered. This is more or less cosmetic as
  TLB_CTX_KERNEL is 0.
- Now that we have to distinguish between different sun4u CPUs in
  the loader anyway, no longer do trial and error when reading the
  portid property.
2009-03-18 23:50:25 +00:00
Marius Strobl 7e6e34b6db MFC: r181642
Assume OpenSolaris knows better and use their value for VM_MAX_PROM_ADDRESS.
2009-03-18 23:35:40 +00:00
Marius Strobl d3ae751681 MFC: r181398
- Reimplement {d,i}tlb_enter() and {d,i}tlb_va_to_pa() in C. There's
  no particular reason for them to be implemented in assembler and
  having them in C allows easier extension as well as using more C
  macros and {d,i}tlb_slot_max rather than hard-coding magic (and
  actually spitfire-only) values.
- Fix the compilation of pmap_print_tte().
- Change pmap_print_tlb() to use ldxa() rather than re-rolling it
  inline as well as TLB_DAR_SLOT and {d,i}tlb_slot_max rather than
  hardcoding magic (and actually spitfire-only) values.
- While at it, suffix the above mentioned functions with "_sun4u" to
  underline they're architecture-specific.
- Use __FBSDID and macros instead of magic values in locore.S.
- Remove unused includes and smp_stack in locore.S.
2009-03-18 23:25:12 +00:00
Marius Strobl 2122328764 MFC: r186878
Make the whole initiator mode part of mpt(4) endian-clean,
specifically SPI controllers now also work in big-endian
machines and some conversions relevant for FC and SAS
controllers as well as support for ILP32 machines which all
were omitted in previous attempts are now also implemented.
The IOCTL-interface is intentionally left (and where needed
actually changed) to be completely little-endian as otherwise
we would have to add conversion code for every possible
configuration page to mpt(4), which didn't seem the right
thing to do, neither did converting only half of the user-
interface to the native byte order.
This change was tested on amd64 (SAS+SPI), i386 (SAS) and
sparc64 (SAS+SPI). Due to lack of the necessary hardware
the target mode code is still left to be made endian-clean.

Reviewed by:	scottl
2009-03-18 23:13:35 +00:00
Marius Strobl 84a441eba3 MFC: r172842 (partial), r178725
Restore multi-release tradition of the driver.
2009-03-18 22:57:55 +00:00
Marius Strobl 53d73bb639 MFC: r189494
On architectures with strict alignment requirements compensate
the misalignment of the IP header that prepending the EtherIP
header might have caused.

PR:		131921
2009-03-18 22:12:54 +00:00
John Baldwin d582b2391a Remove the empty mergeinfo from these files. 2009-03-18 21:57:35 +00:00
John Baldwin 4682204248 MFC: Remove a comment and expand scope of sysctl sx lock a bit to fully
restore limiting of wired memory by userspace for sysctls.
2009-03-18 21:54:28 +00:00
John Baldwin 3d2672abd1 MFC: Use shared vnode locks when invoking VOP_READDIR(). 2009-03-18 21:51:02 +00:00
Warner Losh dd38f46724 MFC 181524:
Move sis to sys/dev/sis for consistency.
2009-03-18 21:46:55 +00:00
Maksim Yevmenkin da0f845b99 MFC r189462
MFC is ahead of schedule due to request.

Add Bluetooth compatibility shims. Inspired by Linux BlueZ and NetBSD.

Discussed with:	Iain Hibbert plunky -at- rya-online -dot- net of NetBSD
Requested by:	Bruce Simpson bms -at- incunabulum -dot- net
Tested by:	Bruce Simpson bms -at- incunabulum -dot- net
2009-03-18 21:43:16 +00:00
Bjoern A. Zeeb eb64faed65 MFC r179232 by jb:
Add a knob to allow just the kernels to be built during a 'make universe'.

MFC r185250 by des:

  Change the universe target to warn the user for every world or kernel that
  fails.  The error message includes a reference to the relevant log file.
2009-03-18 20:22:21 +00:00
Bjoern A. Zeeb 65e34d9205 MFC r186791:
Switch protosw* structs to C99 initializers.
2009-03-18 20:18:23 +00:00
Luigi Rizzo d318656b75 replace vnconfig with mdconfig and related tools
(mdmfs, newfs) and libraries.

Also add the kld* tools so we can load modules.
2009-03-18 19:51:40 +00:00
John Baldwin d00a00f34b MFC: Add VN_LOCK_ASHARE() and VN_LOCK_AREC() macros to make it easier to
share code with HEAD.
2009-03-18 18:46:50 +00:00
John Baldwin f3854fdead MFC: Consolidate error handling in mount routines and make the mountpoint
hold a reference on the cdev the fs is mounted on.
2009-03-18 18:42:48 +00:00
John Baldwin a361a7bc66 MFC: Keep the vnode for the mountpoint locked on return from namei()
until after g_vfs_open() to match other filesystems.
2009-03-18 18:38:26 +00:00
John Baldwin ab8b73bcce MFC:
- If the g_access() call for the initial root mount fails, then fully
  cleanup.  Before the GEOM consumer would not have been closed.
- Bump the reference on the character device being mounted while the
  associated devfs vnode is locked.
2009-03-18 18:30:00 +00:00
John Baldwin ac2fabc485 MFC: Mark udf(4) MPSAFE and add support for using shared vnode locks for
pathname lookups.
2009-03-18 18:25:56 +00:00
John Baldwin 622fd25d0e MFC: Add rudimentary support for symbolic links on UDF. 2009-03-18 18:20:20 +00:00
John Baldwin 7bd2205e57 MFC: Add support for fifos to UDF. 2009-03-18 18:18:38 +00:00
Jamie Gritton 197cdc841c MFC r189864:
Default to AF_LOCAL instead of AF_INET sockets for non-family-specific
  operations.  This allows the query operations to work in non-IPv4 jails,
  and will be necessary in a future of possible non-INET networking.

Approved by:	bz (mentor)
2009-03-18 18:08:31 +00:00
Bruce M Simpson 7bc9d2e6fb MFC r183567:
Merge Wake-on-Lan (WOL) support for the Attansic/Atheros L2.
 This was left out of the backport to RELENG_7 as the WOL
 infrastructure had not yet been backported to RELENG_7 when
 the ae(4) driver was merged.

Tested OK on an ASUS EeePC 701 using ports/net/wol.

Submitted by:	yongari
2009-03-18 17:14:44 +00:00
Alan Cox c552ce951b MFC revision 1.363
Eliminate redundant code from vm_page_startup().

(In retrospect, this change should have been included in the superpages
MFC.  This change subsumes r189750.)

Discussed with:	jhb
2009-03-18 16:24:39 +00:00
Bjoern A. Zeeb 19618fcba9 MFC r186222:
Use inc_flags instead of the inc_isipv6 alias which so far
  had been the only flag with random usage patterns.
  Switch inc_flags to be used as a real bit field by using
  INC_ISIPV6 with bitops to check for the 'isipv6' condition.

  While here fix a place or two where in case of v4 inc_flags
  were not properly initialized before.[1]

  Found by:     rwatson during review [1]
2009-03-18 16:09:05 +00:00
Bjoern A. Zeeb 7a80e723c3 MFC r185892:
Style changes only. Put the return type on an extra line[1] and
  add an empty line at the beginning as we do not have any local
  variables.

Submitted by: rwatson [1]
2009-03-18 14:43:56 +00:00
Bjoern A. Zeeb 8456f74b60 MFC r185333:
Unify the v4 and v6 versions of pcbdetach and pcbfree as good
  as possible so that they are easily diffable.

  No functional changes.
2009-03-18 14:36:49 +00:00
Bjoern A. Zeeb fb69735e58 MFC r185893:
Make sure nmbclusters are initialized before maxsockets
  by running the tunable_mbinit() SYSINIT at SI_ORDER_MIDDLE
  before the init_maxsockets() SYSINT at SI_ORDER_ANY.
2009-03-18 13:47:44 +00:00
Konstantin Belousov bdcc8446e6 MFC r189693:
Enable advisory file locking for devfs vnodes.
2009-03-18 13:19:46 +00:00
Bjoern A. Zeeb 806dcc369a MFC r185583:
Fix a credential reference leak. [1]

  Close subtle but relatively unlikely race conditions when
  propagating the vnode write error to other active sessions
  tracing to the same vnode, without holding a reference on
  the vnode anymore. [2]

  PR:           kern/126368 [1]
  Submitted by: rwatson [2]
  Reviewed by:  kib, rwatson
2009-03-18 12:25:40 +00:00
Bjoern A. Zeeb 3f6409bdcd MFC r184096:
Bring over the change switching from using sequential to random
  ephemeral port allocation as implemented in netinet/in_pcb.c rev. 1.143
  (initially from OpenBSD) and follow-up commits during the last four and
  a half years including rev. 1.157, 1.162 and 1.199.
  This now is relying on the same infrastructure as has been implemented
  in in_pcb.c since rev. 1.199.

Reviewed by:	rwatson (UPDATING)
2009-03-18 11:30:47 +00:00
Pyun YongHyeon 2975f13b7c MFC r189567:
For IP1001 PHYs, read auto-negotiation advertisement register to
  get default next page configuration. While I'm here explicitly set
  IP1000PHY_ANAR_CSMA bit. This bit is read-only and always set
  by hardware so setting it has no effect but it would clear the
  intention. With this change controllers that couldn't establish
  1000baseT link should work.

  PR:	kern/130846
2009-03-18 03:36:08 +00:00
Pyun YongHyeon b417c784d5 MFC r189566:
Use mii_phy_add_media() and remove setting each media type.
  While I'm here, don't set mii_anegticks as it's set by
  mii_phy_add_media().
2009-03-18 03:33:45 +00:00
Pyun YongHyeon 94602e1e5c MFC r189565:
For unknown speed, explicitly set IFM_NONE.
2009-03-18 03:31:19 +00:00
Pyun YongHyeon c0e41850fd MFC r189564:
Report current link state while auto-negotiation is in progress.
2009-03-18 03:29:05 +00:00
Pyun YongHyeon 5e54b2e886 MFC r188382:
Document loader tunable hw.re.msi_disable.
  Bump .Dd
2009-03-18 02:26:46 +00:00
Pyun YongHyeon 2d7145d2bc MFC r183561, 186346:
r183561:
  Add hardware MAC statistics support. Register information was
  obtained from Linux forcedeth driver.
  While I'm here move creating a sysctl node for process_limit to
  function nfe_sysctl_node().

  Tested by:	"Arno J. Klaassen" < arno <at> heho dot snv dot jussieu dot fr >

r186346:
  Fix a typo.

  Submitted by:	clemens fischer via Shigeaki Tagashira
2009-03-18 02:23:01 +00:00
Pyun YongHyeon 98d30d4674 MFC r189555:
Add a new tunable hw.re.prefer_iomap which disables memory register
  mapping. The tunable is OFF for all controllers except RTL8169SC
  family. RTL8169SC seems to require more magic to use memory
  register mapping. r187483 added a fix for RTL8169SCe controller but
  it does not looke like fix other variants of RTL8169SC.

  Tested by:	Gavin Stone-Tolcher g.stone-tolcher <> its dot uq dot edu dot au
2009-03-18 02:12:33 +00:00
Pyun YongHyeon 8897a770e6 MFC r188474:
Allocating 2 MSI messages do not seem to work on certain controllers
  so use just 1 MSI message. This fixes regression introduced in
  r188381.
2009-03-18 02:10:01 +00:00
Pyun YongHyeon eb0f9eb783 MFC r188381:
Reclaim transmitted frames in re_tick(). This is for PCIe
  controllers that lose Tx completion interrupts under certain
  conditions. With this change it's safe to use MSI on PCIe
  controllers so enable MSI on these controllers.
2009-03-18 02:07:07 +00:00
Pyun YongHyeon 7af9e9a0af MFC r187483:
- Add support for 8110SCe part.  Some magic registers were taken from
  Linux driver.
  - Swap hardware revisions for 8110S and 8169S as Linux driver claims.
2009-03-18 02:03:16 +00:00
Pyun YongHyeon 8811cf3eff MFC r187482:
Retire RL_FLAG_INVMAR bit to match its comment and reality.
2009-03-18 02:00:23 +00:00
Pyun YongHyeon f86b584698 MFC r187481:
- Do not read and write RX configuration register multiple times.
  - Always program RX configuration register from scratch instead of
  doing read/modify/write.
  - Rename re_setmulti() to re_set_rxmode() to be reflect reality.
  - Simplify hash filter logic a little while I am here.
2009-03-18 01:57:26 +00:00
Bjoern A. Zeeb 48b588e95b MFC r183001:
Implement IPv6 support for TCP MD5 Signature Option (RFC 2385)
  the same way it has been implemented for IPv4.
2009-03-17 20:59:45 +00:00
Marcel Moolenaar 3f3e06eb44 Sync gpart with the trunk. This includes:
o  APM scheme supports Tivo Series 1 partitions  (read only).
o  Bootcode support added to BSD scheme.
o  New EBR scheme to support Extended Boot Records (logical partitions).
o  PC98 scheme fixes (credits to nyan@)
o  VTOC8 scheme fixes (credits to marius@)
2009-03-17 19:38:40 +00:00
Rong-En Fan 9233d0196c MFC r189216 (ahead original schedule due to the upcoming 7.2-RELEASE)
- Remove kH (kp_kll) from screen. It has the identical key sequence as
   @7 (kp_end). As ncurses has the limitation that it returns the first
   matched key symbol, you can not use END in ncurses based program under
   screen (like ports/misc/mc).

 We did similar changes to xterm entry last year for exactly the same reason.

 PR:           132199
 Submitted by: Timur I. Bakeyev <timur at FreeBSD.org>
2009-03-17 14:29:25 +00:00
Ken Smith 4c80486cb0 We're a little less than a week from code freeze for the 7.2-REL release
cycle.  Give people a heads-up that there might be higher than usual
developer activity during this period by starting to call it 7.2-PRERELEASE
now.
2009-03-17 14:17:59 +00:00
Robert Watson 9f3c792b08 Merge r188992 from head to stable/7:
In tcp_usr_shutdown() and tcp_usr_send(), I missed converting NULL
  checks for the tcpcb, previously used to detect complete disconnection,
  with INP_DROPPED checks.  Correct that, preventing shutdown() from
  improperly generating a TCP segment with destination IP and port of
  0.0.0.0:0.

  PR:           kern/132050
  Reported by:  david gueluy <david.gueluy at netasq.com>
2009-03-17 10:15:49 +00:00
Ulf Lilleengen 9f5c95c82e MFH:
r186781
Merge support for CVSMode (aka. mirror mode) into csup. This means csup can now
fetch a complete CVS repository. Support for rsync update of regular files are
also included, but are not yet enabled. The change should not have an impact on
existing csup usage, as little of the existing code has changed.

r186871
- Update manpage now that cvs mode is supported.

r188405
- Fix an issue where file attributes were not installed correctly during a Touch
  and SetAttrs operation.
- SetAttrs and Touch were incorrectly switched.

r188644
- Do not free the pattern lists immediately after use, as they might be needed
  again in case the connection is interrupted and csup have to reconnect. The
  lists will be freed after the collection has been completely processed.

r189455
- Try to handle rcsfile write failures in the same way as cvsup, as they are not
  necessarily fatal. If the file was incorrectly written, the checksum will
  detect it and the file will be retransferred.
2009-03-17 06:54:41 +00:00
Robert Watson ba64e4bc4c Merge adding RTF_RNH_LOCKED to the flags argument of rtrequest() in
in6_rtqkill(), making it match in_rtqkill().

This change appeared in 8.x as part of the arpv2 merge (r186119) but
that isn't appropriate to merge.
2009-03-16 18:15:52 +00:00
Robert Watson b326fb4fa4 Merge r189778 from head to stable/7:
Don't suggest mounting procfs in diskless configurations.
2009-03-16 18:07:23 +00:00
Robert Watson cfe3c3138e Merge r188963 from head to stable/7:
Assert the radix head lock in in6_rtqkill().
2009-03-16 18:05:31 +00:00
Robert Watson 2c7ec14916 Merge r188962 from head to stable/7:
In in_rtqkill(), assert the radix head lock, and pass RTF_RNH_LOCKED
  to in_rtrequest(); the radix head lock is already acquired before
  rnh_walktree is called in in_rtqtimo_one().  This avoids a recursive
  acquisition that is no longer permitted in 8.x due to use of an rwlock
  for the radix head lock.

  Reported by:  dikshie <dikshie at gmail.com>

While not strictly required in 7.x, I am merging this to keep locking as
consistent as possible in the routing code between 7.x and 8.x.  Note
that because the rwlock change has not been merged, this becomes
LOCK_ASSERT rather than WLOCK_ASSERT.
2009-03-16 18:02:00 +00:00
Robert Watson 28f8338ad1 Merge r188546 from head to stable/7:
Remove unused ifaddr local variable in ioctl routine.
2009-03-16 17:57:29 +00:00
Robert Watson 30fa82924f Merge r188545 from head to stable/7:
Remove unused ifaddr and ifreq local variables.
2009-03-16 17:55:24 +00:00
Robert Watson 24cd4b279b Merge r189655 from head to stable/7:
Prefer ENETDOWN to ENXIO when returning queuing errors due to a link
  down, interface down, etc, with if_cxgb's if_transmit routine.

  Reviewed by:  kmacy
2009-03-16 17:46:55 +00:00
Robert Watson 16522327ed Merge r189545 from head to stable/7:
By default, don't compile in counters of calls to various time
query functions in the kernel, as these effectively serialize
parallel calls to the gettimeofday(2) system call, as well as
other kernel services that use timestamps.

Use the NetBSD version of the fix (kern_tc.c:1.32 by ad@) as
they have picked up our timecounter code and also ran into the
same problem.

Reported by:    kris
Obtained from:  NetBSD
2009-03-16 17:30:38 +00:00
Robert Watson 49d30688c7 Merge r189570 from head to stable/7:
Add a new thread-private flag, TDP_AUDITREC, to indicate whether or
  not there is an audit record hung off of td_ar on the current thread.
  Test this flag instead of td_ar when auditing syscall arguments or
  checking for an audit record to commit on syscall return.  Under
  these circumstances, td_pflags is much more likely to be in the cache
  (especially if there is no auditing of the current system call), so
  this should help reduce cache misses in the system call return path.

  Reported by:    kris
  Obtained from:  TrustedBSD Project
2009-03-16 17:25:09 +00:00
Robert Watson d70c0e0299 Merge r186822 from head to stable/7:
In AUDIT_SYSCALL_EXIT(), invoke audit_syscall_exit() only if an audit
  record is active on the current thread--historically we may always
  have wanted to enter the audit code if auditing was enabled, but now
  we just commit the audit record so don't need to enter if there isn't
  one.

  Obtained from:	TrustedBSD Project
  Sponsored by:		Apple, Inc.
2009-03-16 17:15:02 +00:00
Robert Watson bf07ddae7e Merge r186662 from head to stable/7:
Fix white space botch: use carriage returns rather than tabs.
2009-03-16 17:08:10 +00:00
Robert Watson 74e8eb600a Merge r182750, r182754 from head to stable/7:
If the process id specified is invalid, the system call returns ESRCH

  Unbreak the build.
2009-03-16 17:03:33 +00:00
Robert Watson 6cfa291acc Merge r174894 from head to stable/7:
Change "audit_pipe_preselect" to "audit_pipe_presel" to make it print
  with proper alignment in ddb(4) and vmstat(8).
2009-03-16 16:57:04 +00:00
Robert Noland dda8dca82b Merge r189563
Consistently use kdev for the kernel device.

Submitted by:   vehemens <[email protected]>
2009-03-15 17:27:06 +00:00
Robert Noland cc4c640c9a Merge r189562
Clean up the printing on amd64.  Should also be consistent on i386.
2009-03-15 17:25:44 +00:00
Robert Noland d8493cadf3 Merge r189561
There is no need to sync these buffers to swap.
2009-03-15 17:24:48 +00:00
Robert Noland fe04c37426 Merge r189560
Change the flags to bus_dmamem around to allow it to sleep waiting for
resources during allocation, but not during map load.  Also, zero the
buffers here.
2009-03-15 17:23:46 +00:00
Robert Noland 9e7cd9f972 Merge 189559
Fix the flags to bus_dmamem_* to allow the allocation to sleep while
waiting for resources.  It is really the load that we can't defer.
BUS_DMA_NOCACHE belongs on bus_dmamap_load() as well.
2009-03-15 17:22:53 +00:00
Robert Noland d8fcee851f Merge 189499,189557,189558
This is the radeon r600+ code with fixes.  A few days early,
but it seems to fix some other vblank related issues as well.

189499:
Import support for ATI Radeon R600 and R700 series chips.

Tested on an HD3850 (RV670) on loan from Warren Block.

Currently, you need one of the following for this to be useful:

        x11-drivers/xf86-video-radeonhd-devel (not tested)
        xf86-video-ati from git (EXA works, xv is too fast)
        xf86-video-radeonhd from git (EXA works, xv works)

There is no 3d support available from dri just yet.

189557:
Call the right function for the right chipset.

189558:
        -Make the PCI(E)/AGP calculations consistent
        -Calculate the scratch address correctly
2009-03-15 17:20:28 +00:00
Konstantin Belousov 8e9b059743 MFC r189534:
Document several notifications.

MFC r189538 (by maxim):
Spell.  Sort .Xrs.
2009-03-15 10:43:48 +00:00
Max Laier ad20609e32 MFC:
- r184733, r184742
  Add -A and -B options
 - r184654, r184656
  style(9) changes
 - r173387, r173431 (by kevlo)
  Check return value for setenv()

In effect sync head and releng/7.
2009-03-14 21:03:03 +00:00
Konstantin Belousov 417579ffd4 MFC r179093 (by pjd):
Be more friendly for DDB pager.
2009-03-14 19:35:13 +00:00
Konstantin Belousov c4b8be9738 MFC r178585 (by pjd):
Implement 'show mount' command in DDB.
2009-03-14 19:03:40 +00:00
David Schultz b046f4c0c7 Partial MFC of r189131:
Make sure %zd treats negative arguments properly on 32-bit platforms.

  PR:		131880
2009-03-14 18:19:50 +00:00
Konstantin Belousov 396eabc3c7 MFC r189706:
Do not double-free the struct inode when insmntque failed. Default
insmntque destructor reclaims the vnode, and ufs_reclaim frees the memory.
2009-03-14 14:02:53 +00:00
Bruce M Simpson fb8b739cd5 Bump __FreeBSD_version to 701106 after the POSIX semaphore
fix was committed.
2009-03-14 08:34:45 +00:00
Bruce M Simpson 01f1eb9d67 MFC rev: 189736
Ensure that the semaphore value is re-checked after sem_lock
  is re-acquired, after the condition variable is signalled.

Early MFC, as the test case in the PR is fairly complete and the
submitter also re-ran test case on -STABLE. It also bites Python
fairly hard, which will otherwise try to use POSIX sems for its
internal thread synchronization; this needs more in-depth testing.

PR:		http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/127545
Reviewed by:	attilio
2009-03-14 01:12:35 +00:00
Konstantin Belousov e621eefda1 MFC r189450:
Extract the no_poll() and vop_nopoll() code into the common routine
poll_no_poll().
Return a poll_no_poll() result from devfs_poll_f() when
filedescriptor does not reference the live cdev, instead of ENXIO.
2009-03-13 10:52:22 +00:00
John Baldwin 6fcaa123e6 Disable the vm_page_startup assertion for now. It always fails on
platforms with superpages currently because the pages used by
vm_reserv_startup() are incorrectly included in the 'npages' count.  I
haven't removed the assertion as I think this is a real bug, but the side
effect is just that some memory is wasted on never-used vm_page structures.

The assertion was removed from HEAD which is why the bug wasn't noticed
there (and thus this is a direct commit to 7).
2009-03-12 22:01:42 +00:00
John Baldwin eee5c3abde MFC: Export hz, maxswzone, maxbcache, maxtsiz, dfldsiz, maxdsiz, dflssiz,
maxssiz, and sgrowsiz via sysctl.
2009-03-12 17:32:04 +00:00
Konstantin Belousov 3112e9d485 MFC r189283:
Correct types of variables used to track amount of allocated SysV shared
memory from int to size_t. Implement a workaround for current ABI not
allowing to properly save size for and report more then 2GB sized segment
of shared memory.

This makes it possible to use > 2 GB shared memory segments on 64bit
architectures. Please note the new BUGS section in shmctl(2) and
UPDATING note for limitations of this temporal solution.

MFC r189398:
Systematically use vm_size_t to specify the size of the segment for VM KPI.
Do not overload the local variable size in kern_shmat() due to vm_size_t
change.
Fix style bug by adding explicit comparision with 0.

MFC r189399:
Improve the grammar and wording in the changes to shmctl(2) manpage.

Put an UPDATING entry and bump __FreeBSD_version for the change.
2009-03-12 13:45:55 +00:00
Bruce M Simpson 0722f1ca8e Merge the open source Atheros HAL from HEAD to STABLE.
This adds support for the AH_SUPPORT_AR5416 kernel
configuration option, and removes the ath_rate*
and ath_hal modules. Their kernel options are not
however removed -- please see UPDATING.

Tested on an IBM/Lenovo T43 and ASUS EeePC 701 in both
STA and HostAP modes.

Submitted by:	sam
2009-03-12 03:09:11 +00:00
John Baldwin 34ceee1f5d MFC: Make cd9660 MPSAFE and able to use shared vnode locks for pathname
lookups.  Also, disable operations on character device nodes.
2009-03-11 22:13:12 +00:00
Robert Noland de36cac2dd Merge 189130
Initialize the vblank structures at load time.  Previously we did this
at irq install/uninstall time, but when we vt switch, we uninstall the
irq handler.  When the irq handler is reinstalled, the modeset ioctl
happens first.  The modeset ioctl is supposed to tell us that we can
disable vblank interrupts if there are no active consumers.  This will
fail after a vt switch until another modeset ioctl is called via dpms
or xrandr.  Leading to cases where either interrupts are on and can't
be disabled, or worse, no interrupts at all.
2009-03-11 02:39:02 +00:00
Robert Noland 56b7b72b0e Merge r189128
Add a tuneable to allow disabling msi on drm at runtime.
2009-03-11 02:37:52 +00:00
Robert Noland 176da55002 Merge r189099
Fix up some ioctl permissions issues long overlooked.

Submitted by:   jkim@
2009-03-11 02:36:20 +00:00
Robert Noland f59e5ff65f Merge r189054
The GM45 handles vblank differently.  Pull the changes from Intel in.
2009-03-11 02:13:46 +00:00
Robert Noland bc8c448b45 Merge r189053
Remove D_NEEDGIANT
2009-03-11 02:00:13 +00:00
Robert Noland 6a6705c6e0 Merge r189052
Turn on MSI if the card supports it.  There is a blacklist for chips
which report that they are capable of MSI, but don't work correctly.
2009-03-11 01:58:37 +00:00
Robert Noland 6c26fdfa0b Merge r189051
Prepare the radeon driver for MSI support.
2009-03-11 01:57:20 +00:00
Robert Noland dc74ce7069 Merge r189050
Add some vblank related debugging and replace the DRM_WAIT_ON macro
with a localized version.
2009-03-11 01:56:17 +00:00
Robert Noland ca5cc672cf Merge r189049
This was part of a sync to the code that Intel is shipping in linux.

        - Remove the old TTM interface
        - Move register definitions to i915_reg.h
        - Overhaul the irq handler
2009-03-11 01:54:41 +00:00
Robert Noland 1d2cbdc1fe Merge 189048
The i915 driver was the only consumer of locked task support.

Now that it doesn't use it anymore, get right of the taskqueue
and locked task support.
2009-03-11 01:53:21 +00:00
Robert Noland a170aee3b3 Merge r189047
The vblank_swap ioctl was fundamentally race prone.  Get rid of it.
2009-03-11 01:50:53 +00:00
Robert Noland a37f2bce76 Merge r189046
There is no reason to hold the lock here.

When I was LOCK_PROFILING this was pretty high up and there is no
reason for it.
2009-03-11 01:49:22 +00:00
Robert Noland 4aebabdd2b Merge r189045
Remove the PZERO priority from mtx_sleep.
2009-03-11 01:47:32 +00:00
Andrew Thompson a4fcae2ada MFC r189360
Add Mobile Action MA-620 Infrared Adapter.

Manually merged due to different codebase.
2009-03-11 01:03:32 +00:00
Andrew Thompson b50c51cd7f MFC r188548
Check the exit flag at the start of the taskqueue loop rather than the end. It
 is possible to tear down the taskqueue before the thread has run and the
 taskqueue loop would sleep forever.
2009-03-11 00:58:22 +00:00
John Baldwin 7f307a7ee8 MFC: Add a flag to tag individual sysctl leaf nodes as MPSAFE. Tag the
following nodes as MPSAFE:
- All standalone INT/LONG sysctls.
- kern.proc.*
- All name-cache related sysctls.
- vm.loadavg
- vm.vmtotal
- vm.stats.(sys|vm).*
- sysctl.name2oid
- kern.ident, kern.osrelease, kern.version, etc.
- kern.arandom
- security.jail.jailed
- kern.devname

Other changes:
- Remove GIANT_REQUIRED from vmtotal().
- Add conditional Giant locking around the vrele() in
  sysctl_kern_proc_pathname().
2009-03-10 19:33:50 +00:00
John Baldwin 772cc2acbf MFC: Expand the scope of the sysctllock sx lock to protect the sysctl tree
itself.  This also includes changes to the ia64 machine check code to
defer adding machine check records to the sysctl tree, removing Giant
from the CAM code that created dynamic sysctls, and tweaking the teardown
of da(4) and cd(4) peripheral devices to not hold locks when freeing the
sysctl tree.
2009-03-10 18:57:10 +00:00
John Baldwin f68d8092dc MFC: Add sysctl_rename_oid() and use it in device_set_unit(). 2009-03-10 18:16:03 +00:00
John Baldwin 57f8742e32 MFC: Push down Giant inside sysctl. 2009-03-10 17:28:23 +00:00
Robert Noland 4c7e461fca Manual merge of r189368 due to different ata layout in stable.
Remove the local management of INTx as this is now taken care of by pci.
2009-03-09 17:42:34 +00:00
Ruslan Ermilov cc4a03f4c1 MFC: Spell 'Yugoslav' correctly. 2009-03-09 17:07:27 +00:00
Christian Brueffer 46ff10aaf8 MFC: r189298
Xref glxsb(4).
2009-03-09 14:04:18 +00:00
Robert Noland 4f5153f64f Merge r189367,189447
Extend the management of PCIM_CMD_INTxDIS.

  We now explicitly enable INTx during bus_setup_intr() if it is needed.
  Several of the ata drivers were managing this bit internally.  This is
  better handled in pci and it should work for all drivers now.

  We also mask INTx during bus_teardown_intr() by setting this bit.
2009-03-09 08:25:05 +00:00
Robert Noland e95e29abd1 Merge r189285
Disable INTx when enabling MSI/MSIX

This addresses interrupt storms that were noticed after enabling MSI
in drm.  I think this is due to a loose interpretation of the PCI 2.3
spec, which states that a function using MSI is prohibitted from using
INTx.  It appears that some vendors interpretted that to mean that they
should handle it in hardware, while others felt it was the drivers
responsibility.

This fix will also likely resolve interrupt storm related issues with
devices other than drm.
2009-03-09 08:18:40 +00:00
Nathan Whitehorn f7b613fd20 Fix a mismerge from head that I somehow missed last night. This caused builds with
KDB enabled to fail.

Pointy hat to: 	me
2009-03-08 16:19:29 +00:00
Robert Watson 6664608a33 Merge missed routing lock fix r186061 from head to stable/7:
Dont leak the rnh lock on error.

Original change was from thompsa.  This may correct routing-related panics
seen by uses of ppp, including the following PRs:

PR:		132215, 132222, 132404
Reported by:	Ethan <hsiao.ethan at gmail.com>
2009-03-08 11:20:54 +00:00
Dmitry Chagin 0004da33d0 MFC r189232, r189313:
Fix range-check error introduced in r182292.
Panic in case the ncpus == 0. it helps to catch bugs in the callers.

Approved by:	kib (mentor)
2009-03-08 11:12:23 +00:00
Luigi Rizzo 9c1d3ca589 MFC rev.188571
Clarify and reimplement the bioq API so that bioq_disksort() has
the correct behaviour (sorting by distance from the current head position
in the scan direction) and bioq_insert_head() and bioq_insert_tail()
have a well defined (and useful) behaviour, especially when intermixed
with calls to bioq_disksort().

See the original commit log for more details.

NO API/ABI changes (except from fixing bugs and defining
unspecified behaviour that no code should rely on).
2009-03-08 00:11:26 +00:00
Nathan Whitehorn 1327215a38 MFC r188860,188879,188923,188951:
Altivec support for PowerPC.
2009-03-07 20:39:42 +00:00
Maksim Yevmenkin 8158a34150 MFC r188130
Clenup code a bit and do not call fork(2) before dameon(3) where not needed.
2009-03-06 01:34:30 +00:00
Maksim Yevmenkin 8390f99f1a MFC r188132
Allow unprivileged users to run l2ping(8).
2009-03-06 01:27:51 +00:00
Maksim Yevmenkin 60196478bb MFC r187938
Add btpand(8) daemon from NetBSD. This daemon provides support for
Bluetooth Network Access Point (NAP), Group Ad-hoc Network (GN) and
Personal Area Network User (PANU) profiles.

MFC r188013
Fix client mode. Pick up service availability changes.

MFC r188014
Hook up btpand(8) to the build

Obtained from:	NetBSD
2009-03-05 18:03:46 +00:00
Maksim Yevmenkin 3624c85118 MFC r183057
Add missing prototypes for uuid_enc,dec_le,be() functions.
Pointy hat goes to me.
2009-03-05 17:54:28 +00:00
John Baldwin 5dfee414c0 MFC: Don't throw away the upper 32-bits of the HT MSI address window. 2009-03-05 15:46:41 +00:00
Luigi Rizzo 49e52141f2 Merge a couple of changes from HEAD, plus fix a potential warning.
In detail:
+ we used SYSCTL_LONG to show a 64-bit variable. For the time being
  just remove the variable from the list of sysctl-exported values.
  Unfortunately our SYSCTL macros do not do proper type checking
  of the arguments so we might have some more bugs of this kind
  across the codebase;

+ fw_debug has not been used for ages, so remove it;

+ gcc 4.2.4 tells me that src_ip.s_addr may be not initialized,
  so make sure it is.
  I need to check what is the status of this field in head.
2009-03-05 07:42:47 +00:00
John Baldwin 62dfbb1992 MFC: Handle an additional layer of nesting for kernel modules to make it
easier to compile 8.x kernels with modules on 7.
2009-03-04 21:38:16 +00:00
Alexander Leidinger 72bbd7fc09 MFC r188572:
Fix an edge-case of the linux readdir: We need the size of a linux dirent
  structure, not the size of a pointer to it.

  PR:		131099
  Submitted by:	Andreas Kies <[email protected]>
2009-03-04 20:26:39 +00:00
Pyun YongHyeon 13891bc63c Enable ale(4) in GENERIC. 2009-03-04 01:50:00 +00:00
John Baldwin 1162b68d9d MFC: Use a clean slate of register state when executing hardware interrupt
handlers to avoid leaking values into the upper 16-bits of general purpose
registers when executing these routines.
2009-03-03 16:56:15 +00:00
Alexander Motin 9e44359d2e MFC rev. 188700, 188731, 188733.
Make core dumping to ad not to freeze even if interrupts, not disabled
for some reason (noticed on SMP), stealing our events.

ata_interrupt() does not need to return anything. It is not it's business
to report request completion, expecially when it is not reliable.

PR:		kern/114370, kern/115801
2009-03-03 08:14:43 +00:00
Alexander Motin 31f9229dee MFC rev. 186079, 188829, 188922, 188959.
Sync with HEAD.
2009-03-03 07:56:42 +00:00
VANHULLEBUS Yvan 379c54f821 MFC: Remove remain <= MHLEN restriction in m_makespace(),
which caused assert with big packets

PR:		kern/124609
Submitted by:	[email protected]
Approved by:	gnn(mentor)
Obtained from:	NetBSD
2009-03-02 16:55:19 +00:00
Robert Watson 06878de762 Merge r188315 from head to stable/7:
Set the lower bound on queue size for an audit pipe to 1 instead of 0,
  as an audit pipe with a queue length of 0 is less useful.

  Obtained from:        TrustedBSD Project
  Sponsored by:         Apple, Inc.
2009-03-01 23:32:27 +00:00
Robert Watson 86146e6be0 Merge r188313 from head to stable/7:
Change various routines that are responsible for transforming audit
  event IDs based on arguments to return au_event_t rather than int.

  Obtained from:        TrustedBSD Project
  Sponsored by: Apple, Inc.
2009-03-01 23:17:51 +00:00
Robert Watson c1f86bce62 Merge r187686 from head to stable/7:
When a statically linked binary is executed (or at least, one without
  an interpreter definition in its program header), set the auxiliary
  ELF argument AT_BASE to 0 rather than to the address that we would
  have mapped the interpreter at if there had been one.

  The ELF ABI specifications appear to be ambiguous as to the desired
  behavior in this situation, as they define AT_BASE as the base address
  of the interpreter, but do not mention what to do if there is none.
  On Solaris, AT_BASE will be set to the base address of the static
  binary if there is no interpreter, and on Linux, AT_BASE is set to 0.
  We go with the Linux semantics as they are of more immediate utility
  and allow the early runtime environment to know that the kernel has
  not mapped an interpreter, but because AT_PHDR points at the ELF
  header for the running binary, it is still possible to retrieve all
  required mapping information when the process starts should it be
  required.  Either approach would be preferable to our current behavior
  of passing a pointer to an unmapped region of user memory as AT_BASE.

  Sponsored by:	Google
2009-03-01 22:48:18 +00:00
Scott Long c907ae0efc Merge 186882: Implement kern.cam.cd.retry_count to aid with disk-
recovery tools.
2009-03-01 22:37:34 +00:00
Scott Long c2b5816f41 Merge 188840: Add DDF metadata support, found commonly on motherboards with
Adaptec branding.  For Entertainment Purposes Only!
2009-03-01 16:50:46 +00:00
Scott Long a2b2a2dec1 Merge 188845: Fix pseudo-scsi parameters so that more than 2 commands
will be queued to the device at once.
2009-03-01 16:43:45 +00:00
Scott Long 76020383fc Merge 188844: Fix pseudo-scsi parameters so that more than one i/o can
be queued at a time.
2009-03-01 16:41:48 +00:00
Scott Long 2390a1b216 Merge 182433: Fix locking mistake in the da driver. 2009-03-01 16:31:35 +00:00
Scott Long a3a749d08a Merge 186371: Fix refcount locking in cd, pass, and sg periphs. 2009-03-01 16:28:17 +00:00
Scott Long d805d73a69 Merge 181791: SCSI_DELAY is specified in milliseconds. 2009-03-01 16:26:38 +00:00
Scott Long 1a2e7f656f Merge 181381: Update SCSI opcodes and ASCs from t10.org. 2009-03-01 16:24:57 +00:00
Luigi Rizzo 920b5bfe86 sync the build script with the version in -current.
The most relevant changes are the building of libraries
in the --init call, and the ability to use /boot/loader
(on by default) which seems to be necessary for large kernels.
2009-03-01 15:03:08 +00:00
Edward Tomasz Napierala 635c255abd MFC r187894. Note that r188501 should be merged too.
Make sure the cdev doesn't go away while the filesystem is still mounted.
Otherwise dev2udev() could return garbage.

Reviewed by:	kib
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-03-01 15:01:00 +00:00
Luigi Rizzo 0f9ec4a5d4 document the possibility of hardwiring kenv/getenv values;
remove duplicate isa and npx entries;
remove DEVICE_POLLING
add tap, bpf devices;
add re and nfe drivers
2009-03-01 14:57:33 +00:00
Edward Tomasz Napierala aa0f2f40fa MFC r188240:
When a device containing mounted UFS filesystem disappears, the type
of devvp becomes VBAD, which UFS incorrectly interprets as snapshot
vnode, which in turns causes panic.  Fix it by replacing '!= VCHR'
with '== VREG'.

With this fix in place, you should no longer be able to panic the system
by removing a device with an UFS filesystem mounted from it - assuming
you don't use softupdates.

Reviewed by:	kib
Tested by:	pho
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-03-01 11:20:35 +00:00
Edward Tomasz Napierala 425d6614f7 MFC r187199:
Turn a "panic: non-decreasing id" into an error printf.  This seems
to be caused by a metadata corruption that occurs quite often after
unplugging a pendrive during write activity.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-03-01 11:17:38 +00:00
Edward Tomasz Napierala ac6732c880 MFC r186911:
Don't panic with "vinvalbuf: dirty bufs" when the mounted device that was
being written to goes away.

Reviewed by:	kib, scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-03-01 11:11:14 +00:00
Edward Tomasz Napierala 7e0c02494c MFC r186194:
According to phk@, VOP_STRATEGY should never, _ever_, return
anything other than 0.  Make it so.  This fixes
"panic: VOP_STRATEGY failed bp=0xc320dd90 vp=0xc3b9f648",
encountered when writing to an orphaned filesystem.  Reason
for the panic was the following assert:
KASSERT(i == 0, ("VOP_STRATEGY failed bp=%p vp=%p", bp, bp->b_vp));
at vfs_bio:bufstrategy().

Reviewed by:	scottl, phk
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-03-01 11:02:37 +00:00
Edward Tomasz Napierala 628cd5194b MFC r174937 by imp.
Reviewed by:	imp
Approved by:	rwatson (mentor)

Original commit log:

A partial solution to some of the 'pull the umass device with a
mounted FS' problems.  These are more along the lines of 'avoiding an
avoidable panic' than a complete solution to removable devices.  We
now close the barn door after the horse has gotten lose and has been
hit by a truck, as it were.  The barn no longer catches fire in this
case, but the horse is still dead :-).

The vfs_bio.c fix causes us not to put a failed write back into the
dirty pool if the error returned was ENXIO.  In that case, the buffer
is treated like any other clean buffer that's being retured.  ENXIO
means the device isn't there anymore and will never be there again in
the future, so retrying is futile.

The vfs_mount.c fix treats 'ENXIO' as success for unmounting a file
system.  If the device is gone, retrying later won't help and we'll
never be able to unmount the device.

These two are part of a larger patch set submitted by the author.  The
other patches will be forth coming.  I added comments to these two
patches.

Submitted by: Henrik Gulbrandsen
Reviewed by: phk@
PR: usb/46176 (partial)
2009-03-01 10:51:34 +00:00
Scott Long 2f1d177899 Merge 188395: Fix "invalid periph name" error condition. 2009-03-01 07:24:26 +00:00
Scott Long a8e0e89d58 Merge 176204: Fix typo 2009-03-01 07:22:46 +00:00
Scott Long b4e71f6e1f Fix mergeinfo for cam_xpt.c 2009-03-01 07:16:50 +00:00
Scott Long 52c617ea3b Merge 186396: Fix comment 2009-03-01 07:06:44 +00:00
Scott Long 3045c7e009 Merge 188671: Fix negotiation for imperfect SCSI and pseudo-SCSI devices. 2009-03-01 07:03:35 +00:00
Scott Long c0d4c3b436 Merge 188688: GCC bogon. 2009-03-01 07:02:16 +00:00
Scott Long 2f51d400d4 Merge 188670: Instrument the probe state machine 2009-03-01 07:00:52 +00:00
Scott Long ced01723f2 Merge 188570: Fix tag negotiation for pseudo-scsi devices and subsystems. 2009-03-01 06:57:25 +00:00
Scott Long 015a6b8090 Merge r186891: Retry TEST UNIT READY if needed. 2009-03-01 06:46:39 +00:00
Edward Tomasz Napierala b9af5a74d4 MFC r188917:
Mention disk_gone() in disk(9).

Approved by:	rwatson (mentor)
2009-02-28 11:22:09 +00:00
Edward Tomasz Napierala f45c565fbc MFC r188916:
Fix a typo and add manpage links to geom(4).

Approved by:	rwatson (mentor)
2009-02-28 11:20:37 +00:00
Edward Tomasz Napierala c57091b282 MFC r187053:
Prevent a panic that happens on SMP machines when removing a disk with
many writes queued up.

Reviewed by:	phk, scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 11:19:02 +00:00
Edward Tomasz Napierala 647c229de3 MFC r186188:
Implement g_vfs_orphan().  Without it, the filesystem never closes
the device, which means refcount on periph drivers never drops,
which means cam_sim_free() never returns, which results in umass
sleeping there ad infinitum.

Submitted by:	pjd
Reviewed by:	scottl, pjd
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 11:16:57 +00:00
Edward Tomasz Napierala 854d63facb MFC r188345:
Remove an overzealous check.

Submitted by:	das
Reviewed by:	scottl
Approved by:	rwatson (mentor, implicit)
Sponsored by:	FreeBSD Foundation
2009-02-28 11:11:38 +00:00
Edward Tomasz Napierala 0ae5507690 MFC r187652:
Protect against NULL pointer dereference.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 11:09:27 +00:00
Edward Tomasz Napierala 5ed22d7cc8 MFC r187651:
Don't leak memory when alloc fails.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		2908
2009-02-28 11:03:24 +00:00
Edward Tomasz Napierala 9a03cfc538 MFC r187650:
Guard against NULL pointer dereference.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		1847
2009-02-28 10:59:48 +00:00
Edward Tomasz Napierala cfa22fc265 MFC r187649:
Guard against NULL pointer dereference.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		130
2009-02-28 10:53:20 +00:00
Edward Tomasz Napierala 5281141ee8 MFC r187247.
Add missing 'break' statement.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		3667
2009-02-28 10:50:59 +00:00
Edward Tomasz Napierala b7487eeda1 MFC r187245:
Fix use after free.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		3712
2009-02-28 10:48:11 +00:00
Edward Tomasz Napierala 911a86d19c MFC r187244:
Remove unused variable.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		3665
2009-02-28 10:45:31 +00:00
Edward Tomasz Napierala 0397da889b MFC r187243:
Add missing 'break' statement.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Found with:	Coverity Prevent(tm)
CID:		3927
2009-02-28 10:43:10 +00:00
Edward Tomasz Napierala cec362cac5 MFC r187028:
Don't call destroy_dev(9) with a mutex held.  While here, shuffle
things around so the periph destructors look alike.  Based on a patch
by Jaakko Heinonen.

Submitted by:	Jaakko Heinonen
Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 10:40:52 +00:00
Edward Tomasz Napierala 7997d4ee5e MFC r186905:
Make "kldunload atapicam" return EBUSY instead of deadlocking when a device
created by atapicam is being kept opened or mounted.  This is probably just
a temporary solution until we invent something better.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Reported by:	Jaakko Heinonen
2009-02-28 10:38:32 +00:00
Edward Tomasz Napierala 7471a82b4b MFC r186320:
Fix cam_sim_free() wakeup condition and add mtx_asserts.

Submitted by:	Christoph Mallon
Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 10:35:30 +00:00
Edward Tomasz Napierala 2d05d8213c MFC r186319:
Periph driver fixes, second try.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 10:33:00 +00:00
Edward Tomasz Napierala eee0e4437e MFC r186318:
Move mtx_assert lower, when we can be sure that the pointer
to the mutex is valid.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 10:29:55 +00:00
Edward Tomasz Napierala 95bee4e2de MFC r186185:
Add SIM refcounting.  This is slightly different from what DragonFly
does - in DragonFly, it's cam_sim_release() what actually frees the
SIM; cam_sim_free does nothing more than calling cam_sim_release().
Here, we drain in cam_sim_free, waiting for refcount to drop to zero.
We cannot do the same think DragonFly does, because after cam_sim_free
returns, client would destroy the sim->mtx, and CAM would trip over
an initialized mutex.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 10:27:46 +00:00
Edward Tomasz Napierala f28d6314ea MFC r186184:
Get rid of dead_sim.  There is no way to make it work - any attempt
to actually use it would panic on mtx operation, as dead_sim doesn't
have a proper mutex.  Even if it had a properly initialized mutex,
it wouldn't have properly locked and owned one.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
2009-02-28 10:24:57 +00:00
John Baldwin 216940de91 Catch up to the 6GB KVA changes. The original superpages patches on 7
were tested prior to the MFC of the 6GB KVA changes, and I failed to do
an extra sanity check yesterday.  This should fix the pmap_init() panics.

Pointy hat to:	jhb
2009-02-27 15:25:47 +00:00
John Baldwin 00c57557ed MFC: Add a stub for pmap_align_superpage() on machines that don't (yet)
implement pmap-level support for superpages.

Pointy hat to:	jhb
2009-02-26 20:38:37 +00:00
John Baldwin c162d7ede7 MFC: Don't clear the attribute cache of a file when it is closed. 2009-02-26 18:55:55 +00:00
John Baldwin c7ce5f536b MFC: Add a new ioctl to fetch details about an individual BAR of a device
and add support for displaying BAR details via a new pciconf flag.
2009-02-26 18:54:24 +00:00
John Baldwin c6566dff0c MFC: Sort getopt options alphabetically. 2009-02-26 18:46:22 +00:00
John Baldwin 15826f991f MFC: Add support for "superpages" on amd64 and i386. This includes adding the
superpage reservation system to the machine-independent VM system as well as
changes to the pmap code for amd64 and i386 to support superpages.

Reviewed by:	alc
Tested by:	ps
2009-02-26 15:59:22 +00:00
Ed Maste bd9fb6c7de MFC r177490 - diff reduction w/ head.
Use linker set to collection all target operations.
2009-02-25 20:56:27 +00:00
Robert Watson 652778346b Merge r188485 from head to stable/7:
Modify fdcopy() so that, during fork(2), it won't copy file descriptors
  from the parent to the child process if they have an operation vector
  of &badfileops.  This narrows a set of races involving system calls that
  allocate a new file descriptor, potentially block for some extended
  period, and then return the file descriptor, when invoked by a threaded
  program that concurrently invokes fork(2).  Similar approches are used
  in both Solaris and Linux, and the wideness of this race was introduced
  in FreeBSD when we moved to a more optimistic implementation of
  accept(2) in order to simplify locking.

  A small race necessarily remains because the fork(2) might occur after
  the finit() in accept(2) but before the system call has returned, but
  that appears unavoidable using current APIs.  However, this race is
  vastly narrower.

  The fix can be validated using the newfileops_on_fork regression test.

  PR:           kern/130348
  Reported by:  Ivan Shcheklein <shcheklein at gmail dot com>
  Reviewed by:  jhb, kib
2009-02-25 15:04:30 +00:00
Robert Watson 6ebb1a07e7 Merge r188312 from head to stable/7:
Audit AUE_MAC_EXECVE; currently just the standard AUE_EXECVE arguments
  and not the label.

  Obtained from:        TrustedBSD Project
  Sponsored by: Apple, Inc.
2009-02-25 15:01:26 +00:00
Robert Watson 412fab815c Merge 3188124 from head to stable/7:
Remove local variable 'ddp' from DDP's attach and detach routines; they
  were used only for assertions, and rather than ifdef'ing them
  INVARIANTS and using local variables, just directly access so_pcb.

  Submitted by: Christoph Mallon <christoph dot mallon at gmx dot de>
2009-02-25 14:48:13 +00:00
Robert Watson 4c42d066d4 Merge r188123 from head to stable/7:
Remove written-to but never read local variable 'offset' from
  soreceive_dgram().

  Submitted by: Christoph Mallon <christoph dot mallon at gmx dot de>
2009-02-25 14:26:16 +00:00
Robert Watson cb2dbc6249 Merge r183689 from head to stable/7:
Differentiate pr_usrreqs for stream and datagram UNIX domain sockets, and
  employ soreceive_dgram for the datagram case.
2009-02-25 14:08:28 +00:00
Robert Watson b9ecd8aeae Merge r188122 from head to stable/7:
Eliminate the local variable 'ape' in audit_pipe_kqread(), as it's only
  used for an assertion that we don't really need anymore.

  Reported by:  Christoph Mallon <christoph dot mallon at gmx dot de>
2009-02-25 13:47:09 +00:00
Robert Watson 3b2457077a Merge r184825 from head to stable/7:
Wrap sx locking of the audit worker sleep lock in macros, update comments.

  Sponsored by: Apple, Inc.
2009-02-25 13:42:38 +00:00
Robert Watson 61ea39a324 Merge r184544 and r184545 from head to stable/7:
Remove stale comment about filtering in audit pipe ioctl routine: we do
  support filtering now, although we may want to make it more interesting
  in the future.

  Update introductory comment for audit pipes.

  Sponsored by: Apple, Inc.
2009-02-25 13:30:17 +00:00
Robert Watson ce2e6d659c Merge r184540 from head to stable/7:
Add comment for per-pipe stats.

  Sponsored by: Apple, Inc.
2009-02-25 13:26:30 +00:00
Robert Watson bc08e50fe3 Merge r184536 from head to stable/7:
We only allow a partial read of the first record in an audit pipe
  record queue, so move the offset field from the per-record
  audit_pipe_entry structure to the audit_pipe structure.

  Now that we support reading more than one record at a time, add a
  new summary field to audit_pipe, ap_qbyteslen, which tracks the
  total number of bytes present in a pipe, and return that (minus
  the current offset) via FIONREAD and kqueue's data variable for
  the pending byte count rather than the number of bytes remaining
  in only the first record.

  Add a number of asserts to confirm that these counts and offsets
  following the expected rules.

  Sponsored by: Apple, Inc.
2009-02-25 13:21:28 +00:00
Robert Watson 6b477e67ec Merge r184534 from head to stable/7:
Allow a single read(2) system call on an audit pipe to retrieve data from
  more than one audit record at a time in order to improve efficiency.

  Sponsored by: Apple, Inc.
2009-02-25 13:17:46 +00:00
Robert Watson c195cb7a92 Merge 3184510 from head to stable/7:
Since there is no longer the opportunity for record truncation, just
  return 0 if the truncation counter is queried on an audit pipe.

  Sponsored by: Apple, Inc.
2009-02-25 12:32:15 +00:00
Robert Watson 581d883a67 Merge r184508 from head to stable/7:
Historically, /dev/auditpipe has allows only whole records to be read via
  read(2), which meant that records longer than the buffer passed to read(2)
  were dropped.  Instead take the approach of allowing partial reads to be
  continued across multiple system calls more in the style of streaming
  character device.

  This means retaining a record on the per-pipe queue in a partially read
  state, so maintain a current offset into the record.  Keep the record on
  the queue during a read, so add a new lock, ap_sx, to serialize removal
  of records from the queue by either read(2) or ioctl(2) requesting a pipe
  flush.  Modify the kqueue handler to return bytes left in the current
  record rather than simply the size of the current record.

  It is now possible to use praudit, which used the standard FILE * buffer
  sizes, to track much larger record sizes from /dev/auditpipe, such as
  very long command lines to execve(2).

  Sponsored by: Apple, Inc.
2009-02-25 12:00:15 +00:00
Robert Watson 5df39340ec Merge r186825 from head to stable/7:
Do a lockless read of the audit pipe list before grabbing the audit pipe
  lock in order to avoid the lock acquire hit if the pipe list is very
  likely empty.

  Obtained from:        TrustedBSD Project
  Sponsored by: Apple, Inc.
2009-02-25 11:44:03 +00:00
Robert Watson 96dbfa61cf Merge r179458 from head to stable/7:
Import rewritten nve device id's, which brings this more
  inline with if_nfe.

  PR:		110883
  Submitted by:	Claudel <regis at claudel dot ch>
  Approved by:	imp (mentor, implicit)
2009-02-25 11:37:19 +00:00
Robert Watson a768e0ae95 Correct a deadlock and a rtentry leak in rt_check():
- In the event that a gateway route has to be looked up, drop the lock
  on 'rt' before reacquiring it 'rt0' in order to avoid deadlock.

- In the event the original route has evaporated or is no longer up
  after the gateway route lookup, call RTFREE() on the gateway route
  before retrying.

This is a potential errata candidate patch.

PR:		kern/130652
Submitted by:	Dmitrij Tejblum <tejblum at yandex-team.ru>
Reviewed by:	bz
Tested by:	Pete French <petefrench at ticketswitch.com>
2009-02-25 11:18:18 +00:00
Robert Watson 3d81140acd Merge r185747, r185774, r185807, r185849, r185964, r185965, r186051,
r186052 from head to stable/7; note that only the locking fixes and
invariants checking are added from r185747, but not the move to an
rwlock which would modify the kernel binary interface, nor the move
to a non-recursible lock, which is still seeing problem reports in
head.  This corrects, among other things, a deadlock that may occur
when processing incoming ICMP redirects.

r185747:

  - convert radix node head lock from mutex to rwlock
  - make radix node head lock not recursive
  - fix LOR in rtexpunge
  - fix LOR in rtredirect

  Reviewed by:  sam

r185774:

  - avoid recursively locking the radix node head lock
  - assert that it is held if RTF_RNH_LOCKED is not passed

r185807:

  Fix a bug introduced in r185747: rather than dereferencing an
  uninitialized *rt to something undefined, use the fibnum that came in
  as function argument.

  Found with:   Coverity Prevent(tm)
  CID:          4168

r185849:

  fix a reported panic when adding a route and one hit here when deleting
  a route

  - pass RTF_RNH_LOCKED to rtalloc1_fib in 2 cases where the lock is held
  - make sure the rnh lock is held across rt_setgate and rt_getifa_fib

r185964:

  Pass RTF_RNH_LOCKED to rtalloc1 sunce the node head is locked, this
  avoids a recursive lock panic on inet6 detach.

  Reviewed by:  kmacy

r185965:

  RTF_RNH_LOCKED needs to be passed in the flags arg not report,
  apologies to thompsa

r186051:

  in6_addroute is called through rnh_addadr which is always called with
  the radix node head lock held exclusively. Pass RTF_RNH_LOCKED to
  rtalloc so that rtalloc1_fib will not try to re-acquire the lock.

r186052:

  don't acquire lock recursively

Oiginal commits to head were by kmacy, except r185964 by thompsa and
r185807 by bz.

A subset of this is a potential errata patch candidate.

Reviewed by:    bz, kmacy
Tested by:      Pete French <petefrench at ticketswi
2009-02-25 10:59:56 +00:00
Andrew Gallatin ffc02cf3ad MFH r188736 and r188737: Better support for recent Myricom 10GbE NICs 2009-02-24 20:16:34 +00:00
Andrew Gallatin c7d6cc0149 MFH r186260: Additional 10GbE media types (10Gbase-LRM, 10Gbase-Twinax*) 2009-02-24 19:41:23 +00:00
Alexander Motin ca0f0643fa MFC rev. 187876, 188462, 188724
Sync sdhci driver with HEAD:
Add hw.sdhci.debug sysctl to control debug level.
Fix read_ivar prototype.
Add support for interruptless kernel dumping.
2009-02-23 19:58:35 +00:00
Alexander Motin a56dc7b85a MFC rev. 187525 187543 187546 187551 187875 187877 188044 188725
Sync MMC subsystem with HEAD.
2009-02-23 19:52:47 +00:00
Bruce M Simpson 9f6acca92d fix typo! 2009-02-22 19:23:58 +00:00
Bruce M Simpson 48cf390028 MFC:
Fix a typo which caused ifmcstat's sysctl path
  to print the network-layer endpoint address of the
  group membership, rather than its link-layer mapping
  as intended.
  The KVM path is not affected.
2009-02-22 13:34:01 +00:00
Konstantin Belousov dc9ca499f4 MFC r188320:
Do not leak the MAP_ENTRY_IN_TRANSITION flag when copying map entry
on fork. Otherwise, copied entry cannot be removed in the child map.
2009-02-22 10:28:09 +00:00
Konstantin Belousov 21c276f904 MFC r188318:
Lookup up the directory entry for the tmpfs node that are deleted by
both node pointer and name component. This does the right thing for
hardlinks to the same node in the same directory.

PR:   kern/131356
2009-02-22 10:25:07 +00:00
Konstantin Belousov de32bbb167 MFC r187528:
Move the code from ufs_lookup.c used to do dotdot lookup, into
the helper function. It is supposed to be useful for any filesystem
that has to unlock dvp to walk to the ".." entry in lookup routine.
2009-02-22 10:17:10 +00:00
Alan Cox 64b615bb56 MFC r188608
Remove unnecessary page queues locking around vm_page_busy() and
  vm_page_wakeup().
2009-02-22 03:02:46 +00:00
Sam Leffler 1ff4c2bf1f fix cross-refs to wlandebug
PR:		docs/131927
Submitted by:	David Horn <[email protected]>
2009-02-21 19:19:11 +00:00
Maxim Konovalov 1b5ef55d74 MFC r188749,188759: DragonFly 2.2.0. 2009-02-20 07:22:58 +00:00
Maxim Konovalov f6a14ddc64 MFC r188575: don't leak a device unit number. 2009-02-20 07:17:06 +00:00
Maxim Konovalov cfc4ae8078 MFC r188481: print an octal representation of suid, sgid and
sticky bits with -x flag.
2009-02-20 07:10:33 +00:00
Luigi Rizzo 9e650b97c1 MFC: sync the ipfw code with the version in HEAD.
The only new feature is that now one can write
"table all {flush | list}" to act on all tables.

Just for the records, there is one difference which probably
has no practical importance; two "tos" flags are represented
differently now:

@@ -182,8 +182,8 @@ static struct _s_x f_iptos[] = {
 	{ "throughput",	IPTOS_THROUGHPUT},
 	{ "reliability", IPTOS_RELIABILITY},
 	{ "mincost",	IPTOS_MINCOST},
-	{ "congestion",	IPTOS_CE},
-	{ "ecntransport", IPTOS_ECT},
+	{ "congestion",	IPTOS_ECN_CE},
+	{ "ecntransport", IPTOS_ECN_ECT0},
 	{ "ip tos option", 0},
 	{ NULL,	0 }
 };

IPTOS_ECT = IPTOS_ECN_ECT0 = 2 so 'ecntransport' is the same.

IPTOS_CE = 1, IPTOS_ECN_CE = 3 so 'congestion' is represented by a
different codepoint, but this also reflects a different specification
(RFC3168 obsoletes RFC2481) so the change is just adopting the new
spec.
2009-02-20 00:39:39 +00:00
Luigi Rizzo faf51e964f correct the spelling of a log message (missing "All ");
on passing, rename a variable within a macro to reduce the chance
of shadowing other variables with the same name
2009-02-19 21:29:30 +00:00
Konstantin Belousov aacef1f255 Unbreak ZFS after the r188610:
MFC r182781 (by pjd):
Catch up after last insmntque() changes:
- The vnode has to be locked exclusively before calling insmntque().
- Until I find a way to handle insmntque() failures use VV_FORCEINSMQ flag
  to force insmntque() to always succeed.

MFC r182824 (by pjd):
Lock vnode exclusively around insmntque().

MFC r182840 (by pjd):
Initialize vp, so we don't call VOP_UNLOCK() with NULL vnode pointer.

Tested by:	cy, pjd
No objections by:	pjd
2009-02-19 16:01:00 +00:00
Jamie Gritton 5d9b2b21a3 MFC:
r188144:
   Standardize the various prison_foo_ip[46] functions and prison_if to
   return zero on success and an error code otherwise.  The possible errors
   are EADDRNOTAVAIL if an address being checked for doesn't match the
   prison, and EAFNOSUPPORT if the prison doesn't have any addresses in
   that address family.  For most callers of these functions, use the
   returned error code instead of e.g. a hard-coded EADDRNOTAVAIL or
   EINVAL.

   Always include a jailed() check in these functions, where a non-jailed
   cred always returns success (and makes no changes).  Remove the explicit
   jailed() checks that preceded many of the function calls.

 r188146:
   Don't allow creating a socket with a protocol family that the current
   jail doesn't support.  This involves a new function prison_check_af,
   like prison_check_ip[46] but that checks only the family.

   With this change, most of the errors generated by jailed sockets
   shouldn't ever occur, at least until jails are changeable.

 r188148:
   Remove redundant calls of prison_local_ip4 in in_pcbbind_setup, and of
   prison_local_ip6 in in6_pcbbind.

 r188149:
   Call prison_if from rtm_get_jailed, instead of splitting it out into
   prison_check_ip4 and prison_check_ip6.  As prison_if includes a jailed()
   check, remove that check before calling rtm_get_jailed.

 r188151:
   Don't bother null-checking the thread pointer before the prison checks
   in udp6_connect (td is already dereferenced elsewhere without such a
   check).  This makes the conversion from a sockaddr to a sockaddr_in6
   always happen, so convert once at the beginning of the function rather
   than twice in the middle.

Approved by:	bz (mentor)
2009-02-18 20:12:08 +00:00
John Baldwin 24907ae356 The previous MFC only fixed the old kern.proc.vmmap sysctl. Fix the new one
as well to not hold the vnode lock for vn_fullpath() and only use a shared
vnode lock for VOP_GETATTR().
2009-02-17 22:49:58 +00:00
John Baldwin 48fb501ef2 MFC: Remove unnecessary locking around vn_fullpath(). This also includes
closing some races between procfs' <pid>/file and execve(2) and using a
shared vnode lock for the VOP_GETATTR() in the kern.proc.vmmap sysctl
handler.
2009-02-17 22:46:30 +00:00
John Baldwin 33a5fd2709 MFC: Use shared vnode locks for auditing vnode arguments. 2009-02-17 21:59:54 +00:00
John Baldwin efb40e6e5b MFC: Use shared vnode locks instead of exclusive vnode locks for the
access(), chdir(), chroot(), eaccess(), fchdir(), fpathconf(), fstat(),
fstatfs(), lseek() (when figuring out the current size of the file in the
SEEK_END case), pathconf(), readlink(), and statfs() system calls.
2009-02-17 21:35:54 +00:00
John Baldwin 06a0d6a27d MFC: Permit Giant to be passed as the explicit interlock either to
msleep/mtx_sleep or the various cv_*wait*() routines.
2009-02-17 21:02:35 +00:00
John Baldwin 790767dcd5 MFC: Rework the lifetime management of the kernel implementation of POSIX
semaphores.  Specifically, semaphores are now represented as new file
descriptor type that is set to close on exec.  This removes the need for
all of the manual process reference counting (and fork, exec, and exit
event handlers) as the normal file descriptor operations handle all of
that for us nicely.  It is also suggested as one possible implementation
in the spec and at least one other OS (OS X) uses this approach.

Refer to the original commit for more details on specific bug fixes, etc.
A notable difference in this MFC relative to the original commit to HEAD
is that the MAC entry points are unchanged to preserve the ABI for MAC
policy modules.  fstat() on a POSIX semaphore in 7 uses the
mac_check_posix_sem_getvalue() hook to determine access as that is the
closest match to stat() of the available hooks.

Discussed with:	 rwatson (MAC bits (or lack thereof))
2009-02-17 19:57:52 +00:00
John Baldwin ae7221fe88 MFC: Fix a bug in the previous change to the mtab handler: use the path
returned by vn_fullpath() when vn_fullpath() succeeds instead of when it
fails.
2009-02-17 15:58:42 +00:00
John Baldwin 2298434666 MFC: Correct the sense of the "use32" terenary operator so that it uses
'lib32' for 32-bit binaries on amd64 and 'lib' for 64-bit binaries. Remove
an #ifdef __i386__ that defined use32 to the wrong value on i386 to
workaround the bug in the terenary operator.
2009-02-17 15:54:09 +00:00
John Baldwin ed6edae82a MFC 1.39: Include <sys/pcpu.h> in <sys/sx.h> in the kernel so that
curthread is always defined.
2009-02-17 15:41:41 +00:00
Colin Percival 47048831e5 Correctly scrub telnetd's environment.
Approved by:	so (cperciva)
Security:	FreeBSD-SA-09:05.telnetd
2009-02-16 21:56:17 +00:00
Maksim Yevmenkin 9a8a952e01 MFC r188603
Since r188030 the error value for attach is returned, this means if kbdmux
fails to attach (possibly due to disable hints) then we get called back for
unload. Correctly handle the case where the keyboard isnt found rather than
calling panic.

Submitted by:	thompsa
2009-02-16 20:04:57 +00:00
Hajimu UMEMOTO 4d0d4995c5 MFH 188316: Shutup warning for DNAME RR.
PR:		bin/127591
Submitted by:	"Eugene M. Kim" <20080111.freebsd.org__at__ab.ote.we.lv>
2009-02-16 18:24:48 +00:00
Luigi Rizzo 9d79a4ee45 various cleanup (mostly MFC, one not applicable to head):
- remove 3 unneeded headers (this is not applicable to head);
- replace netinet/if_ether.h with net/ethernet.h which is really needed;
- add missing #ifdef SYSCTL_NODE / #endif
- use the 'ch' argument instead of &layer3_chain when adding entries to
  a table;
- remove an assigment within a conditional;
- properly initialize a couple of variables
- use a constant format string in a log message
- remove unnecessary braces and simplify the error
  messages in IP_FW_NAT_* handler
2009-02-16 16:48:49 +00:00
Luigi Rizzo 7f6b328a70 make the dependency on lock.h and mutex.h explicit instead of
inheriting them from net/if.h
2009-02-16 16:36:31 +00:00
Konstantin Belousov dd0e4cdc33 Bump __FreeBSD_version after the r188620, that changed
struct mount and struct vfsops.
2009-02-14 23:48:26 +00:00
Konstantin Belousov e2bcdc693e MFC r186897:
If unmount of the ffs mp failed, reinitialize the extended attributes
for the mp, and restart them if autostart is enabled.
2009-02-14 23:45:24 +00:00
Konstantin Belousov 105cf80b16 MFC r183074:
Suspend the write operations on the UFS filesystem being unmounted or
remounted from rw to ro.
2009-02-14 23:22:37 +00:00
Konstantin Belousov 4ddee6018f MFC r183073:
When attempt is made to suspend a filesystem that is already syspended,
wait until the current suspension is lifted instead of silently returning
success immediately. The consequences of calling vfs_write() resume when
not owning the suspension are not well-defined at best.

Add the vfs_susp_clean() mount method to be called from
vfs_write_resume(). Set it to process_deferred_inactive() for ffs, and
stop calling it manually.

Add the thread flag TDP_IGNSUSP that allows to bypass the suspension
point in the vn_start_write. It is intended for use by VFS in the
situations where the suspender want to do some i/o requiring calls to
vn_start_write(), and this i/o cannot be done later.

Note that addition of the mount method and new struct mount field change
the KBI. This was approved by re and no objections on stable@ were
raised.
2009-02-14 23:02:21 +00:00
Konstantin Belousov 45444589ee MFC r183072:
Add the ffs structures introspection functions for ddb.
Show the b_dep value for the buffer in the show buffer command.
Add a comand to dump the dirty/clean buffer list for vnode.
2009-02-14 22:24:04 +00:00
Konstantin Belousov d53f04a4bd MFC r183070:
When downgrading the read-write mount to read-only, do_unmount() sets
MNT_RDONLY flag before the VFS_MOUNT() is called. In ufs_inactive()
and ufs_itimes_locked(), UFS verifies whether the fs is read-only by
checking MNT_RDONLY, but this may cause loss of the IN_MODIFIED flag
for inode on the fs being remounted rw->ro.

Introduce UFS_RDONLY() struct ufsmount' method that reports the value
of the fs_ronly. The later is set to 1 only after the remount is
finished.
2009-02-14 21:12:58 +00:00
Konstantin Belousov 003038583e MFC r182366:
In ffs_valloc(), ffs_vget() may fail because insmntque() refused to
insert new vnode into the mount vnode list. Then, for the SU-enabled
mount, ffs_vfree could create freefile dependency. This dependency can
hang around forever since inode is not marked as IN_MODIFIED and
correspondingly inodeblock may be not marked as dirty.

After ffs_vget() fails, retry with FFSV_FORCEINSMQ, mark the inode as
modified, and vput() it immediately. Take care of the dup alloc.
2009-02-14 21:08:40 +00:00
Konstantin Belousov ba14aa9764 MFC r182365:
Softdep code may need to instantiate vnode when processing
dependencies. In particular, it may need this while syncing filesystem
being unmounted. Since during unmount MNTK_NOINSMNTQUE flag is set,
that could sometimes disallow insertion of the vnode into the vnode
mount list, softdep code needs to overwrite the MNTK_NOINSMNTQUE flag.

Create the ffs_vgetf() function that sets the VV_FORCEINSMQ flag for
new vnode and use it consistently from the softdep code instead of
ffs_vget().

Add the retry logic to the softdep_flushfiles() to flush the vnodes
that could be instantiated while flushing softdep dependencies.
2009-02-14 20:59:50 +00:00
Konstantin Belousov f31d8f3fa3 MFC r182364:
Introduce the VV_FORCEINSMQ vnode flag. It instructs the insmnque() function
to ignore the unmounting and forces insertion of the vnode into the mount
vnode list.

Change insmntque() to fail when forced unmount is in progress and
VV_FORCEINSMQ is not specified.

Add an assertion to the insmntque(), requiring the vnode to be
exclusively locked for mp-safe filesystems.
MFC note: because zfs in stable/7 does not follow the insmntque() protocol,
the assertion is commented out.

Use the VV_FORCEINSMQ for the creation of the syncvnode.
2009-02-14 20:42:54 +00:00
Ulf Lilleengen 2c699bf4ab MFC r188492:
- Use the correct argument when determining the buffer size.

PR:		kern/131575
2009-02-13 19:49:35 +00:00
Alexander Motin e2cd193bc0 MFC rev. 187384
Fix regression introduced at rev. 173124:
0.0.0.0/1 is not the same as 0.0.0.0/0.
2009-02-13 19:16:15 +00:00
Luigi Rizzo ae6404c69e remove some unnecessary #include
Again, this change is not directly applicable to HEAD due
to the presence of vnet.h and vinet.h which bring in almost
every network-related header.
2009-02-13 18:31:35 +00:00
Luigi Rizzo 7594a54823 MFC - replace usage of n_* types with uint*_t , to help removing
unnecessary dependencies on in_systm.h
2009-02-13 18:09:38 +00:00
Luigi Rizzo ba27fba342 document why certain headers are required. 2009-02-13 18:04:55 +00:00
Luigi Rizzo ce2fdaa673 remove some unnecessary #include
The change is not directly applicable to HEAD because there
a lot of headers are already included by vnet.h
2009-02-13 13:35:41 +00:00
Konstantin Belousov 0398f67fec MFC r187223:
Redo the locking of the semaphores lifetime cycle.

MFC r187298:
Lock the semaphore identifier lock during semaphore initialization.
2009-02-13 12:15:45 +00:00
Pyun YongHyeon 23c96afbc4 MFC r186126:
Elaborate on the hardware features fxp(4) supports.
2009-02-13 02:41:15 +00:00
Maksim Yevmenkin 5736860ade MFC r188452
Update comment. soalloc() is no longer performing M_WAITOK memory allocations.

Submitted by:	ru
2009-02-13 01:14:00 +00:00
Randall Stewart 1ae616bdd1 MFC of 185694 - The IETF hack session:
Code from the hack-session known as the IETF (and a
bit of debugging afterwards):
- Fix protection code for notification generation.
- Decouple associd from vtag
- Allow vtags to have less strigent requirements in non-uniqueness.
   o don't pre-hash them when you issue one in a cookie.
   o Allow duplicates and use addresses and ports to
     discriminate amongst the duplicates during lookup.
- Add support for the NAT draft draft-ietf-behave-sctpnat-00, this
  is still experimental and needs more extensive testing with the
  Jason Butt ipfw changes.
- Support for the SENDER_DRY event to get DTLS in OpenSSL working
  with a set of patches from Michael Tuexen (hopefully heading to
  OpenSSL soon).
- Update the support of SCTP-AUTH by Peter Lei.
- Use macros for refcounting.
- Fix MTU for UDP encapsulation.
- Fix reporting back of unsent data.
- Update assoc send counter handling to be consistent with endpoint
  sent counter.
- Fix a bug in PR-SCTP.
- Fix so we only send another FWD-TSN when a SACK arrives IF and only
  if the adv-peer-ack point progressed. However we still make sure
  a timer is running if we do have an adv_peer_ack point.
- Fix PR-SCTP bug where chunks were retransmitted if they are sent
  unreliable but not abandoned yet.

With the help of:       Michael Teuxen and Peter Lei :-)
2009-02-12 18:50:27 +00:00
Randall Stewart e29c5f9fe0 MFC 184883 - a pack of bug fixes and misc adjustments:
-Improvement: Add '\n' on debug output in sctp_lower_sosend().
-Improvement: panic() on INVARIANTS kernels if memory allocation
 fails for a tagblock in sctp_add_vtag_to_timewait().
-Bugfix: Protect code in sctp_is_in_timewait() by
 SCTP_INP_INFO_WLOCK/SCTP_INP_INFO_WUNLOCK.
-Cleanup: Get rid of unused variable now in sctp_init_asoc().
-Bugfix: Reuse the correct vtag in sctp_add_vtag_to_timewait().
-Cleanup: Get rid of unused constant SCTP_TIME_WAIT_SHORT
 in sctp_constants.h.
-Improvement: Use all hash buckets of the vtag hash table.
-Cleanup: Get rid of then unused constant SCTP_STACK_VTAG_HASH_SIZE_A.
-Bugfix: Handle SHUTDOWN;SACK packet correctly.
-Bugfix: Last TSN in a gap ack block was not being "ack'd"
         in the internal scoreboard.
Obtained from:  (with help from Michael Tuexen)
2009-02-12 18:33:26 +00:00
Randall Stewart a1b51746f9 MFC of 184340
More issues with pre-blocking:
 a) Need for EEOR mode to take the min of the socket buffer size and the
    add more threshold, otherwise if you are so silly as to set a send
    buf size less than the add-more you could block forever in eeor mode.

 b) We were incorrectly using the sysctl vs the calculated value. This
    causes us to block forever if the addmore theshold is larger than
    then the socket buffer size.
2009-02-12 18:28:42 +00:00
Randall Stewart a16ea3da35 MFC 184333
Invariants changes that make more sense.
2009-02-12 18:24:54 +00:00
Randall Stewart bd2e61f2d0 MFC of 184031:
The flags value was not always being copied out in the recv routine like it
should be.
Obtained from:  Michael Tuexen
2009-02-12 18:22:11 +00:00
Randall Stewart 9d6e9bc1d5 MFC of 184027:
Reported by Yehuda Weinraub ([email protected]) - CRC32C algorithm
uses incorrect init_bytes value. It SHOULD have the number
of bytes to get to a 4 byte boundary.

PR:		128134
2009-02-12 18:02:46 +00:00
Randall Stewart a1db04b7a6 MFC of 182367 and 182403
- Make strict-sacks be the default.
- Change it so that without INVARIANTs there are
  no panics in SCTP.
- sctp_timer changes so that we have a recovery mechanism
  when the sent list is out of order.

<AND>

Fixes compile error when INVARIANTs is on. Adds an
empty goto to keep the compiler happy.
2009-02-12 17:57:28 +00:00
Randall Stewart b14dcf5dbf MFC of 184336:
Two inter-related bugs.
  - If we send EXACTLY the size left in the send buffer
    and then send again, we end up with exactly 0 bytes and
    don't hit the pre-block code to wait for more space.
  - If we fall into the loop with our max_len == 0 (the bug
    above) we then call in to copy out the data, setup the length
    of the waiting to transmit data to 0 and call the mbuf copy routine
    which 0 indicates copy all the data to the mbuf chain.. which it
    does. This then leaves a "stuck" message on the stream queue with
    its size exactly 0 bytes but all the data there and thus nothing
    left in the uio structure. We then reach a stuck forever state
    never being able to send data.
2009-02-12 17:31:39 +00:00
Randall Stewart 6513931fbf MFC of 184030 - socket accept inherit bug. Basically
accepted sockets were not inheriting the proper
                sock buf size.
2009-02-12 17:26:16 +00:00
Randall Stewart 3577b1f323 Merges in 182268 from head close bug where we
failed to NULL the sctp_socket.
2009-02-12 16:40:48 +00:00
Olivier Houchard f41b8ce9e9 MFC:
r188424 | cognet | 2009-02-09 23:59:22 +0100 (Mon, 09 Feb 2009) | 6 lines

Hmm... "base? base : 0" and "base" should be equivalent.
2009-02-12 15:26:00 +00:00
John Baldwin c452e8f121 MFC: Drop the kernel linker lock while running SYSUNINIT routines and
removing sysctls during a linker file unload.
2009-02-12 14:41:23 +00:00
John Baldwin 508d25517c MFC: Add simple locking for the in-kernel iconv code. 2009-02-12 14:37:58 +00:00
Maxim Konovalov cfc60df778 MFC r186644: show unix sockets listen queues stats with -L flag. 2009-02-11 10:28:55 +00:00
Maksim Yevmenkin 8d74ab9244 MFC r183058
Add uuid_enc,dec_le,be() functions to Symbol.map
Pointy hat goes to me.

MFC r183192

Move uuid_enc_le, uuid_dec_le, uuid_enc_be and uuid_dec_be symbols
into FBSD_1.1 section where they should be (as Pointed out by: kib,
deischen)
2009-02-10 21:09:54 +00:00
Maksim Yevmenkin 4f461a8ecd MFC r185320
Straighten out those pesky SDP records for the Bluetooth
Service Discovery Application Profile.

Discussed with:	Iain Hibbert of NetBSD plunky at rya dash online dot net
2009-02-10 20:08:03 +00:00
Maksim Yevmenkin 52d67d30be MFC r182880$$
Add new TAPGIFNAME tap(4) character device ioctl. This is a
convenient shortcut to obtain network interface name using
file descriptor for character device.

Obtained from:	NetBSD
2009-02-10 20:04:20 +00:00
Maksim Yevmenkin 4a3f185a7b MFC r182881
Document TAPGIFNAME, TAPSIFINFO and TAPGIFINFO tap(4)
character device ioctl's.
2009-02-10 20:03:26 +00:00
Konstantin Belousov 94239e5cba MFC r187470:
Unconditionally reload fsbase when switching to 32bit binary.
2009-02-10 17:50:03 +00:00
Konstantin Belousov e52c70fc5b MFC r187468:
Revert vnode_pager_setsize() back when UFS_BALLOC() failed, for
ffs_truncate() and ffs_write().
2009-02-10 17:47:35 +00:00
Konstantin Belousov f333c5eb54 MFC r187467:
Change vinvalbuf() to not remove any pages from the object when
V_NORMAL or V_ALT are specified. Instead, the only in-tree caller
in ffs_inode.c:ffs_truncate() that specifies V_ALT explicitely
removes the corresponding page range. The V_NORMAL caller
does vnode_pager_setsize(vp, 0) immediately after the call to
vinvalbuf(V_NORMAL) already.

MFC r187490:
The r187467 should remove all pages for V_NORMAL case too, because
indirect block pages are not removed by the mentioned invocation of
the vnode_pager_setsize().

Put a common code into the helper function ffs_pages_remove().
2009-02-10 17:43:47 +00:00
Olivier Houchard 82043ec558 MFC r188112
r188112 | cognet | 2009-02-04 02:14:06 +0100 (Wed, 04 Feb 2009) | 8 lines

Erm... Report the buffer as being bounced even when it's the entire buffer,
or we would end up invalidating the cache line for what we just copied...
2009-02-09 22:21:38 +00:00
Maksim Yevmenkin 4e81567849 MFC r186466
Change message severity level from WARN to INFO. This should reduce
amount of messages sent to syslog
2009-02-09 17:53:45 +00:00
Maksim Yevmenkin 76d736af11 MFC r187454
Properly return error code to the caller. This should fix the following
panic in ng_l2cap(4).

panic: ng_l2cap_l2ca_con_req: ubt0l2cap - could not find connection!

While i'm here get rid of few goto's.
2009-02-09 17:50:19 +00:00
Maksim Yevmenkin cc7a3edd99 MFC r188030
Properly retun error core from kbdmux_modevent()

Reported by:	Christoph Mallon < christoph -dot- mallon -at- gmx -dot- de >
2009-02-09 17:14:49 +00:00
Konstantin Belousov d739e8c0f1 MFC r187715:
The kernel may do unbalanced calls to fifo_close() for fifo vnode,
without corresponding number of fifo_open(). This causes assertion
failure in fifo_close() due to vp->v_fifoinfo being NULL for kernel
with INVARIANTS, or NULL pointer dereference otherwise. In fact, we may
ignore excess calls to fifo_close() without bad consequences.

Turn KASSERT() into the return, and print warning for now.
2009-02-09 12:22:49 +00:00
Maxim Konovalov d7187cc6be MFC r187913: fix typo. 2009-02-09 10:28:16 +00:00
Pyun YongHyeon b913e6653d MFC r186884:
Always check whether dma map is valid before unloading the map.
  When fxp(4) intializes Rx buffers for the first time, there is no
  loaded dma map so attempting to unload it is an invalid operation.
2009-02-09 04:02:53 +00:00
Pyun YongHyeon 7c11bde1a9 MFC r186262:
It seems that we don't need to reserve a TBD to set total TCP
  payload length in TSO case. Leaving unused TBD also seem to cause
  SCB timeouts under certain conditions when TSO/non-TSO traffics
  are active at the same time.
2009-02-09 04:00:54 +00:00
Pyun YongHyeon e6a1a0312a MFC r185758:
mutex.h is needed here. It got it by namespace pollution.
2009-02-09 03:58:29 +00:00
Pyun YongHyeon 4d6623926c MFC r185540:
Add VLAN hardware tag insertion/stripping support. Tx/Rx checksum
  offload for VLAN frames are also supported. The VLAN hardware
  assistance is available only on 82550/82551 based controllers.
  While I'm here change the confusing name of bit1 in byte 22 of
  configuration block to vlan_drop_en. The bit controls whether
  hardware strips VLAN tagged frame or not. Special thanks to wpaul
  who sent valuable VLAN related information to me.
2009-02-09 03:55:51 +00:00
Pyun YongHyeon 731cd2161c MFC r185354,185538:
r185354:
  Add basic WOL support for 82550/82551/82558 and 82559 based
  controllers. ICH based controllers are treated as 82559. 82557,
  earlier revision of 82558 and 82559ER have no WOL capability.
   o WOL support requires help of a firmware so add check whether
     hardware is capable of handling magic frames by reading EEPROM.
   o Enable accepting WOL frames only when hardware is about to
     suspend or shutdown. Previously fxp(4) used to allow receipt of
     magic frame under normal operation mode which could cause
     hardware hang if magic frame is received by hardware. Datasheet
     clearly states driver should not allow WOL frames under normal
     operation mode.
   o Disable WOL frame reception in device attach so have fxp(4)
     immunize against system hang which can be triggered by magic
     packets when the hardware is not in fully initialized state.
   o Don't reset all hardware configuration data in fxp_stop()
     otherwise important configuration data is lost and this would
     reset WOL configuration to default state which in turn cause
     hardware hang on receipt of magic frames. To fix the issue,
     preserve hardware configuration data by issuing a selective
     reset.
   o Explicitly disable interrupts after issuing selective reset as
     reset may unmask interrupts.

 r185538:
  Make sure to clear PMDR register by writing back power management
  events. Just reading PMDR register was not enough to have fxp(4)
  immuninize against received magic packets during system boot.
2009-02-09 03:53:20 +00:00
Pyun YongHyeon eba3ac4cca MFC r185330:
Implement TSO for 82550/82551 controllers.
   o Configure controller to use dynamic TBD as TSO requires that
     operation mode.
   o Add a dummy TBD to tx_cb_u as TSO can access one more TBD in TSO
     operation.
   o Increase a DMA segment size to 4096 to hold a full IP segment
     with link layer header.
   o Unlike other TSO capable controllers, 82550/82551 does not
     modify the first IP packet in TSO operation so driver should
     create an IP packet with proper header. Subsequent IP packets
     are generated from the header information in the first IP packet
     header. Likewise pseudo checksum also should be computed by
     driver for the first packet.
   o TSO requires one more TBD to hold total TCP payload. To make
     code simple for TSO/non-TSO case, increase the index of the
     first available TBD array.
   o Remove KASSERT that checks the size of a DMA segment should be
     less than or equal to MCLBYTES as it's no longer valid in TSO.
   o Tx threshold and number of TBDs field is used to store MSS in
     TSO. So don't set the Tx threshold in TSO case.
2009-02-09 03:48:49 +00:00
Pyun YongHyeon 1ec60a3a0a MFC r185329:
Implement Rx checksum offload for 82559 or later controllers.
  82559 or later controllers added simple checksum calculation logic
  in RU. For backward compatibility the computed checksum is appended
  at the end of the data posted to Rx buffer. This type of simple
  checksum calculation support had been used on several vendors such
  as Sun HME/GEM, SysKonnect GENESIS and Marvell Yukon controllers.
  Because this type of checksum offload support requires parsing of
  received frame and pseudo checksum calculation with software
  routine it still consumes more CPU cycles than that of full-fledged
  checksum offload controller. But it's still better than software
  checksum calculation.
2009-02-09 03:46:15 +00:00
Pyun YongHyeon 6a970e9092 MFC r185328:
o Introduce a new function, fxp_new_rfabuf which allocates a new
     Rx buffer and loads DMA map. Also add a function
     fxp_discard_rfabuf that handles reusing Rx buffer/DMA map. With
     this change fxp_add_rfabuf just handles appending a new RFA to
     existing chain.
   o Initialize mbuf length in fxp_new_rfabuf.
   o Don't reset rnr and have fxp(4) handle received frames even if
     it couldn't allocate new Rx buffer. This will make fxp(4) reload
     updated RFA under rnr case. The rnr would still be reset to 0 if
     polling is active and fxp(4) processed number of allowed Rx
     events.
   o Update if_iqdrops if fxp(4) couldn't allocate Rx buffer.

  Previously fxp(4) used to try to reuse Rx buffer when new buffer
  allocation is failed. But fxp(4) didn't take into account loaded
  DMA map such that the same DMA map was loaded again without
  unloading the map. There is no reason to unload the loaded map and
  reload the same map again, just reusing the map is enough. I
  believe the spare DMA map in softc was introduced to implement this
  behaviour. Also fxp(4) used to stop Rx processing if once Rx buffer
  allocation or DMA map load fails which in turn resulted in losing
  incoming frames under heavy network load. With this change fxp(4)
  should survive from resource shortage condition.
2009-02-09 03:43:46 +00:00
Pyun YongHyeon 39288e9b4e MFC r185286:
Simplify Tx checksum offload configuration. Also clear CSUM_IP if
  we've computed IP checksum with software method.
2009-02-09 03:40:51 +00:00
Pyun YongHyeon e4c5f6ccbc MFC r185285:
- Allow fxp_encap() enqueue failed transmissions and set
    IFF_DRV_OACTIVE to note resource shortage to upper stack.
  - Don't count number of mbuf chains. Default 32 DMA segments for a
    frame is enough for most cases. If bus_dmamap_mbuf_sg fails use
    m_collapse(9) to collapse the mbuf chain instead of relying on
    expensive m_defrag(9).
  - Move bpf handling to fxp_start_body() which is supposed to be
    more appropriate place.
  - Always arm watchdog timer whenever a new Tx request is made.
    Previously fxp(4) used to arm watchdog timer only when
    FXP_CXINT_THRESH-th Tx request is made. Because fxp(4) does not
    rely on Tx interrupt to reclaim transmitted mbufs it's better to
    arm watchdog timer to detect potential lockups.
  - Add more aggresive Tx buffer reclaiming in fxp_start_body to make
    room for new Tx requests. Since fxp(4) does not request Tx
    completion interrupt for every frames it's necessary to clean
    TXCBs in advance to saturate link.
  - Make fxp(4) try to start more packets transmitting regardless of
    interrupt type in fxp_intr_body.
2009-02-09 03:38:01 +00:00
Pyun YongHyeon e918f7d082 MFC r185276
Move unarming watchdog timer and pending multicast configuration
  check to fxp_txeof(). While I'm here unarm watchdog timer only if
  there are no pending queued Tx requests.
  Previously the watchdog timer was unarmed whenever Tx interrupt is
  raised. This could be resulted in hiding root cause of watchdog
  timeouts.
2009-02-09 03:34:35 +00:00
Pyun YongHyeon d26cb19bdd MFC r185273
Fix Tx/Rx checksum offload ioctl handling and make Rx handler honor
  checksum offload configuration. Now checksum offload can be
  controlled by ifconfig(8).
  While I'm here add an additional check for interface capabilities
  before applying user's request.
2009-02-09 03:32:23 +00:00
Tim Kientzle 783491fd8b MFC r187704: Fix ARCHIVE_EXTRACT_SPARSE handling in libarchive.
Add a test to exercise this feature.
This should fix --sparse/-S support in tar.

Thanks to:      Daichi GOTO
2009-02-09 03:31:53 +00:00
Pyun YongHyeon d715c929ad MFC r185269,185271-185272
r185269:
  Whitespace fix.

 r185271:
  Sort head files and removed ununsed header file.

 r185272:
  Make fxp(4) build with FXP_IP_CSUM_WAR.
2009-02-09 03:28:57 +00:00
Pyun YongHyeon 6d915fdb9d MFC r177507(cvs if_fxp.c, 1.267):
Reuse the mbuf that was just retrieved from the receive ring if mbuf
  exhaustion is encountered. There was a fix made previously for this
  problem but the solution (breaking out of the receive loop) does not
  seem to work. mbuf reuse strategy is already adopted by other drivers
  such as if_bge.  The problem was recreated and the patch is also
  verified in the same test environment.
2009-02-09 03:23:00 +00:00
Pyun YongHyeon 51d229a98b MFC r187208:
Remove local jumbo locator and switch to UMA backed page allocator
  for jumbo frame.
    o Nuke unneeded jlist lock which was used to protect jumbo buffer
      management in local allocator.
    o Added a new tunable hw.mskc.jumbo_disable to disable jumbo
      frame support for the driver. The tunable could be set for
      systems that do not need to use jumbo frames and it would
      save (9K * number of Rx descriptors) bytes kernel memory.
    o Jumbo buffer allocation failure is no longer critical error
      for the operation of msk(4). If msk(4) encounter the allocation
      failure it just disables jumbo frame support and continues to
      work without your intervention.

  Using local allocator had several drawbacks such as requirement of
  large amount of continuous kernel memory and fixed (small) number
  of available buffers. The need for large continuous memory resulted
  in failure of loading driver with kldload on running systems.
  Also small number of buffer used in local allocator showed poor
  performance for some applications.
2009-02-09 02:15:25 +00:00
Pyun YongHyeon d9f2dde6f8 MFC r187207:
Correct frame length argument of in_cksum_skip. While I'm here
  remove intermediate variable csum.
2009-02-09 02:06:15 +00:00
Pyun YongHyeon 28a96119ad MFC r185244
Save the value read from TX queue CSR, so we don't test against a
  stale one.
2009-02-09 02:03:49 +00:00
Pyun YongHyeon 8ae0e96c45 MFC r183485-183486
r183485:
  Always pullup mbuf prior to accessing TCP header.
  This should fix occasional Tx checksum corruption issue.

 r183486:
  If mbuf is not writable get a writable copy before invoking
  m_pullup(9).
2009-02-09 02:00:43 +00:00
Pyun YongHyeon a4b011f87d MFC r183346
Add another hardware bug workaround for Yukon II controllers that
  have hardware ram buffer. The silicon bug seem to be triggered by
  pause frames if receive buffer is not aligned on FIFO word(8 bytes).
  To workaround the issue, make sure to align Rx buffers on 8 bytes.
  Unfortunately this workaround requires yet another Rx fixup for
  strict alignment architecture machines to align IP header.

  For newer hardwares that lacks ram buffer may not have this bug so
  check number of available ram buffer size to see the existence of
  ram buffer.
2009-02-09 01:55:30 +00:00
Pyun YongHyeon e115503049 MFC r186214,186389,187417
r186214:
  It seems that RealTek PCIe controllers require an explicit Tx poll
  command whenever Tx completion interrupt is raised. The Tx poll
  bit is cleared when all packets waiting to be transferred have been
  processed. This means the second Tx poll command can be silently
  ignored as the Tx poll bit could be still active while processing
  of previous Tx poll command is in progress.
  To address the issue re(4) used to invoke the Tx poll command in Tx
  completion handler whenever it detects there are pending packets in
  TxQ. However that still does not seem to completely eliminate
  watchdog timeouts seen on RealTek PCIe controllers. To fix the
  issue kick Tx poll command only after Tx completion interrupt is
  raised as this would indicate Tx is now idle state such that it can
  accept new Tx poll command again. While here apply this workaround
  for PCIe based controllers as other controllers does not seem to
  have this limitation.

 r186389:
  Since we don't request reset for rlphy(4), the link state 'UP'
  event from mii(4) may not be delivered if valid link was already
  established. To address the issue, check current link state after
  driving MII_TICK. This should fix a regression introduced in
  r185753 on fast ethernet controllers.

 r187417:
  Sometimes RTL8168B seems to take long time to access GMII registers
  in device attach phase. Double GMII register access timeout value
  to fix the issue.
2009-02-09 01:38:01 +00:00
Pyun YongHyeon d87336ba2b MFC r186210:
For RTL8168C SPIN2 controllers, make sure to take the controller
  out of sleep mode prior to accessing to PHY. This should fix device
  attach failure seen on these controllers. Also enable the sleep
  mode when device is put into sleep state.

  PR:	kern/123123, kern/123053
2009-02-09 01:30:14 +00:00
Pyun YongHyeon 03fbf00159 MFC: r185897,185900-185901,185903
r185897:
  Always put controller into known state before device intialization.
  While here remove re_reset calls invoked in system error case as
  controller reset is always done in device initialization.

 r185900:
  Newer RealTek controllers requires setting stop request bit to
  terminate active Tx/Rx operation.

 r185901:
  Don't access undocumented register 0x82 on controllers that
  have no such register. While here clear undocumented PHY
  register 0x0B for RTL8110S.

 r185903:
  Make WOL work on RTL8168B. This controller seems to require
  explicit command to enable Rx MAC prior to entering D3.
2009-02-09 01:26:31 +00:00
Pyun YongHyeon 42d59d692d MFC: r185752-185753,185756,185896
r185752:
  Make sure to return the result of meida change request.
  Previously it used to return success regardless of the result.

 r185753:
  o Implemented miibus_statchg handler. It detects whether re(4)
    established a valid link or not. In miibus_statchg handler add a
    check for established link is valid one for the controller(e.g.
    1000baseT is not a valid link for fastethernet controllers.)
  o Added a flag RE_FLAG_FASTETHER to mark fastethernet controllers.
  o Added additional check to know whether we've really encountered
    watchdog timeouts or missed Tx completion interrupts. This change
    may help to track down the cause of watchdog timeouts.
  o In interrupt handler, removed a check for link state change
    interrupt. Not all controllers have the bit and re(4) did not
    rely on the event for a long time. In addition, re(4) didn't
    request the interrupt in RL_IMR register.

 r185756:
  Reduce spin wait time consumed in GMII register access routines.
  Waiting for 1ms for each GMII register access looks overkill and it
  may also decrease overall performance of driver because re(4)
  invokes mii_tick for every hz.

 r185896:
  Partly revert r185756. RTL8169SC doesn't like reduced delays in
  GMII access while Tx/Rx is in progress.
2009-02-09 01:16:36 +00:00
Rui Paulo b141d27ca3 MFC 186529 (stas):
- Fix incorrect array declaration that was causing the stack overflow
	  on some (most?) Asus laptops.
2009-02-08 22:13:57 +00:00
Rui Paulo 9ac88aaa17 MFC r180268:
Fix my previous commit. We actually should pass evaluation args in
	AcpiEvaluateObject() calls, otherwise, we are not able to bring devices
	back up (NULL means 0, hence always off).
	While there add missing WLAN on/off support.
2009-02-08 22:09:49 +00:00
Rui Paulo 87073e40b8 Reverse botched r188326. 2009-02-08 22:01:20 +00:00
Rui Paulo d17786061a MFC r186529 (stas):
- Fix incorrect array declaration that was causing the stack overflow
	on some (most?) Asus laptops.
2009-02-08 20:00:36 +00:00
Rui Paulo 6ace2287a7 MFC r184625:
Add support for Asus A8Sr notebooks.

	PR:		128553
	Submitted by:	Eygene Ryabinkin <rea-fbsd at codelabs.ru>
2009-02-08 19:55:13 +00:00
Rui Paulo 0d1513c0c6 MFC r181885: Fix typo in comment. 2009-02-08 19:53:37 +00:00
Bjoern A. Zeeb 34c47cf633 "MFC": sys/conf/kern.pre.mk r180012 (out of the larger commit)
Without including bsd.own.mk KMODOWN/KMODGRP are not defined
  which after r188288 broke installkernel.

Reported by:	kib, Herbert J. Skuhra <[email protected]>
Reviewed by:	kib
Pointy hat to:	bz
2009-02-07 21:07:58 +00:00
Alan Cox fa7f727022 Recent changes to the kernel increasing the size of the kernel and kmem
maps on amd64 machines should trigger ZFS users to reevaluate their
manual tuning of the kmem map.
2009-02-07 15:51:21 +00:00
Bjoern A. Zeeb 3c3d37fdc3 MFC: r187668
Change IP addresses/prefixes to be from "Test-Net" (IPv4 documentation
  prefix 192.0.2.0/24) rather than from private-use networks.
2009-02-07 15:31:23 +00:00
Bjoern A. Zeeb babe5040e9 MFC: r186519
Permit digits in the kernel config file names for `make universe'.
  This catches a few more kernel config for various architectures
  and permits having local configs named like NOINET6.
2009-02-07 15:21:11 +00:00
Bjoern A. Zeeb 7c25b4813c MFC:
r186854
  Using KMODOWN/KMODGRP rather than hard coding root/wheel for
  installing the kernel allows one, like with modules, to override
  the default user/group and install as non-su to a temporary
  directory to test, create images or seed a tftp dir.

 r186894
  Document that we started using KMODOWN/KMODGRP for the kernel
  as well and no longer only for modules.
2009-02-07 14:55:29 +00:00
Bjoern A. Zeeb 29941b15d7 MFC: r187708
Update jail startup script for multi-IPv4/v6/no-IP jails.

  Note: this is only really necessary because of the ifconfig
        logic to add/remove the jail IPs upon start/stop.
        Consensus among simon and I is that the logic should
        really be factored out from the startup script and put
        into a proper management solution.

  - We now support starting of no-IP jails.
  - Implement jail_<jname>_ip options to support both
    address familes with regard to ifconfig logic.
  - Implement _multi<n> support suffix to the jail_<jname>_ip
    option to configure additional addresses to avoid overlong,
    unreadbale jail_<jname>_ip lines with lots of addresses.
2009-02-07 14:04:35 +00:00
Bjoern A. Zeeb e5440f43e6 MFC: r187684
For consistency with prison_{local,remote,check}_ipN rename
  prison_getipN to prison_get_ipN.
2009-02-07 13:55:12 +00:00
Bjoern A. Zeeb 61e3f18f2d MFC: r186948
Make SIOCGIFADDR and related, as well as SIOCGIFADDR_IN6 and related
  jail-aware. Up to now we returned the first address of the interface
  for SIOCGIFADDR w/o an ifr_addr in the query. This caused problems for
  programs querying for an address but running inside a jail, as the
  address returned usually did not belong to the jail.
  Like for v6, if there was an ifr_addr given on v4, you could probe
  for more addresses on the interfaces that you were not allowed to see
  from inside a jail. Return an error (EADDRNOTAVAIL) in that case
  now unless the address is on the given interface and valid for the
  jail.

  PR:		kern/114325
2009-02-07 13:51:15 +00:00
Bjoern A. Zeeb 1cb042f630 MFC:
r186956
  Take the cred from curthread rather than curproc as curproc would need
  locking but the credential from curthread (usually) never changes.

 r186980
  Restrict arp, ndp and theoretically the FIB listing (if not
  read with libkvm) to the addresses of a prison, when inside a
  jail.

  While touching RTM_GET in route_output(), consistently use
  curthread credentials rather than the creds from the socket
  there.

 r186986
  Rather than using the cred from curthread, take it from the thread
  referenced in the sysctl req argument.
2009-02-07 13:46:51 +00:00
Bjoern A. Zeeb cddea4afa2 Regen after jail support was merged in r188281
(--record-only MFC of r185436).
2009-02-07 13:27:01 +00:00
Bjoern A. Zeeb da0bebf915 MFC:
r185435:
  This enhances the current jail implementation to permit multiple
  addresses per jail. In addtion to IPv4, IPv6 is supported as well.
  Due to updated checks it is even possible to have jails without
  an IP address at all, which basically gives one a chroot with
  restricted process view, no networking,..

  SCTP support was updated and supports IPv6 in jails as well.

  Cpuset support permits jails to be bound to specific processor
  sets after creation.

  Jails can have an unrestricted (no duplicate protection, etc.) name
  in addition to the hostname. The jail name cannot be changed from
  within a jail and is considered to be used for management purposes
  or as audit-token in the future.

  DDB 'show jails' command was added to aid debugging.

  Proper compat support permits 32bit jail binaries to be used on 64bit
  systems to manage jails. Also backward compatibility was preserved where
  possible: for jail v1 syscalls, as well as with user space management
  utilities.

  Both jail as well as prison version were updated for the new features.
  A gap was intentionally left as the intermediate versions had been
  used by various patches floating around the last years.

  Bump __FreeBSD_version for the afore mentioned and in kernel changes.

 r185441:
  Unbreak the no-networks (no INET/6) build.

 r185899:
  Correctly check the number of prison states to not access anything
  outside the prison_states array.
  When checking if there is a name configured for the prison, check the
  first character to not be '\0' instead of checking if the char array
  is present, which it always is. Note, that this is different for the
  *jailname in the syscall.

  Found with:	Coverity Prevent(tm)
  CID:		4156, 4155

 r186085:
  Make sure that the direct jls invocations prints something
  reasonable close to and in the same format as it had always.

 r186606:
  Make sure that unused j->ip[46] are cleared.

 r186834:
  Document the special loopback address behaviour of jails.

  PR:		kern/103464

 r186841:
  Put the devfs ruleset next to devfs enable, add a comment about
  the suggested ruleset[1].

  While here use an IP from the 'test-net' prefix for docs.

  PR:		kern/130102

 r187059:
  Add a short section talking about jails and file systems; mention the
  mountand jail-aware file systems as well as quota.

  PR:		kern/68192

 r187092:
  Sort .Xr.

 r187365:
  s,unmount 8,umount 8, it is unmount(2) which I did not mean.

 r187669:
  Update the description of the '-h' option wrt to primary addresses
  per address family and add a reference to the ip-addresses option.

 r187670:
  New sentence starts on a new line.
2009-02-07 13:19:08 +00:00
Robert Watson 75b76418f2 Merge r188006 from head to stable/7:
Alow dirname(1) to accept multiple arguments in the same way that
  basename(1) does.

  (Two different PRs contained identical patches, both cited below)

  PR:           121520, 86148
  Submitted by: Ighighi <ighighi at gmail dot com>
  Submitted by: Leif Neland <leif at neland dot dk>
2009-02-07 11:27:35 +00:00
Robert Watson f5443e972f Merge r187814, r187820 from head to stable/7:
Add a new flag to dumpfs(8), -f, which causes dumpfs to list all free
  fragments in the file system by fragment (block) number.  This new
  mode does the necessary arithmetic to generate absolute fragment
  numbers rather than than the cg-relative numbers printed in the default
  mode.

  If -f is passed once, contiguous fragment ranges are collapsed into
  an X-Y format as free block lists are currently printed in regular
  dumpfs output, but if specified twice, all block numbers are printed
  individually, allowing both compact and more script-friendly
  representation.

  This proves quite handy when attempting to recover deleted data, as it
  allows exclusion of non-deleted data from blocks searched.

  Discussed with:       jeff, Richard Clayton <richard dot clayton at cl.cam.ac.uk>
  Sponsored by: Google, Inc.

  Print disk offets as %jd rather than %lld; I fixed one before committing
  but missed the other, which breaks 64-bit builds.

  Reported by:  bf <bf2006a at yahoo dot com>

Reviewed by:	mckusick
2009-02-07 11:15:53 +00:00
Bjoern A. Zeeb 4597d40963 MFC: r185404
With the permissions of phk@ change the license on kern_jail.c
  to a 2 clause BSD license.
2009-02-07 10:29:07 +00:00
Bjoern A. Zeeb efe13373be MFC:
r183571:
   Implement IPv4 source address selection for unbound sockets.

   This also changes the semantics of selecting the IP for processes within
   a jail as it now uses the same logic as outside the jail (with additional
   checks) but no longer is on a mutually exclusive code path.

 r186086:
   With the special check for FreeBSD before 8 a destination route via
   a loopback interface is treated as a valid and reachable thing for
   IPv4 source address selection, even though nothing of that network
   is ever directly reachable, but it is more like a blackhole route.

   With this the source address will be selected and IPsec can grab the
   packets before we would discard them at a later point, encapsulate them
   and send them out from a different tunnel endpoint IP.

   This is needed to not change the expected behaviour on a stable branch.
2009-02-07 10:17:29 +00:00
Andrew Thompson 6a3d5483b0 MFC r173522, r176910, r178975
-  Add private tx/rx buffer management to support large frame sizes and update
   the rx code to handle multiple frames in a single usb transfer.  AX772 parts
   (at least) exhibit many input errors when operated with a 2K rx buffer and
   no errors w/ a 4K rx buffer (it's unclear what the cause of the errors is
   for 2K so this may just be covering up the real issue).  Larger rx buffer
   sizes show no significant performance improvement for AX772.  Bypassing the
   common buffer management routines also eliminates an extra context switch on
   every packet which noticeably improves performance (TCP netperf rx goes from
   45 Mb/s to 85 MB/s).

-  Apply le*toh() or htole*() to the variables of which we use the address as
   the buffer pointer in the call to axe_cmd(). This is needed to make the code
   work on big-endian machines.

-  Add support for the Apple USB Ethernet adapter.  Work around the "latch in
   at the first working PHY address hack", that fails for this adapter because
   it returns 0xffff when reading from lower PHY addresses. Also add more
   debugging printfs
2009-02-07 01:43:04 +00:00
Robert Watson 2caa01811d Merge r187667 from head to stable/7:
Use __FBSDID() for $FreeBSD$ version strings in .c files.

  Obtained from:        TrustedBSD Project
2009-02-07 00:05:10 +00:00
Robert Watson 39c14fed59 Merge r186684 from head to stable/7:
White space and comment tweaks.
2009-02-06 23:56:02 +00:00
Thomas Abthorpe e4a2c8d197 - MFC the portindex(5) manual page
PR:		docs/70652
Approved by:	trhodes
2009-02-06 17:19:02 +00:00
John Baldwin 9558715865 MFC: Push down Giant in the vlnru kproc main loop so that it is only acquired
around calls to vlrureclaim() on non-MPSAFE filesystems.
2009-02-06 16:05:00 +00:00
John Baldwin a6d1e52c1a MFC: Only start the if_slowtimo timer if it is needed. 2009-02-06 15:28:08 +00:00
Robert Watson 69c92aeacf Merge r187790 from head to stable/7:
Following a fair amount of real world experience with ACLs and
  extended attributes since FreeBSD 5, make the following semantic
  changes:

  - Don't update the inode modification time (mtime) when extended
    attributes (and hence also ACLs) are added, modified, or removed.
  - Don't update the inode access tie (atime) when extended attributes
    (and hence also ACLs) are queried.

  This means that rsync (and related tools) won't improperly think
  that the data in the file has changed when only the ACL has changed.

  Note that ffs_reallocblks() has not been changed to not update on an
  IO_EXT transaction, but currently EAs don't use the cluster write
  routines so this shouldn't be a problem.  If EAs grow support for
  clustering, then VOP_REALLOCBLKS() will need to grow a flag argument
  to carry down IO_EXT to UFS.

  PR:             ports/125739
  Reported by:    Alexander Zagrebin <[email protected]>
  Tested by:      pluknet <[email protected]>,
                  Greg Byshenk <[email protected]>
  Discussed with: kib, kientzle, timur, Alexander Bokovoy <[email protected]>
2009-02-06 12:39:42 +00:00
Robert Watson 59985c941a Merge r187881 from head to stable/7:
If a process is a zombie and we couldn't identify another useful state,
  print out the state as "zombine" in preference to "unknown" when ^T is
  pressed.

  Sponsored by: Google, Inc.

(Note that this change appears in tty.c in 7.x vs tty_info.c in 8.x)
2009-02-06 12:33:39 +00:00
Robert Watson e29d0bcd8f Merge r186603 from head to stabl/7:
Rename mbcnt to mbcnt_delta in uipc_send() -- unlike other local
  variables named mbcnt in uipc_usrreq.c, this instance is a delta
  rather than a cache of sb_mbcnt.
2009-02-06 12:27:25 +00:00
Robert Watson 7e6cf425b6 Merge r184488 from head to stable/7:
Break out single audit_pipe_mtx into two types of locks: a global rwlock
  protecting the list of audit pipes, and a per-pipe mutex protecting the
  queue.

  Likewise, replace the single global condition variable used to signal
  delivery of a record to one or more pipes, and add a per-pipe condition
  variable to avoid spurious wakeups when event subscriptions differ
  across multiple pipes.

  This slightly increases the cost of delivering to audit pipes, but should
  reduce lock contention in the presence of multiple readers as only the
  per-pipe lock is required to read from a pipe, as well as avoid
  overheading when different pipes are used in different ways.

  Sponsored by: Apple, Inc.
2009-02-06 12:24:30 +00:00
Robert Watson 9d02be018d Merge r184489 from head to stable/7:
When we drop an audit record going to and audit pipe because the audit
  pipe has overflowed, drop the newest, rather than oldest, record.  This
  makes overflow drop behavior consistent with memory allocation failure
  leading to drop, avoids touching the consumer end of the queue from a
  producer, and lowers the CPU overhead of dropping a record by dropping
  before memory allocation and copying.

  Obtained from:        Apple, Inc.
2009-02-06 12:22:00 +00:00
Robert Watson 7280c9ddce Merge r185928 from head to stable/7:
Add missing "goto set_head" for SO_IPX_CHECKSUM; otherwise we fall through
  to the SO_HEADERS_ON_OUTPUT case and set that instead.

  Found with:   Coverity Prevent(tm)
  Coverity ID:  3988
2009-02-06 12:20:08 +00:00
Robert Watson bf94566892 Merge r185293 from head to stable/7:
Regularize /* FALLTHROUGH */ comments in the BSM event type switch, and
  add one that was missing.

  Coverity ID:  3960
2009-02-06 12:14:57 +00:00
Robert Watson 14cfdf4369 Merge r184948 from head to stable/7:
When repeatedly accessing a thread credential, cache the credential
  pointer in a local thread.  While this is unlikely to significantly
  improve performance given modern compiler behavior, it makes the code
  more readable and reduces diffs to the Mac OS X version of the same
  code (which stores things in creds in the same way, but where the
  cred for a thread is reached quite differently).

  Discussed with: sson
  Sponsored by:   Apple Inc.
  Obtained from:        TrustedBSD Project
2009-02-06 12:10:28 +00:00
Robert Watson f4a6858ea6 Merge r184482 from head to stable/7:
Protect the event->class lookup database using an rwlock instead of a
  mutex, as it's rarely changed but frequently accessed read-only from
  multiple threads, so a potentially significant source of contention.

  Sponsored by: Apple, Inc.
2009-02-06 12:06:39 +00:00
Robert Watson 8b9e10620e Merge r184904 from head to stable/7:
The audit queue limit variables are size_t, so use size_t for the audit
  queue length variables as well, avoiding storing the limit in a larger
  type than the length.

  Submitted by: sson
  Sponsored by: Apple Inc.
2009-02-06 11:03:51 +00:00
Ulf Lilleengen 0a7090c3cf MFC r188017:
- Use a separate pointer to the allocated memory for freeing, as strsep may
  modify the pointer argument passed to it. This triggered an assert in malloc
  when a geom command being run under the livefs environment.

PR:		bin/130632
Submitted by:	Dimitry Andric <dimitry -at- andric.com>
2009-02-04 17:35:21 +00:00
Alexander Motin 3a5f8d6f9f MFC rev. 187445, 187721, 187944
Add two more nVidia HDMI codec IDs.

Specify analog beep pin widget for several AD codecs.
It gives working speaker control for that systems.

Fix bug in hint.hdac.X.config parsing.
2009-02-04 15:02:57 +00:00
Gabor Kovesdan 0856eca19c MFC:
Reflect adding_user.8 -> adding_user.7 rename
2009-02-03 20:47:58 +00:00
Gabor Kovesdan 522544df8a MFC: r187916
- Rename adding_user(8) to adding_user(7). There's no adding_user utility,
    but the man page describes conceptual information about the process of
    adding a user, thus it should belong to section 7.
  - Remove HISTORY and BUGS sections because of the aforementioned reason.

PR:		docs/130151
Submitted by:	Marian Cerny <[email protected]>
2009-02-03 14:30:59 +00:00
Gabor Kovesdan 5236acf2ef MFC: r187920
- Remove non-existing reference
  - Fix trailing comma

PR:		docs/85118
Submitted by:	vs
2009-02-03 14:25:58 +00:00
Diomidis Spinellis e3f494b7f5 MFC r184342 from head to stable/7
Add fallback when mmap fails on regular files.  Some filesystems,
like smbnetfs, do not support mmap.

Reported by:	Harti Brandt
2009-02-03 13:07:34 +00:00
Diomidis Spinellis 76f8ee0f4c MFC 184854 from head to stable/7
Fix the code to conform to the "or more" part of the following POSIX
specification and regression test regress:25.

    "A function can be preceded by one or more '!' characters, in which
    case the function shall be applied if the addresses do not select
    the pattern space."
2009-02-03 12:56:05 +00:00
Giorgos Keramidas 8eeab2c0ab MFC 187935 from /head
Sometimes, depending on the bpf filter rules used in $PATTERN,
the example script of the manpage feeds awk(1) with values larger
than UINT32_MAX.  Then awk prints a negative value, and this
messes up $BPFPROG.  Trying to load the resulting bpf byte codes
with ngctl then fails.

For example, the output for PATTERN="udp and dst net 255.255.0.0/16"
should be (all in one line):

    bpf_prog_len=10
    bpf_prog=[
      { code=40 jt=0 jf=0 k=12 }
      { code=21 jt=7 jf=0 k=34525 }
      { code=21 jt=0 jf=6 k=2048 }
      { code=48 jt=0 jf=0 k=23 }
      { code=21 jt=0 jf=4 k=17 }
      { code=32 jt=0 jf=0 k=30 }
      { code=84 jt=0 jf=0 k=4294901760 }
      { code=21 jt=0 jf=1 k=4294901760 }
      { code=6 jt=0 jf=0 k=8192 }
      { code=6 jt=0 jf=0 k=0 }
    ]

The two k=4294901760 values are displayed as k=-2147483648 by awk.

Replace the awk script of the manpage example with a slower but
safer version, that doesn't really attempt to convert the byte
code printed by tcpdump from string to number and back.

PR:           docs/123255
Submitted by: Eugenio Maffione, eugenio.maffione at telecomitalia.it
2009-02-02 04:57:36 +00:00
Giorgos Keramidas c1a7f5b779 MFC 187375 from /head
Add support for CMedia CMI120.

PR:           kern/123640
Approved by:  ariff
2009-02-02 04:48:32 +00:00
Robert Watson 19729fe208 Merge r186717 from head to stable/7:
Allow the IP_MINTTL socket option to be set to 0 so that it can be
   disabled entirely, which is its default state before set to a
   non-zero value.

   PR:          128790
   Submitted by:        Nick Hilliard <nick at foobar dot org>
2009-02-01 19:20:45 +00:00
Alexander Motin 44db51a683 MFC rev. 187387
Remove strict limitation on minimal multilink MRRU. RFC claims that MRRU
  of 1500 must be supported, but allows smaller values to be negotiated.
  Enforce specified MRRU for outgoing frames.
2009-02-01 10:13:18 +00:00
Alexander Motin 38d34b673a MFC rev. 187495
Check for infinite recursion possible on some broken PPTP/L2TP/... VPN setups.
Mark packets with mbuf_tag on first interface passage and drop on second.

PR:		ports/129625, ports/125303
2009-01-31 12:48:09 +00:00
Alexander Motin 915c2a84f8 MFC rev. 187410
If source mbuf chain consists of only one mbuf, use it directly as source
buffer to avoid extra copying.
2009-01-31 12:44:20 +00:00
Alexander Motin 6105cc44b2 MFC rev. 187405
Use m_unshare()+m_copyback() instead of m_freem()+m_devget() to keep
original mbuf chain headers. It can be less efficient in some cases, but it
looks better then mess of copying headers into the nonempty chain.
2009-01-31 12:41:44 +00:00
Alexander Motin 0fd20ef5d2 MFC rev. 187409
Teach m_copyback() to use trailing space of the last mbuf in chain.
2009-01-31 12:32:18 +00:00
Alexander Motin 41f8c3d10f MFC rev. 187368
Convert battery capacity/rate from mA to mW only when summary is requested.
  Unconditional conversion causes incorrect rate units reported by acpiconf.
2009-01-31 12:26:06 +00:00
Weongyo Jeong 2817a14990 MFC r186919:
fix a typo to set the 48Mbps data rate.

  PR:		kern/130189
  Submitted by:	Paul B. Mahol <onemda_at_gmail.com>
  Reviewed by:	sam
  MFC after:	3 weeks
2009-01-31 05:22:11 +00:00
Giorgos Keramidas 9b6321ea38 MFC 175288 and 180208 from /head
: r175288 | keramida | 2008-01-13 10:33:20 +0200 (Sun, 13 Jan 2008) | 4 lines
:
: Add a new set of regression tests, for the tr(1) utility.
:
: Approved by:    das, dds

: r180208 | peter | 2008-07-03 06:50:17 +0300 (Thu, 03 Jul 2008) | 3 lines
:
: Set magic fbsd:nokeywords property that allows files to bypass
: keyword expansion. (file-specific replacement for CVSROOT/exclude)
2009-01-30 17:26:15 +00:00
Giorgos Keramidas a0d037bc73 MFC 187922,187609 from /head
Add an example of using bs=2048 to duplicate data CD-ROMs.

  This should be a bit useful for users who look at the manpage and
  then try to copy data CD-ROM disks using dd.  A lot of us know
  that bs=2048 is required, but it still manages to cause a bit of
  grief to those who haven't heard about it.

  PR:             bin/130857
  Submitted by:   Tri Brotoharsono < mail at tribrotoharsono.net >
2009-01-30 16:28:32 +00:00
John Baldwin 80a5b409d2 Merge all the changes in HEAD prior to the generic tracing changes. 2009-01-29 18:33:46 +00:00
Konstantin Belousov e8b10b2a05 MFC r183071:
Garbage-collect vn_write_suspend_wait().
2009-01-29 11:38:28 +00:00
Konstantin Belousov 9f1678c2ec MFC r183067:
The struct inode *ip supplied to softdep_freefile is not neccessary the
inode having number ino. In r170991, the ip was marked IN_MODIFIED, that
is not quite correct.

Mark only the right inode modified by checking inode number.
2009-01-29 11:21:15 +00:00
Konstantin Belousov 6658896f69 MFC r186565:
When the insmntque() in the pfs_vncache_alloc() fails, vop_reclaim calls
pfs_vncache_free() that removes pvd from the list, while it is not yet
put on the list.

Prevent the invalid removal from the list by clearing pvd_next and
pvd_prev for the newly allocated pvd, and only move pfs_vncache list
head when the pvd was at the head.
2009-01-29 11:17:11 +00:00
Konstantin Belousov 37a087edb5 MFC r186563:
vm_map_lock_read() does not increment map->timestamp, so we should
compare map->timestamp with saved timestamp after map read lock is
reacquired, not with saved timestamp + 1. The only consequence of the +1
was unconditional lookup of the next map entry, though.
2009-01-29 11:13:03 +00:00
Konstantin Belousov 64299e82d8 MFC r186561:
Drop the pseudofs vnode lock around call to pfs_read handler.
2009-01-29 11:08:56 +00:00
Konstantin Belousov 31dc962410 MFC r186560:
After the pfs_vncache_mutex is dropped, another thread may attempt to
do pfs_vncache_alloc() for the same pfs_node and pid. In this case, we
could end up with two vnodes for the pair. Recheck the cache under the
locked pfs_vncache_mutex after all sleeping operations are done.

Do not call free() on the struct pfs_vdata after insmntque() failure,
because vp->v_data points to the structure, and pseudofs_reclaim()
frees it by the call to pfs_vncache_free().

MFC r186981 (by marcus):
vput the vnode.
2009-01-29 11:03:57 +00:00
Konstantin Belousov eb972e790c MFC r186898:
Lock the uepm_lock around the autostart of extattrs.
2009-01-29 10:49:21 +00:00
Edwin Groothuis 957522820e MFC of tzdata2009a
- Asia/Katmandu -> Asia/Kathmandu
- Fix historical references to DST in Switzerland
- Correct rules for America/Resolute (Nunavut)
- Cuba didn't have DST in 2005.
2009-01-29 10:46:50 +00:00
Konstantin Belousov edc2e9a6f1 MFC r186896:
Do not call namei() while having another user-controlled vnode
locked. Lookup could attempt to recursively lock that vnode.

Do not call vn_start_write(V_WAIT) while vnode is locked, this may
result in a deadlock with suspension.

vfs_busy() the mountpoint before dropping vnode lock for vnode
that was used to look up the mountpoint, to prevent unmount in
between.
2009-01-29 10:40:47 +00:00
Konstantin Belousov 290d36800c MFC r186601:
Clear the pointers to the file in the struct filedesc before file is closed
in fdfree. Otherwise, sysctl_kern_proc_filedesc may dereference stale
struct file * values.
2009-01-29 10:33:32 +00:00
David Schultz 8509795fce MFC r186886:
Fix the types of INFINITY and NAN, which were broken in r131851. They
  should both be floats, not doubles.

  PR:		127795
2009-01-28 05:18:21 +00:00
David Schultz 5c1840ee05 MFC r186887:
Set the error indicator on an attempt to write to a read-only stream.

  PR:		127335
2009-01-28 05:07:16 +00:00
John Baldwin 718e976150 MFC: Add a comment explaining why the "bufwait" / "dirhash" LOR reported by
WITNESS will not actually result in a deadlock.
2009-01-27 16:25:45 +00:00
Xin LI 01b3764e29 MFC r187501 + r187748:
Rename option 'C' to 'D' (damaged).
2009-01-27 00:31:25 +00:00
Doug White d76d73aa5f Fix hostap power-save station support by always initializing the TIM
bitmaps. Prior to this change, hostap would queue packets for power-saved
stations but not indicate in the beacon that the station should wake up
and poll for those queued packets.

Reviewed by:	sam
2009-01-26 20:24:04 +00:00
John Baldwin d6b8184070 MFC: Use the correct type for the timeout parameter to the 32-bit
compat version aio_waitcomplete().
2009-01-26 15:39:42 +00:00
Thomas Abthorpe 2d788fb2a0 MFC of r187573:
Document targets run-depends-list and build-depends-list

Approved by:	keramida
2009-01-26 13:56:23 +00:00
Antoine Brodin 85d166b776 MFC r181349 to stable/7:
Make atacontrol(8) rebuild work when /usr is not mounted or from /rescue

  PR:             bin/125680
  MFC after:      1 month
  Tested by:      Stef Walter
2009-01-25 19:35:23 +00:00
Ed Schouten 92705bfa4c MFC r186747 to releng/7:
Remove Giant locking from domains list.

  During boot, the domain list is locked with Giant. It is not possible to
  register any protocols after the system has booted, so the lock is only
  used to protect insertion of entries.

  There is already a mutex in uipc_domain.c called dom_mtx. Use this mutex
  to lock the list, instead of using Giant. It won't matter anything with
  respect to performance, but we'll never get rid of Giant if we don't
  remove from places where we don't need it.

  Approved by:  rwatson
  MFC after:    3 weeks
2009-01-25 16:59:29 +00:00
Antoine Brodin b35369967e MFC r182047 to stable/7:
Remove unused variable nosleepwithlocks.

  PR:             126609
  Submitted by:   Mateusz Guzik
  MFC after:      1 month
  X-MFC:          to stable/7 only, this variable is still used in stable/6
Reviewed by:	rwatson
2009-01-24 19:22:05 +00:00
Antoine Brodin 68d900a33d MFC r181137 to stable/7:
Remove trailing ';' in BPFD_LOCK_ASSERT macro.

  MFC after:      1 month
  X-MFC-to:       stable/7, stable/6 has it right
2009-01-24 18:57:22 +00:00
Giorgos Keramidas dac44f009b MFC 187148 from /head
Clean up a bit of confusing language and improve .Nd.

PR:	47818
2009-01-23 12:01:24 +00:00
Giorgos Keramidas c01fa532b6 MFC 179603 and 179636 from /head
Add a -w warning flag to ln(1).  When the -w option is enabled,
  ln(1) checks to see if the source of a symlink, i.e. the file it
  should point to actually exists.  The default is the old ln
  behavior, that does not check, to avoid surprising people who may
  be using ln(1) in scripts or other non-interactive places.

  PR:             bin/7265
  Submitted by:   Joel Ray Holveck, detlev!joelh at mail.camalott.com
2009-01-23 11:58:24 +00:00
Giorgos Keramidas f861ba3fbc MFC 173702 from /head
Express in the usage() and SYNOPSIS that -F depends on -s, and
  that -f and -i are exclusive.

This reduces diffs of stable/7 from /head, in preparation for more MFCs.
2009-01-23 11:54:31 +00:00
Maxim Konovalov 298c574add MFC r183616 manually: fix typoes. Fix one more typo there is no
in HEAD.
2009-01-23 08:33:15 +00:00
Maxim Konovalov 76fc8ad224 MFC r177259: add missing .El. 2009-01-23 08:12:50 +00:00
Bjoern A. Zeeb 1538b2102a MFC: r185898
Add 32-bit compat support for AIO.

  As I had comitted this as a fix for r185878 in HEAD, it seems
  this was missed with the MFC at r187559. Unbreak the build.
2009-01-22 23:34:55 +00:00
Jens Schweikhardt 3057c71ee9 MFC: Correct typo.
PR:		docs/129820
Submitted by:	Marius Korsmo <marius AT korsmo DOT org>
2009-01-22 18:43:46 +00:00
Nick Hibma 55bf782ef3 MFC the IDs for the u3g MFC across.
This fixes the build breakage introduced by me yesterday evening.
2009-01-22 15:52:13 +00:00
Maxim Konovalov bbfd143894 MFC r187134: respect -ss flags for icmp6 "histogram of error messages"
section.
2009-01-22 09:39:11 +00:00
Nick Hibma deda24696a Sync this file with HEAD r183874.
- Remove a redundant MOD_LOAD function
- Reduce the attach priority for the attach function to give other
  drivers, like the to be committed u3g driver a better chance at
  attaching to the 3G devices with a ZeroCD / TruInstall mass storage
  device.
2009-01-21 23:10:43 +00:00
Jung-uk Kim 9729829e97 MFC: Make sure legacy replacement route is turned off when enbling HPET. 2009-01-21 21:31:44 +00:00
Jung-uk Kim af6896e026 MFC: Set tsc_is_invariant for some known AMD CPUs even if BIOS does not
advertise it.
2009-01-21 21:28:21 +00:00
Jung-uk Kim df5a606879 MFC: Do not use PowerNow! if FID or VID is missing. 2009-01-21 21:01:02 +00:00
Jung-uk Kim dc2688757a MFC: Use power management information for AMD CPUs from identcpu.c. 2009-01-21 20:57:54 +00:00
Jung-uk Kim f976241d35 MFC: Turn off CPU frequency change notifiers when the TSC is P-state
invariant or it is forced by setting 'kern.timecounter.invariant_tsc'
tunable to non-zero.
2009-01-21 20:53:36 +00:00
Jung-uk Kim 5a9c4ac408 MFC: Detect Advanced Power Management Information for AMD CPUs. 2009-01-21 20:16:11 +00:00
John Baldwin c254fd1e8e Regen. 2009-01-21 20:05:12 +00:00
John Baldwin 84beda8417 MFC: Add a new KTR tracepoint in the KTR_CALLOUT class to note when a
callout routine finishes executing.
2009-01-21 18:54:35 +00:00
John Baldwin 5a9e039eb9 MFC: Add 32-bit compat system calls for VFS_AIO. 2009-01-21 18:52:33 +00:00
John Baldwin 642207874a MFC: Use ints and a pointer to represent the spare fields used by the old
sigevent structure rather than using a char array with explicit knowledge
about padding.
2009-01-21 18:38:12 +00:00
John Baldwin e8e18e707e MFC: Reorder modules during initialization to ensure that MOD_QUIESCE
and MOD_UNLOAD events are posted to kernel modules in the reverse order
of MOD_LOAD events.
2009-01-21 18:35:48 +00:00
John Baldwin 5a220951f2 MFC: Invoke MOD_QUIESCE on all modules in a linker file (kld) before
unloading any modules.
2009-01-21 18:32:43 +00:00
John Baldwin 13067dd73e MFC: Don't leak a reference on the /compat/linux vnode everytime
the linprocfs 'mtab' file is read.
2009-01-21 18:26:10 +00:00
Jung-uk Kim 89a85b44c7 MFC: r184976
- Revive fdc(4) per-device flag 0x10, which was removed in r1.284[1].
- If the flag is set and auto-select fails, assume disk is not present.
- Set disk empty flag only when the floppy controller reset is needed.
It fixes regression introduced in r1.311, which prevented it from ignoring
errors.  Now fdformat(1) and dd(1) with conv=noerror option can continue
when read/write errors occur as they should.
- Do not retry disk probing as it is extremely slow and pointless.
- Move the disk probing code into a separate function.
- Do not reset disk empty flag if write-protect check fails somehow.

PR:		kern/116538[1]
2009-01-21 17:32:26 +00:00
Nick Hibma 281fd86d44 Couple of pointy hats to me, please. Not only did I make an unnecessary
commit, I actually managed to screw up the revert as well.

Submitted by:	quite a few people...
2009-01-21 17:23:06 +00:00
John Baldwin 28b046b608 MFC: Fix the maximum transfer size for mfi(4) disk devices to not exceed
the maximum number of scatter/gather elements supported in the bus dma tag.
2009-01-21 17:13:31 +00:00
Jung-uk Kim e4aa96e89b MFC: Add support for AMD64 Family 10h processors.
PR:		kern/128331
2009-01-21 17:07:46 +00:00
John Baldwin 1f1acca3c7 MFC: Add support for installing 32-bit system calls from kernel modules. 2009-01-21 16:14:43 +00:00
Konstantin Belousov 1a037be619 MFC r183211:
Initialize birthtime fields in vn_stat() to prevent stat(2) from
returning uninitialized birthtime. Most file systems don't initialize
birthtime properly in their VOP_GETTATTR().

MFC r183212:
Initialize va_flags and va_filerev properly in VOP_GETATTR(). Don't
initialize va_vaflags and va_spare because they are not part of the
VOP_GETATTR() API. Also don't initialize birthtime to ctime or zero.

MFC rr183213:
Initialize va_rdev to NODEV and va_fsid to VNOVAL before the
VOP_GETATTR() call in vn_stat(). Thus if a file system doesn't
initialize those fields in VOP_GETATTR() they will have a sane default
value.

MFC r183214:
Initialize va_rdev to NODEV instead of 0 or VNOVAL in VOP_GETATTR().
NODEV is more appropriate when va_rdev doesn't have a meaningful value.

MFC r183215:
fdescfs, devfs, mqueuefs, nfs, portalfs, pseudofs, tmpfs and xfs
initialize the vattr structure in VOP_GETATTR() with VATTR_NULL(),
vattr_null() or by zeroing it. Remove these to allow preinitialization
of fields work in vn_stat(). This is needed to get birthtime initialized
correctly.
2009-01-21 15:51:15 +00:00
John Baldwin 4c1a6dc1be MFC: Use existing GDB routines for parsing the section table of klds in
the 'add-kld' command.
2009-01-21 15:19:38 +00:00
Konstantin Belousov b775ba46ca MFC r185170. r185556:
Busy ufs filesystem around block of code that does ".." lookup.
Do not lock vnode interlock around reading of v_iflag to check VI_DOOMED.
2009-01-21 15:06:53 +00:00
John Baldwin 5c7f0d6a9c MFC: If we are unable to obtain a frequency list from either ACPI or the
static tables, then attempt to build a simple list containing just the high
and low frequencies if the hw.est.msr_info tunable is set to 1.  By default
this is disabled.
2009-01-21 15:01:36 +00:00
Alan Cox bd35057de5 MFC rev 175325
Make pmap_is_prefaultable() more TLB friendly.  Specifically, make it use
  the kernel's direct map instead of the pmap's recursive mapping to access
  the lowest level in the page table.
2009-01-21 07:41:24 +00:00
Alan Cox 4e2075ce7e MFC rev 180846
Style fixes to several function definitions.
2009-01-21 07:33:18 +00:00
Alan Cox 0d27c46dea MFC rev 177851
Optimize pmap_pml4e() and pmap_pdpe() based upon two observations: The
  given pmap is never NULL, and therefore pmap_pml4e() can never return
  NULL.  The pervasive use of these inline functions throughout the pmap
  makes these simple changes worthwhile.
2009-01-21 06:32:32 +00:00
Xin LI bd8c83643c MFC r185036:
Obey signedness flag in %z case.
2009-01-21 00:26:45 +00:00
Xin LI ddca57d97e MFC r185037:
Obey signedness flag in %z case.
2009-01-20 22:37:56 +00:00
Ed Maste 3c75ae41e2 MFC r181693:
Fix REDZONE(9) on amd64 and perhaps other 64 bit targets -- ensure the
  space that redzone adds to the allocation for storing its metadata is at
  least as large as the metadata that it will store there.

PR:     kern/128744
2009-01-20 22:34:38 +00:00
Alan Cox 64cbb4bc48 MFC rev 180600
Simplify pmap_extract()'s control flow, making it more like the related
  functions pmap_extract_and_hold() and pmap_kextract().
2009-01-20 20:41:41 +00:00
Nick Hibma fefa229e3d revert my previous commit. It was in error. I got primed by a few other
similar typos in man-pages.

Submitted by:	jhb
2009-01-20 20:32:48 +00:00
John Baldwin 9e657a6586 MFC: Stop maintaining pv_list_count for i386 and amd64 since it was
obsoleted by Peter's rewrite of the pv entry allocator.  To avoid ABI
breakage, the field in 'struct mdpage' has not been removed, but it has
been renamed to 'pv_unused'.
2009-01-20 19:41:18 +00:00
John Baldwin 5884081241 MFC: Close several races with using shared vnode locks for pathname lookups
with UFS and enable shared lookups for UFS.
- Change the name cache to fail lookups with EBADF if a directory vnode
  is recycled while it waits for a lock upgrade.
- Rework the locking of the dirhash to use an sx lock and reference count
  on each hash structure.  Using an sx lock instead of a mutex allows the
  lock to be held across disk I/O closing a number of races when using
  shared vnode locks that were previously handled by exclusive vnode
  locks.
- Remove the 'i_ino' and 'i_reclen' fields from the i-node.  i_ino is now
  a local variable in ufs_lookup(), and i_reclen is not needed since
  ufs_dirremove() always has the entire block holding the directory
  entry in memory when it updates the directory.
- 'i_diroff' and 'i_offset' are now local variables in ufs_lookup().
  'i_diroff' is updated after a successful lookup.
- Only set i_offset in the parent directory's i-node during a lookup for
  non-LOOKUP operations.
- Remove the LOOKUP_SHARED option.  One can set vfs.lookup_shared to 1
  in either loader.conf or sysctl.conf instead.  The default setting for
  vfs.lookup_shared is not changed and remains off by default.
2009-01-20 19:01:59 +00:00
Alan Cox 28f21bea0b MFC
Increase the size of the kernel virtual address space to 6GB.

  Increase the ceiling on the kmem map's size to 3.6GB.  Also, define the
  ceiling as a fraction of the kernel map's size rather than an absolute
  quantity.  Thus, scaling of the kmem map's size will be automatic with
  changes to the kernel map's size.
2009-01-20 08:13:45 +00:00
Alan Cox c770c55ddb MFC r179917,180333,180373,180378
Prepare for a larger kernel virtual address space.  Specifically, once
  KERNBASE and VM_MIN_KERNEL_ADDRESS are no longer the same, the physical
  memory allocated during bootstrap will be offset from the low-end of the
  kernel's page table.

  Change create_pagetables() and pmap_init() so that many fewer page table
  pages have to be preallocated by create_pagetables().

  Eliminate pmap_growkernel()'s dependence on create_pagetables() preallocating
  page directory pages from VM_MIN_KERNEL_ADDRESS through the end of the
  kernel's bss.  Specifically, the dependence was in pmap_growkernel()'s one-
  time initialization of kernel_vm_end, not in its main body.  (I could not,
  however, resist the urge to optimize the main body.)

  Reduce the number of preallocated page directory pages to just those needed
  to support NKPT page table pages.  (In fact, this allows me to revert a
  couple of my earlier changes to create_pagetables().)

  Fix lines that are too long in pmap_growkernel() by substituting shorter
  but equivalent expressions.
2009-01-20 07:24:28 +00:00
Alan Cox beacba26f0 MFC rev 180170
Eliminate an unnecessary static variable: nkpt.
2009-01-20 05:51:16 +00:00
Alan Cox b8a433fa92 MFC rev 175056
Provide a legitimate pindex to vm_page_alloc() in pmap_growkernel()
  instead of writing apologetic comments.

  Correct a nearby style error: Pointers should be compared to NULL.
2009-01-20 01:54:05 +00:00
Marius Strobl 1e9cafd881 MFC: r187341
Update URL.
2009-01-19 21:49:22 +00:00
Marius Strobl 0079fa6a17 MFC: r187316
Don't cross-reference gem(4) and hme(4); maybe this made some sense
back when these two were the only two NIC drivers working on sparc64
but it no longer does nowadays.
2009-01-19 21:47:01 +00:00
Marius Strobl e220062726 - MFC: 174903
Mention support for the 5722 driver in bge.4 as well.
- MFC: 187315
  Sync the description of jumbo frame support with reality as of r187309;
  it's also supported with BCM5702 (matched by BGE_ASICREV_BCM5703) but
  bge(4) currently doesn't with neither BCM5714 nor BCM5780.
2009-01-19 21:10:04 +00:00
Maxim Sobolev ee37db9234 MFC: mention removal of NTFS from GENERIC/amd64. 2009-01-19 17:14:03 +00:00
Maxim Sobolev b94b4802fd MFC: take NTFS option out to match i386 GENERIC. 2009-01-19 15:36:25 +00:00
Ruslan Ermilov c2202bfdfa MFC:
- Fix crash with "netstat -m -N foo".
PR:             bin/124724

- Sync usage() with SYNOPSIS.
2009-01-19 10:44:16 +00:00
Alan Cox 1dd157d04e MFC rev 180108
Compute NKPDPE from NKPT.  This reduces the number of knobs that must be
  turned in order to change the size of the kernel virtual address space.
2009-01-19 07:44:18 +00:00
Alan Cox af02042def MFC rev 180101
Strictly speaking, the definition of VM_MAX_KERNEL_ADDRESS is wrong.
  However, in practice, the error (currently) makes no difference because
  the computation performed by KVADDR() hides the error.  This revision
  fixes the error.

  Also, eliminate a (now) unused definition.
2009-01-19 06:55:29 +00:00
Alan Cox c3be900484 MFC partial merge of rev 179886
Make preparations for increasing the size of the kernel virtual
  address space on the amd64 architecture.
2009-01-19 05:20:52 +00:00
Alan Cox 4161191480 MFC rev 180255
Eliminate an unused declaration.  (In fact, the declaration is bogus
  because the variable is defined static to pmap.c.)
2009-01-19 04:31:18 +00:00
Alan Cox f465e78f19 MFC rev 180262
Correct an error in the comments for init_param3().
2009-01-19 01:03:42 +00:00
Alan Cox 1856d2bc42 MFC rev 180362
Make preparations for increasing the size of the kernel virtual
  address space on the amd64 architecture:

  Rev 180333, ``Change create_pagetables() and pmap_init() so that many
  fewer page table pages have to be preallocated ...'', violates an
  assumption made by minidumpsys(): kernel_vm_end is the highest virtual
  address that has ever been used by the kernel.  Now, however, the kernel
  code, data, and bss may reside at addresses beyond kernel_vm_end.  This
  revision modifies the upper bound on minidumpsys()'s two page table
  traversals to account for this possibility.
2009-01-18 23:34:17 +00:00
Ulf Lilleengen d4568ebad6 MFC r186517:
- Fix an issue with access permissions to underlying disks used by a gvinum
  plex. If the plex is a raid5 plex, and is being written to, parity data might
  have to be read from the underlying disks, requiring them to be opened for
  reading as well as writing.
2009-01-18 21:52:01 +00:00
Daniel Gerzo 60bf5896b4 MFC r187098:
- add missing include [2]
- fix struct memeber's name [1]

PR:		docs/130413 [1]
Submitted by:	Thomas Mueller <[email protected]> [1], rink@ [2]
2009-01-18 21:40:15 +00:00
Alan Cox ce15e67e4d MFC rev 179898
Make preparations for increasing the size of the kernel virtual
  address space on the amd64 architecture.
2009-01-18 19:56:13 +00:00
Alan Cox dbee6c408f MFC rev 180598
Eliminate stale comments from kmem_malloc().
2009-01-18 19:37:36 +00:00
Alan Cox dc7531a33a MFC rev 179923
Make preparations for increasing the size of the kernel virtual address
  space on the amd64 architecture.
2009-01-18 19:33:55 +00:00
Alan Cox e1c1072eeb MFC rev 179921
KERNBASE is not necessarily an address within the kernel map, e.g.,
  PowerPC/AIM.  Consequently, it should not be used to determine the maximum
  number of kernel map entries.  Instead, use VM_MIN_KERNEL_ADDRESS, which
  marks the start of the kernel map on all architectures.
2009-01-18 19:20:10 +00:00
Nick Hibma 3b8661f0ae Remark on the fact that a phone is supported by this driver. Just to
give people a hint.
2009-01-18 18:54:41 +00:00
Nick Hibma a2a60282d9 Speling mistake. 2009-01-18 18:53:27 +00:00
Nick Hibma 01dad805ec Speling mistake. 2009-01-18 18:50:18 +00:00
Alan Cox 35d2e19872 MFC rev 179887
Enforce the mapping of kernel loadable modules in the uppermost 2GB of the
  kernel virtual address space on amd64.
2009-01-18 18:26:52 +00:00
Stanislav Sedov 1491ba525b - MFC r182524 and r182555:
- Set U/L bit in generate MAC address.
  - Use our specific OUI instead of Atmel one.
2009-01-18 17:07:48 +00:00
Stanislav Sedov 6311c1dbd1 - MFC r182476:
style fix.
2009-01-18 12:35:11 +00:00
Stanislav Sedov 472bf95e57 - Merge r182477:
Try to look for MAC address in all SA registers, not only in the
  first one. U-boot, for example, uses the second register to store
  MAC.[1]
  Use random MAC address if none configured instead of failing.

Submitted by:	Bjorn Konig <[email protected]> [1]
2009-01-18 12:28:45 +00:00
Stanislav Sedov 47756916b1 - Merge r183151:
Recognize SAVE and OSXSAVE extended processor features.
2009-01-18 12:16:45 +00:00
Stanislav Sedov b88917659a - Merge r184309:
Add a missing NULL-pointer check.
2009-01-18 12:12:38 +00:00
Stanislav Sedov 366806cb60 - Merge r184310:
Add stream bus_space operations.
2009-01-18 12:09:24 +00:00
Konstantin Belousov a46abf212d MFC r186740:
Do not incorrectly add the low 5 bits of the offset to the resulting
position of the found zero bit.
2009-01-18 11:47:39 +00:00
Stanislav Sedov fcee9bc232 - Merge r185494:
Get rid of unused variable in KTR checks. This allows ktr(4) enabled
  ARM kernel to compile.

PR:		rm/128897
Submitted by:	Pankov Pavel <[email protected]>
2009-01-18 11:43:23 +00:00
Stanislav Sedov 9a235a3a8b - MFC r185707:
- Eliminate unused variable. [1]
  - Check for runt frames entering the stack. [2]

Suggested by:	ganbold[1], yongari[2]
2009-01-18 11:17:46 +00:00
Stanislav Sedov c9ab0e37d6 - Bump __FreeBSD_version after cpuctl MFC. 2009-01-17 19:52:09 +00:00
Konstantin Belousov 87ca5889ba MFC r186719:
Extend the struct vm_page wire_count to u_int to avoid the overflow of
the counter, that may happen when too many sendfile(2) calls are being
executed with this vnode.

To keep the size of the struct vm_page and offsets of the fields
accessed by out-of-tree modules, swap the types and locations of the
wire_count and cow fields. Add safety checks to detect cow overflow and
force fallback to the normal copy code for zero-copy sockets.
2009-01-17 14:45:07 +00:00
Konstantin Belousov 07d8e2e93d MFC r186278:
Do not busy twice the mount point where a quota operation is performed.
2009-01-17 14:37:54 +00:00
Konstantin Belousov 7fc4c90743 MFC r186276:
Do not return success and doomed vnode from lookup. LK_UPGRADE allows
the vnode to be reclaimed.
2009-01-17 14:31:41 +00:00
Mike Silbersack dbf6a351b1 Merge r186031 - quick change to r186026 2009-01-17 06:55:28 +00:00
Mike Silbersack f7a800c178 Merge r186026 - add the debug.batt.batt_sleep_ms sysctl. 2009-01-17 06:53:57 +00:00
Alexander Motin f7469558eb MFC rev. 187154, 187196, 187202
Change configuration order to enable output only after codec is configured.
Mute all mixer controllable amplifiers initially to let mixer to unmute
only some of them later. This should reduce clicks and noises during boot.

Improve AD1983 codec support:
 - force playback via mixer to get PCM volume control,
 - make cleanup on recoring source selection.
2009-01-16 18:00:25 +00:00
Konstantin Belousov 37d8e38cef MFC r187147:
Document that ffsll(3) and flsll(3) functions first appeared in
FreeBSD 7.1.
2009-01-16 11:14:29 +00:00
Marius Strobl 665036232a MFC: r183337
- Use bus_{read,write}_*(9) instead of bus_space_{read,write}_*(9) etc
  and take advantage of rman_get_rid(9) in order to save some softc
  members.
- Provide and consume module dependency information for lebuffer(4).
2009-01-15 20:49:17 +00:00
Marius Strobl ea646d8b8f MFC: r183895
Use xpt_register_async() in order to remove code duplication.
2009-01-15 20:30:38 +00:00
Marius Strobl 1bd3511804 MFC: r184380
Do as the Linux tg3 driver does and enable MSI support also
for the BCM5714 revision A0 when in a multi-port configuration
and unconditionally for the remainder of the class of BCM575X
and beyond chips.
2009-01-15 20:23:38 +00:00
Marius Strobl 267d6dc000 MFC: r183896
Use bus_{read,write}_4(9) instead of bus_space_{read,write}_4(9)
in order to get rid of the bus space handle and tag in the softc.
2009-01-15 20:19:53 +00:00
Marius Strobl 2cff0c0960 MFC: r183281
- Don't read the identifier string from the VPD if there's no chip
  containing an Ethernet address fitted as this is yet another thing
  that fails in that case in order to avoid the one second delay
  until pci_read_vpd_reg() times out.
- Const'ify the bge_devs array.
2009-01-15 20:13:22 +00:00
David E. O'Brien 138c12d19a Don't claim to be FreeBSD 8.0 when installed on FreeBSD 7.1. 2009-01-15 17:15:03 +00:00
Giorgos Keramidas a5deb62db7 The description of the various securelevels has moved to the
security.7 manpage a while ago.

Noticed by:   simon
2009-01-15 05:04:31 +00:00
Giorgos Keramidas 39669f91b6 MFC 186916 from /head/etc
The description of the various securelevels has moved to the
security.7 manpage a while ago.
2009-01-15 05:01:29 +00:00
Giorgos Keramidas 3056f75209 MFC 185714 from /head
Add a -L option to wc(1), for finger compatibility with the GNU
wc utility.  The -L option can be used to report the length of
the longest line wc has seen in one or more files.  It is
disabled by default, and wc uses the standard `-lwc'.

Submitted by:   Sheldon Givens, sheldon at sigsegv.ca
2009-01-15 04:54:43 +00:00
Giorgos Keramidas 8c4b6fa3a9 MFC 184645 from /head
Repeat vmstat header after window.rows instead of a hardcoded 20.

Use ioctl() to get the window size in vmstat(8), and force a new
header to be prepended to the output every time the current window
size changes.  Change the number of lines before each header to the
current lines of the terminal when the terminal is resized, so that
the full terminal length can be used for output lines.
2009-01-15 04:48:06 +00:00
Giorgos Keramidas 54e8f35cab MFC 184057 from /head 2009-01-15 04:39:44 +00:00
Giorgos Keramidas 1ab54194a2 MFC 182795 from /head
Add two example regexps: (1) one for matching all the characters
that belong in a character class, and (2) one for matching all
the characters *not* in a character class.

Submitted by:   Mark B, mkbucc at gmail.com
2009-01-15 04:31:55 +00:00
Giorgos Keramidas fc87185d17 176561 | keramida | 2008-02-25 21:06:43 +0200 (Mon, 25 Feb 2008) | 11 lines
Implement from scratch a -l option for du(1), to match the same option
of the GNU utility.  The default behavior of our original `du' is to
count hardlinked files only once for each invocation of the utility.
With the new -l option they count towards the final size every time
they are found.
2009-01-15 03:48:49 +00:00
Giorgos Keramidas 4d146c8df2 MFC 175562 from /head
Repeat iostat header after rows-3 instead of a hardcoded 20.

Use ioctl() to get the window size in iostat(8), and force a new
header to be prepended to the output every time the current
window size changes.  Change the number of lines before each
header to `rows - 3' when the terminal is resized, so that the
full terminal length can be used for output lines.
2009-01-15 03:12:45 +00:00
Giorgos Keramidas f909c3677b MFC 173539 from /head
* Expand the example descriptions, fix mdoc-bugs in "(-a and -t
  vnode are implied)" and reuse it near the cd9660 example.
* Spell 'backing store' as two words.
2009-01-15 02:57:07 +00:00
Giorgos Keramidas 61abaf4713 MFC 173507 from /head.
Instead of hardcoding md10 as the device node in the cd9660
example, use a trick submitted by Ruslan.
2009-01-15 02:54:40 +00:00
Xin LI df369b9a9a MFC r187079:
Fix typo.

Submitted by:	Ben Kaduk <minimarmot gmail com>
2009-01-15 00:33:17 +00:00
Marius Strobl 2e374a65b6 MFC: r186876
Check the return values of contigmalloc(9) as well as bus_dma(9)
functions and stop attaching of dcons(4) and dcons_crom(4) if
they indicate failure. This fixes a panic seen on sparc64 machines
with no free physical memory in the requested 32-bit region but
still doesn't make dcons(4)/dcons_crom(4) these work.
2009-01-14 22:10:51 +00:00
Marius Strobl a1d7c4409e MFC: r185108
Given that the buffer dcons_crom(4) exposes is used for both input
and output, set BUS_DMA_COHERENT when creating the DMA map used for
loading the buffer. As a side-effect this solves locking issues on
sparc64 when dcons(4) calls bus_dmamap_sync(9) while in an interrupt
filter, which are executed in a critical section, and iommu(4) has
to use a sleep lock when taking advantage of the streaming buffer.

Reported and tested by:	kensmith
Approved by:		simokawa
2009-01-14 21:04:23 +00:00
Sam Leffler 98ec9a258e bring in bits missed in r187106: sync build infrastructure changes with HEAD
Noticed by:	attilio
2009-01-14 18:23:13 +00:00
Ken Smith 6b3b8371e3 Oops, forgot to mention 7.1-RELEASE in stable/7...
Submitted by:	Florian Smeets <flo at kasimir dot com>
2009-01-14 16:27:04 +00:00
Luigi Rizzo 6524c30b7d forced commit to remind that the previous commit also merged
the change in rev.185132 to reduce the amount of memory
used when loading a script.
2009-01-14 16:13:51 +00:00
Luigi Rizzo 6b9a0e75ee MFC: 185746 186789 187143
misc fixes and cleanup of the Forth scripts used by the loader,
see the original commits for details.
The only visible change is that now setting

	loader_conf_files="foo bar ${some.var}"

works as expected, and expands variables correctly.
Also, ${variables} can be used consistently in all assignments
in *.conf files managed by the loader.

NOTE: this commit has nothing to do with the pxeboot and /boot/loader
problems that people are seeing on 6.4 and 7.2 -- those are related
to issues with the loader code, not with the scripts that the
loader processes.
2009-01-14 14:55:10 +00:00
Daniel Gerzo f47f0585e7 MFC r187067:
Reviewed by:	trhodes, keramida
2009-01-14 10:02:47 +00:00
Hajimu UMEMOTO e81d7deb48 MFC r187210: Fix typo to install 400.status-pkg, again. 2009-01-14 09:11:13 +00:00
Rong-En Fan 43724c09fd MFC r186851
- Remove snd_au88x0 which seems never got compiled into kernel nor as a kernel
   module. These files cause manual interaction when building
   ports/audio/aureal-kmod which provides a usable i386-only driver (it requires
   linking against some linux object files distributed by vendor which bankrupted
   back in 2000).

 MFC after:    1 week

PR:		124343
2009-01-14 06:50:28 +00:00
Luigi Rizzo 84844704fa MFC: rev. 185475, 186824, 186826, 186827
various cleanups including:
+ check a possible buffer overflow when creating a temp file,
  submitted by Christoph Mallon
+ remove stale struct definitions
+ clarify the use of dflag and remove useless checks
+ Make the linker.hints file have mode 644 instead of 600.
+ fix a couple of innocuous compiler warnings
+ correct description of how a string is stored, fix a few
  typos and reference the kernel file which processes this info.
2009-01-13 23:02:54 +00:00
Luigi Rizzo 693c93243b MFC from rev.185643 and 186799
Some libstand/bootp.c extension (written by Danny Braniss, slightly
revised/modified by me) to store dhcp options into kenv variables,
so the information is available to the boot loader and can be used
to customize the boot process.
2009-01-13 22:46:24 +00:00
Luigi Rizzo 95dde68418 MFC: a number of small fixes and enhancements to the boot0 code,
and matching modifications to boot0cfg.

The most noticeable features are preserving the 4-byte volume ID
that certain Windows versions put in the MBR, and an option (F6)
to boot through INT18 that on some modern BIOSes invokes PXE.
2009-01-13 22:28:48 +00:00
Simon L. B. Nielsen a2790c53e6 Correct ntpd(8) cryptographic signature bypass [SA-09:04].
Correct BIND DNSSEC incorrect checks for malformed signatures
[SA-09:04].

Security:	FreeBSD-SA-09:03.ntpd
Security:	FreeBSD-SA-09:04.bind
Obtained from:	ISC [SA-09:04]
Approved by:	so (simon)
2009-01-13 21:19:27 +00:00
George V. Neville-Neil 4dff01d2f9 MFC of average latency bug fix
Fix a cut/paste bug which prevents us from setting the average
latency tunable.
2009-01-13 21:19:02 +00:00
George V. Neville-Neil bf348aab52 MFC of code to fix debug builds with CTF/DTrace
Fix CTF based builds to that if the debug build is being used we get
debug symbols.
2009-01-13 21:13:35 +00:00
Alexander Motin f1cacd0fb8 MRC rev. 186912, 187020, 187052:
Add external connector jack color into widget names.
It should help users to identify them while reading verbose messages.

Add one more bunch of controller and codec IDs.

Fix unwanted crosschannel mixing, possible on some codecs like
VIA VT1708B and Realtek ALC268.
2009-01-13 16:17:22 +00:00
Christian Brueffer 8937cdbe59 MFC: r186953
DEBUG_REDZONE needs DDB which needs KDB.
2009-01-13 09:24:55 +00:00
Xin LI f8f7f8c370 Fix build: MV_61XX is spelled as MV61XX in 7-STABLE. 2009-01-13 01:39:17 +00:00
Rui Paulo 67f5be182d MFC r185268:
Add support for Marvell PATA M88SX6121.

PR:		129154
Submitted by:	João Barros <joao.barros at gmail.com>
2009-01-12 22:37:05 +00:00
Sam Leffler 5a792aee4e MFC r185478: enable use of modules but disable them by adding MODULES_OVERRIDE="" 2009-01-12 19:16:00 +00:00
Sam Leffler e23b0a2ed6 sync build infrastructure changes with HEAD
Reviewed by:	imp
2009-01-12 17:19:17 +00:00
Stanislav Sedov 68d12a7f7b - MFC cpuctl and related commits into RELENG_7.
First revision of usr.sbin/cpucontrol was
  merged directly into usr.sbin since there're
  no such directory in stable/7 yet. Subsequient
  changes went into usr.sbin/cpucontrol.

Approved by:	kib (mentor)
2009-01-12 15:48:22 +00:00
Pyun YongHyeon aa116fa4ef MFC r183137:
Add ASUS P5KPL-C to the list of supported motherboard.

  Reported by:	< nikola.lecic <at> anthesphoria dot net >
2009-01-12 04:30:27 +00:00
Pyun YongHyeon 2afd7f5e45 MFC r184743:
Remove informational messages left. These messages were intended to
  show up in verbose boot mode.

  Reported by:	pluknet ( pluknet<> gmail DOT com )
2009-01-12 04:23:47 +00:00
Pyun YongHyeon 188811078f MFC r184107:
Remove unused age_txdq
2009-01-12 04:20:46 +00:00
Pyun YongHyeon 98128f1992 MFC r184106:
No need to sync descriptors twice in age_rxintr()
2009-01-12 04:18:22 +00:00
Pyun YongHyeon a214356fcb MFC r181717:
Fix a typo: jme -> age
2009-01-12 04:15:05 +00:00
Pyun YongHyeon f4347a8711 MFC r186390:
Since we don't request reset for rlphy(4), the link state 'UP'
  event from mii(4) may not be delivered if valid link was already
  established. To address the issue, check current link state after
  driving MII_TICK. This should fix a regression introduced in
  r184245.
2009-01-12 04:10:40 +00:00
Pyun YongHyeon 7cbfcd31b2 MFC r184245,185575:
r184245:
  Implement miibus_statchg handler. It detects whether rl(4)
  established a valid link or not.
  In rl_start_locked, don't try to send packets unless we have valid
  link. While I'm here add a check that verifies whether driver can
  accept Tx requests by inspecting IFF_DRV_OACTIVE/IFF_DRV_RUNNING
  flag.

r185575:
  Update if_iqdrops instead of if_ierrors when m_devget(9) fails.
2009-01-12 04:03:25 +00:00
Pyun YongHyeon c6cafa018f MFC r184241-184243:
r184241:
  Don't rearm watchdog timer in rl_txeof(). The watchdog timer was
  already set in rl_start_locked(). Touching the watchdog timer in
  other places will hide the root cause of watchdog timeouts.

r184282:
  Make rl_init_locked() call rl_reset. This will put hardware into
  sane state after resume/watchdog timeouts.

r184283:
  After sending stop command to MAC, give hardware chance to drain
  active DMA operation.
2009-01-12 03:54:33 +00:00
Pyun YongHyeon c4c94cb654 MFC r184240:
Various bus_dma(9) fixes.
   - The hardware does not support DAC so limit DMA address space to
     4GB.
   - Removed BUS_DMA_ALLOC_NOW flag.
   - Created separated Tx buffer and Rx buffer DMA tags. Previously
     it used to single DMA tag and it was not possible to specify
     different DMA restrictions.
   - Apply 4 bytes alignment limitation of Tx buffer.
   - Apply 8 bytes alignment limitation of Rx buffer.
   - Tx side bus_dmamap_load_mbuf_sg(9) support.
   - Preallocate Tx DMA maps as creating DMA maps take very long time
     on architectures that require real DMA maps.
   - Adjust guard buffer size to 1522 + 8 as it should include VLAN
     and additional reserved bytes in Rx buffer.
   - Plug memory leak in device detach. Previously wrong buffer
     address was used to free allocated memory.
   - Added rl_list_rx_init() to clear Rx buffer and cleared the
     buffer.
   - Don't destroy DMA maps in rl_txeof() as the DMA map should be
     reused. There is no reason to destroy/recreate the DMA maps in
     this driver.
   - Removed rl_dma_map_rxbuf()/rl_dma_map_txbuf() callbacks.
   - The hardware does not support descriptor based DMA on Tx side
     and the Tx buffer address should be aligned on 4 bytes boundary
     as well as manual padding for short frames. Because of this
     hardware limitation rl(4) always used to invoke m_defrag(9) to
     get a 4 bytes aligned single buffer. However m_defrag(9) takes
     a lot of CPU cycles on slow machines and not all packets need
     the help of m_defrag(9). Armed with the information, don't
     invoke m_defrag(9) if the following conditions are true.
        1. Buffer is not fragmented.
        2. Buffer is aligned on 4 bytes boundary.
        3. Manual padding is not necessary.
        4. Or padding is necessary but upper stack passed a writable
           buffer and the space needed for padding is satisfied.
     This change combined with preallocated DMA maps greatly
     increased Tx performance of driver on sparc64.
   - Moved bus_dmamap_sync(9) in rl_start_locked() to rl_encap() and
     corrected memory synchronization operation specifier of
     bus_dmamap_sync(9).
   - Removed bus_dmamap_unload(9) in rl_stop(). There is no need to
     reload/unload Rx buffer as rl(4) always have to copy from the
     buffer. It just needs proper bus_dmamap_sync(9) calls before
     copying the received frame.

  With this change rl(4) should work on systems with more than 4GB
  memory.

  PR:	kern/128143
2009-01-12 03:48:25 +00:00
Pyun YongHyeon c235b1b9e0 MFC r184908:
Fix Rx/Tx checksum offload ioctl handling. Now checksum offload
  can be controlled by ifconfig(8). Note, VLAN hardware tagging
  controls still lacks required handler but it requires more driver
  cleanups so I didn't touch that part.

  PR:   kern/128766
2009-01-12 03:32:54 +00:00
Pyun YongHyeon a6d8fd35bf MFC r185597:
Add HW MAC counter support for newer JMC250/JMC260 revisions.
2009-01-12 03:26:52 +00:00
Pyun YongHyeon 681c67176f MFC r185596:
Add support for newer JMC250/JMC260 revisions.
   o Chip full mask revision 2 or later controllers have to
     set correct Tx MAC and Tx offload clock depending on negotiated
     link speed.
   o JMC260 chip full mask revision 2 has a silicon bug that can't
     handle 64bit DMA addressing. Add workaround to the bug by
     limiting DMA address space to be within 32bit.
   o Valid FIFO space of receive control and status register was
     changed on chip full mask revision 2 or later controllers. For
     these controllers, use default 16QW as it's supposed to be the
     safest value for maximum PCIe compatibility. JMicron confirmed
     performance will not be reduced even if the FIFO space is set
     to 16QW.
   o When interface is put into suspend/shutdown state, remove Tx MAC
     and Tx offload clock to save more power. We don't need Tx clock
     at all in this state.
   o Added new register definition for chip full mask revision 2 or
     later controllers.
2009-01-12 02:51:29 +00:00
Andrew Thompson 7cc52612d2 MFC r185186
Allow multiple makeoption lines to be used with the += operator, this permits
 the following syntax in the kernel config.

  makeoptions MODULES_OVERRIDE=foo
  makeoptions MODULES_OVERRIDE+=bar
  makeoptions MODULES_OVERRIDE+=baz

 Bump config minor version to 600007.
2009-01-12 02:45:00 +00:00
Pyun YongHyeon 213ec12e65 MFC r183493:
Save extended address register prior to switching to 1000BASE-X
  only mode and restore original value of extended address register
  instead of overwriting it with page 1. There are still instance
  information passing issue(e.g configured media type: fiber or
  copper) from driver to PHY layer but this change make the selected
  PHY work with 88E1112 PHY.

  Reported by:  Krzysztof Jedruczyk < beaker <at> hot dot pl >
  Tested by:    Krzysztof Jedruczyk < beaker <at> hot dot pl >
2009-01-12 02:44:23 +00:00
Pyun YongHyeon 3ad37aa5be MFC r183492,r184192
r183492:
  Add Vitesse VSC8211 PHY which is found on Planex GU-1000T.

  HW donated by:	nork

r184192:
  Correct PHY description and OUI of VSC8211. Previously VSC8211 was
  not recognized by ciphy(4) due to the incorrect OUI.

  Reported by:	nork
  Tested by:	nork
2009-01-12 02:31:22 +00:00
Pyun YongHyeon 01dab6c3d3 MFC r183488-r183491:
r183488:
  Announce link loss right after it happens.

r183489:
  Use mii_anegticks instead of hardcoded MII_ANEGTICKS.

r183490:
  Report current link state while auto-negotiation is in progress.

r183491:
  Explicitly mark IFM_HDX for half-duplex media.
2009-01-12 02:07:57 +00:00
Xin LI 596d220308 MFC revisions 178088 and 179656: Catastrophic recovery mode. 2009-01-12 00:39:22 +00:00
Sam Leffler 400a33a4a6 MFC r181463: add sbuf_new_auto 2009-01-11 21:45:23 +00:00
Wilko Bulte 8c800123cb MFC: r186142
By default assume a 8139 chip if the EEPROM contents prove inconclusive.
The same LOM hardware with goofed-up EEPROM programming also needed reading
the Ethernet address from the chips registers as the EEPROM did not have a
sensible address programmed.

Patch developed by: pyun@
Funky hardware on loan:  www.id-it.nl
2009-01-11 16:21:33 +00:00
Chin-San Huang be126788c2 Use full name (noticed by: ru@ 2009-01-11 13:56:08 +00:00
Alexander Motin 6f8bb5add9 MFC rev. 186907:
Mark ng_vjc node as FORCE_WRITER to protect slcompress state.
I think it can be the reason of livelock in netgraph reported by some
mpd users.
2009-01-11 11:51:18 +00:00
Maxim Konovalov e08e9ce6a0 Manually merge r183889:183890: do nothing in show_nat() for a test mode (-n). 2009-01-11 10:50:13 +00:00
Maxim Konovalov f1fc59b270 MFC r186274: sync comment and example. 2009-01-11 08:40:26 +00:00
Maxim Konovalov c3b42e4024 MFC r186498: fix typo. 2009-01-11 08:34:51 +00:00
Maxim Konovalov e0c7464863 MFC r186394: correct a database name. 2009-01-11 08:31:01 +00:00
Chin-San Huang 9dbc91f5f2 Synchronize pkg_install(1) with HEAD: fix typo 2009-01-11 05:59:39 +00:00
Antoine Brodin 47a54f59de MFC r181531 to stable/7:
Improve periodic/security/550.ipfwlimit a bit:
  - don't run it if net.inet.ip.fw.verbose = 0 as it is pointless
  - handle rules without logging limit correctly [1]
  (those rules show up without logamount in "ipfw -a list")

  PR:		conf/126060 [1]
  MFC after:	1 month
2009-01-10 19:00:17 +00:00
Antoine Brodin 3d72dda81d MFC r183590 to stable/7:
- Spell cam correctly (scbus), this makes it possible to compile hptiop
  in GENERIC and LINT. [1]
  - Rename hpt_dbg_level to hpt_iop_dbg_level to avoid multiple definition
  of hpt_dbg_level (hptmv also has hpt_dbg_level).

  PR:		127551 [1]
  Reviewed by:	scottl@
  MFC after:	1 month
2009-01-10 17:56:50 +00:00
Robert Noland a4d8f3d262 MFC - Sync drm to HEAD
Merged /head/sys:r186295,186299-186300,186386,186465

	This brings 7 up to date with HEAD.

	- Use bus_dma to allocate scatter/gather pages for pci GART.
	  This fixes "garbled" screen issues on pci based radeons.
	- Prevent drm from attaching to secondary devices even if they
	  have the the same pci id.
	- Attempt at making DRM_DEBUG c99 compliant (needs more work)

Approved by:	kib
2009-01-10 16:42:13 +00:00
Konstantin Belousov afad7066f9 Bump __FreeBSD_version after the strndup() merge to stable/7.
Requested by:	Florian Smeets <flo kasimir com>
2009-01-10 16:19:38 +00:00
Daniel Gerzo c93b6376fc MFC r186843 - r186849
- rename the RETURN VALUES section to EXIT STATUS
- convert to .Ex macro
2009-01-10 16:01:20 +00:00
Robert Noland 77e9cff983 MFC most all of drm from HEAD.
This brings in the following:
   Merged /head/sys:r182080,182467-182469,182883-182884,183573,
	183603-183605,183828,183830-183834,184212-184213,184263,
	184373-184375

	- Support for latest Intel chips
	- Support and fixes for many AMD/ATI chips r500 and below
	- Support AMD/ATI IGP based chips (rs690/rs485)
	- Lots of code cleanups
	- Lots of other fixes and changes since the existing drm
	  is 2+ years old

Approved by:	kib
2009-01-10 14:53:47 +00:00
Antoine Brodin 7ea3329d5f MFC r183004 to stable/7:
Fix TELOPT(opt) when opt > TELOPT_TN3270E.

  PR:		127194
  Submitted by:	Joost Bekkers
  MFC after:	1 month
2009-01-10 11:45:47 +00:00
Antoine Brodin 558218ce09 MFC r183002 to stable/7:
Add files to remove when WITHOUT_HESIOD is set.
  This fixes "make check-old" when WITH_HESIOD is set.

  PR:		122406
  MFC after:	1 month
2009-01-10 10:25:25 +00:00
Doug Barton 35adfd7eeb MFC the BIND 9.4.3 and 9.4.3-P1 updates 2009-01-10 03:01:18 +00:00
Doug Barton f26303fa34 MFC the BIND 9.4.3 and 9.4.3-P1 updates 2009-01-10 03:00:21 +00:00
Alexander Motin 04696a3fec powerd(8) was updated to get better SMP support.
Meanings of the -i and -r command line options were changed.
2009-01-09 22:19:48 +00:00
Alexander Motin 37f19a0959 Sync powerd with CURRENT.
1. Make it more SMP polite. Previous version uses average CPU load that
often leads to load underestimation. It make powerd with default
configuration unusable on systems with more then 2 CPUs. I propose to use
summary load instead of average one. IMO this is the best we can do without
specially tuned scheduler. Also as soon as measuring total load on SMP
systems is more useful then total idle, I have switched to it.

2. Make powerd's operation independent from number and size of frequency
levels. I have added internal frequency counter which translated into real
frequencies only on a last stage and only as good as gone. Some systems may
have only several power levels, while others - many of them, so adaptation
time with previous approach was completely different.

3. As part of previous I have changed adaptive mode to rise frequency on
demand up to 2 times and fall on 1/8 per time internal.

4. For desktop (AC-powered) systems I have added one more mode - "hiadaptive".
It rises frequency twice faster, drops it 4 times slower, prefers twice
lower CPU load and has additional delay before leaving the highest frequency
after the period of maximum load. This mode was specially made to improve
interactivity of the systems where operation capabilities are more
significant then power consumption, but keeping maximum frequency all the
time is not needed.

5. I have reduced default polling interval from 1/2 to 1/4 of second.
It is not so important for algorithm math now, but gives better system
interactivity.

6. Restore original frequency on exit.

7. getopt(3) returns -1, not EOF.

Discussed on:	mobile@
2009-01-09 22:10:07 +00:00
Alexander Motin dca4357a7a MFC rev. 182995
We can't implicitly trust the hook on NGQF_FN/NGQF_FN2 processing in
ng_apply_item(). There are possible (and I have got one) use-after-free
class panics because of it.

If hook is specified, require it to be valid at the apply time. The only
exceptions are the internal ng_con_part2(), ng_con_part3() and
ng_rmhook_part2() functions which are specially made to work with invalid
hooks.
2009-01-09 21:02:54 +00:00
Alexander Motin f7e68080a6 MFC rev. 183695
Document new NGM_NETFLOW_SETCONFIG control message.
2009-01-09 20:57:01 +00:00
Alexander Motin 269cf59b6b MFC rev. 183693
Add ability to generate egress netflow instead or in addition to ingress.
Use mbuf tagging for accounted packets to not account packets twice when
both ingress and egress netflow enabled.
To keep compatibility new "setconfig" message added to control new
functionality. By default node works as before, doing only ingress
accounting without using mbuf tags.

Reviewed by:	glebius
2009-01-09 20:55:26 +00:00
George V. Neville-Neil f849c77fe4 Revert the last checkin as it's supposed to go against HEAD first. 2009-01-09 20:43:06 +00:00
Alexander Motin ffc5033537 MFC rev. 185183
Remove unused variable.

Found with:     Coverity Prevent(tm)
CID:            3682
2009-01-09 20:41:58 +00:00
Alexander Motin 7a827e526c MFC rev. 185182
Fix typo. Clear session stats instead of config and part of stats.

Found with:	Coverity Prevent(tm)
CID:		2472
2009-01-09 20:40:19 +00:00
Alexander Motin 81b0f8181b MFC rev. 185179
Remove unneeded NULL check. At first msg can't be null here and and at second
NG_FREE_MSG() also checks it.

Found with:	Coverity Prevent(tm)
2009-01-09 20:38:21 +00:00
Alexander Motin 05d396603d MFC rev. 184140, 184142, 184936
Add "SD host controller" subclass.
Add HDA multimedia subclass.
Add ADMA, SATA and SAS mass storage subclasses.
2009-01-09 20:34:32 +00:00
Alexander Motin d138c93ce1 MFC rev. 184139, 184141, 184937
Add "SD host controller" subclass.
Add HDA multimedia subclass.
Add ADMA, SATA and SAS mass storage subclasses.
2009-01-09 20:33:07 +00:00
George V. Neville-Neil d4e1379901 Make it so that debug builds with CTF (i.e. DTrace) have proper debugging
symbols in the kernel.

Reviewed by:	jhb
2009-01-09 20:28:43 +00:00
Sam Leffler ca86c5d78b sync with HEAD
OK'd by:	phk
2009-01-09 18:08:50 +00:00
Ruslan Ermilov 7826e2d963 MFC: Instead of using .POSIX:, use the cool looking "@:" rule. 2009-01-09 16:37:29 +00:00
Ruslan Ermilov 6be5bd3c30 Sort MLINKS. 2009-01-09 16:24:10 +00:00
Peter Holm 1806515524 MFC r186510:
Prevent overflow of uio_resid.

Approved by:	kib
2009-01-09 13:53:44 +00:00
Alexander Motin 4cab068f3a MFC rev. 186154
If possible, try to obtain max_mhz on cpufreq attach instead of first request.

On HyperThreading CPUs logical cores have same frequency, so setting it
on any core will change the other's one. In most cases first request
to the second core will be the "set" request, done after setting frequency
of the first core. In such case second CPU will obtain throttled frequency
of the first core as it's max_mhz making cpufreq broken due to different
frequency sets.
2009-01-09 11:36:30 +00:00
Doug Barton 803b09ecd5 MFC the changes from r179725, documentation of the AUTO_UPGRADE knob,
and 186677:186749:

o Removal of 184781, 184804, and 184832 (automatic installation of files
that differ only by VCS Id)
o Fix cross-platform builds
o Various improvements to the mtree (-U) feature
o Remove the last of the MAKEDEV stuff
o Switch to using the top level (e.g., /usr/src) Makefile, and specify
that we should use the *.mk files from the source directory instead of
the installed versions.
o Check for the deprecated 'nodev' option in /etc/fstab
o Add support for the IGNORE_FILES variable
o Before installing a file check to make sure that the target does not
already exist as a directory
o Check to be sure that the file installed and error out if not
o We only need to check for the presence of the target of $PAGER
if that variable is actually set
2009-01-09 11:20:51 +00:00
Konstantin Belousov c9c6800708 MFC r183322:
Change the static struct sysentvec and struct Elf_Brandinfo initializers
to the C99 style.

Explicitely initialize sysentvec.sv_maxssiz that was missed in most
sysvecs.
2009-01-09 11:09:57 +00:00
Murray Stokely 6ae463b6f7 MFC r186043, 186124, 186241
Add support for If-Modified-Since to fetch with new -i option.
Consistently return 1 on error.
Improve usage and SYNOPSIS.
2009-01-09 03:42:41 +00:00
Paolo Pisati 55e2d46c54 MFC r186297 and r186298:
Honor the quiet (-q) option while adding a nat rule.
2009-01-08 22:32:35 +00:00
Sam Leffler a42301da49 mfc ath hal source code 2009-01-08 18:34:19 +00:00
Konstantin Belousov fec8ca6f19 MFC r185689:
Order the str*.c files mostly alphabetical.

MFC r185690:
Import the strndup(3) function.

MFC r185777:
Add strndup(3) prototype to string.h. Manually change
#undef HAVE_STRNDUP to #define HAVE_STRNDUP 1 for the configure.h
files that need it.
2009-01-08 09:50:20 +00:00
Sean Farley a814225919 MFC r184831,185237:
style(9) fixes.

Fixed style issues with variable ordering and naming, spacing and
parentheses.

Fixed alignment issue in gr_dup() in its assignment of gr_mem using a
struct to force alignment without performing alignment mathematics.
This
was noticed recently with libutil was built with WARNS=6 on platform
such
as sparc64.

Added checks to gr_dup(), gr_equal() and gr_make() to prevent segfaults
when examining struct group's with the struct members pointing to
NULL's.

Unlike r185237, did not enable WARNS?=6 since other changes would need
to be MFC'd first.

Reviewed by:	des
2009-01-08 02:41:40 +00:00
Simon L. B. Nielsen e33b799b23 Prevent cross-site forgery attacks on lukemftpd(8) due to splitting
long commands into multiple requests. [09:01]

Fix incorrect OpenSSL checks for malformed signatures due to invalid
check of return value from EVP_VerifyFinal(), DSA_verify, and
DSA_do_verify. [09:02]

Security:	FreeBSD-SA-09:01.lukemftpd
Security:	FreeBSD-SA-09:02.openssl
Obtained from:	NetBSD [SA-09:01]
Obtained from:	OpenSSL Project [SA-09:02]
Approved by:	so (simon)
2009-01-07 20:17:55 +00:00
Maxim Konovalov 87f61678ee MFC r176637,178706,180757,184517,185405,186785: Mac OS X 10.5,
DragonFly 1.12.0, FreeBSD 7.0, OpenBSD 4.3, DragonFly 2.0.0,
OpenBSD 4.4, FreeBSD 6.4, FreeBSD 7.1.
2009-01-07 18:02:36 +00:00
Alexander Motin fdc9e6c161 snd_hda(4) driver was updated to version 20081226_0122. 2009-01-07 16:35:59 +00:00
Alexander Motin 7f35f18c68 MFC rev. 186828
Add small hint that snd_ich is the AC'97 controller driver.
2009-01-07 16:21:04 +00:00
Alexander Motin 0c3771e5b6 Sync snd_hda and snd_ich man pages with CURRENT. 2009-01-07 16:15:17 +00:00
Bjoern A. Zeeb 7848e60158 MFC: r183100
Allow a jail to be started with a specific route fib.
2009-01-07 15:31:46 +00:00
Alexander Motin 1500fd8ce2 Merge updated snd_hda driver version 20081226_0122 from CURRENT.
This update gives:
 - multiple codec per HDA bus support;
 - multiple functional groups per codec support;
 - multiple audio devices per functional group support;
 - digital (SPDIF/HDMI) audio input/output support;
 - better UAA specification compliance with wide configureability;
 - headphones redirection controlled by UAA configuration instead of quirks;
 - improved codec parser, that gives working playback and recording with all
   of the long list of tested codecs and systems;
 - suspend/resume support;
 - part of multichannel audio support (requires OSS improvement to be used);

Note, that due to added HDMI audio and logical audio devices support, updated
driver often provides several PCM devices. In some cases it can make system
default audio device no longer corresponding to the users's habbitual audio
connectors. In such cases wanted device can be specified in audio application
setup or defined globally via hw.snd.default_unit sysctl according to
sound(4) man page.

Additional information information about driver operation can be obtained
from the updated man page and verbose boot messages.

PR:		kern/119181, kern/120144, kern/117599, kern/117729,
		kern/119671, kern/124645, kern/125822, kern/126217,
		kern/127105
2009-01-07 15:28:47 +00:00
Konstantin Belousov f224d7f8e0 MFC r186600:
In r185557, the check for existing negative entry for the given name
did not compared nc_dvp with supplied parent directory vnode pointer.
Add the check and note that now branches for vp != NULL and vp == NULL
are the same, thus can be merged.

Tested by:	kensmith
2009-01-07 12:44:03 +00:00
Alexander Motin 13f1fb21d8 MFC rev. 185723, 186189:
Carefully handle memory errors to keep peers compression/encryption state
consistent. There are some cases reported where peers fatally getting out
of sync without any visible reason. I hope this solve the problem.

Unroll two loops of SHA1Update(). 60 bytes of static memory is not a price.
2009-01-07 12:38:31 +00:00
Alexander Motin d2a65e08dd MFC rev. 186179:
Avoid 256 integer divisions per rc4_init() call. Replace it with using
separate index variable.

It gives more then double rc4_init() performance increase on tested i386 P4.
It also gives about 15% speedup to PPTP VPN with stateless MPPE encryption
(by ng_mppc) which calls rc4_init() for every packet.
2009-01-07 11:44:03 +00:00
Alexander Motin dc95926582 MFC rev. 186855
Hook up sdhci man page to the build.
2009-01-07 11:19:18 +00:00
Alexander Motin e3cb2f16d6 Partially MFC rev. 172658 to reduce diff.
Sort.
2009-01-07 11:04:57 +00:00
Bjoern A. Zeeb 43e79dca14 Move mergeinfo for r186587 from sys/sys/copyright.h to sys/. 2009-01-06 23:05:28 +00:00
Craig Rodrigues 05e1d64f80 MFC 184700:
Add DTrace probes for process execution.  This covers cases tested
  by the DTrace test suite.

Approved by:	jb
2009-01-06 21:34:53 +00:00
Robert Noland a1286f005d MFC r186434
Fix up handling of Intel G4X chips some more.

Note that you need at least xf86-video-intel 2.4.3 for this to work.
The G4X doesn't put the GATT into the same area of stolen memory
as all the other chips and older versions of the driver didn't
handle that properly.

Approved by:	kib
2009-01-06 17:05:44 +00:00
Konstantin Belousov cff8b6295f MFC r186433:
Clear busy state on the pages which are after the one that failed the bind
attempt.
2009-01-06 15:18:14 +00:00
Daniel Gerzo 0b3a76da5b MFC r180162:
- AI_ALL and AI_V4MAPPED flags are currently not supported

PR:		docs/120248
Submitted by:	Heiko Wundram <wundram (a) beenic.net>
2009-01-06 13:09:19 +00:00
Daniel Gerzo 8d7531d51a MFC r180534:
- Update the definition of modspecific structure

PR:		docs/125630
Submitted by:	Mateusz Guzik <[email protected]>
2009-01-06 12:10:23 +00:00
Daniel Gerzo e8ddd3826c MFC r185072:
- fix typo

PR:		docs/128973
Submitted by:	tabthorpe
Approved by:	roberto
2009-01-06 00:20:11 +00:00
Alexander Motin ed23452f6d MFC mmc, mmcsd and sdhci man pages. 2009-01-05 20:55:56 +00:00
Alexander Motin 148eb107ea MFC rev. 184138.
Add mmc, mmcsd and sdhci modules to the build.
2009-01-05 20:37:07 +00:00
Alexander Motin 569db371ab MFC sdhci driver. 2009-01-05 20:23:01 +00:00
Alexander Motin 350559b471 MFC rev. 183479, 184452.
Keep in sync with latest MMC stack:
- limit transfers with single block,
- properly implement read-only.
2009-01-05 19:53:58 +00:00
Alexander Motin 599cae90e1 Sync MMC/SD subsystem with HEAD.
Add support for MMC and SDHC cards, high speed timing, wide bus, multiblock
transfers and many other features.
2009-01-05 19:40:09 +00:00
Hiroki Sato 1842d3cf07 Add more missing bits: procstat(1). 2009-01-05 15:38:45 +00:00
Florent Thoumie 126d894694 Synchronize pkg_install with HEAD (20080708):
r180361: actually enable '-n' for pkg_create(1)
    r181376: use humanize_number to report pen-sizes
2009-01-05 13:10:06 +00:00
Hiroki Sato b834d3fb23 Add explanation of FIB. 2009-01-05 08:56:45 +00:00
Hiroki Sato ae2ba8f2cb Add missing items in relnotes as Errata items:
- jme(4), age(4), malo(4), bm(4), et(4), and glxsb(4).
- multiple routing table support.

Spotted by:	weongyo and yongari
2009-01-05 08:33:56 +00:00
Hiroki Sato 44d530bf05 Clean up a DSSSL file for release documents:
Remove {,no.}include.historic,
	Fix arch="" support, and
	Update platform list in README.
2009-01-05 05:56:19 +00:00
Hiroki Sato 4ea723482c Update &release.manpath.*;. 2009-01-05 05:54:13 +00:00
Hiroki Sato 3b0e5a8acf - Trim old items.
- Fix indent.
2009-01-05 05:53:14 +00:00
Ken Smith 70fad59c46 Release is done, bump stable/7 to -STABLE. 2009-01-05 04:45:17 +00:00
Rong-En Fan 99246d0d7e MFC r184459
- Whenever a password/shell is changed via rpc.yppasswdd, the daemon leaves
   one zombie process because it does not do the cleanup. For a long running
   NIS/YP server, it will have lots of zombie processes on it. Fix that by
   ignoring the SIGCHLD signal since we don't really care about the exit
   status in this case.

PR:           bin/91980
Reported by:  Arjan van der Velde <dj_noresult at hotmail.com>
Submitted by: Jui-Nan Lin" <jnlin at csie.nctu.edu.tw>
Reviewed by:  delphij
2009-01-05 04:26:24 +00:00
Hiroki Sato df86541c10 - Trim old Errata.
- Bump version numbers.
- Document Errata items for 7.1R:
	em(4) -> igb(4) change,
	ae(4) missing in 7.1R relnotes, and
	s/get_setaffinity()/sched_setaffinity()/ in 7.1R relnotes.

Approved by:	re (implicit)
2009-01-05 03:50:04 +00:00
Warner Losh b04ce6e067 Merge copyright bump.
Approved by:	re@ (kensmith)
2008-12-30 05:08:05 +00:00
Warner Losh 5cccffe6c4 MFC: Merge copyright bump.
Approved by:	re@ (kensmith)
2008-12-30 05:04:06 +00:00
Daniel Gerzo f60a41ffc3 MFC r185692:
- correct variable name

PR:		docs/129448
Submitted by:	Kenyon Ralph <[email protected]>
Approved by:	re@ (kensmith)
2008-12-28 23:47:32 +00:00
Hiroki Sato 1531802a23 Document SA-08:07, 08, 09, 10, 11, 12, and 13.
Approved by:	re (implicit)
2008-12-23 17:55:07 +00:00
Yoshihiro Takahashi f0c6bd0d1e MFH: part of 186372
Disable the pccard, parallel, GbE and wireless lan related devices
to decrease a kernel size.

Approved by:	re (kensmith)
2008-12-23 02:14:42 +00:00
Colin Percival 905bd0f61c Prevent cross-site forgery attacks on ftpd(8) due to splitting
long commands into multiple requests. [08:12]

Avoid calling uninitialized function pointers in protocol switch
code. [08:13]

Merry Christmas everybody...

Approved by:	so (cperciva)
Approved by:	re (kensmith)
Security:	FreeBSD-SA-08:12.ftpd, FreeBSD-SA-08:13.protosw
2008-12-23 01:23:09 +00:00
Sean Bruno c0dba52b14 MFC 182911,182948,185996 from HEAD to syncronize fwcontrol between all branches
of FreeBSD.

These changes provide the following features:
  Allow users of more than one Firewire board to execute commands
  Allow users to pass more than one command line argument at a time
  Provide NetBSD code support
  Cleanup Mergeinfo and mark the branch in sync

Reviewed by:	slong ([email protected]) Mentor
Approved by:	re Ken ([email protected])
2008-12-22 00:38:52 +00:00
VANHULLEBUS Yvan 72a5edf8de Fix to bug kern/126850. Only dispatch event hander if the interface had a parent...
PR:		kern/126850
Reviewed by:	EvilSam
Approved by:	re
2008-12-21 19:13:30 +00:00
Peter Wemm 6e13a02933 MFC: 185728: initialize 'dummy' argument to _umtx_op(2) syscall
Approved by:	re (kib)
2008-12-21 04:32:57 +00:00
Christian S.J. Peron 7a8ea2bdb7 MFC revision 185713 from head.
Make sure we are maintaining the reference count on the route eliminating
another:

rtfree: 0xc841ee88 has 1 refs

Reviewed by:	bz
Approved by:	re@ (gnn)
2008-12-20 19:39:09 +00:00
Joe Marcus Clarke c09e04ecc4 MFC r186315:
Do not segfault when procstat -f or procstat -v is called on a process not
owned by the current user.  If kinfo_getfile() or kinfo_getvmmap() return
NULL, simply exit, and do not try and derefernce the memory.

Approved by:	re (kib)
2008-12-19 20:20:50 +00:00
Joe Marcus Clarke 8651a83628 MFC r186314:
Initialize the cntp pointer to 0 prior to doing any work so that callers
don't try to iterate through garbage or NULL memory.  Additionally, return
NULL instead of 0 on error.

Approved by:	re (kib)
2008-12-19 20:19:59 +00:00
Konstantin Belousov 6e512d84ee MFC r185984:
Reference the vmspace of the process being inspected by procfs, linprocfs
and sysctl kern_proc_vmmap handlers.

Approved by:	re (kensmith)
2008-12-19 15:32:48 +00:00
Konstantin Belousov 077c619d9d MFC r185983:
The userland_sysctl() function retries sysctl_root() until returned
error is not EAGAIN. Several sysctls that inspect another process use
p_candebug() for checking access right for the curproc. p_candebug()
returns EAGAIN for some reasons, in particular, for the process doing
exec() now. If execing process tries to lock Giant, we get a livelock,
because sysctl handlers are covered by Giant, and often do not sleep.

Break the livelock by dropping Giant and allowing other threads to
execute in the EAGAIN loop.

This commit does not merge the following change, as was discussed with jhb:
[Also, do not return EAGAIN from p_candebug() when process is executing,
use more appropriate EBUSY error.]

MFC r185987:
Uio_yield() already does DROP_GIANT/PICKUP_GIANT, no need to repeat this
around the call.

Approved by:	re (kensmith)
2008-12-19 15:24:18 +00:00
Konstantin Belousov ee39d14a17 MFC r185765, r185766:
Make two style changes to create new commit and document proper commit
message for r185765.
Commit message for r185765 should be:
In procfs map handler, and in linprocfs maps handler, do not call
vn_fullpath() while having vm map locked. This is done in anticipation
of the vop_vptocnp commit, that would make vn_fullpath sometime
acquire vnode lock.

Also, in linprocfs, maps handler already acquires vnode lock.

MFC r185864:
Relock user map earlier, to have the lock held when break leaves the
loop earlier due to sbuf error.

Approved by:	re (kensmith)
2008-12-19 15:04:26 +00:00
Konstantin Belousov fde57f1aff MFC r185764:
Do drop vm map lock earlier in the sysctl_kern_proc_vmmap(), to avoid
locking a vnode while having vm map locked.

Approved by:	re (kensmith)
2008-12-19 14:47:38 +00:00
Kip Macy 17d5644b34 MFC 185970
fix support and capabilities

Approved by:	re
2008-12-19 06:33:18 +00:00
Ken Smith 922b558bd9 MFC r186165:
> Handle VFS_VGET() failing with an error other than EOPNOTSUPP in addition
> to failing with that error.
>
> PR:           125149
> Submitted by: Jaakko Heinonen (jh <at> saunalahti <dot> fi)
> Reviewed by:  mohans, kan

Approved by:	re (kib)
2008-12-19 03:59:20 +00:00
Xin LI 8f4695b260 MFC r186169:
Don't count InFramesL2FilterDiscards into Ierr.  This value does not represent
a real packet error but simply indicate that an unexpected unicast or multicast
error was received by the NIC, which was not counted in the past as well.

Reported by:	many (on -stable@)
Reviewed by:	davidch
Approved by:	re (kensmith)
2008-12-19 00:17:09 +00:00
Xin LI 2a34c9b7c1 MFC r186168:
Test whether sc->tx_mbuf_map[i], not whether sc->tx_mbuf_map is NULL before
doing bus_dmamap_sync() since it operates on the former, not the latter.

Approved by:	re (kensmith)
2008-12-19 00:14:45 +00:00
Doug Ambrisko b8fdc9892b MFC: r185584,185994,185999,186132 which updates the strings that identifies
the new supported HW and bump the driver version number.

Submitted by:	LSI
Approved by:	re (kib)
2008-12-17 17:37:54 +00:00
Hajimu UMEMOTO 98ac5ca334 MFC 186090
Update our resolver to BIND 9.4.3.

Merge the resolver part of BIND 9.4.3 into HEAD.
It includes the following fix:

  2426.   [bug]           libbind: inet_net_pton() can sometimes return the
                          wrong value if excessively large netmasks are
                          supplied. [RT #18512]

Reported by:	Maksymilian Arciemowicz <cxib__at__securityreason.com>
Approved by:	re (kib)
2008-12-17 12:31:04 +00:00
Murray Stokely 2aa155ddbe MFC: r186204
Update the list of Intel chips with EM64T for FreeBSD/amd64 and
increase the known maximum memory configuration from 8gb to 32gb.

Approved by:	re (hrs)
2008-12-17 03:48:35 +00:00
Ruslan Ermilov edc45e7588 MFC: Fix printing of shared memory limits.
Approved by:	re (kib)
2008-12-16 20:48:38 +00:00
Marius Strobl 26456d4f9c MFC: 185750
- According to the corresponding Linux, NetBSD and OpenSolaris
  drivers, there should be a 1us delay after every write when
  bit-banging the MII. Also insert barriers in order to ensure
  the intended ordering. These changes hopefully will solve the
  bus wedging occasionally experienced with DM9102A since r182461.
- Deobfuscate dc_mii_readreg() a bit.

Approved by:	re (kib)
2008-12-15 21:36:14 +00:00
Marius Strobl ace9ec4570 - Limit BCM5701 B5 to 32-bit mode as a workaround for a bug which
causes data corruption in combination with certain bridges.
  Information about this problem was kindly provided by davidch. [1]
- As BGE_FLAG_PCIX is meant to indicate that the controller is in
  PCI-X mode, revert to the pre __FreeBSD_version 602101 method of
  reading the bus mode register rather than checking the mere
  existence of a PCI-X capability, which is also there when the
  NIC f.e. is put into a 32-bit slot causing it not to be in PCI-X
  mode. Setting BGE_FLAG_PCIX inappropriately could cause the NIC
  to be tuned incorrectly.

PR:		128833 [1]
Reviewed by:	jhb
Approved by:	re (kib)
2008-12-15 20:32:16 +00:00
Pyun YongHyeon ad8bf55e51 MFC r185962:
It seems there are still issues on multicast perfect filtering.
  Disable it until I find spare time to analyze the issue.

Approved by:	re (kensmith)
2008-12-15 05:54:27 +00:00
Daichi GOTO c7ff91059c MFC r185284, r185283
PR:		118346
Submitted by:	Masanori OZAWA <[email protected]>, trasz
Discussed at:	devsummit Strassburg, EuroBSDCon2008
Discussed with:	rwatson, gnn, hrs
Approved by:	re (gnn)
2008-12-15 03:56:54 +00:00
Ken Smith fee07557ce Due to a mis-understanding on my part with Ruslan I haven't been updating
this like I should have been.  Mis-understanding is cleared up I think.

Change default operating system for upcoming release.  Add release names
not in contrib/groff/tmac/doc-common yet.

Submitted by:	ru
Approved by:	re (implicit)
2008-12-13 18:29:48 +00:00
Ruslan Ermilov 333e2d8794 MFC: Fix fread() to return a correct value on platforms where sizeof(int) !=
sizeof(size_t), i.e. on all 64-bit platforms.

Approved by:	re (kib)
2008-12-13 16:53:35 +00:00
Konstantin Belousov b5b814d07c MFC r185634:
Improve db_backtrace() for compat ia32 on amd64. 32bit image enters
the kernel via Xint0x80_syscall().

Approved by:	re (kensmith)
2008-12-12 13:09:52 +00:00
Robert Watson ff6b1c43cf Merge r185857 from head to stable/7:
Move syncache flag definitions below data structure, compress some
  vertical whitespace.

Approved by:	re (gnn)
2008-12-11 22:28:29 +00:00
Robert Watson 7dc58312f7 Merge r185855 from head to stable/7:
Move flag definitions for t_flags and t_oobflags below the definition of
  struct tcpcb so that the structure definition is a bit more vertically
  compact.  Can't yet fit it on one printed page, though.

Approved by:	re (gnn)
2008-12-11 13:30:29 +00:00
Robert Watson c585e3e765 Merge r185813 from head to stable/7:
Update comment on INP_TIMEWAIT to say what it's about, as we caution
  regarding the misplacement of flags in inp_vflag in an earlier comment.

Approved by:	re (gnn)
2008-12-11 12:44:28 +00:00
Tim Kientzle 487e01f271 MFC r183009, r184807, r184808: Fix --strip-components, plus
a handful of test suite improvements.

PR:		bin/128562
Submitted by:	Jaakko Heinonen
Approved by:	re
2008-12-11 05:56:47 +00:00
Konstantin Belousov 12d9ee609f MFC r185739:
Improve usefulness of the panic by printing the pointer to the problematic
dquot.

Approved by:	re (kensmith)
2008-12-10 17:07:13 +00:00
Konstantin Belousov 9af0d5f43e MFC r185335:
In null_lookup(), do the needed cleanup instead of panicing saying
the cleanup is needed.

Approved by:	re (kensmith)
2008-12-10 17:00:14 +00:00
Robert Watson 05ea4d5e94 Merge r185791 from head to stable/7:
Move macros defining flags and shortcuts to nested structure fields in
  inpcbinfo below the structure definition in order to make inpcbinfo
  fit on a single printed page; related style tweaks.

Approved by:	re (kib)
2008-12-10 00:08:25 +00:00
George V. Neville-Neil 4481d2bbc9 MFC of 3 separate commits.
Bug fix from Chelsio which addresses the issue of the device resetting
when it sees only received packets.  In some cases where a device only
recieves data it mistakenly thinks that its transmitting side is broken
and resets the device.

Fix a bug with the ael1006 PHY.  The bug shows up as persistent but incomplete
packet loss, of between 10-30%. The fix is to put the PHY into
and take it out of local loopback mode when resetting the interface.

Bug fix to support N310 version of Chelsio cards (board ID 1088).

Obtained from:	Chelsio Inc.
Approved by: re@
2008-12-09 19:36:04 +00:00
Konstantin Belousov b0651c0916 MFC r185761:
Recheck the DQ_MOD after the dqh lock is relocked. Repeat dqsync() if
the dq is dirty. This ensures that up to date dq is written in the quota
file and fixes assertion in dqget().

Approved by:	re (kensmith)
2008-12-09 16:30:41 +00:00
Konstantin Belousov acd5242cdf MFC r185557:
Prevent creation of the duplicated negative namecache entries.

Approved by:	re (kensmith)
Requested by:	jhb
2008-12-09 16:20:58 +00:00
Pyun YongHyeon 28342cfcd9 MFC r185542:
Add 8168D support.

  Submitted by: Andrew < andrewwtulloch <> gmail DOT com >
Approved by:	re (kib)
2008-12-09 11:01:17 +00:00
Tim Kientzle ead453ae78 MFC r185667,r185680,r185681: Overhaul the Rockridge option
parsing and beef up the ISO9660 bidder.  This makes the
ISO reader a lot more robust when reading malformed input.

Approved by:	re
2008-12-08 17:18:37 +00:00
Peter Wemm b9974351b2 MFC: 184996: use the correct syscall names in END() for three asm stubs.
Approved by:	re (kib)
2008-12-06 23:55:29 +00:00
Peter Wemm c20d140b23 MFC: 185548 and followups.
Add new KERN_PROC_* handlers with 32/64 bit stable interfaces.  Pack
records from sysctl to reduce copyout size.  Add helper to unpack and
provide a more stable interface.

Approved by:	re (kensmith)
2008-12-06 19:54:50 +00:00
Giorgos Keramidas 3ca97ccf5f MFC: r185519
The times(3) function returns the number of CLK_TCKs since the
startup time of FreeBSD, not since the UNIX Epoch.

PR:           docs/122359
Submitted by: Viktor &#352;tujber
Approved by:  re (kib)
2008-12-06 13:48:11 +00:00
Giorgos Keramidas 495178e220 MFC: r172623, r175681, r176182, r176184, and r185217
* Document quotachecks use of the passno field.
* Explain how the passno field in /etc/fstab works with fsck and
  quotacheck in some more detail.
* Explain in more detail how the pass number field works.
* Remove information about block devices; we don't have this sort
  of separation between character and block devices anymore.
* Enhance the explanation of using filesystem-specific mount
  options, and add a mount_msdosfs example.

Approved by:    re (kib)
2008-12-06 13:45:37 +00:00
Giorgos Keramidas f851c1058d MFC: r173282
Use getcwd() instead of getwd().  The former includes buffer length
checks, so it's probably "safer" to use in mtree.

Approved by:    re (kib)
2008-12-06 13:41:04 +00:00
Giorgos Keramidas 48c3bb8688 MFC: r175379, r175380
Document that loader(8) stops reading `loader.conf' when it
encounters a syntax error, and add a tip about adding first
the `vital' options and then experimental ones.

PR:             docs/119658
Submitted by:   Julian Stacey, jhs at berklix.org
Approved by:    re (kib)
2008-12-06 13:38:53 +00:00
Giorgos Keramidas c9f782154f MFC: r175680, r175728.
Document the no-op -r option of BSD xargs(1).

PR:		docs/106416
Submitted by:	Pete Slagle, freebsd-stable at voidcaptain.com
Approved by:	re (kib)
2008-12-06 13:32:51 +00:00
Pyun YongHyeon 9dfb4f4b54 MFC r185576:
Add some PHY magic to enable PHY hibernation and 1000baseT/10baseT
  power adjustment. This change is required to guarantee correct
  operation on certain switches.

MFC r185577:
  AR8113 also need to set DMA read burst value. This should fix
  occasional DMA read error seen on AR8113.

Approved by:	re (kensmith)
2008-12-06 01:01:17 +00:00
Xin LI d436c3d1fb MFC revisions 183648 and 185574:
183648 (simon): Document that the bce(4) driver works with Dell PowerEdge
1950/2950 NIC's.

185574 (delphij): Update bce(4)'s hardware list to reflect the recent
update to driver.

Approved by:	re (kib)
2008-12-05 22:35:44 +00:00
Xin LI addf8ba26b MFC r185593:
Don't attempt to clear status updates if we did not do a link state
change.  As a side effect, this makes the excessive interrupts to
disappear which has been observed as a regression in recent stable/7.

Reported by:	many (on -stable@)
Reviewed by:	davidch
Approved by:	re (kensmith, kib)
2008-12-05 21:30:13 +00:00
Ken Smith 9de4f928a6 MFC r185517:
> Catch up with the disappearance of sys/dev/hfa.

Approved by:	re (kib)
2008-12-04 13:37:18 +00:00
Ken Smith 31d02f4f59 MFC r185515:
> Adjustments to make a tags file a bit more suitable to amd64.

Reviewed by:	peter
Approved by:	re (kib)
2008-12-04 13:31:38 +00:00
Daniel Gerzo 16368a160b - MFC the nullfs(5) manual page
Approved by:	re@ (blackend)
2008-12-04 12:22:11 +00:00
Konstantin Belousov d4fe5d4e44 MFC r185474:
Clarify the reason to not use the volatile string as an argument to CTR
macros. Note the logging of file and line.

Approved by:	re (hrs)
2008-12-03 15:07:17 +00:00
Konstantin Belousov 47a2ea55fb MFC r185451:
Third argument to the vi_mmap_t function is vm_paddr_t *.

Approved by:	re (kensmith)
2008-12-02 13:29:35 +00:00
Marcel Moolenaar c8b8aaa5e3 MFC rev 179382:
Work-around a compiler optimization bug, that broke libthr. Massive
inlining resulted in constant propagation to the extend that cmpval
was known to the compiler to be URWLOCK_WRITE_OWNER (= 0x80000000U).
Unfortunately, instead of zero-extending the unsigned constant, it
was sign-extended. As such, the cmpxchg instruction was comparing
0x0000000080000000LU to 0xffffffff80000000LU and obviously didn't
perform the exchange.
But, since the value returned by cmpxhg equalled cmpval (when zero-
extended), the _thr_rtld_lock_release() function thought the exchange
did happen and as such returned as if having released the lock. This
was not the case. Subsequent locking requests found rw_state non-zero
and the thread in question entered the kernel and block indefinitely.

The work-around is to zero-extend by casting to uint64_t.

Approved by:	re (kensmith)
2008-12-01 17:40:57 +00:00
Ken Smith 9c49ba52a0 Make adjustments to the package set for 7.1-RELEASE.
Approved by:	re (kib)
2008-12-01 17:26:28 +00:00
Jack F Vogel 04d6069890 MFC of a critical fix for the ESB2 adapters in the em
driver, however the fix required a shared code change that
involves both em and igb, requiring some compatibility
changes throughout.

Also, the igb driver now has header split. This is a hardware
assist that is able to seperate the payload and header into
seperate buffers. Using jumbo frames and 4K mbuf clusters, this
should allow the use of ZERO COPY, but that has yet to be
implemented.

Approved by:re
2008-12-01 07:13:52 +00:00
Jack F Vogel 91795f235c MFC of version 1.6.2 of the ixgbe driver, contains
header split, new adapter support, and general code
improvement/cleanup.

Approved by:re
2008-12-01 04:03:17 +00:00
Kip Macy 7ed37e977f MFC 183967, 184861, 185157
183967:
Track number of packets transmitted and number of packets received
PR:   125806

184861:
Update firmware version check
 make ddp a tunable

 Obtained from:        Chelsio Inc.

185157:
 Several small additions to the Chelsio 10G driver.

 1) Fix a bug in dealing with the Alerus 1006 PHY which prevented the
 device from ever coming back up once it had been set to down.

 2) Add a kernel tunable (hw.cxgb.snd_queue_len) which makes it possible
 to give the device more than IFQ_MAXLEN entries in its send queue.  The
 default remains 50.

 3) Add code to place the card'd identification and serial number into
 its description (%desc) so that users can tell which card they have
 installed.

Approved by:	re
2008-12-01 00:23:12 +00:00
Christian S.J. Peron f8a7386770 MFC revision 185484
- fixup ABI issues with ip6/audit

Approved by:	re@ (kib)
2008-11-30 21:00:22 +00:00
Luigi Rizzo aa7163445e MFC: pass the correct value in %si to the next stage boot
Approved by:	re@
2008-11-30 00:00:02 +00:00
Robert Noland 7d74b599bb MFC r183555: Correctly handle Intel g33 chips and add support for g45
chips.

g33 based chips use a different method of identifying the gtt size.
g45 based chips gtt is located in a different area of stolen memory.

Approved by:	re@ (kensmith)
2008-11-29 17:33:38 +00:00
Robert Watson 2a284a9ec5 Merge r184367 from head to stable/7:
When the mac_bsdextended policy is unloaded, free rule memory.

  Obtained from:       TrustedBSD Project

Approved by:	re (kensmith)
2008-11-29 14:58:58 +00:00
Robert Watson 6a0f64d394 Merge r184567 from head to stable/7:
When encoding an smb name, truncate one byte earlier in order than we did
  previously in order to ensure it fit properly in the bufer when encoded.
  This prevents a debugging printf from firing if a source or destination
  host name for an smb mount exceeds 15 characters.

  Obtained from:       Apple, Inc.

Approved by:	re (kensmith)
2008-11-29 14:49:56 +00:00
Tim Kientzle eea4e70ea0 MFC r185334: Recognize Rockridge extensions even when the
IEEE-standard extension name (as standardized in 1994) is used.

PR:		kern/128942
Submitted by:	J.R. Oldroyd
Approved by:	re
2008-11-29 05:10:30 +00:00
Tim Kientzle 342d4a71e8 MFC r185361: timezone value is signed
PR:		kern/128934
Submitted by:	J.R. Oldroyd
Approved by:	re
2008-11-29 03:17:29 +00:00
Tim Kientzle df0cc8b04d MFC r185359: Return a non-zero exit code when directories
disappear during the filesystem traversal.

Tested by:	David Wolfskill
Approved by:	re
2008-11-28 20:13:23 +00:00
Tim Kientzle 13be3254b9 MFC 182590,182778,182779,184109: Support for certain
archive_entry attributes to be explicitly "unset".
This fixes a number of issues:
 * Zip archives with "length at end" can now be
   extracted correctly, since the Zip extractor
   can simply mark the size as "unknown."
 * Extract-to-disk can now accurately handle
   cases with partial time information (e.g.,
   mtime is known but not atime)
 * We get more accurate handling of different
   hardlink extraction cases; sometimes a hardlink
   entry has definitive size information and sometimes
   not.

Approved by:	re
2008-11-28 20:08:47 +00:00
Bjoern A. Zeeb 667eaf7da4 MFC: r185332
Plug a credential leak in case the inpcb is freed by
  in6_pcbfree() instead of in_pcbfree(); missed in r183606.

Approved by:	re (gnn)
2008-11-26 22:36:35 +00:00
Julian Elischer fdc85e3bd0 MFC @ 185101
Fix a scope problem in the multiple routing table code that
stopped the SO_SETFIB socket option from working correctly.

Approved by:	 re (kensmith, kostik)
Obtained from:	Ironport
2008-11-25 19:26:36 +00:00
Ken Smith d51080505e Add FreeBSD_version and package directory for 7.1.
Approved by:	re (implicit)
2008-11-25 17:34:36 +00:00
Ken Smith 45bc18d25a Bump __FreeBSD_version for 7.1.
Approved by:	re (implicit)
2008-11-25 17:31:45 +00:00
Ken Smith e0687daeb1 With the branch for 7.1 done start bumping misc. version numbers
from 7.0 to 7.1.

Approved by:	re (implicit)
2008-11-25 17:27:11 +00:00
2050 changed files with 263659 additions and 142124 deletions

No files matched your search

+1 -1
View File
@@ -4,7 +4,7 @@
The compilation of software known as FreeBSD is distributed under the
following terms:
Copyright (C) 1992-2008 The FreeBSD Project. All rights reserved.
Copyright (c) 1992-2009 The FreeBSD Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
+17 -9
View File
@@ -279,28 +279,36 @@ universe_prologue:
@echo "--------------------------------------------------------------"
.for target in ${TARGETS}
KERNCONFS!= cd ${.CURDIR}/sys/${target}/conf && \
find [A-Z]*[A-Z] -type f -maxdepth 0 \
find [A-Z0-9]*[A-Z0-9] -type f -maxdepth 0 \
! -name DEFAULTS ! -name LINT
KERNCONFS:= ${KERNCONFS:S/^NOTES$/LINT/}
universe: universe_${target}
.ORDER: universe_prologue universe_${target} universe_epilogue
universe_${target}:
.if !defined(MAKE_JUST_KERNELS)
@echo ">> ${target} started on `LC_ALL=C date`"
-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildworld \
@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
${MAKE} ${JFLAG} buildworld \
TARGET=${target} \
__MAKE_CONF=/dev/null \
> _.${target}.buildworld 2>&1
> _.${target}.buildworld 2>&1 || \
echo "${target} world failed," \
"check _.${target}.buildworld for details")
@echo ">> ${target} buildworld completed on `LC_ALL=C date`"
.endif
.if exists(${.CURDIR}/sys/${target}/conf/NOTES)
-cd ${.CURDIR}/sys/${target}/conf && ${MAKE} LINT \
> ${.CURDIR}/_.${target}.makeLINT 2>&1
@(cd ${.CURDIR}/sys/${target}/conf && env __MAKE_CONF=/dev/null \
${MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
echo "${target} 'make LINT' failed," \
"check _.${target}.makeLINT for details")
.endif
.for kernel in ${KERNCONFS}
-cd ${.CURDIR} && ${MAKE} ${JFLAG} buildkernel \
@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
${MAKE} ${JFLAG} buildkernel \
TARGET=${target} \
KERNCONF=${kernel} \
__MAKE_CONF=/dev/null \
> _.${target}.${kernel} 2>&1
> _.${target}.${kernel} 2>&1 || \
echo "${target} ${kernel} kernel failed," \
"check _.${target}.${kernel} for details")
.endfor
@echo ">> ${target} completed on `LC_ALL=C date`"
.endfor
+6 -2
View File
@@ -88,7 +88,7 @@ CLEANDIR= cleandir
.endif
CVS?= cvs
CVSFLAGS?= -r RELENG_7 -P -d -I!
CVSFLAGS?= -r RELENG_7_2 -P -d -I!
SUP?= /usr/bin/csup
SUPFLAGS?= -g -L 2
.if defined(SUPHOST)
@@ -597,10 +597,14 @@ installcheck_UGID:
#
# Installs everything compiled by a 'buildworld'.
#
.if ${MK_INFO} != "no"
_install-info= install-info
.endif
distributeworld installworld: installcheck
mkdir -p ${INSTALLTMP}
for prog in [ awk cap_mkdb cat chflags chmod chown \
date echo egrep find grep install-info \
date echo egrep find grep ${_install-info} \
ln lockf make mkdir mtree mv pwd_mkdb rm sed sh sysctl \
test true uname wc zic; do \
cp `which $$prog` ${INSTALLTMP}; \
+2 -5
View File
@@ -14,6 +14,8 @@
# The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last.
#
# 20090203: adding_user.8 moved to adding_user.7
OLD_FILES+=usr/share/man/man8/adding_user.8.gz
# 20080407: pkg_sign has been removed
OLD_FILES+=usr/sbin/pkg_check
OLD_FILES+=usr/sbin/pkg_sign
@@ -3531,7 +3533,6 @@ OLD_FILES+=usr/games/worm
OLD_FILES+=usr/games/worms
OLD_FILES+=usr/games/wump
OLD_FILES+=sbin/mount_reiserfs
OLD_FILES+=usr/bin/hesinfo
OLD_FILES+=usr/include/c++/3.4/ext/demangle.h
OLD_FILES+=usr/include/cam/cam_extend.h
OLD_FILES+=usr/include/dev/wi/wi_hostap.h
@@ -3941,10 +3942,8 @@ OLD_FILES+=usr/share/doc/ntp/release.htm
OLD_FILES+=usr/share/doc/ntp/tickadj.htm
OLD_FILES+=usr/share/doc/papers/nqnfs.ascii.gz
OLD_FILES+=usr/share/doc/papers/px.ascii.gz
OLD_FILES+=usr/share/man/man1/hesinfo.1.gz
OLD_FILES+=usr/share/man/man3/mbrune.3.gz
OLD_FILES+=usr/share/man/man3/rune.3.gz
OLD_FILES+=usr/share/man/man3/hesiod.3.gz
OLD_FILES+=usr/share/man/man3/mac_is_present_np.3.gz
OLD_FILES+=usr/share/man/man3/fpsetsticky.3.gz
OLD_FILES+=usr/share/man/man3/gss_krb5_copy_ccache.3.gz
@@ -3959,7 +3958,6 @@ OLD_FILES+=usr/share/man/man3/setrunelocale.3.gz
OLD_FILES+=usr/share/man/man3/setinvalidrune.3.gz
OLD_FILES+=usr/share/man/man3/mbrune.3.gz
OLD_FILES+=usr/share/man/man3/rune.3.gz
OLD_FILES+=usr/share/man/man3/hesiod.3.gz
OLD_FILES+=usr/share/man/man3/mac_is_present_np.3.gz
OLD_FILES+=usr/share/man/man3/fpsetsticky.3.gz
OLD_FILES+=usr/share/man/man3/gss_krb5_copy_ccache.3.gz
@@ -3975,7 +3973,6 @@ OLD_FILES+=usr/share/man/man3/setinvalidrune.3.gz
OLD_FILES+=usr/share/man/man3/fungetrune.3.gz
OLD_FILES+=usr/share/man/man3/fputrune.3.gz
OLD_FILES+=usr/share/man/man3/fgetrune.3.gz
OLD_FILES+=usr/share/man/man5/hesiod.conf.5.gz
OLD_FILES+=usr/share/man/man5/usbd.conf.5.gz
.if ${TARGET_ARCH} != "i386" && ${TARGET_ARCH} != "amd64"
OLD_FILES+=usr/share/man/man8/boot_i386.8.gz
+84
View File
@@ -8,6 +8,90 @@ Items affecting the ports and packages system can be found in
/usr/ports/UPDATING. Please read that file before running
portupgrade.
20090504:
FreeBSD 7.2-RELEASE
20090422: FreeBSD-SA-09:07.libc, FreeBSD-SA-09:08.openssl
Don't leak information via uninitialized space in db(3) records.
[09:07]
Sanity-check string lengths in order to stop OpenSSL crashing
when printing corrupt BMPString or UniversalString objects. [09:08]
20090326:
Following bug-fixes to TCP connection state flags, netstat, systat,
and sockstat will need to be rebuilt in order to properly print
connections in the TIMEWAIT state.
20090318:
Change IPv6 ephemeral port allocation from sequential to
random allocation, like IPv4 has done for more than four years.
The implementation shares infrastructure with IPv4. This
means that there is only one set of sysctls to control both
IPv4 and IPv6. See ip(4) man page for details.
20090312:
A workaround is committed to allow the creation of System V shared
memory segment of size > 2 GB on the 64-bit architectures.
Due to a limitation of the existing ABI, the shm_segsz member
of the struct shmid_ds, returned by shmctl(IPC_STAT) call is
wrong for large segments. Note that limits must be explicitely
raised to allow such segments to be created.
The management interface that is used by ipcs(1) has to be changed
in incompatible way. Rebuild the ipcs(1) utility with the new
headers after the update. Buildworld/installworld takes care
of this issue automatically.
20090312:
The open-source Atheros HAL has been merged from HEAD
to STABLE.
The kernel compile-time option AH_SUPPORT_AR5416 has been
added to support certain newer Atheros parts, particularly
PCI-Express chipsets.
The following modules are no longer available, and should be
removed from MODULES_OVERRIDE and/or loader.conf:-
ath_hal ath_rate_amrr ath_rate_onoe ath_rate_sample
20090207:
ZFS users on amd64 machines with 4GB or more of RAM should
reevaluate their need for setting vm.kmem_size_max and
vm.kmem_size manually. In fact, after recent changes to the
kernel, the default value of vm.kmem_size is larger than the
suggested manual setting in most ZFS/FreeBSD tuning guides.
20090207:
Multi-IPv4/v6/no-IP jail support was merged to STABLE.
You need to rebuild jls(8) and to use the new features
jail(8), jexec(8) and cpuset(1) with a new kernel.
__FreeBSD_version was bumped to 701103.
20090119:
NTFS has been removed from GENERIC kernel on amd64 to match
GENERIC on i386. Should not cause any issues since mount_ntfs(8)
will load ntfs.ko module automatically when NTFS support is
actually needed, unless ntfs.ko is not installed or security
level prohibits loading kernel modules. If either is the case,
"options NTFS" has to be added into kernel config.
20090110:
powerd(8) was updated to get better SMP support.
Meanings of the -i and -r command line options were changed.
20090107:
snd_hda(4) driver was updated to version 20081226_0122.
Due to added HDMI audio and logical audio devices support, updated
driver often provides several PCM devices. In some cases it can make
system default audio device no longer correspond to the users's
habbitual audio connectors. In such cases wanted device can be
specified in audio application setup or defined globally via
hw.snd.default_unit sysctl according to sound(4) and snd_hda(4)
man pages.
20090106:
FreeBSD 7.1-RELEASE
20080903:
ntpd has been upgraded to 4.2.4p5.
+28 -30
View File
@@ -137,41 +137,39 @@ copy_file(const FTSENT *entp, int dne)
* Mmap and write if less than 8M (the limit is so we don't totally
* trash memory on big files. This is really a minor hack, but it
* wins some CPU back.
* Some filesystems, such as smbnetfs, don't support mmap,
* so this is a best-effort attempt.
*/
#ifdef VM_AND_BUFFER_CACHE_SYNCHRONIZED
if (S_ISREG(fs->st_mode) && fs->st_size > 0 &&
fs->st_size <= 8 * 1048576) {
if ((p = mmap(NULL, (size_t)fs->st_size, PROT_READ,
MAP_SHARED, from_fd, (off_t)0)) == MAP_FAILED) {
fs->st_size <= 8 * 1024 * 1024 &&
(p = mmap(NULL, (size_t)fs->st_size, PROT_READ,
MAP_SHARED, from_fd, (off_t)0)) != MAP_FAILED) {
wtotal = 0;
for (bufp = p, wresid = fs->st_size; ;
bufp += wcount, wresid -= (size_t)wcount) {
wcount = write(to_fd, bufp, wresid);
if (wcount <= 0)
break;
wtotal += wcount;
if (info) {
info = 0;
(void)fprintf(stderr,
"%s -> %s %3d%%\n",
entp->fts_path, to.p_path,
cp_pct(wtotal, fs->st_size));
}
if (wcount >= (ssize_t)wresid)
break;
}
if (wcount != (ssize_t)wresid) {
warn("%s", to.p_path);
rval = 1;
}
/* Some systems don't unmap on close(2). */
if (munmap(p, fs->st_size) < 0) {
warn("%s", entp->fts_path);
rval = 1;
} else {
wtotal = 0;
for (bufp = p, wresid = fs->st_size; ;
bufp += wcount, wresid -= (size_t)wcount) {
wcount = write(to_fd, bufp, wresid);
if (wcount <= 0)
break;
wtotal += wcount;
if (info) {
info = 0;
(void)fprintf(stderr,
"%s -> %s %3d%%\n",
entp->fts_path, to.p_path,
cp_pct(wtotal, fs->st_size));
}
if (wcount >= (ssize_t)wresid)
break;
}
if (wcount != (ssize_t)wresid) {
warn("%s", to.p_path);
rval = 1;
}
/* Some systems don't unmap on close(2). */
if (munmap(p, fs->st_size) < 0) {
warn("%s", entp->fts_path);
rval = 1;
}
}
} else
#endif
+6 -1
View File
@@ -32,7 +32,7 @@
.\" @(#)dd.1 8.2 (Berkeley) 1/13/94
.\" $FreeBSD$
.\"
.Dd August 15, 2004
.Dd January 23, 2009
.Dt DD 1
.Os
.Sh NAME
@@ -392,6 +392,11 @@ Remove parity bit from a file:
Check for (even) parity errors on a file:
.Pp
.Dl "dd if=file conv=pareven | cmp -x - file"
.Pp
To create an image of a Mode-1 CD-ROM, which is a commonly used format
for data CD-ROM disks, use a block size of 2048 bytes:
.Pp
.Dl "dd if=/dev/acd0 of=filename.iso bs=2048"
.Sh SEE ALSO
.Xr cp 1 ,
.Xr mt 1 ,
+23 -9
View File
@@ -32,20 +32,24 @@
.\" @(#)ln.1 8.2 (Berkeley) 12/30/93
.\" $FreeBSD$
.\"
.Dd February 14, 2006
.Dd June 6, 2008
.Dt LN 1
.Os
.Sh NAME
.Nm ln ,
.Nm link
.Nd make links
.Nd link files
.Sh SYNOPSIS
.Nm
.Op Fl Ffhinsv
.Op Fl s Op Fl F
.Op Fl f | iw
.Op Fl hnv
.Ar source_file
.Op Ar target_file
.Nm
.Op Fl Ffhinsv
.Op Fl s Op Fl F
.Op Fl f | iw
.Op Fl hnv
.Ar source_file ...
.Ar target_dir
.Nm link
@@ -53,8 +57,13 @@
.Sh DESCRIPTION
The
.Nm
utility creates a new directory entry (linked file) which has the
same modes as the original file.
utility creates a new directory entry (linked file) for the file name
specified by
.Ar target_file .
The
.Ar target_file
will be created with the same file modes as the
.Ar source_file .
It is useful for maintaining multiple copies of a file in many places
at once without using up storage for the
.Dq copies ;
@@ -75,6 +84,8 @@ then unlink it so that the link may occur.
.Fl f
option overrides any previous
.Fl i
and
.Fl w
options.)
.It Fl F
If the target file already exists and is a directory, then remove it
@@ -130,6 +141,8 @@ Create a symbolic link.
Cause
.Nm
to be verbose, showing files as they are processed.
.It Fl w
Warn if the source of a symbolic link does not currently exist.
.El
.Pp
By default,
@@ -140,7 +153,7 @@ links.
A hard link to a file is indistinguishable from the original directory entry;
any changes to a file are effectively independent of the name used to reference
the file.
Hard links may not normally refer to directories and may not span file systems.
Directories may not be hardlinked, and hard links may not span file systems.
.Pp
A symbolic link contains the name of the file to
which it is linked.
@@ -190,9 +203,10 @@ operation using the two passed arguments.
The
.Fl h ,
.Fl i ,
.Fl n
and
.Fl n ,
.Fl v
and
.Fl w
options are non-standard and their use in scripts is not recommended.
They are provided solely for compatibility with other
.Nm
+39 -4
View File
@@ -58,6 +58,8 @@ int hflag; /* Check new name for symlink first. */
int iflag; /* Interactive mode. */
int sflag; /* Symbolic, not hard, link. */
int vflag; /* Verbose output. */
int wflag; /* Warn if symlink target does not
* exist, and -f is not enabled. */
/* System link call. */
int (*linkf)(const char *, const char *);
char linkch;
@@ -92,7 +94,7 @@ main(int argc, char *argv[])
exit(linkit(argv[0], argv[1], 0));
}
while ((ch = getopt(argc, argv, "Ffhinsv")) != -1)
while ((ch = getopt(argc, argv, "Ffhinsvw")) != -1)
switch (ch) {
case 'F':
Fflag = 1;
@@ -100,6 +102,7 @@ main(int argc, char *argv[])
case 'f':
fflag = 1;
iflag = 0;
wflag = 0;
break;
case 'h':
case 'n':
@@ -115,6 +118,9 @@ main(int argc, char *argv[])
case 'v':
vflag = 1;
break;
case 'w':
wflag = 1;
break;
case '?':
default:
usage();
@@ -127,8 +133,10 @@ main(int argc, char *argv[])
linkch = sflag ? '-' : '=';
if (sflag == 0)
Fflag = 0;
if (Fflag == 1 && iflag == 0)
if (Fflag == 1 && iflag == 0) {
fflag = 1;
wflag = 0; /* Implied when fflag != 0 */
}
switch(argc) {
case 0:
@@ -167,6 +175,7 @@ linkit(const char *target, const char *source, int isdir)
const char *p;
int ch, exists, first;
char path[PATH_MAX];
char wbuf[PATH_MAX];
if (!sflag) {
/* If target doesn't exist, quit now. */
@@ -203,6 +212,32 @@ linkit(const char *target, const char *source, int isdir)
}
exists = !lstat(source, &sb);
/*
* If the link source doesn't exist, and a symbolic link was
* requested, and -w was specified, give a warning.
*/
if (sflag && wflag) {
if (*source == '/') {
/* Absolute link source. */
if (stat(source, &sb) != 0)
warn("warning: %s inaccessible", source);
} else {
/*
* Relative symlink source. Try to construct the
* absolute path of the source, by appending `source'
* to the parent directory of the target.
*/
p = strrchr(target, '/');
if (p != NULL)
p++;
else
p = target;
(void)snprintf(wbuf, sizeof(wbuf), "%.*s%s",
(int)(p - target), target, source);
if (stat(wbuf, &sb) != 0)
warn("warning: %s", source);
}
}
/*
* If the file exists, then unlink it forcibly if -f was specified
* and interactively if -i was specified.
@@ -254,8 +289,8 @@ void
usage(void)
{
(void)fprintf(stderr, "%s\n%s\n%s\n",
"usage: ln [-Ffhinsv] source_file [target_file]",
" ln [-Ffhinsv] source_file ... target_dir",
"usage: ln [-s [-F]] [-f | -i] [-hnv] source_file [target_file]",
" ln [-s [-F]] [-f | -i] [-hnv] source_file ... target_dir",
" link source_file target_file");
exit(1);
}
+4 -36
View File
@@ -425,18 +425,10 @@ node_creat(ARCHD *arcn)
* we were able to create the node. set uid/gid, modes and times
*/
if (pids)
res = ((arcn->type == PAX_SLK) ?
set_lids(arcn->name, arcn->sb.st_uid, arcn->sb.st_gid) :
set_ids(arcn->name, arcn->sb.st_uid, arcn->sb.st_gid));
res = set_ids(arcn->name, arcn->sb.st_uid, arcn->sb.st_gid);
else
res = 0;
/*
* symlinks are done now.
*/
if (arcn->type == PAX_SLK)
return(0);
/*
* IMPORTANT SECURITY NOTE:
* if not preserving mode or we cannot set uid/gid, then PROHIBIT any
@@ -632,7 +624,7 @@ chk_path( char *name, uid_t st_uid, gid_t st_gid)
* used by -t to reset access times).
* When ign is zero, only those times the user has asked for are set, the
* other ones are left alone. We do not assume the un-documented feature
* of many utimes() implementations that consider a 0 time value as a do
* of many lutimes() implementations that consider a 0 time value as a do
* not set request.
*/
@@ -661,7 +653,7 @@ set_ftime(char *fnm, time_t mtime, time_t atime, int frc)
/*
* set the times
*/
if (utimes(fnm, tv) < 0)
if (lutimes(fnm, tv) < 0)
syswarn(1, errno, "Access/modification time set failed on: %s",
fnm);
return;
@@ -676,30 +668,6 @@ set_ftime(char *fnm, time_t mtime, time_t atime, int frc)
int
set_ids(char *fnm, uid_t uid, gid_t gid)
{
if (chown(fnm, uid, gid) < 0) {
/*
* ignore EPERM unless in verbose mode or being run by root.
* if running as pax, POSIX requires a warning.
*/
if (strcmp(NM_PAX, argv0) == 0 || errno != EPERM || vflag ||
geteuid() == 0)
syswarn(1, errno, "Unable to set file uid/gid of %s",
fnm);
return(-1);
}
return(0);
}
/*
* set_lids()
* set the uid and gid of a file system node
* Return:
* 0 when set, -1 on failure
*/
int
set_lids(char *fnm, uid_t uid, gid_t gid)
{
if (lchown(fnm, uid, gid) < 0) {
/*
@@ -724,7 +692,7 @@ void
set_pmode(char *fnm, mode_t mode)
{
mode &= ABITS;
if (chmod(fnm, mode) < 0)
if (lchmod(fnm, mode) < 0)
syswarn(1, errno, "Could not set permissions on %s", fnm);
return;
}
+1
View File
@@ -147,6 +147,7 @@ readcmd(int argc __unused, char **argv __unused)
if (tcgetattr(0, &told) == 0) {
memcpy(&tnew, &told, sizeof(told));
cfmakeraw(&tnew);
tnew.c_iflag |= told.c_iflag & ICRNL;
tcsetattr(0, TCSANOW, &tnew);
tsaved = 1;
}
+1 -1
View File
@@ -310,7 +310,7 @@ are evaluated consistently according to the rules specified in the
standards document.
All other cases are subject to the ambiguity in the
command semantics.
.Sh RETURN VALUES
.Sh EXIT STATUS
The
.Nm
utility exits with one of the following values:
@@ -1739,15 +1739,11 @@ dtrace_program_link(dtrace_hdl_t *dtp, dtrace_prog_t *pgp, uint_t dflags,
* Arches which are 32-bit only just use the normal
* library path.
*/
#if defined(__i386__)
int use_32 = 1; /* use /usr/lib/... -sson */
#else
int use_32 = 0;
#endif
#endif
(void) snprintf(drti, sizeof (drti), "/usr/lib%s/dtrace/drti.o",
use_32 ? "":"32");
use_32 ? "32":"");
len = snprintf(&tmp, 1, fmt, dtp->dt_ld_path, file, tfile,
drti) + 1;
+533 -120
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -13,7 +13,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
$Id: COPYRIGHT,v 1.9.18.4.10.1 2008/07/23 07:28:54 tbox Exp $
$Id: COPYRIGHT,v 1.9.18.5 2008/01/02 23:46:02 tbox Exp $
Portions Copyright (C) 1996-2001 Nominum, Inc.
+109 -17
View File
@@ -1,6 +1,6 @@
Frequently Asked Questions about BIND 9
Copyright © 2004-2007 Internet Systems Consortium, Inc. ("ISC")
Copyright © 2004-2008 Internet Systems Consortium, Inc. ("ISC")
Copyright © 2000-2003 Internet Software Consortium.
@@ -205,6 +205,8 @@ A: These indicate a malformed master zone. You can identify the exact
Q: I get error messages like "named.conf:99: unexpected end of input"
where 99 is the last line of named.conf.
A: There are unbalanced quotes in named.conf.
A: Some text editors (notepad and wordpad) fail to put a line title
indication (e.g. CR/LF) on the last line of a text file. This can be
fixed by "adding" a blank line to the end of the file. Named expects to
@@ -375,7 +377,60 @@ A: When reloading a zone named my have multiple copies of the zone in
other errors in the master file as it still has an in-core copy of the
old contents.
3. General Questions
Q: I want to use IPv6 locally but I don't have a external IPv6 connection.
External lookups are slow.
A: You can use server clauses to stop named making external lookups over
IPv6.
server fd81:ec6c:bd62::/48 { bogus no; }; // site ULA prefix
server ::/0 { bogus yes; };
3. Operations Questions
Q: How to change the nameservers for a zone?
A: Step 1: Ensure all nameservers, new and old, are serving the same zone
content.
Step 2: Work out the maximum TTL of the NS RRset in the parent and
child zones. This is the time it will take caches to be clear of a
particular version of the NS RRset. If you are just removing
nameservers you can skip to Step 6.
Step 3: Add new nameservers to the NS RRset for the zone and wait until
all the servers for the zone are answering with this new NS RRset.
Step 4: Inform the parent zone of the new NS RRset then wait for all
the parent servers to be answering with the new NS RRset.
Step 5: Wait for cache to be clear of the old NS RRset. See Step 2 for
how long. If you are just adding nameservers you are done.
Step 6: Remove any old nameservers from the zones NS RRset and wait for
all the servers for the zone to be serving the new NS RRset.
Step 7: Inform the parent zone of the new NS RRset then wait for all
the parent servers to be answering with the new NS RRset.
Step 8: Wait for cache to be clear of the old NS RRset. See Step 2 for
how long.
Step 9: Turn off the old nameservers or remove the zone entry from the
configuration of the old nameservers.
Step 10: Increment the serial number and wait for the change to be
visible in all nameservers for the zone. This ensures that zone
transfers are still working after the old servers are decommissioned.
Note: the above procedure is designed to be transparent to dns clients.
Decommissioning the old servers too early will result in some clients
not being able to look up answers in the zone.
Note: while it is possible to run the addition and removal stages
together it is not recommended.
4. General Questions
Q: I keep getting log messages like the following. Why?
@@ -396,8 +451,8 @@ A: Someone is trying to update your DNS data using the RFC2136 Dynamic
Update protocol. Windows 2000 machines have a habit of sending dynamic
update requests to DNS servers without being specifically configured to
do so. If the update requests are coming from a Windows 2000 machine,
see http://support.microsoft.com/support/kb/articles/q246/8/04.asp for
information about how to turn them off.
see <http://support.microsoft.com/support/kb/articles/q246/8/04.asp>
for information about how to turn them off.
Q: When I do a "dig . ns", many of the A records for the root servers are
missing. Why?
@@ -468,7 +523,7 @@ A: If the IN-ADDR.ARPA name covered refers to a internal address space you
are using then you have failed to follow RFC 1918 usage rules and are
leaking queries to the Internet. You should establish your own zones
for these addresses to prevent you querying the Internet's name servers
for these addresses. Please see http://as112.net/ for details of the
for these addresses. Please see <http://as112.net/> for details of the
problems you are causing and the counter measures that have had to be
deployed.
@@ -541,9 +596,16 @@ A: No. The BIND 9 bug database is kept closed for a number of reasons.
that have been fixed post release. That is as close as we can get to
providing a bug database.
4. Operating-System Specific Questions
Q: Why do queries for NSEC3 records fail to return the NSEC3 record?
4.1. HPUX
A: NSEC3 records are strictly meta data and can only be returned in the
authority section. This is done so that signing the zone using NSEC3
records does not bring names into existance that do not exist in the
unsigned version of the zone.
5. Operating-System Specific Questions
5.1. HPUX
Q: I get the following error trying to configure BIND:
@@ -559,7 +621,7 @@ A: You have attempted to configure BIND with the bundled C compiler. This
./configure CC=<compiler> ...
4.2. Linux
5.2. Linux
Q: Why do I get the following errors:
@@ -569,7 +631,20 @@ Q: Why do I get the following errors:
A: This is the result of a Linux kernel bug.
See: http://marc.theaimsgroup.com/?l=linux-netdev&m=113081708031466&w=2
See: <http://marc.theaimsgroup.com/?l=linux-netdev&m=113081708031466&w=
2>
Q: Why does named lock up when it attempts to connect over IPSEC tunnels?
A: This is due to a kernel bug where the fact that a socket is marked
non-blocking is ignored. It is reported that setting xfrm_larval_drop
to 1 helps but this may have negative side effects. See: <https://
bugzilla.redhat.com/show_bug.cgi?id=427629> and <http://lkml.org/lkml/
2007/12/4/260>.
xfrm_larval_drop can be set to 1 by the following procedure:
echo "1" > proc/sys/net/core/xfrm_larval_drop
Q: Why do I see 5 (or more) copies of named on Linux?
@@ -594,7 +669,12 @@ Q: I get the error message "named: capset failed: Operation not permitted"
when starting named.
A: The capability module, part of "Linux Security Modules/LSM", has not
been loaded into the kernel. See insmod(8).
been loaded into the kernel. See insmod(8), modprobe(8).
The relevant modules can be loaded by running:
modprobe commoncap
modprobe capability
Q: I'm running BIND on Red Hat Enterprise Linux or Fedora Core -
@@ -608,7 +688,7 @@ Q: I'm running BIND on Red Hat Enterprise Linux or Fedora Core -
A: Red Hat Security Enhanced Linux (SELinux) policy security protections :
Red Hat have adopted the National Security Agency's SELinux security
policy ( see http://www.nsa.gov/selinux ) and recommendations for BIND
policy (see <http://www.nsa.gov/selinux>) and recommendations for BIND
security , which are more secure than running named in a chroot and
make use of the bind-chroot environment unnecessary .
@@ -699,7 +779,19 @@ A: Red Hat Security Enhanced Linux (SELinux) policy security protections :
See these man-pages for more information : selinux(8), named_selinux
(8), chcon(1), setsebool(8)
4.3. Windows
Q: Listening on individual IPv6 interfaces does not work.
A: This is usually due to "/proc/net/if_inet6" not being available in the
chroot file system. Mount another instance of "proc" in the chroot file
system.
This can be be made permanent by adding a second instance to /etc/
fstab.
proc /proc proc defaults 0 0
proc /var/named/proc proc defaults 0 0
5.3. Windows
Q: Zone transfers from my BIND 9 master to my Windows 2000 slave fail.
Why?
@@ -725,7 +817,7 @@ A: This is the service manager saying that named exited. You need to
Directory "C:\windows\dns\etc";
};
4.4. FreeBSD
5.4. FreeBSD
Q: I have FreeBSD 4.x and "rndc-confgen -a" just sits there.
@@ -736,17 +828,17 @@ A: /dev/random is not configured. Use rndcontrol(8) to tell the kernel to
/etc/rc.conf
rand_irqs="3 14 15"
See also http://people.freebsd.org/~dougb/randomness.html
See also <http://people.freebsd.org/~dougb/randomness.html>.
4.5. Solaris
5.5. Solaris
Q: How do I integrate BIND 9 and Solaris SMF
A: Sun has a blog entry describing how to do this.
http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris
<http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris>
4.6. Apple Mac OS X
5.6. Apple Mac OS X
Q: How do I run BIND 9 on Apple Mac OS X?
+241 -12
View File
@@ -1,7 +1,7 @@
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" []>
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: FAQ.xml,v 1.4.4.16 2007/10/31 02:14:07 marka Exp $ -->
<!-- $Id: FAQ.xml,v 1.4.4.24 2008/09/10 01:32:25 tbox Exp $ -->
<article class="faq">
<title>Frequently Asked Questions about BIND 9</title>
@@ -27,6 +27,7 @@
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -390,6 +391,11 @@ named-checkzone example.com tmp</programlisting>
of input</quote> where 99 is the last line of named.conf.
</para>
</question>
<answer>
<para>
There are unbalanced quotes in named.conf.
</para>
</answer>
<answer>
<para>
Some text editors (notepad and wordpad) fail to put a line
@@ -660,9 +666,98 @@ zone "list.dsbl.org" {
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I want to use IPv6 locally but I don't have a external IPv6
connection. External lookups are slow.
</para>
</question>
<answer>
<para>
You can use server clauses to stop named making external lookups
over IPv6.
</para>
<programlisting>
server fd81:ec6c:bd62::/48 { bogus no; }; // site ULA prefix
server ::/0 { bogus yes; };
</programlisting>
</answer>
</qandaentry>
</qandadiv> <!-- Configuration and Setup Questions -->
<qandadiv><title>Operations Questions</title>
<qandaentry>
<question>
<para>
How to change the nameservers for a zone?
</para>
</question>
<answer>
<para>
Step 1: Ensure all nameservers, new and old, are serving the
same zone content.
</para>
<para>
Step 2: Work out the maximum TTL of the NS RRset in the parent and child
zones. This is the time it will take caches to be clear of a
particular version of the NS RRset.
If you are just removing nameservers you can skip to Step 6.
</para>
<para>
Step 3: Add new nameservers to the NS RRset for the zone and
wait until all the servers for the zone are answering with this
new NS RRset.
</para>
<para>
Step 4: Inform the parent zone of the new NS RRset then wait for all the
parent servers to be answering with the new NS RRset.
</para>
<para>
Step 5: Wait for cache to be clear of the old NS RRset.
See Step 2 for how long.
If you are just adding nameservers you are done.
</para>
<para>
Step 6: Remove any old nameservers from the zones NS RRset and
wait for all the servers for the zone to be serving the new NS RRset.
</para>
<para>
Step 7: Inform the parent zone of the new NS RRset then wait for all the
parent servers to be answering with the new NS RRset.
</para>
<para>
Step 8: Wait for cache to be clear of the old NS RRset.
See Step 2 for how long.
</para>
<para>
Step 9: Turn off the old nameservers or remove the zone entry from
the configuration of the old nameservers.
</para>
<para>
Step 10: Increment the serial number and wait for the change to
be visible in all nameservers for the zone. This ensures that
zone transfers are still working after the old servers are
decommissioned.
</para>
<para>
Note: the above procedure is designed to be transparent
to dns clients. Decommissioning the old servers too early
will result in some clients not being able to look up
answers in the zone.
</para>
<para>
Note: while it is possible to run the addition and removal
stages together it is not recommended.
</para>
</answer>
</qandaentry>
</qandadiv> <!-- Operations Questions -->
<qandadiv><title>General Questions</title>
<qandaentry>
@@ -705,8 +800,7 @@ zone "list.dsbl.org" {
requests are coming from a Windows 2000 machine, see
<ulink
url="http://support.microsoft.com/support/kb/articles/q246/8/04.asp">
http://support.microsoft.com/support/kb/articles/q246/8/04.asp
</ulink>
&lt;http://support.microsoft.com/support/kb/articles/q246/8/04.asp&gt;</ulink>
for information about how to turn them off.
</para>
</answer>
@@ -856,7 +950,7 @@ serial-query-rate 5; // default 20</programlisting>
usage rules and are leaking queries to the Internet. You
should establish your own zones for these addresses to prevent
you querying the Internet's name servers for these addresses.
Please see <ulink url="http://as112.net/">http://as112.net/</ulink>
Please see <ulink url="http://as112.net/">&lt;http://as112.net/&gt;</ulink>
for details of the problems you are causing and the counter
measures that have had to be deployed.
</para>
@@ -962,6 +1056,23 @@ empty:
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Why do queries for NSEC3 records fail to return the NSEC3 record?
</para>
</question>
<answer>
<para>
NSEC3 records are strictly meta data and can only be
returned in the authority section. This is done so that
signing the zone using NSEC3 records does not bring names
into existance that do not exist in the unsigned version
of the zone.
</para>
</answer>
</qandaentry>
</qandadiv> <!-- General Questions -->
<qandadiv><title>Operating-System Specific Questions</title>
@@ -1009,7 +1120,31 @@ client: UDP client handler shutting down due to fatal receive error: unexpected
</para>
<para>
See:
<ulink url="http://marc.theaimsgroup.com/?l=linux-netdev&amp;m=113081708031466&amp;w=2">http://marc.theaimsgroup.com/?l=linux-netdev&amp;m=113081708031466&amp;w=2</ulink>
<ulink url="http://marc.theaimsgroup.com/?l=linux-netdev&amp;m=113081708031466&amp;w=2">&lt;http://marc.theaimsgroup.com/?l=linux-netdev&amp;m=113081708031466&amp;w=2&gt;</ulink>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Why does named lock up when it attempts to connect over IPSEC tunnels?
</para>
</question>
<answer>
<para>
This is due to a kernel bug where the fact that a socket is marked
non-blocking is ignored. It is reported that setting
xfrm_larval_drop to 1 helps but this may have negative side effects.
See:
<ulink url="https://bugzilla.redhat.com/show_bug.cgi?id=427629">&lt;https://bugzilla.redhat.com/show_bug.cgi?id=427629&gt;</ulink>
and
<ulink url="http://lkml.org/lkml/2007/12/4/260">&lt;http://lkml.org/lkml/2007/12/4/260&gt;</ulink>.
</para>
<para>
xfrm_larval_drop can be set to 1 by the following procedure:
<programlisting>
echo "1" &gt; proc/sys/net/core/xfrm_larval_drop</programlisting>
</para>
</answer>
</qandaentry>
@@ -1064,7 +1199,13 @@ client: UDP client handler shutting down due to fatal receive error: unexpected
<answer>
<para>
The capability module, part of "Linux Security Modules/LSM",
has not been loaded into the kernel. See insmod(8).
has not been loaded into the kernel. See insmod(8), modprobe(8).
</para>
<para>
The relevant modules can be loaded by running:
<programlisting>
modprobe commoncap
modprobe capability</programlisting>
</para>
</answer>
</qandaentry>
@@ -1094,8 +1235,9 @@ client: UDP client handler shutting down due to fatal receive error: unexpected
<para>
Red Hat have adopted the National Security Agency's
SELinux security policy ( see http://www.nsa.gov/selinux
) and recommendations for BIND security , which are more
SELinux security policy (see <ulink
url="http://www.nsa.gov/selinux">&lt;http://www.nsa.gov/selinux&gt;</ulink>)
and recommendations for BIND security , which are more
secure than running named in a chroot and make use of
the bind-chroot environment unnecessary .
</para>
@@ -1233,6 +1375,30 @@ named_cache_t: for files modifiable by named - $ROOTDIR/var/{tmp,named/{slaves,d
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
Listening on individual IPv6 interfaces does not work.
</para>
</question>
<answer>
<para>
This is usually due to "/proc/net/if_inet6" not being available
in the chroot file system. Mount another instance of "proc"
in the chroot file system.
</para>
<para>
This can be be made permanent by adding a second instance to
/etc/fstab.
<informalexample>
<programlisting>
proc /proc proc defaults 0 0
proc /var/named/proc proc defaults 0 0</programlisting>
</informalexample>
</para>
</answer>
</qandaentry>
</qandadiv> <!-- Linux -->
@@ -1310,8 +1476,7 @@ rand_irqs="3 14 15"</programlisting>
<para>
See also
<ulink url="http://people.freebsd.org/~dougb/randomness.html">
http://people.freebsd.org/~dougb/randomness.html
</ulink>
&lt;http://people.freebsd.org/~dougb/randomness.html&gt;</ulink>.
</para>
</answer>
</qandaentry>
@@ -1333,12 +1498,76 @@ rand_irqs="3 14 15"</programlisting>
<para>
<ulink
url="http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris">
http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris
&lt;http://blogs.sun.com/roller/page/anay/Weblog?catname=%2FSolaris&gt;
</ulink>
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv><title>Apple Mac OS X</title>
<qandaentry>
<question>
<para>
How do I run BIND 9 on Apple Mac OS X?
</para>
</question>
<answer>
<para>
If you run Tiger(Mac OS 10.4) or later then this is all you need to do:
</para>
<informalexample>
<programlisting>
% sudo rndc-confgen > /etc/rndc.conf</programlisting>
</informalexample>
<para>
Copy the key statement from /etc/rndc.conf into /etc/rndc.key, e.g.:
</para>
<informalexample>
<programlisting>
key "rndc-key" {
algorithm hmac-md5;
secret "uvceheVuqf17ZwIcTydddw==";
};</programlisting>
</informalexample>
<para>
Then start the relevant service:
</para>
<informalexample>
<programlisting>
% sudo service org.isc.named start</programlisting>
</informalexample>
<para>
This is persistent upon a reboot, so you will have to do it only once.
</para>
</answer>
<answer>
<para>
Alternatively you can just generate /etc/rndc.key by running:
</para>
<informalexample>
<programlisting>
% sudo rndc-confgen -a</programlisting>
</informalexample>
<para>
Then start the relevant service:
</para>
<informalexample>
<programlisting>
% sudo service org.isc.named start</programlisting>
</informalexample>
<para>
Named will look for /etc/rndc.key when it starts if it
doesn't have a controls section or the existing controls are
missing keys sub-clauses. This is persistent upon a
reboot, so you will have to do it only once.
</para>
</answer>
</qandaentry>
</qandadiv>
</qandadiv> <!-- Operating-System Specific Questions -->
+26 -7
View File
@@ -42,6 +42,9 @@ BIND 9
Stichting NLnet - NLnet Foundation
Nominum, Inc.
BIND 9.4.3
BIND 9.4.3 is a maintenance release, fixing bugs in 9.4.2.
BIND 9.4.2
@@ -355,7 +358,7 @@ BIND 9.2.0
This does not apply to the use of TSIG, which does not
require OpenSSL.
- The source distribution now builds on Windows NT/2000.
- The source distribution now builds on Windows.
See win32utils/readme1.txt and win32utils/win32-build.txt
for details.
@@ -404,11 +407,8 @@ BIND 9.2.0
--with-libtool does not work on AIX.
--with-libtool does not work on SunOS 4. configure
requires "printf" which is not available.
A bug in the Windows 2000 DNS server can cause zone transfers
from a BIND 9 server to a W2K server to fail. For details,
A bug in some versions of the Microsoft DNS server can cause zone
transfers from a BIND 9 server to a W2K server to fail. For details,
see the "Zone Transfers" section in doc/misc/migration.
For a detailed list of user-visible changes from
@@ -428,7 +428,11 @@ Building
NetBSD 1.5
Slackware Linux 8.1
Solaris 8, 9, 9 (x86)
Windows NT/2000/XP/2003
Windows XP/2003/2008
NOTE: As of BIND 9.5.1, 9.4.3, and 9.3.6, older versions of
Windows, including Windows NT and Windows 2000, are no longer
supported.
Additionally, we have unverified reports of success building
previous versions of BIND 9 from users of the following systems:
@@ -482,6 +486,14 @@ Building
-DNS_CLIENT_DROPPORT=0
Disable support for "rrset-order fixed".
-DDNS_RDATASET_FIXED=0
Sibling glue checking in named-checkzone is enabled by default.
To disable the default check set. -DCHECK_SIBLING=0
named-checkzone checks out-of-zone addresses by default.
To disable this default set. -DCHECK_LOCAL=0
Enable workaround for Solaris kernel bug about /dev/poll
-DISC_SOCKET_USE_POLLWATCH=1
The watch timeout is also configurable, e.g.,
-DISC_SOCKET_POLLWATCH_TIMEOUT=20
LDFLAGS
Linker flags. Defaults to empty string.
@@ -510,6 +522,10 @@ Building
To build libbind (the BIND 8 resolver library), specify
"--enable-libbind" on the configure command line.
On some platforms it is necessary to explictly request large
file support to handle files bigger than 2GB. This can be
done by "--enable-largefile" on the configure command line.
On some platforms, BIND 9 can be built with multithreading
support, allowing it to take advantage of multiple CPUs.
You can specify whether to build a multithreaded BIND 9
@@ -559,6 +575,9 @@ Building
on your system, and some require Perl; see bin/tests/system/README
for details.
SunOS 4 requires "printf" to be installed to make the shared
libraries. sh-utils-1.16 provides a "printf" which compiles
on SunOS 4.
Documentation
+2
View File
@@ -0,0 +1,2 @@
sinclude(./libtool.m4)dnl
+24 -7
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: check-tool.c,v 1.10.18.18 2007/09/13 05:04:01 each Exp $ */
/* $Id: check-tool.c,v 1.10.18.20 2008/10/24 01:43:17 tbox Exp $ */
/*! \file */
@@ -46,6 +46,14 @@
#include <isccfg/log.h>
#ifndef CHECK_SIBLING
#define CHECK_SIBLING 1
#endif
#ifndef CHECK_LOCAL
#define CHECK_LOCAL 1
#endif
#ifdef HAVE_ADDRINFO
#ifdef HAVE_GETADDRINFO
#ifdef HAVE_GAISTRERROR
@@ -59,20 +67,29 @@
result = (r); \
if (result != ISC_R_SUCCESS) \
goto cleanup; \
} while (0)
} while (0)
static const char *dbtype[] = { "rbt" };
int debug = 0;
isc_boolean_t nomerge = ISC_TRUE;
#if CHECK_LOCAL
isc_boolean_t docheckmx = ISC_TRUE;
isc_boolean_t dochecksrv = ISC_TRUE;
isc_boolean_t docheckns = ISC_TRUE;
unsigned int zone_options = DNS_ZONEOPT_CHECKNS |
#else
isc_boolean_t docheckmx = ISC_FALSE;
isc_boolean_t dochecksrv = ISC_FALSE;
isc_boolean_t docheckns = ISC_FALSE;
#endif
unsigned int zone_options = DNS_ZONEOPT_CHECKNS |
DNS_ZONEOPT_CHECKMX |
DNS_ZONEOPT_MANYERRORS |
DNS_ZONEOPT_CHECKNAMES |
DNS_ZONEOPT_CHECKINTEGRITY |
#if CHECK_SIBLING
DNS_ZONEOPT_CHECKSIBLING |
#endif
DNS_ZONEOPT_CHECKWILDCARD |
DNS_ZONEOPT_WARNMXCNAME |
DNS_ZONEOPT_WARNSRVCNAME;
@@ -125,7 +142,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
switch (result) {
@@ -297,7 +314,7 @@ checkmx(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
switch (result) {
@@ -370,7 +387,7 @@ checksrv(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner) {
if (dns_name_countlabels(name) > 1U)
strcat(namebuf, ".");
dns_name_format(owner, ownerbuf, sizeof(ownerbuf));
result = getaddrinfo(namebuf, NULL, &hints, &ai);
dns_name_format(name, namebuf, sizeof(namebuf) - 1);
switch (result) {
+5 -4
View File
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkconf.c,v 1.28.18.14 2006/02/28 03:10:47 marka Exp $ */
/* $Id: named-checkconf.c,v 1.28.18.16 2007/11/26 23:46:18 tbox Exp $ */
/*! \file */
@@ -224,7 +224,8 @@ configure_zone(const char *vclass, const char *view,
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
else
zone_options &= ~DNS_ZONEOPT_CHECKINTEGRITY;
}
} else
zone_options |= DNS_ZONEOPT_CHECKINTEGRITY;
obj = NULL;
if (get_maps(maps, "check-mx-cname", &obj)) {
+6 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named-checkzone.c,v 1.29.18.19 2007/08/28 07:19:55 tbox Exp $ */
/* $Id: named-checkzone.c,v 1.29.18.21 2008/10/24 01:43:17 tbox Exp $ */
/*! \file */
@@ -77,8 +77,9 @@ usage(void) {
"[-f inputformat] [-F outputformat] "
"[-t directory] [-w directory] [-k (ignore|warn|fail)] "
"[-n (ignore|warn|fail)] [-m (ignore|warn|fail)] "
"[-i (full|local|none)] [-M (ignore|warn|fail)] "
"[-S (ignore|warn|fail)] [-W (ignore|warn)] "
"[-i (full|full-sibling|local|local-sibling|none)] "
"[-M (ignore|warn|fail)] [-S (ignore|warn|fail)] "
"[-W (ignore|warn)] "
"zonename filename\n", prog_name);
exit(1);
}
@@ -227,7 +228,7 @@ main(int argc, char **argv) {
zone_options &= ~DNS_ZONEOPT_FATALNS;
} else if (ARGCMP("fail")) {
zone_options |= DNS_ZONEOPT_CHECKNS|
DNS_ZONEOPT_FATALNS;
DNS_ZONEOPT_FATALNS;
} else {
fprintf(stderr, "invalid argument to -n: %s\n",
isc_commandline_argument);
+13 -7
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dig.1,v 1.23.18.22 2007/05/16 06:11:27 marka Exp $
.\" $Id: dig.1,v 1.23.18.24 2008/10/14 01:30:11 tbox Exp $
.\"
.hy 0
.ad l
@@ -33,7 +33,7 @@
dig \- DNS lookup utility
.SH "SYNOPSIS"
.HP 4
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [name] [type] [class] [queryopt...]
\fBdig\fR [@server] [\fB\-b\ \fR\fB\fIaddress\fR\fR] [\fB\-c\ \fR\fB\fIclass\fR\fR] [\fB\-f\ \fR\fB\fIfilename\fR\fR] [\fB\-k\ \fR\fB\fIfilename\fR\fR] [\fB\-m\fR] [\fB\-p\ \fR\fB\fIport#\fR\fR] [\fB\-q\ \fR\fB\fIname\fR\fR] [\fB\-t\ \fR\fB\fItype\fR\fR] [\fB\-x\ \fR\fB\fIaddr\fR\fR] [\fB\-y\ \fR\fB\fI[hmac:]\fR\fIname:key\fR\fR] [\fB\-4\fR] [\fB\-6\fR] [name] [type] [class] [queryopt...]
.HP 4
\fBdig\fR [\fB\-h\fR]
.HP 4
@@ -59,7 +59,9 @@ Unless it is told to query a specific name server,
will try each of the servers listed in
\fI/etc/resolv.conf\fR.
.PP
When no command line arguments or options are given, will perform an NS query for "." (the root).
When no command line arguments or options are given,
\fBdig\fR
will perform an NS query for "." (the root).
.PP
It is possible to set per\-user defaults for
\fBdig\fR
@@ -70,9 +72,9 @@ The IN and CH class names overlap with the IN and CH top level domains names. Ei
\fB\-t\fR
and
\fB\-c\fR
options to specify the type and class or use the
options to specify the type and class, use the
\fB\-q\fR
the specify the domain name or use "IN." and "CH." when looking up these top level domains.
the specify the domain name, or use "IN." and "CH." when looking up these top level domains.
.SH "SIMPLE USAGE"
.PP
A typical invocation of
@@ -139,6 +141,10 @@ operate in batch mode by reading a list of lookup requests to process from the f
\fBdig\fR
using the command\-line interface.
.PP
The
\fB\-m\fR
option enables memory usage debugging.
.PP
If a non\-standard port number is to be queried, the
\fB\-p\fR
option is used.
@@ -551,7 +557,7 @@ RFC1035.
.PP
There are probably too many query options.
.SH "COPYRIGHT"
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
+30 -29
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dig.c,v 1.186.18.29 2007/08/28 07:19:55 tbox Exp $ */
/* $Id: dig.c,v 1.186.18.33 2008/10/15 02:19:18 marka Exp $ */
/*! \file */
@@ -50,7 +50,7 @@
#define ADD_STRING(b, s) { \
if (strlen(s) >= isc_buffer_availablelength(b)) \
return (ISC_R_NOSPACE); \
return (ISC_R_NOSPACE); \
else \
isc_buffer_putstr(b, s); \
}
@@ -71,7 +71,7 @@ static isc_boolean_t short_form = ISC_FALSE, printcmd = ISC_TRUE,
multiline = ISC_FALSE, nottl = ISC_FALSE, noclass = ISC_FALSE;
/*% opcode text */
static const char *opcodetext[] = {
static const char * const opcodetext[] = {
"QUERY",
"IQUERY",
"STATUS",
@@ -91,7 +91,7 @@ static const char *opcodetext[] = {
};
/*% return code text */
static const char *rcodetext[] = {
static const char * const rcodetext[] = {
"NOERROR",
"FORMERR",
"SERVFAIL",
@@ -144,8 +144,8 @@ help(void) {
" q-type is one of (a,any,mx,ns,soa,hinfo,axfr,txt,...) [default:a]\n"
" (Use ixfr=version for type ixfr)\n"
" q-opt is one of:\n"
" -x dot-notation (shortcut for in-addr lookups)\n"
" -i (IP6.INT reverse IPv6 lookups)\n"
" -x dot-notation (shortcut for reverse lookups)\n"
" -i (use IP6.INT for IPv6 reverse lookups)\n"
" -f filename (batch mode)\n"
" -b address[#port] (bind to source address/port)\n"
" -p port (specify port number)\n"
@@ -156,6 +156,7 @@ help(void) {
" -y [hmac:]name:key (specify named base64 tsig key)\n"
" -4 (use IPv4 query transport only)\n"
" -6 (use IPv6 query transport only)\n"
" -m (enable memory usage debugging)\n"
" d-opt is of the form +keyword[=value], where keyword is:\n"
" +[no]vc (TCP mode)\n"
" +[no]tcp (TCP mode, alternate syntax)\n"
@@ -383,7 +384,7 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
else if (nottl || noclass)
result = dns_master_stylecreate(&style, styleflags,
24, 24, 32, 40, 80, 8, mctx);
else
else
result = dns_master_stylecreate(&style, styleflags,
24, 32, 40, 48, 80, 8, mctx);
check_result(result, "dns_master_stylecreate");
@@ -392,7 +393,7 @@ printrdataset(dns_name_t *owner_name, dns_rdataset_t *rdataset,
if (style != NULL)
dns_master_styledestroy(&style, mctx);
return(result);
}
#endif
@@ -429,7 +430,7 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
else if (nottl || noclass)
result = dns_master_stylecreate(&style, styleflags,
24, 24, 32, 40, 80, 8, mctx);
else
else
result = dns_master_stylecreate(&style, styleflags,
24, 32, 40, 48, 80, 8, mctx);
check_result(result, "dns_master_stylecreate");
@@ -638,7 +639,7 @@ printgreeting(int argc, char **argv, dig_lookup_t *lookup) {
strncat(lookup->cmdline, append, remaining);
}
if (first) {
snprintf(append, sizeof(append),
snprintf(append, sizeof(append),
";; global options: %s %s\n",
short_form ? "short_form" : "",
printcmd ? "printcmd" : "");
@@ -716,7 +717,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
FULLCHECK2("aaonly", "aaflag");
lookup->aaonly = state;
break;
case 'd':
case 'd':
switch (cmd[2]) {
case 'd': /* additional */
FULLCHECK("additional");
@@ -801,13 +802,13 @@ plus_option(char *option, isc_boolean_t is_batchfile,
FULLCHECK("defname");
usesearch = state;
break;
case 'n': /* dnssec */
case 'n': /* dnssec */
FULLCHECK("dnssec");
if (state && lookup->edns == -1)
lookup->edns = 0;
lookup->dnssec = state;
break;
case 'o': /* domain */
case 'o': /* domain */
FULLCHECK("domain");
if (value == NULL)
goto need_value;
@@ -881,7 +882,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
goto invalid_option;
}
break;
case 'q':
case 'q':
switch (cmd[1]) {
case 'r': /* qr */
FULLCHECK("qr");
@@ -957,11 +958,11 @@ plus_option(char *option, isc_boolean_t is_batchfile,
break;
#ifdef DIG_SIGCHASE
case 'i': /* sigchase */
FULLCHECK("sigchase");
FULLCHECK("sigchase");
lookup->sigchase = state;
if (lookup->sigchase)
lookup->dnssec = ISC_TRUE;
break;
break;
#endif
case 't': /* stats */
FULLCHECK("stats");
@@ -989,7 +990,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
timeout = 1;
break;
#if DIG_SIGCHASE_TD
case 'o': /* topdown */
case 'o': /* topdown */
FULLCHECK("topdown");
lookup->do_topdown = state;
break;
@@ -1024,7 +1025,7 @@ plus_option(char *option, isc_boolean_t is_batchfile,
#ifdef DIG_SIGCHASE
case 'u': /* trusted-key */
FULLCHECK("trusted-key");
if (value == NULL)
if (value == NULL)
goto need_value;
if (!state)
goto invalid_option;
@@ -1158,7 +1159,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
hash = strchr(value, '#');
if (hash != NULL) {
srcport = (in_port_t)
parse_uint(hash + 1,
parse_uint(hash + 1,
"port number", MAXPORT);
*hash = '\0';
} else
@@ -1211,7 +1212,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
(*lookup) = clone_lookup(default_lookup,
ISC_TRUE);
*need_clone = ISC_TRUE;
strncpy((*lookup)->textname, value,
strncpy((*lookup)->textname, value,
sizeof((*lookup)->textname));
(*lookup)->textname[sizeof((*lookup)->textname)-1]=0;
(*lookup)->trace_root = ISC_TF((*lookup)->trace ||
@@ -1250,7 +1251,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
(*lookup)->rdtypeset = ISC_TRUE;
(*lookup)->ixfr_serial =
parse_uint(&value[5], "serial number",
MAXSERIAL);
MAXSERIAL);
(*lookup)->section_question = plusquest;
(*lookup)->comments = pluscomm;
} else {
@@ -1276,7 +1277,7 @@ dash_option(char *option, char *next, dig_lookup_t **lookup,
if (ptr2 == NULL)
usage();
ptr3 = next_token(&value,":"); /* secret or NULL */
if (ptr3 != NULL) {
if (ptr3 != NULL) {
if (strcasecmp(ptr, "hmac-md5") == 0) {
hmacname = DNS_TSIG_HMACMD5_NAME;
digestbits = 0;
@@ -1425,7 +1426,7 @@ getaddresses(dig_lookup_t *lookup, const char *host) {
char tmp[ISC_NETADDR_FORMATSIZE];
result = bind9_getaddresses(host, 0, sockaddrs,
DIG_MAX_ADDRESSES, &count);
DIG_MAX_ADDRESSES, &count);
if (result != ISC_R_SUCCESS)
fatal("couldn't get address for '%s': %s",
host, isc_result_totext(result));
@@ -1487,7 +1488,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
if (homedir != NULL) {
unsigned int n;
n = snprintf(rcfile, sizeof(rcfile), "%s/.digrc",
homedir);
homedir);
if (n < sizeof(rcfile))
batchfp = fopen(rcfile, "r");
}
@@ -1567,7 +1568,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
tr.base = rv[0];
tr.length = strlen(rv[0]);
result = dns_rdatatype_fromtext(&rdtype,
(isc_textregion_t *)&tr);
(isc_textregion_t *)&tr);
if (result == ISC_R_SUCCESS &&
rdtype == dns_rdatatype_ixfr) {
result = DNS_R_UNKNOWN;
@@ -1588,8 +1589,8 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
lookup->rdtypeset = ISC_TRUE;
lookup->ixfr_serial =
parse_uint(&rv[0][5],
"serial number",
MAXSERIAL);
"serial number",
MAXSERIAL);
lookup->section_question =
plusquest;
lookup->comments = pluscomm;
@@ -1624,7 +1625,7 @@ parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
lookup = clone_lookup(default_lookup,
ISC_TRUE);
need_clone = ISC_TRUE;
strncpy(lookup->textname, rv[0],
strncpy(lookup->textname, rv[0],
sizeof(lookup->textname));
lookup->textname[sizeof(lookup->textname)-1]=0;
lookup->trace_root = ISC_TF(lookup->trace ||
+14 -6
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dig.docbook,v 1.17.18.21 2007/08/28 07:19:55 tbox Exp $ -->
<!-- $Id: dig.docbook,v 1.17.18.24 2008/10/14 00:54:40 marka Exp $ -->
<refentry id="man.dig">
<refentryinfo>
@@ -42,6 +42,7 @@
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -61,6 +62,7 @@
<arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
<arg><option>-f <replaceable class="parameter">filename</replaceable></option></arg>
<arg><option>-k <replaceable class="parameter">filename</replaceable></option></arg>
<arg><option>-m</option></arg>
<arg><option>-p <replaceable class="parameter">port#</replaceable></option></arg>
<arg><option>-q <replaceable class="parameter">name</replaceable></option></arg>
<arg><option>-t <replaceable class="parameter">type</replaceable></option></arg>
@@ -118,8 +120,8 @@
</para>
<para>
When no command line arguments or options are given, will perform an
NS query for "." (the root).
When no command line arguments or options are given,
<command>dig</command> will perform an NS query for "." (the root).
</para>
<para>
@@ -132,8 +134,8 @@
<para>
The IN and CH class names overlap with the IN and CH top level
domains names. Either use the <option>-t</option> and
<option>-c</option> options to specify the type and class or
use the <option>-q</option> the specify the domain name or
<option>-c</option> options to specify the type and class,
use the <option>-q</option> the specify the domain name, or
use "IN." and "CH." when looking up these top level domains.
</para>
@@ -230,6 +232,12 @@
<command>dig</command> using the command-line interface.
</para>
<para>
The <option>-m</option> option enables memory usage debugging.
<!-- It enables ISC_MEM_DEBUGTRACE and ISC_MEM_DEBUGRECORD
documented in include/isc/mem.h -->
</para>
<para>
If a non-standard port number is to be queried, the
<option>-p</option> option is used. <parameter>port#</parameter> is
+20 -16
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dig.html,v 1.13.18.28 2007/05/16 06:11:27 marka Exp $ -->
<!-- $Id: dig.html,v 1.13.18.30 2008/10/14 01:30:11 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -29,12 +29,12 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] [name] [type] [class] [queryopt...]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-m</code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] [name] [type] [class] [queryopt...]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [<code class="option">-h</code>]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543508"></a><h2>DESCRIPTION</h2>
<a name="id2543515"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dig</strong></span>
(domain information groper) is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and
@@ -62,8 +62,8 @@
<code class="filename">/etc/resolv.conf</code>.
</p>
<p>
When no command line arguments or options are given, will perform an
NS query for "." (the root).
When no command line arguments or options are given,
<span><strong class="command">dig</strong></span> will perform an NS query for "." (the root).
</p>
<p>
It is possible to set per-user defaults for <span><strong class="command">dig</strong></span> via
@@ -74,13 +74,13 @@
<p>
The IN and CH class names overlap with the IN and CH top level
domains names. Either use the <code class="option">-t</code> and
<code class="option">-c</code> options to specify the type and class or
use the <code class="option">-q</code> the specify the domain name or
<code class="option">-c</code> options to specify the type and class,
use the <code class="option">-q</code> the specify the domain name, or
use "IN." and "CH." when looking up these top level domains.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543577"></a><h2>SIMPLE USAGE</h2>
<a name="id2543589"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
@@ -126,7 +126,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543668"></a><h2>OPTIONS</h2>
<a name="id2543680"></a><h2>OPTIONS</h2>
<p>
The <code class="option">-b</code> option sets the source IP address of the query
to <em class="parameter"><code>address</code></em>. This must be a valid
@@ -151,6 +151,10 @@
the same way they would be presented as queries to
<span><strong class="command">dig</strong></span> using the command-line interface.
</p>
<p>
The <code class="option">-m</code> option enables memory usage debugging.
</p>
<p>
If a non-standard port number is to be queried, the
<code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
@@ -226,7 +230,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543939"></a><h2>QUERY OPTIONS</h2>
<a name="id2544028"></a><h2>QUERY OPTIONS</h2>
<p><span><strong class="command">dig</strong></span>
provides a number of query options which affect
the way in which lookups are made and the results displayed. Some of
@@ -545,7 +549,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545128"></a><h2>MULTIPLE QUERIES</h2>
<a name="id2545149"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports
@@ -591,7 +595,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545258"></a><h2>IDN SUPPORT</h2>
<a name="id2545211"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
@@ -605,14 +609,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545281"></a><h2>FILES</h2>
<a name="id2545234"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
<p><code class="filename">${HOME}/.digrc</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545298"></a><h2>SEE ALSO</h2>
<a name="id2545251"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
@@ -620,7 +624,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545335"></a><h2>BUGS</h2>
<a name="id2545356"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>
+119 -116
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dighost.c,v 1.259.18.43.10.3 2008/07/23 23:16:43 marka Exp $ */
/* $Id: dighost.c,v 1.259.18.49 2008/07/23 23:33:02 marka Exp $ */
/*! \file
* \note
@@ -277,7 +277,7 @@ dns_name_t chase_name; /* the query name */
/*
* the current name is the parent name when we follow delegation
*/
dns_name_t chase_current_name;
dns_name_t chase_current_name;
/*
* the child name is used for delegation (NS DS responses in AUTHORITY section)
*/
@@ -493,6 +493,7 @@ void
fatal(const char *format, ...) {
va_list args;
fflush(stdout);
fprintf(stderr, "%s: ", progname);
va_start(args, format);
vfprintf(stderr, format, args);
@@ -510,6 +511,7 @@ debug(const char *format, ...) {
va_list args;
if (debugging) {
fflush(stdout);
va_start(args, format);
vfprintf(stderr, format, args);
va_end(args);
@@ -616,13 +618,13 @@ set_nameserver(char *opt) {
return;
result = bind9_getaddresses(opt, 0, sockaddrs,
DIG_MAX_ADDRESSES, &count);
DIG_MAX_ADDRESSES, &count);
if (result != ISC_R_SUCCESS)
fatal("couldn't get address for '%s': %s",
opt, isc_result_totext(result));
flush_server_list();
for (i = 0; i < count; i++) {
isc_netaddr_fromsockaddr(&netaddr, &sockaddrs[i]);
isc_netaddr_format(&netaddr, tmp, sizeof(tmp));
@@ -891,7 +893,7 @@ setup_text_key(void) {
result = isc_base64_decodestring(keysecret, &secretbuf);
if (result != ISC_R_SUCCESS)
goto failure;
secretsize = isc_buffer_usedlength(&secretbuf);
result = dns_name_fromtext(&keyname, namebuf,
@@ -1025,7 +1027,7 @@ setup_system(void) {
domain = NULL;
}
}
if (ndots == -1) {
ndots = lwconf->ndots;
debug("ndots is %d.", ndots);
@@ -1088,7 +1090,7 @@ clear_searchlist(void) {
void
set_search_domain(char *domain) {
dig_searchlist_t *search;
clear_searchlist();
search = make_searchlist_entry(domain);
ISC_LIST_APPEND(search_list, search, link);
@@ -1409,7 +1411,7 @@ start_lookup(void) {
current_lookup->qrdtype_sigchase
= current_lookup->qrdtype;
current_lookup->qrdtype = dns_rdatatype_ns;
current_lookup->rdclass_sigchase
= current_lookup->rdclass;
current_lookup->rdclass_sigchaseset
@@ -1490,7 +1492,7 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
INSIST(!free_now);
debug("following up %s", query->lookup->textname);
for (result = dns_message_firstname(msg, section);
result == ISC_R_SUCCESS;
result = dns_message_nextname(msg, section)) {
@@ -1545,7 +1547,8 @@ followup_lookup(dns_message_t *msg, dig_query_t *query, dns_section_t section)
dns_rdataset_current(rdataset, &rdata);
query->lookup->nsfound++;
(void)dns_rdata_tostruct(&rdata, &ns, NULL);
result = dns_rdata_tostruct(&rdata, &ns, NULL);
check_result(result, "dns_rdata_tostruct");
dns_name_format(&ns.name, namestr, sizeof(namestr));
dns_rdata_freestruct(&ns);
@@ -1845,7 +1848,7 @@ setup_lookup(dig_lookup_t *lookup) {
&lookup->name);
dns_message_puttempname(lookup->sendmsg,
&lookup->oname);
fatal("'%s' is not in legal name syntax (%s)",
fatal("Origin '%s' is not in legal name syntax (%s)",
lookup->origin->origin,
isc_result_totext(result));
}
@@ -2089,7 +2092,7 @@ send_done(isc_task_t *_task, isc_event_t *event) {
for (b = ISC_LIST_HEAD(sevent->bufferlist);
b != NULL;
b = ISC_LIST_HEAD(sevent->bufferlist))
b = ISC_LIST_HEAD(sevent->bufferlist))
ISC_LIST_DEQUEUE(sevent->bufferlist, b, link);
query = event->ev_arg;
@@ -2169,7 +2172,7 @@ bringup_timer(dig_query_t *query, unsigned int default_timeout) {
&l->interval, global_task, connect_timeout,
l, &l->timer);
check_result(result, "isc_timer_create");
}
}
static void
connect_done(isc_task_t *task, isc_event_t *event);
@@ -2191,7 +2194,7 @@ send_tcp_connect(dig_query_t *query) {
query->waiting_connect = ISC_TRUE;
query->lookup->current_query = query;
get_address(query->servname, port, &query->sockaddr);
if (specified_source &&
(isc_sockaddr_pf(&query->sockaddr) !=
isc_sockaddr_pf(&bind_address))) {
@@ -2663,7 +2666,8 @@ check_for_more_data(dig_query_t *query, dns_message_t *msg,
goto next_rdata;
/* Now we have an SOA. Work with it. */
debug("got an SOA");
(void)dns_rdata_tostruct(&rdata, &soa, NULL);
result = dns_rdata_tostruct(&rdata, &soa, NULL);
check_result(result, "dns_rdata_tostruct");
serial = soa.serial;
dns_rdata_freestruct(&soa);
if (!query->first_soa_rcvd) {
@@ -2826,13 +2830,13 @@ recv_done(isc_task_t *task, isc_event_t *event) {
char buf2[ISC_SOCKADDR_FORMATSIZE];
isc_sockaddr_t any;
if (isc_sockaddr_pf(&query->sockaddr) == AF_INET)
if (isc_sockaddr_pf(&query->sockaddr) == AF_INET)
isc_sockaddr_any(&any);
else
isc_sockaddr_any6(&any);
/*
* We don't expect a match when the packet is
* We don't expect a match when the packet is
* sent to 0.0.0.0, :: or to a multicast addresses.
* XXXMPA broadcast needs to be handled here as well.
*/
@@ -2850,7 +2854,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
}
}
result = dns_message_peekheader(b, &id, &msgflags);
result = dns_message_peekheader(b, &id, &msgflags);
if (result != ISC_R_SUCCESS || l->sendmsg->id != id) {
match = ISC_FALSE;
if (l->tcp_mode) {
@@ -2955,7 +2959,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
return;
}
if ((msg->flags & DNS_MESSAGEFLAG_TC) != 0 &&
!l->ignore && !l->tcp_mode) {
!l->ignore && !l->tcp_mode) {
printf(";; Truncated, retrying in TCP mode.\n");
n = requeue_lookup(l, ISC_TRUE);
n->tcp_mode = ISC_TRUE;
@@ -2967,7 +2971,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
check_next_lookup(l);
UNLOCK_LOOKUP;
return;
}
}
if ((msg->rcode == dns_rcode_servfail && !l->servfail_stops) ||
(check_ra && (msg->flags & DNS_MESSAGEFLAG_RA) == 0 && l->recurse))
{
@@ -3093,7 +3097,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
if (l->trace_root) {
/*
* This is the initial NS query.
* This is the initial NS query.
*/
int n;
@@ -3108,7 +3112,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
if (!do_sigchase)
#endif
printmessage(query, msg, ISC_TRUE);
}
}
#ifdef DIG_SIGCHASE
if (do_sigchase) {
chase_msg = isc_mem_allocate(mctx,
@@ -3127,13 +3131,13 @@ recv_done(isc_task_t *task, isc_event_t *event) {
isc_buffer_usedregion(b, &r);
result = isc_buffer_allocate(mctx, &buf, r.length);
check_result(result, "isc_buffer_allocate");
result = isc_buffer_copyregion(buf, &r);
check_result(result, "isc_buffer_copyregion");
result = dns_message_parse(msg_temp, buf, 0);
isc_buffer_free(&buf);
chase_msg->msg = msg_temp;
@@ -3149,9 +3153,9 @@ recv_done(isc_task_t *task, isc_event_t *event) {
}
#endif
}
#ifdef DIG_SIGCHASE
if (l->sigchase && ISC_LIST_EMPTY(lookup_list)) {
if (l->sigchase && ISC_LIST_EMPTY(lookup_list)) {
sigchase(msg_temp);
}
#endif
@@ -3308,7 +3312,7 @@ cancel_all(void) {
*/
void
destroy_libs(void) {
#ifdef DIG_SIGCHASE
#ifdef DIG_SIGCHASE
void * ptr;
dig_message_t *chase_msg;
#endif
@@ -3348,8 +3352,8 @@ destroy_libs(void) {
clear_searchlist();
#ifdef WITH_IDN
result = dns_name_settotextfilter(NULL);
check_result(result, "dns_name_settotextfilter");
result = dns_name_settotextfilter(NULL);
check_result(result, "dns_name_settotextfilter");
#endif
dns_name_destroy();
@@ -3421,7 +3425,7 @@ destroy_libs(void) {
#endif
debug("Destroy memory");
#endif
if (memdebugging != 0)
isc_mem_stats(mctx, stderr);
@@ -3518,7 +3522,7 @@ append_textname(char *name, const char *origin, size_t namesize) {
(void)strcpy(name + namelen, origin);
return idn_success;
}
static void
idn_check_result(idn_result_t r, const char *msg) {
if (r != idn_success) {
@@ -3554,14 +3558,14 @@ void
dump_database_section(dns_message_t *msg, int section)
{
dns_name_t *msg_name=NULL;
dns_rdataset_t *rdataset;
do {
dns_message_currentname(msg, section, &msg_name);
for (rdataset = ISC_LIST_HEAD(msg_name->list); rdataset != NULL;
rdataset = ISC_LIST_NEXT(rdataset, link)) {
rdataset = ISC_LIST_NEXT(rdataset, link)) {
dns_name_print(msg_name, stdout);
printf("\n");
print_rdataset(msg_name, rdataset, mctx);
@@ -3578,15 +3582,15 @@ dump_database(void) {
for (msg = ISC_LIST_HEAD(chase_message_list); msg != NULL;
msg = ISC_LIST_NEXT(msg, link)) {
if (dns_message_firstname(msg->msg, DNS_SECTION_ANSWER)
== ISC_R_SUCCESS)
== ISC_R_SUCCESS)
dump_database_section(msg->msg, DNS_SECTION_ANSWER);
if (dns_message_firstname(msg->msg, DNS_SECTION_AUTHORITY)
== ISC_R_SUCCESS)
== ISC_R_SUCCESS)
dump_database_section(msg->msg, DNS_SECTION_AUTHORITY);
if (dns_message_firstname(msg->msg, DNS_SECTION_ADDITIONAL)
== ISC_R_SUCCESS)
== ISC_R_SUCCESS)
dump_database_section(msg->msg, DNS_SECTION_ADDITIONAL);
}
}
@@ -3616,7 +3620,7 @@ search_type(dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers) {
if ((siginfo.covered == covers) ||
(covers == dns_rdatatype_any)) {
dns_rdata_reset(&sigrdata);
dns_rdata_freestruct(&siginfo);
dns_rdata_freestruct(&siginfo);
return (rdataset);
}
dns_rdata_reset(&sigrdata);
@@ -3654,7 +3658,7 @@ chase_scanname(dns_name_t *name, dns_rdatatype_t type, dns_rdatatype_t covers)
{
dns_rdataset_t *rdataset = NULL;
dig_message_t * msg;
for (msg = ISC_LIST_HEAD(chase_message_list2); msg != NULL;
msg = ISC_LIST_NEXT(msg, link)) {
if (dns_message_firstname(msg->msg, DNS_SECTION_ANSWER)
@@ -3747,7 +3751,7 @@ insert_trustedkey(dst_key_t * key)
return;
tk_list.key[tk_list.nb_tk++] = key;
return;
return;
}
void
@@ -3770,7 +3774,7 @@ char alphnum[] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
isc_result_t
removetmpkey(isc_mem_t *mctx, const char *file)
removetmpkey(isc_mem_t *mctx, const char *file)
{
char *tempnamekey = NULL;
int tempnamekeylen;
@@ -3783,7 +3787,7 @@ removetmpkey(isc_mem_t *mctx, const char *file)
return (ISC_R_NOMEMORY);
memset(tempnamekey, 0, tempnamekeylen);
strcat(tempnamekey, file);
strcat(tempnamekey,".key");
isc_file_remove(tempnamekey);
@@ -3823,24 +3827,24 @@ opentmpkey(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) {
isc_mem_free(mctx, tempname);
return (ISC_R_FAILURE);
}
x = cp--;
while (cp >= tempname && *cp == 'X') {
isc_random_get(&which);
*cp = alphnum[which % (sizeof(alphnum) - 1)];
x = cp--;
}
tempnamekeylen = tempnamelen+5;
tempnamekey = isc_mem_allocate(mctx, tempnamekeylen);
if (tempnamekey == NULL)
return (ISC_R_NOMEMORY);
memset(tempnamekey, 0, tempnamekeylen);
strncpy(tempnamekey, tempname, tempnamelen);
strcat(tempnamekey ,".key");
if (isc_file_exists(tempnamekey)) {
isc_mem_free(mctx, tempnamekey);
isc_mem_free(mctx, tempname);
@@ -3861,7 +3865,7 @@ opentmpkey(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) {
cleanup:
isc_mem_free(mctx, tempname);
return (result);
}
@@ -3875,7 +3879,7 @@ get_trusted_key(isc_mem_t *mctx)
char buf[1500];
FILE *fp, *fptemp;
dst_key_t *key = NULL;
result = isc_file_exists(trustedkey);
if (result != ISC_TRUE) {
result = isc_file_exists("/etc/trusted-key.key");
@@ -3953,11 +3957,11 @@ nameFromString(const char *str, dns_name_t *p_ret) {
result = dns_name_dup(dns_fixedname_name(&fixedname), mctx, p_ret);
check_result(result, "nameFromString");
}
}
#if DIG_SIGCHASE_TD
isc_result_t
isc_result_t
prepare_lookup(dns_name_t *name)
{
isc_result_t result;
@@ -3975,7 +3979,7 @@ prepare_lookup(dns_name_t *name)
lookup->rdtype = lookup->rdtype_sigchase;
lookup->rdtypeset = ISC_TRUE;
lookup->qrdtype = lookup->qrdtype_sigchase;
s = ISC_LIST_HEAD(lookup->my_server_list);
while (s != NULL) {
debug("freeing server %p belonging to %p",
@@ -4008,12 +4012,11 @@ prepare_lookup(dns_name_t *name)
dns_rdataset_current(chase_nsrdataset, &rdata);
(void)dns_rdata_tostruct(&rdata, &ns, NULL);
result = dns_rdata_tostruct(&rdata, &ns, NULL);
check_result(result, "dns_rdata_tostruct");
#ifdef __FOLLOW_GLUE__
result = advanced_rrsearch(&rdataset, &ns.name,
dns_rdatatype_aaaa,
dns_rdatatype_any, &true);
@@ -4037,12 +4040,12 @@ prepare_lookup(dns_name_t *name)
srv = make_server(namestr, namestr);
ISC_LIST_APPEND(lookup->my_server_list,
srv, link);
}
}
rdataset = NULL;
result = advanced_rrsearch(&rdataset, &ns.name, dns_rdatatype_a,
dns_rdatatype_any, &true);
@@ -4064,28 +4067,28 @@ prepare_lookup(dns_name_t *name)
isc_buffer_free(&b);
dns_rdata_reset(&a);
printf("ns name: %s\n", namestr);
srv = make_server(namestr, namestr);
ISC_LIST_APPEND(lookup->my_server_list,
srv, link);
}
}
#else
dns_name_format(&ns.name, namestr, sizeof(namestr));
printf("ns name: ");
dns_name_print(&ns.name, stdout);
printf("\n");
srv = make_server(namestr, namestr);
ISC_LIST_APPEND(lookup->my_server_list, srv, link);
#endif
#endif
dns_rdata_freestruct(&ns);
dns_rdata_reset(&rdata);
}
ISC_LIST_APPEND(lookup_list, lookup, link);
@@ -4139,10 +4142,10 @@ grandfather_pb_test(dns_name_t *zone_name, dns_rdataset_t *sigrdataset)
do {
dns_rdataset_current(sigrdataset, &sigrdata);
result = dns_rdata_tostruct(&sigrdata, &siginfo, NULL);
check_result(result, "sigrdata tostruct siginfo");
if (dns_name_compare(&siginfo.signer, zone_name) == 0) {
dns_rdata_freestruct(&siginfo);
dns_rdata_reset(&sigrdata);
@@ -4150,7 +4153,7 @@ grandfather_pb_test(dns_name_t *zone_name, dns_rdataset_t *sigrdataset)
}
dns_rdata_freestruct(&siginfo);
} while (dns_rdataset_next(chase_sigkeyrdataset) == ISC_R_SUCCESS);
dns_rdata_reset(&sigrdata);
@@ -4180,7 +4183,7 @@ initialization(dns_name_t *name)
return (ISC_R_SUCCESS);
}
#endif
#endif
void
print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset, isc_mem_t *mctx)
@@ -4204,10 +4207,10 @@ print_rdataset(dns_name_t *name, dns_rdataset_t *rdataset, isc_mem_t *mctx)
}
void
void
dup_name(dns_name_t *source, dns_name_t *target, isc_mem_t *mctx) {
isc_result_t result;
isc_result_t result;
if (dns_name_dynamic(target))
free_name(target, mctx);
result = dns_name_dup(source, mctx, target);
@@ -4226,7 +4229,7 @@ free_name(dns_name_t *name, isc_mem_t *mctx) {
* return ISC_R_SUCCESS if the DNSKEY RRset contains a trusted_key
* and the RRset is valid
* return ISC_R_NOTFOUND if not contains trusted key
or if the RRset isn't valid
or if the RRset isn't valid
* return ISC_R_FAILURE if problem
*
*/
@@ -4251,17 +4254,17 @@ contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
do {
dns_rdataset_current(rdataset, &rdata);
INSIST(rdata.type == dns_rdatatype_dnskey);
result = dns_dnssec_keyfromrdata(name, &rdata,
mctx, &dnsseckey);
check_result(result, "dns_dnssec_keyfromrdata");
for (i = 0; i < tk_list.nb_tk; i++) {
if (dst_key_compare(tk_list.key[i], dnsseckey)
== ISC_TRUE) {
dns_rdata_reset(&rdata);
printf(";; Ok, find a Trusted Key in the "
"DNSKEY RRset: %d\n",
dst_key_id(dnsseckey));
@@ -4276,7 +4279,7 @@ contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
}
}
}
dns_rdata_reset(&rdata);
if (dnsseckey != NULL)
dst_key_free(&dnsseckey);
@@ -4306,7 +4309,7 @@ sigchase_verify_sig(dns_name_t *name, dns_rdataset_t *rdataset,
do {
dns_rdataset_current(keyrdataset, &keyrdata);
INSIST(keyrdata.type == dns_rdatatype_dnskey);
result = dns_dnssec_keyfromrdata(name, &keyrdata,
mctx, &dnsseckey);
check_result(result, "dns_dnssec_keyfromrdata");
@@ -4338,22 +4341,22 @@ sigchase_verify_sig_key(dns_name_t *name, dns_rdataset_t *rdataset,
result = dns_rdataset_first(sigrdataset);
check_result(result, "empty RRSIG dataset");
dns_rdata_init(&sigrdata);
do {
dns_rdataset_current(sigrdataset, &sigrdata);
result = dns_rdata_tostruct(&sigrdata, &siginfo, NULL);
check_result(result, "sigrdata tostruct siginfo");
/*
* Test if the id of the DNSKEY is
* the id of the DNSKEY signer's
*/
if (siginfo.keyid == dst_key_id(dnsseckey)) {
result = dns_rdataset_first(rdataset);
check_result(result, "empty DS dataset");
result = dns_dnssec_verify(name, rdataset, dnsseckey,
ISC_FALSE, mctx, &sigrdata);
@@ -4370,7 +4373,7 @@ sigchase_verify_sig_key(dns_name_t *name, dns_rdataset_t *rdataset,
}
}
dns_rdata_freestruct(&siginfo);
} while (dns_rdataset_next(chase_sigkeyrdataset) == ISC_R_SUCCESS);
dns_rdata_reset(&sigrdata);
@@ -4396,18 +4399,18 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
dns_rdata_init(&dsrdata);
do {
dns_rdataset_current(dsrdataset, &dsrdata);
result = dns_rdata_tostruct(&dsrdata, &dsinfo, NULL);
check_result(result, "dns_rdata_tostruct for DS");
result = dns_rdataset_first(keyrdataset);
check_result(result, "empty KEY dataset");
dns_rdata_init(&keyrdata);
dns_rdata_init(&keyrdata);
do {
dns_rdataset_current(keyrdataset, &keyrdata);
INSIST(keyrdata.type == dns_rdatatype_dnskey);
result = dns_dnssec_keyfromrdata(name, &keyrdata,
mctx, &dnsseckey);
check_result(result, "dns_dnssec_keyfromrdata");
@@ -4422,20 +4425,20 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
result = dns_ds_buildrdata(name, &keyrdata,
dsinfo.digest_type,
dsbuf, &newdsrdata);
dns_rdata_freestruct(&dsinfo);
dns_rdata_freestruct(&dsinfo);
if (result != ISC_R_SUCCESS) {
dns_rdata_reset(&keyrdata);
dns_rdata_reset(&newdsrdata);
dns_rdata_reset(&dsrdata);
dst_key_free(&dnsseckey);
dns_rdata_freestruct(&dsinfo);
dns_rdata_freestruct(&dsinfo);
printf("Oops: impossible to build"
" new DS rdata\n");
return (result);
}
if (dns_rdata_compare(&dsrdata,
&newdsrdata) == 0) {
printf(";; OK a DS valids a DNSKEY"
@@ -4443,7 +4446,7 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
printf(";; Now verify that this"
" DNSKEY validates the "
"DNSKEY RRset\n");
result = sigchase_verify_sig_key(name,
keyrdataset,
dnsseckey,
@@ -4454,7 +4457,7 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
dns_rdata_reset(&newdsrdata);
dns_rdata_reset(&dsrdata);
dst_key_free(&dnsseckey);
return (result);
}
} else {
@@ -4468,12 +4471,12 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
dnsseckey = NULL;
} while (dns_rdataset_next(chase_keyrdataset) == ISC_R_SUCCESS);
dns_rdata_reset(&keyrdata);
} while (dns_rdataset_next(chase_dsrdataset) == ISC_R_SUCCESS);
#if 0
dns_rdata_reset(&dsrdata); WARNING
#endif
return (ISC_R_NOTFOUND);
}
@@ -4486,13 +4489,13 @@ sigchase_verify_ds(dns_name_t *name, dns_rdataset_t *keyrdataset,
* ISC_R_SUCCESS: if we found the rrset
* ISC_R_NOTFOUND: we do not found the rrset in cache
* and we do a query on the net
* ISC_R_FAILURE: rrset not found
* ISC_R_FAILURE: rrset not found
*/
isc_result_t
advanced_rrsearch(dns_rdataset_t **rdataset, dns_name_t *name,
dns_rdatatype_t type, dns_rdatatype_t covers,
isc_boolean_t *lookedup)
{
{
isc_boolean_t tmplookedup;
INSIST(rdataset != NULL);
@@ -4567,7 +4570,7 @@ sigchase_td(dns_message_t *msg)
}
}
if (have_answer) {
chase_rdataset
= chase_scanname_section(msg, &chase_name,
@@ -4627,7 +4630,7 @@ sigchase_td(dns_message_t *msg)
chase_dsrdataset,
mctx);
}
if (result != ISC_R_SUCCESS) {
printf("\n;; chain of trust can't be validated:"
" FAILED\n\n");
@@ -4679,7 +4682,7 @@ sigchase_td(dns_message_t *msg)
chase_sigrdataset = NULL;
have_response = ISC_FALSE;
have_delegation_ns = ISC_FALSE;
dns_name_init(&tmp_name, NULL);
result = child_of_zone(&chase_name, &chase_current_name,
&tmp_name);
@@ -4758,10 +4761,10 @@ sigchase_td(dns_message_t *msg)
}
chase_keyrdataset = NULL;
chase_sigkeyrdataset = NULL;
prepare_lookup(&chase_authority_name);
have_response = ISC_FALSE;
have_delegation_ns = ISC_FALSE;
delegation_follow = ISC_TRUE;
@@ -4855,7 +4858,7 @@ sigchase_td(dns_message_t *msg)
}
}
#endif
#endif
#if DIG_SIGCHASE_BU
@@ -4872,7 +4875,7 @@ getneededrr(dns_message_t *msg)
if ((result = dns_message_firstname(msg, DNS_SECTION_ANSWER))
!= ISC_R_SUCCESS) {
printf(";; NO ANSWERS: %s\n", isc_result_totext(result));
if (chase_name.ndata == NULL)
return (ISC_R_ADDRNOTAVAIL);
} else {
@@ -4915,7 +4918,7 @@ getneededrr(dns_message_t *msg)
}
INSIST(chase_sigrdataset != NULL);
/* first find the DNSKEY name */
result = dns_rdataset_first(chase_sigrdataset);
check_result(result, "empty RRSIG dataset");
@@ -4926,7 +4929,7 @@ getneededrr(dns_message_t *msg)
dup_name(&siginfo.signer, &chase_signame, mctx);
dns_rdata_freestruct(&siginfo);
dns_rdata_reset(&sigrdata);
/* Do we have a key? */
if (chase_keyrdataset == NULL) {
result = advanced_rrsearch(&chase_keyrdataset,
@@ -4995,7 +4998,7 @@ getneededrr(dns_message_t *msg)
print_rdataset(&chase_signame, chase_dsrdataset, mctx);
}
}
if (chase_dsrdataset != NULL) {
/*
* if there is no RRSIG of DS,
@@ -5054,7 +5057,7 @@ sigchase_bu(dns_message_t *msg)
dns_name_init(&query_name, NULL);
dns_name_init(&rdata_name, NULL);
nameFromString(current_lookup->textname, &query_name);
result = prove_nx(msg, &query_name, current_lookup->rdclass,
current_lookup->rdtype, &rdata_name,
&rdataset, &sigrdataset);
@@ -5076,7 +5079,7 @@ sigchase_bu(dns_message_t *msg)
}
printf(";; An NSEC prove the non-existence of a answers,"
" Now we want validate this NSEC\n");
dup_name(&rdata_name, &chase_name, mctx);
free_name(&rdata_name, mctx);
chase_rdataset = rdataset;
@@ -5157,7 +5160,7 @@ sigchase_bu(dns_message_t *msg)
chase_sigdsrdataset = NULL;
chase_siglookedup = chase_keylookedup = ISC_FALSE;
chase_dslookedup = chase_sigdslookedup = ISC_FALSE;
printf(";; Now, we want to validate the DS : recursive call\n");
sigchase(msg);
return;
@@ -5250,7 +5253,7 @@ prove_nx_domain(dns_message_t *msg,
" validate the non-existence : FAILED\n");
return (ISC_R_FAILURE);
}
do {
nsecname = NULL;
dns_message_currentname(msg, DNS_SECTION_AUTHORITY, &nsecname);
@@ -5328,7 +5331,7 @@ prove_nx_type(dns_message_t *msg, dns_name_t *name, dns_rdataset_t *nsecset,
ret = dns_rdataset_first(nsecset);
check_result(ret,"dns_rdataset_first");
dns_rdataset_current(nsecset, &nsec);
ret = dns_nsec_typepresent(&nsec, type);
@@ -5396,6 +5399,6 @@ prove_nx(dns_message_t *msg, dns_name_t *name, dns_rdataclass_t class,
rdataset, sigrdataset);
return (ret);
}
/* Never get here */
/* Never get here */
}
#endif
+4 -4
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2002 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: host.1,v 1.14.18.14 2007/05/09 03:33:12 marka Exp $
.\" $Id: host.1,v 1.14.18.16 2008/04/06 01:31:04 tbox Exp $
.\"
.hy 0
.ad l
@@ -154,7 +154,7 @@ option is used to select the query type.
\fItype\fR
can be any recognized query type: CNAME, NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
\fBhost\fR
automatically selects an appropriate query type. By default it looks for A records, but if the
automatically selects an appropriate query type. By default it looks for A, AAAA, and MX records, but if the
\fB\-C\fR
option was given, queries will be made for SOA records, and if
\fIname\fR
@@ -213,7 +213,7 @@ runs.
\fBdig\fR(1),
\fBnamed\fR(8).
.SH "COPYRIGHT"
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2002 Internet Software Consortium.
.br
+4 -3
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: host.docbook,v 1.5.18.11 2007/08/28 07:19:55 tbox Exp $ -->
<!-- $Id: host.docbook,v 1.5.18.13 2008/04/05 23:46:04 tbox Exp $ -->
<refentry id="man.host">
<refentryinfo>
@@ -41,6 +41,7 @@
<year>2004</year>
<year>2005</year>
<year>2007</year>
<year>2008</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -199,7 +200,7 @@
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
<command>host</command> automatically selects an appropriate
query
type. By default it looks for A records, but if the
type. By default it looks for A, AAAA, and MX records, but if the
<option>-C</option> option was given, queries will be made for SOA
records, and if <parameter>name</parameter> is a
dotted-decimal IPv4
+7 -7
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2002 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: host.html,v 1.7.18.20 2007/05/09 03:33:12 marka Exp $ -->
<!-- $Id: host.html,v 1.7.18.22 2008/04/06 01:31:04 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543428"></a><h2>DESCRIPTION</h2>
<a name="id2543431"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">host</strong></span>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
@@ -148,7 +148,7 @@
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
<span><strong class="command">host</strong></span> automatically selects an appropriate
query
type. By default it looks for A records, but if the
type. By default it looks for A, AAAA, and MX records, but if the
<code class="option">-C</code> option was given, queries will be made for SOA
records, and if <em class="parameter"><code>name</code></em> is a
dotted-decimal IPv4
@@ -184,7 +184,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543725"></a><h2>IDN SUPPORT</h2>
<a name="id2543797"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
@@ -198,12 +198,12 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543748"></a><h2>FILES</h2>
<a name="id2543819"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543828"></a><h2>SEE ALSO</h2>
<a name="id2543831"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
+5 -5
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-keygen.8,v 1.23.18.14 2007/05/09 03:33:12 marka Exp $
.\" $Id: dnssec-keygen.8,v 1.23.18.16 2008/10/16 01:29:40 tbox Exp $
.\"
.hy 0
.ad l
@@ -187,14 +187,14 @@ and
.PP
\fBdnssec\-signzone\fR(8),
BIND 9 Administrator Reference Manual,
RFC 2535,
RFC 2539,
RFC 2845,
RFC 2539.
RFC 4033.
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.docbook,v 1.7.18.11 2007/08/28 07:20:00 tbox Exp $ -->
<!-- $Id: dnssec-keygen.docbook,v 1.7.18.13 2008/10/15 23:46:06 tbox Exp $ -->
<refentry id="man.dnssec-keygen">
<refentryinfo>
<date>June 30, 2000</date>
@@ -40,6 +40,7 @@
<year>2004</year>
<year>2005</year>
<year>2007</year>
<year>2008</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -340,9 +341,9 @@
<refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
<citetitle>RFC 2535</citetitle>,
<citetitle>RFC 2539</citetitle>,
<citetitle>RFC 2845</citetitle>,
<citetitle>RFC 2539</citetitle>.
<citetitle>RFC 4033</citetitle>.
</para>
</refsect1>
+10 -10
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.html,v 1.9.18.20 2007/05/09 03:33:12 marka Exp $ -->
<!-- $Id: dnssec-keygen.html,v 1.9.18.22 2008/10/16 01:29:40 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-b <em class="replaceable"><code>keysize</code></em>} {-n <em class="replaceable"><code>nametype</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k</code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543474"></a><h2>DESCRIPTION</h2>
<a name="id2543477"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keygen</strong></span>
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
and RFC 4034. It can also generate keys for use with
@@ -40,7 +40,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543485"></a><h2>OPTIONS</h2>
<a name="id2543489"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
@@ -148,7 +148,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543820"></a><h2>GENERATED KEYS</h2>
<a name="id2543824"></a><h2>GENERATED KEYS</h2>
<p>
When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully,
@@ -194,7 +194,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543902"></a><h2>EXAMPLE</h2>
<a name="id2543906"></a><h2>EXAMPLE</h2>
<p>
To generate a 768-bit DSA key for the domain
<strong class="userinput"><code>example.com</code></strong>, the following command would be
@@ -215,16 +215,16 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543946"></a><h2>SEE ALSO</h2>
<a name="id2543949"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2535</em>,
<em class="citetitle">RFC 2539</em>,
<em class="citetitle">RFC 2845</em>,
<em class="citetitle">RFC 2539</em>.
<em class="citetitle">RFC 4033</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544045"></a><h2>AUTHOR</h2>
<a name="id2544049"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+4 -4
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-signzone.8,v 1.28.18.17 2007/05/09 03:33:12 marka Exp $
.\" $Id: dnssec-signzone.8,v 1.28.18.19 2008/10/16 01:29:40 tbox Exp $
.\"
.hy 0
.ad l
@@ -261,12 +261,12 @@ db.example.com.signed
.PP
\fBdnssec\-keygen\fR(8),
BIND 9 Administrator Reference Manual,
RFC 2535.
RFC 4033.
.SH "AUTHOR"
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
+25 -24
View File
@@ -1,5 +1,5 @@
/*
* Portions Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 1999-2003 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
*
@@ -16,7 +16,7 @@
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-signzone.c,v 1.177.18.24 2007/08/28 07:20:00 tbox Exp $ */
/* $Id: dnssec-signzone.c,v 1.177.18.26 2008/06/02 23:46:01 tbox Exp $ */
/*! \file */
@@ -128,7 +128,6 @@ static dns_name_t *gorigin; /* The database origin */
static isc_task_t *master = NULL;
static unsigned int ntasks = 0;
static isc_boolean_t shuttingdown = ISC_FALSE, finished = ISC_FALSE;
static unsigned int assigned = 0, completed = 0;
static isc_boolean_t nokeys = ISC_FALSE;
static isc_boolean_t removefile = ISC_FALSE;
static isc_boolean_t generateds = ISC_FALSE;
@@ -969,7 +968,7 @@ active_node(dns_dbnode_t *node) {
fatal("rdataset iteration failed: %s",
isc_result_totext(result));
} else {
/*
/*
* Delete RRSIGs for types that no longer exist.
*/
result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter2);
@@ -1194,7 +1193,7 @@ signapex(void) {
dns_fixedname_t fixed;
dns_name_t *name;
isc_result_t result;
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
result = dns_dbiterator_current(gdbiter, &node, name);
@@ -1224,16 +1223,19 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
dns_rdataset_t nsec;
isc_boolean_t found;
isc_result_t result;
static unsigned int ended = 0; /* Protected by namelock. */
if (shuttingdown)
return;
LOCK(&namelock);
if (finished) {
if (assigned == completed) {
ended++;
if (ended == ntasks) {
isc_task_detach(&task);
isc_app_shutdown();
}
return;
goto unlock;
}
fname = isc_mem_get(mctx, sizeof(dns_fixedname_t));
@@ -1243,7 +1245,6 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
name = dns_fixedname_name(fname);
node = NULL;
found = ISC_FALSE;
LOCK(&namelock);
while (!found) {
result = dns_dbiterator_current(gdbiter, &node, name);
if (result != ISC_R_SUCCESS)
@@ -1270,14 +1271,14 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
fatal("failure iterating database: %s",
isc_result_totext(result));
}
UNLOCK(&namelock);
if (!found) {
if (assigned == completed) {
ended++;
if (ended == ntasks) {
isc_task_detach(&task);
isc_app_shutdown();
}
isc_mem_put(mctx, fname, sizeof(dns_fixedname_t));
return;
goto unlock;
}
sevent = (sevent_t *)
isc_event_allocate(mctx, task, SIGNER_EVENT_WORK,
@@ -1288,7 +1289,8 @@ assignwork(isc_task_t *task, isc_task_t *worker) {
sevent->node = node;
sevent->fname = fname;
isc_task_send(worker, ISC_EVENT_PTR(&sevent));
assigned++;
unlock:
UNLOCK(&namelock);
}
/*%
@@ -1311,7 +1313,6 @@ writenode(isc_task_t *task, isc_event_t *event) {
isc_task_t *worker;
sevent_t *sevent = (sevent_t *)event;
completed++;
worker = (isc_task_t *)event->ev_sender;
dumpnode(dns_fixedname_name(sevent->fname), sevent->node);
cleannode(gdb, gversion, sevent->node);
@@ -1605,7 +1606,7 @@ writeset(const char *prefix, dns_rdatatype_t type) {
unsigned char dsbuf[DNS_DS_BUFFERSIZE];
unsigned char keybuf[DST_KEY_MAXSIZE];
unsigned int filenamelen;
const dns_master_style_t *style =
const dns_master_style_t *style =
(type == dns_rdatatype_dnskey) ? masterstyle : dsstyle;
isc_buffer_init(&namebuf, namestr, sizeof(namestr));
@@ -1818,13 +1819,13 @@ print_stats(isc_time_t *timer_start, isc_time_t *timer_finish) {
printf("Signatures successfully verified: %10d\n", nverified);
printf("Signatures unsuccessfully verified: %10d\n", nverifyfailed);
runtime_ms = runtime_us / 1000;
printf("Runtime in seconds: %7u.%03u\n",
(unsigned int) (runtime_ms / 1000),
printf("Runtime in seconds: %7u.%03u\n",
(unsigned int) (runtime_ms / 1000),
(unsigned int) (runtime_ms % 1000));
if (runtime_us > 0) {
sig_ms = ((isc_uint64_t)nsigned * 1000000000) / runtime_us;
printf("Signatures per second: %7u.%03u\n",
(unsigned int) sig_ms / 1000,
(unsigned int) sig_ms / 1000,
(unsigned int) sig_ms % 1000);
}
}
@@ -1914,7 +1915,7 @@ main(int argc, char *argv[]) {
fatal("jitter must be numeric and positive");
break;
case 'l':
case 'l':
dns_fixedname_init(&dlv_fixed);
len = strlen(isc_commandline_argument);
isc_buffer_init(&b, isc_commandline_argument, len);
@@ -2080,7 +2081,7 @@ main(int argc, char *argv[]) {
result = dns_master_stylecreate(&dsstyle, DNS_STYLEFLAG_NO_TTL,
0, 24, 0, 0, 0, 8, mctx);
check_result(result, "dns_master_stylecreate");
gdb = NULL;
TIME_NOW(&timer_start);
@@ -2102,8 +2103,8 @@ main(int argc, char *argv[]) {
DST_TYPE_PRIVATE,
mctx, &newkey);
if (result != ISC_R_SUCCESS)
fatal("cannot load dnskey %s: %s", argv[i],
isc_result_totext(result));
fatal("cannot load dnskey %s: %s", argv[i],
isc_result_totext(result));
key = ISC_LIST_HEAD(keylist);
while (key != NULL) {
@@ -2111,7 +2112,7 @@ main(int argc, char *argv[]) {
if (dst_key_id(dkey) == dst_key_id(newkey) &&
dst_key_alg(dkey) == dst_key_alg(newkey) &&
dns_name_equal(dst_key_name(dkey),
dst_key_name(newkey)))
dst_key_name(newkey)))
{
if (!dst_key_isprivate(dkey))
fatal("cannot sign zone with "
@@ -2140,7 +2141,7 @@ main(int argc, char *argv[]) {
mctx, &newkey);
if (result != ISC_R_SUCCESS)
fatal("cannot load dnskey %s: %s", dskeyfile[i],
isc_result_totext(result));
isc_result_totext(result));
key = ISC_LIST_HEAD(keylist);
while (key != NULL) {
@@ -2148,7 +2149,7 @@ main(int argc, char *argv[]) {
if (dst_key_id(dkey) == dst_key_id(newkey) &&
dst_key_alg(dkey) == dst_key_alg(newkey) &&
dns_name_equal(dst_key_name(dkey),
dst_key_name(newkey)))
dst_key_name(newkey)))
{
/* Override key flags. */
key->issigningkey = ISC_TRUE;
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-signzone.docbook,v 1.10.18.17 2007/08/28 07:20:00 tbox Exp $ -->
<!-- $Id: dnssec-signzone.docbook,v 1.10.18.19 2008/10/15 23:46:06 tbox Exp $ -->
<refentry id="man.dnssec-signzone">
<refentryinfo>
<date>June 30, 2000</date>
@@ -41,6 +41,7 @@
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -459,7 +460,7 @@ db.example.com.signed
<refentrytitle>dnssec-keygen</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citetitle>BIND 9 Administrator Reference Manual</citetitle>,
<citetitle>RFC 2535</citetitle>.
<citetitle>RFC 4033</citetitle>.
</para>
</refsect1>
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-signzone.html,v 1.8.18.23 2007/05/09 03:33:12 marka Exp $ -->
<!-- $Id: dnssec-signzone.html,v 1.8.18.25 2008/10/16 01:29:40 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {zonefile} [key...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543526"></a><h2>DESCRIPTION</h2>
<a name="id2543529"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-signzone</strong></span>
signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
@@ -43,7 +43,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543541"></a><h2>OPTIONS</h2>
<a name="id2543544"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
@@ -241,7 +241,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544327"></a><h2>EXAMPLE</h2>
<a name="id2544330"></a><h2>EXAMPLE</h2>
<p>
The following command signs the <strong class="userinput"><code>example.com</code></strong>
zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
@@ -270,14 +270,14 @@ db.example.com.signed
%</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2544378"></a><h2>SEE ALSO</h2>
<a name="id2544381"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2535</em>.
<em class="citetitle">RFC 4033</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544403"></a><h2>AUTHOR</h2>
<a name="id2544406"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+25 -25
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: client.c,v 1.219.18.28.10.2 2008/07/23 07:28:54 tbox Exp $ */
/* $Id: client.c,v 1.219.18.31 2008/05/22 23:46:03 tbox Exp $ */
#include <config.h>
@@ -132,7 +132,7 @@ struct ns_clientmgr {
#define MANAGER_MAGIC ISC_MAGIC('N', 'S', 'C', 'm')
#define VALID_MANAGER(m) ISC_MAGIC_VALID(m, MANAGER_MAGIC)
/*!
/*!
* Client object states. Ordering is significant: higher-numbered
* states are generally "more active", meaning that the client can
* have more dynamically allocated data, outstanding events, etc.
@@ -286,7 +286,7 @@ exit_check(ns_client_t *client) {
*
* Keep the view attached until any outstanding updates complete.
*/
if (client->nupdates == 0 &&
if (client->nupdates == 0 &&
client->newstate == NS_CLIENTSTATE_FREED && client->view != NULL)
dns_view_detach(&client->view);
@@ -817,7 +817,7 @@ client_sendpkg(ns_client_t *client, isc_buffer_t *buffer) {
isc_netaddr_fromsockaddr(&netaddr, &client->peeraddr);
if (ns_g_server->blackholeacl != NULL &&
dns_acl_match(&netaddr, NULL,
ns_g_server->blackholeacl,
ns_g_server->blackholeacl,
&ns_g_server->aclenv,
&match, NULL) == ISC_R_SUCCESS &&
match > 0)
@@ -834,7 +834,7 @@ client_sendpkg(ns_client_t *client, isc_buffer_t *buffer) {
isc_buffer_usedregion(buffer, &r);
CTRACE("sendto");
result = isc_socket_sendto2(socket, &r, client->task,
address, pktinfo,
client->sendevent, sockflags);
@@ -1108,8 +1108,8 @@ ns_client_error(ns_client_t *client, isc_result_t result) {
/*
* FORMERR loop avoidance: If we sent a FORMERR message
* with the same ID to the same client less than two
* seconds ago, assume that we are in an infinite error
* packet dialog with a server for some protocol whose
* seconds ago, assume that we are in an infinite error
* packet dialog with a server for some protocol whose
* error responses look enough like DNS queries to
* elicit a FORMERR response. Drop a packet to break
* the loop.
@@ -1534,7 +1534,7 @@ client_request(isc_task_t *task, isc_event_t *event) {
* For IPv6 UDP queries, we get this from the pktinfo structure (if
* supported).
* If all the attempts fail (this can happen due to memory shortage,
* etc), we regard this as an error for safety.
* etc), we regard this as an error for safety.
*/
if ((client->interface->flags & NS_INTERFACEFLAG_ANYADDR) == 0)
isc_netaddr_fromsockaddr(&destaddr, &client->interface->addr);
@@ -1595,7 +1595,7 @@ client_request(isc_task_t *task, isc_event_t *event) {
view);
if (sigresult == ISC_R_SUCCESS)
tsig = client->message->tsigname;
if (allowed(&netaddr, tsig, view->matchclients) &&
allowed(&destaddr, tsig, view->matchdestinations) &&
!((client->message->flags & DNS_MESSAGEFLAG_RD)
@@ -1726,7 +1726,7 @@ client_request(isc_task_t *task, isc_event_t *event) {
ns_client_log(client, DNS_LOGCATEGORY_SECURITY, NS_LOGMODULE_CLIENT,
ISC_LOG_DEBUG(3), ra ? "recursion available" :
"recursion not available");
"recursion not available");
/*
* Adjust maximum UDP response size for this client.
@@ -1820,10 +1820,10 @@ get_clientmctx(ns_clientmgr_t *manager, isc_mem_t **mctxp) {
return (result);
manager->mctxpool[manager->nextmctx] = clientmctx;
manager->nextmctx++;
if (manager->nextmctx == NMCTXS)
manager->nextmctx = 0;
}
manager->nextmctx++;
if (manager->nextmctx == NMCTXS)
manager->nextmctx = 0;
#else
clientmctx = manager->mctx;
#endif
@@ -2093,7 +2093,7 @@ client_newconn(isc_task_t *task, isc_event_t *event) {
if (ns_g_server->blackholeacl != NULL &&
dns_acl_match(&netaddr, NULL,
ns_g_server->blackholeacl,
ns_g_server->blackholeacl,
&ns_g_server->aclenv,
&match, NULL) == ISC_R_SUCCESS &&
match > 0)
@@ -2482,7 +2482,7 @@ ns_client_checkacl(ns_client_t *client,
isc_result_t result =
ns_client_checkaclsilent(client, acl, default_allow);
if (result == ISC_R_SUCCESS)
if (result == ISC_R_SUCCESS)
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(3),
"%s approved", opname);
@@ -2538,16 +2538,16 @@ ns_client_log(ns_client_t *client, isc_logcategory_t *category,
void
ns_client_aclmsg(const char *msg, dns_name_t *name, dns_rdatatype_t type,
dns_rdataclass_t rdclass, char *buf, size_t len)
dns_rdataclass_t rdclass, char *buf, size_t len)
{
char namebuf[DNS_NAME_FORMATSIZE];
char typebuf[DNS_RDATATYPE_FORMATSIZE];
char classbuf[DNS_RDATACLASS_FORMATSIZE];
char namebuf[DNS_NAME_FORMATSIZE];
char typebuf[DNS_RDATATYPE_FORMATSIZE];
char classbuf[DNS_RDATACLASS_FORMATSIZE];
dns_name_format(name, namebuf, sizeof(namebuf));
dns_rdatatype_format(type, typebuf, sizeof(typebuf));
dns_rdataclass_format(rdclass, classbuf, sizeof(classbuf));
(void)snprintf(buf, len, "%s '%s/%s/%s'", msg, namebuf, typebuf,
dns_name_format(name, namebuf, sizeof(namebuf));
dns_rdatatype_format(type, typebuf, sizeof(typebuf));
dns_rdataclass_format(rdclass, classbuf, sizeof(classbuf));
(void)snprintf(buf, len, "%s '%s/%s/%s'", msg, namebuf, typebuf,
classbuf);
}
@@ -2575,7 +2575,7 @@ ns_client_dumpmessage(ns_client_t *client, const char *reason) {
isc_mem_put(client->mctx, buf, len);
len += 1024;
} else if (result == ISC_R_SUCCESS)
ns_client_log(client, NS_LOGCATEGORY_UNMATCHED,
ns_client_log(client, NS_LOGCATEGORY_UNMATCHED,
NS_LOGMODULE_CLIENT, ISC_LOG_DEBUG(1),
"%s\n%.*s", reason,
(int)isc_buffer_usedlength(&buffer),
@@ -2595,7 +2595,7 @@ ns_client_dumprecursing(FILE *f, ns_clientmgr_t *manager) {
const char *sep;
REQUIRE(VALID_MANAGER(manager));
LOCK(&manager->lock);
client = ISC_LIST_HEAD(manager->recursing);
while (client != NULL) {
+5 -5
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.c,v 1.47.18.32.10.3 2008/07/23 23:48:17 tbox Exp $ */
/* $Id: config.c,v 1.47.18.35 2008/09/04 08:03:07 marka Exp $ */
/*! \file */
@@ -403,7 +403,7 @@ ns_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
static isc_result_t
get_masters_def(const cfg_obj_t *cctx, const char *name,
const cfg_obj_t **ret)
const cfg_obj_t **ret)
{
isc_result_t result;
const cfg_obj_t *masters = NULL;
@@ -521,7 +521,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
tresult = get_masters_def(config, listname, &list);
if (tresult == ISC_R_NOTFOUND) {
cfg_obj_log(addr, ns_g_lctx, ISC_LOG_ERROR,
"masters \"%s\" not found", listname);
"masters \"%s\" not found", listname);
result = tresult;
goto cleanup;
@@ -599,7 +599,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
if (keys[i] == NULL)
goto cleanup;
dns_name_init(keys[i], NULL);
keystr = cfg_obj_asstring(key);
isc_buffer_init(&b, keystr, strlen(keystr));
isc_buffer_add(&b, strlen(keystr));
@@ -655,7 +655,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
isc_mem_put(mctx, lists, listcount * sizeof(*lists));
if (stack != NULL)
isc_mem_put(mctx, stack, stackcount * sizeof(*stack));
INSIST(keycount == addrcount);
*addrsp = addrs;
+41 -47
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: controlconf.c,v 1.40.18.10.40.3 2008/07/23 23:16:43 marka Exp $ */
/* $Id: controlconf.c,v 1.40.18.14 2008/07/23 23:33:02 marka Exp $ */
/*! \file */
@@ -345,9 +345,9 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
listener = conn->listener;
secret.rstart = NULL;
/* Is the server shutting down? */
if (listener->controls->shuttingdown)
goto cleanup;
/* Is the server shutting down? */
if (listener->controls->shuttingdown)
goto cleanup;
if (conn->ccmsg.result != ISC_R_SUCCESS) {
if (conn->ccmsg.result != ISC_R_CANCELED &&
@@ -364,9 +364,6 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
{
ccregion.rstart = isc_buffer_base(&conn->ccmsg.buffer);
ccregion.rend = isc_buffer_used(&conn->ccmsg.buffer);
if (secret.rstart != NULL)
isc_mem_put(listener->mctx, secret.rstart,
REGION_SIZE(secret));
secret.rstart = isc_mem_get(listener->mctx, key->secret.length);
if (secret.rstart == NULL)
goto cleanup;
@@ -375,7 +372,8 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
result = isccc_cc_fromwire(&ccregion, &request, &secret);
if (result == ISC_R_SUCCESS)
break;
else if (result == ISCCC_R_BADAUTH) {
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
if (result == ISCCC_R_BADAUTH) {
/*
* For some reason, request is non-NULL when
* isccc_cc_fromwire returns ISCCC_R_BADAUTH.
@@ -396,7 +394,7 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
/* We shouldn't be getting a reply. */
if (isccc_cc_isreply(request)) {
log_invalid(&conn->ccmsg, ISC_R_FAILURE);
goto cleanup;
goto cleanup_request;
}
isc_stdtime_get(&now);
@@ -407,17 +405,17 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
_ctrl = isccc_alist_lookup(request, "_ctrl");
if (_ctrl == NULL) {
log_invalid(&conn->ccmsg, ISC_R_FAILURE);
goto cleanup;
goto cleanup_request;
}
if (isccc_cc_lookupuint32(_ctrl, "_tim", &sent) == ISC_R_SUCCESS) {
if ((sent + CLOCKSKEW) < now || (sent - CLOCKSKEW) > now) {
log_invalid(&conn->ccmsg, ISCCC_R_CLOCKSKEW);
goto cleanup;
goto cleanup_request;
}
} else {
log_invalid(&conn->ccmsg, ISC_R_FAILURE);
goto cleanup;
goto cleanup_request;
}
/*
@@ -426,7 +424,7 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (isccc_cc_lookupuint32(_ctrl, "_exp", &exp) == ISC_R_SUCCESS &&
now > exp) {
log_invalid(&conn->ccmsg, ISCCC_R_EXPIRED);
goto cleanup;
goto cleanup_request;
}
/*
@@ -436,16 +434,16 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
result = isccc_cc_checkdup(listener->controls->symtab, request, now);
if (result != ISC_R_SUCCESS) {
if (result == ISC_R_EXISTS)
result = ISCCC_R_DUPLICATE;
result = ISCCC_R_DUPLICATE;
log_invalid(&conn->ccmsg, result);
goto cleanup;
goto cleanup_request;
}
if (conn->nonce != 0 &&
(isccc_cc_lookupuint32(_ctrl, "_nonce", &nonce) != ISC_R_SUCCESS ||
conn->nonce != nonce)) {
log_invalid(&conn->ccmsg, ISCCC_R_BADAUTH);
goto cleanup;
goto cleanup_request;
}
/*
@@ -459,7 +457,7 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
result = isccc_cc_createresponse(request, now, now + 60, &response);
if (result != ISC_R_SUCCESS)
goto cleanup;
goto cleanup_request;
if (eresult != ISC_R_SUCCESS) {
isccc_sexpr_t *data;
@@ -467,7 +465,7 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (data != NULL) {
const char *estr = isc_result_totext(eresult);
if (isccc_cc_definestring(data, "err", estr) == NULL)
goto cleanup;
goto cleanup_response;
}
}
@@ -478,20 +476,20 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (data != NULL) {
char *str = (char *)isc_buffer_base(&text);
if (isccc_cc_definestring(data, "text", str) == NULL)
goto cleanup;
goto cleanup_response;
}
}
_ctrl = isccc_alist_lookup(response, "_ctrl");
if (_ctrl == NULL ||
isccc_cc_defineuint32(_ctrl, "_nonce", conn->nonce) == NULL)
goto cleanup;
goto cleanup_response;
ccregion.rstart = conn->buffer + 4;
ccregion.rend = conn->buffer + sizeof(conn->buffer);
result = isccc_cc_towire(response, &ccregion, &secret);
if (result != ISC_R_SUCCESS)
goto cleanup;
goto cleanup_response;
isc_buffer_init(&b, conn->buffer, 4);
len = sizeof(conn->buffer) - REGION_SIZE(ccregion);
isc_buffer_putuint32(&b, len - 4);
@@ -500,31 +498,27 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
result = isc_socket_send(conn->sock, &r, task, control_senddone, conn);
if (result != ISC_R_SUCCESS)
goto cleanup;
goto cleanup_response;
conn->sending = ISC_TRUE;
if (secret.rstart != NULL)
isc_mem_put(listener->mctx, secret.rstart,
REGION_SIZE(secret));
if (request != NULL)
isccc_sexpr_free(&request);
if (response != NULL)
isccc_sexpr_free(&response);
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
isccc_sexpr_free(&request);
isccc_sexpr_free(&response);
return;
cleanup_response:
isccc_sexpr_free(&response);
cleanup_request:
isccc_sexpr_free(&request);
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
cleanup:
if (secret.rstart != NULL)
isc_mem_put(listener->mctx, secret.rstart,
REGION_SIZE(secret));
isc_socket_detach(&conn->sock);
isccc_ccmsg_invalidate(&conn->ccmsg);
conn->ccmsg_valid = ISC_FALSE;
maybe_free_connection(conn);
maybe_free_listener(listener);
if (request != NULL)
isccc_sexpr_free(&request);
if (response != NULL)
isccc_sexpr_free(&response);
}
static void
@@ -548,7 +542,7 @@ newconnection(controllistener_t *listener, isc_socket_t *sock) {
conn = isc_mem_get(listener->mctx, sizeof(*conn));
if (conn == NULL)
return (ISC_R_NOMEMORY);
conn->sock = sock;
isccc_ccmsg_init(listener->mctx, sock, &conn->ccmsg);
conn->ccmsg_valid = ISC_TRUE;
@@ -660,7 +654,7 @@ ns_controls_shutdown(ns_controls_t *controls) {
static isc_result_t
cfgkeylist_find(const cfg_obj_t *keylist, const char *keyname,
const cfg_obj_t **objp)
const cfg_obj_t **objp)
{
const cfg_listelt_t *element;
const char *str;
@@ -808,7 +802,7 @@ register_keys(const cfg_obj_t *control, const cfg_obj_t *keylist,
if (result != ISC_R_SUCCESS) \
goto cleanup; \
} while (0)
static isc_result_t
get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
isc_result_t result;
@@ -828,14 +822,14 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
CHECK(cfg_map_get(config, "key", &key));
keyid = isc_mem_get(mctx, sizeof(*keyid));
if (keyid == NULL)
if (keyid == NULL)
CHECK(ISC_R_NOMEMORY);
keyid->keyname = isc_mem_strdup(mctx,
cfg_obj_asstring(cfg_map_getname(key)));
keyid->secret.base = NULL;
keyid->secret.length = 0;
ISC_LINK_INIT(keyid, link);
if (keyid->keyname == NULL)
if (keyid->keyname == NULL)
CHECK(ISC_R_NOMEMORY);
CHECK(bind9_check_key(key, ns_g_lctx));
@@ -891,7 +885,7 @@ get_rndckey(isc_mem_t *mctx, controlkeylist_t *keyids) {
cfg_parser_destroy(&pctx);
return (result);
}
/*
* Ensures that both '*global_keylistp' and '*control_keylistp' are
* valid or both are NULL.
@@ -925,7 +919,7 @@ static void
update_listener(ns_controls_t *cp, controllistener_t **listenerp,
const cfg_obj_t *control, const cfg_obj_t *config,
isc_sockaddr_t *addr, cfg_aclconfctx_t *aclconfctx,
const char *socktext, isc_sockettype_t type)
const char *socktext, isc_sockettype_t type)
{
controllistener_t *listener;
const cfg_obj_t *allow;
@@ -945,7 +939,7 @@ update_listener(ns_controls_t *cp, controllistener_t **listenerp,
*listenerp = NULL;
return;
}
/*
* There is already a listener for this sockaddr.
* Update the access list and key information.
@@ -1339,7 +1333,7 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
update_listener(cp, &listener, control, config,
&addr, aclconfctx,
cfg_obj_asstring(path),
cfg_obj_asstring(path),
isc_sockettype_unix);
if (listener != NULL)
@@ -1385,10 +1379,10 @@ ns_controls_configure(ns_controls_t *cp, const cfg_obj_t *config,
isc_sockaddr_setport(&addr, NS_CONTROL_PORT);
isc_sockaddr_format(&addr, socktext, sizeof(socktext));
update_listener(cp, &listener, NULL, NULL,
&addr, NULL, socktext,
isc_sockettype_tcp);
isc_sockettype_tcp);
if (listener != NULL)
/*
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2006, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: globals.h,v 1.64.18.4 2006/03/02 00:37:21 marka Exp $ */
/* $Id: globals.h,v 1.64.18.6 2008/10/24 01:43:17 tbox Exp $ */
#ifndef NAMED_GLOBALS_H
#define NAMED_GLOBALS_H 1
@@ -48,6 +48,7 @@ EXTERN isc_taskmgr_t * ns_g_taskmgr INIT(NULL);
EXTERN dns_dispatchmgr_t * ns_g_dispatchmgr INIT(NULL);
EXTERN isc_entropy_t * ns_g_entropy INIT(NULL);
EXTERN isc_entropy_t * ns_g_fallbackentropy INIT(NULL);
EXTERN unsigned int ns_g_cpus_detected INIT(1);
/*
* XXXRTH We're going to want multiple timer managers eventually. One
+9 -9
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: interfacemgr.c,v 1.76.18.8.44.3 2008/07/23 23:16:43 marka Exp $ */
/* $Id: interfacemgr.c,v 1.76.18.11 2008/07/23 23:33:02 marka Exp $ */
/*! \file */
@@ -90,7 +90,7 @@ ns_interfacemgr_create(isc_mem_t *mctx, isc_taskmgr_t *taskmgr,
mgr->generation = 1;
mgr->listenon4 = NULL;
mgr->listenon6 = NULL;
ISC_LIST_INIT(mgr->interfaces);
ISC_LIST_INIT(mgr->listenon);
@@ -323,7 +323,7 @@ ns_interface_accepttcp(ns_interface_t *ifp) {
goto tcp_listen_failure;
}
/*
/*
* If/when there a multiple filters listen to the
* result.
*/
@@ -510,7 +510,7 @@ setup_locals(ns_interfacemgr_t *mgr, isc_interface_t *interface) {
unsigned int prefixlen;
family = interface->address.family;
elt.type = dns_aclelementtype_ipprefix;
elt.negative = ISC_FALSE;
elt.u.ip_prefix.address = interface->address;
@@ -550,7 +550,7 @@ setup_locals(ns_interfacemgr_t *mgr, isc_interface_t *interface) {
static void
setup_listenon(ns_interfacemgr_t *mgr, isc_interface_t *interface,
in_port_t port)
{
{
isc_sockaddr_t *addr;
isc_sockaddr_t *old;
@@ -564,7 +564,7 @@ setup_listenon(ns_interfacemgr_t *mgr, isc_interface_t *interface,
old != NULL;
old = ISC_LIST_NEXT(old, link))
if (isc_sockaddr_equal(addr, old))
break;
break;
if (old != NULL)
isc_mem_put(mgr->mctx, addr, sizeof(*addr));
@@ -700,7 +700,7 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen,
{
isc_interface_t interface;
ns_listenlist_t *ll;
unsigned int family;
unsigned int family;
result = isc_interfaceiter_current(iter, &interface);
if (result != ISC_R_SUCCESS)
@@ -882,7 +882,7 @@ do_scan(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen,
UNEXPECTED_ERROR(__FILE__, __LINE__,
"interface iteration failed: %s",
isc_result_totext(result));
else
else
result = ISC_R_SUCCESS;
cleanup_iter:
isc_interfaceiter_destroy(&iter);
@@ -913,7 +913,7 @@ ns_interfacemgr_scan0(ns_interfacemgr_t *mgr, ns_listenlist_t *ext_listen,
/*
* Warn if we are not listening on any interface, unless
* we're in lwresd-only mode, in which case that is to
* we're in lwresd-only mode, in which case that is to
* be expected.
*/
if (ext_listen == NULL &&
+4 -4
View File
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwaddr.c,v 1.4.18.2 2005/04/29 00:15:23 marka Exp $ */
/* $Id: lwaddr.c,v 1.4.18.4 2008/01/11 23:45:59 tbox Exp $ */
/*! \file */
@@ -81,7 +81,7 @@ lwaddr_lwresaddr_fromnetaddr(lwres_addr_t *la, isc_netaddr_t *na) {
} else {
la->family = LWRES_ADDRTYPE_V6;
la->length = 16;
memcpy(la->address, &na->type.in, 16);
memcpy(la->address, &na->type.in6, 16);
}
return (ISC_R_SUCCESS);
}
+3 -5
View File
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwdgnba.c,v 1.16.18.2 2005/04/29 00:15:24 marka Exp $ */
/* $Id: lwdgnba.c,v 1.16.18.4 2008/01/14 23:45:59 tbox Exp $ */
/*! \file */
@@ -220,8 +220,6 @@ ns_lwdclient_processgnba(ns_lwdclient_t *client, lwres_buffer_t *b) {
b, &client->pkt, &req);
if (result != LWRES_R_SUCCESS)
goto out;
if (req->addr.address == NULL)
goto out;
client->options = 0;
if (req->addr.family == LWRES_ADDRTYPE_V4) {
+11 -12
View File
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwdnoop.c,v 1.7.18.2 2005/04/29 00:15:25 marka Exp $ */
/* $Id: lwdnoop.c,v 1.7.18.4 2008/01/22 23:27:05 tbox Exp $ */
/*! \file */
@@ -44,7 +44,7 @@ ns_lwdclient_processnoop(ns_lwdclient_t *client, lwres_buffer_t *b) {
result = lwres_nooprequest_parse(client->clientmgr->lwctx,
b, &client->pkt, &req);
if (result != LWRES_R_SUCCESS)
goto out;
goto send_error;
client->pkt.recvlength = LWRES_RECVLENGTH;
client->pkt.authtype = 0; /* XXXMLG */
@@ -57,7 +57,7 @@ ns_lwdclient_processnoop(ns_lwdclient_t *client, lwres_buffer_t *b) {
lwres = lwres_noopresponse_render(client->clientmgr->lwctx, &resp,
&client->pkt, &lwb);
if (lwres != LWRES_R_SUCCESS)
goto out;
goto cleanup_req;
r.base = lwb.base;
r.length = lwb.used;
@@ -65,7 +65,7 @@ ns_lwdclient_processnoop(ns_lwdclient_t *client, lwres_buffer_t *b) {
client->sendlength = r.length;
result = ns_lwdclient_sendreply(client, &r);
if (result != ISC_R_SUCCESS)
goto out;
goto cleanup_lwb;
/*
* We can now destroy request.
@@ -76,13 +76,12 @@ ns_lwdclient_processnoop(ns_lwdclient_t *client, lwres_buffer_t *b) {
return;
out:
if (req != NULL)
lwres_nooprequest_free(client->clientmgr->lwctx, &req);
cleanup_lwb:
lwres_context_freemem(client->clientmgr->lwctx, lwb.base, lwb.length);
if (lwb.base != NULL)
lwres_context_freemem(client->clientmgr->lwctx,
lwb.base, lwb.length);
cleanup_req:
lwres_nooprequest_free(client->clientmgr->lwctx, &req);
send_error:
ns_lwdclient_errorpktsend(client, LWRES_R_FAILURE);
}
+7 -7
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: lwresd.8,v 1.15.18.12 2007/05/16 06:11:27 marka Exp $
.\" $Id: lwresd.8,v 1.15.18.13 2008/10/17 01:29:23 tbox Exp $
.\"
.hy 0
.ad l
@@ -85,9 +85,9 @@ Use
\fIconfig\-file\fR
as the configuration file instead of the default,
\fI/etc/lwresd.conf\fR.
<term>\-c</term>
\fB\-c\fR
can not be used with
<term>\-C</term>.
\fB\-C\fR.
.RE
.PP
\-C \fIconfig\-file\fR
@@ -96,9 +96,9 @@ Use
\fIconfig\-file\fR
as the configuration file instead of the default,
\fI/etc/resolv.conf\fR.
<term>\-C</term>
\fB\-C\fR
can not be used with
<term>\-c</term>.
\fB\-c\fR.
.RE
.PP
\-d \fIdebug\-level\fR
@@ -217,7 +217,7 @@ The default process\-id file.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000, 2001 Internet Software Consortium.
.br
+3 -3
View File
@@ -15,9 +15,9 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: lwresd.c,v 1.46.18.7.52.3 2008/07/23 23:16:43 marka Exp $ */
/* $Id: lwresd.c,v 1.46.18.10 2008/07/23 23:33:02 marka Exp $ */
/*! \file
/*! \file
* \brief
* Main program for the Lightweight Resolver Daemon.
*
@@ -224,7 +224,7 @@ ns_lwresd_parseeresolvconf(isc_mem_t *mctx, cfg_parser_t *pctx,
for (i = 0; i < lwc->searchnxt; i++) {
CHECK(buffer_putstr(&b, "\t\t\""));
CHECK(buffer_putstr(&b, lwc->search[i]));
CHECK(buffer_putstr(&b, "\";\n"));
CHECK(buffer_putstr(&b, "\";\n"));
}
CHECK(buffer_putstr(&b, "\t};\n"));
}
+5 -4
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: lwresd.docbook,v 1.7.18.8 2007/08/28 07:20:01 tbox Exp $ -->
<!-- $Id: lwresd.docbook,v 1.7.18.10 2008/10/16 23:46:00 tbox Exp $ -->
<refentry>
<refentryinfo>
<date>June 30, 2000</date>
@@ -40,6 +40,7 @@
<year>2004</year>
<year>2005</year>
<year>2007</year>
<year>2008</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -145,7 +146,7 @@
configuration file instead of the default,
<filename>/etc/lwresd.conf</filename>.
<!-- Should this be an absolute path name? -->
<term>-c</term> can not be used with <term>-C</term>.
<option>-c</option> can not be used with <option>-C</option>.
</para>
</listitem>
</varlistentry>
@@ -157,7 +158,7 @@
Use <replaceable class="parameter">config-file</replaceable> as the
configuration file instead of the default,
<filename>/etc/resolv.conf</filename>.
<term>-C</term> can not be used with <term>-c</term>.
<option>-C</option> can not be used with <option>-c</option>.
</para>
</listitem>
</varlistentry>
+9 -9
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: lwresd.html,v 1.5.18.18 2007/05/16 06:11:27 marka Exp $ -->
<!-- $Id: lwresd.html,v 1.5.18.19 2008/10/17 01:29:23 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">lwresd</code> [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-C <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-i <em class="replaceable"><code>pid-file</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-P <em class="replaceable"><code>port</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-4</code>] [<code class="option">-6</code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543461"></a><h2>DESCRIPTION</h2>
<a name="id2543464"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">lwresd</strong></span>
is the daemon providing name lookup
services to clients that use the BIND 9 lightweight resolver
@@ -67,7 +67,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543508"></a><h2>OPTIONS</h2>
<a name="id2543511"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-4</span></dt>
<dd><p>
@@ -87,14 +87,14 @@
configuration file instead of the default,
<code class="filename">/etc/lwresd.conf</code>.
<font color="red">&lt;term&gt;-c&lt;/term&gt;</font> can not be used with <font color="red">&lt;term&gt;-C&lt;/term&gt;</font>.
<code class="option">-c</code> can not be used with <code class="option">-C</code>.
</p></dd>
<dt><span class="term">-C <em class="replaceable"><code>config-file</code></em></span></dt>
<dd><p>
Use <em class="replaceable"><code>config-file</code></em> as the
configuration file instead of the default,
<code class="filename">/etc/resolv.conf</code>.
<font color="red">&lt;term&gt;-C&lt;/term&gt;</font> can not be used with <font color="red">&lt;term&gt;-c&lt;/term&gt;</font>.
<code class="option">-C</code> can not be used with <code class="option">-c</code>.
</p></dd>
<dt><span class="term">-d <em class="replaceable"><code>debug-level</code></em></span></dt>
<dd><p>
@@ -197,7 +197,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543925"></a><h2>FILES</h2>
<a name="id2543928"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/resolv.conf</code></span></dt>
<dd><p>
@@ -210,14 +210,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543964"></a><h2>SEE ALSO</h2>
<a name="id2543968"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">lwres</span>(3)</span>,
<span class="citerefentry"><span class="refentrytitle">resolver</span>(5)</span>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543998"></a><h2>AUTHOR</h2>
<a name="id2544002"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+48 -13
View File
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2006, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: main.c,v 1.136.18.17 2006/11/10 18:51:14 marka Exp $ */
/* $Id: main.c,v 1.136.18.21 2008/10/24 01:28:08 marka Exp $ */
/*! \file */
@@ -33,6 +33,7 @@
#include <isc/hash.h>
#include <isc/os.h>
#include <isc/platform.h>
#include <isc/print.h>
#include <isc/resource.h>
#include <isc/stdio.h>
#include <isc/string.h>
@@ -85,6 +86,7 @@ static char program_name[ISC_DIR_NAMEMAX] = "named";
static char absolute_conffile[ISC_DIR_PATHMAX];
static char saved_command_line[512];
static char version[512];
static unsigned int maxsocks = 0;
void
ns_main_earlywarning(const char *format, ...) {
@@ -356,7 +358,8 @@ parse_command_line(int argc, char *argv[]) {
isc_commandline_errprint = ISC_FALSE;
while ((ch = isc_commandline_parse(argc, argv,
"46c:C:d:fgi:lm:n:N:p:P:st:u:vx:")) != -1) {
"46c:C:d:fgi:lm:n:N:p:P:"
"sS:t:u:vx:")) != -1) {
switch (ch) {
case '4':
if (disable4)
@@ -435,6 +438,10 @@ parse_command_line(int argc, char *argv[]) {
/* XXXRTH temporary syntax */
want_stats = ISC_TRUE;
break;
case 'S':
maxsocks = parse_int(isc_commandline_argument,
"max number of sockets");
break;
case 't':
/* XXXJAB should we make a copy? */
ns_g_chrootdir = isc_commandline_argument;
@@ -466,17 +473,14 @@ parse_command_line(int argc, char *argv[]) {
static isc_result_t
create_managers(void) {
isc_result_t result;
#ifdef ISC_PLATFORM_USETHREADS
unsigned int cpus_detected;
#endif
unsigned int socks;
#ifdef ISC_PLATFORM_USETHREADS
cpus_detected = isc_os_ncpus();
if (ns_g_cpus == 0)
ns_g_cpus = cpus_detected;
ns_g_cpus = ns_g_cpus_detected;
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER,
ISC_LOG_INFO, "found %u CPU%s, using %u worker thread%s",
cpus_detected, cpus_detected == 1 ? "" : "s",
ns_g_cpus_detected, ns_g_cpus_detected == 1 ? "" : "s",
ns_g_cpus, ns_g_cpus == 1 ? "" : "s");
#else
ns_g_cpus = 1;
@@ -497,13 +501,19 @@ create_managers(void) {
return (ISC_R_UNEXPECTED);
}
result = isc_socketmgr_create(ns_g_mctx, &ns_g_socketmgr);
result = isc_socketmgr_create2(ns_g_mctx, &ns_g_socketmgr, maxsocks);
if (result != ISC_R_SUCCESS) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"isc_socketmgr_create() failed: %s",
isc_result_totext(result));
return (ISC_R_UNEXPECTED);
}
result = isc_socketmgr_getmaxsockets(ns_g_socketmgr, &socks);
if (result == ISC_R_SUCCESS) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER,
ISC_LOG_INFO, "using up to %u sockets", socks);
}
result = isc_entropy_create(ns_g_mctx, &ns_g_entropy);
if (result != ISC_R_SUCCESS) {
@@ -550,6 +560,7 @@ destroy_managers(void) {
static void
setup(void) {
isc_result_t result;
isc_resourcevalue_t old_openfiles;
#ifdef HAVE_LIBSCF
char *instance = NULL;
#endif
@@ -603,6 +614,13 @@ setup(void) {
}
#endif
#ifdef ISC_PLATFORM_USETHREADS
/*
* Check for the number of cpu's before ns_os_chroot().
*/
ns_g_cpus_detected = isc_os_ncpus();
#endif
ns_os_chroot(ns_g_chrootdir);
/*
@@ -655,6 +673,23 @@ setup(void) {
(void)isc_resource_getlimit(isc_resource_openfiles,
&ns_g_initopenfiles);
/*
* System resources cannot effectively be tuned on some systems.
* Raise the limit in such cases for safety.
*/
old_openfiles = ns_g_initopenfiles;
ns_os_adjustnofile();
(void)isc_resource_getlimit(isc_resource_openfiles,
&ns_g_initopenfiles);
if (old_openfiles != ns_g_initopenfiles) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_MAIN, ISC_LOG_NOTICE,
"adjusted limit on open files from "
"%" ISC_PRINT_QUADFORMAT "u to "
"%" ISC_PRINT_QUADFORMAT "u",
old_openfiles, ns_g_initopenfiles);
}
/*
* If the named configuration filename is relative, prepend the current
* directory's name before possibly changing to another directory.
@@ -665,7 +700,7 @@ setup(void) {
sizeof(absolute_conffile));
if (result != ISC_R_SUCCESS)
ns_main_earlyfatal("could not construct absolute path of "
"configuration file: %s",
"configuration file: %s",
isc_result_totext(result));
ns_g_conffile = absolute_conffile;
}
@@ -757,7 +792,7 @@ ns_smf_get_instance(char **ins_name, int debug, isc_mem_t *mctx) {
if (debug)
UNEXPECTED_ERROR(__FILE__, __LINE__,
"scf_handle_create() failed: %s",
scf_strerror(scf_error()));
scf_strerror(scf_error()));
return (ISC_R_FAILURE);
}
+19 -4
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named.8,v 1.20.18.15 2007/06/20 02:26:58 marka Exp $
.\" $Id: named.8,v 1.20.18.16 2008/09/01 02:29:00 tbox Exp $
.\"
.hy 0
.ad l
@@ -33,7 +33,7 @@
named \- Internet domain name server
.SH "SYNOPSIS"
.HP 6
\fBnamed\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
\fBnamed\fR [\fB\-4\fR] [\fB\-6\fR] [\fB\-c\ \fR\fB\fIconfig\-file\fR\fR] [\fB\-d\ \fR\fB\fIdebug\-level\fR\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-m\ \fR\fB\fIflag\fR\fR] [\fB\-n\ \fR\fB\fI#cpus\fR\fR] [\fB\-p\ \fR\fB\fIport\fR\fR] [\fB\-s\fR] [\fB\-S\ \fR\fB\fI#max\-socks\fR\fR] [\fB\-t\ \fR\fB\fIdirectory\fR\fR] [\fB\-u\ \fR\fB\fIuser\fR\fR] [\fB\-v\fR] [\fB\-x\ \fR\fB\fIcache\-file\fR\fR]
.SH "DESCRIPTION"
.PP
\fBnamed\fR
@@ -131,6 +131,21 @@ This option is mainly of interest to BIND 9 developers and may be removed or cha
.RE
.RE
.PP
\-S \fI#max\-socks\fR
.RS 4
Allow
\fBnamed\fR
to use up to
\fI#max\-socks\fR
sockets.
.RS
.B "Warning:"
This option should be unnecessary for the vast majority of users. The use of this option could even be harmful because the specified value may exceed the limitation of the underlying system API. It is therefore set only when the default configuration causes exhaustion of file descriptors and the operational environment is known to support the specified number of sockets. Note also that the actual maximum number is normally a little fewer than the specified value because
\fBnamed\fR
reserves some file descriptors for its internal use.
.RE
.RE
.PP
\-t \fIdirectory\fR
.RS 4
Chroot to
@@ -230,7 +245,7 @@ BIND 9 Administrator Reference Manual.
.PP
Internet Systems Consortium
.SH "COPYRIGHT"
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000, 2001, 2003 Internet Software Consortium.
.br
+4 -3
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: named.conf.5,v 1.1.2.26 2007/08/19 23:26:13 marka Exp $
.\" $Id: named.conf.5,v 1.1.2.27 2008/09/05 01:32:08 tbox Exp $
.\"
.hy 0
.ad l
@@ -174,6 +174,7 @@ options {
port \fIinteger\fR;
querylog \fIboolean\fR;
recursing\-file \fIquoted_string\fR;
reserved\-sockets \fIinteger\fR;
random\-device \fIquoted_string\fR;
recursive\-clients \fIinteger\fR;
serial\-query\-rate \fIinteger\fR;
@@ -516,5 +517,5 @@ zone \fIstring\fR \fIoptional_class\fR {
\fBrndc\fR(8),
BIND 9 Administrator Reference Manual.
.SH "COPYRIGHT"
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC")
.br
+1 -1
View File
@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.conf.docbook,v 1.1.2.29.12.2 2008/07/23 23:48:17 tbox Exp $ -->
<!-- $Id: named.conf.docbook,v 1.1.2.31 2008/09/04 23:46:08 tbox Exp $ -->
<refentry>
<refentryinfo>
<date>Aug 13, 2004</date>
+17 -16
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
-
- Permission to use, copy, modify, and distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.conf.html,v 1.1.2.35 2007/08/19 23:26:13 marka Exp $ -->
<!-- $Id: named.conf.html,v 1.1.2.36 2008/09/05 01:32:08 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -31,7 +31,7 @@
<div class="cmdsynopsis"><p><code class="command">named.conf</code> </p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2542042"></a><h2>DESCRIPTION</h2>
<a name="id2543342"></a><h2>DESCRIPTION</h2>
<p><code class="filename">named.conf</code> is the configuration file
for
<span><strong class="command">named</strong></span>. Statements are enclosed
@@ -50,14 +50,14 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543367"></a><h2>ACL</h2>
<a name="id2543370"></a><h2>ACL</h2>
<div class="literallayout"><p><br>
acl <em class="replaceable"><code>string</code></em> { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
<br>
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543383"></a><h2>KEY</h2>
<a name="id2543386"></a><h2>KEY</h2>
<div class="literallayout"><p><br>
key <em class="replaceable"><code>domain_name</code></em> {<br>
algorithm <em class="replaceable"><code>string</code></em>;<br>
@@ -66,7 +66,7 @@ key
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543402"></a><h2>MASTERS</h2>
<a name="id2543405"></a><h2>MASTERS</h2>
<div class="literallayout"><p><br>
masters <em class="replaceable"><code>string</code></em> [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] {<br>
( <em class="replaceable"><code>masters</code></em> | <em class="replaceable"><code>ipv4_address</code></em> [<span class="optional">port <em class="replaceable"><code>integer</code></em></span>] |<br>
@@ -75,7 +75,7 @@ masters
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543448"></a><h2>SERVER</h2>
<a name="id2543451"></a><h2>SERVER</h2>
<div class="literallayout"><p><br>
server ( <em class="replaceable"><code>ipv4_address[<span class="optional">/prefixlen</span>]</code></em> | <em class="replaceable"><code>ipv6_address[<span class="optional">/prefixlen</span>]</code></em> ) {<br>
bogus <em class="replaceable"><code>boolean</code></em>;<br>
@@ -97,7 +97,7 @@ server
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543516"></a><h2>TRUSTED-KEYS</h2>
<a name="id2543520"></a><h2>TRUSTED-KEYS</h2>
<div class="literallayout"><p><br>
trusted-keys {<br>
<em class="replaceable"><code>domain_name</code></em> <em class="replaceable"><code>flags</code></em> <em class="replaceable"><code>protocol</code></em> <em class="replaceable"><code>algorithm</code></em> <em class="replaceable"><code>key</code></em>; ... <br>
@@ -105,7 +105,7 @@ trusted-keys
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543542"></a><h2>CONTROLS</h2>
<a name="id2543545"></a><h2>CONTROLS</h2>
<div class="literallayout"><p><br>
controls {<br>
inet ( <em class="replaceable"><code>ipv4_address</code></em> | <em class="replaceable"><code>ipv6_address</code></em> | * )<br>
@@ -117,7 +117,7 @@ controls
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543577"></a><h2>LOGGING</h2>
<a name="id2543580"></a><h2>LOGGING</h2>
<div class="literallayout"><p><br>
logging {<br>
channel <em class="replaceable"><code>string</code></em> {<br>
@@ -135,7 +135,7 @@ logging
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543616"></a><h2>LWRES</h2>
<a name="id2543619"></a><h2>LWRES</h2>
<div class="literallayout"><p><br>
lwres {<br>
listen-on [<span class="optional"> port <em class="replaceable"><code>integer</code></em> </span>] {<br>
@@ -148,7 +148,7 @@ lwres
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543657"></a><h2>OPTIONS</h2>
<a name="id2543660"></a><h2>OPTIONS</h2>
<div class="literallayout"><p><br>
options {<br>
avoid-v4-udp-ports { <em class="replaceable"><code>port</code></em>; ... };<br>
@@ -172,6 +172,7 @@ options
port <em class="replaceable"><code>integer</code></em>;<br>
querylog <em class="replaceable"><code>boolean</code></em>;<br>
recursing-file <em class="replaceable"><code>quoted_string</code></em>;<br>
reserved-sockets <em class="replaceable"><code>integer</code></em>;<br>
random-device <em class="replaceable"><code>quoted_string</code></em>;<br>
recursive-clients <em class="replaceable"><code>integer</code></em>;<br>
serial-query-rate <em class="replaceable"><code>integer</code></em>;<br>
@@ -313,7 +314,7 @@ options
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544401"></a><h2>VIEW</h2>
<a name="id2544407"></a><h2>VIEW</h2>
<div class="literallayout"><p><br>
view <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>optional_class</code></em> {<br>
match-clients { <em class="replaceable"><code>address_match_element</code></em>; ... };<br>
@@ -453,7 +454,7 @@ view
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544966"></a><h2>ZONE</h2>
<a name="id2544972"></a><h2>ZONE</h2>
<div class="literallayout"><p><br>
zone <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>optional_class</code></em> {<br>
type ( master | slave | stub | hint |<br>
@@ -538,12 +539,12 @@ zone
</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2545319"></a><h2>FILES</h2>
<a name="id2545325"></a><h2>FILES</h2>
<p><code class="filename">/etc/named.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545331"></a><h2>SEE ALSO</h2>
<a name="id2545337"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
+31 -2
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.docbook,v 1.7.18.12 2007/08/28 07:20:01 tbox Exp $ -->
<!-- $Id: named.docbook,v 1.7.18.14 2008/08/21 23:46:01 tbox Exp $ -->
<refentry id="man.named">
<refentryinfo>
<date>June 30, 2000</date>
@@ -41,6 +41,7 @@
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -64,6 +65,7 @@
<arg><option>-n <replaceable class="parameter">#cpus</replaceable></option></arg>
<arg><option>-p <replaceable class="parameter">port</replaceable></option></arg>
<arg><option>-s</option></arg>
<arg><option>-S <replaceable class="parameter">#max-socks</replaceable></option></arg>
<arg><option>-t <replaceable class="parameter">directory</replaceable></option></arg>
<arg><option>-u <replaceable class="parameter">user</replaceable></option></arg>
<arg><option>-v</option></arg>
@@ -214,6 +216,33 @@
</listitem>
</varlistentry>
<varlistentry>
<term>-S <replaceable class="parameter">#max-socks</replaceable></term>
<listitem>
<para>
Allow <command>named</command> to use up to
<replaceable class="parameter">#max-socks</replaceable> sockets.
</para>
<warning>
<para>
This option should be unnecessary for the vast majority
of users.
The use of this option could even be harmful because the
specified value may exceed the limitation of the
underlying system API.
It is therefore set only when the default configuration
causes exhaustion of file descriptors and the
operational environment is known to support the
specified number of sockets.
Note also that the actual maximum number is normally a little
fewer than the specified value because
<command>named</command> reserves some file descriptors
for its internal use.
</para>
</warning>
</listitem>
</varlistentry>
<varlistentry>
<term>-t <replaceable class="parameter">directory</replaceable></term>
<listitem>
+35 -10
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: named.html,v 1.6.18.21 2007/06/20 02:26:58 marka Exp $ -->
<!-- $Id: named.html,v 1.6.18.22 2008/09/01 02:29:00 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -29,10 +29,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543452"></a><h2>DESCRIPTION</h2>
<a name="id2543464"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named</strong></span>
is a Domain Name System (DNS) server,
part of the BIND 9 distribution from ISC. For more
@@ -47,7 +47,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543477"></a><h2>OPTIONS</h2>
<a name="id2543489"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-4</span></dt>
<dd><p>
@@ -126,6 +126,31 @@
</p>
</div>
</dd>
<dt><span class="term">-S <em class="replaceable"><code>#max-socks</code></em></span></dt>
<dd>
<p>
Allow <span><strong class="command">named</strong></span> to use up to
<em class="replaceable"><code>#max-socks</code></em> sockets.
</p>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p>
This option should be unnecessary for the vast majority
of users.
The use of this option could even be harmful because the
specified value may exceed the limitation of the
underlying system API.
It is therefore set only when the default configuration
causes exhaustion of file descriptors and the
operational environment is known to support the
specified number of sockets.
Note also that the actual maximum number is normally a little
fewer than the specified value because
<span><strong class="command">named</strong></span> reserves some file descriptors
for its internal use.
</p>
</div>
</dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd>
<p>Chroot
@@ -191,7 +216,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543864"></a><h2>SIGNALS</h2>
<a name="id2543911"></a><h2>SIGNALS</h2>
<p>
In routine operation, signals should not be used to control
the nameserver; <span><strong class="command">rndc</strong></span> should be used
@@ -212,7 +237,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543912"></a><h2>CONFIGURATION</h2>
<a name="id2543959"></a><h2>CONFIGURATION</h2>
<p>
The <span><strong class="command">named</strong></span> configuration file is too complex
to describe in detail here. A complete description is provided
@@ -221,7 +246,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543929"></a><h2>FILES</h2>
<a name="id2543976"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
<dd><p>
@@ -234,7 +259,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543969"></a><h2>SEE ALSO</h2>
<a name="id2544016"></a><h2>SEE ALSO</h2>
<p><em class="citetitle">RFC 1033</em>,
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>,
@@ -247,7 +272,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544039"></a><h2>AUTHOR</h2>
<a name="id2544086"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+47 -23
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: query.c,v 1.257.18.40 2007/09/26 03:08:14 each Exp $ */
/* $Id: query.c,v 1.257.18.46 2008/10/15 22:33:01 marka Exp $ */
/*! \file */
@@ -2298,7 +2298,7 @@ mark_secure(ns_client_t *client, dns_db_t *db, dns_name_t *name,
static isc_boolean_t
get_key(ns_client_t *client, dns_db_t *db, dns_rdata_rrsig_t *rrsig,
dns_rdataset_t *keyrdataset, dst_key_t **keyp)
{
{
isc_result_t result;
dns_dbnode_t *node = NULL;
isc_boolean_t secure = ISC_FALSE;
@@ -2331,12 +2331,12 @@ get_key(ns_client_t *client, dns_db_t *db, dns_rdata_rrsig_t *rrsig,
isc_buffer_init(&b, rdata.data, rdata.length);
isc_buffer_add(&b, rdata.length);
result = dst_key_fromdns(&rrsig->signer, rdata.rdclass, &b,
client->mctx, keyp);
client->mctx, keyp);
if (result != ISC_R_SUCCESS)
continue;
if (rrsig->algorithm == (dns_secalg_t)dst_key_alg(*keyp) &&
rrsig->keyid == (dns_keytag_t)dst_key_id(*keyp) &&
dst_key_iszonekey(*keyp)) {
rrsig->keyid == (dns_keytag_t)dst_key_id(*keyp) &&
dst_key_iszonekey(*keyp)) {
secure = ISC_TRUE;
break;
}
@@ -2354,7 +2354,7 @@ verify(dst_key_t *key, dns_name_t *name, dns_rdataset_t *rdataset,
isc_boolean_t ignore = ISC_FALSE;
dns_fixedname_init(&fixed);
again:
result = dns_dnssec_verify2(name, rdataset, key, ignore, mctx,
rdata, NULL);
@@ -2382,7 +2382,7 @@ validate(ns_client_t *client, dns_db_t *db, dns_name_t *name,
if (sigrdataset == NULL || !dns_rdataset_isassociated(sigrdataset))
return (ISC_FALSE);
for (result = dns_rdataset_first(sigrdataset);
result == ISC_R_SUCCESS;
result = dns_rdataset_next(sigrdataset)) {
@@ -2757,6 +2757,13 @@ query_addwildcardproof(ns_client_t *client, dns_db_t *db,
&olabels);
(void)dns_name_fullcompare(name, &nsec.next, &order,
&nlabels);
/*
* Check for a pathological condition created when
* serving some malformed signed zones and bail out.
*/
if (dns_name_countlabels(name) == nlabels)
goto cleanup;
if (olabels > nlabels)
dns_name_split(name, olabels, NULL, wname);
else
@@ -2924,13 +2931,14 @@ query_resume(isc_task_t *task, isc_event_t *event) {
static isc_result_t
query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qdomain,
dns_rdataset_t *nameservers)
dns_rdataset_t *nameservers, isc_boolean_t resuming)
{
isc_result_t result;
dns_rdataset_t *rdataset, *sigrdataset;
isc_sockaddr_t *peeraddr;
inc_stats(client, dns_statscounter_recursion);
if (!resuming)
inc_stats(client, dns_statscounter_recursion);
/*
* We are about to recurse, which means that this client will
@@ -3162,11 +3170,11 @@ query_addnoqnameproof(ns_client_t *client, dns_rdataset_t *rdataset) {
cleanup:
if (nsec != NULL)
query_putrdataset(client, &nsec);
if (nsecsig != NULL)
query_putrdataset(client, &nsecsig);
if (fname != NULL)
query_releasename(client, &fname);
query_putrdataset(client, &nsec);
if (nsecsig != NULL)
query_putrdataset(client, &nsecsig);
if (fname != NULL)
query_releasename(client, &fname);
}
static inline void
@@ -3269,12 +3277,12 @@ warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t *rdataset) {
dns_rdata_soa_t soa;
dns_rdataset_t found;
isc_result_t result;
for (i = 0; i < (sizeof(rfc1918names)/sizeof(*rfc1918names)); i++) {
if (dns_name_issubdomain(fname, &rfc1918names[i])) {
dns_rdataset_init(&found);
result = dns_ncache_getrdataset(rdataset,
&rfc1918names[i],
&rfc1918names[i],
dns_rdatatype_soa,
&found);
if (result != ISC_R_SUCCESS)
@@ -3335,6 +3343,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
unsigned int options;
isc_boolean_t empty_wild;
dns_rdataset_t *noqname;
isc_boolean_t resuming;
CTRACE("query_find");
@@ -3360,6 +3369,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
need_wildcardproof = ISC_FALSE;
empty_wild = ISC_FALSE;
options = 0;
resuming = ISC_FALSE;
is_zone = ISC_FALSE;
if (event != NULL) {
/*
@@ -3369,7 +3380,6 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
want_restart = ISC_FALSE;
authoritative = ISC_FALSE;
is_zone = ISC_FALSE;
qtype = event->qtype;
if (qtype == dns_rdatatype_rrsig || qtype == dns_rdatatype_sig)
@@ -3402,6 +3412,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
}
result = event->result;
resuming = ISC_TRUE;
goto resume;
}
@@ -3602,7 +3613,7 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/
if (RECURSIONOK(client)) {
result = query_recurse(client, qtype,
NULL, NULL);
NULL, NULL, resuming);
if (result == ISC_R_SUCCESS)
client->query.attributes |=
NS_QUERYATTR_RECURSING;
@@ -3773,10 +3784,12 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/
if (dns_rdatatype_atparent(type))
result = query_recurse(client, qtype,
NULL, NULL);
NULL, NULL,
resuming);
else
result = query_recurse(client, qtype,
fname, rdataset);
fname, rdataset,
resuming);
if (result == ISC_R_SUCCESS)
client->query.attributes |=
NS_QUERYATTR_RECURSING;
@@ -4220,7 +4233,8 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
result = query_recurse(client,
qtype,
NULL,
NULL);
NULL,
resuming);
if (result == ISC_R_SUCCESS)
client->query.attributes |=
NS_QUERYATTR_RECURSING;
@@ -4437,6 +4451,7 @@ ns_query_start(ns_client_t *client) {
dns_rdataset_t *rdataset;
ns_client_t *qclient;
dns_rdatatype_t qtype;
isc_boolean_t want_ad;
CTRACE("ns_query_start");
@@ -4575,6 +4590,15 @@ ns_query_start(ns_client_t *client) {
if (message->flags & DNS_MESSAGEFLAG_CD)
client->query.attributes &= ~NS_QUERYATTR_SECURE;
/*
* Set 'want_ad' if the client has set AD in the query.
* This allows AD to be returned on queries without DO set.
*/
if ((message->flags & DNS_MESSAGEFLAG_AD) != 0)
want_ad = ISC_TRUE;
else
want_ad = ISC_FALSE;
/*
* This is an ordinary query.
*/
@@ -4594,7 +4618,7 @@ ns_query_start(ns_client_t *client) {
* Set AD. We must clear it if we add non-validated data to a
* response.
*/
if (WANTDNSSEC(client))
if (WANTDNSSEC(client) || want_ad)
message->flags |= DNS_MESSAGEFLAG_AD;
qclient = NULL;
+217 -121
View File
@@ -15,13 +15,14 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.c,v 1.419.18.57.10.3 2008/07/23 12:04:32 marka Exp $ */
/* $Id: server.c,v 1.419.18.68 2008/09/04 23:46:08 tbox Exp $ */
/*! \file */
#include <config.h>
#include <stdlib.h>
#include <unistd.h>
#include <isc/app.h>
#include <isc/base64.h>
@@ -31,8 +32,10 @@
#include <isc/hash.h>
#include <isc/lex.h>
#include <isc/parseint.h>
#include <isc/portset.h>
#include <isc/print.h>
#include <isc/resource.h>
#include <isc/socket.h>
#include <isc/stdio.h>
#include <isc/string.h>
#include <isc/task.h>
@@ -197,6 +200,7 @@ static const struct {
#endif
/* RFC 3330 */
{ "0.IN-ADDR.ARPA", ISC_FALSE }, /* THIS NETWORK */
{ "127.IN-ADDR.ARPA", ISC_FALSE }, /* LOOPBACK */
{ "254.169.IN-ADDR.ARPA", ISC_FALSE }, /* LINK LOCAL */
{ "2.0.192.IN-ADDR.ARPA", ISC_FALSE }, /* TEST NET */
@@ -438,7 +442,7 @@ configure_view_dnsseckeys(const cfg_obj_t *vconfig, const cfg_obj_t *config,
*target = keytable; /* Transfer ownership. */
keytable = NULL;
result = ISC_R_SUCCESS;
cleanup:
return (result);
}
@@ -454,7 +458,7 @@ mustbesecure(const cfg_obj_t *mbs, dns_resolver_t *resolver)
isc_boolean_t value;
isc_result_t result;
isc_buffer_t b;
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
for (element = cfg_list_first(mbs);
@@ -472,7 +476,7 @@ mustbesecure(const cfg_obj_t *mbs, dns_resolver_t *resolver)
}
result = ISC_R_SUCCESS;
cleanup:
return (result);
}
@@ -482,13 +486,15 @@ mustbesecure(const cfg_obj_t *mbs, dns_resolver_t *resolver)
*/
static isc_result_t
get_view_querysource_dispatch(const cfg_obj_t **maps,
int af, dns_dispatch_t **dispatchp)
int af, dns_dispatch_t **dispatchp,
isc_boolean_t is_firstview)
{
isc_result_t result;
dns_dispatch_t *disp;
isc_sockaddr_t sa;
unsigned int attrs, attrmask;
const cfg_obj_t *obj = NULL;
unsigned int maxdispatchbuffers;
/*
* Make compiler happy.
@@ -540,12 +546,18 @@ get_view_querysource_dispatch(const cfg_obj_t **maps,
attrs |= DNS_DISPATCHATTR_IPV6;
break;
}
if (isc_sockaddr_getport(&sa) != 0) {
if (isc_sockaddr_getport(&sa) == 0) {
attrs |= DNS_DISPATCHATTR_EXCLUSIVE;
maxdispatchbuffers = 4096;
} else {
INSIST(obj != NULL);
cfg_obj_log(obj, ns_g_lctx, ISC_LOG_INFO,
"using specific query-source port suppresses port "
"randomization and can be insecure.");
if (is_firstview) {
cfg_obj_log(obj, ns_g_lctx, ISC_LOG_INFO,
"using specific query-source port "
"suppresses port randomization and can be "
"insecure.");
}
maxdispatchbuffers = 1000;
}
attrmask = 0;
@@ -557,7 +569,7 @@ get_view_querysource_dispatch(const cfg_obj_t **maps,
disp = NULL;
result = dns_dispatch_getudp(ns_g_dispatchmgr, ns_g_socketmgr,
ns_g_taskmgr, &sa, 4096,
1024, 32768, 16411, 16433,
maxdispatchbuffers, 32768, 16411, 16433,
attrs, attrmask, &disp);
if (result != ISC_R_SUCCESS) {
isc_sockaddr_t any;
@@ -609,7 +621,7 @@ configure_order(dns_order_t *order, const cfg_obj_t *ent) {
return (result);
obj = cfg_tuple_get(ent, "name");
if (cfg_obj_isstring(obj))
if (cfg_obj_isstring(obj))
str = cfg_obj_asstring(obj);
else
str = "*";
@@ -662,7 +674,7 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) {
cfg_obj_asnetprefix(cfg_map_getname(cpeer), &na, &prefixlen);
peer = NULL;
result = dns_peer_new(mctx, &na, &peer);
result = dns_peer_newprefix(mctx, &na, prefixlen, &peer);
if (result != ISC_R_SUCCESS)
return (result);
@@ -840,7 +852,7 @@ on_disable_list(const cfg_obj_t *disablelist, dns_name_t *zonename) {
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
for (element = cfg_list_first(disablelist);
element != NULL;
element = cfg_list_next(element))
@@ -911,9 +923,9 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
const cfg_obj_t *alternates;
const cfg_obj_t *zonelist;
#ifdef DLZ
const cfg_obj_t *dlz;
unsigned int dlzargc;
char **dlzargv;
const cfg_obj_t *dlz;
unsigned int dlzargc;
char **dlzargv;
#endif
const cfg_obj_t *disabled;
const cfg_obj_t *obj;
@@ -1064,7 +1076,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
result = ISC_R_NOMEMORY;
goto cleanup;
}
result = dns_dlzstrtoargv(mctx, s, &dlzargc, &dlzargv);
if (result != ISC_R_SUCCESS) {
isc_mem_free(mctx, s);
@@ -1183,8 +1195,12 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
*
* XXXRTH Hardwired number of tasks.
*/
CHECK(get_view_querysource_dispatch(maps, AF_INET, &dispatch4));
CHECK(get_view_querysource_dispatch(maps, AF_INET6, &dispatch6));
CHECK(get_view_querysource_dispatch(maps, AF_INET, &dispatch4,
ISC_TF(ISC_LIST_PREV(view, link)
== NULL)));
CHECK(get_view_querysource_dispatch(maps, AF_INET6, &dispatch6,
ISC_TF(ISC_LIST_PREV(view, link)
== NULL)));
if (dispatch4 == NULL && dispatch6 == NULL) {
UNEXPECTED_ERROR(__FILE__, __LINE__,
"unable to obtain neither an IPv4 nor"
@@ -1223,7 +1239,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
result = ns_config_get(maps, "zero-no-soa-ttl-cache", &obj);
INSIST(result == ISC_R_SUCCESS);
dns_resolver_setzeronosoattl(view->resolver, cfg_obj_asboolean(obj));
/*
* Set the resolver's EDNS UDP size.
*/
@@ -1236,7 +1252,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
if (udpsize > 4096)
udpsize = 4096;
dns_resolver_setudpsize(view->resolver, (isc_uint16_t)udpsize);
/*
* Set the maximum UDP response size.
*/
@@ -1273,7 +1289,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
(void)ns_config_get(maps, "forward", &forwardtype);
(void)ns_config_get(maps, "forwarders", &forwarders);
if (forwarders != NULL)
CHECK(configure_forward(config, view, dns_rootname,
CHECK(configure_forward(config, view, dns_rootname,
forwarders, forwardtype));
/*
@@ -1293,7 +1309,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
/*
* If we still have no hints, this is a non-IN view with no
* "hints zone" configured. Issue a warning, except if this
* is a root server. Root servers never need to consult
* is a root server. Root servers never need to consult
* their hints, so it's no point requiring users to configure
* them.
*/
@@ -1416,7 +1432,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
view->transfer_format = dns_one_answer;
else
INSIST(0);
/*
* Set sources where additional data and CNAME/DNAME
* targets for authoritative answers may be found.
@@ -1516,7 +1532,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
dns_resolver_setclientsperquery(view->resolver,
cfg_obj_asuint32(obj),
max_clients_per_query);
obj = NULL;
result = ns_config_get(maps, "dnssec-enable", &obj);
INSIST(result == ISC_R_SUCCESS);
@@ -1745,14 +1761,14 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
if (result == ISC_R_SUCCESS &&
forwarders->fwdpolicy == dns_fwdpolicy_only)
continue;
if (!rfc1918 && empty_zones[empty_zone].rfc1918) {
if (logit) {
isc_log_write(ns_g_lctx,
NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER,
ISC_LOG_WARNING,
"Warning%s%s: "
"Warning%s%s: "
"'empty-zones-enable/"
"disable-empty-zone' "
"not set: disabling "
@@ -1794,7 +1810,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
dns_zone_setclass(zone, view->rdclass);
dns_zone_settype(zone, dns_zone_master);
CHECK(dns_zone_setdbtype(zone, empty_dbtypec,
empty_dbtype));
empty_dbtype));
if (view->queryacl != NULL)
dns_zone_setqueryacl(zone, view->queryacl);
dns_zone_setdialup(zone, dns_dialuptype_no);
@@ -1809,7 +1825,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
dns_zone_detach(&zone);
}
}
result = ISC_R_SUCCESS;
cleanup:
@@ -2125,7 +2141,7 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig,
"name"));
else
vname = "<default view>";
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
"zone '%s': wrong class for view '%s'",
@@ -2499,7 +2515,7 @@ adjust_interfaces(ns_server_t *server, isc_mem_t *mctx) {
}
ns_interfacemgr_adjust(server->interfacemgr, list, ISC_TRUE);
clean:
ns_listenlist_detach(&list);
return;
@@ -2588,7 +2604,7 @@ setstring(ns_server_t *server, char **field, const char *value) {
*field = copy;
return (ISC_R_SUCCESS);
}
}
/*
* Replace the current value of '*field', a dynamically allocated
@@ -2630,7 +2646,7 @@ set_limit(const cfg_obj_t **maps, const char *configname,
result = isc_resource_setlimit(resourceid, value);
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_SERVER,
result == ISC_R_SUCCESS ?
ISC_LOG_DEBUG(3) : ISC_LOG_WARNING,
ISC_LOG_DEBUG(3) : ISC_LOG_WARNING,
"set maximum %s to %" ISC_PRINT_QUADFORMAT "d: %s",
description, value, isc_result_totext(result));
}
@@ -2647,31 +2663,48 @@ set_limits(const cfg_obj_t **maps) {
SETLIMIT("files", openfiles, "open files");
}
static isc_result_t
portlist_fromconf(dns_portlist_t *portlist, unsigned int family,
const cfg_obj_t *ports)
static void
portset_fromconf(isc_portset_t *portset, const cfg_obj_t *ports,
isc_boolean_t positive)
{
const cfg_listelt_t *element;
isc_result_t result = ISC_R_SUCCESS;
for (element = cfg_list_first(ports);
element != NULL;
element = cfg_list_next(element)) {
const cfg_obj_t *obj = cfg_listelt_value(element);
in_port_t port = (in_port_t)cfg_obj_asuint32(obj);
result = dns_portlist_add(portlist, family, port);
if (result != ISC_R_SUCCESS)
break;
if (cfg_obj_isuint32(obj)) {
in_port_t port = (in_port_t)cfg_obj_asuint32(obj);
if (positive)
isc_portset_add(portset, port);
else
isc_portset_remove(portset, port);
} else {
const cfg_obj_t *obj_loport, *obj_hiport;
in_port_t loport, hiport;
obj_loport = cfg_tuple_get(obj, "loport");
loport = (in_port_t)cfg_obj_asuint32(obj_loport);
obj_hiport = cfg_tuple_get(obj, "hiport");
hiport = (in_port_t)cfg_obj_asuint32(obj_hiport);
if (positive)
isc_portset_addrange(portset, loport, hiport);
else {
isc_portset_removerange(portset, loport,
hiport);
}
}
}
return (result);
}
static isc_result_t
removed(dns_zone_t *zone, void *uap) {
const char *type;
if (dns_zone_getview(zone) != uap)
if (dns_zone_getview(zone) != uap)
return (ISC_R_SUCCESS);
switch (dns_zone_gettype(zone)) {
@@ -2704,28 +2737,31 @@ load_configuration(const char *filename, ns_server_t *server,
const cfg_obj_t *maps[3];
const cfg_obj_t *obj;
const cfg_obj_t *options;
const cfg_obj_t *v4ports, *v6ports;
const cfg_obj_t *usev4ports, *avoidv4ports, *usev6ports, *avoidv6ports;
const cfg_obj_t *views;
dns_view_t *view = NULL;
dns_view_t *view_next;
dns_viewlist_t tmpviewlist;
dns_viewlist_t viewlist;
in_port_t listen_port;
in_port_t listen_port, udpport_low, udpport_high;
int i;
isc_interval_t interval;
isc_resourcevalue_t files;
isc_portset_t *v4portset = NULL;
isc_portset_t *v6portset = NULL;
isc_resourcevalue_t nfiles;
isc_result_t result;
isc_uint32_t heartbeat_interval;
isc_uint32_t interface_interval;
isc_uint32_t reserved;
isc_uint32_t udpsize;
unsigned int maxsocks;
cfg_aclconfctx_init(&aclconfctx);
ISC_LIST_INIT(viewlist);
/* Ensure exclusive access to configuration data. */
result = isc_task_beginexclusive(server->task);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
/*
* Parse the global default pseudo-config file.
@@ -2799,20 +2835,22 @@ load_configuration(const char *filename, ns_server_t *server,
set_limits(maps);
/*
* Sanity check on "files" limit.
* Check if max number of open sockets that the system allows is
* sufficiently large. Failing this condition is not necessarily fatal,
* but may cause subsequent runtime failures for a busy recursive
* server.
*/
result = isc_resource_curlimit(isc_resource_openfiles, &files);
if (result == ISC_R_SUCCESS && files < FD_SETSIZE) {
result = isc_socketmgr_getmaxsockets(ns_g_socketmgr, &maxsocks);
if (result != ISC_R_SUCCESS)
maxsocks = 0;
result = isc_resource_getcurlimit(isc_resource_openfiles, &nfiles);
if (result == ISC_R_SUCCESS && (isc_resourcevalue_t)maxsocks > nfiles) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
"the 'files' limit (%" ISC_PRINT_QUADFORMAT "u) "
"is less than FD_SETSIZE (%d), increase "
"'files' in named.conf or recompile with a "
"smaller FD_SETSIZE.", files, FD_SETSIZE);
if (files > FD_SETSIZE)
files = FD_SETSIZE;
} else
files = FD_SETSIZE;
"max open files (%" ISC_PRINT_QUADFORMAT "u)"
" is smaller than max sockets (%u)",
nfiles, maxsocks);
}
/*
* Set the number of socket reserved for TCP, stdio etc.
@@ -2821,20 +2859,23 @@ load_configuration(const char *filename, ns_server_t *server,
result = ns_config_get(maps, "reserved-sockets", &obj);
INSIST(result == ISC_R_SUCCESS);
reserved = cfg_obj_asuint32(obj);
if (files < 128U) /* Prevent underflow. */
reserved = 0;
else if (reserved > files - 128U) /* Mimimum UDP space. */
reserved = files - 128;
if (reserved < 128U) /* Mimimum TCP/stdio space. */
if (maxsocks != 0) {
if (maxsocks < 128U) /* Prevent underflow. */
reserved = 0;
else if (reserved > maxsocks - 128U) /* Minimum UDP space. */
reserved = maxsocks - 128;
}
/* Minimum TCP/stdio space. */
if (reserved < 128U)
reserved = 128;
if (reserved + 128U > files) {
if (reserved + 128U > maxsocks && maxsocks != 0) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
NS_LOGMODULE_SERVER, ISC_LOG_WARNING,
"less than 128 UDP sockets available after "
"applying 'reserved-sockets' and 'files'");
"applying 'reserved-sockets' and 'maxsockets'");
}
isc__socketmgr_setreserved(ns_g_socketmgr, reserved);
/*
* Configure various server options.
*/
@@ -2859,24 +2900,64 @@ load_configuration(const char *filename, ns_server_t *server,
INSIST(result == ISC_R_SUCCESS);
server->aclenv.match_mapped = cfg_obj_asboolean(obj);
v4ports = NULL;
v6ports = NULL;
(void)ns_config_get(maps, "avoid-v4-udp-ports", &v4ports);
(void)ns_config_get(maps, "avoid-v6-udp-ports", &v6ports);
if (v4ports != NULL || v6ports != NULL) {
dns_portlist_t *portlist = NULL;
result = dns_portlist_create(ns_g_mctx, &portlist);
if (result == ISC_R_SUCCESS && v4ports != NULL)
result = portlist_fromconf(portlist, AF_INET, v4ports);
if (result == ISC_R_SUCCESS && v6ports != NULL)
portlist_fromconf(portlist, AF_INET6, v6ports);
if (result == ISC_R_SUCCESS)
dns_dispatchmgr_setblackportlist(ns_g_dispatchmgr, portlist);
if (portlist != NULL)
dns_portlist_detach(&portlist);
CHECK(result);
} else
dns_dispatchmgr_setblackportlist(ns_g_dispatchmgr, NULL);
/*
* Configure sets of UDP query source ports.
*/
CHECKM(isc_portset_create(ns_g_mctx, &v4portset),
"creating UDP port set");
CHECKM(isc_portset_create(ns_g_mctx, &v6portset),
"creating UDP port set");
usev4ports = NULL;
usev6ports = NULL;
avoidv4ports = NULL;
avoidv6ports = NULL;
(void)ns_config_get(maps, "use-v4-udp-ports", &usev4ports);
if (usev4ports != NULL)
portset_fromconf(v4portset, usev4ports, ISC_TRUE);
else {
CHECKM(isc_net_getudpportrange(AF_INET, &udpport_low,
&udpport_high),
"get the default UDP/IPv4 port range");
if (udpport_low == udpport_high)
isc_portset_add(v4portset, udpport_low);
else {
isc_portset_addrange(v4portset, udpport_low,
udpport_high);
}
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER, ISC_LOG_INFO,
"using default UDP/IPv4 port range: [%d, %d]",
udpport_low, udpport_high);
}
(void)ns_config_get(maps, "avoid-v4-udp-ports", &avoidv4ports);
if (avoidv4ports != NULL)
portset_fromconf(v4portset, avoidv4ports, ISC_FALSE);
(void)ns_config_get(maps, "use-v6-udp-ports", &usev6ports);
if (usev6ports != NULL)
portset_fromconf(v6portset, usev6ports, ISC_TRUE);
else {
CHECKM(isc_net_getudpportrange(AF_INET6, &udpport_low,
&udpport_high),
"get the default UDP/IPv6 port range");
if (udpport_low == udpport_high)
isc_portset_add(v6portset, udpport_low);
else {
isc_portset_addrange(v6portset, udpport_low,
udpport_high);
}
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER, ISC_LOG_INFO,
"using default UDP/IPv6 port range: [%d, %d]",
udpport_low, udpport_high);
}
(void)ns_config_get(maps, "avoid-v6-udp-ports", &avoidv6ports);
if (avoidv6ports != NULL)
portset_fromconf(v6portset, avoidv6ports, ISC_FALSE);
dns_dispatchmgr_setavailports(ns_g_dispatchmgr, v4portset, v6portset);
/*
* Set the EDNS UDP size when we don't match a view.
@@ -3037,7 +3118,7 @@ load_configuration(const char *filename, ns_server_t *server,
NULL, &interval, ISC_FALSE));
}
server->heartbeat_interval = heartbeat_interval;
isc_interval_set(&interval, 1200, 0);
CHECK(isc_timer_reset(server->pps_timer, isc_timertype_ticker, NULL,
&interval, ISC_FALSE));
@@ -3184,6 +3265,15 @@ load_configuration(const char *filename, ns_server_t *server,
if (first_time)
ns_os_changeuser();
/*
* Check that the working directory is writable.
*/
if (access(".", W_OK) != 0) {
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER, ISC_LOG_ERROR,
"the working directory is not writable");
}
/*
* Configure the logging system.
*
@@ -3277,7 +3367,7 @@ load_configuration(const char *filename, ns_server_t *server,
ns_os_writepidfile(lwresd_g_defaultpidfile, first_time);
else
ns_os_writepidfile(ns_g_defaultpidfile, first_time);
obj = NULL;
if (options != NULL &&
cfg_map_get(options, "memstatistics-file", &obj) == ISC_R_SUCCESS)
@@ -3344,6 +3434,12 @@ load_configuration(const char *filename, ns_server_t *server,
result = ISC_R_SUCCESS;
cleanup:
if (v4portset != NULL)
isc_portset_destroy(ns_g_mctx, &v4portset);
if (v6portset != NULL)
isc_portset_destroy(ns_g_mctx, &v6portset);
cfg_aclconfctx_destroy(&aclconfctx);
if (parser != NULL) {
@@ -3414,7 +3510,7 @@ load_zones(ns_server_t *server, isc_boolean_t stop) {
*/
CHECK(dns_zonemgr_forcemaint(server->zonemgr));
cleanup:
isc_task_endexclusive(server->task);
isc_task_endexclusive(server->task);
return (result);
}
@@ -3442,7 +3538,7 @@ load_new_zones(ns_server_t *server, isc_boolean_t stop) {
*/
dns_zonemgr_resumexfrs(server->zonemgr);
cleanup:
isc_task_endexclusive(server->task);
isc_task_endexclusive(server->task);
return (result);
}
@@ -3501,7 +3597,7 @@ run_server(isc_task_t *task, isc_event_t *event) {
ISC_LOG_NOTICE, "running");
}
void
void
ns_server_flushonshutdown(ns_server_t *server, isc_boolean_t flush) {
REQUIRE(NS_SERVER_VALID(server));
@@ -3635,7 +3731,7 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
server->interface_timer = NULL;
server->heartbeat_timer = NULL;
server->pps_timer = NULL;
server->interface_interval = 0;
server->heartbeat_interval = 0;
@@ -3658,7 +3754,7 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
server->hostname_set = ISC_FALSE;
server->hostname = NULL;
server->version_set = ISC_FALSE;
server->version_set = ISC_FALSE;
server->version = NULL;
server->server_usehostname = ISC_FALSE;
server->server_id = NULL;
@@ -3814,7 +3910,7 @@ ns_add_reserved_dispatch(ns_server_t *server, const isc_sockaddr_t *addr) {
result = dns_dispatch_getudp(ns_g_dispatchmgr, ns_g_socketmgr,
ns_g_taskmgr, &dispatch->addr, 4096,
1000, 32768, 16411, 16433,
attrs, attrmask, &dispatch->dispatch);
attrs, attrmask, &dispatch->dispatch);
if (result != ISC_R_SUCCESS)
goto cleanup;
@@ -3917,7 +4013,7 @@ next_token(char **stringp, const char *delim) {
break;
} while (*res == '\0');
return (res);
}
}
/*
* Find the zone specified in the control channel command 'args',
@@ -3975,14 +4071,14 @@ zone_from_args(ns_server_t *server, char *args, dns_zone_t **zonep) {
} else {
rdclass = dns_rdataclass_in;
}
if (viewtxt == NULL)
viewtxt = "_default";
result = dns_viewlist_find(&server->viewlist, viewtxt,
rdclass, &view);
if (result != ISC_R_SUCCESS)
goto fail1;
result = dns_zt_find(view->zonetable, dns_fixedname_name(&name),
0, NULL, zonep);
/* Partial match? */
@@ -4001,7 +4097,7 @@ ns_server_retransfercommand(ns_server_t *server, char *args) {
isc_result_t result;
dns_zone_t *zone = NULL;
dns_zonetype_t type;
result = zone_from_args(server, args, &zone);
if (result != ISC_R_SUCCESS)
return (result);
@@ -4014,7 +4110,7 @@ ns_server_retransfercommand(ns_server_t *server, char *args) {
result = ISC_R_NOTFOUND;
dns_zone_detach(&zone);
return (result);
}
}
/*
* Act on a "reload" command from the command channel.
@@ -4025,7 +4121,7 @@ ns_server_reloadcommand(ns_server_t *server, char *args, isc_buffer_t *text) {
dns_zone_t *zone = NULL;
dns_zonetype_t type;
const char *msg = NULL;
result = zone_from_args(server, args, &zone);
if (result != ISC_R_SUCCESS)
return (result);
@@ -4042,7 +4138,7 @@ ns_server_reloadcommand(ns_server_t *server, char *args, isc_buffer_t *text) {
} else {
result = dns_zone_load(zone);
dns_zone_detach(&zone);
switch (result) {
switch (result) {
case ISC_R_SUCCESS:
msg = "zone reload successful";
break;
@@ -4064,7 +4160,7 @@ ns_server_reloadcommand(ns_server_t *server, char *args, isc_buffer_t *text) {
isc_buffer_putmem(text, (const unsigned char *)msg,
strlen(msg) + 1);
return (result);
}
}
/*
* Act on a "reconfig" command from the command channel.
@@ -4091,14 +4187,14 @@ ns_server_notifycommand(ns_server_t *server, char *args, isc_buffer_t *text) {
return (result);
if (zone == NULL)
return (ISC_R_UNEXPECTEDEND);
dns_zone_notify(zone);
dns_zone_detach(&zone);
if (sizeof(msg) <= isc_buffer_availablelength(text))
isc_buffer_putmem(text, msg, sizeof(msg));
return (ISC_R_SUCCESS);
}
}
/*
* Act on a "refresh" command from the command channel.
@@ -4125,17 +4221,17 @@ ns_server_refreshcommand(ns_server_t *server, char *args, isc_buffer_t *text) {
isc_buffer_putmem(text, msg1, sizeof(msg1));
return (ISC_R_SUCCESS);
}
dns_zone_detach(&zone);
if (sizeof(msg2) <= isc_buffer_availablelength(text))
isc_buffer_putmem(text, msg2, sizeof(msg2));
return (ISC_R_FAILURE);
}
}
isc_result_t
ns_server_togglequerylog(ns_server_t *server) {
server->log_queries = server->log_queries ? ISC_FALSE : ISC_TRUE;
isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL,
NS_LOGMODULE_SERVER, ISC_LOG_INFO,
"query logging is now %s",
@@ -4239,15 +4335,15 @@ ns_server_dumpstats(ns_server_t *server) {
CHECKMF(isc_stdio_open(server->statsfile, "a", &fp),
"could not open statistics dump file", server->statsfile);
ncounters = DNS_STATS_NCOUNTERS;
fprintf(fp, "+++ Statistics Dump +++ (%lu)\n", (unsigned long)now);
for (i = 0; i < ncounters; i++)
fprintf(fp, "%s %" ISC_PRINT_QUADFORMAT "u\n",
dns_statscounter_names[i],
server->querystats[i]);
zone = NULL;
for (result = dns_zone_first(server->zonemgr, &zone);
result == ISC_R_SUCCESS;
@@ -4258,7 +4354,7 @@ ns_server_dumpstats(ns_server_t *server) {
char zonename[DNS_NAME_FORMATSIZE];
dns_view_t *view;
char *viewname;
dns_name_format(dns_zone_getorigin(zone),
zonename, sizeof(zonename));
view = dns_zone_getview(zone);
@@ -4278,7 +4374,7 @@ ns_server_dumpstats(ns_server_t *server) {
if (result == ISC_R_NOMORE)
result = ISC_R_SUCCESS;
CHECK(result);
fprintf(fp, "--- Statistics Dump --- (%lu)\n", (unsigned long)now);
cleanup:
@@ -4306,7 +4402,7 @@ static isc_result_t
add_view_tolist(struct dumpcontext *dctx, dns_view_t *view) {
struct viewlistentry *vle;
isc_result_t result = ISC_R_SUCCESS;
/*
* Prevent duplicate views.
*/
@@ -4369,7 +4465,7 @@ dumpdone(void *arg, isc_result_t result) {
struct dumpcontext *dctx = arg;
char buf[1024+32];
const dns_master_style_t *style;
if (result != ISC_R_SUCCESS)
goto cleanup;
if (dctx->mdctx != NULL)
@@ -4526,7 +4622,7 @@ ns_server_dumpdb(ns_server_t *server, char *args) {
dctx->dumpzones = ISC_TRUE;
dctx->dumpcache = ISC_FALSE;
ptr = next_token(&args, " \t");
}
}
nextview:
for (view = ISC_LIST_HEAD(server->viewlist);
@@ -4646,7 +4742,7 @@ ns_server_validation(ns_server_t *server, char *args) {
else
result = ISC_R_FAILURE;
out:
isc_task_endexclusive(server->task);
isc_task_endexclusive(server->task);
return (result);
}
@@ -4689,7 +4785,7 @@ ns_server_flushcache(ns_server_t *server, char *args) {
else
result = ISC_R_FAILURE;
}
isc_task_endexclusive(server->task);
isc_task_endexclusive(server->task);
return (result);
}
@@ -4746,7 +4842,7 @@ ns_server_flushname(ns_server_t *server, char *args) {
result = ISC_R_NOTFOUND;
else
result = ISC_R_FAILURE;
isc_task_endexclusive(server->task);
isc_task_endexclusive(server->task);
return (result);
}
@@ -4798,7 +4894,7 @@ ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args) {
char *journal;
const char *vname, *sep;
isc_boolean_t frozen;
result = zone_from_args(server, args, &zone);
if (result != ISC_R_SUCCESS)
return (result);
@@ -4806,7 +4902,7 @@ ns_server_freeze(ns_server_t *server, isc_boolean_t freeze, char *args) {
result = isc_task_beginexclusive(server->task);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
tresult = ISC_R_SUCCESS;
for (view = ISC_LIST_HEAD(server->viewlist);
for (view = ISC_LIST_HEAD(server->viewlist);
view != NULL;
view = ISC_LIST_NEXT(view, link)) {
result = dns_view_freezezones(view, freeze);
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: os.h,v 1.22.18.3 2005/04/29 00:15:39 marka Exp $ */
/* $Id: os.h,v 1.22.18.5 2008/10/24 01:43:17 tbox Exp $ */
#ifndef NS_OS_H
#define NS_OS_H 1
@@ -45,12 +45,14 @@ ns_os_inituserinfo(const char *username);
void
ns_os_changeuser(void);
void
ns_os_adjustnofile(void);
void
ns_os_minprivs(void);
void
ns_os_writepidfile(const char *filename, isc_boolean_t first_time);
void
ns_os_shutdown(void);
+54 -10
View File
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004-2006 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2006, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: os.c,v 1.66.18.11 2006/02/03 23:51:38 marka Exp $ */
/* $Id: os.c,v 1.66.18.17 2008/10/24 01:43:17 tbox Exp $ */
/*! \file */
@@ -42,6 +42,7 @@
#include <isc/buffer.h>
#include <isc/file.h>
#include <isc/print.h>
#include <isc/resource.h>
#include <isc/result.h>
#include <isc/strerror.h>
#include <isc/string.h>
@@ -116,6 +117,16 @@ static int dfd[2] = { -1, -1 };
static isc_boolean_t non_root = ISC_FALSE;
static isc_boolean_t non_root_caps = ISC_FALSE;
#if defined(HAVE_CAPSET)
#undef _POSIX_SOURCE
#ifdef HAVE_SYS_CAPABILITY_H
#include <sys/capability.h>
#else
#include <linux/capability.h>
int capset(cap_user_header_t hdrp, const cap_user_data_t datap);
#endif
#include <sys/prctl.h>
#else
/*%
* We define _LINUX_FS_H to prevent it from being included. We don't need
* anything from it, and the files it includes cause warnings with 2.2
@@ -148,6 +159,7 @@ static isc_boolean_t non_root_caps = ISC_FALSE;
#endif
#define SYS_capset __NR_capset
#endif
#endif
static void
linux_setcaps(unsigned int caps) {
@@ -165,13 +177,23 @@ linux_setcaps(unsigned int caps) {
cap.effective = caps;
cap.permitted = caps;
cap.inheritable = 0;
if (syscall(SYS_capset, &caphead, &cap) < 0) {
#ifdef HAVE_CAPSET
if (capset(&caphead, &cap) < 0 ) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("capset failed: %s:"
" please ensure that the capset kernel"
" module is loaded. see insmod(8)",
strbuf);
}
#else
if (syscall(SYS_capset, &caphead, &cap) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlyfatal("syscall(capset) failed: %s:"
" please ensure that the capset kernel"
" module is loaded. see insmod(8)",
strbuf);
}
#endif
}
static void
@@ -326,7 +348,7 @@ ns_os_daemonize(void) {
/*
* Wait for the child to finish loading for the first time.
* This would be so much simpler if fork() worked once we
* were multi-threaded.
* were multi-threaded.
*/
(void)close(dfd[1]);
do {
@@ -496,15 +518,37 @@ ns_os_changeuser(void) {
ns_main_earlyfatal("setuid(): %s", strbuf);
}
#if defined(HAVE_LINUX_CAPABILITY_H) && !defined(HAVE_LINUXTHREADS)
linux_minprivs();
#endif
#if defined(HAVE_SYS_PRCTL_H) && defined(PR_SET_DUMPABLE)
/*
* Restore the ability of named to drop core after the setuid()
* call has disabled it.
*/
prctl(PR_SET_DUMPABLE,1,0,0,0);
if (prctl(PR_SET_DUMPABLE,1,0,0,0) < 0) {
isc__strerror(errno, strbuf, sizeof(strbuf));
ns_main_earlywarning("prctl(PR_SET_DUMPABLE) failed: %s",
strbuf);
}
#endif
#if defined(HAVE_LINUX_CAPABILITY_H) && !defined(HAVE_LINUXTHREADS)
linux_minprivs();
#endif
}
void
ns_os_adjustnofile() {
#ifdef HAVE_LINUXTHREADS
isc_result_t result;
isc_resourcevalue_t newvalue;
/*
* Linux: max number of open files specified by one thread doesn't seem
* to apply to other threads on Linux.
*/
newvalue = ISC_RESOURCE_UNLIMITED;
result = isc_resource_setlimit(isc_resource_openfiles, newvalue);
if (result != ISC_R_SUCCESS)
ns_main_earlywarning("couldn't adjust limit on open files");
#endif
}
@@ -665,7 +709,7 @@ ns_os_shutdownmsg(char *command, isc_buffer_t *text) {
ptr = next_token(&input, " \t");
if (ptr == NULL)
return;
if (strcmp(ptr, "-p") != 0)
return;
+40 -26
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: update.c,v 1.109.18.23 2007/08/28 07:20:01 tbox Exp $ */
/* $Id: update.c,v 1.109.18.27 2008/02/07 03:16:08 marka Exp $ */
#include <config.h>
@@ -114,7 +114,7 @@
} \
update_log(client, zone, LOGLEVEL_PROTOCOL, \
"update %s: %s (%s)", _what, \
msg, isc_result_totext(result)); \
msg, isc_result_totext(result)); \
if (result != ISC_R_SUCCESS) goto failure; \
} while (0)
@@ -403,7 +403,7 @@ foreach_node_rr_action(void *data, dns_rdataset_t *rdataset) {
result = dns_rdataset_next(rdataset))
{
rr_t rr = { 0, DNS_RDATA_INIT };
dns_rdataset_current(rdataset, &rr.rdata);
rr.ttl = rdataset->ttl;
result = (*ctx->rr_action)(ctx->rr_action_data, &rr);
@@ -843,10 +843,14 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db,
/* A new unique name begins here. */
node = NULL;
result = dns_db_findnode(db, name, ISC_FALSE, &node);
if (result == ISC_R_NOTFOUND)
if (result == ISC_R_NOTFOUND) {
dns_diff_clear(&trash);
return (DNS_R_NXRRSET);
if (result != ISC_R_SUCCESS)
}
if (result != ISC_R_SUCCESS) {
dns_diff_clear(&trash);
return (result);
}
/* A new unique type begins here. */
while (t != NULL && dns_name_equal(&t->name, name)) {
@@ -854,7 +858,7 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db,
dns_rdataset_t rdataset;
dns_diff_t d_rrs; /* Database RRs with
this name and type */
dns_diff_t u_rrs; /* Update RRs with
dns_diff_t u_rrs; /* Update RRs with
this name and type */
*typep = type = t->rdata.type;
@@ -874,6 +878,7 @@ temp_check(isc_mem_t *mctx, dns_diff_t *temp, dns_db_t *db,
&rdataset, NULL);
if (result != ISC_R_SUCCESS) {
dns_db_detachnode(db, &node);
dns_diff_clear(&trash);
return (DNS_R_NXRRSET);
}
@@ -1119,7 +1124,7 @@ typedef struct {
static isc_result_t
add_rr_prepare_action(void *data, rr_t *rr) {
isc_result_t result = ISC_R_SUCCESS;
isc_result_t result = ISC_R_SUCCESS;
add_rr_prepare_ctx_t *ctx = data;
dns_difftuple_t *tuple = NULL;
isc_boolean_t equal;
@@ -1647,10 +1652,11 @@ ksk_sanity(dns_db_t *db, dns_dbversion_t *ver) {
* Add RRSIG records for an RRset, recording the change in "diff".
*/
static isc_result_t
add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
dns_rdatatype_t type, dns_diff_t *diff, dst_key_t **keys,
unsigned int nkeys, isc_mem_t *mctx, isc_stdtime_t inception,
isc_stdtime_t expire, isc_boolean_t check_ksk)
add_sigs(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
dns_dbversion_t *ver, dns_name_t *name, dns_rdatatype_t type,
dns_diff_t *diff, dst_key_t **keys, unsigned int nkeys,
isc_mem_t *mctx, isc_stdtime_t inception, isc_stdtime_t expire,
isc_boolean_t check_ksk)
{
isc_result_t result;
dns_dbnode_t *node = NULL;
@@ -1659,6 +1665,7 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
isc_buffer_t buffer;
unsigned char data[1024]; /* XXX */
unsigned int i;
isc_boolean_t added_sig = ISC_FALSE;
dns_rdataset_init(&rdataset);
isc_buffer_init(&buffer, data, sizeof(data));
@@ -1671,14 +1678,14 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
dns_db_detachnode(db, &node);
for (i = 0; i < nkeys; i++) {
if (check_ksk && type != dns_rdatatype_dnskey &&
(dst_key_flags(keys[i]) & DNS_KEYFLAG_KSK) != 0)
continue;
if (!dst_key_isprivate(keys[i]))
continue;
/* Calculate the signature, creating a RRSIG RDATA. */
CHECK(dns_dnssec_sign(name, &rdataset, keys[i],
&inception, &expire,
@@ -1689,6 +1696,13 @@ add_sigs(dns_db_t *db, dns_dbversion_t *ver, dns_name_t *name,
CHECK(update_one_rr(db, ver, diff, DNS_DIFFOP_ADD, name,
rdataset.ttl, &sig_rdata));
dns_rdata_reset(&sig_rdata);
added_sig = ISC_TRUE;
}
if (!added_sig) {
update_log(client, zone, ISC_LOG_ERROR,
"found no private keys, "
"unable to generate any signatures");
result = ISC_R_NOTFOUND;
}
failure:
@@ -1770,7 +1784,7 @@ update_signatures(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
CHECK(dns_db_findnode(db, dns_db_origin(db), ISC_FALSE, &node));
dns_rdataset_init(&rdataset);
CHECK(dns_db_findrdataset(db, node, newver, dns_rdatatype_soa, 0,
(isc_stdtime_t) 0, &rdataset, NULL));
(isc_stdtime_t) 0, &rdataset, NULL));
CHECK(dns_rdataset_first(&rdataset));
dns_rdataset_current(&rdataset, &rdata);
CHECK(dns_rdata_tostruct(&rdata, &soa, NULL));
@@ -1820,9 +1834,9 @@ update_signatures(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
*/
CHECK(rrset_exists(db, newver, name, type, 0, &flag));
if (flag) {
CHECK(add_sigs(db, newver, name, type,
&sig_diff, zone_keys, nkeys,
client->mctx, inception,
CHECK(add_sigs(client, zone, db, newver, name,
type, &sig_diff, zone_keys,
nkeys, client->mctx, inception,
expire, check_ksk));
}
skip:
@@ -2006,10 +2020,10 @@ update_signatures(ns_client_t *client, dns_zone_t *zone, dns_db_t *db,
dns_rdatatype_rrsig, dns_rdatatype_nsec,
NULL, &sig_diff));
} else if (t->op == DNS_DIFFOP_ADD) {
CHECK(add_sigs(db, newver, &t->name, dns_rdatatype_nsec,
&sig_diff, zone_keys, nkeys,
client->mctx, inception, expire,
check_ksk));
CHECK(add_sigs(client, zone, db, newver, &t->name,
dns_rdatatype_nsec, &sig_diff,
zone_keys, nkeys, client->mctx,
inception, expire, check_ksk));
} else {
INSIST(0);
}
@@ -2274,7 +2288,7 @@ check_mx(ns_client_t *client, dns_zone_t *zone,
ownerbuf, namebuf,
dns_result_totext(DNS_R_MXISADDRESS));
}
/*
* Check zone integrity checks.
*/
@@ -2474,7 +2488,7 @@ update_action(isc_task_t *task, isc_event_t *event) {
else if (client->signer == NULL)
CHECK(checkupdateacl(client, NULL, "update", zonename,
ISC_FALSE));
if (dns_zone_getupdatedisabled(zone))
FAILC(DNS_R_REFUSED, "dynamic update temporarily disabled");
@@ -2881,7 +2895,7 @@ update_action(isc_task_t *task, isc_event_t *event) {
* The reason for failure should have been logged at this point.
*/
if (ver != NULL) {
update_log(client, zone, LOGLEVEL_DEBUG,
update_log(client, zone, LOGLEVEL_DEBUG,
"rolling back");
dns_db_closeversion(db, &ver, ISC_FALSE);
}
@@ -2933,7 +2947,7 @@ updatedone_action(isc_task_t *task, isc_event_t *event) {
static void
forward_fail(isc_task_t *task, isc_event_t *event) {
ns_client_t *client = (ns_client_t *)event->ev_arg;
ns_client_t *client = (ns_client_t *)event->ev_arg;
UNUSED(task);
+6 -6
View File
@@ -1,7 +1,7 @@
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2008 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.22.18.1 2004/07/20 07:03:20 marka Exp $
# $Id: Makefile.in,v 1.22.18.3 2008/08/29 23:46:16 tbox Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -55,7 +55,7 @@ UOBJS =
SRCS = nsupdate.c
MANPAGES = nsupdate.8
MANPAGES = nsupdate.1
HTMLPAGES = nsupdate.html
@@ -76,8 +76,8 @@ clean distclean::
installdirs:
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir}
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1
install:: nsupdate@EXEEXT@ installdirs
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} nsupdate@EXEEXT@ ${DESTDIR}${bindir}
${INSTALL_DATA} ${srcdir}/nsupdate.8 ${DESTDIR}${mandir}/man8
${INSTALL_DATA} ${srcdir}/nsupdate.1 ${DESTDIR}${mandir}/man1
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: nsupdate.8,v 1.30.18.14 2007/05/09 03:33:13 marka Exp $
.\" $Id: nsupdate.1,v 1.1.4.2 2008/09/01 02:29:00 tbox Exp $
.\"
.hy 0
.ad l
@@ -24,7 +24,7 @@
.\" Manual: BIND9
.\" Source: BIND9
.\"
.TH "NSUPDATE" "8" "Jun 30, 2000" "BIND9" "BIND9"
.TH "NSUPDATE" "1" "Jun 30, 2000" "BIND9" "BIND9"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
@@ -342,7 +342,7 @@ base\-64 encoding of HMAC\-MD5 key created by
.PP
The TSIG key is redundantly stored in two separate files. This is a consequence of nsupdate using the DST library for its cryptographic operations, and may change in future releases.
.SH "COPYRIGHT"
Copyright \(co 2004\-2007 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2008 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
+14 -15
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: nsupdate.c,v 1.130.18.19 2007/08/28 07:20:01 tbox Exp $ */
/* $Id: nsupdate.c,v 1.130.18.22 2008/01/17 23:45:58 tbox Exp $ */
/*! \file */
@@ -311,7 +311,7 @@ parse_hmac(dns_name_t **hmac, const char *hmacstr, size_t len) {
strncpy(buf, hmacstr, len);
buf[len] = 0;
if (strcasecmp(buf, "hmac-md5") == 0) {
*hmac = DNS_TSIG_HMACMD5_NAME;
} else if (strncasecmp(buf, "hmac-md5-", 9) == 0) {
@@ -1155,7 +1155,7 @@ evaluate_key(char *cmdline) {
secret = isc_mem_allocate(mctx, secretlen);
if (secret == NULL)
fatal("out of memory");
isc_buffer_init(&secretbuf, secret, secretlen);
result = isc_base64_decodestring(secretstr, &secretbuf);
if (result != ISC_R_SUCCESS) {
@@ -1222,8 +1222,8 @@ evaluate_class(char *cmdline) {
}
r.base = word;
r.length = strlen(word);
result = dns_rdataclass_fromtext(&rdclass, &r);
r.length = strlen(word);
result = dns_rdataclass_fromtext(&rdclass, &r);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not parse class name: %s\n", word);
return (STATUS_SYNTAX);
@@ -1407,8 +1407,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
failure:
if (name != NULL)
dns_message_puttempname(updatemsg, &name);
if (rdata != NULL)
dns_message_puttemprdata(updatemsg, &rdata);
dns_message_puttemprdata(updatemsg, &rdata);
return (STATUS_SYNTAX);
}
@@ -1480,7 +1479,7 @@ show_message(dns_message_t *msg) {
setzone(userzone);
bufsz = INITTEXT;
do {
do {
if (bufsz > MAXTEXT) {
fprintf(stderr, "could not allocate large enough "
"buffer to display message\n");
@@ -1662,7 +1661,7 @@ update_completed(isc_task_t *task, isc_event_t *event) {
char buf[64];
isc_buffer_t b;
dns_rdataset_t *rds;
isc_buffer_init(&b, buf, sizeof(buf) - 1);
result = dns_rcode_totext(answer->rcode, &b);
check_result(result, "dns_rcode_totext");
@@ -1678,7 +1677,7 @@ update_completed(isc_task_t *task, isc_event_t *event) {
int bufsz;
bufsz = INITTEXT;
do {
do {
if (bufsz > MAXTEXT) {
fprintf(stderr, "could not allocate large "
"enough buffer to display message\n");
@@ -1766,7 +1765,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
ddebug("recvsoa()");
requests--;
REQUIRE(event->ev_type == DNS_EVENT_REQUESTDONE);
reqev = (dns_requestevent_t *)event;
request = reqev->request;
@@ -1883,7 +1882,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
section = DNS_SECTION_ANSWER;
else if (pass == 1)
section = DNS_SECTION_AUTHORITY;
else
else
goto droplabel;
result = dns_message_firstname(rcvmsg, section);
@@ -1912,7 +1911,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
break;
}
}
result = dns_message_nextname(rcvmsg, section);
}
@@ -1977,7 +1976,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
dns_message_destroy(&rcvmsg);
ddebug("Out of recvsoa");
return;
droplabel:
result = dns_message_firstname(soaquery, DNS_SECTION_QUESTION);
INSIST(result == ISC_R_SUCCESS);
+4 -3
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -18,14 +18,14 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: nsupdate.docbook,v 1.18.18.10 2007/08/28 07:20:01 tbox Exp $ -->
<!-- $Id: nsupdate.docbook,v 1.18.18.12 2008/08/29 23:46:16 tbox Exp $ -->
<refentry>
<refentryinfo>
<date>Jun 30, 2000</date>
</refentryinfo>
<refmeta>
<refentrytitle>nsupdate</refentrytitle>
<manvolnum>8</manvolnum>
<manvolnum>1</manvolnum>
<refmiscinfo>BIND9</refmiscinfo>
</refmeta>
<refnamediv>
@@ -39,6 +39,7 @@
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
+8 -8
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: nsupdate.html,v 1.14.18.22 2007/05/09 03:33:13 marka Exp $ -->
<!-- $Id: nsupdate.html,v 1.14.18.23 2008/09/01 02:29:00 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -32,7 +32,7 @@
<div class="cmdsynopsis"><p><code class="command">nsupdate</code> [<code class="option">-d</code>] [[<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]keyname:secret</code></em></code>] | [<code class="option">-k <em class="replaceable"><code>keyfile</code></em></code>]] [<code class="option">-t <em class="replaceable"><code>timeout</code></em></code>] [<code class="option">-u <em class="replaceable"><code>udptimeout</code></em></code>] [<code class="option">-r <em class="replaceable"><code>udpretries</code></em></code>] [<code class="option">-v</code>] [filename]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543417"></a><h2>DESCRIPTION</h2>
<a name="id2543420"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">nsupdate</strong></span>
is used to submit Dynamic DNS Update requests as defined in RFC2136
to a name server.
@@ -153,7 +153,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543645"></a><h2>INPUT FORMAT</h2>
<a name="id2543649"></a><h2>INPUT FORMAT</h2>
<p><span><strong class="command">nsupdate</strong></span>
reads input from
<em class="parameter"><code>filename</code></em>
@@ -402,7 +402,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544648"></a><h2>EXAMPLES</h2>
<a name="id2544446"></a><h2>EXAMPLES</h2>
<p>
The examples below show how
<span><strong class="command">nsupdate</strong></span>
@@ -456,7 +456,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544692"></a><h2>FILES</h2>
<a name="id2544490"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">/etc/resolv.conf</code></span></dt>
<dd><p>
@@ -475,7 +475,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2544829"></a><h2>SEE ALSO</h2>
<a name="id2544560"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">RFC2136</span></span>,
<span class="citerefentry"><span class="refentrytitle">RFC3007</span></span>,
<span class="citerefentry"><span class="refentrytitle">RFC2104</span></span>,
@@ -488,7 +488,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544900"></a><h2>BUGS</h2>
<a name="id2542172"></a><h2>BUGS</h2>
<p>
The TSIG key is redundantly stored in two separate files.
This is a consequence of nsupdate using the DST library
+6 -6
View File
@@ -1,8 +1,8 @@
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2001, 2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: rndc-confgen.c,v 1.18.18.3 2005/04/29 00:15:40 marka Exp $ */
/* $Id: rndc-confgen.c,v 1.18.18.5 2008/10/15 23:46:06 tbox Exp $ */
/*! \file */
@@ -62,7 +62,7 @@
#define DEFAULT_PORT 953
static char program[256];
char *progname;
const char *progname;
isc_boolean_t verbose = ISC_FALSE;
@@ -148,7 +148,7 @@ main(int argc, char **argv) {
isc_boolean_t keyonly = ISC_FALSE;
int len;
keydef = keyfile = RNDC_KEYFILE;
keydef = keyfile = RNDC_KEYFILE;
result = isc_file_progname(*argv, program, sizeof(program));
if (result != ISC_R_SUCCESS)
@@ -286,7 +286,7 @@ main(int argc, char **argv) {
fatal("isc_mem_get(%d) failed\n", len);
snprintf(buf, len, "%s%s%s", chrootdir,
(*keyfile != '/') ? "/" : "", keyfile);
write_key_file(buf, user, keyname, &key_txtbuffer);
isc_mem_put(mctx, buf, len);
}
+2 -1
View File
@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: rndc.8,v 1.26.18.15 2007/06/20 02:26:58 marka Exp $
.\" $Id: rndc.8,v 1.26.18.16 2007/12/14 22:37:16 marka Exp $
.\"
.hy 0
.ad l
@@ -133,6 +133,7 @@ Several error messages could be clearer.
.SH "SEE ALSO"
.PP
\fBrndc.conf\fR(5),
\fBrndc\-confgen\fR(8),
\fBnamed\fR(8),
\fBnamed.conf\fR(5),
\fBndc\fR(8),
+11 -11
View File
@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: rndc.c,v 1.96.18.17.42.3 2008/07/23 23:16:43 marka Exp $ */
/* $Id: rndc.c,v 1.96.18.21 2008/10/15 03:07:19 marka Exp $ */
/*! \file */
@@ -61,7 +61,7 @@
#define SERVERADDRS 10
char *progname;
const char *progname;
isc_boolean_t verbose;
static const char *admin_conffile;
@@ -93,7 +93,7 @@ static void
usage(int status) {
fprintf(stderr, "\
Usage: %s [-c config] [-s server] [-p port]\n\
[-k key-file ] [-y key] [-V] command\n\
[-k key-file ] [-y key] [-V] command\n\
\n\
command is one of the following:\n\
\n\
@@ -106,10 +106,10 @@ command is one of the following:\n\
Retransfer a single zone without checking serial number.\n\
freeze Suspend updates to all dynamic zones.\n\
freeze zone [class [view]]\n\
Suspend updates to a dynamic zone.\n\
Suspend updates to a dynamic zone.\n\
thaw Enable updates to all dynamic zones and reload them.\n\
thaw zone [class [view]]\n\
Enable updates to a frozen dynamic zone and reload it.\n\
Enable updates to a frozen dynamic zone and reload it.\n\
notify zone [class [view]]\n\
Resend NOTIFY messages for the zone.\n\
reconfig Reload configuration file and new zones only.\n\
@@ -152,7 +152,7 @@ get_addresses(const char *host, in_port_t port) {
result = isc_sockaddr_frompath(&serveraddrs[nserveraddrs],
host);
if (result == ISC_R_SUCCESS)
nserveraddrs++;
nserveraddrs++;
} else {
count = SERVERADDRS - nserveraddrs;
result = bind9_getaddresses(host, port,
@@ -485,7 +485,7 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname,
(void)cfg_map_get(config, "server", &servers);
if (servers != NULL) {
for (elt = cfg_list_first(servers);
elt != NULL;
elt != NULL;
elt = cfg_list_next(elt))
{
const char *name;
@@ -521,7 +521,7 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname,
else {
DO("get config key list", cfg_map_get(config, "key", &keys));
for (elt = cfg_list_first(keys);
elt != NULL;
elt != NULL;
elt = cfg_list_next(elt))
{
key = cfg_listelt_value(elt);
@@ -599,7 +599,7 @@ parse_config(isc_mem_t *mctx, isc_log_t *log, const char *keyname,
get_addresses(name, (in_port_t) myport);
else
fprintf(stderr, "too many address: "
"%s: dropped\n", name);
"%s: dropped\n", name);
continue;
}
sa = *cfg_obj_assockaddr(address);
@@ -739,7 +739,7 @@ main(int argc, char **argv) {
case 'y':
keyname = isc_commandline_argument;
break;
case '?':
usage(0);
break;
@@ -773,7 +773,7 @@ main(int argc, char **argv) {
logdest.file.maximum_size = 0;
DO("creating log channel",
isc_log_createchannel(logconfig, "stderr",
ISC_LOG_TOFILEDESC, ISC_LOG_INFO, &logdest,
ISC_LOG_TOFILEDESC, ISC_LOG_INFO, &logdest,
ISC_LOG_PRINTTAG|ISC_LOG_PRINTLEVEL));
DO("enabling log channel", isc_log_usechannel(logconfig, "stderr",
NULL, NULL));
+4 -1
View File
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: rndc.docbook,v 1.8.18.12 2007/08/28 07:20:01 tbox Exp $ -->
<!-- $Id: rndc.docbook,v 1.8.18.13 2007/12/14 20:53:58 marka Exp $ -->
<refentry id="man.rndc">
<refentryinfo>
<date>June 30, 2000</date>
@@ -224,6 +224,9 @@
<para><citerefentry>
<refentrytitle>rndc.conf</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>rndc-confgen</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>named</refentrytitle><manvolnum>8</manvolnum>
</citerefentry>,
+3 -2
View File
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: rndc.html,v 1.8.18.22 2007/06/20 02:26:58 marka Exp $ -->
<!-- $Id: rndc.html,v 1.8.18.23 2007/12/14 22:37:16 marka Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -149,6 +149,7 @@
<div class="refsect1" lang="en">
<a name="id2543683"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">ndc</span>(8)</span>,
@@ -156,7 +157,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543730"></a><h2>AUTHOR</h2>
<a name="id2543738"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+328
View File
@@ -0,0 +1,328 @@
/* config.h.in. Generated from configure.in by autoheader. */
/*
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: config.h.in,v 1.60.18.34 2008/10/21 02:47:25 marka Exp $ */
/*! \file */
/***
*** This file is not to be included by any public header files, because
*** it does not get installed.
***/
/** define to `int' if <sys/types.h> doesn't define. */
#undef ssize_t
/** define on DEC OSF to enable 4.4BSD style sa_len support */
#undef _SOCKADDR_LEN
/** define if your system needs pthread_init() before using pthreads */
#undef NEED_PTHREAD_INIT
/** define if your system has sigwait() */
#undef HAVE_SIGWAIT
/** define if sigwait() is the UnixWare flavor */
#undef HAVE_UNIXWARE_SIGWAIT
/** define on Solaris to get sigwait() to work using pthreads semantics */
#undef _POSIX_PTHREAD_SEMANTICS
/** define if LinuxThreads is in use */
#undef HAVE_LINUXTHREADS
/** define if sysconf() is available */
#undef HAVE_SYSCONF
/** define if sysctlbyname() is available */
#undef HAVE_SYSCTLBYNAME
/** define if catgets() is available */
#undef HAVE_CATGETS
/** define if getifaddrs() exists */
#undef HAVE_GETIFADDRS
/** define if you have the NET_RT_IFLIST sysctl variable and sys/sysctl.h */
#undef HAVE_IFLIST_SYSCTL
/** define if chroot() is available */
#undef HAVE_CHROOT
/** define if tzset() is available */
#undef HAVE_TZSET
/** define if struct addrinfo exists */
#undef HAVE_ADDRINFO
/** define if getaddrinfo() exists */
#undef HAVE_GETADDRINFO
/** define if gai_strerror() exists */
#undef HAVE_GAISTRERROR
/** define if arc4random() exists */
#undef HAVE_ARC4RANDOM
/**
* define if pthread_setconcurrency() should be called to tell the
* OS how many threads we might want to run.
*/
#undef CALL_PTHREAD_SETCONCURRENCY
/** define if IPv6 is not disabled */
#undef WANT_IPV6
/** define if flockfile() is available */
#undef HAVE_FLOCKFILE
/** define if getc_unlocked() is available */
#undef HAVE_GETCUNLOCKED
/** Shut up warnings about sputaux in stdio.h on BSD/OS pre-4.1 */
#undef SHUTUP_SPUTAUX
#ifdef SHUTUP_SPUTAUX
struct __sFILE;
extern __inline int __sputaux(int _c, struct __sFILE *_p);
#endif
/** Shut up warnings about missing sigwait prototype on BSD/OS 4.0* */
#undef SHUTUP_SIGWAIT
#ifdef SHUTUP_SIGWAIT
int sigwait(const unsigned int *set, int *sig);
#endif
/** Shut up warnings from gcc -Wcast-qual on BSD/OS 4.1. */
#undef SHUTUP_STDARG_CAST
#if defined(SHUTUP_STDARG_CAST) && defined(__GNUC__)
#include <stdarg.h> /** Grr. Must be included *every time*. */
/**
* The silly continuation line is to keep configure from
* commenting out the #undef.
*/
#undef \
va_start
#define va_start(ap, last) \
do { \
union { const void *konst; long *var; } _u; \
_u.konst = &(last); \
ap = (va_list)(_u.var + __va_words(__typeof(last))); \
} while (0)
#endif /** SHUTUP_STDARG_CAST && __GNUC__ */
/** define if the system has a random number generating device */
#undef PATH_RANDOMDEV
/** define if pthread_attr_getstacksize() is available */
#undef HAVE_PTHREAD_ATTR_GETSTACKSIZE
/** define if pthread_attr_setstacksize() is available */
#undef HAVE_PTHREAD_ATTR_SETSTACKSIZE
/** define if you have strerror in the C library. */
#undef HAVE_STRERROR
/** Define if you are running under Compaq TruCluster. */
#undef HAVE_TRUCLUSTER
/* Define if OpenSSL includes DSA support */
#undef HAVE_OPENSSL_DSA
/* Define to the length type used by the socket API (socklen_t, size_t, int). */
#undef ISC_SOCKADDR_LEN_T
/* Define if threads need PTHREAD_SCOPE_SYSTEM */
#undef NEED_PTHREAD_SCOPE_SYSTEM
/* Define if recvmsg() does not meet all of the BSD socket API specifications.
*/
#undef BROKEN_RECVMSG
/* Define if you cannot bind() before connect() for TCP sockets. */
#undef BROKEN_TCP_BIND_BEFORE_CONNECT
/* Solaris hack to get select_large_fdset. */
#undef FD_SETSIZE
/* Define to 1 if you have the `capset' function. */
#undef HAVE_CAPSET
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the `c' library (-lc). */
#undef HAVE_LIBC
/* Define to 1 if you have the `c_r' library (-lc_r). */
#undef HAVE_LIBC_R
/* Define to 1 if you have the `nsl' library (-lnsl). */
#undef HAVE_LIBNSL
/* Define to 1 if you have the `pthread' library (-lpthread). */
#undef HAVE_LIBPTHREAD
/* Define to 1 if you have the `scf' library (-lscf). */
#undef HAVE_LIBSCF
/* Define to 1 if you have the `socket' library (-lsocket). */
#undef HAVE_LIBSOCKET
/* Define to 1 if you have the `thr' library (-lthr). */
#undef HAVE_LIBTHR
/* Define to 1 if you have the <linux/capability.h> header file. */
#undef HAVE_LINUX_CAPABILITY_H
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <net/if6.h> header file. */
#undef HAVE_NET_IF6_H
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/capability.h> header file. */
#undef HAVE_SYS_CAPABILITY_H
/* Define to 1 if you have the <sys/devpoll.h> header file. */
#undef HAVE_SYS_DEVPOLL_H
/* Define to 1 if you have the <sys/dyntune.h> header file. */
#undef HAVE_SYS_DYNTUNE_H
/* Define to 1 if you have the <sys/param.h> header file. */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/prctl.h> header file. */
#undef HAVE_SYS_PRCTL_H
/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H
/* Define to 1 if you have the <sys/sockio.h> header file. */
#undef HAVE_SYS_SOCKIO_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/sysctl.h> header file. */
#undef HAVE_SYS_SYSCTL_H
/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <sys/un.h> header file. */
#undef HAVE_SYS_UN_H
/* Define if running under Compaq TruCluster */
#undef HAVE_TRUCLUSTER
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Defined if extern char *optarg is not declared. */
#undef NEED_OPTARG
/* Define if connect does not honour the permission on the UNIX domain socket.
*/
#undef NEED_SECURE_DIRECTORY
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Sets which flag to pass to open/fcntl to make non-blocking
(O_NDELAY/O_NONBLOCK). */
#undef PORT_NONBLOCK
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME
/* Defined if you need to use ioctl(FIONBIO) instead a fcntl call to make
non-blocking. */
#undef USE_FIONBIO_IOCTL
/* define if idnkit support is to be included. */
#undef WITH_IDN
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `__inline__' or `__inline' if that's what the C compiler
calls it, or to nothing if 'inline' is not supported under any name. */
#ifndef __cplusplus
#undef inline
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* Define to `int' if <sys/types.h> does not define. */
#undef ssize_t
/* Define to `unsigned long' if <sys/types.h> does not define. */
#undef uintptr_t
/* Define to empty if the keyword `volatile' does not work. Warning: valid
code using `volatile' can become incorrect without. Disable with care. */
#undef volatile
+143 -18
View File
@@ -18,7 +18,7 @@ AC_DIVERT_PUSH(1)dnl
esyscmd([sed "s/^/# /" COPYRIGHT])dnl
AC_DIVERT_POP()dnl
AC_REVISION($Revision: 1.355.18.71.8.2 $)
AC_REVISION($Revision: 1.355.18.85 $)
AC_INIT(lib/dns/name.c)
AC_PREREQ(2.59)
@@ -232,6 +232,15 @@ case "$host" in
STD_CDEFINES="$STD_CDEFINES -D_XPG4_2 -D__EXTENSIONS__"
CPPFLAGS="$CPPFLAGS -D_XPG4_2 -D__EXTENSIONS__"
;;
# POSIX doesn't include the IPv6 Advanced Socket API and glibc hides
# parts of the IPv6 Advanced Socket API as a result. This is stupid
# as it breaks how the two halves (Basic and Advanced) of the IPv6
# Socket API were designed to be used but we have to live with it.
# Define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
*-linux*)
STD_CDEFINES="$STD_CDEFINES -D_GNU_SOURCE"
CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
;;
esac
AC_HEADER_STDC
@@ -245,6 +254,7 @@ AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/param
AC_C_CONST
AC_C_INLINE
AC_C_VOLATILE
AC_CHECK_FUNC(sysctlbyname, AC_DEFINE(HAVE_SYSCTLBYNAME))
#
@@ -316,6 +326,78 @@ lifconf.lifc_len = 0;
ISC_PLATFORM_HAVELIFCONF="#undef ISC_PLATFORM_HAVELIFCONF"])
AC_SUBST(ISC_PLATFORM_HAVELIFCONF)
#
# check if we have kqueue
#
AC_ARG_ENABLE(kqueue,
[ --enable-kqueue use BSD kqueue when available [[default=yes]]],
want_kqueue="$enableval", want_kqueue="yes")
case $want_kqueue in
yes)
AC_CHECK_FUNC(kqueue, ac_cv_have_kqueue=yes, ac_cv_have_kqueue=no)
case $ac_cv_have_kqueue in
yes)
ISC_PLATFORM_HAVEKQUEUE="#define ISC_PLATFORM_HAVEKQUEUE 1"
;;
*)
ISC_PLATFORM_HAVEKQUEUE="#undef ISC_PLATFORM_HAVEKQUEUE"
;;
esac
;;
*)
ISC_PLATFORM_HAVEKQUEUE="#undef ISC_PLATFORM_HAVEKQUEUE"
;;
esac
AC_SUBST(ISC_PLATFORM_HAVEKQUEUE)
#
# check if we have epoll. Linux kernel 2.4 has epoll_create() which fails,
# so we need to try running the code, not just test its existence.
#
AC_ARG_ENABLE(epoll,
[ --enable-epoll use Linux epoll when available [[default=yes]]],
want_epoll="$enableval", want_epoll="yes")
case $want_epoll in
yes)
AC_MSG_CHECKING(epoll support)
AC_TRY_RUN([
#include <sys/epoll.h>
int main() {
if (epoll_create(1) < 0)
return (1);
return (0);
}
],
[AC_MSG_RESULT(yes)
ISC_PLATFORM_HAVEEPOLL="#define ISC_PLATFORM_HAVEEPOLL 1"],
[AC_MSG_RESULT(no)
ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL"])
;;
*)
ISC_PLATFORM_HAVEEPOLL="#undef ISC_PLATFORM_HAVEEPOLL"
;;
esac
AC_SUBST(ISC_PLATFORM_HAVEEPOLL)
#
# check if we support /dev/poll
#
AC_ARG_ENABLE(devpoll,
[ --enable-devpoll use /dev/poll when available [[default=yes]]],
want_devpoll="$enableval", want_devpoll="yes")
case $want_devpoll in
yes)
AC_CHECK_HEADERS(sys/devpoll.h,
ISC_PLATFORM_HAVEDEVPOLL="#define ISC_PLATFORM_HAVEDEVPOLL 1"
,
ISC_PLATFORM_HAVEDEVPOLL="#undef ISC_PLATFORM_HAVEDEVPOLL"
)
;;
*)
ISC_PLATFORM_HAVEDEVPOLL="#undef ISC_PLATFORM_HAVEDEVPOLL"
;;
esac
AC_SUBST(ISC_PLATFORM_HAVEDEVPOLL)
#
# check if we need to #include sys/select.h explicitly
@@ -898,6 +980,16 @@ case "$host" in
;;
esac
#
# Work around Solaris's select() limitations.
#
case "$host" in
*-solaris2.[[89]]|*-solaris2.1?)
AC_DEFINE(FD_SETSIZE, 65536,
[Solaris hack to get select_large_fdset.])
;;
esac
#
# Purify support
#
@@ -943,6 +1035,14 @@ AC_SUBST(PURIFY)
#
# GNU libtool support
#
case $build_os in
sunos*)
# Just set the maximum command line length for sunos as it otherwise
# takes a exceptionally long time to work it out. Required for libtool.
lt_cv_sys_max_cmd_len=4096;
;;
esac
AC_ARG_WITH(libtool,
[ --with-libtool use GNU libtool (following indented options supported)],
use_libtool="$withval", use_libtool="no")
@@ -1695,7 +1795,8 @@ AC_ARG_ENABLE(linux-caps,
[ --disable-linux-caps disable linux capabilities])
case "$enable_linux_caps" in
yes|'')
AC_CHECK_HEADERS(linux/capability.h)
AC_CHECK_HEADERS(linux/capability.h sys/capability.h)
AC_CHECK_FUNCS(capset)
;;
no)
;;
@@ -1781,6 +1882,18 @@ AC_MSG_RESULT(cannot determine type of rlim_cur when cross compiling - assuming
])
AC_SUBST(ISC_PLATFORM_RLIMITTYPE)
#
# Older HP-UX doesn't have gettune
#
case "$host" in
*-hp-hpux*)
AC_CHECK_HEADERS(sys/dyntune.h)
;;
*)
;;
esac
#
# Compaq TruCluster requires more code for handling cluster IP aliases
#
@@ -1839,7 +1952,7 @@ case "$host" in
[*-solaris2.[89]])
hack_shutup_pthreadonceinit=yes
;;
*-solaris2.1[0-9])
*-solaris2.1[[0-9]])
hack_shutup_pthreadonceinit=yes
;;
esac
@@ -2162,27 +2275,39 @@ AC_SUBST($1)
])
#
# Look for Docbook-XSL stylesheets. Location probably varies by
# system. Guessing where it might be found, based on where SGML stuff
# lives on some systems. FreeBSD is the only one I'm sure of at the
# moment.
# Look for Docbook-XSL stylesheets. Location probably varies by system.
# If it's not explicitly specified, guess where it might be found, based on
# where SGML stuff lives on some systems (FreeBSD is the only one we're sure
# of at the moment).
#
docbook_xsl_trees="/usr/pkg/share/xsl /usr/local/share/xsl /usr/share/xsl"
AC_MSG_CHECKING(for Docbook-XSL path)
AC_ARG_WITH(docbook-xsl,
[ --with-docbook-xsl=PATH Specify path for Docbook-XSL stylesheets],
docbook_path="$withval", docbook_path="auto")
case "$docbook_path" in
auto)
AC_MSG_RESULT(auto)
docbook_xsl_trees="/usr/pkg/share/xsl/docbook /usr/local/share/xsl/docbook /usr/share/xsl/docbook"
;;
*)
docbook_xsl_trees="$withval"
AC_MSG_RESULT($docbook_xsl_trees)
;;
esac
#
# Look for stylesheets we need.
#
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_HTML, docbook/html/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_XHTML, docbook/xhtml/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_MAN, docbook/manpages/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_HTML, docbook/html/chunk.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_XHTML, docbook/xhtml/chunk.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNKTOC_HTML, docbook/html/chunktoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNKTOC_XHTML, docbook/xhtml/chunktoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_MAKETOC_HTML, docbook/html/maketoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_MAKETOC_XHTML, docbook/xhtml/maketoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_HTML, html/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_XHTML, xhtml/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_STYLE_MAN, manpages/docbook.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_HTML, html/chunk.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNK_XHTML, xhtml/chunk.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNKTOC_HTML, html/chunktoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_CHUNKTOC_XHTML, xhtml/chunktoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_MAKETOC_HTML, html/maketoc.xsl, $docbook_xsl_trees)
NOM_PATH_FILE(XSLT_DOCBOOK_MAKETOC_XHTML, xhtml/maketoc.xsl, $docbook_xsl_trees)
#
# Same dance for db2latex
+244 -58
View File
@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- File: $Id: Bv9ARM-book.xml,v 1.241.18.82.8.3 2008/07/23 12:04:32 marka Exp $ -->
<!-- File: $Id: Bv9ARM-book.xml,v 1.241.18.97 2008/10/17 19:37:35 jreed Exp $ -->
<book xmlns:xi="http://www.w3.org/2001/XInclude">
<title>BIND 9 Administrator Reference Manual</title>
@@ -639,13 +639,11 @@
<title>Supported Operating Systems</title>
<para>
ISC <acronym>BIND</acronym> 9 compiles and runs on a large
number
of Unix-like operating system and on NT-derived versions of
Microsoft Windows such as Windows 2000 and Windows XP. For an
up-to-date
list of supported systems, see the README file in the top level
directory
of the BIND 9 source distribution.
number of Unix-like operating systems, and on some versions of
Microsoft Windows including Windows XP, Windows 2003, and
Windows 2008. For an up-to-date list of supported systems,
see the README file in the top level directory of the BIND 9
source distribution.
</para>
</sect1>
</chapter>
@@ -2927,6 +2925,33 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para>
<varname>port_list</varname>
</para>
</entry>
<entry colname="2">
<para>
A list of an <varname>ip_port</varname> or a port
range.
A port range is specified in the form of
<userinput>range</userinput> followed by
two <varname>ip_port</varname>s,
<varname>port_low</varname> and
<varname>port_high</varname>, which represents
port numbers from <varname>port_low</varname> through
<varname>port_high</varname>, inclusive.
<varname>port_low</varname> must not be larger than
<varname>port_high</varname>.
For example,
<userinput>range 1024 65535</userinput> represents
ports from 1024 through 65535.
In either case an asterisk (`*') character is not
allowed as a valid <varname>ip_port</varname>.
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para>
@@ -3582,7 +3607,7 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
</sect2>
<sect2>
<title><command>include</command> Statement Grammar</title>
<programlisting>include <replaceable>filename</replaceable>;</programlisting>
<programlisting><command>include</command> <replaceable>filename</replaceable>;</programlisting>
</sect2>
<sect2>
<title><command>include</command> Statement Definition and
@@ -3603,7 +3628,7 @@ $ORIGIN 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
<sect2>
<title><command>key</command> Statement Grammar</title>
<programlisting>key <replaceable>key_id</replaceable> {
<programlisting><command>key</command> <replaceable>key_id</replaceable> {
algorithm <replaceable>string</replaceable>;
secret <replaceable>string</replaceable>;
};
@@ -4364,7 +4389,7 @@ category notify { null; };
statement in the <filename>named.conf</filename> file:
</para>
<programlisting>options {
<programlisting><command>options</command> {
<optional> version <replaceable>version_string</replaceable>; </optional>
<optional> hostname <replaceable>hostname_string</replaceable>; </optional>
<optional> server-id <replaceable>server_id_string</replaceable>; </optional>
@@ -4425,7 +4450,9 @@ category notify { null; };
<optional> update-check-ksk <replaceable>yes_or_no</replaceable>; </optional>
<optional> allow-v6-synthesis { <replaceable>address_match_list</replaceable> }; </optional>
<optional> blackhole { <replaceable>address_match_list</replaceable> }; </optional>
<optional> use-v4-udp-ports { <replaceable>port_list</replaceable> }; </optional>
<optional> avoid-v4-udp-ports { <replaceable>port_list</replaceable> }; </optional>
<optional> use-v6-udp-ports { <replaceable>port_list</replaceable> }; </optional>
<optional> avoid-v6-udp-ports { <replaceable>port_list</replaceable> }; </optional>
<optional> listen-on <optional> port <replaceable>ip_port</replaceable> </optional> { <replaceable>address_match_list</replaceable> }; </optional>
<optional> listen-on-v6 <optional> port <replaceable>ip_port</replaceable> </optional> { <replaceable>address_match_list</replaceable> }; </optional>
@@ -5627,11 +5654,12 @@ options {
to address (A or AAAA) records and that glue
address records exist for delegated zones. For
MX and SRV records only in-zone hostnames are
checked (for out-of-zone hostnames use named-checkzone).
checked (for out-of-zone hostnames use
<command>named-checkzone</command>).
For NS records only names below top of zone are
checked (for out-of-zone names and glue consistency
checks use named-checkzone). The default is
<command>yes</command>.
checks use <command>named-checkzone</command>).
The default is <command>yes</command>.
</para>
</listitem>
</varlistentry>
@@ -6058,7 +6086,7 @@ listen-on-v6 port 1234 { !2001:db8::/32; any; };
</para>
</sect3>
<sect3>
<sect3 id="query_address">
<title>Query Address</title>
<para>
If the server doesn't know the answer to a question, it will
@@ -6068,25 +6096,94 @@ listen-on-v6 port 1234 { !2001:db8::/32; any; };
If <command>address</command> is <command>*</command> (asterisk) or is omitted,
a wildcard IP address (<command>INADDR_ANY</command>)
will be used.
</para>
<para>
If <command>port</command> is <command>*</command> or is omitted,
a random unprivileged port number is picked up and will be
used for each query.
It is generally strongly discouraged to
specify a particular port for the
<command>query-source</command> or
<command>query-source-v6</command> options;
it implicitly disables the use of randomized port numbers
and leads to insecure operation.
The <command>avoid-v4-udp-ports</command>
and <command>avoid-v6-udp-ports</command> options can be used
to prevent named
from selecting certain ports. The defaults are:
a random port number from a pre-configured
range is picked up and will be used for each query.
The port range(s) is that specified in
the <command>use-v4-udp-ports</command> (for IPv4)
and <command>use-v6-udp-ports</command> (for IPv6)
options, excluding the ranges specified in
the <command>avoid-v4-udp-ports</command>
and <command>avoid-v6-udp-ports</command> options, respectively.
</para>
<para>
The defaults of the <command>query-source</command> and
<command>query-source-v6</command> options
are:
</para>
<programlisting>query-source address * port *;
query-source-v6 address * port *;
</programlisting>
<para>
If <command>use-v4-udp-ports</command> or
<command>use-v6-udp-ports</command> is unspecified,
<command>named</command> will check if the operating
system provides a programming interface to retrieve the
system's default range for ephemeral ports.
If such an interface is available,
<command>named</command> will use the corresponding system
default range; otherwise, it will use its own defaults:
</para>
<programlisting>use-v4-udp-ports { range 1024 65535; };
use-v6-udp-ports { range 1024 65535; };
</programlisting>
<para>
Note: make sure the ranges be sufficiently large for
security. A desirable size depends on various parameters,
but we generally recommend it contain at least 16384 ports
(14 bits of entropy).
Note also that the system's default range when used may be
too small for this purpose, and that the range may even be
changed while <command>named</command> is running; the new
range will automatically be applied when <command>named</command>
is reloaded.
It is encouraged to
configure <command>use-v4-udp-ports</command> and
<command>use-v6-udp-ports</command> explicitly so that the
ranges are sufficiently large and are reasonably
independent from the ranges used by other applications.
</para>
<para>
Note: the operational configuration
where <command>named</command> runs may prohibit the use
of some ports. For example, UNIX systems will not allow
<command>named</command> running without a root privilege
to use ports less than 1024.
If such ports are included in the specified (or detected)
set of query ports, the corresponding query attempts will
fail, resulting in resolution failures or delay.
It is therefore important to configure the set of ports
that can be safely used in the expected operational environment.
</para>
<para>
The defaults of the <command>avoid-v4-udp-ports</command> and
<command>avoid-v6-udp-ports</command> options
are:
</para>
<programlisting>avoid-v4-udp-ports {};
avoid-v6-udp-ports {};
</programlisting>
<para>
Note: it is generally strongly discouraged to
specify a particular port for the
<command>query-source</command> or
<command>query-source-v6</command> options;
it implicitly disables the use of randomized port numbers
and can be insecure.
</para>
<note>
<para>
The address specified in the <command>query-source</command> option
@@ -6432,17 +6529,48 @@ query-source-v6 address * port *;
</sect3>
<sect3>
<title>Bad UDP Port Lists</title>
<para><command>avoid-v4-udp-ports</command>
and <command>avoid-v6-udp-ports</command> specify a list
of IPv4 and IPv6 UDP ports that will not be used as system
assigned source ports for UDP sockets. These lists
prevent named from choosing as its random source port a
port that is blocked by your firewall. If a query went
out with such a source port, the answer would not get by
the firewall and the name server would have to query
again.
<title>UDP Port Lists</title>
<para>
<command>use-v4-udp-ports</command>,
<command>avoid-v4-udp-ports</command>,
<command>use-v6-udp-ports</command>, and
<command>avoid-v6-udp-ports</command>
specify a list of IPv4 and IPv6 UDP ports that will be
used or not used as source ports for UDP messages.
See <xref linkend="query_address"/> about how the
available ports are determined.
For example, with the following configuration
</para>
<programlisting>
use-v6-udp-ports { range 32768 65535; };
avoid-v6-udp-ports { 40000; range 50000 60000; };
</programlisting>
<para>
UDP ports of IPv6 messages sent
from <command>named</command> will be in one
of the following ranges: 32768 to 39999, 40001 to 49999,
and 60001 to 65535.
</para>
<para>
<command>avoid-v4-udp-ports</command> and
<command>avoid-v6-udp-ports</command> can be used
to prevent <command>named</command> from choosing as its random source port a
port that is blocked by your firewall or a port that is
used by other applications;
if a query went out with a source port blocked by a
firewall, the
answer would not get by the firewall and the name server would
have to query again.
Note: the desired range can also be represented only with
<command>use-v4-udp-ports</command> and
<command>use-v6-udp-ports</command>, and the
<command>avoid-</command> options are redundant in that
sense; they are provided for backward compatibility and
to possibly simplify the port specification.
</para>
</sect3>
<sect3>
@@ -6618,8 +6746,10 @@ query-source-v6 address * port *;
transfers. The default is <literal>512</literal>.
The minimum value is <literal>128</literal> and the
maximum value is <literal>128</literal> less than
'files' or FD_SETSIZE (whichever is smaller). This
option may be removed in the future.
maxsockets (-S). This option may be removed in the future.
</para>
<para>
This option has little effect on Windows.
</para>
</listitem>
</varlistentry>
@@ -6629,16 +6759,23 @@ query-source-v6 address * port *;
<listitem>
<para>
The maximum amount of memory to use for the
server's cache, in bytes. When the amount of data in the
cache
server's cache, in bytes.
When the amount of data in the cache
reaches this limit, the server will cause records to expire
prematurely so that the limit is not exceeded. In a server
with
multiple views, the limit applies separately to the cache of
each
view. The default is <literal>unlimited</literal>, meaning that
records are purged from the cache only when their TTLs
expire.
prematurely so that the limit is not exceeded.
A value of 0 is special, meaning that
records are purged from the cache only when their
TTLs expire.
Another special keyword <userinput>unlimited</userinput>
means the maximum value of 32-bit unsigned integers
(0xffffffff), which may not have the same effect as
0 on machines that support more than 32 bits of
memory space.
Any positive values less than 2MB will be ignored reset
to 2MB.
In a server with multiple views, the limit applies
separately to the cache of each view.
The default is 0.
</para>
</listitem>
</varlistentry>
@@ -7041,6 +7178,10 @@ query-source-v6 address * port *;
Sets the maximum time for which the server will
cache ordinary (positive) answers. The default is
one week (7 days).
A value of zero may cause all queries to return
SERVFAIL, because of lost caches of intermediate
RRsets (such as NS and glue AAAA/A records) in the
resolution process.
</para>
</listitem>
</varlistentry>
@@ -7320,9 +7461,8 @@ query-source-v6 address * port *;
<para>
The current list of empty zones is:
<itemizedlist>
<!-- XXX: The RFC1918 addresses are #defined out in sources currently.
<listitem>10.IN-ADDR.ARPA</listitem>
<listitem>127.IN-ADDR.ARPA</listitem>
<listitem>254.169.IN-ADDR.ARPA</listitem>
<listitem>16.172.IN-ADDR.ARPA</listitem>
<listitem>17.172.IN-ADDR.ARPA</listitem>
<listitem>18.172.IN-ADDR.ARPA</listitem>
@@ -7340,7 +7480,12 @@ query-source-v6 address * port *;
<listitem>30.172.IN-ADDR.ARPA</listitem>
<listitem>31.172.IN-ADDR.ARPA</listitem>
<listitem>168.192.IN-ADDR.ARPA</listitem>
XXX: end of RFC1918 addresses #defined out -->
<listitem>0.IN-ADDR.ARPA</listitem>
<listitem>127.IN-ADDR.ARPA</listitem>
<listitem>254.169.IN-ADDR.ARPA</listitem>
<listitem>2.0.192.IN-ADDR.ARPA</listitem>
<listitem>255.255.255.255.IN-ADDR.ARPA</listitem>
<listitem>0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA</listitem>
<listitem>1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA</listitem>
<listitem>D.F.IP6.ARPA</listitem>
@@ -7567,8 +7712,10 @@ query-source-v6 address * port *;
<command>success</command>,
<command>referral</command>,
<command>nxrrset</command>,
<command>nxdomain</command>, or
<command>failure</command>
<command>nxdomain</command>,
<command>failure</command>,
<command>duplicate</command>, or
<command>dropped</command>
to be incremented, and may additionally cause the
<command>recursion</command> counter to be
incremented.
@@ -7699,7 +7846,7 @@ query-source-v6 address * port *;
<sect2 id="server_statement_grammar">
<title><command>server</command> Statement Grammar</title>
<programlisting>server <replaceable>ip_addr[/prefixlen]</replaceable> {
<programlisting><command>server</command> <replaceable>ip_addr[/prefixlen]</replaceable> {
<optional> bogus <replaceable>yes_or_no</replaceable> ; </optional>
<optional> provide-ixfr <replaceable>yes_or_no</replaceable> ; </optional>
<optional> request-ixfr <replaceable>yes_or_no</replaceable> ; </optional>
@@ -7908,7 +8055,7 @@ query-source-v6 address * port *;
<sect2>
<title><command>trusted-keys</command> Statement Grammar</title>
<programlisting>trusted-keys {
<programlisting><command>trusted-keys</command> {
<replaceable>string</replaceable> <replaceable>number</replaceable> <replaceable>number</replaceable> <replaceable>number</replaceable> <replaceable>string</replaceable> ;
<optional> <replaceable>string</replaceable> <replaceable>number</replaceable> <replaceable>number</replaceable> <replaceable>number</replaceable> <replaceable>string</replaceable> ; <optional>...</optional></optional>
};
@@ -7949,7 +8096,7 @@ query-source-v6 address * port *;
<sect2 id="view_statement_grammar">
<title><command>view</command> Statement Grammar</title>
<programlisting>view <replaceable>view_name</replaceable>
<programlisting><command>view</command> <replaceable>view_name</replaceable>
<optional><replaceable>class</replaceable></optional> {
match-clients { <replaceable>address_match_list</replaceable> };
match-destinations { <replaceable>address_match_list</replaceable> };
@@ -8005,7 +8152,7 @@ query-source-v6 address * port *;
<para>
Zones defined within a <command>view</command>
statement will
be only be accessible to clients that match the <command>view</command>.
only be accessible to clients that match the <command>view</command>.
By defining a zone of the same name in multiple views, different
zone data can be given to different clients, for example,
"internal"
@@ -8090,7 +8237,7 @@ view "external" {
<title><command>zone</command>
Statement Grammar</title>
<programlisting>zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replaceable></optional> {
<programlisting><command>zone</command> <replaceable>zone_name</replaceable> <optional><replaceable>class</replaceable></optional> {
type master;
<optional> allow-query { <replaceable>address_match_list</replaceable> }; </optional>
<optional> allow-transfer { <replaceable>address_match_list</replaceable> }; </optional>
@@ -9433,6 +9580,19 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para>
IPSECKEY
</para>
</entry>
<entry colname="2">
<para>
Provides a method for storing IPsec keying material in
DNS. Described in RFC 4025.
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para>
@@ -9671,6 +9831,19 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para>
SPF
</para>
</entry>
<entry colname="2">
<para>
Contains the Sender Policy Framework information
for a given email domain. Described in RFC 4408.
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para>
@@ -9684,6 +9857,19 @@ zone <replaceable>zone_name</replaceable> <optional><replaceable>class</replacea
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para>
SSHFP
</para>
</entry>
<entry colname="2">
<para>
Provides a way to securly publish a secure shell key's
fingerprint. Described in RFC 4255.
</para>
</entry>
</row>
<row rowsep="0">
<entry colname="1">
<para>
@@ -10469,7 +10655,7 @@ $GENERATE 1-127 $ CNAME $.0</programlisting>
is equivalent to
</para>
<programlisting>0.0.0.192.IN-ADDR.ARPA NS SERVER1.EXAMPLE.
<programlisting>0.0.0.192.IN-ADDR.ARPA. NS SERVER1.EXAMPLE.
0.0.0.192.IN-ADDR.ARPA. NS SERVER2.EXAMPLE.
1.0.0.192.IN-ADDR.ARPA. CNAME 1.0.0.0.192.IN-ADDR.ARPA.
2.0.0.192.IN-ADDR.ARPA. CNAME 2.0.0.0.192.IN-ADDR.ARPA.
+26 -26
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch01.html,v 1.16.18.21 2007/10/31 01:35:57 marka Exp $ -->
<!-- $Id: Bv9ARM.ch01.html,v 1.16.18.26 2008/05/24 01:31:10 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -45,17 +45,17 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564117">Scope of Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564140">Organization of This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2563474">Conventions Used in This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564816">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2563405">Scope of Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564385">Organization of This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564524">Conventions Used in This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564637">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564837">DNS Fundamentals</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564871">Domains and Domain Names</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567208">Zones</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567285">Authoritative Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567526">Caching Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567588">Name Servers in Multiple Roles</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564659">DNS Fundamentals</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564693">Domains and Domain Names</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564845">Zones</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567243">Authoritative Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567416">Caching Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567546">Name Servers in Multiple Roles</a></span></dt>
</dl></dd>
</dl>
</div>
@@ -71,7 +71,7 @@
</p>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2564117"></a>Scope of Document</h2></div></div></div>
<a name="id2563405"></a>Scope of Document</h2></div></div></div>
<p>
The Berkeley Internet Name Domain
(<acronym class="acronym">BIND</acronym>) implements a
@@ -87,7 +87,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2564140"></a>Organization of This Document</h2></div></div></div>
<a name="id2564385"></a>Organization of This Document</h2></div></div></div>
<p>
In this document, <span class="emphasis"><em>Section 1</em></span> introduces
the basic <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym> concepts. <span class="emphasis"><em>Section 2</em></span>
@@ -116,7 +116,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2563474"></a>Conventions Used in This Document</h2></div></div></div>
<a name="id2564524"></a>Conventions Used in This Document</h2></div></div></div>
<p>
In this document, we use the following general typographic
conventions:
@@ -243,7 +243,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2564816"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
<a name="id2564637"></a>The Domain Name System (<acronym class="acronym">DNS</acronym>)</h2></div></div></div>
<p>
The purpose of this document is to explain the installation
and upkeep of the <acronym class="acronym">BIND</acronym> (Berkeley Internet
@@ -253,7 +253,7 @@
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2564837"></a>DNS Fundamentals</h3></div></div></div>
<a name="id2564659"></a>DNS Fundamentals</h3></div></div></div>
<p>
The Domain Name System (DNS) is a hierarchical, distributed
database. It stores information for mapping Internet host names to
@@ -273,7 +273,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2564871"></a>Domains and Domain Names</h3></div></div></div>
<a name="id2564693"></a>Domains and Domain Names</h3></div></div></div>
<p>
The data stored in the DNS is identified by <span class="emphasis"><em>domain names</em></span> that are organized as a tree according to
organizational or administrative boundaries. Each node of the tree,
@@ -319,7 +319,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2567208"></a>Zones</h3></div></div></div>
<a name="id2564845"></a>Zones</h3></div></div></div>
<p>
To properly operate a name server, it is important to understand
the difference between a <span class="emphasis"><em>zone</em></span>
@@ -372,7 +372,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2567285"></a>Authoritative Name Servers</h3></div></div></div>
<a name="id2567243"></a>Authoritative Name Servers</h3></div></div></div>
<p>
Each zone is served by at least
one <span class="emphasis"><em>authoritative name server</em></span>,
@@ -389,7 +389,7 @@
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2567308"></a>The Primary Master</h4></div></div></div>
<a name="id2567267"></a>The Primary Master</h4></div></div></div>
<p>
The authoritative server where the master copy of the zone
data is maintained is called the
@@ -409,7 +409,7 @@
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2567338"></a>Slave Servers</h4></div></div></div>
<a name="id2567297"></a>Slave Servers</h4></div></div></div>
<p>
The other authoritative servers, the <span class="emphasis"><em>slave</em></span>
servers (also known as <span class="emphasis"><em>secondary</em></span> servers)
@@ -425,7 +425,7 @@
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2567360"></a>Stealth Servers</h4></div></div></div>
<a name="id2567386"></a>Stealth Servers</h4></div></div></div>
<p>
Usually all of the zone's authoritative servers are listed in
NS records in the parent zone. These NS records constitute
@@ -460,7 +460,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2567526"></a>Caching Name Servers</h3></div></div></div>
<a name="id2567416"></a>Caching Name Servers</h3></div></div></div>
<p>
The resolver libraries provided by most operating systems are
<span class="emphasis"><em>stub resolvers</em></span>, meaning that they are not
@@ -487,7 +487,7 @@
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2567561"></a>Forwarding</h4></div></div></div>
<a name="id2567520"></a>Forwarding</h4></div></div></div>
<p>
Even a caching name server does not necessarily perform
the complete recursive lookup itself. Instead, it can
@@ -514,7 +514,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2567588"></a>Name Servers in Multiple Roles</h3></div></div></div>
<a name="id2567546"></a>Name Servers in Multiple Roles</h3></div></div></div>
<p>
The <acronym class="acronym">BIND</acronym> name server can
simultaneously act as
+17 -19
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch02.html,v 1.13.18.21 2007/10/31 01:35:57 marka Exp $ -->
<!-- $Id: Bv9ARM.ch02.html,v 1.13.18.28 2008/09/12 01:32:08 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -45,16 +45,16 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567622">Hardware requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567649">CPU Requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567661">Memory Requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567688">Name Server Intensive Environment Issues</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567699">Supported Operating Systems</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567580">Hardware requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567607">CPU Requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567620">Memory Requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567851">Name Server Intensive Environment Issues</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567862">Supported Operating Systems</a></span></dt>
</dl>
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2567622"></a>Hardware requirements</h2></div></div></div>
<a name="id2567580"></a>Hardware requirements</h2></div></div></div>
<p>
<acronym class="acronym">DNS</acronym> hardware requirements have
traditionally been quite modest.
@@ -73,7 +73,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2567649"></a>CPU Requirements</h2></div></div></div>
<a name="id2567607"></a>CPU Requirements</h2></div></div></div>
<p>
CPU requirements for <acronym class="acronym">BIND</acronym> 9 range from
i486-class machines
@@ -84,7 +84,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2567661"></a>Memory Requirements</h2></div></div></div>
<a name="id2567620"></a>Memory Requirements</h2></div></div></div>
<p>
The memory of the server has to be large enough to fit the
cache and zones loaded off disk. The <span><strong class="command">max-cache-size</strong></span>
@@ -107,7 +107,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2567688"></a>Name Server Intensive Environment Issues</h2></div></div></div>
<a name="id2567851"></a>Name Server Intensive Environment Issues</h2></div></div></div>
<p>
For name server intensive environments, there are two alternative
configurations that may be used. The first is where clients and
@@ -124,16 +124,14 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2567699"></a>Supported Operating Systems</h2></div></div></div>
<a name="id2567862"></a>Supported Operating Systems</h2></div></div></div>
<p>
ISC <acronym class="acronym">BIND</acronym> 9 compiles and runs on a large
number
of Unix-like operating system and on NT-derived versions of
Microsoft Windows such as Windows 2000 and Windows XP. For an
up-to-date
list of supported systems, see the README file in the top level
directory
of the BIND 9 source distribution.
number of Unix-like operating systems, and on some versions of
Microsoft Windows including Windows XP, Windows 2003, and
Windows 2008. For an up-to-date list of supported systems,
see the README file in the top level directory of the BIND 9
source distribution.
</p>
</div>
</div>
+14 -14
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch03.html,v 1.35.18.31 2007/10/31 01:35:57 marka Exp $ -->
<!-- $Id: Bv9ARM.ch03.html,v 1.35.18.36 2008/05/24 01:31:10 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -47,14 +47,14 @@
<dl>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#sample_configuration">Sample Configurations</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568004">A Caching-only Name Server</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568020">An Authoritative-only Name Server</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2567894">A Caching-only Name Server</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2567910">An Authoritative-only Name Server</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568042">Load Balancing</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568465">Name Server Operations</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568001">Load Balancing</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568423">Name Server Operations</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568470">Tools for Use With the Name Server Daemon</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570184">Signals</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568428">Tools for Use With the Name Server Daemon</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570142">Signals</a></span></dt>
</dl></dd>
</dl>
</div>
@@ -68,7 +68,7 @@
<a name="sample_configuration"></a>Sample Configurations</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2568004"></a>A Caching-only Name Server</h3></div></div></div>
<a name="id2567894"></a>A Caching-only Name Server</h3></div></div></div>
<p>
The following sample configuration is appropriate for a caching-only
name server for use by clients internal to a corporation. All
@@ -95,7 +95,7 @@ zone "0.0.127.in-addr.arpa" {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2568020"></a>An Authoritative-only Name Server</h3></div></div></div>
<a name="id2567910"></a>An Authoritative-only Name Server</h3></div></div></div>
<p>
This sample configuration is for an authoritative-only server
that is the master server for "<code class="filename">example.com</code>"
@@ -137,7 +137,7 @@ zone "eng.example.com" {
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2568042"></a>Load Balancing</h2></div></div></div>
<a name="id2568001"></a>Load Balancing</h2></div></div></div>
<p>
A primitive form of load balancing can be achieved in
the <acronym class="acronym">DNS</acronym> by using multiple records
@@ -280,10 +280,10 @@ zone "eng.example.com" {
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2568465"></a>Name Server Operations</h2></div></div></div>
<a name="id2568423"></a>Name Server Operations</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2568470"></a>Tools for Use With the Name Server Daemon</h3></div></div></div>
<a name="id2568428"></a>Tools for Use With the Name Server Daemon</h3></div></div></div>
<p>
This section describes several indispensable diagnostic,
administrative and monitoring tools available to the system
@@ -739,7 +739,7 @@ controls {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2570184"></a>Signals</h3></div></div></div>
<a name="id2570142"></a>Signals</h3></div></div></div>
<p>
Certain UNIX signals cause the name server to take specific
actions, as described in the following table. These signals can
+36 -36
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch04.html,v 1.40.18.41 2007/10/31 01:35:57 marka Exp $ -->
<!-- $Id: Bv9ARM.ch04.html,v 1.40.18.46 2008/05/24 01:31:11 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -49,29 +49,29 @@
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570642">Split DNS</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570660">Example split DNS setup</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570600">Split DNS</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570618">Example split DNS setup</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571095">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571169">Copying the Shared Secret to Both Machines</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571179">Informing the Servers of the Key's Existence</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571219">Instructing the Server to Use the Key</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571413">TSIG Key Based Access Control</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571458">Errors</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570985">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571127">Copying the Shared Secret to Both Machines</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571138">Informing the Servers of the Key's Existence</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571177">Instructing the Server to Use the Key</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571303">TSIG Key Based Access Control</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571416">Errors</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571472">TKEY</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571521">SIG(0)</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571430">TKEY</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571547">SIG(0)</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571725">Generating Keys</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571795">Signing the Zone</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571874">Configuring Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571684">Generating Keys</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571753">Signing the Zone</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571832">Configuring Servers</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572153">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571975">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572215">Address Lookups Using AAAA Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572236">Address to Name Lookups Using Nibble Format</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572173">Address Lookups Using AAAA Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572195">Address to Name Lookups Using Nibble Format</a></span></dt>
</dl></dd>
</dl>
</div>
@@ -205,7 +205,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2570642"></a>Split DNS</h2></div></div></div>
<a name="id2570600"></a>Split DNS</h2></div></div></div>
<p>
Setting up different views, or visibility, of the DNS space to
internal and external resolvers is usually referred to as a
@@ -235,7 +235,7 @@
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2570660"></a>Example split DNS setup</h3></div></div></div>
<a name="id2570618"></a>Example split DNS setup</h3></div></div></div>
<p>
Let's say a company named <span class="emphasis"><em>Example, Inc.</em></span>
(<code class="literal">example.com</code>)
@@ -481,7 +481,7 @@ nameserver 172.16.72.4
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571095"></a>Generate Shared Keys for Each Pair of Hosts</h3></div></div></div>
<a name="id2570985"></a>Generate Shared Keys for Each Pair of Hosts</h3></div></div></div>
<p>
A shared secret is generated to be shared between <span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host2</em></span>.
An arbitrary key name is chosen: "host1-host2.". The key name must
@@ -489,7 +489,7 @@ nameserver 172.16.72.4
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2571112"></a>Automatic Generation</h4></div></div></div>
<a name="id2571070"></a>Automatic Generation</h4></div></div></div>
<p>
The following command will generate a 128-bit (16 byte) HMAC-MD5
key as described above. Longer keys are better, but shorter keys
@@ -514,7 +514,7 @@ nameserver 172.16.72.4
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2571150"></a>Manual Generation</h4></div></div></div>
<a name="id2571109"></a>Manual Generation</h4></div></div></div>
<p>
The shared secret is simply a random sequence of bits, encoded
in base-64. Most ASCII strings are valid base-64 strings (assuming
@@ -529,7 +529,7 @@ nameserver 172.16.72.4
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571169"></a>Copying the Shared Secret to Both Machines</h3></div></div></div>
<a name="id2571127"></a>Copying the Shared Secret to Both Machines</h3></div></div></div>
<p>
This is beyond the scope of DNS. A secure transport mechanism
should be used. This could be secure FTP, ssh, telephone, etc.
@@ -537,7 +537,7 @@ nameserver 172.16.72.4
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571179"></a>Informing the Servers of the Key's Existence</h3></div></div></div>
<a name="id2571138"></a>Informing the Servers of the Key's Existence</h3></div></div></div>
<p>
Imagine <span class="emphasis"><em>host1</em></span> and <span class="emphasis"><em>host 2</em></span>
are
@@ -566,7 +566,7 @@ key host1-host2. {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571219"></a>Instructing the Server to Use the Key</h3></div></div></div>
<a name="id2571177"></a>Instructing the Server to Use the Key</h3></div></div></div>
<p>
Since keys are shared between two hosts only, the server must
be told when keys are to be used. The following is added to the <code class="filename">named.conf</code> file
@@ -598,7 +598,7 @@ server 10.1.2.3 {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571413"></a>TSIG Key Based Access Control</h3></div></div></div>
<a name="id2571303"></a>TSIG Key Based Access Control</h3></div></div></div>
<p>
<acronym class="acronym">BIND</acronym> allows IP addresses and ranges
to be specified in ACL
@@ -626,7 +626,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571458"></a>Errors</h3></div></div></div>
<a name="id2571416"></a>Errors</h3></div></div></div>
<p>
The processing of TSIG signed messages can result in
several errors. If a signed message is sent to a non-TSIG aware
@@ -652,7 +652,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2571472"></a>TKEY</h2></div></div></div>
<a name="id2571430"></a>TKEY</h2></div></div></div>
<p><span><strong class="command">TKEY</strong></span>
is a mechanism for automatically generating a shared secret
between two hosts. There are several "modes" of
@@ -688,7 +688,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2571521"></a>SIG(0)</h2></div></div></div>
<a name="id2571547"></a>SIG(0)</h2></div></div></div>
<p>
<acronym class="acronym">BIND</acronym> 9 partially supports DNSSEC SIG(0)
transaction signatures as specified in RFC 2535 and RFC2931.
@@ -749,7 +749,7 @@ allow-update { key host1-host2. ;};
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571725"></a>Generating Keys</h3></div></div></div>
<a name="id2571684"></a>Generating Keys</h3></div></div></div>
<p>
The <span><strong class="command">dnssec-keygen</strong></span> program is used to
generate keys.
@@ -800,7 +800,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571795"></a>Signing the Zone</h3></div></div></div>
<a name="id2571753"></a>Signing the Zone</h3></div></div></div>
<p>
The <span><strong class="command">dnssec-signzone</strong></span> program is used
to
@@ -844,7 +844,7 @@ allow-update { key host1-host2. ;};
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2571874"></a>Configuring Servers</h3></div></div></div>
<a name="id2571832"></a>Configuring Servers</h3></div></div></div>
<p>
To enable <span><strong class="command">named</strong></span> to respond appropriately
to DNS requests from DNSSEC aware clients,
@@ -932,7 +932,7 @@ options {
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2572153"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
<a name="id2571975"></a>IPv6 Support in <acronym class="acronym">BIND</acronym> 9</h2></div></div></div>
<p>
<acronym class="acronym">BIND</acronym> 9 fully supports all currently
defined forms of IPv6
@@ -971,7 +971,7 @@ options {
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2572215"></a>Address Lookups Using AAAA Records</h3></div></div></div>
<a name="id2572173"></a>Address Lookups Using AAAA Records</h3></div></div></div>
<p>
The IPv6 AAAA record is a parallel to the IPv4 A record,
and, unlike the deprecated A6 record, specifies the entire
@@ -990,7 +990,7 @@ host 3600 IN AAAA 2001:db8::1
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2572236"></a>Address to Name Lookups Using Nibble Format</h3></div></div></div>
<a name="id2572195"></a>Address to Name Lookups Using Nibble Format</h3></div></div></div>
<p>
When looking up an address in nibble format, the address
components are simply reversed, just as in IPv4, and
+4 -4
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch05.html,v 1.33.18.33 2007/10/31 01:35:58 marka Exp $ -->
<!-- $Id: Bv9ARM.ch05.html,v 1.33.18.38 2008/05/24 01:31:11 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -45,13 +45,13 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2572269">The Lightweight Resolver Library</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2572228">The Lightweight Resolver Library</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
</dl>
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2572269"></a>The Lightweight Resolver Library</h2></div></div></div>
<a name="id2572228"></a>The Lightweight Resolver Library</h2></div></div></div>
<p>
Traditionally applications have been linked with a stub resolver
library that sends recursive DNS queries to a local caching name
+302 -131
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch06.html,v 1.82.18.73.8.1 2008/05/27 22:07:34 each Exp $ -->
<!-- $Id: Bv9ARM.ch06.html,v 1.82.18.88 2008/10/18 01:29:58 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -48,52 +48,52 @@
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573480">Comment Syntax</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573436">Comment Syntax</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574092"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574117"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574282"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574307"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574711"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574726"><span><strong class="command">include</strong></span> Statement Definition and
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574736"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574753"><span><strong class="command">include</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574749"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574771"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574930"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575056"><span><strong class="command">logging</strong></span> Statement Definition and
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574776"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574800"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574958"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575084"><span><strong class="command">logging</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576406"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576480"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576544"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576587"><span><strong class="command">masters</strong></span> Statement Definition and
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576435"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576508"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576572"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576616"><span><strong class="command">masters</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576602"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576631"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585361"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585410"><span><strong class="command">trusted-keys</strong></span> Statement Definition
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585614"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585666"><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585490"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585748"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span>
Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2586798"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587332"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589080">Zone File</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589477">Zone File</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591101">Discussion of MX Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591500">Discussion of MX Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591653">Inverse Mapping in IPv4</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591848">Other Zone File Directives</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592173"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592188">Inverse Mapping in IPv4</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592384">Other Zone File Directives</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592572"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt>
</dl></dd>
</dl>
@@ -353,6 +353,33 @@
</td>
</tr>
<tr>
<td>
<p>
<code class="varname">port_list</code>
</p>
</td>
<td>
<p>
A list of an <code class="varname">ip_port</code> or a port
range.
A port range is specified in the form of
<strong class="userinput"><code>range</code></strong> followed by
two <code class="varname">ip_port</code>s,
<code class="varname">port_low</code> and
<code class="varname">port_high</code>, which represents
port numbers from <code class="varname">port_low</code> through
<code class="varname">port_high</code>, inclusive.
<code class="varname">port_low</code> must not be larger than
<code class="varname">port_high</code>.
For example,
<strong class="userinput"><code>range 1024 65535</code></strong> represents
ports from 1024 through 65535.
In either case an asterisk (`*') character is not
allowed as a valid <code class="varname">ip_port</code>.
</p>
</td>
</tr>
<tr>
<td>
<p>
<code class="varname">size_spec</code>
@@ -428,7 +455,7 @@
<a name="address_match_lists"></a>Address Match Lists</h3></div></div></div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2573277"></a>Syntax</h4></div></div></div>
<a name="id2573302"></a>Syntax</h4></div></div></div>
<pre class="programlisting"><code class="varname">address_match_list</code> = address_match_list_element ;
[<span class="optional"> address_match_list_element; ... </span>]
<code class="varname">address_match_list_element</code> = [<span class="optional"> ! </span>] (ip_address [<span class="optional">/length</span>] |
@@ -437,7 +464,7 @@
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2573305"></a>Definition and Usage</h4></div></div></div>
<a name="id2573330"></a>Definition and Usage</h4></div></div></div>
<p>
Address match lists are primarily used to determine access
control for various server operations. They are also used in
@@ -515,7 +542,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2573480"></a>Comment Syntax</h3></div></div></div>
<a name="id2573436"></a>Comment Syntax</h3></div></div></div>
<p>
The <acronym class="acronym">BIND</acronym> 9 comment syntax allows for
comments to appear
@@ -525,7 +552,7 @@
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2573495"></a>Syntax</h4></div></div></div>
<a name="id2573588"></a>Syntax</h4></div></div></div>
<p>
</p>
<pre class="programlisting">/* This is a <acronym class="acronym">BIND</acronym> comment as in C */</pre>
@@ -540,7 +567,7 @@
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2573525"></a>Definition and Usage</h4></div></div></div>
<a name="id2573618"></a>Definition and Usage</h4></div></div></div>
<p>
Comments may appear anywhere that whitespace may appear in
a <acronym class="acronym">BIND</acronym> configuration file.
@@ -774,7 +801,7 @@
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2574092"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div>
<a name="id2574117"></a><span><strong class="command">acl</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">acl</strong></span> acl-name {
address_match_list
};
@@ -857,7 +884,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2574282"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div>
<a name="id2574307"></a><span><strong class="command">controls</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">controls</strong></span> {
[ inet ( ip_addr | * ) [ port ip_port ] allow { <em class="replaceable"><code> address_match_list </code></em> }
keys { <em class="replaceable"><code>key_list</code></em> }; ]
@@ -979,12 +1006,12 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2574711"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting">include <em class="replaceable"><code>filename</code></em>;</pre>
<a name="id2574736"></a><span><strong class="command">include</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">include</strong></span> <em class="replaceable"><code>filename</code></em>;</pre>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2574726"></a><span><strong class="command">include</strong></span> Statement Definition and
<a name="id2574753"></a><span><strong class="command">include</strong></span> Statement Definition and
Usage</h3></div></div></div>
<p>
The <span><strong class="command">include</strong></span> statement inserts the
@@ -999,8 +1026,8 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2574749"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting">key <em class="replaceable"><code>key_id</code></em> {
<a name="id2574776"></a><span><strong class="command">key</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">key</strong></span> <em class="replaceable"><code>key_id</code></em> {
algorithm <em class="replaceable"><code>string</code></em>;
secret <em class="replaceable"><code>string</code></em>;
};
@@ -1008,7 +1035,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2574771"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div>
<a name="id2574800"></a><span><strong class="command">key</strong></span> Statement Definition and Usage</h3></div></div></div>
<p>
The <span><strong class="command">key</strong></span> statement defines a shared
secret key for use with TSIG (see <a href="Bv9ARM.ch04.html#tsig" title="TSIG">the section called &#8220;TSIG&#8221;</a>)
@@ -1055,7 +1082,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2574930"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div>
<a name="id2574958"></a><span><strong class="command">logging</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">logging</strong></span> {
[ <span><strong class="command">channel</strong></span> <em class="replaceable"><code>channel_name</code></em> {
( <span><strong class="command">file</strong></span> <em class="replaceable"><code>path name</code></em>
@@ -1079,7 +1106,7 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2575056"></a><span><strong class="command">logging</strong></span> Statement Definition and
<a name="id2575084"></a><span><strong class="command">logging</strong></span> Statement Definition and
Usage</h3></div></div></div>
<p>
The <span><strong class="command">logging</strong></span> statement configures a
@@ -1113,7 +1140,7 @@
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2575108"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div>
<a name="id2575137"></a>The <span><strong class="command">channel</strong></span> Phrase</h4></div></div></div>
<p>
All log output goes to one or more <span class="emphasis"><em>channels</em></span>;
you can make as many of them as you want.
@@ -1632,7 +1659,7 @@ category notify { null; };
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2576406"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div>
<a name="id2576435"></a><span><strong class="command">lwres</strong></span> Statement Grammar</h3></div></div></div>
<p>
This is the grammar of the <span><strong class="command">lwres</strong></span>
statement in the <code class="filename">named.conf</code> file:
@@ -1647,7 +1674,7 @@ category notify { null; };
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2576480"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
<a name="id2576508"></a><span><strong class="command">lwres</strong></span> Statement Definition and Usage</h3></div></div></div>
<p>
The <span><strong class="command">lwres</strong></span> statement configures the
name
@@ -1698,14 +1725,14 @@ category notify { null; };
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2576544"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
<a name="id2576572"></a><span><strong class="command">masters</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting">
<span><strong class="command">masters</strong></span> <em class="replaceable"><code>name</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] { ( <em class="replaceable"><code>masters_list</code></em> | <em class="replaceable"><code>ip_addr</code></em> [<span class="optional">port <em class="replaceable"><code>ip_port</code></em></span>] [<span class="optional">key <em class="replaceable"><code>key</code></em></span>] ) ; [<span class="optional">...</span>] };
</pre>
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2576587"></a><span><strong class="command">masters</strong></span> Statement Definition and
<a name="id2576616"></a><span><strong class="command">masters</strong></span> Statement Definition and
Usage</h3></div></div></div>
<p><span><strong class="command">masters</strong></span>
lists allow for a common set of masters to be easily used by
@@ -1714,12 +1741,12 @@ category notify { null; };
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2576602"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div>
<a name="id2576631"></a><span><strong class="command">options</strong></span> Statement Grammar</h3></div></div></div>
<p>
This is the grammar of the <span><strong class="command">options</strong></span>
statement in the <code class="filename">named.conf</code> file:
</p>
<pre class="programlisting">options {
<pre class="programlisting"><span><strong class="command">options</strong></span> {
[<span class="optional"> version <em class="replaceable"><code>version_string</code></em>; </span>]
[<span class="optional"> hostname <em class="replaceable"><code>hostname_string</code></em>; </span>]
[<span class="optional"> server-id <em class="replaceable"><code>server_id_string</code></em>; </span>]
@@ -1780,7 +1807,9 @@ category notify { null; };
[<span class="optional"> update-check-ksk <em class="replaceable"><code>yes_or_no</code></em>; </span>]
[<span class="optional"> allow-v6-synthesis { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
[<span class="optional"> blackhole { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
[<span class="optional"> use-v4-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
[<span class="optional"> avoid-v4-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
[<span class="optional"> use-v6-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
[<span class="optional"> avoid-v6-udp-ports { <em class="replaceable"><code>port_list</code></em> }; </span>]
[<span class="optional"> listen-on [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em> </span>] { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
[<span class="optional"> listen-on-v6 [<span class="optional"> port <em class="replaceable"><code>ip_port</code></em> </span>] { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
@@ -1797,6 +1826,7 @@ category notify { null; };
[<span class="optional"> max-transfer-idle-in <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> max-transfer-idle-out <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> tcp-clients <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> reserved-sockets <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> recursive-clients <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> serial-query-rate <em class="replaceable"><code>number</code></em>; </span>]
[<span class="optional"> serial-queries <em class="replaceable"><code>number</code></em>; </span>]
@@ -2739,11 +2769,12 @@ options {
to address (A or AAAA) records and that glue
address records exist for delegated zones. For
MX and SRV records only in-zone hostnames are
checked (for out-of-zone hostnames use named-checkzone).
checked (for out-of-zone hostnames use
<span><strong class="command">named-checkzone</strong></span>).
For NS records only names below top of zone are
checked (for out-of-zone names and glue consistency
checks use named-checkzone). The default is
<span><strong class="command">yes</strong></span>.
checks use <span><strong class="command">named-checkzone</strong></span>).
The default is <span><strong class="command">yes</strong></span>.
</p></dd>
<dt><span class="term"><span><strong class="command">check-mx-cname</strong></span></span></dt>
<dd><p>
@@ -2789,7 +2820,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2580536"></a>Forwarding</h4></div></div></div>
<a name="id2580525"></a>Forwarding</h4></div></div></div>
<p>
The forwarding facility can be used to create a large site-wide
cache on a few servers, reducing traffic over links to external
@@ -2833,7 +2864,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2580595"></a>Dual-stack Servers</h4></div></div></div>
<a name="id2580721"></a>Dual-stack Servers</h4></div></div></div>
<p>
Dual-stack servers are used as servers of last resort to work
around
@@ -2988,7 +3019,7 @@ options {
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2581153"></a>Interfaces</h4></div></div></div>
<a name="id2581142"></a>Interfaces</h4></div></div></div>
<p>
The interfaces and ports that the server will answer queries
from may be specified using the <span><strong class="command">listen-on</strong></span> option. <span><strong class="command">listen-on</strong></span> takes
@@ -3068,7 +3099,7 @@ listen-on-v6 port 1234 { !2001:db8::/32; any; };
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2581241"></a>Query Address</h4></div></div></div>
<a name="query_address"></a>Query Address</h4></div></div></div>
<p>
If the server doesn't know the answer to a question, it will
query other name servers. <span><strong class="command">query-source</strong></span> specifies
@@ -3077,23 +3108,83 @@ listen-on-v6 port 1234 { !2001:db8::/32; any; };
If <span><strong class="command">address</strong></span> is <span><strong class="command">*</strong></span> (asterisk) or is omitted,
a wildcard IP address (<span><strong class="command">INADDR_ANY</strong></span>)
will be used.
</p>
<p>
If <span><strong class="command">port</strong></span> is <span><strong class="command">*</strong></span> or is omitted,
a random unprivileged port number is picked up and will be
used for each query.
It is generally strongly discouraged to
specify a particular port for the
<span><strong class="command">query-source</strong></span> or
<span><strong class="command">query-source-v6</strong></span>
options; it implicitly disables the use of randomized port numbers
and leads to insecure operation.
The <span><strong class="command">avoid-v4-udp-ports</strong></span>
and <span><strong class="command">avoid-v6-udp-ports</strong></span> options can be used
to prevent named
from selecting certain ports. The defaults are:
a random port number from a pre-configured
range is picked up and will be used for each query.
The port range(s) is that specified in
the <span><strong class="command">use-v4-udp-ports</strong></span> (for IPv4)
and <span><strong class="command">use-v6-udp-ports</strong></span> (for IPv6)
options, excluding the ranges specified in
the <span><strong class="command">avoid-v4-udp-ports</strong></span>
and <span><strong class="command">avoid-v6-udp-ports</strong></span> options, respectively.
</p>
<p>
The defaults of the <span><strong class="command">query-source</strong></span> and
<span><strong class="command">query-source-v6</strong></span> options
are:
</p>
<pre class="programlisting">query-source address * port *;
query-source-v6 address * port *;
</pre>
<p>
If <span><strong class="command">use-v4-udp-ports</strong></span> or
<span><strong class="command">use-v6-udp-ports</strong></span> is unspecified,
<span><strong class="command">named</strong></span> will check if the operating
system provides a programming interface to retrieve the
system's default range for ephemeral ports.
If such an interface is available,
<span><strong class="command">named</strong></span> will use the corresponding system
default range; otherwise, it will use its own defaults:
</p>
<pre class="programlisting">use-v4-udp-ports { range 1024 65535; };
use-v6-udp-ports { range 1024 65535; };
</pre>
<p>
Note: make sure the ranges be sufficiently large for
security. A desirable size depends on various parameters,
but we generally recommend it contain at least 16384 ports
(14 bits of entropy).
Note also that the system's default range when used may be
too small for this purpose, and that the range may even be
changed while <span><strong class="command">named</strong></span> is running; the new
range will automatically be applied when <span><strong class="command">named</strong></span>
is reloaded.
It is encouraged to
configure <span><strong class="command">use-v4-udp-ports</strong></span> and
<span><strong class="command">use-v6-udp-ports</strong></span> explicitly so that the
ranges are sufficiently large and are reasonably
independent from the ranges used by other applications.
</p>
<p>
Note: the operational configuration
where <span><strong class="command">named</strong></span> runs may prohibit the use
of some ports. For example, UNIX systems will not allow
<span><strong class="command">named</strong></span> running without a root privilege
to use ports less than 1024.
If such ports are included in the specified (or detected)
set of query ports, the corresponding query attempts will
fail, resulting in resolution failures or delay.
It is therefore important to configure the set of ports
that can be safely used in the expected operational environment.
</p>
<p>
The defaults of the <span><strong class="command">avoid-v4-udp-ports</strong></span> and
<span><strong class="command">avoid-v6-udp-ports</strong></span> options
are:
</p>
<pre class="programlisting">avoid-v4-udp-ports {};
avoid-v6-udp-ports {};
</pre>
<p>
Note: it is generally strongly discouraged to
specify a particular port for the
<span><strong class="command">query-source</strong></span> or
<span><strong class="command">query-source-v6</strong></span> options;
it implicitly disables the use of randomized port numbers
and can be insecure.
</p>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
@@ -3356,21 +3447,49 @@ query-source-v6 address * port *;
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2581988"></a>Bad UDP Port Lists</h4></div></div></div>
<p><span><strong class="command">avoid-v4-udp-ports</strong></span>
and <span><strong class="command">avoid-v6-udp-ports</strong></span> specify a list
of IPv4 and IPv6 UDP ports that will not be used as system
assigned source ports for UDP sockets. These lists
prevent named from choosing as its random source port a
port that is blocked by your firewall. If a query went
out with such a source port, the answer would not get by
the firewall and the name server would have to query
again.
<a name="id2582140"></a>UDP Port Lists</h4></div></div></div>
<p>
<span><strong class="command">use-v4-udp-ports</strong></span>,
<span><strong class="command">avoid-v4-udp-ports</strong></span>,
<span><strong class="command">use-v6-udp-ports</strong></span>, and
<span><strong class="command">avoid-v6-udp-ports</strong></span>
specify a list of IPv4 and IPv6 UDP ports that will be
used or not used as source ports for UDP messages.
See <a href="Bv9ARM.ch06.html#query_address" title="Query Address">the section called &#8220;Query Address&#8221;</a> about how the
available ports are determined.
For example, with the following configuration
</p>
<pre class="programlisting">
use-v6-udp-ports { range 32768 65535; };
avoid-v6-udp-ports { 40000; range 50000 60000; };
</pre>
<p>
UDP ports of IPv6 messages sent
from <span><strong class="command">named</strong></span> will be in one
of the following ranges: 32768 to 39999, 40001 to 49999,
and 60001 to 65535.
</p>
<p>
<span><strong class="command">avoid-v4-udp-ports</strong></span> and
<span><strong class="command">avoid-v6-udp-ports</strong></span> can be used
to prevent <span><strong class="command">named</strong></span> from choosing as its random source port a
port that is blocked by your firewall or a port that is
used by other applications;
if a query went out with a source port blocked by a
firewall, the
answer would not get by the firewall and the name server would
have to query again.
Note: the desired range can also be represented only with
<span><strong class="command">use-v4-udp-ports</strong></span> and
<span><strong class="command">use-v6-udp-ports</strong></span>, and the
<span><strong class="command">avoid-</strong></span> options are redundant in that
sense; they are provided for backward compatibility and
to possibly simplify the port specification.
</p>
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2582003"></a>Operating System Resource Limits</h4></div></div></div>
<a name="id2582200"></a>Operating System Resource Limits</h4></div></div></div>
<p>
The server's usage of many system resources can be limited.
Scaled values are allowed when specifying resource limits. For
@@ -3429,7 +3548,7 @@ query-source-v6 address * port *;
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2582186"></a>Server Resource Limits</h4></div></div></div>
<a name="id2582452"></a>Server Resource Limits</h4></div></div></div>
<p>
The following options set limits on the server's
resource consumption that are enforced internally by the
@@ -3478,19 +3597,42 @@ query-source-v6 address * port *;
connections that the server will accept.
The default is <code class="literal">100</code>.
</p></dd>
<dt><span class="term"><span><strong class="command">reserved-sockets</strong></span></span></dt>
<dd>
<p>
The number of file descriptors reserved for TCP, stdio,
etc. This needs to be big enough to cover the number of
interfaces named listens on, tcp-clients as well as
to provide room for outgoing TCP queries and incoming zone
transfers. The default is <code class="literal">512</code>.
The minimum value is <code class="literal">128</code> and the
maximum value is <code class="literal">128</code> less than
maxsockets (-S). This option may be removed in the future.
</p>
<p>
This option has little effect on Windows.
</p>
</dd>
<dt><span class="term"><span><strong class="command">max-cache-size</strong></span></span></dt>
<dd><p>
The maximum amount of memory to use for the
server's cache, in bytes. When the amount of data in the
cache
server's cache, in bytes.
When the amount of data in the cache
reaches this limit, the server will cause records to expire
prematurely so that the limit is not exceeded. In a server
with
multiple views, the limit applies separately to the cache of
each
view. The default is <code class="literal">unlimited</code>, meaning that
records are purged from the cache only when their TTLs
expire.
prematurely so that the limit is not exceeded.
A value of 0 is special, meaning that
records are purged from the cache only when their
TTLs expire.
Another special keyword <strong class="userinput"><code>unlimited</code></strong>
means the maximum value of 32-bit unsigned integers
(0xffffffff), which may not have the same effect as
0 on machines that support more than 32 bits of
memory space.
Any positive values less than 2MB will be ignored reset
to 2MB.
In a server with multiple views, the limit applies
separately to the cache of each view.
The default is 0.
</p></dd>
<dt><span class="term"><span><strong class="command">tcp-listen-queue</strong></span></span></dt>
<dd><p>
@@ -3507,7 +3649,7 @@ query-source-v6 address * port *;
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2582320"></a>Periodic Task Intervals</h4></div></div></div>
<a name="id2582682"></a>Periodic Task Intervals</h4></div></div></div>
<div class="variablelist"><dl>
<dt><span class="term"><span><strong class="command">cleaning-interval</strong></span></span></dt>
<dd><p>
@@ -3837,6 +3979,10 @@ query-source-v6 address * port *;
Sets the maximum time for which the server will
cache ordinary (positive) answers. The default is
one week (7 days).
A value of zero may cause all queries to return
SERVFAIL, because of lost caches of intermediate
RRsets (such as NS and glue AAAA/A records) in the
resolution process.
</p></dd>
<dt><span class="term"><span><strong class="command">min-roots</strong></span></span></dt>
<dd>
@@ -4062,27 +4208,11 @@ query-source-v6 address * port *;
The current list of empty zones is:
</p>
<div class="itemizedlist"><ul type="disc">
<li>10.IN-ADDR.ARPA</li>
<li>0.IN-ADDR.ARPA</li>
<li>127.IN-ADDR.ARPA</li>
<li>254.169.IN-ADDR.ARPA</li>
<li>16.172.IN-ADDR.ARPA</li>
<li>17.172.IN-ADDR.ARPA</li>
<li>18.172.IN-ADDR.ARPA</li>
<li>19.172.IN-ADDR.ARPA</li>
<li>20.172.IN-ADDR.ARPA</li>
<li>21.172.IN-ADDR.ARPA</li>
<li>22.172.IN-ADDR.ARPA</li>
<li>23.172.IN-ADDR.ARPA</li>
<li>24.172.IN-ADDR.ARPA</li>
<li>25.172.IN-ADDR.ARPA</li>
<li>26.172.IN-ADDR.ARPA</li>
<li>27.172.IN-ADDR.ARPA</li>
<li>28.172.IN-ADDR.ARPA</li>
<li>29.172.IN-ADDR.ARPA</li>
<li>30.172.IN-ADDR.ARPA</li>
<li>31.172.IN-ADDR.ARPA</li>
<li>168.192.IN-ADDR.ARPA</li>
<li>2.0.192.IN-ADDR.ARPA</li>
<li>255.255.255.255.IN-ADDR.ARPA</li>
<li>0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA</li>
<li>1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA</li>
<li>D.F.IP6.ARPA</li>
@@ -4292,8 +4422,10 @@ query-source-v6 address * port *;
<span><strong class="command">success</strong></span>,
<span><strong class="command">referral</strong></span>,
<span><strong class="command">nxrrset</strong></span>,
<span><strong class="command">nxdomain</strong></span>, or
<span><strong class="command">failure</strong></span>
<span><strong class="command">nxdomain</strong></span>,
<span><strong class="command">failure</strong></span>,
<span><strong class="command">duplicate</strong></span>, or
<span><strong class="command">dropped</strong></span>
to be incremented, and may additionally cause the
<span><strong class="command">recursion</strong></span> counter to be
incremented.
@@ -4397,7 +4529,7 @@ query-source-v6 address * port *;
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="server_statement_grammar"></a><span><strong class="command">server</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting">server <em class="replaceable"><code>ip_addr[/prefixlen]</code></em> {
<pre class="programlisting"><span><strong class="command">server</strong></span> <em class="replaceable"><code>ip_addr[/prefixlen]</code></em> {
[<span class="optional"> bogus <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
[<span class="optional"> provide-ixfr <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
[<span class="optional"> request-ixfr <em class="replaceable"><code>yes_or_no</code></em> ; </span>]
@@ -4587,8 +4719,8 @@ query-source-v6 address * port *;
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2585361"></a><span><strong class="command">trusted-keys</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting">trusted-keys {
<a name="id2585614"></a><span><strong class="command">trusted-keys</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting"><span><strong class="command">trusted-keys</strong></span> {
<em class="replaceable"><code>string</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ;
[<span class="optional"> <em class="replaceable"><code>string</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>number</code></em> <em class="replaceable"><code>string</code></em> ; [<span class="optional">...</span>]</span>]
};
@@ -4596,7 +4728,7 @@ query-source-v6 address * port *;
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2585410"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
<a name="id2585666"></a><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</h3></div></div></div>
<p>
The <span><strong class="command">trusted-keys</strong></span> statement defines
@@ -4627,7 +4759,7 @@ query-source-v6 address * port *;
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="view_statement_grammar"></a><span><strong class="command">view</strong></span> Statement Grammar</h3></div></div></div>
<pre class="programlisting">view <em class="replaceable"><code>view_name</code></em>
<pre class="programlisting"><span><strong class="command">view</strong></span> <em class="replaceable"><code>view_name</code></em>
[<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
match-clients { <em class="replaceable"><code>address_match_list</code></em> };
match-destinations { <em class="replaceable"><code>address_match_list</code></em> };
@@ -4639,7 +4771,7 @@ query-source-v6 address * port *;
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2585490"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
<a name="id2585748"></a><span><strong class="command">view</strong></span> Statement Definition and Usage</h3></div></div></div>
<p>
The <span><strong class="command">view</strong></span> statement is a powerful
feature
@@ -4680,7 +4812,7 @@ query-source-v6 address * port *;
<p>
Zones defined within a <span><strong class="command">view</strong></span>
statement will
be only be accessible to clients that match the <span><strong class="command">view</strong></span>.
only be accessible to clients that match the <span><strong class="command">view</strong></span>.
By defining a zone of the same name in multiple views, different
zone data can be given to different clients, for example,
"internal"
@@ -4759,7 +4891,7 @@ view "external" {
<div class="titlepage"><div><div><h3 class="title">
<a name="zone_statement_grammar"></a><span><strong class="command">zone</strong></span>
Statement Grammar</h3></div></div></div>
<pre class="programlisting">zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
<pre class="programlisting"><span><strong class="command">zone</strong></span> <em class="replaceable"><code>zone_name</code></em> [<span class="optional"><em class="replaceable"><code>class</code></em></span>] {
type master;
[<span class="optional"> allow-query { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
[<span class="optional"> allow-transfer { <em class="replaceable"><code>address_match_list</code></em> }; </span>]
@@ -4891,10 +5023,10 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2586798"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
<a name="id2587332"></a><span><strong class="command">zone</strong></span> Statement Definition and Usage</h3></div></div></div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2586806"></a>Zone Types</h4></div></div></div>
<a name="id2587339"></a>Zone Types</h4></div></div></div>
<div class="informaltable"><table border="1">
<colgroup>
<col>
@@ -5103,7 +5235,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2587362"></a>Class</h4></div></div></div>
<a name="id2587690"></a>Class</h4></div></div></div>
<p>
The zone's name may optionally be followed by a class. If
a class is not specified, class <code class="literal">IN</code> (for <code class="varname">Internet</code>),
@@ -5125,7 +5257,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2587395"></a>Zone Options</h4></div></div></div>
<a name="id2587723"></a>Zone Options</h4></div></div></div>
<div class="variablelist"><dl>
<dt><span class="term"><span><strong class="command">allow-notify</strong></span></span></dt>
<dd><p>
@@ -5613,7 +5745,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2589080"></a>Zone File</h2></div></div></div>
<a name="id2589477"></a>Zone File</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="types_of_resource_records_and_when_to_use_them"></a>Types of Resource Records and When to Use Them</h3></div></div></div>
@@ -5626,7 +5758,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2589098"></a>Resource Records</h4></div></div></div>
<a name="id2589495"></a>Resource Records</h4></div></div></div>
<p>
A domain name identifies a node. Each node has a set of
resource information, which may be empty. The set of resource
@@ -5888,6 +6020,19 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</td>
</tr>
<tr>
<td>
<p>
IPSECKEY
</p>
</td>
<td>
<p>
Provides a method for storing IPsec keying material in
DNS. Described in RFC 4025.
</p>
</td>
</tr>
<tr>
<td>
<p>
ISDN
@@ -6126,6 +6271,19 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</td>
</tr>
<tr>
<td>
<p>
SPF
</p>
</td>
<td>
<p>
Contains the Sender Policy Framework information
for a given email domain. Described in RFC 4408.
</p>
</td>
</tr>
<tr>
<td>
<p>
SRV
@@ -6139,6 +6297,19 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</td>
</tr>
<tr>
<td>
<p>
SSHFP
</p>
</td>
<td>
<p>
Provides a way to securly publish a secure shell key's
fingerprint. Described in RFC 4255.
</p>
</td>
</tr>
<tr>
<td>
<p>
TXT
@@ -6277,7 +6448,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2590513"></a>Textual expression of RRs</h4></div></div></div>
<a name="id2590912"></a>Textual expression of RRs</h4></div></div></div>
<p>
RRs are represented in binary form in the packets of the DNS
protocol, and are usually represented in highly encoded form
@@ -6480,7 +6651,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2591101"></a>Discussion of MX Records</h3></div></div></div>
<a name="id2591500"></a>Discussion of MX Records</h3></div></div></div>
<p>
As described above, domain servers store information as a
series of resource records, each of which contains a particular
@@ -6738,7 +6909,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2591653"></a>Inverse Mapping in IPv4</h3></div></div></div>
<a name="id2592188"></a>Inverse Mapping in IPv4</h3></div></div></div>
<p>
Reverse name resolution (that is, translation from IP address
to name) is achieved by means of the <span class="emphasis"><em>in-addr.arpa</em></span> domain
@@ -6799,7 +6970,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2591848"></a>Other Zone File Directives</h3></div></div></div>
<a name="id2592384"></a>Other Zone File Directives</h3></div></div></div>
<p>
The Master File Format was initially defined in RFC 1035 and
has subsequently been extended. While the Master File Format
@@ -6814,7 +6985,7 @@ zone <em class="replaceable"><code>zone_name</code></em> [<span class="optional"
</p>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2591870"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div>
<a name="id2592406"></a>The <span><strong class="command">$ORIGIN</strong></span> Directive</h4></div></div></div>
<p>
Syntax: <span><strong class="command">$ORIGIN</strong></span>
<em class="replaceable"><code>domain-name</code></em>
@@ -6842,7 +7013,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2592000"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
<a name="id2592467"></a>The <span><strong class="command">$INCLUDE</strong></span> Directive</h4></div></div></div>
<p>
Syntax: <span><strong class="command">$INCLUDE</strong></span>
<em class="replaceable"><code>filename</code></em>
@@ -6878,7 +7049,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
</div>
<div class="sect3" lang="en">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2592069"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
<a name="id2592536"></a>The <span><strong class="command">$TTL</strong></span> Directive</h4></div></div></div>
<p>
Syntax: <span><strong class="command">$TTL</strong></span>
<em class="replaceable"><code>default-ttl</code></em>
@@ -6897,7 +7068,7 @@ WWW.EXAMPLE.COM. CNAME MAIN-SERVER.EXAMPLE.COM.
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2592173"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
<a name="id2592572"></a><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</h3></div></div></div>
<p>
Syntax: <span><strong class="command">$GENERATE</strong></span>
<em class="replaceable"><code>range</code></em>
@@ -6922,7 +7093,7 @@ $GENERATE 1-127 $ CNAME $.0</pre>
<p>
is equivalent to
</p>
<pre class="programlisting">0.0.0.192.IN-ADDR.ARPA NS SERVER1.EXAMPLE.
<pre class="programlisting">0.0.0.192.IN-ADDR.ARPA. NS SERVER1.EXAMPLE.
0.0.0.192.IN-ADDR.ARPA. NS SERVER2.EXAMPLE.
1.0.0.192.IN-ADDR.ARPA. CNAME 1.0.0.0.192.IN-ADDR.ARPA.
2.0.0.192.IN-ADDR.ARPA. CNAME 2.0.0.0.192.IN-ADDR.ARPA.
+8 -8
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch07.html,v 1.75.18.63 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: Bv9ARM.ch07.html,v 1.75.18.76 2008/10/16 01:29:41 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -46,10 +46,10 @@
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2592714"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2593181"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2592791">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2592851">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593326">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593386">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt>
</dl>
@@ -118,7 +118,7 @@ zone "example.com" {
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2592714"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span>
<a name="id2593181"></a><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span>
</h2></div></div></div>
<p>
On UNIX servers, it is possible to run <acronym class="acronym">BIND</acronym> in a <span class="emphasis"><em>chrooted</em></span> environment
@@ -142,7 +142,7 @@ zone "example.com" {
</p>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2592791"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div>
<a name="id2593326"></a>The <span><strong class="command">chroot</strong></span> Environment</h3></div></div></div>
<p>
In order for a <span><strong class="command">chroot</strong></span> environment
to
@@ -170,7 +170,7 @@ zone "example.com" {
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2592851"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div>
<a name="id2593386"></a>Using the <span><strong class="command">setuid</strong></span> Function</h3></div></div></div>
<p>
Prior to running the <span><strong class="command">named</strong></span> daemon,
use
+10 -10
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch08.html,v 1.75.18.64 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: Bv9ARM.ch08.html,v 1.75.18.77 2008/10/16 01:29:41 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -45,18 +45,18 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2592999">Common Problems</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2593004">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593016">Incrementing and Changing the Serial Number</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593033">Where Can I Get Help?</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593466">Common Problems</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2593472">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593483">Incrementing and Changing the Serial Number</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593500">Where Can I Get Help?</a></span></dt>
</dl>
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2592999"></a>Common Problems</h2></div></div></div>
<a name="id2593466"></a>Common Problems</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2593004"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div>
<a name="id2593472"></a>It's not working; how can I figure out what's wrong?</h3></div></div></div>
<p>
The best solution to solving installation and
configuration issues is to take preventative measures by setting
@@ -68,7 +68,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2593016"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
<a name="id2593483"></a>Incrementing and Changing the Serial Number</h2></div></div></div>
<p>
Zone serial numbers are just numbers &#8212; they aren't
date related. A lot of people set them to a number that
@@ -95,7 +95,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2593033"></a>Where Can I Get Help?</h2></div></div></div>
<a name="id2593500"></a>Where Can I Get Help?</h2></div></div></div>
<p>
The Internet Systems Consortium
(<acronym class="acronym">ISC</acronym>) offers a wide range
+91 -91
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch09.html,v 1.75.18.66 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: Bv9ARM.ch09.html,v 1.75.18.80 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -45,21 +45,21 @@
<div class="toc">
<p><b>Table of Contents</b></p>
<dl>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593300">Acknowledgments</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593630">Acknowledgments</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593472">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593802">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2596683">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2597082">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
</dl></dd>
</dl>
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2593300"></a>Acknowledgments</h2></div></div></div>
<a name="id2593630"></a>Acknowledgments</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="historical_dns_information"></a>A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym>
@@ -164,7 +164,7 @@
</div>
<div class="sect1" lang="en">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="id2593472"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div>
<a name="id2593802"></a>General <acronym class="acronym">DNS</acronym> Reference Information</h2></div></div></div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="ipv6addresses"></a>IPv6 addresses (AAAA)</h3></div></div></div>
@@ -252,17 +252,17 @@
</p>
<div class="bibliography">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2593659"></a>Bibliography</h4></div></div></div>
<a name="id2593990"></a>Bibliography</h4></div></div></div>
<div class="bibliodiv">
<h3 class="title">Standards</h3>
<div class="biblioentry">
<a name="id2593670"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p>
<a name="id2594001"></a><p>[<abbr class="abbrev">RFC974</abbr>] <span class="author"><span class="firstname">C.</span> <span class="surname">Partridge</span>. </span><span class="title"><i>Mail Routing and the Domain System</i>. </span><span class="pubdate">January 1986. </span></p>
</div>
<div class="biblioentry">
<a name="id2593693"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names &#8212; Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p>
<a name="id2594024"></a><p>[<abbr class="abbrev">RFC1034</abbr>] <span class="author"><span class="firstname">P.V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names &#8212; Concepts and Facilities</i>. </span><span class="pubdate">November 1987. </span></p>
</div>
<div class="biblioentry">
<a name="id2593717"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names &#8212; Implementation and
<a name="id2594048"></a><p>[<abbr class="abbrev">RFC1035</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>Domain Names &#8212; Implementation and
Specification</i>. </span><span class="pubdate">November 1987. </span></p>
</div>
</div>
@@ -270,42 +270,42 @@
<h3 class="title">
<a name="proposed_standards"></a>Proposed Standards</h3>
<div class="biblioentry">
<a name="id2593753"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym>
<a name="id2594084"></a><p>[<abbr class="abbrev">RFC2181</abbr>] <span class="author"><span class="firstname">R., R. Bush</span> <span class="surname">Elz</span>. </span><span class="title"><i>Clarifications to the <acronym class="acronym">DNS</acronym>
Specification</i>. </span><span class="pubdate">July 1997. </span></p>
</div>
<div class="biblioentry">
<a name="id2593780"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym>
<a name="id2594110"></a><p>[<abbr class="abbrev">RFC2308</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Andrews</span>. </span><span class="title"><i>Negative Caching of <acronym class="acronym">DNS</acronym>
Queries</i>. </span><span class="pubdate">March 1998. </span></p>
</div>
<div class="biblioentry">
<a name="id2593805"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p>
<a name="id2594136"></a><p>[<abbr class="abbrev">RFC1995</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Ohta</span>. </span><span class="title"><i>Incremental Zone Transfer in <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">August 1996. </span></p>
</div>
<div class="biblioentry">
<a name="id2593830"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p>
<a name="id2594161"></a><p>[<abbr class="abbrev">RFC1996</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A Mechanism for Prompt Notification of Zone Changes</i>. </span><span class="pubdate">August 1996. </span></p>
</div>
<div class="biblioentry">
<a name="id2593853"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p>
<a name="id2594184"></a><p>[<abbr class="abbrev">RFC2136</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">Y.</span> <span class="surname">Rekhter</span>, and <span class="firstname">J.</span> <span class="surname">Bound</span>. </span><span class="title"><i>Dynamic Updates in the Domain Name System</i>. </span><span class="pubdate">April 1997. </span></p>
</div>
<div class="biblioentry">
<a name="id2593909"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p>
<a name="id2594240"></a><p>[<abbr class="abbrev">RFC2671</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Extension Mechanisms for DNS (EDNS0)</i>. </span><span class="pubdate">August 1997. </span></p>
</div>
<div class="biblioentry">
<a name="id2593936"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p>
<a name="id2594266"></a><p>[<abbr class="abbrev">RFC2672</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Non-Terminal DNS Name Redirection</i>. </span><span class="pubdate">August 1999. </span></p>
</div>
<div class="biblioentry">
<a name="id2593962"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p>
<a name="id2594293"></a><p>[<abbr class="abbrev">RFC2845</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>, <span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, and <span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secret Key Transaction Authentication for <acronym class="acronym">DNS</acronym> (TSIG)</i>. </span><span class="pubdate">May 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2594024"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p>
<a name="id2594423"></a><p>[<abbr class="abbrev">RFC2930</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secret Key Establishment for DNS (TKEY RR)</i>. </span><span class="pubdate">September 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2594054"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p>
<a name="id2594453"></a><p>[<abbr class="abbrev">RFC2931</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DNS Request and Transaction Signatures (SIG(0)s)</i>. </span><span class="pubdate">September 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2594084"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p>
<a name="id2594483"></a><p>[<abbr class="abbrev">RFC3007</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Secure Domain Name System (DNS) Dynamic Update</i>. </span><span class="pubdate">November 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2594110"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret
<a name="id2594509"></a><p>[<abbr class="abbrev">RFC3645</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Kwan</span>, <span class="firstname">P.</span> <span class="surname">Garg</span>, <span class="firstname">J.</span> <span class="surname">Gilroy</span>, <span class="firstname">L.</span> <span class="surname">Esibov</span>, <span class="firstname">J.</span> <span class="surname">Westhead</span>, and <span class="firstname">R.</span> <span class="surname">Hall</span>. </span><span class="title"><i>Generic Security Service Algorithm for Secret
Key Transaction Authentication for DNS
(GSS-TSIG)</i>. </span><span class="pubdate">October 2003. </span></p>
</div>
@@ -314,19 +314,19 @@
<h3 class="title">
<acronym class="acronym">DNS</acronym> Security Proposed Standards</h3>
<div class="biblioentry">
<a name="id2594193"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p>
<a name="id2594592"></a><p>[<abbr class="abbrev">RFC3225</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Conrad</span>. </span><span class="title"><i>Indicating Resolver Support of DNSSEC</i>. </span><span class="pubdate">December 2001. </span></p>
</div>
<div class="biblioentry">
<a name="id2594288"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p>
<a name="id2594618"></a><p>[<abbr class="abbrev">RFC3833</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Atkins</span> and <span class="firstname">R.</span> <span class="surname">Austein</span>. </span><span class="title"><i>Threat Analysis of the Domain Name System (DNS)</i>. </span><span class="pubdate">August 2004. </span></p>
</div>
<div class="biblioentry">
<a name="id2594324"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p>
<a name="id2594654"></a><p>[<abbr class="abbrev">RFC4033</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>DNS Security Introduction and Requirements</i>. </span><span class="pubdate">March 2005. </span></p>
</div>
<div class="biblioentry">
<a name="id2594389"></a><p>[<abbr class="abbrev">RFC4044</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
<a name="id2594720"></a><p>[<abbr class="abbrev">RFC4044</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Resource Records for the DNS Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
</div>
<div class="biblioentry">
<a name="id2594454"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS
<a name="id2594785"></a><p>[<abbr class="abbrev">RFC4035</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Arends</span>, <span class="firstname">R.</span> <span class="surname">Austein</span>, <span class="firstname">M.</span> <span class="surname">Larson</span>, <span class="firstname">D.</span> <span class="surname">Massey</span>, and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Protocol Modifications for the DNS
Security Extensions</i>. </span><span class="pubdate">March 2005. </span></p>
</div>
</div>
@@ -334,146 +334,146 @@
<h3 class="title">Other Important RFCs About <acronym class="acronym">DNS</acronym>
Implementation</h3>
<div class="biblioentry">
<a name="id2594596"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely
<a name="id2594858"></a><p>[<abbr class="abbrev">RFC1535</abbr>] <span class="author"><span class="firstname">E.</span> <span class="surname">Gavron</span>. </span><span class="title"><i>A Security Problem and Proposed Correction With Widely
Deployed <acronym class="acronym">DNS</acronym> Software.</i>. </span><span class="pubdate">October 1993. </span></p>
</div>
<div class="biblioentry">
<a name="id2594621"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation
<a name="id2594884"></a><p>[<abbr class="abbrev">RFC1536</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Kumar</span>, <span class="firstname">J.</span> <span class="surname">Postel</span>, <span class="firstname">C.</span> <span class="surname">Neuman</span>, <span class="firstname">P.</span> <span class="surname">Danzig</span>, and <span class="firstname">S.</span> <span class="surname">Miller</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Implementation
Errors and Suggested Fixes</i>. </span><span class="pubdate">October 1993. </span></p>
</div>
<div class="biblioentry">
<a name="id2594690"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p>
<a name="id2594952"></a><p>[<abbr class="abbrev">RFC1982</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Elz</span> and <span class="firstname">R.</span> <span class="surname">Bush</span>. </span><span class="title"><i>Serial Number Arithmetic</i>. </span><span class="pubdate">August 1996. </span></p>
</div>
<div class="biblioentry">
<a name="id2594725"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym>
<a name="id2594987"></a><p>[<abbr class="abbrev">RFC4074</abbr>] <span class="authorgroup"><span class="firstname">Y.</span> <span class="surname">Morishita</span> and <span class="firstname">T.</span> <span class="surname">Jinmei</span>. </span><span class="title"><i>Common Misbehaviour Against <acronym class="acronym">DNS</acronym>
Queries for IPv6 Addresses</i>. </span><span class="pubdate">May 2005. </span></p>
</div>
</div>
<div class="bibliodiv">
<h3 class="title">Resource Record Types</h3>
<div class="biblioentry">
<a name="id2594771"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p>
<a name="id2595033"></a><p>[<abbr class="abbrev">RFC1183</abbr>] <span class="authorgroup"><span class="firstname">C.F.</span> <span class="surname">Everhart</span>, <span class="firstname">L. A.</span> <span class="surname">Mamakos</span>, <span class="firstname">R.</span> <span class="surname">Ullmann</span>, and <span class="firstname">P.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i>New <acronym class="acronym">DNS</acronym> RR Definitions</i>. </span><span class="pubdate">October 1990. </span></p>
</div>
<div class="biblioentry">
<a name="id2594828"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p>
<a name="id2595091"></a><p>[<abbr class="abbrev">RFC1706</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">R.</span> <span class="surname">Colella</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> NSAP Resource Records</i>. </span><span class="pubdate">October 1994. </span></p>
</div>
<div class="biblioentry">
<a name="id2594866"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using
<a name="id2595128"></a><p>[<abbr class="abbrev">RFC2168</abbr>] <span class="authorgroup"><span class="firstname">R.</span> <span class="surname">Daniel</span> and <span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="title"><i>Resolution of Uniform Resource Identifiers using
the Domain Name System</i>. </span><span class="pubdate">June 1997. </span></p>
</div>
<div class="biblioentry">
<a name="id2594901"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the
<a name="id2595163"></a><p>[<abbr class="abbrev">RFC1876</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Davis</span>, <span class="firstname">P.</span> <span class="surname">Vixie</span>, <span class="firstname">T.</span>, and <span class="firstname">I.</span> <span class="surname">Dickinson</span>. </span><span class="title"><i>A Means for Expressing Location Information in the
Domain
Name System</i>. </span><span class="pubdate">January 1996. </span></p>
</div>
<div class="biblioentry">
<a name="id2594955"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the
<a name="id2595218"></a><p>[<abbr class="abbrev">RFC2052</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>A <acronym class="acronym">DNS</acronym> RR for Specifying the
Location of
Services.</i>. </span><span class="pubdate">October 1996. </span></p>
</div>
<div class="biblioentry">
<a name="id2594994"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to
<a name="id2595256"></a><p>[<abbr class="abbrev">RFC2163</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Allocchio</span>. </span><span class="title"><i>Using the Internet <acronym class="acronym">DNS</acronym> to
Distribute MIXER
Conformant Global Address Mapping</i>. </span><span class="pubdate">January 1998. </span></p>
</div>
<div class="biblioentry">
<a name="id2595019"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p>
<a name="id2595282"></a><p>[<abbr class="abbrev">RFC2230</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Atkinson</span>. </span><span class="title"><i>Key Exchange Delegation Record for the <acronym class="acronym">DNS</acronym></i>. </span><span class="pubdate">October 1997. </span></p>
</div>
<div class="biblioentry">
<a name="id2595045"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
<a name="id2595307"></a><p>[<abbr class="abbrev">RFC2536</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>DSA KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
</div>
<div class="biblioentry">
<a name="id2595072"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
<a name="id2595334"></a><p>[<abbr class="abbrev">RFC2537</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
</div>
<div class="biblioentry">
<a name="id2595098"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
<a name="id2595361"></a><p>[<abbr class="abbrev">RFC2538</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Storing Certificates in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
</div>
<div class="biblioentry">
<a name="id2595138"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
<a name="id2595400"></a><p>[<abbr class="abbrev">RFC2539</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Storage of Diffie-Hellman Keys in the Domain Name System (DNS)</i>. </span><span class="pubdate">March 1999. </span></p>
</div>
<div class="biblioentry">
<a name="id2595168"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p>
<a name="id2595430"></a><p>[<abbr class="abbrev">RFC2540</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Detached Domain Name System (DNS) Information</i>. </span><span class="pubdate">March 1999. </span></p>
</div>
<div class="biblioentry">
<a name="id2595197"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p>
<a name="id2595460"></a><p>[<abbr class="abbrev">RFC2782</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gulbrandsen</span>. </span><span class="author"><span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="author"><span class="firstname">L.</span> <span class="surname">Esibov</span>. </span><span class="title"><i>A DNS RR for specifying the location of services (DNS SRV)</i>. </span><span class="pubdate">February 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2595240"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p>
<a name="id2595502"></a><p>[<abbr class="abbrev">RFC2915</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Mealling</span>. </span><span class="author"><span class="firstname">R.</span> <span class="surname">Daniel</span>. </span><span class="title"><i>The Naming Authority Pointer (NAPTR) DNS Resource Record</i>. </span><span class="pubdate">September 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2595273"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p>
<a name="id2595536"></a><p>[<abbr class="abbrev">RFC3110</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS)</i>. </span><span class="pubdate">May 2001. </span></p>
</div>
<div class="biblioentry">
<a name="id2595300"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p>
<a name="id2595562"></a><p>[<abbr class="abbrev">RFC3123</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Koch</span>. </span><span class="title"><i>A DNS RR Type for Lists of Address Prefixes (APL RR)</i>. </span><span class="pubdate">June 2001. </span></p>
</div>
<div class="biblioentry">
<a name="id2595323"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP
<a name="id2595586"></a><p>[<abbr class="abbrev">RFC3596</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Thomson</span>, <span class="firstname">C.</span> <span class="surname">Huitema</span>, <span class="firstname">V.</span> <span class="surname">Ksinant</span>, and <span class="firstname">M.</span> <span class="surname">Souissi</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Extensions to support IP
version 6</i>. </span><span class="pubdate">October 2003. </span></p>
</div>
<div class="biblioentry">
<a name="id2595381"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p>
<a name="id2595643"></a><p>[<abbr class="abbrev">RFC3597</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Gustafsson</span>. </span><span class="title"><i>Handling of Unknown DNS Resource Record (RR) Types</i>. </span><span class="pubdate">September 2003. </span></p>
</div>
</div>
<div class="bibliodiv">
<h3 class="title">
<acronym class="acronym">DNS</acronym> and the Internet</h3>
<div class="biblioentry">
<a name="id2595413"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names
<a name="id2595675"></a><p>[<abbr class="abbrev">RFC1101</abbr>] <span class="author"><span class="firstname">P. V.</span> <span class="surname">Mockapetris</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Network Names
and Other Types</i>. </span><span class="pubdate">April 1989. </span></p>
</div>
<div class="biblioentry">
<a name="id2595438"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and
<a name="id2595701"></a><p>[<abbr class="abbrev">RFC1123</abbr>] <span class="author"><span class="surname">Braden</span>. </span><span class="title"><i>Requirements for Internet Hosts - Application and
Support</i>. </span><span class="pubdate">October 1989. </span></p>
</div>
<div class="biblioentry">
<a name="id2595461"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p>
<a name="id2595723"></a><p>[<abbr class="abbrev">RFC1591</abbr>] <span class="author"><span class="firstname">J.</span> <span class="surname">Postel</span>. </span><span class="title"><i>Domain Name System Structure and Delegation</i>. </span><span class="pubdate">March 1994. </span></p>
</div>
<div class="biblioentry">
<a name="id2595484"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p>
<a name="id2595747"></a><p>[<abbr class="abbrev">RFC2317</abbr>] <span class="authorgroup"><span class="firstname">H.</span> <span class="surname">Eidnes</span>, <span class="firstname">G.</span> <span class="surname">de Groot</span>, and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Classless IN-ADDR.ARPA Delegation</i>. </span><span class="pubdate">March 1998. </span></p>
</div>
<div class="biblioentry">
<a name="id2595530"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p>
<a name="id2595793"></a><p>[<abbr class="abbrev">RFC2826</abbr>] <span class="authorgroup"><span class="surname">Internet Architecture Board</span>. </span><span class="title"><i>IAB Technical Comment on the Unique DNS Root</i>. </span><span class="pubdate">May 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2595554"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p>
<a name="id2595816"></a><p>[<abbr class="abbrev">RFC2929</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>, <span class="firstname">E.</span> <span class="surname">Brunner-Williams</span>, and <span class="firstname">B.</span> <span class="surname">Manning</span>. </span><span class="title"><i>Domain Name System (DNS) IANA Considerations</i>. </span><span class="pubdate">September 2000. </span></p>
</div>
</div>
<div class="bibliodiv">
<h3 class="title">
<acronym class="acronym">DNS</acronym> Operations</h3>
<div class="biblioentry">
<a name="id2595611"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide.</i>. </span><span class="pubdate">November 1987. </span></p>
<a name="id2595874"></a><p>[<abbr class="abbrev">RFC1033</abbr>] <span class="author"><span class="firstname">M.</span> <span class="surname">Lottor</span>. </span><span class="title"><i>Domain administrators operations guide.</i>. </span><span class="pubdate">November 1987. </span></p>
</div>
<div class="biblioentry">
<a name="id2595635"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File
<a name="id2595897"></a><p>[<abbr class="abbrev">RFC1537</abbr>] <span class="author"><span class="firstname">P.</span> <span class="surname">Beertema</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Data File
Configuration Errors</i>. </span><span class="pubdate">October 1993. </span></p>
</div>
<div class="biblioentry">
<a name="id2595661"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and
<a name="id2595924"></a><p>[<abbr class="abbrev">RFC1912</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Barr</span>. </span><span class="title"><i>Common <acronym class="acronym">DNS</acronym> Operational and
Configuration Errors</i>. </span><span class="pubdate">February 1996. </span></p>
</div>
<div class="biblioentry">
<a name="id2595688"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers.</i>. </span><span class="pubdate">October 1996. </span></p>
<a name="id2595950"></a><p>[<abbr class="abbrev">RFC2010</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Manning</span> and <span class="firstname">P.</span> <span class="surname">Vixie</span>. </span><span class="title"><i>Operational Criteria for Root Name Servers.</i>. </span><span class="pubdate">October 1996. </span></p>
</div>
<div class="biblioentry">
<a name="id2595724"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for
<a name="id2595987"></a><p>[<abbr class="abbrev">RFC2219</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Hamilton</span> and <span class="firstname">R.</span> <span class="surname">Wright</span>. </span><span class="title"><i>Use of <acronym class="acronym">DNS</acronym> Aliases for
Network Services.</i>. </span><span class="pubdate">October 1997. </span></p>
</div>
</div>
<div class="bibliodiv">
<h3 class="title">Internationalized Domain Names</h3>
<div class="biblioentry">
<a name="id2595770"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names,
<a name="id2596033"></a><p>[<abbr class="abbrev">RFC2825</abbr>] <span class="authorgroup"><span class="surname">IAB</span> and <span class="firstname">R.</span> <span class="surname">Daigle</span>. </span><span class="title"><i>A Tangled Web: Issues of I18N, Domain Names,
and the Other Internet protocols</i>. </span><span class="pubdate">May 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2595802"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
<a name="id2596065"></a><p>[<abbr class="abbrev">RFC3490</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Faltstrom</span>, <span class="firstname">P.</span> <span class="surname">Hoffman</span>, and <span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Internationalizing Domain Names in Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
</div>
<div class="biblioentry">
<a name="id2595848"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p>
<a name="id2596110"></a><p>[<abbr class="abbrev">RFC3491</abbr>] <span class="authorgroup"><span class="firstname">P.</span> <span class="surname">Hoffman</span> and <span class="firstname">M.</span> <span class="surname">Blanchet</span>. </span><span class="title"><i>Nameprep: A Stringprep Profile for Internationalized Domain Names</i>. </span><span class="pubdate">March 2003. </span></p>
</div>
<div class="biblioentry">
<a name="id2595883"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode
<a name="id2596146"></a><p>[<abbr class="abbrev">RFC3492</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Costello</span>. </span><span class="title"><i>Punycode: A Bootstring encoding of Unicode
for Internationalized Domain Names in
Applications (IDNA)</i>. </span><span class="pubdate">March 2003. </span></p>
</div>
@@ -489,47 +489,47 @@
</p>
</div>
<div class="biblioentry">
<a name="id2595928"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String
<a name="id2596190"></a><p>[<abbr class="abbrev">RFC1464</abbr>] <span class="author"><span class="firstname">R.</span> <span class="surname">Rosenbaum</span>. </span><span class="title"><i>Using the Domain Name System To Store Arbitrary String
Attributes</i>. </span><span class="pubdate">May 1993. </span></p>
</div>
<div class="biblioentry">
<a name="id2595950"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p>
<a name="id2596213"></a><p>[<abbr class="abbrev">RFC1713</abbr>] <span class="author"><span class="firstname">A.</span> <span class="surname">Romao</span>. </span><span class="title"><i>Tools for <acronym class="acronym">DNS</acronym> Debugging</i>. </span><span class="pubdate">November 1994. </span></p>
</div>
<div class="biblioentry">
<a name="id2595976"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load
<a name="id2596238"></a><p>[<abbr class="abbrev">RFC1794</abbr>] <span class="author"><span class="firstname">T.</span> <span class="surname">Brisco</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Support for Load
Balancing</i>. </span><span class="pubdate">April 1995. </span></p>
</div>
<div class="biblioentry">
<a name="id2596002"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p>
<a name="id2596332"></a><p>[<abbr class="abbrev">RFC2240</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Legal Basis for Domain Name Allocation</i>. </span><span class="pubdate">November 1997. </span></p>
</div>
<div class="biblioentry">
<a name="id2596025"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p>
<a name="id2596356"></a><p>[<abbr class="abbrev">RFC2345</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>, <span class="firstname">T.</span> <span class="surname">Wolf</span>, and <span class="firstname">G.</span> <span class="surname">Oglesby</span>. </span><span class="title"><i>Domain Names and Company Name Retrieval</i>. </span><span class="pubdate">May 1998. </span></p>
</div>
<div class="biblioentry">
<a name="id2596071"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p>
<a name="id2596402"></a><p>[<abbr class="abbrev">RFC2352</abbr>] <span class="author"><span class="firstname">O.</span> <span class="surname">Vaughan</span>. </span><span class="title"><i>A Convention For Using Legal Names as Domain Names</i>. </span><span class="pubdate">May 1998. </span></p>
</div>
<div class="biblioentry">
<a name="id2596094"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p>
<a name="id2596425"></a><p>[<abbr class="abbrev">RFC3071</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Klensin</span>. </span><span class="title"><i>Reflections on the DNS, RFC 1591, and Categories of Domains</i>. </span><span class="pubdate">February 2001. </span></p>
</div>
<div class="biblioentry">
<a name="id2596121"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via
<a name="id2596452"></a><p>[<abbr class="abbrev">RFC3258</abbr>] <span class="authorgroup"><span class="firstname">T.</span> <span class="surname">Hardie</span>. </span><span class="title"><i>Distributing Authoritative Name Servers via
Shared Unicast Addresses</i>. </span><span class="pubdate">April 2002. </span></p>
</div>
<div class="biblioentry">
<a name="id2596147"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p>
<a name="id2596477"></a><p>[<abbr class="abbrev">RFC3901</abbr>] <span class="authorgroup"><span class="firstname">A.</span> <span class="surname">Durand</span> and <span class="firstname">J.</span> <span class="surname">Ihren</span>. </span><span class="title"><i>DNS IPv6 Transport Operational Guidelines</i>. </span><span class="pubdate">September 2004. </span></p>
</div>
</div>
<div class="bibliodiv">
<h3 class="title">Obsolete and Unimplemented Experimental RFC</h3>
<div class="biblioentry">
<a name="id2596190"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical
<a name="id2596521"></a><p>[<abbr class="abbrev">RFC1712</abbr>] <span class="authorgroup"><span class="firstname">C.</span> <span class="surname">Farrell</span>, <span class="firstname">M.</span> <span class="surname">Schulze</span>, <span class="firstname">S.</span> <span class="surname">Pleitner</span>, and <span class="firstname">D.</span> <span class="surname">Baldoni</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> Encoding of Geographical
Location</i>. </span><span class="pubdate">November 1994. </span></p>
</div>
<div class="biblioentry">
<a name="id2596248"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p>
<a name="id2596579"></a><p>[<abbr class="abbrev">RFC2673</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span>. </span><span class="title"><i>Binary Labels in the Domain Name System</i>. </span><span class="pubdate">August 1999. </span></p>
</div>
<div class="biblioentry">
<a name="id2596275"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation
<a name="id2596605"></a><p>[<abbr class="abbrev">RFC2874</abbr>] <span class="authorgroup"><span class="firstname">M.</span> <span class="surname">Crawford</span> and <span class="firstname">C.</span> <span class="surname">Huitema</span>. </span><span class="title"><i>DNS Extensions to Support IPv6 Address Aggregation
and Renumbering</i>. </span><span class="pubdate">July 2000. </span></p>
</div>
</div>
@@ -543,39 +543,39 @@
</p>
</div>
<div class="biblioentry">
<a name="id2596323"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p>
<a name="id2596653"></a><p>[<abbr class="abbrev">RFC2065</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span> and <span class="firstname">C.</span> <span class="surname">Kaufman</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">January 1997. </span></p>
</div>
<div class="biblioentry">
<a name="id2596362"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p>
<a name="id2596693"></a><p>[<abbr class="abbrev">RFC2137</abbr>] <span class="author"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Secure Domain Name System Dynamic Update</i>. </span><span class="pubdate">April 1997. </span></p>
</div>
<div class="biblioentry">
<a name="id2596389"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p>
<a name="id2596720"></a><p>[<abbr class="abbrev">RFC2535</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Eastlake</span>, <span class="lineage">3rd</span>. </span><span class="title"><i>Domain Name System Security Extensions</i>. </span><span class="pubdate">March 1999. </span></p>
</div>
<div class="biblioentry">
<a name="id2596419"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC)
<a name="id2596818"></a><p>[<abbr class="abbrev">RFC3008</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span>. </span><span class="title"><i>Domain Name System Security (DNSSEC)
Signing Authority</i>. </span><span class="pubdate">November 2000. </span></p>
</div>
<div class="biblioentry">
<a name="id2596444"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p>
<a name="id2596843"></a><p>[<abbr class="abbrev">RFC3090</abbr>] <span class="authorgroup"><span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>DNS Security Extension Clarification on Zone Status</i>. </span><span class="pubdate">March 2001. </span></p>
</div>
<div class="biblioentry">
<a name="id2596471"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p>
<a name="id2596870"></a><p>[<abbr class="abbrev">RFC3445</abbr>] <span class="authorgroup"><span class="firstname">D.</span> <span class="surname">Massey</span> and <span class="firstname">S.</span> <span class="surname">Rose</span>. </span><span class="title"><i>Limiting the Scope of the KEY Resource Record (RR)</i>. </span><span class="pubdate">December 2002. </span></p>
</div>
<div class="biblioentry">
<a name="id2596507"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p>
<a name="id2596906"></a><p>[<abbr class="abbrev">RFC3655</abbr>] <span class="authorgroup"><span class="firstname">B.</span> <span class="surname">Wellington</span> and <span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Redefinition of DNS Authenticated Data (AD) bit</i>. </span><span class="pubdate">November 2003. </span></p>
</div>
<div class="biblioentry">
<a name="id2596544"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p>
<a name="id2596942"></a><p>[<abbr class="abbrev">RFC3658</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Gudmundsson</span>. </span><span class="title"><i>Delegation Signer (DS) Resource Record (RR)</i>. </span><span class="pubdate">December 2003. </span></p>
</div>
<div class="biblioentry">
<a name="id2596570"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p>
<a name="id2596969"></a><p>[<abbr class="abbrev">RFC3755</abbr>] <span class="authorgroup"><span class="firstname">S.</span> <span class="surname">Weiler</span>. </span><span class="title"><i>Legacy Resolver Compatibility for Delegation Signer (DS)</i>. </span><span class="pubdate">May 2004. </span></p>
</div>
<div class="biblioentry">
<a name="id2596597"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record
<a name="id2596996"></a><p>[<abbr class="abbrev">RFC3757</abbr>] <span class="authorgroup"><span class="firstname">O.</span> <span class="surname">Kolkman</span>, <span class="firstname">J.</span> <span class="surname">Schlyter</span>, and <span class="firstname">E.</span> <span class="surname">Lewis</span>. </span><span class="title"><i>Domain Name System KEY (DNSKEY) Resource Record
(RR) Secure Entry Point (SEP) Flag</i>. </span><span class="pubdate">April 2004. </span></p>
</div>
<div class="biblioentry">
<a name="id2596642"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p>
<a name="id2597041"></a><p>[<abbr class="abbrev">RFC3845</abbr>] <span class="authorgroup"><span class="firstname">J.</span> <span class="surname">Schlyter</span>. </span><span class="title"><i>DNS Security (DNSSEC) NextSECure (NSEC) RDATA Format</i>. </span><span class="pubdate">August 2004. </span></p>
</div>
</div>
</div>
@@ -596,14 +596,14 @@
</div>
<div class="sect2" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="id2596683"></a>Other Documents About <acronym class="acronym">BIND</acronym>
<a name="id2597082"></a>Other Documents About <acronym class="acronym">BIND</acronym>
</h3></div></div></div>
<p></p>
<div class="bibliography">
<div class="titlepage"><div><div><h4 class="title">
<a name="id2596693"></a>Bibliography</h4></div></div></div>
<a name="id2597092"></a>Bibliography</h4></div></div></div>
<div class="biblioentry">
<a name="id2596695"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p>
<a name="id2597094"></a><p><span class="authorgroup"><span class="firstname">Paul</span> <span class="surname">Albitz</span> and <span class="firstname">Cricket</span> <span class="surname">Liu</span>. </span><span class="title"><i><acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></i>. </span><span class="copyright">Copyright © 1998 Sebastopol, CA: O'Reilly and Associates. </span></p>
</div>
</div>
</div>
+2 -2
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.ch10.html,v 1.2.2.6 2007/01/30 00:23:46 marka Exp $ -->
<!-- $Id: Bv9ARM.ch10.html,v 1.2.2.9 2008/05/24 01:31:12 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+75 -75
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: Bv9ARM.html,v 1.85.18.68 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: Bv9ARM.html,v 1.85.18.82 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -40,8 +40,8 @@
<div class="titlepage">
<div>
<div><h1 class="title">
<a name="id2563155"></a>BIND 9 Administrator Reference Manual</h1></div>
<div><p class="copyright">Copyright © 2004-2007 Internet Systems Consortium, Inc. ("ISC")</p></div>
<a name="id2563174"></a>BIND 9 Administrator Reference Manual</h1></div>
<div><p class="copyright">Copyright © 2004-2008 Internet Systems Consortium, Inc. ("ISC")</p></div>
<div><p class="copyright">Copyright © 2000-2003 Internet Software Consortium.</p></div>
</div>
<hr>
@@ -51,39 +51,39 @@
<dl>
<dt><span class="chapter"><a href="Bv9ARM.ch01.html">1. Introduction</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564117">Scope of Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564140">Organization of This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2563474">Conventions Used in This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564816">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2563405">Scope of Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564385">Organization of This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564524">Conventions Used in This Document</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch01.html#id2564637">The Domain Name System (<acronym class="acronym">DNS</acronym>)</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564837">DNS Fundamentals</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564871">Domains and Domain Names</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567208">Zones</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567285">Authoritative Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567526">Caching Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567588">Name Servers in Multiple Roles</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564659">DNS Fundamentals</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564693">Domains and Domain Names</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2564845">Zones</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567243">Authoritative Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567416">Caching Name Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch01.html#id2567546">Name Servers in Multiple Roles</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch02.html">2. <acronym class="acronym">BIND</acronym> Resource Requirements</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567622">Hardware requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567649">CPU Requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567661">Memory Requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567688">Name Server Intensive Environment Issues</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567699">Supported Operating Systems</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567580">Hardware requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567607">CPU Requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567620">Memory Requirements</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567851">Name Server Intensive Environment Issues</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch02.html#id2567862">Supported Operating Systems</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch03.html">3. Name Server Configuration</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#sample_configuration">Sample Configurations</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568004">A Caching-only Name Server</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568020">An Authoritative-only Name Server</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2567894">A Caching-only Name Server</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2567910">An Authoritative-only Name Server</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568042">Load Balancing</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568465">Name Server Operations</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568001">Load Balancing</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch03.html#id2568423">Name Server Operations</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568470">Tools for Use With the Name Server Daemon</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570184">Signals</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2568428">Tools for Use With the Name Server Daemon</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch03.html#id2570142">Signals</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch04.html">4. Advanced DNS Features</a></span></dt>
@@ -92,34 +92,34 @@
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#dynamic_update">Dynamic Update</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#journal">The journal file</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#incremental_zone_transfers">Incremental Zone Transfers (IXFR)</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570642">Split DNS</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570660">Example split DNS setup</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2570600">Split DNS</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570618">Example split DNS setup</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#tsig">TSIG</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571095">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571169">Copying the Shared Secret to Both Machines</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571179">Informing the Servers of the Key's Existence</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571219">Instructing the Server to Use the Key</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571413">TSIG Key Based Access Control</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571458">Errors</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2570985">Generate Shared Keys for Each Pair of Hosts</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571127">Copying the Shared Secret to Both Machines</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571138">Informing the Servers of the Key's Existence</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571177">Instructing the Server to Use the Key</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571303">TSIG Key Based Access Control</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571416">Errors</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571472">TKEY</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571521">SIG(0)</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571430">TKEY</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571547">SIG(0)</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#DNSSEC">DNSSEC</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571725">Generating Keys</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571795">Signing the Zone</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571874">Configuring Servers</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571684">Generating Keys</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571753">Signing the Zone</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2571832">Configuring Servers</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2572153">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch04.html#id2571975">IPv6 Support in <acronym class="acronym">BIND</acronym> 9</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572215">Address Lookups Using AAAA Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572236">Address to Name Lookups Using Nibble Format</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572173">Address Lookups Using AAAA Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch04.html#id2572195">Address to Name Lookups Using Nibble Format</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch05.html">5. The <acronym class="acronym">BIND</acronym> 9 Lightweight Resolver</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2572269">The Lightweight Resolver Library</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#id2572228">The Lightweight Resolver Library</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch05.html#lwresd">Running a Resolver Daemon</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch06.html">6. <acronym class="acronym">BIND</acronym> 9 Configuration Reference</a></span></dt>
@@ -127,83 +127,83 @@
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#configuration_file_elements">Configuration File Elements</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#address_match_lists">Address Match Lists</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573480">Comment Syntax</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2573436">Comment Syntax</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#Configuration_File_Grammar">Configuration File Grammar</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574092"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574117"><span><strong class="command">acl</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#acl"><span><strong class="command">acl</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574282"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574307"><span><strong class="command">controls</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#controls_statement_definition_and_usage"><span><strong class="command">controls</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574711"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574726"><span><strong class="command">include</strong></span> Statement Definition and
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574736"><span><strong class="command">include</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574753"><span><strong class="command">include</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574749"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574771"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574930"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575056"><span><strong class="command">logging</strong></span> Statement Definition and
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574776"><span><strong class="command">key</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574800"><span><strong class="command">key</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2574958"><span><strong class="command">logging</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2575084"><span><strong class="command">logging</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576406"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576480"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576544"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576587"><span><strong class="command">masters</strong></span> Statement Definition and
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576435"><span><strong class="command">lwres</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576508"><span><strong class="command">lwres</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576572"><span><strong class="command">masters</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576616"><span><strong class="command">masters</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576602"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2576631"><span><strong class="command">options</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#options"><span><strong class="command">options</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_grammar"><span><strong class="command">server</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#server_statement_definition_and_usage"><span><strong class="command">server</strong></span> Statement Definition and
Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585361"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585410"><span><strong class="command">trusted-keys</strong></span> Statement Definition
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585614"><span><strong class="command">trusted-keys</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585666"><span><strong class="command">trusted-keys</strong></span> Statement Definition
and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#view_statement_grammar"><span><strong class="command">view</strong></span> Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585490"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2585748"><span><strong class="command">view</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zone_statement_grammar"><span><strong class="command">zone</strong></span>
Statement Grammar</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2586798"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2587332"><span><strong class="command">zone</strong></span> Statement Definition and Usage</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589080">Zone File</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch06.html#id2589477">Zone File</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#types_of_resource_records_and_when_to_use_them">Types of Resource Records and When to Use Them</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591101">Discussion of MX Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591500">Discussion of MX Records</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#Setting_TTLs">Setting TTLs</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591653">Inverse Mapping in IPv4</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2591848">Other Zone File Directives</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592173"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592188">Inverse Mapping in IPv4</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592384">Other Zone File Directives</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#id2592572"><acronym class="acronym">BIND</acronym> Master File Extension: the <span><strong class="command">$GENERATE</strong></span> Directive</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch06.html#zonefile_format">Additional File Formats</a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch07.html">7. <acronym class="acronym">BIND</acronym> 9 Security Considerations</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#Access_Control_Lists">Access Control Lists</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2592714"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#id2593181"><span><strong class="command">Chroot</strong></span> and <span><strong class="command">Setuid</strong></span></a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2592791">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2592851">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593326">The <span><strong class="command">chroot</strong></span> Environment</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch07.html#id2593386">Using the <span><strong class="command">setuid</strong></span> Function</a></span></dt>
</dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch07.html#dynamic_update_security">Dynamic Update Security</a></span></dt>
</dl></dd>
<dt><span class="chapter"><a href="Bv9ARM.ch08.html">8. Troubleshooting</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2592999">Common Problems</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2593004">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593016">Incrementing and Changing the Serial Number</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593033">Where Can I Get Help?</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593466">Common Problems</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch08.html#id2593472">It's not working; how can I figure out what's wrong?</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593483">Incrementing and Changing the Serial Number</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch08.html#id2593500">Where Can I Get Help?</a></span></dt>
</dl></dd>
<dt><span class="appendix"><a href="Bv9ARM.ch09.html">A. Appendices</a></span></dt>
<dd><dl>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593300">Acknowledgments</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593630">Acknowledgments</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#historical_dns_information">A Brief History of the <acronym class="acronym">DNS</acronym> and <acronym class="acronym">BIND</acronym></a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593472">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#id2593802">General <acronym class="acronym">DNS</acronym> Reference Information</a></span></dt>
<dd><dl><dt><span class="sect2"><a href="Bv9ARM.ch09.html#ipv6addresses">IPv6 addresses (AAAA)</a></span></dt></dl></dd>
<dt><span class="sect1"><a href="Bv9ARM.ch09.html#bibliography">Bibliography (and Suggested Reading)</a></span></dt>
<dd><dl>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#rfcs">Request for Comments (RFCs)</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#internet_drafts">Internet Drafts</a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2596683">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
<dt><span class="sect2"><a href="Bv9ARM.ch09.html#id2597082">Other Documents About <acronym class="acronym">BIND</acronym></a></span></dt>
</dl></dd>
</dl></dd>
<dt><span class="reference"><a href="Bv9ARM.ch10.html">I. Manual pages</a></span></dt>
File diff suppressed because it is too large. Load diff
+20 -16
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.dig.html,v 1.2.2.48 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.dig.html,v 1.2.2.65 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -47,12 +47,12 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] [name] [type] [class] [queryopt...]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [@server] [<code class="option">-b <em class="replaceable"><code>address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-f <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-k <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-m</code>] [<code class="option">-p <em class="replaceable"><code>port#</code></em></code>] [<code class="option">-q <em class="replaceable"><code>name</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-x <em class="replaceable"><code>addr</code></em></code>] [<code class="option">-y <em class="replaceable"><code>[<span class="optional">hmac:</span>]name:key</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] [name] [type] [class] [queryopt...]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [<code class="option">-h</code>]</p></div>
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2564025"></a><h2>DESCRIPTION</h2>
<a name="id2563849"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dig</strong></span>
(domain information groper) is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and
@@ -80,8 +80,8 @@
<code class="filename">/etc/resolv.conf</code>.
</p>
<p>
When no command line arguments or options are given, will perform an
NS query for "." (the root).
When no command line arguments or options are given,
<span><strong class="command">dig</strong></span> will perform an NS query for "." (the root).
</p>
<p>
It is possible to set per-user defaults for <span><strong class="command">dig</strong></span> via
@@ -92,13 +92,13 @@
<p>
The IN and CH class names overlap with the IN and CH top level
domains names. Either use the <code class="option">-t</code> and
<code class="option">-c</code> options to specify the type and class or
use the <code class="option">-q</code> the specify the domain name or
<code class="option">-c</code> options to specify the type and class,
use the <code class="option">-q</code> the specify the domain name, or
use "IN." and "CH." when looking up these top level domains.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2569712"></a><h2>SIMPLE USAGE</h2>
<a name="id2563944"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
@@ -144,7 +144,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2623002"></a><h2>OPTIONS</h2>
<a name="id2569789"></a><h2>OPTIONS</h2>
<p>
The <code class="option">-b</code> option sets the source IP address of the query
to <em class="parameter"><code>address</code></em>. This must be a valid
@@ -169,6 +169,10 @@
the same way they would be presented as queries to
<span><strong class="command">dig</strong></span> using the command-line interface.
</p>
<p>
The <code class="option">-m</code> option enables memory usage debugging.
</p>
<p>
If a non-standard port number is to be queried, the
<code class="option">-p</code> option is used. <em class="parameter"><code>port#</code></em> is
@@ -244,7 +248,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2649413"></a><h2>QUERY OPTIONS</h2>
<a name="id2624336"></a><h2>QUERY OPTIONS</h2>
<p><span><strong class="command">dig</strong></span>
provides a number of query options which affect
the way in which lookups are made and the results displayed. Some of
@@ -563,7 +567,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2650468"></a><h2>MULTIPLE QUERIES</h2>
<a name="id2625254"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports
@@ -609,7 +613,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2650553"></a><h2>IDN SUPPORT</h2>
<a name="id2625408"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
@@ -623,14 +627,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2650582"></a><h2>FILES</h2>
<a name="id2625436"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
<p><code class="filename">${HOME}/.digrc</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2650603"></a><h2>SEE ALSO</h2>
<a name="id2625458"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
@@ -638,7 +642,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2650641"></a><h2>BUGS</h2>
<a name="id2625495"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>
+10 -10
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.dnssec-keygen.html,v 1.2.2.47 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.dnssec-keygen.html,v 1.2.2.66 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> {-a <em class="replaceable"><code>algorithm</code></em>} {-b <em class="replaceable"><code>keysize</code></em>} {-n <em class="replaceable"><code>nametype</code></em>} [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k</code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] {name}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2597830"></a><h2>DESCRIPTION</h2>
<a name="id2598403"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-keygen</strong></span>
generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
and RFC 4034. It can also generate keys for use with
@@ -58,7 +58,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2597844"></a><h2>OPTIONS</h2>
<a name="id2598417"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
<dd>
@@ -166,7 +166,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2598187"></a><h2>GENERATED KEYS</h2>
<a name="id2598692"></a><h2>GENERATED KEYS</h2>
<p>
When <span><strong class="command">dnssec-keygen</strong></span> completes
successfully,
@@ -212,7 +212,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2598295"></a><h2>EXAMPLE</h2>
<a name="id2600711"></a><h2>EXAMPLE</h2>
<p>
To generate a 768-bit DSA key for the domain
<strong class="userinput"><code>example.com</code></strong>, the following command would be
@@ -233,16 +233,16 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2600195"></a><h2>SEE ALSO</h2>
<a name="id2601518"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2535</em>,
<em class="citetitle">RFC 2539</em>,
<em class="citetitle">RFC 2845</em>,
<em class="citetitle">RFC 2539</em>.
<em class="citetitle">RFC 4033</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2600226"></a><h2>AUTHOR</h2>
<a name="id2601549"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.dnssec-signzone.html,v 1.2.2.46 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.dnssec-signzone.html,v 1.2.2.65 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code> [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {zonefile} [key...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2598823"></a><h2>DESCRIPTION</h2>
<a name="id2599262"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dnssec-signzone</strong></span>
signs a zone. It generates
NSEC and RRSIG records and produces a signed version of the
@@ -61,7 +61,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2598842"></a><h2>OPTIONS</h2>
<a name="id2599282"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd><p>
@@ -259,7 +259,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2641307"></a><h2>EXAMPLE</h2>
<a name="id2653693"></a><h2>EXAMPLE</h2>
<p>
The following command signs the <strong class="userinput"><code>example.com</code></strong>
zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
@@ -288,14 +288,14 @@ db.example.com.signed
%</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2641380"></a><h2>SEE ALSO</h2>
<a name="id2653766"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 2535</em>.
<em class="citetitle">RFC 4033</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2641404"></a><h2>AUTHOR</h2>
<a name="id2653790"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+7 -7
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.host.html,v 1.2.2.46 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.host.html,v 1.2.2.64 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">host</code> [<code class="option">-aCdlnrsTwv</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-N <em class="replaceable"><code>ndots</code></em></code>] [<code class="option">-R <em class="replaceable"><code>number</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-W <em class="replaceable"><code>wait</code></em></code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-4</code>] [<code class="option">-6</code>] {name} [server]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2597000"></a><h2>DESCRIPTION</h2>
<a name="id2597501"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">host</strong></span>
is a simple utility for performing DNS lookups.
It is normally used to convert names to IP addresses and vice versa.
@@ -166,7 +166,7 @@
NS, SOA, SIG, KEY, AXFR, etc. When no query type is specified,
<span><strong class="command">host</strong></span> automatically selects an appropriate
query
type. By default it looks for A records, but if the
type. By default it looks for A, AAAA, and MX records, but if the
<code class="option">-C</code> option was given, queries will be made for SOA
records, and if <em class="parameter"><code>name</code></em> is a
dotted-decimal IPv4
@@ -202,7 +202,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2597514"></a><h2>IDN SUPPORT</h2>
<a name="id2597947"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">host</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
@@ -216,12 +216,12 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2597543"></a><h2>FILES</h2>
<a name="id2598044"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2597557"></a><h2>SEE ALSO</h2>
<a name="id2598058"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dig</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>.
</p>
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.named-checkconf.html,v 1.2.2.49 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.named-checkconf.html,v 1.2.2.67 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -50,14 +50,14 @@
<div class="cmdsynopsis"><p><code class="command">named-checkconf</code> [<code class="option">-v</code>] [<code class="option">-j</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] {filename} [<code class="option">-z</code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2599604"></a><h2>DESCRIPTION</h2>
<a name="id2599904"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named-checkconf</strong></span>
checks the syntax, but not the semantics, of a named
configuration file.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2599618"></a><h2>OPTIONS</h2>
<a name="id2599917"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd><p>
@@ -88,21 +88,21 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2599720"></a><h2>RETURN VALUES</h2>
<a name="id2600020"></a><h2>RETURN VALUES</h2>
<p><span><strong class="command">named-checkconf</strong></span>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2599734"></a><h2>SEE ALSO</h2>
<a name="id2600034"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkzone</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2599764"></a><h2>AUTHOR</h2>
<a name="id2600064"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.named-checkzone.html,v 1.2.2.52 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.named-checkzone.html,v 1.2.2.70 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -51,7 +51,7 @@
<div class="cmdsynopsis"><p><code class="command">named-compilezone</code> [<code class="option">-d</code>] [<code class="option">-j</code>] [<code class="option">-q</code>] [<code class="option">-v</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-C <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-f <em class="replaceable"><code>format</code></em></code>] [<code class="option">-F <em class="replaceable"><code>format</code></em></code>] [<code class="option">-i <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-k <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-m <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-n <em class="replaceable"><code>mode</code></em></code>] [<code class="option">-o <em class="replaceable"><code>filename</code></em></code>] [<code class="option">-s <em class="replaceable"><code>style</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-w <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-D</code>] [<code class="option">-W <em class="replaceable"><code>mode</code></em></code>] {zonename} {filename}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2600689"></a><h2>DESCRIPTION</h2>
<a name="id2601603"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named-checkzone</strong></span>
checks the syntax and integrity of a zone file. It performs the
same checks as <span><strong class="command">named</strong></span> does when loading a
@@ -71,7 +71,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2600739"></a><h2>OPTIONS</h2>
<a name="id2601653"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-d</span></dt>
<dd><p>
@@ -251,14 +251,14 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2655177"></a><h2>RETURN VALUES</h2>
<a name="id2656364"></a><h2>RETURN VALUES</h2>
<p><span><strong class="command">named-checkzone</strong></span>
returns an exit status of 1 if
errors were detected and 0 otherwise.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2655191"></a><h2>SEE ALSO</h2>
<a name="id2656378"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named-checkconf</span>(8)</span>,
<em class="citetitle">RFC 1035</em>,
@@ -266,7 +266,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2655224"></a><h2>AUTHOR</h2>
<a name="id2656480"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+35 -10
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.named.html,v 1.2.2.53 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.named.html,v 1.2.2.72 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -47,10 +47,10 @@
</div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
<div class="cmdsynopsis"><p><code class="command">named</code> [<code class="option">-4</code>] [<code class="option">-6</code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-d <em class="replaceable"><code>debug-level</code></em></code>] [<code class="option">-f</code>] [<code class="option">-g</code>] [<code class="option">-m <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-n <em class="replaceable"><code>#cpus</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-s</code>] [<code class="option">-S <em class="replaceable"><code>#max-socks</code></em></code>] [<code class="option">-t <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>] [<code class="option">-v</code>] [<code class="option">-x <em class="replaceable"><code>cache-file</code></em></code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2601798"></a><h2>DESCRIPTION</h2>
<a name="id2602169"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">named</strong></span>
is a Domain Name System (DNS) server,
part of the BIND 9 distribution from ISC. For more
@@ -65,7 +65,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2601829"></a><h2>OPTIONS</h2>
<a name="id2602200"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-4</span></dt>
<dd><p>
@@ -144,6 +144,31 @@
</p>
</div>
</dd>
<dt><span class="term">-S <em class="replaceable"><code>#max-socks</code></em></span></dt>
<dd>
<p>
Allow <span><strong class="command">named</strong></span> to use up to
<em class="replaceable"><code>#max-socks</code></em> sockets.
</p>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p>
This option should be unnecessary for the vast majority
of users.
The use of this option could even be harmful because the
specified value may exceed the limitation of the
underlying system API.
It is therefore set only when the default configuration
causes exhaustion of file descriptors and the
operational environment is known to support the
specified number of sockets.
Note also that the actual maximum number is normally a little
fewer than the specified value because
<span><strong class="command">named</strong></span> reserves some file descriptors
for its internal use.
</p>
</div>
</dd>
<dt><span class="term">-t <em class="replaceable"><code>directory</code></em></span></dt>
<dd>
<p>Chroot
@@ -209,7 +234,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2604492"></a><h2>SIGNALS</h2>
<a name="id2603333"></a><h2>SIGNALS</h2>
<p>
In routine operation, signals should not be used to control
the nameserver; <span><strong class="command">rndc</strong></span> should be used
@@ -230,7 +255,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2604542"></a><h2>CONFIGURATION</h2>
<a name="id2605226"></a><h2>CONFIGURATION</h2>
<p>
The <span><strong class="command">named</strong></span> configuration file is too complex
to describe in detail here. A complete description is provided
@@ -239,7 +264,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2604562"></a><h2>FILES</h2>
<a name="id2605245"></a><h2>FILES</h2>
<div class="variablelist"><dl>
<dt><span class="term"><code class="filename">/etc/named.conf</code></span></dt>
<dd><p>
@@ -252,7 +277,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2604605"></a><h2>SEE ALSO</h2>
<a name="id2645430"></a><h2>SEE ALSO</h2>
<p><em class="citetitle">RFC 1033</em>,
<em class="citetitle">RFC 1034</em>,
<em class="citetitle">RFC 1035</em>,
@@ -265,7 +290,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2604881"></a><h2>AUTHOR</h2>
<a name="id2645500"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+7 -7
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.rndc-confgen.html,v 1.2.2.55 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.rndc-confgen.html,v 1.2.2.76 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -48,7 +48,7 @@
<div class="cmdsynopsis"><p><code class="command">rndc-confgen</code> [<code class="option">-a</code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-c <em class="replaceable"><code>keyfile</code></em></code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>keyname</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomfile</code></em></code>] [<code class="option">-s <em class="replaceable"><code>address</code></em></code>] [<code class="option">-t <em class="replaceable"><code>chrootdir</code></em></code>] [<code class="option">-u <em class="replaceable"><code>user</code></em></code>]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2605524"></a><h2>DESCRIPTION</h2>
<a name="id2605546"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">rndc-confgen</strong></span>
generates configuration files
for <span><strong class="command">rndc</strong></span>. It can be used as a
@@ -64,7 +64,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2605590"></a><h2>OPTIONS</h2>
<a name="id2605612"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-a</span></dt>
<dd>
@@ -171,7 +171,7 @@
</dl></div>
</div>
<div class="refsect1" lang="en">
<a name="id2606454"></a><h2>EXAMPLES</h2>
<a name="id2606203"></a><h2>EXAMPLES</h2>
<p>
To allow <span><strong class="command">rndc</strong></span> to be used with
no manual configuration, run
@@ -188,7 +188,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2609036"></a><h2>SEE ALSO</h2>
<a name="id2607830"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
@@ -196,7 +196,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2609075"></a><h2>AUTHOR</h2>
<a name="id2607868"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+7 -7
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.rndc.conf.html,v 1.2.2.55 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.rndc.conf.html,v 1.2.2.75 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">rndc.conf</code> </p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2603676"></a><h2>DESCRIPTION</h2>
<a name="id2604313"></a><h2>DESCRIPTION</h2>
<p><code class="filename">rndc.conf</code> is the configuration file
for <span><strong class="command">rndc</strong></span>, the BIND 9 name server control
utility. This file has a similar structure and syntax to
@@ -135,7 +135,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2604121"></a><h2>EXAMPLE</h2>
<a name="id2604485"></a><h2>EXAMPLE</h2>
<pre class="programlisting">
options {
default-server localhost;
@@ -209,7 +209,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2604994"></a><h2>NAME SERVER CONFIGURATION</h2>
<a name="id2604743"></a><h2>NAME SERVER CONFIGURATION</h2>
<p>
The name server must be configured to accept rndc connections and
to recognize the key specified in the <code class="filename">rndc.conf</code>
@@ -219,7 +219,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2605019"></a><h2>SEE ALSO</h2>
<a name="id2604769"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">mmencode</span>(1)</span>,
@@ -227,7 +227,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2605058"></a><h2>AUTHOR</h2>
<a name="id2604807"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+8 -7
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.rndc.html,v 1.2.2.54 2007/10/31 01:35:59 marka Exp $ -->
<!-- $Id: man.rndc.html,v 1.2.2.74 2008/10/18 01:29:59 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -50,7 +50,7 @@
<div class="cmdsynopsis"><p><code class="command">rndc</code> [<code class="option">-b <em class="replaceable"><code>source-address</code></em></code>] [<code class="option">-c <em class="replaceable"><code>config-file</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key-file</code></em></code>] [<code class="option">-s <em class="replaceable"><code>server</code></em></code>] [<code class="option">-p <em class="replaceable"><code>port</code></em></code>] [<code class="option">-V</code>] [<code class="option">-y <em class="replaceable"><code>key_id</code></em></code>] {command}</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2603169"></a><h2>DESCRIPTION</h2>
<a name="id2603601"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">rndc</strong></span>
controls the operation of a name
server. It supersedes the <span><strong class="command">ndc</strong></span> utility
@@ -79,7 +79,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2603219"></a><h2>OPTIONS</h2>
<a name="id2603651"></a><h2>OPTIONS</h2>
<div class="variablelist"><dl>
<dt><span class="term">-b <em class="replaceable"><code>source-address</code></em></span></dt>
<dd><p>
@@ -151,7 +151,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2603512"></a><h2>LIMITATIONS</h2>
<a name="id2603876"></a><h2>LIMITATIONS</h2>
<p><span><strong class="command">rndc</strong></span>
does not yet support all the commands of
the BIND 8 <span><strong class="command">ndc</strong></span> utility.
@@ -165,8 +165,9 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2603543"></a><h2>SEE ALSO</h2>
<a name="id2604043"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">rndc.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">rndc-confgen</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">named.conf</span>(5)</span>,
<span class="citerefentry"><span class="refentrytitle">ndc</span>(8)</span>,
@@ -174,7 +175,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2603590"></a><h2>AUTHOR</h2>
<a name="id2604099"></a><h2>AUTHOR</h2>
<p><span class="corpauthor">Internet Systems Consortium</span>
</p>
</div>
+2 -1
View File
@@ -13,7 +13,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: Makefile.in,v 1.3.18.3 2007/08/28 07:20:03 tbox Exp $
# $Id: Makefile.in,v 1.3.18.4 2007/12/02 22:36:01 marka Exp $
srcdir = @srcdir@
VPATH = @srcdir@
@@ -40,6 +40,7 @@ CFG_TEST = ../../bin/tests/cfg_test
options: FORCE
if test -x ${CFG_TEST} && \
${CFG_TEST} --named --grammar | \
${PERL} ${srcdir}/sort-options.pl | \
${PERL} ${srcdir}/format-options.pl >$@.new ; then \
mv -f $@.new $@ ; \
else \
+21 -8
View File
@@ -1,9 +1,9 @@
#!/usr/bin/perl
#
# Copyright (C) 2004 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
@@ -15,7 +15,7 @@
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: format-options.pl,v 1.2 2004/03/05 05:04:53 marka Exp $
# $Id: format-options.pl,v 1.2.18.2 2007/12/02 23:46:31 tbox Exp $
print <<END;
@@ -26,11 +26,24 @@ END
# Break long lines
while (<>) {
chomp;
s/\t/ /g;
if (length >= 79) {
m!^( *)!;
my $indent = $1;
s!^(.{0,75}) (.*)$!\1\n$indent \2!;
my $line = $_;
m!^( *)!;
my $indent = $1;
my $comment = "";
if ( $line =~ m!//.*! ) {
$comment = $&;
$line =~ s!//.*!!;
}
print;
my $start = "";
while (length($line) >= 79 - length($comment)) {
$_ = $line;
# this makes sure that the comment has something in front of it
$len = 75 - length($comment);
m!^(.{0,$len}) (.*)$!;
$start = $start.$1."\n";
$line = $indent." ".$2;
}
print $start.$line.$comment."\n";
}
+12 -2
View File
@@ -1,4 +1,4 @@
Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 2004, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
See COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
@@ -26,6 +26,16 @@ understand the many-answers zone transfer format (e.g., BIND 4.9.5 or
older) you need to explicitly specify "transfer-format one-answer;" in
either the options block or a server statement.
BIND 9.4 onwards implements "allow-query-cache". The "allow-query"
option is no longer used to specify access to the cache. The
"allow-query" option continues to specify which hosts are allowed
to ask ordinary DNS questions. The new "allow-query-cache" option
is used to specify which hosts are allowed to get answers from the
cache. Since BIND 9.4.1, if "allow-query-cache" is not set then
"allow-recursion" is used if it is set, otherwise "allow-query" is
used if it is set, otherwise the default localnets and localhost
is used.
1.2. Handling of Configuration File Errors
In BIND 9, named refuses to start if it detects an error in
@@ -254,4 +264,4 @@ necessary, the umask should be set explicitly in the script used to
start the named process.
$Id: migration,v 1.45.18.2 2007/09/07 06:34:21 marka Exp $
$Id: migration,v 1.45.18.3 2008/03/18 15:45:43 jreed Exp $
+440 -432
View File
@@ -2,480 +2,488 @@
This is a summary of the named.conf options supported by
this version of BIND 9.
options {
avoid-v4-udp-ports { <port>; ... };
avoid-v6-udp-ports { <port>; ... };
blackhole { <address_match_element>; ... };
coresize <size>;
datasize <size>;
deallocate-on-exit <boolean>; // obsolete
directory <quoted_string>;
dump-file <quoted_string>;
fake-iquery <boolean>; // obsolete
files <size>;
has-old-clients <boolean>; // obsolete
heartbeat-interval <integer>;
host-statistics <boolean>; // not implemented
host-statistics-max <integer>; // not implemented
hostname ( <quoted_string> | none );
interface-interval <integer>;
listen-on [ port <integer> ] { <address_match_element>; ... };
listen-on-v6 [ port <integer> ] { <address_match_element>; ... };
match-mapped-addresses <boolean>;
memstatistics-file <quoted_string>;
multiple-cnames <boolean>; // obsolete
named-xfer <quoted_string>; // obsolete
pid-file ( <quoted_string> | none );
port <integer>;
querylog <boolean>;
recursing-file <quoted_string>;
random-device <quoted_string>;
recursive-clients <integer>;
serial-queries <integer>; // obsolete
serial-query-rate <integer>;
server-id ( <quoted_string> | none |;
stacksize <size>;
statistics-file <quoted_string>;
statistics-interval <integer>; // not yet implemented
tcp-clients <integer>;
tcp-listen-queue <integer>;
tkey-dhkey <quoted_string> <integer>;
tkey-gssapi-credential <quoted_string>;
tkey-domain <quoted_string>;
transfers-per-ns <integer>;
transfers-in <integer>;
transfers-out <integer>;
treat-cr-as-space <boolean>; // obsolete
use-id-pool <boolean>; // obsolete
use-ixfr <boolean>;
version ( <quoted_string> | none );
flush-zones-on-shutdown <boolean>;
allow-query-cache { <address_match_element>; ... };
allow-recursion { <address_match_element>; ... };
allow-v6-synthesis { <address_match_element>; ... }; // obsolete
sortlist { <address_match_element>; ... };
topology { <address_match_element>; ... }; // not implemented
auth-nxdomain <boolean>; // default changed
minimal-responses <boolean>;
recursion <boolean>;
rrset-order { [ class <string> ] [ type <string> ] [ name
<quoted_string> ] <string> <string>; ... };
provide-ixfr <boolean>;
request-ixfr <boolean>;
fetch-glue <boolean>; // obsolete
rfc2308-type1 <boolean>; // not yet implemented
additional-from-auth <boolean>;
additional-from-cache <boolean>;
query-source <querysource4>;
query-source-v6 <querysource6>;
cleaning-interval <integer>;
min-roots <integer>; // not implemented
lame-ttl <integer>;
max-ncache-ttl <integer>;
max-cache-ttl <integer>;
transfer-format ( many-answers | one-answer );
max-cache-size <size_no_default>;
check-names ( master | slave | response ) ( fail | warn | ignore );
cache-file <quoted_string>;
suppress-initial-notify <boolean>; // not yet implemented
preferred-glue <string>;
dual-stack-servers [ port <integer> ] { ( <quoted_string> [port
<integer>] | <ipv4_address> [port <integer>] | <ipv6_address> [port <integer>] ); ... };
edns-udp-size <integer>;
max-udp-size <integer>;
root-delegation-only [ exclude { <quoted_string>; ... } ];
disable-algorithms <string> { <string>; ... };
dnssec-enable <boolean>;
dnssec-validation <boolean>;
dnssec-lookaside <string> trust-anchor <string>;
dnssec-must-be-secure <string> <boolean>;
dnssec-accept-expired <boolean>;
ixfr-from-differences <ixfrdiff>;
acache-enable <boolean>;
acache-cleaning-interval <integer>;
max-acache-size <size_no_default>;
clients-per-query <integer>;
max-clients-per-query <integer>;
empty-server <string>;
empty-contact <string>;
empty-zones-enable <boolean>;
disable-empty-zone <string>;
zero-no-soa-ttl-cache <boolean>;
allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-notify { <address_match_element>; ... };
masterfile-format ( text | raw );
notify <notifytype>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address>
) [ port <integer> ]; ... };
notify-delay <integer>;
dialup <dialuptype>;
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
maintain-ixfr-base <boolean>; // obsolete
max-ixfr-log-size <size>; // obsolete
max-journal-size <size_no_default>;
max-transfer-time-in <integer>;
max-transfer-time-out <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-retry-time <integer>;
min-retry-time <integer>;
max-refresh-time <integer>;
min-refresh-time <integer>;
multi-master <boolean>;
sig-validity-interval <integer>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
* ) ];
use-alt-transfer-source <boolean>;
zone-statistics <boolean>;
key-directory <quoted_string>;
check-wildcard <boolean>;
check-integrity <boolean>;
check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore );
check-srv-cname ( fail | warn | ignore );
check-sibling <boolean>;
zero-no-soa-ttl <boolean>;
update-check-ksk <boolean>;
};
acl <string> { <address_match_element>; ... };
controls {
inet ( <ipv4_address> | <ipv6_address> | * ) [ port ( <integer> | *
) ] allow { <address_match_element>; ... } [ keys { <string>; ... } ];
) ] allow { <address_match_element>; ... } [ keys { <string>;
... } ];
unix <quoted_string> perm <integer> owner <integer> group <integer>
[ keys { <string>; ... } ];
};
acl <string> { <address_match_element>; ... };
masters <string> [ port <integer> ] { ( <masters> | <ipv4_address> [port
<integer>] | <ipv6_address> [port <integer>] ) [ key <string> ]; ... };
logging {
channel <string> {
file <log_file>;
syslog <optional_facility>;
null;
stderr;
severity <log_severity>;
print-time <boolean>;
print-severity <boolean>;
print-category <boolean>;
};
category <string> { <string>; ... };
};
view <string> <optional_class> {
match-clients { <address_match_element>; ... };
match-destinations { <address_match_element>; ... };
match-recursive-only <boolean>;
key <string> {
algorithm <string>;
secret <string>;
};
zone <string> <optional_class> {
type ( master | slave | stub | hint | forward |
delegation-only );
file <quoted_string>;
journal <quoted_string>;
ixfr-base <quoted_string>; // obsolete
ixfr-tmp-file <quoted_string>; // obsolete
masters [ port <integer> ] { ( <masters> | <ipv4_address>
[port <integer>] | <ipv6_address> [port <integer>] ) [ key <string> ]; ... };
pubkey <integer> <integer> <integer> <quoted_string>; //
obsolete
update-policy { ( grant | deny ) <string> ( name |
subdomain | wildcard | self | selfsub | selfwild ) <string> <rrtypelist>; ... };
database <string>;
delegation-only <boolean>;
check-names ( fail | warn | ignore );
ixfr-from-differences <boolean>;
allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-notify { <address_match_element>; ... };
masterfile-format ( text | raw );
notify <notifytype>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
| * ) ];
also-notify [ port <integer> ] { ( <ipv4_address> |
<ipv6_address> ) [ port <integer> ]; ... };
notify-delay <integer>;
dialup <dialuptype>;
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> |
<ipv6_address> ) [ port <integer> ]; ... };
maintain-ixfr-base <boolean>; // obsolete
max-ixfr-log-size <size>; // obsolete
max-journal-size <size_no_default>;
max-transfer-time-in <integer>;
max-transfer-time-out <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-retry-time <integer>;
min-retry-time <integer>;
max-refresh-time <integer>;
min-refresh-time <integer>;
multi-master <boolean>;
sig-validity-interval <integer>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
* ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port (
<integer> | * ) ];
alt-transfer-source ( <ipv4_address> | * ) [ port (
<integer> | * ) ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port (
<integer> | * ) ];
use-alt-transfer-source <boolean>;
zone-statistics <boolean>;
key-directory <quoted_string>;
check-wildcard <boolean>;
check-integrity <boolean>;
check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore );
check-srv-cname ( fail | warn | ignore );
check-sibling <boolean>;
zero-no-soa-ttl <boolean>;
update-check-ksk <boolean>;
};
dlz <string> {
database <string>;
};
server <netprefix> {
bogus <boolean>;
provide-ixfr <boolean>;
request-ixfr <boolean>;
support-ixfr <boolean>; // obsolete
transfers <integer>;
transfer-format ( many-answers | one-answer );
keys <server_key>;
edns <boolean>;
edns-udp-size <integer>;
max-udp-size <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
| * ) ];
query-source <querysource4>;
query-source-v6 <querysource6>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
* ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port (
<integer> | * ) ];
};
trusted-keys { <string> <integer> <integer> <integer>
<quoted_string>; ... };
allow-query-cache { <address_match_element>; ... };
allow-recursion { <address_match_element>; ... };
allow-v6-synthesis { <address_match_element>; ... }; // obsolete
sortlist { <address_match_element>; ... };
topology { <address_match_element>; ... }; // not implemented
auth-nxdomain <boolean>; // default changed
minimal-responses <boolean>;
recursion <boolean>;
rrset-order { [ class <string> ] [ type <string> ] [ name
<quoted_string> ] <string> <string>; ... };
provide-ixfr <boolean>;
request-ixfr <boolean>;
fetch-glue <boolean>; // obsolete
rfc2308-type1 <boolean>; // not yet implemented
additional-from-auth <boolean>;
additional-from-cache <boolean>;
query-source <querysource4>;
query-source-v6 <querysource6>;
cleaning-interval <integer>;
min-roots <integer>; // not implemented
lame-ttl <integer>;
max-ncache-ttl <integer>;
max-cache-ttl <integer>;
transfer-format ( many-answers | one-answer );
max-cache-size <size_no_default>;
check-names ( master | slave | response ) ( fail | warn | ignore );
cache-file <quoted_string>;
suppress-initial-notify <boolean>; // not yet implemented
preferred-glue <string>;
dual-stack-servers [ port <integer> ] { ( <quoted_string> [port
<integer>] | <ipv4_address> [port <integer>] | <ipv6_address> [port <integer>] ); ... };
edns-udp-size <integer>;
max-udp-size <integer>;
root-delegation-only [ exclude { <quoted_string>; ... } ];
disable-algorithms <string> { <string>; ... };
dnssec-enable <boolean>;
dnssec-validation <boolean>;
dnssec-lookaside <string> trust-anchor <string>;
dnssec-must-be-secure <string> <boolean>;
dnssec-accept-expired <boolean>;
ixfr-from-differences <ixfrdiff>;
acache-enable <boolean>;
acache-cleaning-interval <integer>;
max-acache-size <size_no_default>;
clients-per-query <integer>;
max-clients-per-query <integer>;
empty-server <string>;
empty-contact <string>;
empty-zones-enable <boolean>;
disable-empty-zone <string>;
zero-no-soa-ttl-cache <boolean>;
allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-notify { <address_match_element>; ... };
masterfile-format ( text | raw );
notify <notifytype>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address>
) [ port <integer> ]; ... };
notify-delay <integer>;
dialup <dialuptype>;
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
maintain-ixfr-base <boolean>; // obsolete
max-ixfr-log-size <size>; // obsolete
max-journal-size <size_no_default>;
max-transfer-time-in <integer>;
max-transfer-time-out <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-retry-time <integer>;
min-retry-time <integer>;
max-refresh-time <integer>;
min-refresh-time <integer>;
multi-master <boolean>;
sig-validity-interval <integer>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
* ) ];
use-alt-transfer-source <boolean>;
zone-statistics <boolean>;
key-directory <quoted_string>;
check-wildcard <boolean>;
check-integrity <boolean>;
check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore );
check-srv-cname ( fail | warn | ignore );
check-sibling <boolean>;
zero-no-soa-ttl <boolean>;
update-check-ksk <boolean>;
dlz <string> {
database <string>;
};
lwres {
listen-on [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
view <string> <optional_class>;
search { <string>; ... };
ndots <integer>;
};
key <string> {
algorithm <string>;
secret <string>;
};
zone <string> <optional_class> {
type ( master | slave | stub | hint | forward | delegation-only );
file <quoted_string>;
journal <quoted_string>;
ixfr-base <quoted_string>; // obsolete
ixfr-tmp-file <quoted_string>; // obsolete
masters [ port <integer> ] { ( <masters> | <ipv4_address> [port
<integer>] | <ipv6_address> [port <integer>] ) [ key <string> ]; ... };
pubkey <integer> <integer> <integer> <quoted_string>; // obsolete
update-policy { ( grant | deny ) <string> ( name | subdomain |
wildcard | self | selfsub | selfwild ) <string> <rrtypelist>; ... };
database <string>;
delegation-only <boolean>;
check-names ( fail | warn | ignore );
ixfr-from-differences <boolean>;
logging {
category <string> { <string>; ... };
channel <string> {
file <quoted_string> [ versions ( "unlimited" | <integer> )
] [ size <size> ];
null;
print-category <boolean>;
print-severity <boolean>;
print-time <boolean>;
severity <log_severity>;
stderr;
syslog <optional_facility>;
};
};
lwres {
listen-on [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
ndots <integer>;
search { <string>; ... };
view <string> <optional_class>;
};
masters <string> [ port <integer> ] { ( <masters> | <ipv4_address> [ port
<integer> ] | <ipv6_address> [ port <integer> ] ) [ key <string> ]; ... };
options {
acache-cleaning-interval <integer>;
acache-enable <boolean>;
additional-from-auth <boolean>;
additional-from-cache <boolean>;
allow-notify { <address_match_element>; ... };
allow-query { <address_match_element>; ... };
allow-query-cache { <address_match_element>; ... };
allow-recursion { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-notify { <address_match_element>; ... };
masterfile-format ( text | raw );
notify <notifytype>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
allow-v6-synthesis { <address_match_element>; ... }; // obsolete
also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address>
) [ port <integer> ]; ... };
notify-delay <integer>;
dialup <dialuptype>;
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
maintain-ixfr-base <boolean>; // obsolete
max-ixfr-log-size <size>; // obsolete
max-journal-size <size_no_default>;
max-transfer-time-in <integer>;
max-transfer-time-out <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-retry-time <integer>;
min-retry-time <integer>;
max-refresh-time <integer>;
min-refresh-time <integer>;
multi-master <boolean>;
sig-validity-interval <integer>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * )
];
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
* ) ];
use-alt-transfer-source <boolean>;
zone-statistics <boolean>;
key-directory <quoted_string>;
check-wildcard <boolean>;
auth-nxdomain <boolean>; // default changed
avoid-v4-udp-ports { <portrange>; ... };
avoid-v6-udp-ports { <portrange>; ... };
blackhole { <address_match_element>; ... };
cache-file <quoted_string>;
check-integrity <boolean>;
check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore );
check-srv-cname ( fail | warn | ignore );
check-names ( master | slave | response ) ( fail | warn | ignore );
check-sibling <boolean>;
zero-no-soa-ttl <boolean>;
check-srv-cname ( fail | warn | ignore );
check-wildcard <boolean>;
cleaning-interval <integer>;
clients-per-query <integer>;
coresize <size>;
datasize <size>;
deallocate-on-exit <boolean>; // obsolete
dialup <dialuptype>;
directory <quoted_string>;
disable-algorithms <string> { <string>; ... };
disable-empty-zone <string>;
dnssec-accept-expired <boolean>;
dnssec-enable <boolean>;
dnssec-lookaside <string> trust-anchor <string>;
dnssec-must-be-secure <string> <boolean>;
dnssec-validation <boolean>;
dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
<integer> ] | <ipv4_address> [ port <integer> ] |
<ipv6_address> [ port <integer> ] ); ... };
dump-file <quoted_string>;
edns-udp-size <integer>;
empty-contact <string>;
empty-server <string>;
empty-zones-enable <boolean>;
fake-iquery <boolean>; // obsolete
fetch-glue <boolean>; // obsolete
files <size>;
flush-zones-on-shutdown <boolean>;
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
has-old-clients <boolean>; // obsolete
heartbeat-interval <integer>;
host-statistics <boolean>; // not implemented
host-statistics-max <integer>; // not implemented
hostname ( <quoted_string> | none );
interface-interval <integer>;
ixfr-from-differences <ixfrdiff>;
key-directory <quoted_string>;
lame-ttl <integer>;
listen-on [ port <integer> ] { <address_match_element>; ... };
listen-on-v6 [ port <integer> ] { <address_match_element>; ... };
maintain-ixfr-base <boolean>; // obsolete
masterfile-format ( text | raw );
match-mapped-addresses <boolean>;
max-acache-size <size_no_default>;
max-cache-size <size_no_default>;
max-cache-ttl <integer>;
max-clients-per-query <integer>;
max-ixfr-log-size <size>; // obsolete
max-journal-size <size_no_default>;
max-ncache-ttl <integer>;
max-refresh-time <integer>;
max-retry-time <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-transfer-time-in <integer>;
max-transfer-time-out <integer>;
max-udp-size <integer>;
memstatistics-file <quoted_string>;
min-refresh-time <integer>;
min-retry-time <integer>;
min-roots <integer>; // not implemented
minimal-responses <boolean>;
multi-master <boolean>;
multiple-cnames <boolean>; // obsolete
named-xfer <quoted_string>; // obsolete
notify <notifytype>;
notify-delay <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
pid-file ( <quoted_string> | none );
port <integer>;
preferred-glue <string>;
provide-ixfr <boolean>;
query-source <querysource4>;
query-source-v6 <querysource6>;
querylog <boolean>;
random-device <quoted_string>;
recursing-file <quoted_string>;
recursion <boolean>;
recursive-clients <integer>;
request-ixfr <boolean>;
reserved-sockets <integer>;
rfc2308-type1 <boolean>; // not yet implemented
root-delegation-only [ exclude { <quoted_string>; ... } ];
rrset-order { [ class <string> ] [ type <string> ] [ name
<quoted_string> ] <string> <string>; ... };
serial-queries <integer>; // obsolete
serial-query-rate <integer>;
server-id ( <quoted_string> | none |;
sig-validity-interval <integer>;
sortlist { <address_match_element>; ... };
stacksize <size>;
statistics-file <quoted_string>;
statistics-interval <integer>; // not yet implemented
suppress-initial-notify <boolean>; // not yet implemented
tcp-clients <integer>;
tcp-listen-queue <integer>;
tkey-dhkey <quoted_string> <integer>;
tkey-domain <quoted_string>;
tkey-gssapi-credential <quoted_string>;
topology { <address_match_element>; ... }; // not implemented
transfer-format ( many-answers | one-answer );
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
transfers-in <integer>;
transfers-out <integer>;
transfers-per-ns <integer>;
treat-cr-as-space <boolean>; // obsolete
update-check-ksk <boolean>;
};
dlz <string> {
database <string>;
use-alt-transfer-source <boolean>;
use-id-pool <boolean>; // obsolete
use-ixfr <boolean>;
use-v4-udp-ports { <portrange>; ... };
use-v6-udp-ports { <portrange>; ... };
version ( <quoted_string> | none );
zero-no-soa-ttl <boolean>;
zero-no-soa-ttl-cache <boolean>;
zone-statistics <boolean>;
};
server <netprefix> {
bogus <boolean>;
provide-ixfr <boolean>;
request-ixfr <boolean>;
support-ixfr <boolean>; // obsolete
transfers <integer>;
transfer-format ( many-answers | one-answer );
keys <server_key>;
edns <boolean>;
edns-udp-size <integer>;
keys <server_key>;
max-udp-size <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
provide-ixfr <boolean>;
query-source <querysource4>;
query-source-v6 <querysource6>;
request-ixfr <boolean>;
support-ixfr <boolean>; // obsolete
transfer-format ( many-answers | one-answer );
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
transfers <integer>;
};
trusted-keys { <string> <integer> <integer> <integer> <quoted_string>; ... };
view <string> <optional_class> {
acache-cleaning-interval <integer>;
acache-enable <boolean>;
additional-from-auth <boolean>;
additional-from-cache <boolean>;
allow-notify { <address_match_element>; ... };
allow-query { <address_match_element>; ... };
allow-query-cache { <address_match_element>; ... };
allow-recursion { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
allow-v6-synthesis { <address_match_element>; ... }; // obsolete
also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address>
) [ port <integer> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
* ) ];
auth-nxdomain <boolean>; // default changed
cache-file <quoted_string>;
check-integrity <boolean>;
check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore );
check-names ( master | slave | response ) ( fail | warn | ignore );
check-sibling <boolean>;
check-srv-cname ( fail | warn | ignore );
check-wildcard <boolean>;
cleaning-interval <integer>;
clients-per-query <integer>;
database <string>;
dialup <dialuptype>;
disable-algorithms <string> { <string>; ... };
disable-empty-zone <string>;
dlz <string> {
database <string>;
};
dnssec-accept-expired <boolean>;
dnssec-enable <boolean>;
dnssec-lookaside <string> trust-anchor <string>;
dnssec-must-be-secure <string> <boolean>;
dnssec-validation <boolean>;
dual-stack-servers [ port <integer> ] { ( <quoted_string> [ port
<integer> ] | <ipv4_address> [ port <integer> ] |
<ipv6_address> [ port <integer> ] ); ... };
edns-udp-size <integer>;
empty-contact <string>;
empty-server <string>;
empty-zones-enable <boolean>;
fetch-glue <boolean>; // obsolete
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
ixfr-from-differences <ixfrdiff>;
key <string> {
algorithm <string>;
secret <string>;
};
key-directory <quoted_string>;
lame-ttl <integer>;
maintain-ixfr-base <boolean>; // obsolete
masterfile-format ( text | raw );
match-clients { <address_match_element>; ... };
match-destinations { <address_match_element>; ... };
match-recursive-only <boolean>;
max-acache-size <size_no_default>;
max-cache-size <size_no_default>;
max-cache-ttl <integer>;
max-clients-per-query <integer>;
max-ixfr-log-size <size>; // obsolete
max-journal-size <size_no_default>;
max-ncache-ttl <integer>;
max-refresh-time <integer>;
max-retry-time <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-transfer-time-in <integer>;
max-transfer-time-out <integer>;
max-udp-size <integer>;
min-refresh-time <integer>;
min-retry-time <integer>;
min-roots <integer>; // not implemented
minimal-responses <boolean>;
multi-master <boolean>;
notify <notifytype>;
notify-delay <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
preferred-glue <string>;
provide-ixfr <boolean>;
query-source <querysource4>;
query-source-v6 <querysource6>;
recursion <boolean>;
request-ixfr <boolean>;
rfc2308-type1 <boolean>; // not yet implemented
root-delegation-only [ exclude { <quoted_string>; ... } ];
rrset-order { [ class <string> ] [ type <string> ] [ name
<quoted_string> ] <string> <string>; ... };
server <netprefix> {
bogus <boolean>;
edns <boolean>;
edns-udp-size <integer>;
keys <server_key>;
max-udp-size <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
| * ) ];
provide-ixfr <boolean>;
query-source <querysource4>;
query-source-v6 <querysource6>;
request-ixfr <boolean>;
support-ixfr <boolean>; // obsolete
transfer-format ( many-answers | one-answer );
transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
* ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port (
<integer> | * ) ];
transfers <integer>;
};
sig-validity-interval <integer>;
sortlist { <address_match_element>; ... };
suppress-initial-notify <boolean>; // not yet implemented
topology { <address_match_element>; ... }; // not implemented
transfer-format ( many-answers | one-answer );
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
trusted-keys { <string> <integer> <integer> <integer>
<quoted_string>; ... };
update-check-ksk <boolean>;
use-alt-transfer-source <boolean>;
zero-no-soa-ttl <boolean>;
zero-no-soa-ttl-cache <boolean>;
zone <string> <optional_class> {
allow-notify { <address_match_element>; ... };
allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
also-notify [ port <integer> ] { ( <ipv4_address> |
<ipv6_address> ) [ port <integer> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port (
<integer> | * ) ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port (
<integer> | * ) ];
check-integrity <boolean>;
check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore );
check-names ( fail | warn | ignore );
check-sibling <boolean>;
check-srv-cname ( fail | warn | ignore );
check-wildcard <boolean>;
database <string>;
delegation-only <boolean>;
dialup <dialuptype>;
file <quoted_string>;
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> |
<ipv6_address> ) [ port <integer> ]; ... };
ixfr-base <quoted_string>; // obsolete
ixfr-from-differences <boolean>;
ixfr-tmp-file <quoted_string>; // obsolete
journal <quoted_string>;
key-directory <quoted_string>;
maintain-ixfr-base <boolean>; // obsolete
masterfile-format ( text | raw );
masters [ port <integer> ] { ( <masters> | <ipv4_address> [
port <integer> ] | <ipv6_address> [ port <integer> ] )
[ key <string> ]; ... };
max-ixfr-log-size <size>; // obsolete
max-journal-size <size_no_default>;
max-refresh-time <integer>;
max-retry-time <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-transfer-time-in <integer>;
max-transfer-time-out <integer>;
min-refresh-time <integer>;
min-retry-time <integer>;
multi-master <boolean>;
notify <notifytype>;
notify-delay <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | *
) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer>
| * ) ];
pubkey <integer> <integer> <integer>
<quoted_string>; // obsolete
sig-validity-interval <integer>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> |
* ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port (
<integer> | * ) ];
type ( master | slave | stub | hint | forward |
delegation-only );
update-check-ksk <boolean>;
update-policy { ( grant | deny ) <string> ( name |
subdomain | wildcard | self | selfsub | selfwild )
<string> <rrtypelist>; ... };
use-alt-transfer-source <boolean>;
zero-no-soa-ttl <boolean>;
zone-statistics <boolean>;
};
zone-statistics <boolean>;
};
zone <string> <optional_class> {
allow-notify { <address_match_element>; ... };
allow-query { <address_match_element>; ... };
allow-transfer { <address_match_element>; ... };
allow-update { <address_match_element>; ... };
allow-update-forwarding { <address_match_element>; ... };
also-notify [ port <integer> ] { ( <ipv4_address> | <ipv6_address>
) [ port <integer> ]; ... };
alt-transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
alt-transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> |
* ) ];
check-integrity <boolean>;
check-mx ( fail | warn | ignore );
check-mx-cname ( fail | warn | ignore );
check-names ( fail | warn | ignore );
check-sibling <boolean>;
check-srv-cname ( fail | warn | ignore );
check-wildcard <boolean>;
database <string>;
delegation-only <boolean>;
dialup <dialuptype>;
file <quoted_string>;
forward ( first | only );
forwarders [ port <integer> ] { ( <ipv4_address> | <ipv6_address> )
[ port <integer> ]; ... };
ixfr-base <quoted_string>; // obsolete
ixfr-from-differences <boolean>;
ixfr-tmp-file <quoted_string>; // obsolete
journal <quoted_string>;
key-directory <quoted_string>;
maintain-ixfr-base <boolean>; // obsolete
masterfile-format ( text | raw );
masters [ port <integer> ] { ( <masters> | <ipv4_address> [ port
<integer> ] | <ipv6_address> [ port <integer> ] ) [ key
<string> ]; ... };
max-ixfr-log-size <size>; // obsolete
max-journal-size <size_no_default>;
max-refresh-time <integer>;
max-retry-time <integer>;
max-transfer-idle-in <integer>;
max-transfer-idle-out <integer>;
max-transfer-time-in <integer>;
max-transfer-time-out <integer>;
min-refresh-time <integer>;
min-retry-time <integer>;
multi-master <boolean>;
notify <notifytype>;
notify-delay <integer>;
notify-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
notify-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
pubkey <integer> <integer> <integer> <quoted_string>; // obsolete
sig-validity-interval <integer>;
transfer-source ( <ipv4_address> | * ) [ port ( <integer> | * ) ];
transfer-source-v6 ( <ipv6_address> | * ) [ port ( <integer> | * ) ];
type ( master | slave | stub | hint | forward | delegation-only );
update-check-ksk <boolean>;
update-policy { ( grant | deny ) <string> ( name | subdomain |
wildcard | self | selfsub | selfwild ) <string> <rrtypelist>;
... };
use-alt-transfer-source <boolean>;
zero-no-soa-ttl <boolean>;
zone-statistics <boolean>;
};
Loaded 100 of 2050 files, more files were not shown because too many files have changed in this diff. Show more