Warner Losh [Tue, 19 Feb 2002 07:05:22 +0000 (07:05 +0000)]
Put the stard/end adjustments back. They are needed. Also make start
== 0 a special case. I hope this fixes the real problem that phk and
others were seeing.
Mike Silbersack [Tue, 19 Feb 2002 03:15:28 +0000 (03:15 +0000)]
A few misc forkbomb defenses:
- Leave 10 processes for root-only use, the previous
value of 1 was insufficient to run ps ax | more.
- Remove the printing of "proc: table full". When the table
really is full, this would flood the screen/logs, making
the problem tougher to deal with.
- Force any process trying to fork beyond its user's maximum
number of processes to sleep for .5 seconds before returning
failure. This turns 2000 rampaging fork monsters into 2000
harmlessly snoozing fork monsters.
Andrew Gallatin [Tue, 19 Feb 2002 03:13:39 +0000 (03:13 +0000)]
MFi386: merge changes from i386/trap.c rev 1.212
If the credential on an incoming thread is correct, don't bother
reaquiring it. In the same vein, don't bother dropping the thread cred
when going to userland. We are guaranteed to need it when we come back,
(which we are guaranteed to do).
Julian Elischer [Tue, 19 Feb 2002 02:19:36 +0000 (02:19 +0000)]
Add 5 KSE syscalls. Two will be implemented with the next KSE
step and the others are reservations for coming code.
All will be stubbed in this kernel in the next commit.
This will allow people to easily make KSE binaries for userland testing
(the syscalls will be in libc) but they will still need a real KSE kernel
to test it. (libc looks in /sys to decide what it should add stubs for).
Julian Elischer [Tue, 19 Feb 2002 02:12:36 +0000 (02:12 +0000)]
Add the first shot at minimum KSE interface definitions.
This is to allow people to start playing with userland code.
I will also add some stub syscalls in a minute.
Luigi Rizzo [Mon, 18 Feb 2002 22:50:13 +0000 (22:50 +0000)]
When the local link address is changed, send out gratuitous ARPs
to notify other nodes about the address change. Otherwise, they
might try and keep using the old address until their arp table
entry times out and the address is refreshed.
Maybe this ought to be done for INET6 addresses as well but i have
no idea how to do it. It should be pretty straightforward though.
Bruce A. Mah [Mon, 18 Feb 2002 22:27:35 +0000 (22:27 +0000)]
Some release notes should have [MERGED] markers on them but didn't:
kern.msgbuf sysctl and dmesg(8) not SGID, umodem driver, uscanner
driver, fpa(4) works on alpha, arp(8) -s pub/only, TCP_COMPAT_42
removal, bktr(4) update to 2.18, snd module dependencies work,
chown(8) -R does the right thing with symlinks, killall(1) works
correctly with SUID root processes, strnstr(3)/strcasestr(3),
style.perl(7).
Mike Barcroft [Mon, 18 Feb 2002 20:35:27 +0000 (20:35 +0000)]
o Move NTOHL() and associated macros into <sys/param.h>. These are
deprecated in favor of the POSIX-defined lowercase variants.
o Change all occurrences of NTOHL() and associated marcros in the
source tree to use the lowercase function variants.
o Add missing license bits to sparc64's <machine/endian.h>.
Approved by: jake
o Clean up <machine/endian.h> files.
o Remove unused __uint16_swap_uint32() from i386's <machine/endian.h>.
o Remove prototypes for non-existent bswapXX() functions.
o Include <machine/endian.h> in <arpa/inet.h> to define the
POSIX-required ntohl() family of functions.
o Do similar things to expose the ntohl() family in libstand, <netinet/in.h>,
and <sys/param.h>.
o Prepend underscores to the ntohl() family to help deal with
complexities associated with having MD (asm and inline) versions, and
having to prevent exposure of these functions in other headers that
happen to make use of endian-specific defines.
o Create weak aliases to the canonical function name to help deal with
third-party software forgetting to include an appropriate header.
o Remove some now unneeded pollution from <sys/types.h>.
o Add missing <arpa/inet.h> includes in userland.
Tested on: alpha, i386
Reviewed by: bde, jake, tmm
Matthew Dillon [Mon, 18 Feb 2002 19:49:30 +0000 (19:49 +0000)]
Load the current timecounter into tc. The timecounter global can change
at any time and we do not want to call one timercounter's function with
another timecounter's structural pointer.
Søren Schmidt [Mon, 18 Feb 2002 11:52:51 +0000 (11:52 +0000)]
Fix the problem that some (in my book broken) disks reports
to be able to use 48bit addressing mode, but says the 48bit
size of the disk is 0, which according to spec means it can
address zero sectors in 48bit mode, why then say it supports
48bit mode at all..
Add some verbiage to the comments at the top of the PR template:
- point at the FDP article rather than GNU's send-pr documentation
- warn the user that PRs are public information and will be published in
mailing lists and on the web
- suggest that the user contact security-officer@ directly if the report
concerns sensitive security issues.
Ian Dowse [Mon, 18 Feb 2002 02:29:47 +0000 (02:29 +0000)]
Use a more robust scheme for determining how many blocks to skip
after an EOT-terminated volume. We keep track of the current record
number, and synchronise it with the c_tapea field each time we read
a header. Avoid the use of c_firstrec because some bugs in dump can
cause it to be set incorrectly.
Move the initialisation of some variables to avoid compiler warnings.
Peter Wemm [Mon, 18 Feb 2002 02:24:10 +0000 (02:24 +0000)]
ld-elf.so.1 assumed a few too many things about the ordering of sections
produced by ld(8) (ie: that _DYNAMIC immediately follows the _GOT).
The new binutils import changed that, and the intial GOT relocation
broke. Use a custom linker script to provide a real end-of-GOT symbol.
Update ld.so to deal with the new (faster) PLT format that gcc-3.1 and
binutils can produce.
This is probably incomplete, but appears to be working again.
Obtained from: NetBSD
(And a fix to a silly mistake that I made by: gallatin)
Luigi Rizzo [Mon, 18 Feb 2002 01:57:56 +0000 (01:57 +0000)]
Manpage update: comment existing functionalities and give
more detailed examples on how to use them.
Undocument deprecated functionalities which are going to be
removed soon.
Ian Dowse [Mon, 18 Feb 2002 00:54:18 +0000 (00:54 +0000)]
When we reach the end of the dump in findinode(), ask for another
volume if we missed some earlier tapes (the user can still enter
'none' later if the tapes are unavailable). Previously with 'x'
restores, we might not ask for all tapes if the tapes are supplied
in reverse order.
Clarify the message that describes what volume should be mounted
first; reverse order is only efficient when extracting a few files.
Robert Watson [Mon, 18 Feb 2002 00:37:03 +0000 (00:37 +0000)]
Add a 'strvalid()' call to libkern. Given a character pointer, and
buffer length, determine if the pointer is to a valid string. Currently,
the only check is whether a '\0' appears in the buffer. This is useful
when pulling in a structure from userland that may contain one or more
strings, and validity testing must be performed on elements of the
structure. When copying normal string arguments, copyinstr() is
expected to be used.
Robert Watson [Mon, 18 Feb 2002 00:26:10 +0000 (00:26 +0000)]
When vn_open() is failing because it cannot allocate a vm object, call
VOP_CLOSE() on the vnode, so that VOP_OPEN() and VOP_CLOSE() calls
are symmetric in all failure cases. This prevents an 'open' reference
from being leaked in that unlikely failure scenario.
Robert Watson [Mon, 18 Feb 2002 00:22:57 +0000 (00:22 +0000)]
Per discussion at BSDCon, note that the vop_getattr locking protocol
should require a shared lock, rather than an exclusive lock, which can
improve performance. No actual code change here, since a number of
VFS locking fixes are in the works.
Add infrastructure for sendmail 8.12. If users are not starting a daemon
at boot (sendmail_enable=NO), a localhost-only daemon may started
(sendmail_submit_enable) as it is needed to accept mail from command line
submissions. If this isn't desired, see etc/mail/README for more hints.
Optionally (sendmail_msp_queue_enable) start a queue runner for the
submission queue in case a daemon isn't available to accept command line
submitted mail at submission time.
Note that the syslog labels for all of these sendmail processes have been
uniquified for easier log parsing.
Add information about how the new sendmail set-group-ID mail submission
works and ways to work around common problems people might have.
Include information on reverting to a set-user-ID root sendmail binary in
case anyone really needs to do this.
Add new build knob, SENDMAIL_SET_USER_ID, which installs sendmail as a
set-user-ID root binary instead of the new method (set-group-ID smmsp).
Therefore, we shouldn't install /etc/mail/submit.cf if it is set.
Update build infrastructure for sendmail 8.12.
Add new build knob, SENDMAIL_SET_USER_ID, which installs sendmail as a
set-user-ID root binary instead of the new method (set-group-ID smmsp).
Add two new libraries which are part of sendmail 8.12. libsm is used only
for building sendmail and the associated utilities. libmilter is a new
mail filtering API for sendmail.