1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00
Commit Graph

7964 Commits

Author SHA1 Message Date
Andrey A. Chernov
4843859879 Remove setr* hacks 1995-04-27 19:56:37 +00:00
Andrey A. Chernov
b5c3f5e746 Remove setre* hacks, we have working thing now 1995-04-27 19:27:42 +00:00
Andrey A. Chernov
4bc8f31ff3 Implement setreuid/setregid according to SunOS manpage 1995-04-27 19:23:24 +00:00
Poul-Henning Kamp
886b0df400 New and improved version from the author.
Submitted by:	DI. Christian Gusenbauer <cg@fimp01.fim.uni-linz.ac.at>
1995-04-27 18:22:36 +00:00
John Fieber
7203d1e933 Silence -Wall. 1995-04-27 18:18:58 +00:00
Jordan K. Hubbard
d0d3dac501 This will be the module that handles all media detection. 1995-04-27 18:05:10 +00:00
Jordan K. Hubbard
ef42570d65 Latest raft of changes.
Added another couple of menu item types.

Reshuffled the menus and added a few more.  Sure wish I could figure out
how to initialize a menu with _one_ initializer rather than two! :(
1995-04-27 18:03:55 +00:00
John Fieber
bc8b14f125 Added sgmls 1995-04-27 18:03:29 +00:00
Justin T. Gibbs
a52deb6d1e Additions to support the WAITING_SCB list that the sequencer maintains.
It is the kernel driver's responsibility to do the list manipulation whenever
a selection timeout or a request sense occurs.

Print out the interrupt type that the device has been set to.  It seems that
one of the Asus motherboards botches this and David thought a diagnostic would
be nice.

Fix a bug in my diagnostic code that David found.

Reviewed by: Wcarchive and David Greenman
1995-04-27 17:47:17 +00:00
Justin T. Gibbs
c28447da4c Restructure the arbitration loop to allow for reselections that win out over
the adapter's selections.  Many fast periferals were getting upset when
the sequencer decided to rearbitrate after the device had already won
arbitration.  This also forced the creation of a list threaded through
the SCBs (since we don't have enough space anywhere else) of commands that
are awaiting reselection.  This list is run down before any new transactions
from the input queue are allowed.  The list is appened to whenever we begin
a selection (simple case since the selecting device is always at the head)
and by the kernel driver whenever a request sense occurs.  In the common
case, the list is only one element long, but when a reselection wins out
over a selection and that reselection generates a request sense, the
outstanding selection required for the retreval of the sense code grows
the list.  On machines with many targets, this might cause the list to grow
large, so this solution, which will allow up to the maximum number of I/O
requests capible of the card elements in the list, was chosen.  The list
manipulation is trivial and adds three sequencer instructions of overhead
to the selection phase.

This fixes the "target busy" errors from micropolis drives and the bursty
I/O problem when performing I/O between a Quantum Grand Prix and any other
device.  I anticipate that this will correct many of the problems that
have been reported with this driver.

Reviewed by: Wcarchive and David Greenman
1995-04-27 17:44:27 +00:00
Garrett Wollman
003d29986d No sense in copying the hex[] array in each call to MDXEnd(), it's a
constant.  (There probably ought to be a single libc version of it.)
1995-04-27 16:05:51 +00:00
John Fieber
61614fe0ad The sgmls SGML parser. Support for our hypertext documents.
Reviewed by:	Paul Richards, Garrett Wollman
1995-04-27 16:03:47 +00:00
Jordan K. Hubbard
4e278bdb76 Here is my first "framework" commit of the new sysinstall. There is a LOT
more to come in the next 24 hours, this is just the first stable result of
8 hours of hacking so far.  The specification format for menus is pretty
much hammered out and the beginnings (very humble) of the doc hierarchy
are present for an example.  It should be quite easy to add a lot more
menus quickly to this since I did go somewhat out of my way to make the
framework easy to work with.  This is NOT the glorious semi-graphical
sysinstall (or whatever its name will be) that the install-geeks are working
on, this is simply the "son of sysinstall" I've been promising to write in
the interim for 2.0.5 and 2.1R (super install doesn't come until 2.2R).
1995-04-27 12:50:35 +00:00
Jordan K. Hubbard
278ea7ecee Don't bother checking the return status of the mtree command - it returns
non-zero stats when it changes things, too.
1995-04-27 11:33:08 +00:00
Jordan K. Hubbard
639fb258f9 Add libftp to list of beforeinstall targets in the include rule.
Submitted by:	John Hay <jhay@mikom.csir.co.za>
1995-04-27 11:25:48 +00:00
Jordan K. Hubbard
9d69574dbc Close PR:
>Number:         368
>Category:       bin
>Synopsis:       Lpd doesn't log errors after failed exec
>Description:

If an exec done by lpd fails, nothing is sent to the system log
indicating what went wrong.  This is because lpd closes all of
the file descriptors before doing the exec, thus closing the syslog
file descriptor in the process.
[Fix applied]
Submitted by:	pritc003@maroon.tc.umn.edu
1995-04-27 04:56:10 +00:00
Andrey A. Chernov
d3e6b9f393 Fix bug:
When hostname len > 8, name replaced with dot notation when -u flag
not specified (default case).
Use _PATH_* for utmp/wtmp.
1995-04-26 22:33:15 +00:00
Paul Traina
5e052869fc Add queue.h include file to all the TPIP code. 1995-04-26 21:32:42 +00:00
Bill Paul
456ebbf8f5 ypbind.c: Major overhaul.
- Moved to a more client-driven model. We aggressively attempt to keep
the default domain bound (as before) but we give up on non-default
domains if we lose contact with a server and fail to get a response
after one round of broadcasting. This helps drastically reduce the
amount of network bandwitdh that ypbind consumes: if a client references
the secondary domain at some later point, this will prod ypbind into
establishing a new binding anyway, so continuously broadcasting without
need is pointless.

Note that we still actively seek out a binding for our default domain
even if no client program has queried us yet. I'm not exactly sure if
this matches SunOS's behavior or not, but I decided to do it this way
since we can get into all sorts of trouble if our default domain comes
unbound. Even so, we're still much quieter than we used to be.

- Removed a bunch of no-longer pertinent comments and a couple of
chunks of #ifdef 0'ed code that no longer fit in to the new layout.

- Theo deRaadt must have become frustrated with the callback mechanism
in clnt_broadcast(), because he shamelessly stole the clnt_broadcast()
code right out of the RPC library and hacked it up to suit his needs.
(Comments and all! :)

I can understand why: clnt_broadcast() blocks while awaiting replies.
Changing this behavior requires surgery. However, you can work around
this: fork the broadcast into a child process and relay the results
back to the parent via a pipe. (Careful obervation has shown that the
SunOS ypbind forks children for broadcasting too, though I can only
guess what sort of interprocess communication it uses. pipe() seems to
do the job well enough.)

This may seem like the long way around, but it's not really that
hard to implement, and I'd prefer to use documented RPC library functions
wherever possible. We're careful to limit the number of simultaneous
broadcasters to avoid swamping the system (the current limit is 5).
Each clnt_broadcast() call only sends out a small number of packets
at increasing intervals. We're also careful not to spawn more than one
bradcaster for a given domain.

- Used clntudp_bufcreate() and clnt_call() to implement a ping()
function for directly querying a particular server so that we can
check if it's still alive. This lets me completely remove the old
bradcasting code and use actual RPC library calls instead, at the
cost of more than a few handfulls of torn-out hair. (Make no mistake
folks: I *HATE* RPC.) Currently, the ping interval is one minute.

- Fixed another potential 'nfds too big for select()' bug: use
_rpc_dtablesize() instead of getdtablesize().

- Quieted gcc -Wall a bit.

- Probably a bunch of other stuff that I've forgotten.

ypbind.8:

- Updated man page to reflect modifications.

ypwhich.c:

- Small mind-o fix from last time: decode error results from
ypbind correctly (*groan*)

yplib.c:

- same as above

- Change behavior of _yp_dobind() a little: if we get back a 'Domain
not bound' error for a given domain, retry a few times before giving
up and passing the error back to the caller. We have to sleep for a
few seconds between tries since the 'Domain not bound' error comes
back immediately (by repeatedly looping, we end up pounding on ypbind).
We retry at most 20 times at 5 second intervals. This gives us a full
minute to get a response. This seems to deviate a bit from SunOS
behavior -- it appears to wait forever -- but I don't like the idea
of perpetually hanging inside a library call.

Note that this should fix the problems some people have with bindings
not being established fast enough at boot time; sometimes amd is started
in /etc/rc after ypbind has run but before it gets a binding set up. The
automounter gets annoyed at this and tends to exit. By pausing ther YP
calls until a binding is ready, we avoid this situation.

- Another _yp_dobind() change: if we determine that our binding files
are unlocked or nonexistent, jump directly to code that pokes ypbind
into restablishing the binding. Again, if it fails, we'll time out
eventually and return.
1995-04-26 19:03:16 +00:00
Paul Traina
f5fea3ddc9 Cleanup loopback interface support.
Reviewed by:	wollman
1995-04-26 18:10:58 +00:00
Paul Traina
ef6304d8c6 Replace call to obsolete inet_addr routine with inet_aton so we can specify
netmasks and broadcast addresses of 255.255.255.255.
1995-04-26 16:52:40 +00:00
Jordan K. Hubbard
4b1e0d1665 Close this PR:
>Number:         364
>Category:       bin
>Synopsis:       Interrupting man results in half-baked man page
>Description:

Interrupting man while it is waiting for the page to be formatted
results in a zero length file or a half-baked file.

>How-To-Repeat:

Inetrrupt man while it is formatting a page.

>Fix:

Pay more attention to the return value from the system command.
Submitted by:	John Capo <jc@irbs.com>
1995-04-26 16:19:23 +00:00
Jordan K. Hubbard
f465ace952 Add code for dealing with URLs. 1995-04-26 15:08:23 +00:00
Jordan K. Hubbard
a0a72d6933 Make pkg_info URL aware (and also make it use the PKG_PATH properly, like
everyone else).  Try this:
	pkg_info ftp://freebsd.org/pub/FreeBSD/packages/all/gmake-3.73.tgz
1995-04-26 15:08:02 +00:00
Jordan K. Hubbard
34f907903d Add depend on libftp since this is now in lib. 1995-04-26 15:07:14 +00:00
Jordan K. Hubbard
18a7c7704f Add a great deal more error checking to various things. 1995-04-26 15:06:58 +00:00
Jordan K. Hubbard
7113d27114 Further work on making all this more robust in the face of failure.
Also allow URL specification for a package.  This works for things the
package may depend on, too.

Allow PKG_PATH to be used anywhere a package is being searched for.
1995-04-26 15:06:26 +00:00
Torsten Blum
e347ee4837 Add ftp.uni-paderborn.de 1995-04-26 14:56:57 +00:00
Jordan K. Hubbard
6dbad786ae Add LIBFTP. 1995-04-26 14:34:19 +00:00
Jordan K. Hubbard
8a65b63a2c Fix a number of additional warnings. 1995-04-26 14:04:36 +00:00
Jordan K. Hubbard
7662263998 Move <varargs.h> out of FtpLibrary.h and into the .c files that actually
need them.  Fix a number of additional warnings.
1995-04-26 14:04:23 +00:00
Jordan K. Hubbard
80206f052f Yikes! How did that typo slip past! I'd swear I compiled it. Oh well,
thanks, Satoshi!

Embarrassed by:	asami
1995-04-26 12:37:46 +00:00
Jordan K. Hubbard
d14afa6dd2 As per Bruce's advice, use sysconf to get the max argument size and
dynamically allocate that much space, also using snprintf() and strncat()
to do proper bounds checking.
1995-04-26 11:43:20 +00:00
Bruce Evans
cd782e4154 Reviewed by: Gene Stark (starkhome!gene@sbstark.cs.sunysb.edu)
Change ownership of tw* from bin.bin to root.operator.  Hardware devices
shouldn't be accessible to bin.
1995-04-26 08:07:30 +00:00
Jordan K. Hubbard
8d006a838c Check dependencies BEFORE doing final extraction of package.
Fix a bug where direct-extract mode would have still invoked the
packing list reordering commands.
1995-04-26 07:43:35 +00:00
Rodney W. Grimes
2320728f46 Add outb to keyboard controller to do a cpu_reset, this fixes 2 known
cases of motherboards that failed to reboot.
1995-04-26 07:38:35 +00:00
Jordan K. Hubbard
0170dd7dec My handling of the missing dependency but !Verbose was wrong. Make
the right message come out.
1995-04-26 06:56:05 +00:00
Jordan K. Hubbard
38f4846ec5 Gary J's patches to make gdb -w work properly.
Submitted by:	gj
1995-04-26 01:01:20 +00:00
Garrett Wollman
1067217d5d Disallow half-configured point-to-point interfaces. It's still possible to
get into a half-configured state by using the old-style ioctls;this
may be a feature.
1995-04-25 19:50:20 +00:00
Garrett Wollman
cd02a0b741 Finally finish the cloning cleanup work by making sure that clones
go away whenever a clone's parent is changed, or a route is added in a
certain set of circumstances.

This also includes code to forbid setting a route's gateway to an
address which can only be reached through that route, thus (hopefully)
eliminating one class of cloning bottomless-recursion bugs.
1995-04-25 19:12:07 +00:00
Garrett Wollman
08af2cee88 Fix some conflicting descriptions. 1995-04-25 17:08:16 +00:00
Jordan K. Hubbard
25f15401b9 Add libftp to list of targets. 1995-04-25 15:08:52 +00:00
Jordan K. Hubbard
8e47e70f34 Now check all the warning purges and general clean-up in on the second
pass.
1995-04-25 15:08:02 +00:00
Jordan K. Hubbard
6f52f41fb2 A programmatic interface to ftp. I need this for several other
components of the system.

The license is poorly worded, though I have an (email only) release
from the author for unlimited FreeBSD use.  I will try to get something
more concrete, though the author's remote location makes this difficult.
Submitted by:	Oleg Orel <orel@oea.ihep.su>
1995-04-25 15:05:11 +00:00
Bruce Evans
6ec8ee4578 Fix benign type mismatches int console functions. dev_t was assumed
to be `int' or smaller and some functions returned `int' instead
of `void'.  The first bug was detected when console functions were
defined in a place central enough for type checking to actually
work and the second bug was introduced when the interface was
changed to match what the console functions in other drivers actually
return.
1995-04-25 12:18:05 +00:00
Jordan K. Hubbard
6940898b50 Document matcd1.
Be more explanatory about port selection.
Document that new TEAC drives don't work.
Submitted by:	Frank Durda IV <uhclem@nemesis.lonestar.org>
1995-04-25 10:23:53 +00:00
Søren Schmidt
5130ec746f Added mark_all() call so that screen is proberly updated
when scroll-lock history is disengaged.
1995-04-25 10:22:28 +00:00
Bruce Evans
a87df1c4d5 Remove setre*id*. 1995-04-25 10:00:04 +00:00
David Greenman
3fc3004e03 Fixed a "bswbuf" hang caused by the wakeup in relpbuf() waking up the
wrong thing.
1995-04-25 06:22:47 +00:00
Poul-Henning Kamp
3319f5a48f Do kernels up to 2Mb. 1995-04-25 05:27:04 +00:00