dragonfly.git
19 years agoAdd nv(4) man page.
Joerg Sonnenberger [Tue, 5 Apr 2005 17:39:22 +0000 (17:39 +0000)]
Add nv(4) man page.

19 years agoDon't reset getopt after each loop, we don't use the argc / argv
Joerg Sonnenberger [Tue, 5 Apr 2005 09:04:49 +0000 (09:04 +0000)]
Don't reset getopt after each loop, we don't use the argc / argv
and all options have options. This should in fact use either
getopt_long_only or a direct matching, getopt(3) is abusive.
The adjustion of argc / argv is there to match common
behaviour, it gets optimizes away by the compiler.

19 years agoRevamp getopt(3) usage:
Joerg Sonnenberger [Tue, 5 Apr 2005 08:19:35 +0000 (08:19 +0000)]
Revamp getopt(3) usage:
- don't depend on optind=0, it's absolutely not necessary
- set optreset to restart getopt(3)

19 years agoSince optind=0 has a special meaning for GNU getopt compatibility,
Joerg Sonnenberger [Tue, 5 Apr 2005 07:55:02 +0000 (07:55 +0000)]
Since optind=0 has a special meaning for GNU getopt compatibility,
always use optind=1 and increment argc / decrement argv beforehand.

19 years agoApply same bug fix as last commit to IPV6.
Matthew Dillon [Tue, 5 Apr 2005 07:08:52 +0000 (07:08 +0000)]
Apply same bug fix as last commit to IPV6.

Reported-by: Jeffrey Hsu
19 years agoFix a bug in the distributed PCB wildcardhash code for TCP. For the SMP
Matthew Dillon [Tue, 5 Apr 2005 05:43:05 +0000 (05:43 +0000)]
Fix a bug in the distributed PCB wildcardhash code for TCP.   For the SMP
case both the INP_WILDCARD and INP_WILDCARD_MP flags must be set.  The
insertion code was calling in_pcbinswildcardhash_oncpu() instead of
in_pcbinswildcardhash() for the current-cpu case, which leaves the
INP_WILDCARD flag unset.  The wildcard deletion code calls various
oncpu routines which remove the wildcard from the other cpu's hash
tables, then finally calls in_pcbdetach()->in_pcbremlist() on the
originating cpu but this fails to delete the inp because INP_WILDCARD
was not set.

This bug caused the TCP stack to get seriously confused because wildcard
entries with stale inp pointers wind up being left in the hash table.
The bug causes a mix of ignored connection requests (not even an RST),
refused connection requests, successful connection requests, and crashes.

Reported-by: Peter Avalos <pavalos@theshell.com>
19 years agoA program which dumps the wildcard hash table for the TCP protocol for
Matthew Dillon [Tue, 5 Apr 2005 02:49:15 +0000 (02:49 +0000)]
A program which dumps the wildcard hash table for the TCP protocol for
all CPUs.

19 years agoAdd the 'webstress' utility. This program will fork a number of child
Matthew Dillon [Tue, 5 Apr 2005 00:13:20 +0000 (00:13 +0000)]
Add the 'webstress' utility.  This program will fork a number of child
processes and take a series of URLs on the command line or from a file.
Each child will then run through the list continuously.  Various options
may be specified to tune the test.

19 years agoSync nv(4) with nvnet-src-20050312.
Joerg Sonnenberger [Mon, 4 Apr 2005 18:45:07 +0000 (18:45 +0000)]
Sync nv(4) with nvnet-src-20050312.

19 years agoReplace TIMER_USE_1 kernel option with hw.i8254.walltimer tunable.
Joerg Sonnenberger [Mon, 4 Apr 2005 17:49:09 +0000 (17:49 +0000)]
Replace TIMER_USE_1 kernel option with hw.i8254.walltimer tunable.

19 years agoWARNS?=6 cleanup for fstat.
Matthew Dillon [Mon, 4 Apr 2005 17:42:51 +0000 (17:42 +0000)]
WARNS?=6 cleanup for fstat.

Submitted-by: Jonas Trollvik <jontro@gmail.com>
19 years agoWhen ALTQ was detached from an interface queue, the function pointers
Joerg Sonnenberger [Mon, 4 Apr 2005 17:08:16 +0000 (17:08 +0000)]
When ALTQ was detached from an interface queue, the function pointers
for enqueue, dequeue and request ops where reset to NULL. That was fine
in the old days when ifq_* checked wether ALTQ is enabled and fell back
to the classic implementation, but now it just deferences a NULL pointer.
Introduce a new function ifq_set_classic, which resets the pointers to
the same values if_attach initially uses and which implements the
classic BSD queueing. Use this in altq_detach and if_attach.

Reported-by: Stefan Krüger <skrueger@meinberlikomm.de>
19 years agoAdd a macro to print the list of current processes independ of wait state.
Joerg Sonnenberger [Mon, 4 Apr 2005 14:19:10 +0000 (14:19 +0000)]
Add a macro to print the list of current processes independ of wait state.

19 years ago- WARNS -> WARNS?
Liam J. Foy [Mon, 4 Apr 2005 10:41:11 +0000 (10:41 +0000)]
- WARNS -> WARNS?

Noticed by: Sarunas Vancevicius <svan@redbrick.dcu.ie>

19 years agoKKASERT -> KKASSERT
Sascha Wildner [Sun, 3 Apr 2005 19:50:39 +0000 (19:50 +0000)]
KKASERT -> KKASSERT

19 years agoRemove newline so that it looks nice in Postscript, too.
Sascha Wildner [Sun, 3 Apr 2005 19:31:33 +0000 (19:31 +0000)]
Remove newline so that it looks nice in Postscript, too.

19 years agoWARNS=6
Joerg Sonnenberger [Sun, 3 Apr 2005 18:59:24 +0000 (18:59 +0000)]
WARNS=6

19 years agoRemove pre-FreeBSD 3 compat conditionals.
Joerg Sonnenberger [Sun, 3 Apr 2005 18:53:09 +0000 (18:53 +0000)]
Remove pre-FreeBSD 3 compat conditionals.

19 years agoconst changes.
Joerg Sonnenberger [Sun, 3 Apr 2005 17:13:08 +0000 (17:13 +0000)]
const changes.

19 years agoWARNS=6.
Joerg Sonnenberger [Sun, 3 Apr 2005 15:52:40 +0000 (15:52 +0000)]
WARNS=6.

19 years agoWARNS=6.
Joerg Sonnenberger [Sun, 3 Apr 2005 15:46:43 +0000 (15:46 +0000)]
WARNS=6.

19 years agoA cache invalidation race that generates a warning was not properly
Matthew Dillon [Sun, 3 Apr 2005 01:59:10 +0000 (01:59 +0000)]
A cache invalidation race that generates a warning was not properly
undoing the namecache state in the loop, leading to a crash.

Reported-by: =?ISO-8859-2?Q?Toma=BE_Bor=B9tnar?= <tomaz.borstnar@over.net>
19 years agoBring in some work from FreeBSD:
Matthew Dillon [Sat, 2 Apr 2005 22:25:32 +0000 (22:25 +0000)]
Bring in some work from FreeBSD:

sbin/dump/dump.h      1.7.6.5
sbin/dump/itime.c     1.3.2.2

    do not dump core in -W if dumpdates was not readable and
    ddatev == NULL; remove unused ddates_in.

sbin/dump/traverse.c  1.10.2.7, 1.10.2.8

    Files in subdirectories of directories that have the
    nodump flag set are sometimes incorrectly being dumped.

    Correct a problem with propagation of the nodump flag
    on directories that are larger than one block in size.

Submitted-by: Sepherosa Ziehau <sepherosa@softhome.net>
Taken-from: FreeBSD

19 years agoWARNS=6 cleanup.
Matthew Dillon [Sat, 2 Apr 2005 22:15:20 +0000 (22:15 +0000)]
WARNS=6 cleanup.

Submitted-by: Sepherosa Ziehau <sepherosa@softhome.net>
With-some-modification-by: Matt Dillon
19 years agoWARNS=6 cleanup.
Matthew Dillon [Sat, 2 Apr 2005 22:00:18 +0000 (22:00 +0000)]
WARNS=6 cleanup.

Submitted-by: Peter Schuller <peter.schuller@infidyne.com>
19 years agoWARNS cleanup of array initializer.
Matthew Dillon [Sat, 2 Apr 2005 21:54:33 +0000 (21:54 +0000)]
WARNS cleanup of array initializer.

19 years agoGeneral WARNS cleanups: staticize functions. Adjust strdup()
Matthew Dillon [Sat, 2 Apr 2005 21:46:16 +0000 (21:46 +0000)]
General WARNS cleanups: staticize functions.  Adjust strdup()
calls to check for allocation failures.

Submitted-by: Peter Schuller <peter.schuller@infidyne.com>
19 years agoWARNS=6 cleanup.
Matthew Dillon [Sat, 2 Apr 2005 21:43:15 +0000 (21:43 +0000)]
WARNS=6 cleanup.

Submitted-by: Peter Schuller <peter.schuller@infidyne.com>
19 years agoWARNS=6.
Joerg Sonnenberger [Sat, 2 Apr 2005 20:49:56 +0000 (20:49 +0000)]
WARNS=6.

19 years agoSplit pcm into the generic framework (pcm) and the sound cards (snd).
Joerg Sonnenberger [Sat, 2 Apr 2005 20:00:40 +0000 (20:00 +0000)]
Split pcm into the generic framework (pcm) and the sound cards (snd).
Add support for choosing single devices by the same name as the corresponding
module.

E.g. device snd_ich gives the AC97 support, device "snd_sb8" gives the
SoundBlaster 8 support.

19 years agoRemove VoxWare related entries, don't list drivers support by NEWPCM.
Joerg Sonnenberger [Sat, 2 Apr 2005 19:54:29 +0000 (19:54 +0000)]
Remove VoxWare related entries, don't list drivers support by NEWPCM.
Just call the section "Sound drivers". Give the example for PNP first,
it is much more common know.

19 years agoRemove reminders of VoxWare.
Joerg Sonnenberger [Sat, 2 Apr 2005 19:52:18 +0000 (19:52 +0000)]
Remove reminders of VoxWare.

19 years agoThe vnode recycler was not handling a hardlinking case that is capable
Matthew Dillon [Sat, 2 Apr 2005 19:42:17 +0000 (19:42 +0000)]
The vnode recycler was not handling a hardlinking case that is capable
of tying up a large number of vnodes and namecache records in the directory
topology.   Extracting a large CVS repository, where the 'CVS/Root'
file is massively hardlinked, can result in the vnode recycler failing.

Reported-by: Mike Moore <sansapparel@gmail.com>
19 years ago- Clearly state that errno is set
Liam J. Foy [Sat, 2 Apr 2005 16:22:41 +0000 (16:22 +0000)]
- Clearly state that errno is set

Ok: joerg@, hsu@

19 years ago- Cosmetic
Liam J. Foy [Sat, 2 Apr 2005 16:04:41 +0000 (16:04 +0000)]
- Cosmetic

19 years agoMove the processing of flags out of the loop. The exception is M_WAITOK,
Joerg Sonnenberger [Sat, 2 Apr 2005 15:58:16 +0000 (15:58 +0000)]
Move the processing of flags out of the loop. The exception is M_WAITOK,
which decides wether VM_ALLOC_NORMAL is used or not. This gets cleared
or set each time.

19 years agoMove the processing of malloc flags out of the loop. The exception
Joerg Sonnenberger [Sat, 2 Apr 2005 15:53:56 +0000 (15:53 +0000)]
Move the processing of malloc flags out of the loop. The exception
is the M_WAITOK, since the interpretation changing when the current
thread is preempting or not.  This can change with the second run of
the loop, so evaluate it each time.

19 years ago- warn() -> warnx(). The global variable errno will not be set.
Liam J. Foy [Fri, 1 Apr 2005 21:35:10 +0000 (21:35 +0000)]
- warn() -> warnx(). The global variable errno will not be set.

19 years agoMove unused version into Attic. Remove DragonFly_Stable tag afterwards.
YONETANI Tomokazu [Fri, 1 Apr 2005 02:09:24 +0000 (02:09 +0000)]
Move unused version into Attic. Remove DragonFly_Stable tag afterwards.

19 years agoFreeBSD-Date: 2005/03/31 11:12:45
Max Okumoto [Fri, 1 Apr 2005 01:15:20 +0000 (01:15 +0000)]
FreeBSD-Date: 2005/03/31 11:12:45
Author: harti

Move the MAX macro to a util.h so it becomes usable in other modules.

Suggested by:   Max Okumoto <okumoto@ucsd.edu>

19 years agoDate: 2005/03/30 15:18:58
Max Okumoto [Fri, 1 Apr 2005 01:12:55 +0000 (01:12 +0000)]
Date: 2005/03/30 15:18:58
Author: harti

Make the structure for handling the input stack local to the parse
module. The only module accessing it (the current line number) was the
condition module, so pass the current line number as a function argument.
Centralize the pushing of new input sources into one function
ParsePushInput() and rename the function handling the popping from ParseEOF()
to ParsePopInput(). Make the entire thing a little bit clearer, by holding
the current input source in the top element of the stack instead of
using extra variables for this. Use a type-safe intrusive list for the
input stack.

19 years agoFreeBSD-Date: 2005/03/23 16:28:57
Max Okumoto [Fri, 1 Apr 2005 00:48:59 +0000 (00:48 +0000)]
FreeBSD-Date: 2005/03/23 16:28:57
Author: harti

Style: de-lispify by removing extra parantheses in conditional expressions.

19 years agoThe previous patch had conflicts with our version. This one
Max Okumoto [Fri, 1 Apr 2005 00:32:03 +0000 (00:32 +0000)]
The previous patch had conflicts with our version. This one
handles the stuff we had to do by hand.

Style: make indentation 8 characters.

19 years agoFreeBSD-Date: 2005/03/23 16:14:41
Max Okumoto [Thu, 31 Mar 2005 23:47:02 +0000 (23:47 +0000)]
FreeBSD-Date: 2005/03/23 16:14:41
Author: harti

Style: make indentation 8 characters.

19 years agoReduce white space diffs between FreeBSD.
Max Okumoto [Thu, 31 Mar 2005 23:39:04 +0000 (23:39 +0000)]
Reduce white space diffs between FreeBSD.

19 years agoFreeBSD-Date: 2005/03/23 12:56:15
Max Okumoto [Thu, 31 Mar 2005 22:16:35 +0000 (22:16 +0000)]
FreeBSD-Date: 2005/03/23 12:56:15
Author: harti

Make paths an explicite datatype instead of using the generic Lst.
A Path is now a TAILQ of PathElements each of which just points to
a reference counted directory. Rename all functions dealing with Paths
from the Dir_ prefix to a Path_ prefix.

19 years agoFreeBSD-Date: 2005/03/22 12:59:02
Max Okumoto [Thu, 31 Mar 2005 22:10:02 +0000 (22:10 +0000)]
FreeBSD-Date: 2005/03/22 12:59:02
Author: harti

Style: <space><tab> -> <tab>

19 years agoFreeBSD-Date: 2005/03/22 12:54:46
Max Okumoto [Thu, 31 Mar 2005 22:07:21 +0000 (22:07 +0000)]
FreeBSD-Date: 2005/03/22 12:54:46
Author: harti

Rename struct Path to struct Dir and move it into the C-file. It
is not used outside.

19 years agoFreeBSD-Date: 2005/03/22 12:40:24
Max Okumoto [Thu, 31 Mar 2005 21:48:32 +0000 (21:48 +0000)]
FreeBSD-Date: 2005/03/22 12:40:24
FreeBSD-Date: 2005/03/22 12:52:00

Author: harti

Remove Lst_Find() and Lst_FindFrom() now that they aren't needed anymore.

19 years agoFreeBSD-Date: 2005/03/21 11:44:57
Max Okumoto [Thu, 31 Mar 2005 21:47:19 +0000 (21:47 +0000)]
FreeBSD-Date: 2005/03/21 11:44:57
Author: harti

Replace calls to Lst_Find with either appropriate LST_FOREACH macros
plus predicate inlining or a special purpose function with takes
and returns the correct types.

19 years agoFreeBSD-Date: 2005/03/22 12:38:55
Max Okumoto [Thu, 31 Mar 2005 20:39:44 +0000 (20:39 +0000)]
FreeBSD-Date: 2005/03/22 12:38:55
Author: harti

Remove the last two instances of Lst_Find() calls.

19 years agoMove the setting of sopt->sopt_dir down into the lower level sogetopt()
Matthew Dillon [Thu, 31 Mar 2005 19:28:57 +0000 (19:28 +0000)]
Move the setting of sopt->sopt_dir down into the lower level sogetopt()
and sosetopt() procedures.  NFS was calling the low level procedures without
setting sopt_dir which prevented TCP_NODELAY from being set for NFS TCP
mounts, resulting in poor performance.

19 years agofix bug that creeped in in last commit
Simon Schubert [Thu, 31 Mar 2005 16:11:13 +0000 (16:11 +0000)]
fix bug that creeped in in last commit

Noticed-by: Andrew Atrens <atrens at nortelnetworks.com>
19 years agoBack out part of last commit, optind has to be initialised to 1.
Joerg Sonnenberger [Thu, 31 Mar 2005 16:01:15 +0000 (16:01 +0000)]
Back out part of last commit, optind has to be initialised to 1.

19 years agoMake it O(strlen(s) + strlen(charset)) like strcspn.
Joerg Sonnenberger [Thu, 31 Mar 2005 13:17:22 +0000 (13:17 +0000)]
Make it O(strlen(s) + strlen(charset)) like strcspn.

Submitted-by: Andreas Hauser <andy-dragonfly@splashground.de>
19 years agoFix non-BPF declaration of bpf_ptap, it was out-of-sync with the header.
Joerg Sonnenberger [Thu, 31 Mar 2005 12:31:31 +0000 (12:31 +0000)]
Fix non-BPF declaration of bpf_ptap, it was out-of-sync with the header.

Reported-by: tcslv@cox.net
19 years agoA kludge to always give the driver a second chance to attach the cbb device.
Jeffrey Hsu [Thu, 31 Mar 2005 05:43:34 +0000 (05:43 +0000)]
A kludge to always give the driver a second chance to attach the cbb device.

Similar to the following part of FreeBSD rev 1.66 by imp:
  o Remove bogus checks when reallocating memory for the registers.  They
    weren't needed and turned out to be completely bogus.

  This lets me load/unload pccard with a pccard in a slot and have the
  child correctly detach/attach.  This should help people that have wi
  in their kernel, but that kldload cbb and pccard, for example.

19 years agoFix typo.
Sascha Wildner [Wed, 30 Mar 2005 04:29:32 +0000 (04:29 +0000)]
Fix typo.

19 years agoDeclare prototypes for all functions.
Joerg Sonnenberger [Wed, 30 Mar 2005 00:56:02 +0000 (00:56 +0000)]
Declare prototypes for all functions.

19 years agoconst correctness
Joerg Sonnenberger [Wed, 30 Mar 2005 00:53:59 +0000 (00:53 +0000)]
const correctness

19 years agoAvoid discarding constness.
Joerg Sonnenberger [Wed, 30 Mar 2005 00:53:14 +0000 (00:53 +0000)]
Avoid discarding constness.

19 years agoRemove extern for functions, line up function names, remove option names.
Joerg Sonnenberger [Wed, 30 Mar 2005 00:49:06 +0000 (00:49 +0000)]
Remove extern for functions, line up function names, remove option names.
Move _GLOBAL_OFFSET_TABLE define up to the other global variables.

19 years agoRemove tcb_size and flag argument for _rtld_allocate_tls,
Joerg Sonnenberger [Tue, 29 Mar 2005 23:04:36 +0000 (23:04 +0000)]
Remove tcb_size and flag argument for _rtld_allocate_tls,
remove tcb_size argument for _rtld_free_tls. The size is defined
by the architecture's struct tls_tcb layout and the behaviour
of RTLD_ALLOC_TLS_FREE_OLD is the only possible reaction for
old_tcb != NULL which doesn't leak memory.

19 years agoFixed a bug that broke building docs on FreeBSD. The mistake was
Max Okumoto [Tue, 29 Mar 2005 22:19:25 +0000 (22:19 +0000)]
Fixed a bug that broke building docs on FreeBSD.  The mistake was
that ParseModifier() consumes characters so it can not be moved
below the following tests.

19 years agoFix warnings, use ISO prototype.
Joerg Sonnenberger [Tue, 29 Mar 2005 20:05:02 +0000 (20:05 +0000)]
Fix warnings, use ISO prototype.

19 years agoGNU getopt resets itself partially when the application sets optind to 0.
Joerg Sonnenberger [Tue, 29 Mar 2005 20:03:06 +0000 (20:03 +0000)]
GNU getopt resets itself partially when the application sets optind to 0.
A good example in our tree is CVS. Copy this behaviour and put optind into
BSS.

19 years agoNew strcspn implementation, which is O(strln(str) + strlen(chars))
Joerg Sonnenberger [Tue, 29 Mar 2005 19:36:39 +0000 (19:36 +0000)]
New strcspn implementation, which is O(strln(str) + strlen(chars))
and not O(strlen(str) * strlen(chars)) as before.

Submitted-by: Andreas Hauser <andy-dragonfly@splashground.de>
19 years agoCleanup the TLS implementation:
Joerg Sonnenberger [Tue, 29 Mar 2005 19:26:20 +0000 (19:26 +0000)]
Cleanup the TLS implementation:
- Define the TCB layout in machine/tls.h, define wether tcb_self exists or
  not.
- Define the layout of the DTV, not used yet.
- Define the TLS variant
- Define common access functions (tls_get_tcb, tls_get_curthread, tls_set_tcb)
  and the RTLD functions.

19 years agoMerge from vendor branch HEIMDAL:
David Rhodus [Tue, 29 Mar 2005 03:51:01 +0000 (03:51 +0000)]
Merge from vendor branch HEIMDAL:
Remove the telnet program from the heimdal source as it contains
security problems.  It was not connected to the build and wasn't
being utilized anyway.

19 years agoRemove the telnet program from the heimdal source as it contains
David Rhodus [Tue, 29 Mar 2005 03:51:01 +0000 (03:51 +0000)]
Remove the telnet program from the heimdal source as it contains
security problems.  It was not connected to the build and wasn't
being utilized anyway.

19 years agoRemove the telnet program from the heimdal source as it contains vendor/HEIMDAL
David Rhodus [Tue, 29 Mar 2005 03:51:01 +0000 (03:51 +0000)]
Remove the telnet program from the heimdal source as it contains
security problems.  It was not connected to the build and wasn't
being utilized anyway.

19 years agoRemove some uses of the SCARG macro.
David Rhodus [Tue, 29 Mar 2005 00:35:55 +0000 (00:35 +0000)]
Remove some uses of the SCARG macro.

19 years agoRemove PC98 keymaps.
Sascha Wildner [Mon, 28 Mar 2005 23:06:47 +0000 (23:06 +0000)]
Remove PC98 keymaps.

19 years agoGive syscons its own malloc_type and remove some unnecessary casts.
Sascha Wildner [Mon, 28 Mar 2005 21:30:23 +0000 (21:30 +0000)]
Give syscons its own malloc_type and remove some unnecessary casts.

Suggested and submitted by: Andreas Hauser <andy@splashground.de>

19 years agoKeep a hint for the last packet in the singly-linked list of packets
Jeffrey Hsu [Mon, 28 Mar 2005 19:53:30 +0000 (19:53 +0000)]
Keep a hint for the last packet in the singly-linked list of packets
in a sockbuf in order to convert the cost of append operations from
O(n) to O(1).

19 years agoSeparate M_NULLOK from M_RNOWAIT.
Joerg Sonnenberger [Mon, 28 Mar 2005 18:49:25 +0000 (18:49 +0000)]
Separate M_NULLOK from M_RNOWAIT.

19 years agoCorrect a pair of buffer overflows in the telnet(1) command:
David Rhodus [Mon, 28 Mar 2005 18:03:32 +0000 (18:03 +0000)]
Correct a pair of buffer overflows in the telnet(1) command:

CAN-2005-0468) A heap buffer overflow in env_opt_add() and related
functions.

(CAN-2005-0469) A global uninitialized data section buffer overflow in
slc_add_reply() and related functions.

As a result of these vulnerabilities, it may be possible for a malicious
telnet server or active network attacker to cause telnet(1) to execute
arbitrary code with the privileges of the user running it.

These fixes are based in part on patches
Submitted by:   Solar Designer <solar@openwall.com>
With calibration with the FreeBSD security officer: Jacques Vidrine <nectar@freebsd.org>

19 years agoMerge from vendor branch HEIMDAL:
David Rhodus [Mon, 28 Mar 2005 18:03:32 +0000 (18:03 +0000)]
Merge from vendor branch HEIMDAL:
Correct a pair of buffer overflows in the telnet(1) command:

CAN-2005-0468) A heap buffer overflow in env_opt_add() and related
functions.

(CAN-2005-0469) A global uninitialized data section buffer overflow in
slc_add_reply() and related functions.

As a result of these vulnerabilities, it may be possible for a malicious
telnet server or active network attacker to cause telnet(1) to execute
arbitrary code with the privileges of the user running it.

These fixes are based in part on patches
Submitted by:   Solar Designer <solar@openwall.com>
With calibration with the FreeBSD security officer: Jacques Vidrine <nectar@freebsd.org>

19 years agoCorrect a pair of buffer overflows in the telnet(1) command:
David Rhodus [Mon, 28 Mar 2005 18:03:33 +0000 (18:03 +0000)]
Correct a pair of buffer overflows in the telnet(1) command:

CAN-2005-0468) A heap buffer overflow in env_opt_add() and related
functions.

(CAN-2005-0469) A global uninitialized data section buffer overflow in
slc_add_reply() and related functions.

As a result of these vulnerabilities, it may be possible for a malicious
telnet server or active network attacker to cause telnet(1) to execute
arbitrary code with the privileges of the user running it.

These fixes are based in part on patches
Submitted by:   Solar Designer <solar@openwall.com>
With calibration with the FreeBSD security officer: Jacques Vidrine <nectar@freebsd.org>

19 years agotest
David Rhodus [Mon, 28 Mar 2005 17:43:50 +0000 (17:43 +0000)]
test

19 years agoRemove the pre-NEWPCM sound drivers and the speaker-based emulations.
Joerg Sonnenberger [Mon, 28 Mar 2005 14:42:45 +0000 (14:42 +0000)]
Remove the pre-NEWPCM sound drivers and the speaker-based emulations.
In detail the devices css, gus, gusxvi, mpu, mss, opl, pas, sb, snd,
speaker, sscape, sscape_mss, trix and uart are no longer supported.

They are ISA-only devices and the more common devices are supported by
NEWPCM too. speaker and pca collide with the timer use of the default
kernel and have been broken for a while now.

19 years agoRemove redundant panic.
Joerg Sonnenberger [Mon, 28 Mar 2005 14:27:37 +0000 (14:27 +0000)]
Remove redundant panic.

19 years agoCleanup and retool portions of the TLS support and make sure that
Matthew Dillon [Mon, 28 Mar 2005 03:33:20 +0000 (03:33 +0000)]
Cleanup and retool portions of the TLS support and make sure that
non-threaded binaries remain compatible with older kernels.

* Removes the tcb alignment argument.  Instead an alignment #define is
  placed in sys/tls.h

* Gets rid of the Variant I code (we can add it in later, it just gets
  in the way).

* Retools the Variant II code to support %gs:OFFSET (negative offset)
  AND %gs:0 relative accesses, supporting both -mtls-direct-seg-refs and
  -mno-tls-direct-seg-refs.

* Changes the Elf_Addr array for the TCB into a real structure in
  sys/tls.h

* Retains the DTV methodology.

* Retains the TCB methodology, but note that the area 'after' the tcb
  is now available for future use (at least with Variant I removed).
  Frankly I'm not sure we would ever want to support having the
  'data' area after the TCB instead of before the TCB, at least not
  for i386.

* Do not try to call sys_set_tls_area() if there is no TLS storage.
  i.e. so non-threaded binaries remain compatible with old kernels.

  The TLS is only initialized if (a) There is thread local storage, aka
  gcc3's __thread keyword, or (b) The program is linked against a threading
  library.  The threading library makes the appropriate calls to set up the
  TLS.

19 years agoDon't hide the library build's ar/ranlib lines, or shared library link
Matthew Dillon [Mon, 28 Mar 2005 03:25:36 +0000 (03:25 +0000)]
Don't hide the library build's ar/ranlib lines, or shared library link
command sequences.

19 years agoAdd another syscall test, and test cvs commits after loginfo/commitinfo/config
Matthew Dillon [Mon, 28 Mar 2005 03:13:26 +0000 (03:13 +0000)]
Add another syscall test, and test cvs commits after loginfo/commitinfo/config
updates.

19 years agotest 2
Matthew Dillon [Mon, 28 Mar 2005 03:09:17 +0000 (03:09 +0000)]
test 2

19 years agologinfo/commitinfo test
Matthew Dillon [Mon, 28 Mar 2005 03:02:54 +0000 (03:02 +0000)]
loginfo/commitinfo test

19 years agoTemporarily back out the last change due to time zone display issues
Matthew Dillon [Mon, 28 Mar 2005 02:40:47 +0000 (02:40 +0000)]
Temporarily back out the last change due to time zone display issues
(e.g. 'PST' not being displayed).  It will be recommitted when the issues
have been fixed.

19 years agoThe old ntpdate displayed the clock error by default. Change rdate to do
Matthew Dillon [Mon, 28 Mar 2005 02:39:57 +0000 (02:39 +0000)]
The old ntpdate displayed the clock error by default.  Change rdate to do
the same thing.

19 years agoDo a better job distributing RPC requests on the NFS server side. This
Matthew Dillon [Sun, 27 Mar 2005 23:51:42 +0000 (23:51 +0000)]
Do a better job distributing RPC requests on the NFS server side.  This
applies to both TCP and UDP mounts.

Previously when multiple requests were received all at once only one would
be immediately distributed to an idle NFSD, causing the requests to be
serialized on the server if no other nfsd's were active at the time and if
no other event occurs to wake up other idle nfsd's.

Now nfsrv_getstream() returns a count of the number of RPCs that were parsed
and multiple NFSDs will be woken up to process them.

Some fine-tuning is still required.  In particular, it is actually less
efficient for the server to wakeup multiple NFSd (at least on a UP machine)
if the requests do not entail I/O.  However, since this only effects client
operations that are issued in parallel (e.g. a make -j build on the client)
I believe the positive aspects outweight the negative ones.

19 years agoFix a bug where the main system clock stops operating. We were using a field
Matthew Dillon [Sun, 27 Mar 2005 19:25:10 +0000 (19:25 +0000)]
Fix a bug where the main system clock stops operating.  We were using a field
in the globaldata structure called gd_nextclock to determine whether a systimer
was queued for a cpu.  This field indicated the next pending timeout for the
systimer on the cpu.  However, at 8254 rates this 32 bit field has a chance of
calculating to 0 once every 1/18 second, which disables the systimer dispatch
on that cpu and can cause the system clocks to stop operating.

Remove the field and replace with a TAILQ_FIRST queue check instead.

The machine dependant part of the systimer implementations needs a better
way to figure out which cpus to dispatch to.

Reported-by: justin@shiningsilence.com
19 years ago- Correct usage of gethostname(3)
Liam J. Foy [Fri, 25 Mar 2005 14:15:23 +0000 (14:15 +0000)]
- Correct usage of gethostname(3)

19 years ago- WARNS 6
Liam J. Foy [Fri, 25 Mar 2005 12:56:48 +0000 (12:56 +0000)]
- WARNS 6

Submitted by: H}kon Schad Bergsaker <hakonsb@student.matnat.uio.no>

19 years ago${CC}'s here were supposed be used as preprocessor, add -E.
YONETANI Tomokazu [Fri, 25 Mar 2005 11:42:36 +0000 (11:42 +0000)]
${CC}'s here were supposed be used as preprocessor, add -E.

Reported-by: Martin P. Hellwig <mhellwig (a) xs4all.nl>
19 years agoSync with the kernel to make ncptrace work again. CINV_PARENT no longer
Matthew Dillon [Thu, 24 Mar 2005 20:15:11 +0000 (20:15 +0000)]
Sync with the kernel to make ncptrace work again.  CINV_PARENT no longer
exists.

19 years agoDisplay additional information about a vnode's object.
Matthew Dillon [Thu, 24 Mar 2005 20:14:42 +0000 (20:14 +0000)]
Display additional information about a vnode's object.

19 years agoFix a server-side TCP NFS mount stream sequencing problem which could result
Matthew Dillon [Thu, 24 Mar 2005 19:58:19 +0000 (19:58 +0000)]
Fix a server-side TCP NFS mount stream sequencing problem which could result
in portions of the TCP stream being parsed out of order, corrupting it and
causing the NFS server to drop the connection.

The TCP protocol stack upcalls into nfsrv_rcv().  The various nfsd threads
also call nfsrv_rcv().  A short blocking condition in the parsing code plus
the blocking lock on the sockbuf (when called via an nfsd) could result in
data from the socket being incorporated into the nfs socket's mbuf chain
out of order.

Reported-by: Andreas Hauser <andy@splashground.de>
19 years agoLicense typo.
Joerg Sonnenberger [Thu, 24 Mar 2005 17:24:04 +0000 (17:24 +0000)]
License typo.

19 years agoAdjust man page sections.
Sascha Wildner [Thu, 24 Mar 2005 12:48:04 +0000 (12:48 +0000)]
Adjust man page sections.

19 years agotcb is now managed by rtld, caching it is not correct,
David Xu [Thu, 24 Mar 2005 12:38:39 +0000 (12:38 +0000)]
tcb is now managed by rtld, caching it is not correct,
otherwise we may get stale copy of tls data from previous
dead thread, caching should be done in rtld if needed.