Commit Graph

8392 Commits

Author SHA1 Message Date
Bill Paul
a7acf629b6 Reviewed by: rgrimes, jkh and davidg (sort of)
Rod, Jordan and David have more or less given me the OK on this
with the understanding that it doesn't change any functionality.
It doesn't: these are bug fixes only. No other part of the system
should be affected. Of course, since I'm the only one working on
NIS, you'll just have to take my word on it. :)

Fixes for the following annoyingly subtle bugs:

- ypbindproc_setdom_2 is supposed to be declared void *, not boot_t *,
and it fails to correctly signal failures back to the ypset(8) command:
we need to call one of the svcerr_*() functions (in this case,
svcerr_noprog() seems a logical choice -- we're really cheating
a bit here because nothing else quite fits) to tell ypset that the
attempt to set the binding for a domain failed. If we don't do this,
failed ypset attempts either appear (incorrectly) to succeed, or
they time out.

- The lock handling for child processes isn't quite right. The
child broadcaster processes have to release all locks on the
binding files and the ypbind.lock file.

- The parent ypbind process will SEGV if you do the following:

-- start ypbind with the -ypset or -ypsetme flag
-- type 'ypwhich -d random_unserved_domain'
-- type 'ypset -d random_unserved_domain anyhost'
-- type 'ypwhich -d random_unserved_domain' again
-- wait about 60 seconds

What happens is this: the ypwhich command causes ypbind to fork a
broadcaster process that searches for a server for random_unserved_domain.
If you then use ypset to force a binding while this process is still alive,
the state flags that tell the ypbind parent process that the child
is running will be cleared. The second ypwhich command then causes
a *second* child process to be forked for random_unserved_domain,
which is verbotten. When the first broadcaster exits and tells the
parent that it wasn't able to find a server for the domain, the parent
clobbers the entry for random_unserved_domain. Then the second broadcaster
exits and the same thing happens, only trying to clobber the entry
twice causes a SEGV.

The fix for this is a slight change in program structure: since we
can't have more than one broadcaster for a given domain at a time,
we save the pipe descriptors and pid for the child broadcaster in members
of the _dom_binding struct for the domain. (As a side effect, we
can get rid of the global child_fds variable.) So when rpc_received()
finds that it's been asked to do a ypset for a domain for which a
broadcaster process exists, it sends a SIGINT to the child to kill it
and closes the pipe to the now-dead child. This keeps everything in sync
and insures that we don't leak file descriptors.

- ping() should be using YPPROC_DOMAIN rather than YPPROC_DOMAIN_NONACK
when it does its clnt_call() to the server.

- Removed the check for client_handle == NULL in ping() and make
client_handle local to ping instead of a member of the _dom_binding
struct. This fixes another potential ypset problem: using ypset to
force a binding to a machine that has an NIS server but which *doesn't*
support the domain we're after can result in permanently bogus bindings.

- the 'server OK' message prints the wrong IP address.
1995-05-26 05:28:00 +00:00
David Greenman
0063696232 Fixed bugs in multicast address handling (flag was set in wrong register,
etc.). The tulip_start routine was rewritten to use less stack space (I've
been having problems with wcarchive overflowing the stack and this should
help a little). This version also has preliminary NetBSD support.

Rod Grimes helped in testing this version of the driver. Thanks Rod. It's
additionally been extensively tested here and on wcarchive.

Submitted by:	Matt Thomas
1995-05-26 02:02:44 +00:00
Ollivier Robert
9b9ccd1307 The securedist outside the USA have changed a great deal.
The site in Island has only the 1.1-RELEASE dist.
The previous South Africa sites are dead and the brasilian one
is very hard to get into and painfully slow.
The two South Africa sites come from MIRROR.SITES.
1995-05-25 19:05:01 +00:00
Jordan K. Hubbard
655f249eaa Add CRC checking to sysinstall.
Submitted by:	gpalmer
1995-05-25 18:49:58 +00:00
Jordan K. Hubbard
4537793804 Bring in all my fixes to Poul's gripe list as of last night. 1995-05-25 18:48:33 +00:00
Jordan K. Hubbard
fbd92ef8d5 Rename boot.flp to root.flp 1995-05-25 18:48:07 +00:00
Jordan K. Hubbard
8cb85ad4c4 The cpio floppy is dead. All hail the root floppy.
Basically, this is just a simple name change.  People were historically
confused by the "cpio floppy", having no clear idea as to what it was
(even if they knew what "cpio" stood for) given that the name gives
one absolutely no indication as to what it's FOR.  It's about as content
free as calling it a "data floppy".  Root floppy isn't much better, but
it's got some historical weight (Linux divides their set into boot and
root floppies) and is reasonably descriptive for a floppy that comprises
the beginnings of a stand-alone root filesystem.
1995-05-25 18:43:41 +00:00
David Greenman
b64b660cd3 Made "NMBCLUSTERS" calculation dynamic and fixed bogus use of "NMBCLUSTERS"
in machdep.c (it should use the global nmbclusters). Moved the calculation
of nmbclusters into conf/param.c (same place where nmbclusters has always
been assigned), and made the calculation include an extra amount based
on "maxusers". NMBCLUSTERS can still be overrided in the kernel config
file as always, but this change will make that generally unnecessary. This
fixes the "bug" reports from people who have misconfigured kernels seeing
the network hang when the mbuf cluster pool runs out.

Reviewed by:	John Dyson
1995-05-25 07:41:28 +00:00
David Greenman
cddc961a83 Made "NMBCLUSTERS" calculation dynamic and fixed bogus use of "NMBCLUSTERS"
in machdep.c (it should use the global nmbclusters). Moved the calculation
of nmbclusters into conf/param.c (same place where nmbclusters has always
been assigned), and made the calculation include an extra amount based
on "maxusers". NMBCLUSTERS can still be overrided in the kernel config
file as always, but this change will make that generally unnecessary. This
fixes the "bug" reports from people who have misconfigured kernels seeing
the network "hang" when the mbuf cluster pool runs out.

Reviewed by:	John Dyson
1995-05-25 07:36:24 +00:00
Poul-Henning Kamp
32812b6ea5 media_strategy.c: Add explanation for URL.
ftp.c: Clean up debug, improve error handling.
1995-05-25 06:15:38 +00:00
Poul-Henning Kamp
6331da9711 Remove Ontrack special from All_FreeBSD().
Add chunk->disk pointer.
1995-05-25 06:14:49 +00:00
Poul-Henning Kamp
c0b83abedc Fix boot.flp and floppies targets.
Make cpio floppy to temp file first.
1995-05-25 06:14:10 +00:00
David Greenman
956e9ca5a0 Removed check for sw_dev == NODEV; this is a normal condition for swap
over NFS and was gratuitously panicing when it happens.

Reviewed by:	John Dyson
Submitted by:	Pierre Beyssac via Poul-Henning Kamp
1995-05-25 03:38:11 +00:00
Jordan K. Hubbard
a3028ab123 Cleanup. 1995-05-25 01:52:04 +00:00
Jordan K. Hubbard
39ae3f1529 Eliminate much redundant cruft from cpio floppy.
Make more vty devices for us to use.
1995-05-25 01:51:45 +00:00
David Greenman
243e5a88d5 Fixed panic that resulted from mmaping files in kernfs and procfs. A
regular user could panic the machine with a simple "tail /proc/curproc/mem"
command. The problem was twofold: both kernfs and procfs didn't fill in
the mnt_stat statfs struct (which would later lead to an integer divide
fault in the vnode pager), and kernfs bogusly paniced if a bmap was
attempted.

Reviewed by:	John Dyson
1995-05-25 01:35:24 +00:00
Jordan K. Hubbard
903463ef42 Put back some changes that were smashed in yesterday's release tree
shoot-down.
1995-05-25 01:22:20 +00:00
Jordan K. Hubbard
34753e5aee Invoke the _right_ shell. Sigh. 1995-05-24 23:43:59 +00:00
Jordan K. Hubbard
795b392ce3 Whoops - that last feature I committed to put a diagnostic shell in
ttyv3 would work a lot better if I actually exec'd a shell! :-)
Reviewed by:
1995-05-24 23:36:50 +00:00
David Greenman
d53eacdf28 This should fix PR 438. Apparently I never tested disklabel on the block
device.

v_numoutput wasn't incremented to match the b_iodone nesting.  It's still
fishy that vwakeup() clears B_WRITEINPROG before biodone() has finished;
however, B_WRITEINPROG seems to be never used.

Submitted by:	Bruce Evans
1995-05-24 23:33:42 +00:00
Jordan K. Hubbard
e336d945a8 1. Spawn a shell on VTY4 and leave it lying around.
2. Bring in Gary's prompt stuff in extractGeneric.
3. Add another global for telling when we're running as init.
1995-05-24 22:37:44 +00:00
Jordan K. Hubbard
72e242ff9a I tried to use sysinstall and I noticed the look used with Japanese
usage is very bad.

And I found some bugs(?) in ja_JP.*/usage.hlp.
 1. I have made typo.
 2. Mr. Hubbard didn't change about number of virtual consoles.
Submitted by:	NIIMI Satoshi <sa2c@and.or.jp>
1995-05-24 21:44:56 +00:00
David Greenman
3e47ca0577 Enclosed is a patch for if_ze.c which will allow it to operate with
the National Semiconductor InfoMover PCMCIA cards also. In tests on a
NE4100 on Jordan's laptop here, the ze driver works fine with that
card.

Reviewed by:	Jordan Hubbard, Rod Grimes, and me
Submitted by:	Gary Palmer
1995-05-24 20:33:42 +00:00
Poul-Henning Kamp
eaca002785 Never commit before breakfast: A typo. Sorry Gary. 1995-05-24 19:31:26 +00:00
Gary Palmer
3e28c7a178 Close of ftp socket is now handled by FtpEOF(). 1995-05-24 18:56:03 +00:00
Jordan K. Hubbard
9576fbf44c Take out configSysconfig() until I get it written. 1995-05-24 18:52:47 +00:00
Poul-Henning Kamp
e7b2fe43e0 Close the transfer socket. 1995-05-24 18:35:10 +00:00
Jordan K. Hubbard
0b81ddd0c2 "Bring out your dead!" Always try to reap the children we leave around. 1995-05-24 18:21:49 +00:00
Jordan K. Hubbard
a098749d6b Bring everybody up to date on my morning's work.
1. Fix a few bugs in the ftp installation code and implement proper
   ftp and network shutdown routines.

2. Clean up the menus a fair bit - add a FreeBSD configuration menu.

3. Eliminate the last of the "chaining" - the installation now does
   the most obvious thing in the most obvious cases and doesn't present
   you with more menus than you were expecting.  This makes it necessary to be
   a little more explicit in places, but it's still less confusing.

4. Add a few more safety nets for the user.  Change a few hard-and-fast
   limits to warnings (it now runs as non-root, Bruce).

5. Add descriptions for all the supported ethernet cards.

6. Make the cpio floppy extract put up a menu requesting the drive you wish
   to use if you have more than one; don't just always assume drive A.
1995-05-24 17:49:20 +00:00
Gary Palmer
b2687efa65 Makefile:
Add testftp: target
ftp.c:
  add more debugging output and fix a few more problems
media_strategy:
  make the ftp system actually do something resembling common sense.
  it now works after a fashion, although it soon falls over for some
  reason.
1995-05-24 11:19:11 +00:00
Gary Palmer
66b1d44d35 Move testftp: to release/sysinstall/Makefile where it should have
been in the first place.
1995-05-24 11:17:53 +00:00
Gary Palmer
11aa6abac2 Jordan forgot this in his last sync commit. It's a wee shell script
to help generate the .inf info files I use during the extract process.
1995-05-24 10:46:54 +00:00
David Greenman
a2d169021d Fixed bug where UDP was required to mount a TCP NFS filesystem.
Submitted by:	Ken Hornstein, Sept.'94
1995-05-24 10:10:24 +00:00
Jordan K. Hubbard
bef6490904 Sync to latest ftp-capable sysinstall. We're getting there! 1995-05-24 09:00:58 +00:00
Jordan K. Hubbard
2f2a4e7a4a Align slices to cylinder boundries.
Submitted By: phk
1995-05-24 08:59:40 +00:00
Jordan K. Hubbard
0412e9f72c Adjust targets to populate info files into distributions. 1995-05-24 08:59:01 +00:00
Jordan K. Hubbard
e0130f650e Allow pkg_manage to take a directory argument; I need this for the CDROM. 1995-05-24 06:20:08 +00:00
Jordan K. Hubbard
438728425d A few more typos fixed and some general cleanup done. 1995-05-24 05:51:29 +00:00
Andrey A. Chernov
70659b24a8 Fix %d and others printing
Reviewed by: davidg
Submitted by: Bill Fenner <fenner@parc.xerox.com>
1995-05-24 02:54:30 +00:00
David Greenman
80e63506ac Add missing arg to fprintf() error message.
Submitted by:	Mike Grupenhoff
1995-05-24 01:56:52 +00:00
Jordan K. Hubbard
9b03310b0c Add a final configuration menu and the beginnings of the backing code
for it.  The ftp installation method is working well enough to test.
Many more bug fixes, says Gary.
1995-05-24 01:27:15 +00:00
Jordan K. Hubbard
95e34bfc2e Add rule to generate the info files.
Submitted by:	gpalmer
1995-05-24 01:26:23 +00:00
Jordan K. Hubbard
1f35245a14 Whoops! Forgot libkvm. 1995-05-23 23:06:22 +00:00
Jordan K. Hubbard
a172d39225 Remove some extraneous junk from the boot floppy. Put ifconfig and route
on there.
1995-05-23 22:59:08 +00:00
Jordan K. Hubbard
023c271a28 Cleanup pass. Remove some grit left over from ripping out
the scripts.
1995-05-23 21:47:26 +00:00
Jordan K. Hubbard
23f2ee6126 Remove the last vestiges of the old installation method. 1995-05-23 21:33:53 +00:00
Jordan K. Hubbard
7b61dc31a2 Add my first cut at TCP/IP device configuration. If this works, the
ftp installation method should now function.  We'll know as soon as my
make release builds the floppies.  I'm just committing this out of my
release tree now so that it doesn't get clobbered again.
1995-05-23 18:06:16 +00:00
Jordan K. Hubbard
43012d292c Correct a typo in the german translation.
Submitted by:	Wolfram Schneider <wosch@cs.tu-berlin.de>
1995-05-23 16:26:54 +00:00
Gary Palmer
baf9eac5f1 The stand/scripts directory is obsolete. Don't create it in the cpio
floppy area.
1995-05-23 07:20:35 +00:00
Jordan K. Hubbard
7ccad8a96a 1. Bring in the first cut of Poul's ftp routines. We still don't
use them yet, but it's close (we're working on the last wrinkles
   in the CD install for now).
2. Complete the CDROM installation strategy code.
3. Simplify the distribtuion loading code.
4. General error message cleanup.
5. Write the /etc/fstab file now and split those routines into config.c
6. Clean up the menus a little more.
1995-05-23 02:41:18 +00:00