Commit Graph

101750 Commits

Author SHA1 Message Date
Nate Lawson
1cc11684ac MFdragonfly: resolver fix for timeouts on unqualified hostnames
res_search only incremented got_servfail for h_errno == TRY_AGAIN *AND*
  hp->rcode == SERVFAIL.  However, there are cases such as timeouts where
  rcode is not always set to SERVFAIL.  This leads to inconsistent nameserver
  operation during multi-domain and truncated dot searches, especially during
  booting when portions of the network are being brought up simultanious with
  dns lookups.

  This patch attempts to correct the problem by unconditionally terminating
  the search if TRY_AGAIN is returned (after res_query has gone through all
  retries and name servers) instead of trying other domain elements in the
  domain seach path.

  This patch should fix reported problems (which I can reproduce) with some
  NFS mounts failing during boot.  This occured because mount_nfs thought the
  host name lookup returned a definitive failure using a non-dotted host name
  when, in fact, it timed out on the first part (host.search.domain.name) and
  got a definitive host-not-found response on the second part (host.).

  Generally speaking, search path name server timeouts can exceed 60 seconds
  per element and most machines which consistently timeout on earlier portions
  of a search path are effectively non-operational due to the imposed delays.
  It is more important for DNS lookups to return the proper error code then
  to be able to recover a valid lookup in later portions of the search path
  in these situations.

Obtained from:	DragonFly
MFC after:	3 weeks
2004-04-21 00:56:38 +00:00
Nate Lawson
75988358a2 Fix several bugs where 32-bit timers and wraparound were not properly
supported.  Symptoms of this bug included unnecessary use of ACPI-safe
and a dmesg that has deltas of about 2^24:

    ACPI timer looks BAD  min = 2, max = 16777206, width = 16777204
    ACPI timer looks BAD  min = 2, max = 7, width = 5
    ACPI timer looks GOOD min = 4, max = 5, width = 1
    ACPI timer looks BAD  min = 2, max = 16777206, width = 16777204
    ACPI timer looks BAD  min = 2, max = 7, width = 5
    ACPI timer looks BAD  min = 2, max = 16777210, width = 16777208
    ACPI timer looks BAD  min = 4, max = 16777189, width = 16777185
    ACPI timer looks GOOD min = 4, max = 5, width = 1
    ACPI timer looks BAD  min = 2, max = 7, width = 5
    ACPI timer looks BAD  min = 4, max = 16777189, width = 16777185

To fix this:
* Use a 32 bit timecounter mask when the timer is 32 bits.
* In test_counter(), use the acpi_TimerDelta function which handles 24/32
  bit timers and wraparound.

Miscellaneous fixes:
* Use C99 initializers for timecounter struct.
* Use u_int and uint32_t where appropriate instead of unsigned.
* Remove whitespace-only lines
* Remove the old PIIX4 PCI workaround.  The timecounter testing code has
  been in use for long enough to prove it's functional.
2004-04-21 00:48:16 +00:00
Dag-Erling Smørgrav
47d91ba394 Clarify and correct some compatibility notes.
PR:		65822
2004-04-21 00:42:55 +00:00
Nate Lawson
8d01ceefd8 Remove extran parens. 2004-04-21 00:38:54 +00:00
Nate Lawson
eea17c34cd Move the timer difference convenience function from acpi_cpu.c to make it
globally available.  acpi_TimerDelta() subtracts two readings from the
ACPI PM timer and returns the difference.  It properly distinguishes between
24-bit and 32-bit timers and handles wraparound.
2004-04-21 00:36:15 +00:00
Brooks Davis
44501e8cfd Remove the requirement that the "discard" service be defined in the
services database.  Now only services that are actually used need to be
defined.

Submitted by:	ume
2004-04-20 23:34:39 +00:00
Brian Feldman
59fb7e543f Treat kevent(2) returning an error EINTR as the non-error it is. 2004-04-20 22:04:12 +00:00
Colin Percival
3b38d66be6 Add mention of the fact that timeouts are silently limited to 24 hours.
Observed by:	jmg
2004-04-20 21:07:43 +00:00
Søren Schmidt
470fcc93b9 Do not pre-allocate resources for BAR's on ATA MASTERDEV's thats on
the standard ATA primary and secondary addresses.

Reintroduce the size 1 ALTIO space so that we can have both ATA and
floppies back working.
2004-04-20 20:57:29 +00:00
Tim Kientzle
c968be6d98 Yucky bug: Don't emit 'mkdir' commands for regular files in shar archives.
While I'm here, add some logic to avoid "mkdir ."

Reported by: Juergen Lock
2004-04-20 20:21:36 +00:00
Tim Kientzle
9e21a48274 In GNU tar archives, read ctime from ctime field, not atime field.
Credit: Juergen Lock
2004-04-20 20:09:06 +00:00
Tim Kientzle
9b26f9ec8e Eliminate some redundant calls to archive_entry_hardlink. 2004-04-20 20:07:30 +00:00
Ceri Davies
14f166b706 Don peril-sensitive sunglasses and correct the spelling of ukulele.
"Ukulele" is the canonical term, with "ukelele" being a derivation.
Also there is some evidence that the original appearance of the quote
had the spelling "ukulele", although anyone who has a copy of Esquire
from March 1967 is welcome to prove me wrong.

PR:		bin/65626
Submitted by:	Gavin Atkinson <gavin@ury.york.ac.uk>
2004-04-20 19:20:17 +00:00
Bruce M Simpson
de9f59f850 Fix a typo in a comment. 2004-04-20 19:04:24 +00:00
Hiroki Sato
7a2e304d7f New release note:
DA_OLD_QUIRKS removed,
	RFC 1948 improvement,
	random ephemeral port allocation from OpenBSD,
	df(1) -c option added,
	rarpd(8) fix when an iface with more than one IP address, and
	OpenSSH 3.8p1 -> 3.8.1p1.
2004-04-20 18:37:33 +00:00
Nate Lawson
18974fe842 Add the "new" acad disabling feature. 2004-04-20 17:45:47 +00:00
Nate Lawson
43813837ed Style fixes. 2004-04-20 17:13:08 +00:00
Pawel Jakub Dawidek
f1f163e9cb - Don't check if 'gp' is non-NULL, it always is and GEOM wants to
dump geom configuration when 'pp' and 'cp' are NULL.
- Use tabs instead of spaces.
2004-04-20 17:07:55 +00:00
Colin Percival
05641e82d7 1. Remove callout_stop binary compatibility.
2. Document that this means that kernel modules must be rebuilt.
3. While I'm here, fix my sorting error in callout.h

Requested by:	many [1], scottl [2], bde [3]
2004-04-20 15:49:31 +00:00
Nate Lawson
bcc0344c04 Remove an extra line that crept in. 2004-04-20 15:42:16 +00:00
Nate Lawson
6e3b5e7e30 Remove the commented out line for fore_load.c now that it's been removed. 2004-04-20 15:39:04 +00:00
Nate Lawson
7744b4a36d Delete an unused file which no longer compiles anyway.
Approved by:	mdodd
2004-04-20 15:33:24 +00:00
David E. O'Brien
03a6a16fec Add missing unique bits from libI77 v3.3.3's config.h.in.
The GCC developers separated out the configure header between libU77 and
libI77 and FreeBSD didn't keep up with the change.  So now this header needs
to be a superset of both sublib's configuration specification.

Notably this commit causes ftruncate(), fseeko(), and ftello() to be used.

PR:		22635
2004-04-20 15:33:00 +00:00
Ruslan Ermilov
d9d11bfd48 g++(1) is unhappy with -Wnested-externs.
Prodded by:	des
2004-04-20 15:16:07 +00:00
David E. O'Brien
43cbe2e9d6 Updated config.h for f77 3.3.3. 2004-04-20 15:09:59 +00:00
Bruce M Simpson
3a2366dc0f Fix a debugging printf snafu. 2004-04-20 14:53:35 +00:00
Darren Reed
e885d52740 IPv6 is on by default in GENERIC so enable IPv6 in IPFilter too by default.
PR:		kern/57730
Submitted by:	FUKAUMI Naoki <fukaumi@soum.co.jp>
2004-04-20 14:06:42 +00:00
David E. O'Brien
c3f9b66e7a Add "subscribe out of range" support. 2004-04-20 14:01:29 +00:00
Joerg Wunsch
d7706da39f While walking over the list of interfaces obtained from getifaddrs(3),
rarpd clobbered any AF_INET information already configured for a given
interface name, so interfaces with more than one IP address made rarpd
listen only for the last address out of all IP aliases.

I changed this, so that AF_LINK information is always collected first
(to ensure the interface name gets its link-layer address associated),
but while looking for AF_INET addresses, the configuration is cloned
if there has already been one IP address seen for that interface name.

Thus, rarpd now effectively listens on all subnets.

MFC after:	1 week
2004-04-20 13:58:14 +00:00
Darren Reed
167992ad9a Add script for checking ipv6 blocked packets from PR.
PR:		misc/50154
Submitted by:	Kimura Fuyuki <fuyuki@hadaly.org>
2004-04-20 13:44:57 +00:00
David E. O'Brien
62d4722034 Add support for the AMD 8111. 2004-04-20 13:36:44 +00:00
David E. O'Brien
d2f313a8ae Fix a last second typo in 'vi' that caused a problem. 2004-04-20 13:34:18 +00:00
Darren Reed
da48dbe191 apply patch so pr can be closed
PR:		misc/56715
Submitted by:	grant@NetBSD.org
Reviewed by:	darrenr
2004-04-20 13:30:49 +00:00
Joerg Wunsch
27b1d6317f Fix a typo. 2004-04-20 13:26:52 +00:00
Nate Lawson
0b84952197 Allow the AC adapter device to be disabled with debug.acpi.disable="acad".
Even though documented, this option was never enabled even in rev 1.1.

Submitted by:	sos
2004-04-20 13:09:17 +00:00
Bruce M Simpson
4680bc9ee5 Braino. Point out that TCP_SIGNATURE requires FAST_IPSEC et al. 2004-04-20 13:07:53 +00:00
Bruce M Simpson
b52f84078b Add TCP_SIGNATURE (TCP-MD5) to NOTES for -CURRENT. 2004-04-20 13:03:59 +00:00
Tim J. Robbins
4029695dbf Only compare the interesting part of the bootblock with its backup.
Allow check to proceed with bad backup boot block if we're doing a
readonly check. Various typos in comments.

Obtained from:	NetBSD
2004-04-20 11:41:57 +00:00
Dag-Erling Smørgrav
3c8487013c Regenerate. 2004-04-20 09:49:37 +00:00
Dag-Erling Smørgrav
cfa59440c5 One more conflict. 2004-04-20 09:47:13 +00:00
Dag-Erling Smørgrav
5962c0e9a3 Resolve conflicts. 2004-04-20 09:46:41 +00:00
Dag-Erling Smørgrav
562de5d9f6 Adjust version number and addendum. 2004-04-20 09:37:29 +00:00
Dag-Erling Smørgrav
b247dbc706 This commit was generated by cvs2svn to compensate for changes in r128456,
which included commits to RCS files with non-trunk default branches.
2004-04-20 09:35:04 +00:00
Dag-Erling Smørgrav
52028650db Vendor import of OpenSSH 3.8.1p1. 2004-04-20 09:35:04 +00:00
Luigi Rizzo
85911824db Fix the initial check for NULL arguments in rtfree (previously
it checked for rt == NULL after dereferencing the pointer).
We never check for those events elsewhere, so probably these checks
might go away here as well.

Slightly simplify (and document) the logic for memory allocation
in rt_setgate().

The rest is mostly style changes -- replace 0 with NULL where appropriate,
remove the macro SA() that was only used once, remove some useless
debugging code in rt_fixchange, explain some odd-looking casts.
2004-04-20 07:04:47 +00:00
Luigi Rizzo
f76d5670c0 Document an assumption on the structure of 'struct rtentry' 2004-04-20 07:03:30 +00:00
Mike Silbersack
6dd946b3f7 Switch from using sequential to random ephemeral port allocation,
implementation taken directly from OpenBSD.

I've resisted committing this for quite some time because of concern over
TIME_WAIT recycling breakage (sequential allocation ensures that there is a
long time before ports are recycled), but recent testing has shown me that
my fears were unwarranted.
2004-04-20 06:45:10 +00:00
Mike Silbersack
c1537ef063 Enhance our RFC1948 implementation to perform better in some pathlogical
TIME_WAIT recycling cases I was able to generate with http testing tools.

In short, as the old algorithm relied on ticks to create the time offset
component of an ISN, two connections with the exact same host, port pair
that were generated between timer ticks would have the exact same sequence
number.  As a result, the second connection would fail to pass the TIME_WAIT
check on the server side, and the SYN would never be acknowledged.

I've "fixed" this by adding random positive increments to the time component
between clock ticks so that ISNs will *always* be increasing, no matter how
quickly the port is recycled.

Except in such contrived benchmarking situations, this problem should never
come up in normal usage...  until networks get faster.

No MFC planned, 4.x is missing other optimizations that are needed to even
create the situation in which such quick port recycling will occur.
2004-04-20 06:33:39 +00:00
David E. O'Brien
a3ab3e07c5 White space style cleanup. 2004-04-20 03:15:59 +00:00
David E. O'Brien
2f3861fab4 Rev 1.2 changes include:
- Merge support for numeric keys 1-5 from boot0.s
- Fix _PRTEND for the case of more than 2 sectors.
- Move the code to set the drive number up before we try to load in the rest
  of boot0 off of the disk.
- Expand the OS name table to recognize more windows partitions and rename
  the NT entry to 'Windows NT/XP'.
2004-04-20 03:08:18 +00:00