991 Commits

Author SHA1 Message Date
jkh
c9272a6f47 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
wpaul
3eb2d33deb 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
jkh
f2092adb87 Add CRC checking to sysinstall.
Submitted by:	gpalmer
1995-05-25 18:49:58 +00:00
jkh
74cb22cc5c Bring in all my fixes to Poul's gripe list as of last night. 1995-05-25 18:48:33 +00:00
phk
170f7e3221 media_strategy.c: Add explanation for URL.
ftp.c: Clean up debug, improve error handling.
1995-05-25 06:15:38 +00:00
jkh
dde84f4e8d Cleanup. 1995-05-25 01:52:04 +00:00
jkh
e28ba9e188 Put back some changes that were smashed in yesterday's release tree
shoot-down.
1995-05-25 01:22:20 +00:00
jkh
4c64068729 Invoke the _right_ shell. Sigh. 1995-05-24 23:43:59 +00:00
jkh
fd2d2cc4c9 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
jkh
f12325f105 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
phk
0d51648637 Never commit before breakfast: A typo. Sorry Gary. 1995-05-24 19:31:26 +00:00
jkh
50b850729b Take out configSysconfig() until I get it written. 1995-05-24 18:52:47 +00:00
phk
15cca3b08a Close the transfer socket. 1995-05-24 18:35:10 +00:00
jkh
3134475f4a "Bring out your dead!" Always try to reap the children we leave around. 1995-05-24 18:21:49 +00:00
jkh
797e229422 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
gpalmer
50dca2ce42 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
jkh
744d6a5236 Sync to latest ftp-capable sysinstall. We're getting there! 1995-05-24 09:00:58 +00:00
jkh
8ca00b3134 Allow pkg_manage to take a directory argument; I need this for the CDROM. 1995-05-24 06:20:08 +00:00
jkh
4fdeed18af A few more typos fixed and some general cleanup done. 1995-05-24 05:51:29 +00:00
dg
2adc1c7fb5 Add missing arg to fprintf() error message.
Submitted by:	Mike Grupenhoff
1995-05-24 01:56:52 +00:00
jkh
3ea9b3c64f 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
jkh
1503917ec9 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
jkh
69df29fff8 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
jkh
102ea06d3b 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
phk
2e4f6d9450 Add a undocumented '-d' flag to set debugging. 1995-05-21 19:31:09 +00:00
jkh
2b8e37d1d2 Check status of the device init routine properly. 1995-05-21 19:28:05 +00:00
jkh
62805dff4f 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
jkh
851214ef8a Stick in another strategic clear(). 1995-05-21 17:53:27 +00:00
jkh
b2a7bc9fdd 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
jkh
4a787e15cb 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
jkh
8f6345095f 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
jkh
1790211a55 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
jkh
22783db149 Reverse a boolean condition that prevented the user from disabling
a distribution fetch.
1995-05-21 10:05:17 +00:00
phk
5574c42ac8 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
phk
f97e95c7b0 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
phk
bba1428e2f Make a fixit.flp target too.
Improve the search code for the -u # argument to newfs.
1995-05-21 03:20:05 +00:00
phk
b5bcdbe42d 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
phk
54abfae1de 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
phk
1a410e1dc4 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
gpalmer
3e05eefc05 #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
jkh
5973a46e5a 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
jkh
5b4364e432 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
phk
8874835086 Change vsystem to know that the shell is crunched in.
Sanitize a couple of messages.
1995-05-20 19:12:13 +00:00
jkh
35f00efaaa Fix a few message bogons. 1995-05-20 18:37:03 +00:00
jkh
806de24554 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
jkh
f00e58217f Hmmm. Try the raw floppy device! This failure mode is a bit strange. 1995-05-20 15:49:53 +00:00
jkh
6066999b5d Whoops - copy_self() was going to the wrong place!
Use proper floppy device names.
1995-05-20 15:47:19 +00:00
jkh
c7364c609c 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
jkh
4a304ce1a0 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
jkh
27dccbcefb Correct the name of the release notes file. 1995-05-20 13:36:44 +00:00