green [Sat, 25 Nov 2000 02:00:35 +0000 (02:00 +0000)]
In env_destroy(), it is a bad idea to env_swap(self, 0) to switch
back to the original environ unconditionally. The setting of the
variable to save the previous environ is conditional; it happens when
ENV.e_committed is set. Therefore, don't try to swap the env back
unless the previous env has been initialized.
sheldonh [Fri, 24 Nov 2000 11:13:15 +0000 (11:13 +0000)]
(forced commit)
More detail describing why chmod is installed into ${INSTALLTMP} since
rev 1.176:
We use Perl's MakeMaker-generated makefiles to install Perl. Since we
can't hack up MakeMaker's MM_Unix.pm to suit our build, we need chmod
to be around until we use our own makefiles to install perl.
* Some dummynet code incorrectly handled a malloc()-allocated pseudo-mbuf
header structure, called "pkt," and could consequently pollute the mbuf
free list if it was ever passed to m_freem(). The fix involved passing not
pkt, but essentially pkt->m_next (which is a real mbuf) to the mbuf
utility routines.
* Also, for dummynet, in bdg_forward(), made the code copy the ethernet header
back into the mbuf (prepended) because the dummynet code that follows expects
it to be there but it is, unfortunately for dummynet, passed to bdg_forward
as a seperate argument.
PRs: kern/19551 ; misc/21534 ; kern/23010
Submitted by: Thomas Moestl <tmoestl@gmx.net>
Reviewed by: bmilekic
Approved by: luigi
ru [Thu, 23 Nov 2000 08:51:33 +0000 (08:51 +0000)]
Starting from groff(1) version 1.12, -msafer is now the default,
but index building for 13.viref requires the use of .sy request.
Repair the index building by running groff(1) in unsafe -U mode.
marcel [Thu, 23 Nov 2000 03:21:58 +0000 (03:21 +0000)]
Don't unregister the ioctl handlers before we verified we
can unload. Doing so leaves the linuxulator in a crippled
state (no ioctl support) when Linux binaries are run at
unload time.
While here, consistently spell ELF in capitals and perform
some minor style improvements.
wpaul [Thu, 23 Nov 2000 00:28:43 +0000 (00:28 +0000)]
Update the probe some more to deal with 16/32 bit issues. If the chip
is already in 32-bit mode, we need to be able to detect this and still
read the chip ID code. Detecting 32-bit mode is actually a little
tricky, since we want to avoid turning it on accidentally. The easiest
way to do it is to just try and read the PCI subsystem ID from the
bus control registers using 16-bit accesses and compare that with the
value read from PCI config space. If they match, then we know we're in
16-bit mode, otherwise we assume 32-bit mode.
kris [Wed, 22 Nov 2000 11:09:30 +0000 (11:09 +0000)]
Create temporary files in a secure directory, instead of using multiple
filenames based on a single invocation of mktemp() in /tmp, which is
easily predictable after the first one.
obrien [Tue, 21 Nov 2000 23:25:39 +0000 (23:25 +0000)]
Add `password_format=md5' to the default settings. I've had this locally
for a while, but a recent email to -stable suggests it should be spelled
out as the documentation of "password_format" is sparse.
Also add a `des_users' entry.
Submitted by: Sean O'Connell <sean@stat.Duke.EDU>
julian [Tue, 21 Nov 2000 20:48:54 +0000 (20:48 +0000)]
Devices that are running at splimp MUST use ng_queue_data()
instead of ng_send_data().
The latter could lead to running the IP stack at splimp
instead of splnet, (among other problems) (that MAY be safe
but I wouldn't count on it).
Noticed while preparing a new set of netgraph stuff.
imp [Tue, 21 Nov 2000 19:58:55 +0000 (19:58 +0000)]
Fix buffer overflows in filenames. If you had a path > 80 characters
for your /usr/obj/path/to/my/files path to the kernel, then weird
things happened. make buildkernel would fail because config was
dumping core or generating bad file names (depending on the lenght of
the path).
While I was here, also use strlcpy, strlcat and snprintf (or asprintf)
as necessary. Minor format policing for the snprintf calls as well.
markm [Tue, 21 Nov 2000 19:55:21 +0000 (19:55 +0000)]
Add a consistent API to a feature that most modern CPUs have; a fast
counter register in-CPU.
This is to be used as a fast "timer", where linearity is more important
than time, and multiple lines in the linearity caused by multiple CPUs
in an SMP machine is not a problem.
This adds no code whatsoever to the FreeBSD kernel until it is actually
used, and then as a single-instruction inline routine (except for the
80386 and 80486 where it is some more inline code around nanotime(9).
alc [Tue, 21 Nov 2000 19:36:36 +0000 (19:36 +0000)]
Provide a new interface for the user of aio_read() and aio_write() to request
a kevent upon completion of the I/O. Specifically, introduce a new type
of sigevent notification, SIGEV_EVENT. If sigev_notify is SIGEV_EVENT,
then sigev_notify_kqueue names the kqueue that should receive the event
and sigev_value contains the "void *" is copied into the kevent's udata
field.
In contrast to the existing interface, this one: 1) works on
the Alpha 2) avoids the extra copyin() call for the kevent because all
of the information needed is in the sigevent and 3) could be
applied to request a single kevent upon completion of an entire lio_listio().
julian [Tue, 21 Nov 2000 12:22:11 +0000 (12:22 +0000)]
Bump the buffersize from 0x1000 to 0x4000.
0x1000 gets underflows on my dell 7500 whenever I moved the mouse.
(reported as "hwptr went backwards...", with jumpy sound)
Sounds great now....
ben [Tue, 21 Nov 2000 12:03:30 +0000 (12:03 +0000)]
Remove text saying "this is available from the compatibility library,
libcompat" in favour of a .Sh LIBRARY section using the .Lb macro. Also add
.Bf -symbolic around the text saying "this is obsolete" in re_comp.3.
PR: 22675
Submitted by: Mike Meyer <mwm@mired.org>
Reviewed by: sheldonh
msmith [Tue, 21 Nov 2000 06:58:24 +0000 (06:58 +0000)]
Don't test the return value from the actual command when determining
success/failure for submission of the command. The caller will want
to deal with this itself.
dougb [Tue, 21 Nov 2000 05:52:35 +0000 (05:52 +0000)]
If a user is in the database, rmuser ought to be able to remove them.
Address this by using getpwnam(), thus killing several birds with
the same stone. My fix is slightly more aggressive than the
originators. :)
marcel [Tue, 21 Nov 2000 04:37:30 +0000 (04:37 +0000)]
Fix release, broken by the perl cross-build fixes.
The distribute target is basicly the same as an install. For
perl, this means that miniperl is needed. Since miniperl is
only present in the object directory, we need to make sure
the path is set correctly. To do this, we have make release
use a new distribworld target that sets the path before doing
a make distribute.
gallatin [Tue, 21 Nov 2000 03:25:31 +0000 (03:25 +0000)]
fix isa DMA on pyxis based machines:
- move the call to cia_init_sgmap() to after we've determined if we're a pyxis
- convert needed splhigh() in cia_sgmap_invalidate_pyxis() to disable_intr()
Previously, any isa DMA on a pyxis based machine would cause a panic
in cia_sgmap_invalidate_pyxis() because the pyxis workaround was never
setup.
- while i'm at it, convert needed splhigh() in cia_swiz_set_hae_mem to
disable_intr()