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

845 Commits

Author SHA1 Message Date
Jordan K. Hubbard
223705ba7e Totally revamp the TCP/IP dialog; now network selection makes a bit more sense.
Root floppy (which actually may be able to go completely away at some point
soon!) is now loadable from ftp/nfs/dos as well as CDROM and (of course)
floppy.

Fix more problems on Poul's Gripe List.
1995-05-26 08:41:52 +00:00
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
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
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
Jordan K. Hubbard
a3028ab123 Cleanup. 1995-05-25 01:52:04 +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
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
Poul-Henning Kamp
eaca002785 Never commit before breakfast: A typo. Sorry Gary. 1995-05-24 19:31:26 +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
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
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
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
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
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
Jordan K. Hubbard
c49678020c Implement most of the CD extract code.
Clean up a few last display bugs.
Add sanity checking that makes sure user creates root and swap partitions.
Add swap partitions with swapon().
1995-05-22 14:10:25 +00:00
Poul-Henning Kamp
6444ef3b82 Add a undocumented '-d' flag to set debugging. 1995-05-21 19:31:09 +00:00
Jordan K. Hubbard
c420fc79ed Check status of the device init routine properly. 1995-05-21 19:28:05 +00:00
Jordan K. Hubbard
19d7c5761e Try AGAIN to get the disklabel editor to do the right thing.
This is getting ridiculous.  I may have to put the clear() back
and take the performance penalty, Poul.

Tweak the TCP/IP setup menu to look a little nicer.

Add lp0 to the list of available network devices (it was found before
but simply not described properly).
1995-05-21 18:24:34 +00:00
Jordan K. Hubbard
c824c08b3c Stick in another strategic clear(). 1995-05-21 17:53:27 +00:00
Jordan K. Hubbard
18be8f143c Do my best to translate this into english.. :-)
Some parts were so incomprehensible that I had to excise them
entirely, but I did my best with the material provided.
1995-05-21 17:32:35 +00:00
Jordan K. Hubbard
23cb914708 1. Start syncing up the network strategy code so that folks like Poul and
Justin can see it.

2. Attempt to fix the redisplay problems in label.c some more.  Not clearing
   the screen each time is certainly faster, but it's causing all sorts of
   problems.
1995-05-21 15:40:54 +00:00
Jordan K. Hubbard
c853fdb82d Change device name from cua01 to cuaa0. I'm going to use this doc in
the installation, so it was necessary.
1995-05-21 10:52:05 +00:00
Jordan K. Hubbard
7ef31df267 Correct a display bug that Poul introduced with his last round
of optimizations.  Add a check to make sure that root filesystems
are at least 20MB in size (this is just a thumbnail approximation,
and we can revise it later if necessary).
1995-05-21 10:16:10 +00:00
Jordan K. Hubbard
f7ef77e04f Reverse a boolean condition that prevented the user from disabling
a distribution fetch.
1995-05-21 10:05:17 +00:00
Poul-Henning Kamp
6285c26802 The latest batch from me. Still some screen anomalies (One could consider
the entire libdialog one such :-( ) but functionally ok I think.
1995-05-21 06:12:44 +00:00
Poul-Henning Kamp
d553eefb52 label.c: wizard mode now returns;
disks.c: clrtobot() so that deleted stuff disappears.
disks.c: offset is signed (for OnTrack diskmanager)
system.c: don't setbuf(stdout,0), it's too slow.
1995-05-21 04:34:12 +00:00
Poul-Henning Kamp
e841846b60 Make a fixit.flp target too.
Improve the search code for the -u # argument to newfs.
1995-05-21 03:20:05 +00:00
Poul-Henning Kamp
0cee912e58 Make newfs options work on rootfs.
Add size argument to new_part, so it can come up with a good default for newfs.
Fix (possibly) a dialog botch after label.c's wizard mode.
Make vsystem even smarter abour crunched binaries (what a speedup!)
(You need to recompile crunchgen !)
1995-05-21 01:56:03 +00:00
Poul-Henning Kamp
7d150b7705 Added a crunched_here(char *path) function so crunched programs can find out
who they share bed and breakfast with.
1995-05-21 01:50:13 +00:00
Poul-Henning Kamp
3525074d14 Now cpio works for me. (it was Mostly confusion about when the chroot
happened)
Make vsystem crunch aware in an intelligent fashion.
make the boot.flp target more specific (and faster).
1995-05-20 23:33:14 +00:00
Gary Palmer
96fe1684f2 #if 0 out PHK's code until we can find a way of making it crunchgen
dependant so that standalone builds aren't hosed.
1995-05-20 22:47:43 +00:00
Jordan K. Hubbard
6593420ad1 1. Add MBR type menu to take it off of Poul's "gripe sheet".
2. Syntax correction from Andrey.

Good night! :-)
1995-05-20 20:30:12 +00:00
Jordan K. Hubbard
cc1f1b8814 Don't clear the screen for every redraw in the disklabel and
partition editors (ugh).  Fix an utterly bogus message (no arguments :)
in dist.c.  This should all make Poul a little happier and slide in
before the next CTM update window.
1995-05-20 19:22:21 +00:00
Poul-Henning Kamp
9f857b511d Change vsystem to know that the shell is crunched in.
Sanitize a couple of messages.
1995-05-20 19:12:13 +00:00
Jordan K. Hubbard
f5f9a92b2f Fix a few message bogons. 1995-05-20 18:37:03 +00:00
Jordan K. Hubbard
71502538f6 Misc cpio evil. I think I'm going to start working locally and just deal
with the diff/CVS hassles - this represents far too many CVS commit
messages for you folks, and trying to document each and every iteration
of the code is a hassle (and not very useful at that).
1995-05-20 16:22:42 +00:00
Jordan K. Hubbard
c2948a7b51 Hmmm. Try the raw floppy device! This failure mode is a bit strange. 1995-05-20 15:49:53 +00:00
Jordan K. Hubbard
88c97d3785 Whoops - copy_self() was going to the wrong place!
Use proper floppy device names.
1995-05-20 15:47:19 +00:00
Jordan K. Hubbard
e6684cda7a Use ppp0 for all serial devices. It's somewhat kludge, but at
least accurate (we only have one ppp device on the floppy).
1995-05-20 14:36:39 +00:00
Jordan K. Hubbard
7fe566d31b Try again to get cpio_extract() to work. Also fix the bogon
I introduced with msgNotify() again.  Sigh.  I'll get it looking
correct someday!
1995-05-20 14:05:31 +00:00
Jordan K. Hubbard
519501fed0 Correct the name of the release notes file. 1995-05-20 13:36:44 +00:00