Fix a bug in ifa_ifwithnet() which caused a page fault in bcmp()
when attepmting to add certain types of routes. This problem
only manifested itself in the presence of unconfigured point-to-point
interfaces.
Peter Wemm [Wed, 24 Jul 1996 14:04:57 +0000 (14:04 +0000)]
Fix typo in last commit, it seems that a hash comments out a \ at the end
of line.
Also, fix existing bug in ethers.byname, it was passing an unknown option
to yppush. This appears to have been a cut/paste slip intended for a
$(DBLOAD) command above it.
Peter Wemm [Wed, 24 Jul 1996 10:48:07 +0000 (10:48 +0000)]
Add sample rules for amd.host, mostly from the AMD docs, but tweaked to fit
the FreeBSD Makefile.yp structure by me. This allows you to have a single
amd map for all machines in a cluster.
In /etc/sysconfig, it would look something like:
amdflags="-p -a /net -c 1800 -l syslog /host amd.host"
When running 'rrestore foo', you get a segmentation fault because
the obsolete() function to convert dump-style args to getopt-style
args doesn't check to see that 'f' really has an argument following
the option string in argv[1].
Add a new, better mechanism for sticking packets onto ifqueues.
The old system had the misfeature that the only policy it could implement
was tail-drop; the new IF_ENQ_DROP macro/function makes it possible
to implement more sophisticated queueing policies on a system-wide
basis. No code actually uses this yet (although on my machine
I have converted the ethernet and (polled) loopback to use it).
Paul Traina [Mon, 22 Jul 1996 16:35:50 +0000 (16:35 +0000)]
Bring in some fixes from NetBSD and re-hack our syslogd to be option-compatible
with theirs (change the -I option to -s (but leave -I in for backwards compat.)
Also eliminate an make sane some magic numbers, and fix a small bug where we'd
send to an unopened socket.
I have added a new option -p to the mount command. This was
inspired by SunOS version of mount which uses option -p to
indicate that the mount information should be printed in fstab
format.
This is a neat way to create a new fstab file to use later when
one has modified the mount points or mount options or added or
removed mount some mount points. You just type
mount -p > /etc/fstab.new
and there is your new fstab file ready to be used though you
will of course have to add any necessary noauto flags manually.
[Committers note: This also seems to do the wrong thing for AMD
mounts, but in the more average case this is a nifty feature nonetheless
and one can always edit the bogus entries out]
Replace the annoying calls to Debugger() by panic()'s in the
#ifdef DIAGNOSTIC case, and a warning only otherwise.
People who want them to break into the debugger can always set the
breakpoint explicitly. The existing behaviour was a misfeature from
the beginning, in the (wrong) assumption that the SCSI controller must
always be of essential importance to the entire system.
Major cleanup of the timerX_{acquire,release} stuff. In particular,
make it more intelligible, improve the partially bogus locking, and
allow for a ``quick re-acquiration'' from a pending release of timer 0
that happened ``recently'', so it was not processed yet by clkintr().
This latter modification now finally allows to play XBoing over
pcaudio without losing sounds or getting complaints. ;-) (XBoing
opens/writes/closes the sound device all over the day.)
John Polstra [Sat, 20 Jul 1996 02:08:56 +0000 (02:08 +0000)]
Check for, and disallow, duplicate tags in the "cvs import" command.
RCS cannot deal with duplicate tags; the extra one always becomes
inaccessible and useless.
This will prevent the common mistake of specifying the same name
for the vendor tag and the release tag. The FreeBSD CVS repository
already contains zillions of files with this error. We don't need
any more of them.
Mike Pritchard [Fri, 19 Jul 1996 22:19:08 +0000 (22:19 +0000)]
The previous change to alarm.3 to improve the wording
was still somewhat confusing and poorly worded. So I took
the alarm.3 man page from NetBSD, which looked much
better all around.
Stefan Eßer [Fri, 19 Jul 1996 17:18:20 +0000 (17:18 +0000)]
Last night (local time :) I accidently checked in an intermediate version
of this patch, which had not actually been reviewed by Joerg or Paul!
(I'll better stop committing files after midnight ...)
I'm now commiting the latest code, which has been reported to work.
Minor correction to the previous commit message for this file:
The first PCI Lance in a system will get a name of lnc1, the second
will be known as lnc2 and so on. An arbitrary number of cards is
supported in a system ...
Add interrupt register set up with original register value
before attaching. Without this fix, 3c579(EISA) never make
any H/W inturrupt.
Reviewed by: "Justin T. Gibbs" <gibbs@freefall.freebsd.org>, nao@sbl.cl.nec.co.jp and owner-current on mailing list ;-)
Submitted by: amurai@spec.co.jp, nao@sbl.cl.nec.co.jp
Stefan Eßer [Thu, 18 Jul 1996 22:03:47 +0000 (22:03 +0000)]
FINALLY: PCI support for the Lance Ethernet driver.
This code applies to several systems with integrated Ethernet
chip, for example from HP or Compaq. It should also support
PCI Ethernet cards based on the AMD PCI Lance chip.
This code has been reviewed (visually) by Paul Richards and
tested (using an ISA Lance board) by Joerg Wunsch.
Since the parameters to nearly each and every single function
had to be changed (generally from unit number to lnc_soft*),
there is some potential for buglets having crept in ...
BEWARE: If you had lnc0 configured to have the ISA probe find
your PCI Lance, then it should now be found by the PCI probe,
and should be automatically configured as pci1 (!!! note the "1").
Second part of the timezone code import for version 96h. This includes
a number of bug fixes to the compiler (which bugs would previously
have caused undesirable behavior during transition times).
Merge the recently-imported tzcode96h distribution (libc portion). The
part that does zic(8)/zdump(8) is still yet to be imported (but the old
zic and zdump will work just fine with these header files and the
data format has not changed).
Import the 96h release of ADO's timezone code. This release is
primarily bugfixes, but is also contains a disclaimer of copyright.
As we are completely off the vendor branch here, this import has
no effect on the source tree.
Changed zones: Algeria, Egypt, Ghana, Libya, Morocco, Sierra Leone,
South Africa, Sudan, Tunisia, Armenia, Myanmar, China, Taiwan, Hong
Kong, Macao, Cyprus, Georgia, Iran, Israel, Jordan, Kazakhstan,
Kirgizstan, Lebanon, Mongolia, the Phillippines, Syria, Tajikistan,
Turkmenistan, Uzbekistan, Australia, Kiribati, New Caledonia, New
Zealand, Vanuatu, the United Kingdom, Ireland, the Czech Republic,
Finland, France, Greece, Hungary, Iceland, Italy, Luxembourg, the
Netherlands, Norway, Portugal, Romania, Spain, Switzerland, Turkey,
Canada, Mexico, the Bahamas, Barbados, Belize, Costa Rica, Cuba, the
Dominican Republic, El Salvador, Guatemala, Haiti, Nicaragua,
Brazil, the Falkland Islands, Paraguay
Deleted zones: Asia/Tomsk (superseded by Asia/Krasnoyarsk)
Added zones: Asia/Aktau (area formerly part of Asia/Alma-Ata);
Asia/Krasnoyarsk (supersedes Asia/Tomsk); America/Glace_Bay (area
formerly part of America/Halifax); America/Thunder_Bay,
America/Nipigon, America/Rainy_River (areas formerly covered by
America/Montreal); America/Swift_Current (area formerly part of
America/Regina); America/Dawson_Creek (area formerly part of
America/Vancouver); America/Pangnirtung, America/Iqaluit,
America/Rankin_Inlet, America/Yellowknife, America/Inuvik,
America/Dawson (areas formerly part of America/Whitehorse)
Bruce Evans [Wed, 17 Jul 1996 12:18:51 +0000 (12:18 +0000)]
Yet^2 another fix for the line continuation bug.
The fundamental problem with the original code is that it accesses
p[-2] which is one before the beginning of the input buffer for
empty lines. rev.1.6 just moved the problem from failures when
p[-2] happens to be '\\' to failures when it happens to be '\0'.
rev.1.5 was confused about the trailing newline and other things.
I went back to rev.1.5 and fixed it. The result is the same as
Keith Bostic's final version in PR 1356 except it loses more
gracefully for excessively long input lines.
Bruce Evans [Wed, 17 Jul 1996 11:26:05 +0000 (11:26 +0000)]
Fixed adjustment of `time' when timer0 is released. 27465 was 27645 in
a comment and in code that was only used when pcaudio was closed. The
maximum error was 66 usec.
Bruce Evans [Wed, 17 Jul 1996 10:52:38 +0000 (10:52 +0000)]
Fixed new and old standards conformance bugs. The non-POSIX confstr() was
in the POSIX section for a log time. The non-POSIX getgrouplist() and
setgroups() were recently added to the POSIX section although setgroups()
was already in the non-POSIX section.
Various fixes from frank@fwi.uva.nl (Frank van der Linden) via
rick@snowhite.cis.uoguelph.ca:
1. Clear B_NEEDCOMMIT in nfs_write to make sure that dirty data is
correctly send to the server. If a buffer was dirtied when it was in
the B_DELWRI+B_NEEDCOMMIT state, the state of the buffer was left
unchanged and when the buffer was later cleaned, just a commit rpc was
made to the server to complete the previous write. Clearing
B_NEEDCOMMIT ensures that another write is made to the server.
2. If a server returned a server (for whatever reason) returned an
answer to a write RPC that implied that fewer bytes than requested
were written, bad things would happen.
3. The setattr operation passed on the atime in stead of the mtime to
the server. The fix is trivial.
4. XIDs always started at 0, but this caused some servers (older DEC
OSF/1 3.0 so I've been told) who had very long-lasting XID caches to
get confused if, after a reboot of a BSD client, RPCs came in with a
XID that had in the past been used before from that client. Patch is
to use the current time in seconds as a starting point for XIDs. The
patch below is not perfect, because it requires the root fs to be
mounted first. This is because of the check BSD systems do, comparing
FS time to system time.
Reviewed by: Bruce Evans, Terry Lambert.
Obtained from: frank@fwi.uva.nl (Frank van der Linden) via rick@snowhite.cis.uoguelph.ca
Damn - looks like upgrade got broken along the way and it's not something
I usually test, so... :-( Guess we'll have to slide the tag forward on
these two files - Peter, could you do the honors? I've been up for the last
30 hours or so and I just *know* that any attempt on my part to do this would
probably end up deleting the entire repository somehow. :-)
John Dyson [Sat, 13 Jul 1996 22:52:50 +0000 (22:52 +0000)]
A few minor mods (improvements) to support more efficient pipe
operations for large transfers. There are essentially no differences
for small transfers, but big transfers should perform about 20%
better.
Bill Paul [Sat, 13 Jul 1996 20:23:13 +0000 (20:23 +0000)]
In _yp_dobind(), if we find ourselves required to contact the local ypbind
directly in order to obtain binding information, check that the local
ypbind is using a reserved port and return YPERR_YPBIND if it isn't.
We should not trust any ypbind running on a port >= IPPORT_RESERVED;
it may have been started by a malicious user hoping to trick us into
talking to a bogus ypserv.
Note that we do not check the ypserv port returned to us from ypbind.
It is assumed that ypbind has already done a reserved port test (or not,
depending on whether or not it was started with -s); if we trust the
authenticity of the local ypbind, we should also trust its judgement.
David Greenman [Sat, 13 Jul 1996 10:49:53 +0000 (10:49 +0000)]
Enable transmit complete interrupt...
(author's explaination):
Bit 15 is the flag to request a transmit complete interrupt. The
driver was apparently written to minimize interrupts, and if not for a
3-COM design quirk, everything would be just ducky.
Prior to loading the outbound packet into the FIFO, the driver checks
to see if there's enough space to contain the packet. If not, the
driver requests a transmit-available interrupt when there is
sufficient room. Unfortunately, the card is continuing to process the
prior FIFO, and by the time the driver sets the threshold for a
transmit available interrupt, the space is already available. When
this occurs, the 3COM card ignores the interrupt request, and the
driver is hung waiting for an interrupt that will never occur.
There's probably a more elegant solution, but requesting the transmit
complete interrupt was the easiest to implement. An alternative fix
might be to check free FIFO space again, after requesting the transmit
available interrupt, but I haven't bothered pursuing this. Since the
patch, my 3C590 (PCI, same FIFO interface as 3C509) has been rock
solid.