Bruce Evans [Fri, 6 Dec 1996 12:47:05 +0000 (12:47 +0000)]
Fixed a null pointer panic in ADDENTRY(). Unloading the lkm and joy
modules sort of works now. Their devswitch entries aren't cleaned
up, so accessing them after they have been unloaded causes a panic
in spec_open().
I asked Bill Paul why _getnetbynis() was only being called with 2 parameters,
and he said:
The 3rd agrument is new; looks like it was part of the upgrade to
a new BIND with some IPv6 support. The third argument here should be
AF_INET. In order for it to be anything else, I'd have to add new
NIS functions to support IPv6 lookups. I don't even know what those
look like yet.
So there ya go, add AF_INET as the 3rd argument to the call.
Remove more instances of passing arrays by address when they should
have simply been passed as arrays. In some cases, casts had even
been added to remove the warnings generated by such misuse! Aieee!
gethostname() returns int, not long. Answered my own question by
RTFM'ing. Either both the header files and the man pages are wrong
or this code is, and I'll take the majority decision. :-)
Bruce Evans [Thu, 5 Dec 1996 12:43:30 +0000 (12:43 +0000)]
Fixed handling of modem status changes. Only the most common case of
connect/hangup in !CLOCAL mode was handled correctly. mgetty and ppp
didn't work because they turn on CLOCAL and poll for carrier (or RI?).
Bruce Evans [Wed, 4 Dec 1996 13:42:09 +0000 (13:42 +0000)]
Fixed an off by 1 error in unix2dostime(). The first day of each month
was converted to the last day of the previous month. This bug was
introduced in the optimizations in rev.1.4.
Bump maximum username length to 16 characters. This brings us into
line with BSD/OS and Linux's username limits, making transitioning from
either operating system a lot easier than it is now. I'm currently
running with this change on my system, as are several others, and have
experienced no ill effects.
This is not for 2.2! This needs to get shaken out longer term in 3.0.
Added Pedro Giffuni to the contributor's section for his two ports:
CIM Simula Compiler using C
Isearch A text search Engine from CNIDR (to be commited later)
Nate Williams [Tue, 3 Dec 1996 21:56:15 +0000 (21:56 +0000)]
Added support for '-T' and '-B' (text and binary) file recognition by
peeking inside of Chris Torek's stdio library internals. This is
similar to the code used for other systems, but didn't work on CT's new
implementation.
Nate Williams [Tue, 3 Dec 1996 21:38:52 +0000 (21:38 +0000)]
Added my 'ddial' patches to user-PPP. The new mode tries it's darndest
to keep the link up, so it re-dials whenever it detects the link go
down. This is useful for 'dedicated' links who use PPP.
It's been used for over a year w/out problems at different sites.
Bill Paul [Tue, 3 Dec 1996 17:55:49 +0000 (17:55 +0000)]
Add support for detecting and hopefully using the passwd.adjunct.byname
NIS map which is present on SunOS NIS servers with the SunOS C2 security
hack^Woption installed. I'm convinced that the C2 security option restricts
access to the passwd.adjunct.byname map in the same way that I restrict
access to the master.passwd.{byname,buid} maps (checking for reserved ports),
which means that we should be able to handle passwd.adjunct.byname map
correctly.
If _havemaster() doesn't find a master.passwd.byname map, it will now
test for a passwd.adjunct.byname map before defaulting back to the
standard non-shadowed passwd.{byname,byuid} maps. If _pw_breakout_yp()
sees that the adjunct map was found and the password from the standard
maps starts with ##, it will try to grab the correct password field
from the adjunct map. As with the master.passwd maps, this only happens
if the caller is root, so the shadowing feature is preserved; non-root
users just get back ##username as the encrypted password.
Note that all we do is grab the second field from the passwd.adjunct.byname
entry, which is designated to be the real encrypted password. There are
other auditing fields in the entry but they aren't of much use to us.
Also switched back to using yp_order() to probe for the maps (instead
of yp_first()). The original problem with yp_order() was that it barfed
with NIS+ servers in YP compat mode since they don't support the
YPPROC_ORDER procedure. This condition is handled a bit more gracefully
in yplib now: we can detect the error and just punt on the probing.
Justin T. Gibbs [Tue, 3 Dec 1996 17:04:51 +0000 (17:04 +0000)]
Re-enable reselections as the first thing after we see a bus free. We seem
to miss reselections from some devices and since the reselection response
timeout is only 200ns, enabling reselections too late may be the cause of our
problem.
function ed_attach_NE2000_pci() in if_ed.c passes
an uninitialized block of memory (got with malloc())
to ed_attach. This prevents a proper initialization
of the device descriptor and in my case causes a panic
during the probe, while printing out device info.
Reviewed by: phk
Submitted by: Luigi Rizzo <luigi@iet.unipi.it>
Bill Paul [Tue, 3 Dec 1996 02:37:39 +0000 (02:37 +0000)]
Back out the non-forking YPPROC_ALL stuff. Whatever drugs I was doing
when I came up with this idea weren't strong enough to help me see it
through. If this was a self-contained application and I had complete
control over what data got sent through what socket and when, I might
be able to get everything to work right without blocking, but instead
I have RPC/XDR in between me and the socket layer, and they have their
own ideas about what to do.
Maybe one day I'll go totally mad and figure out the right way to do
this; in the meantime this mess goes on the back burner.
Julian Elischer [Mon, 2 Dec 1996 21:07:33 +0000 (21:07 +0000)]
2 small changes:
1/ increase the tun MTU from 1500 to 1600 to allow it to be used with
packets formatted according to RFC1490 and RFC1717
2/ allow the tsleep() when reading, to be interruptable by signals
so that one can now do:
od -xc </dev/tun0
to dump packets for debugging without getting hung.
Guido van Rooij [Mon, 2 Dec 1996 18:44:31 +0000 (18:44 +0000)]
Some imporvemnets to the vx driver.
1. 'connector_table' is shortened to 'conn_tab'.
2. More reliable connector change code.
3. Display message like "vx0: selected bnc. (link1)"
when the connector changed by link[012].
4. Handle MII properly.
5. Potentially slightly better performance.
6. Fixed a silly typo.
Guido van Rooij [Mon, 2 Dec 1996 18:38:37 +0000 (18:38 +0000)]
Some imporvemnets to the vx driver.
1. 'connector_table' is shortened to 'conn_tab'.
2. More reliable connector change code.
3. Display message like "vx0: selected bnc. (link1)"
when the connector changed by link[012].
4. Handle MII properly.
5. Potentially slightly better performance.
6. Fixed a silly typo.
I have added a '-n' flag to the watch(8) command. This option
disables the ability to interactively select a new tty. I have also
removed a check for uid == 0 because it gets in the way of using suid
mode based access control. Watch (8)is only runnable by root, so this
does not really change things much.
Søren Schmidt [Sun, 1 Dec 1996 19:05:50 +0000 (19:05 +0000)]
Alot of fixes from kazu:
1. All the suggestions earlier made by Bruce: renaming some symbols,
stricter error checking, removing redundant code, etc.
2. The `psm' driver preserves the default counter resolution and
report rate, whatever they are after reset. (Based on reports and
suggestion from Nate and Rob Bolin).
3. The `psm' driver now does not check the so-called sync. bit in the
first byte of the data packet by default, so that the tapping feature
of ALPUS GlidePoint works (based on reports from Louis Mamakos). I
tested the code with ALPUS Desktop GlidePoint (M/N GP101) and found
no problem; tapping worked. It appears ALPUS produces several models
of GlidePoint. I hope the other models are OK too.
The check code can still be activated by defining the PSM_CHECKSYNC
option in the config file. (The bit checking slightly reduces, if not
completely eliminates, weird mouse behavior cased by unsynchronized
mouse data packets. It also helps us to detect if the mouse interrupt
can ever be lost. But, well, if there are devices which cannot be
supported this way...)
4. The `psm' driver does not include the protocol emulation code by
default. The code can still be compiled in if the PSM_EMULATION option
is specified in the config file. Louis Mamakos suggests the emulation
code is putting too much in the kernel, and `moused' works well.
I will think about this later and decide if the entire emulation
code should be removed.
5. And, of course, the fix in `scprobe()' from Bruce to cure the
UserConfig problem. My code in `kbdio.c' is slightly different from
his patch, but has the same effect. There still is a possibility that
`scprobe()' gets confused, if, for whatever reasons, the user holds
down a key for very long time during the boot process. But we cannot
cope with everything, can we?
Bruce Evans [Sun, 1 Dec 1996 16:05:44 +0000 (16:05 +0000)]
Don't allow empty pathnames. POSIX standard.
Most of the standard utilities that depended on (or were broken in
a different way by) the old behaviour of interpreting "" as "."
were fixed a year or two ago. There is still a fairly harmless
bug in tar and a harmless bug in gzip. Tar apparently replaces
"/" by "" when it strips leading slashes.
John Dyson [Sun, 1 Dec 1996 15:46:40 +0000 (15:46 +0000)]
Fix a problem with the new buffer_map management code. Additionally,
decrease the size of buffer_map to approx 2/3 of what it used to be
(buffer_map can be smaller now.) The original commit of these changes
increased the size of buffer_map to the point where the system would
not boot on large systems -- now large systems with large caches will
have even less problems than before.