John Dyson [Sun, 22 Jun 1997 03:00:24 +0000 (03:00 +0000)]
Remove a window during running down a file vnode. Also, the OBJ_DEAD
flag wasn't being respected during vref(), et. al. Note that this
isn't the eventual fix for the locking problem. Fine grained SMP
in the VM and VFS code will require (lots) more work.
Brian Somers [Sun, 22 Jun 1997 02:19:53 +0000 (02:19 +0000)]
Fix this damn mbuf with a negative m_len. It turns
out to be a problem with VJ header compression.
davidg spotted this in usr.sbin/ppp/slcompress.c
a while ago, but I believe gave the wrong reasons -
it's too easy to reproduce ! The only scenario that
I've been able to reproduce the problem under is when
m_len is *exactly* 40 ! So go figure !
Alexander Langer [Sat, 21 Jun 1997 16:09:49 +0000 (16:09 +0000)]
Block all write operations to /proc/1/* when securelevel > 0.
The additional check in procfs_ctl.c could be backed out, but
I'm leaving it in for good measure.
Bruce Evans [Sat, 21 Jun 1997 15:45:13 +0000 (15:45 +0000)]
Don't attempt to generate errors for unpromoted types in va_arg(),
since it is impossible to distinguish unpromoted types from small
(struct) types. Renamed __va_promote() to __va_size() since it is
related to sizes of args on the stack and not to promotion.
PR: 3884
Submitted by: mostly by arnej@math.ntnu.no (Arne Henrik Juul)
Obtained from: name of__va_size and some parentheses fixes from NetBSD
Change the way distributions are built such that they can be built
either in the Makefile or by an external script. Move some of the
existing stuff into scripts.
The idea is that we want to select the interface address only if it's
up and it's in the AF_INET family. If it turns uout we don't have
such an interface available, we make a second pass through the loop,
this time settling for the loopback interface. But the logic inadvertently
locks out all cases when loopback == 0, so nothing is ever selected until
the second pass (when loopback == 1).
This is yet another bogon I discovered during NIS+ testing; I need
get_myaddress() to work correctly so that the callback code in the
client library will work.
Garrett Wollman [Thu, 19 Jun 1997 00:25:03 +0000 (00:25 +0000)]
Fix crash when halting where APM was configured but not enabled
by checking whether APM is active in apm_power_off() and returning
if not. (The code was already written with the expectation that
this function would return if it fails.)
Paul Traina [Wed, 18 Jun 1997 16:01:19 +0000 (16:01 +0000)]
Add cron_enable and inetd_enable flags to rc.conf.
WARNING: don't update rc and forget to update rc.conf, or you won't be
able to telnet back into your box after a reboot.
Satoshi Asami [Wed, 18 Jun 1997 03:39:34 +0000 (03:39 +0000)]
Add `B' to list of flags to pass through from C*FLAGS when using mkdep
(bsd.dep.mk) and compiling assembly language sources (bsd.lib.mk).
This doesn't change anything for our current source tree, but if you
want to use the -B switch in C*FLAGS to specify the location of
compiler subprograms, now you can do it.
Satoshi Asami [Wed, 18 Jun 1997 03:20:22 +0000 (03:20 +0000)]
Move the "umask ?= 0022" check (a warning only) from the default
"do-install" target to the beginning of the "install" meta-target, so
that ports that define their own do-install will also run it without
having to duplicate it themselves.
Satoshi Asami [Wed, 18 Jun 1997 03:10:31 +0000 (03:10 +0000)]
Add "-I${DESTDIR}/usr/include" to CFLAGS if DESTDIR is defined, just
like bsd.lib.mk and bsd.prog.mk. It doesn't add it to CXXINCLUDES, I
don't think anybody has written a kernel module with C++. (Not that I
think DavidG will allow it anyway. :)
Brian Somers [Wed, 18 Jun 1997 02:50:40 +0000 (02:50 +0000)]
Protect against garbage mbufs in pppstart.
Remove previous hack in pppfcs().
This is still not the correct solution. We shouldn't
have any incorrect mbufs. This patch does however make
pppd/natd work (rather than jamming the interface).
Garrett Wollman [Wed, 18 Jun 1997 01:24:28 +0000 (01:24 +0000)]
Add for public examination the beginnings of the per-host cache support
which will for the basis of RTF_PRCLONING's more efficient, better-
designed replacement.
Bill Paul [Tue, 17 Jun 1997 18:03:52 +0000 (18:03 +0000)]
Work around a bug (deficiency?) in the libdes Secure RPC compat interface.
The way Secure RPC is set up, the ecb_crypt() routine is expected to
be able to encrypt a buffer of any size up to 8192 bytes. However, the
des_ecb_encrypt() routine in libdes only encrypts 8 bytes (64 bits) at a
time. The rpc_enc.c module should compensate for this by calling
des_ecb_encrypt() repeatedly until it has encrypted the entire supplied
buffer, but it does not do this.
As a workaround, keyserv now handles this itself: if we're using DES
encryption, and the caller requested ECB mode, keyserv will do the right
thing.
Also changed all references to 'rc4' into 'arcfour' just in case some
litigious bastard from RSA is watching.
Note that I discovered and fixed this problem while trying to get
a part of NIS+ working: rpc.nisd signs directory objects with a 16-byte
MD5 digest that is encrypted with ecb_crypt(). Previously, only the
first 8 bytes of the digest were being properly encrypted, which caused
the Sun nis_cachemgr to reject the signatures as invalid. I failed to
notice this before since Secure RPC usually never has to encrypt more
than 8 bytes of data during normal operations.
Kenjiro Cho [Tue, 17 Jun 1997 05:58:15 +0000 (05:58 +0000)]
correct the wrong ATM option name for native atm access
NETNATM --> NATM
reported by Bruce Evans.
Bruce also pointed out that NATM is confusing since config(8) defines
NATM as the number of atm pseudo device in "BUILD_DIR/atm.h".
We might change the name in the future but leave it as it is for now.
John Dyson [Mon, 16 Jun 1997 12:10:21 +0000 (12:10 +0000)]
Ouch!!! This should fix a serious build problem after the addition of the
new preliminary AIO support. Unfortunately, I had a stray copy of aio.h
that made me think that things worked.
Bruce Evans [Mon, 16 Jun 1997 11:20:05 +0000 (11:20 +0000)]
Merge from Lite2.
- use new getvfsbyname() interface.
- new -A option, like -a except only mounted file systems are unmounted.
All non-cosmetic FreeBSD changes in umount.c, except ignoring of
realpath() failures, went away because they are done better in Lite2.
realpath() failures must be ignored so that non-pathnames like
"<above>:/foo" and "host:/bar" get as far as mount(2).
Bill Paul [Sun, 15 Jun 1997 21:03:32 +0000 (21:03 +0000)]
Remember to zero sockaddr_in struct before calling uaddr_to_sockaddr() to
populate it. Not doing this can result in a garbage sockaddr_in, which
will cause connect() to block inside clnttcp_create().
John Dyson [Sun, 15 Jun 1997 17:56:53 +0000 (17:56 +0000)]
Fix a problem with the VN device. Specifically, the VN device can
cause a problem of spiraling death due to buffer resource limitations.
The vfs_bio code in general had little ability to handle buffer resource
management, and now it does. Also, there are a lot more knobs for tuning the
vfs_bio code now. The knobs came free because of the need that there
always be some immediately available buffers (non-delayed or locked) for
use. Note that the buffer cache code is much less likely to get bogged
down with lots of delayed writes, even more so than before.
Steve Passe [Sat, 14 Jun 1997 19:10:53 +0000 (19:10 +0000)]
Added 2 new defines:
- OVERRIDE_TUNER: allows you to manually choose the tuner type for those
cards that fail to probe properly. See source for legal
values.
- OVERRIDE_DBX: allows you to manually choose DBX or NO DBX for those
cards that fail to probe properly.
0 == no DBX circuit present, 1 == DBX circuit present.
Bruce Evans [Sat, 14 Jun 1997 11:19:35 +0000 (11:19 +0000)]
Don't require superuser privileges for creating fifos. The v2 case was
broken when support for v3 was introduced in rev.1.16. The v3 case has
always been broken in FreeBSD.
Bruce Evans [Sat, 14 Jun 1997 10:00:42 +0000 (10:00 +0000)]
Load the kernel config file where userconfig (with option USERCONFIG_BOOT)
will see it. The name of the file is obtained by appending ".config"
to the name of the kernel file. If the file doesn't exist, then an
annoying message is printed.
Reduced the command line buffer size yet again from 4096 to 1024. It is
oversized to defend against overrun in gets(), but data space is starting
to run out so the buffer size can't be as grossly oversized as before.