Commit Graph

126025 Commits

Author SHA1 Message Date
Bill Paul
498bd0d326 Fix the following bugs in re(4)
- Correct the PCI ID for the 8169SC/8110SC in the device list (I added
  the macro for it to if_rlreg.h before, but forgot to use it.)

- Remove the extra interrupt spinlock I added previously. After giving it
  some more thought, it's not really needed.

- Work around a hardware bug in some versions of the 8169. When sending
  very small IP datagrams with checksum offload enabled, a conflict can
  occur between the TX autopadding feature and the hardware checksumming
  that can corrupt the outbound packet. This is the reason that checksum
  offload sometimes breaks NFS: if you're using NFS over UDP, and you're
  very unlucky, you might find yourself doing a fragmented NFS write where
  the last fragment is smaller than the minimum ethernet frame size (60
  bytes). (It's rare, but if you keep NFS running long enough it'll
  happen.) If checksum offload is enabled, the chip will have to both
  autopad the fragment and calculate its checksum header. This confuses
  some revs of the 8169, causing the packet that appears on the wire
  to be corrupted. (The IP addresses and the checksum field are mangled.)
  This will cause the NFS write to fail. Unfortunately, when NFS retries,
  it sends the same write request over and over again, and it keeps
  failing, so NFS stays wedged.

  (A simple way to provoke the failure is to connect the failing system
  to a network with a known good machine and do "ping -s 1473 <badhost>"
  from the good system. The ping will fail.)

  Someone had previously worked around this using the heavy-handed
  approahch of just disabling checksum offload. The correct fix is to
  manually pad short frames where the TCP/IP stack has requested
  checksum offloading. This allows us to have checksum offload turned
  on by default but still let NFS work right.

- Not a bug, but change the ID strings for devices with hardware rev
  0x30000000 and 0x38000000 to both be 8168B/8111B. According to RealTek,
  they're both the same device, but 0x30000000 is an earlier silicon spin.
2006-07-30 23:25:21 +00:00
Marcel Moolenaar
acdb66fce6 Use NO_SHARED=YES to force a static link.
Pointed out by: ru@
2006-07-30 20:51:41 +00:00
Simon L. B. Nielsen
78078a569f Pass BN_CTX to internal functions instead of allocating it internally.
This allows msqrt() to only call BN_CTX_new() once intead of many times.

Suggested and reviewed by:	stefanf
2006-07-30 19:29:26 +00:00
Tim Kientzle
902ce6f035 Conditionally include sys/mkdev.h on platforms (such as Solaris) that need it.
While I'm here, correctly alphabetize 't' after 's'.

Thanks to: VMiklos
2006-07-30 18:34:40 +00:00
Tim Kientzle
4dabd2811a Conditionally include sys/mkdev.h on platforms (such as Solaris) that need it.
Thanks to: VMiklos
2006-07-30 18:33:20 +00:00
Simon L. B. Nielsen
2ab7aa997e Resolve conflicts after import of OpenSSL 0.9.8b.
This was missed the first time around since eng_padlock.c was not part
of OpenSSL 0.9.7e and therefor did not have the v0_9_7e CVS tag used
during original resolve of conflicts.

Noticed by:	Antoine Brodin <antoine.brodin@laposte.net>
2006-07-30 14:17:54 +00:00
Stephen McKay
55fd436b5f This script should probably have an enabling variable since it can produce
surprising results.  For now, at least make it safe to boot the default
kernel when /boot/kernel is already a symlink.
2006-07-30 12:54:37 +00:00
Maxim Konovalov
1b405ff747 o Kill unneeded assignment.
Obtained from:	OpenBSD
2006-07-30 07:41:28 +00:00
Tim Kientzle
693285bc87 Use 'skip' when ignoring data in tar archives. This dramatically
increases performance when extracting a single entry from a large
uncompressed archive, especially on slow devices such as USB hard
drives.

Requires a number of changes:
   * New archive_read_open2() supports a 'skip' client function
   * Old archive_read_open() is implemented as a wrapper now, to
     continue supporting the old API/ABI.
   * _read_open_fd and _read_open_file sprout new 'skip' functions.
   * compression layer gets a new 'skip' operation.
   * compression_none passes skip requests through to client.
   * compression_{gzip,bzip2,compress} simply ignore skip requests.

Thanks to: Benjamin Lutz, who designed and implemented the whole thing.
   I'm just committing it.  ;-)

TODO: Need to update the documentation a little bit.
2006-07-30 00:29:01 +00:00
Tim Kientzle
85af60729f Don't mention 'pax' in the context of POSIX-1988, since
pax wasn't introduced until the 1993 (?) revision.

(I need to double-check when pax was introduced and
clarify some of the history here.  In particular,
I should explain that the 'pax' standard now owns the
'ustar' format spec.)
2006-07-29 23:51:10 +00:00
Tim Kientzle
aa12ea14a8 Remove mention of 'tp' format, since that support has been
removed.  (It was introduced experimentally and I have simply
never had time to finish it.)
2006-07-29 23:49:25 +00:00
Simon L. B. Nielsen
35fc1829d8 Sync FREEBSD-Xlist with what was actually excluded from OpenSSL 0.9.8b
import.
2006-07-29 22:40:45 +00:00
Simon L. B. Nielsen
f6ec947c28 Add some rough notes on how to import a new OpenSSL version into the
FreeBSD base system.  Parts are inspired by the OpenSSH upgrade notes.
2006-07-29 22:01:26 +00:00
Nate Lawson
93870c0550 Document many of the sysctls in acpi. Bump the date on acpi_thermal.4
because I forgot to on the last change.

MFC after:	1 day
2006-07-29 21:47:24 +00:00
Nate Lawson
d1b16e1864 Add a new sysctl, hw.acpi.handle_reboot. If set, acpi will attempt to
perform the reboot action via the reset register instead of our legacy
method.  Default is 0 (use legacy).  This is needed because some systems
hang on reboot even though they claim to support the reset register.

MFC after:	2 days
2006-07-29 21:46:16 +00:00
Simon L. B. Nielsen
31c9ecbf46 Add /usr/lib/engines for OpenSSL engines. 2006-07-29 19:47:09 +00:00
Simon L. B. Nielsen
f57d6668ad Bump __FreeBSD_version for OpenSSL 0.9.8b import. 2006-07-29 19:44:07 +00:00
Marcel Moolenaar
259d74ed53 Link kldxref(8) static on PowerPC to work around a SIGSEGV that
cannot easily be analyzed due to there being no debugger yet.
The SIGSEGV only happens when kldxref is linked shared.
Since kldxref(8) is needed for a release build, having it not
dump core is important.
2006-07-29 19:43:26 +00:00
Simon L. B. Nielsen
e7926dc0a5 Upgrade to OpenSSL 0.9.8b. 2006-07-29 19:41:41 +00:00
Marcel Moolenaar
9ceddbd532 Change maketempfile() to return a FILE* so as to eliminate the fopen()
that immediately follows the only call to it. maketempfile() uses
mkstemp(), so the temporary file has already been opened and using
fopen() again just opens the file twice. This also fixes the invalid
mode used on the fopen().
While here, assign NULL to fxref after fclose() because we test for
fxref being !NULL to determine if we have the (temporary) hints file
open.
2006-07-29 19:39:03 +00:00
Simon L. B. Nielsen
09bf29a41f Resolve conflicts after import of OpenSSL 0.9.8b. 2006-07-29 19:14:51 +00:00
Simon L. B. Nielsen
f6ab039488 This commit was generated by cvs2svn to compensate for changes in r160814,
which included commits to RCS files with non-trunk default branches.
2006-07-29 19:10:21 +00:00
Simon L. B. Nielsen
3b4e3dcb9f Vendor import of OpenSSL 0.9.8b 2006-07-29 19:10:21 +00:00
Marcel Moolenaar
302981e72a Remove sio(4) and related options from MI files to amd64, i386
and pc98 MD files. Remove nodevice and nooption lines specific
to sio(4) from ia64, powerpc and sparc64 NOTES. There were no
such lines for arm yet.
sio(4) is usable on less than half the platforms, not counting
a future mips platform. Its presence in MI files is therefore
increasingly becoming a burden.
2006-07-29 18:38:54 +00:00
Yaroslav Tykhiy
9cdd1e3fea Tell more of the sh(1) history.
Acknowledge Kenneth Almquist's contribution in AUTHORS.

MFC after:	5 days
2006-07-29 09:56:29 +00:00
Yaroslav Tykhiy
c3e63d569c Extend the MK_INET6 section by rescue/ping6 and the manpages. 2006-07-29 06:29:07 +00:00
Simon L. B. Nielsen
76f29359f7 Do not put BN_CTX structures on the stack, but instead allocate them
runtime using BN_CTX_new().  This is done since in OpenSSL 0.9.7e we
can only allocate BN_CTX on the stack by including an internal OpenSSL
header file, and in OpenSSL 0.9.8 BN_CTX is entirely opaque, so having
it on the stack is not possible at all.

This is done as preparation for OpenSSL 0.9.8b import.

Tested on:	amd64 i386 ia64
Tested with:	src/tools/regression/lib/libmp
2006-07-28 23:00:16 +00:00
Stefan Farfeleder
1dd3ff6658 Remove debug code.
Suggested by:	des
2006-07-28 21:34:37 +00:00
Alexander Leidinger
b1ff02203e Allow to configure a kernel with envy24 support as documented in the
manual page...
2006-07-28 21:20:00 +00:00
Simon L. B. Nielsen
7777167df0 - Add more debugging information to make it simpler to understand
what's going on in cases where the "state engine" doesn't act as
  expected, e.g. in the case of a list not being closed in the manual
  page being parsed.
- Bump copyright year.

MFC after:	1 week
2006-07-28 20:23:03 +00:00
John Baldwin
cb76d9b05c Retire SYF_ARGMASK and remove both SYF_MPSAFE and SYF_ARGMASK. sy_narg is
now back to just being an argument count.
2006-07-28 20:22:58 +00:00
Simon L. B. Nielsen
b5ba473ca0 Add missing .El to close list.
This confused the manual page -> hardware notes perl script somewhat and
resulted in part of the output for the stge(4) entry not to be present
in the hardware notes.

Noticed by:	brueffer
2006-07-28 20:14:43 +00:00
John Baldwin
91ce2694d1 Regen for MPSAFE flag removal. 2006-07-28 19:08:37 +00:00
John Baldwin
af5bf12239 Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used to
mark system calls as being MPSAFE:
- Stop conditionally acquiring Giant around system call invocations.
- Remove all of the 'M' prefixes from the master system call files.
- Remove support for the 'M' prefix from the script that generates the
  syscall-related files from the master system call files.
- Don't explicitly set SYF_MPSAFE when registering nfssvc.
2006-07-28 19:05:28 +00:00
John Baldwin
e0b4add8d8 Various fixes to comments in the syscall master files including removing
cruft from the audit import and adding mention of COMPAT4 to freebsd32.
2006-07-28 18:55:18 +00:00
Alexander Leidinger
347edd7ee6 - fix memory leak after "kldunload snd_ak452x.ko"
- fix "No sound in KDE":
  The problem is related to the implementation of Envy24(1712) hardware
  mixer support in the driver. Envy24(1712) has very precise 36bit wide
  hardware mixer, which is superior that vchans (software sound mixer in
  the kernel). The driver supports Envy24(1712) hardware mixer, so up to
  10 channels (5 stereo pairs) can be playback simultaneously.
  However, there are problems with the implementation of Envy24(1712)
  hardware mixer support in the driver, one of them is the problem with
  "no sound in KDE":
      When playing back several channels simultaneously and
      stoping one of the channels, sound starts to stutter and
      plays at very low speed.
  Another problem is:
      Playing back simultaneously more than one 24bit/32bit
      sound file or 16bit sound file and 24bit/32bit sound
      file doesn't work as expected.

Submitted by:	"Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
2006-07-28 18:06:39 +00:00
John Baldwin
78371ec202 Regen. 2006-07-28 16:56:44 +00:00
John Baldwin
95e7d19dfa - Explicitly lock Giant to protect the fields in the svr4_strm structure
except for s_family (which is read-only once after it is set when the
  structure is created).
- Mark svr4_sys_ioctl(), svr4_sys_getmsg(), and svr4_sys_putmsg() MPSAFE.
2006-07-28 16:56:17 +00:00
Yaroslav Tykhiy
096146f88b - Achieve WARNS=3 by using sparse initializers or avoiding initializers at all.
- Fix a nlist initialization: it should be terminated by a NULL entry.
- Constify.
- Catch an unused parameter.

Tested on:	i386 amd64 ia64
2006-07-28 16:16:40 +00:00
Yaroslav Tykhiy
7b95a1ebbd Achieve WARNS=2 by using uintmax_t to pass around 64-bit quantities,
including to printf().  Using uintmax_t is also robust to further
extensions in both the C language and the bitwidth of kernel counters.

Tested on:	i386 amd64 ia64
2006-07-28 16:09:19 +00:00
Simon L. B. Nielsen
6e0d070709 Add a test program which performs some very basic tests of libmp(3).
It is by no means expected to perform a complete test of the library
for correctness, but is meant to test the API to make sure libmp (or
libcrypto) updates don't totally break the library.
2006-07-28 16:00:59 +00:00
Pawel Jakub Dawidek
6ea1a6d1ea Remove trailing spaces. 2006-07-28 14:48:30 +00:00
Pawel Jakub Dawidek
d5db4f4fe6 Use existing roundup2() macro.
Suggested by:	njl
2006-07-28 14:46:19 +00:00
Thomas Quinot
42f470c0e5 'make distribution' must be run from src, not src/etc, so that the proper
set of /usr/share/mk/* is available. This is necessary to build a 7.x
NanoBSD image on a 6.x host.

Reviewed by:	phk
2006-07-28 14:37:38 +00:00
Pawel Jakub Dawidek
909d8c4019 Update manual page. 2006-07-28 13:56:17 +00:00
Yaroslav Tykhiy
778d2bddd2 Both fields of struct timeval are of a non-basic type,
so we should cast them to a type printf() knows about.
2006-07-28 11:17:17 +00:00
Yaroslav Tykhiy
b7dd94d5e6 Avoid useless work: Do not build inet6.c if INET6 support is off.
This also avoids pretending that netstat includes inet6.c in the
output from ident(1).
2006-07-28 11:09:21 +00:00
Yaroslav Tykhiy
cd5297916c Do not forget about INET6 and MK_INET6_SUPPORT. 2006-07-28 10:59:27 +00:00
Yaroslav Tykhiy
249265386a The lukemftpd code depends on INET6. Therefore MK_INET6_SUPPORT
should be respected.
2006-07-28 10:50:11 +00:00
Yaroslav Tykhiy
9da33b3565 Populate the MK_INET6 block. 2006-07-28 10:16:24 +00:00