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

1008 Commits

Author SHA1 Message Date
Jordan K. Hubbard
395dda4194 Clean up the variable handling code a little.
Write /etc/hosts in the right place.
1995-05-26 20:45:20 +00:00
Jordan K. Hubbard
a7f54e2e75 Ask name of "other" ftp site in correct place.
Make TIOCCONS redirection for console messages work properly; we no longer
open /dev/console for all I/O - we use the VTYs directly.
1995-05-26 20:31:02 +00:00
Jordan K. Hubbard
2d7d54b2b4 Clean up the configuration stuff a bit more - we should now populate
/etc with good things(tm).

Fire off ppp with all the proper initial options set.
1995-05-26 19:28:06 +00:00
Jordan K. Hubbard
3a1426b521 Some edits suggested by Atsushi. Also remove my name from the bottom;
just because I edited it doesn't mean I should stick myself in the authors
line, even with the qualification I used.
1995-05-26 17:35:54 +00:00
Jordan K. Hubbard
048999e640 Fix the braindamage I somehow inflicted on this file early this morning. 1995-05-26 17:28:00 +00:00
Jordan K. Hubbard
b9643b6695 This should fix the last of the ftp path problems.
It was all a bit more complex than it first looked.
1995-05-26 11:21:53 +00:00
Jordan K. Hubbard
dc38f8c8da This should enable use to find the info files properly over ftp. 1995-05-26 10:58:51 +00:00
Jordan K. Hubbard
f284246288 Swap args to deviceGet(). Whoops! 1995-05-26 10:34:44 +00:00
Jordan K. Hubbard
ad98a5f52b be nice and tell the user when the installation has completed successfully
so they don't just come back to a menu again 2 hours later with no idea
what happened with the operation(s) they had in progress.
1995-05-26 10:32:28 +00:00
Jordan K. Hubbard
5662f32138 Fix a bug in the /etc populating copy.
Change root.flp from a new format CPIO archive to a tar archive.
Unless we're willing to change the main tarballs from tar format to
"newc" (or, even better, "crc") cpio format, we need to use one common
one for all and that's tar for now.  Install will now grab "root floppy"
from an ftp site if that's what you've got set.

Fix even more gripes from Poul's list.

P.S.  As soon as I get the distfiles copied over to freefall tomorrow
morning, those of you wishing to test minimal installs over ftp should
be able to do so by grabbing the boot floppy and nothing else.  Keep
your eyes open for my announcement.
1995-05-26 10:20:47 +00:00
Jordan K. Hubbard
39c1b38efa Make the installation menu loop on the provided package directory (if one
is provided).
1995-05-26 08:59:29 +00:00
Jordan K. Hubbard
3c4d1d3edb Tighten up the TCP/IP dialog a little.
Simply install procedure a bit.
1995-05-26 08:58:35 +00:00
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
Jordan K. Hubbard
6387e9b058 Clear the screen on msgNotifys.
Don't notify in vsystem() - it obscures the original message.
Put some debugging code into cpio_extract() so that I can see
why it doesn't work now. :(
1995-05-20 13:24:35 +00:00
Jordan K. Hubbard
7b74963e46 The problem is the returned salt, while the freebsd man pages asks that the
crypt salt string begin with a '_', no other crypt's do.  If you remove the
initialization of $salt to '_' in sub salt(), everything works as advertised.
Submitted by:	Charles Henrich <henrich@crh.cl.msu.edu>
1995-05-20 13:05:22 +00:00
Jordan K. Hubbard
8568ba4e73 Don't call mediaVerify() in quite so many places. 1995-05-20 11:13:58 +00:00
Jordan K. Hubbard
8f1fd59b90 Fix the DOS discovery code to now re-allocate another virtual device if
it's called multiple times in a row.  Add a new device type "DEVICE_TYPE_DOS"
so that we can look up an previous results.
1995-05-20 11:10:35 +00:00
Jordan K. Hubbard
f10eb488f6 1. Fix a pathological bug I introduced in msgInfo(). Right idea, wrong
implementation.

2. Totally rework device registration.  It's about half the size and
   more powerful now.

3. Add DOS discovery.

4. Start filling in some of the strategy routines.

5. Another clean-up pass over the menus.

6. Make wizard code use Disk typedef.

If I can get the first strategy routine finished tonite, we should have a working
install (from ftp, at least) this weekend.
1995-05-20 10:33:14 +00:00
Jordan K. Hubbard
2cf252e087 Totally re-work cpio_extract.
Erase the annoying "Command output is on debugging screen" message
when it's time to switch back.
1995-05-20 08:31:43 +00:00
Jordan K. Hubbard
dad012f2c6 Correct a few wording bogons in the menus.
Make notify NOT wipe the dialog off right after putting
it up.  Whoops.  Kinda defeated the purpose! :-)
1995-05-20 07:50:20 +00:00
Gary Palmer
e61618782b Make Jordan's ``half baked'' code compile so that make release's aren't
stopped dead in their tracks. Also add the beginnings of my
distribution extraction code in media_strategy.c
1995-05-20 03:49:10 +00:00
Jordan K. Hubbard
7ab5b08b2c This doesn't work - the extract code is half-baked. I commit it only
so that Gary can sync to it before I go to bed.. :)
1995-05-20 00:13:14 +00:00
Jordan K. Hubbard
ceb1d42782 Only apply @mode directives to files.
Don't use the -p flag to tar; it sets the files to the wrong permissions.
Submitted by:	jmz
1995-05-19 22:40:54 +00:00
Jordan K. Hubbard
c7c32addb2 More assorted verbosity. Also don't log informational messages. 1995-05-19 21:30:35 +00:00
Jordan K. Hubbard
1c1834210c Make _DIST_USER use the right flag. 1995-05-19 18:50:59 +00:00
Jordan K. Hubbard
2512487c92 Be more verbose now that we're getting ready to actually extract. 1995-05-19 17:19:39 +00:00
Jordan K. Hubbard
ce4e04980d XF86VGA16 -> XF86VG16 1995-05-19 17:11:07 +00:00
Jordan K. Hubbard
c10caaad51 1. Incorporate Nickolay's ammended patches for Russian screenmap support
as per Andrey's letter.  Make a few modifications for correctness.

2. Add Language menu back to first menu - it was too buried in the
   Options menu.

3. Add size information to all distributions.

4. Add a compat20 distribution (we need to make one of these!!  Any takers?  Please?)

Submitted by:	Nickolay N. Dudorov <nnd@gw.itfs.nsk.su> & jkh
1995-05-19 16:58:58 +00:00
Jordan K. Hubbard
87b47edc82 1. Copy the boot floppy into /stand before extracting the CPIO floppy.
2. On Justin's advice, remind the user when they should switch back
   from the debugging screen, if they're looking over there.
1995-05-19 15:56:02 +00:00
Jordan K. Hubbard
ec9b92d133 Whoops! Put the helpful message telling you to look at the second
screen on the first screen, and not the second.. :-)
1995-05-19 04:17:38 +00:00
Jordan K. Hubbard
977a407e1d Include serial ports as possible network candidates. 1995-05-19 02:31:13 +00:00
Jordan K. Hubbard
a1bfde73e4 Big Sigh. Both A_BOLD and A_UNDERLINE do not appear to work with
syscons (and/or cons25) at all.  This code looked just fine running
on an xterm, but on a console the attributes are all wrong.  I
now have to sacrifice some screen real-estate to pring cheesy
`-' characters to accomplish the same thing.
1995-05-19 02:19:15 +00:00
Jordan K. Hubbard
f8230b2f5f Switch to bold on the header line - the A_UNDERLINE handling appears to be
broken in syscons, or at least in the cons25 termcap entry! :-(  A_BOLD
won't show up on monochrome adapters (I don't think) but they'd be screwed
anyway since I don't have an attribute to use for them now at all.
1995-05-19 02:09:02 +00:00
Gary Palmer
9675b32c2f You want to be in /mnt when extracting the cpio floppy, not in the read
only root filesystem.....
1995-05-19 01:49:57 +00:00
Gary Palmer
aff014ff20 Sigh. Add a ++ which was causing the newfs'ing of non-root filesystems to
fail :-(
1995-05-18 23:36:21 +00:00
Poul-Henning Kamp
18f4c72169 Run bad144 on raw-devs. 1995-05-18 22:00:01 +00:00
Poul-Henning Kamp
b8458cd586 A couple of tweaks to make bad144 scan run. 1995-05-18 21:58:33 +00:00
Poul-Henning Kamp
f7f27cd415 Change the ioctl to match what went into wd.c 1995-05-18 21:26:06 +00:00
Jordan K. Hubbard
561e0b4c76 Use raw devices for newfs.
Write and wizard mode only on enabled disks.
1995-05-18 18:02:31 +00:00
Jordan K. Hubbard
9786c33e55 Poul says that setting fonts on monocrome displays is useless
as most mono displays aren't that intelligent anyway.  Disable it in this
case.
1995-05-18 17:49:09 +00:00
Jordan K. Hubbard
fcddc1c2bc Use CHUNK_BSD_COMPAT as God and Poul intended it be used. 1995-05-18 17:38:02 +00:00
Jordan K. Hubbard
a0b7a5f865 Fix quoting error. 1995-05-18 16:57:52 +00:00
Jordan K. Hubbard
8cdff502c9 I had the arguments to Mount() backwards. Argh. 1995-05-18 16:53:53 +00:00
Gary Palmer
a3bbb2ff49 Dispose of old, #if 0'd, out code which has been proved to be no longer needed. 1995-05-18 16:44:41 +00:00
Gary Palmer
3890483652 Correct a conditional which could cause a off-by-one error in certain
circumstances.
1995-05-18 16:36:14 +00:00
Jordan K. Hubbard
0e8441fc1a Clear the screen after changing the font. 1995-05-18 15:58:32 +00:00
Jordan K. Hubbard
ae1d347651 Whoops! I forgot how uudecode works.. Make it really work here. 1995-05-18 15:46:18 +00:00
Jordan K. Hubbard
a2b4e70705 1. Use 8x16 fonts.
2. Don't use russian screenmap - apparently not necessary with right font.
3. Dequote bogusly quoted font name in english language setting.
4. Use setterm() and hack around an undesirable side-effect (cbreak is unset).
5. be smarter about setting OnVTY, and use it in cases where it makes sense.
Submitted by:	Nickolay N. Dudorov <nnd@gw.itfs.nsk.su>
1995-05-18 15:29:47 +00:00
Jordan K. Hubbard
36678611e6 Add some more debugging information and fix a few missing newlines. 1995-05-18 14:11:16 +00:00
Jordan K. Hubbard
def8bcf342 Fix a very embarassing typo. No wonder this thing was looping! :-) 1995-05-18 13:20:53 +00:00
Jordan K. Hubbard
690e60d830 1. Add serial devices to list of possible network device candidates.
2. Rework tcpip.c a bit so that devices which have been configured also
   have the enabled flag set.
1995-05-18 13:18:35 +00:00
Jordan K. Hubbard
ab9357a910 Also log all user interactions to debugging log. 1995-05-18 12:57:54 +00:00
Jordan K. Hubbard
6aebdd7df9 Do more proper bad144 handling. Thanks, Rod. 1995-05-18 10:43:51 +00:00
Jordan K. Hubbard
4d7b3c6f96 1. Primitive bad144 support (I believe an additional command is needed, but
won't know until Poul wakes up again).
2. Make vsystem() put its output on the debugging fd.
3. DTRT with root filesystem placement - now I see how this has to work
   (thanks, Poul).
4. Many miscellaneous spelling errors fixed and general cleanup.
1995-05-18 09:02:06 +00:00
Jordan K. Hubbard
0b30383382 Use my own version of system() everywhere - it knows where to find the
shell!
1995-05-18 02:42:33 +00:00
Jordan K. Hubbard
4da5212097 1. Set a path to /stand by default.
2. Don't clear() when I can dialog_clear().
1995-05-17 16:16:10 +00:00
Jordan K. Hubbard
498e6d5df3 Remove the seat-belts from the root partition creation code; for some
reason I'm *always* getting CHUNK_PAST_1024 set now, even when it's
definitely not! :-(  Poul, can you perhaps take a look?  Thanks!
1995-05-17 15:41:52 +00:00
Jordan K. Hubbard
d0eeafc570 Commit my latest so that Gary can sync up - this version should also
be the grounds for our first round of testing in the release I'm rolling.
It doesn't load the distributions yet, but it should do everything else.
1995-05-17 14:40:00 +00:00
Gary Palmer
dfa4c76f74 Hopefully the last version of this file. Add a lot more comments, and
actually give the data back to sysinstall in a coherent fashion now.
1995-05-17 12:09:11 +00:00
Gary Palmer
4ea606879a Oops - Jordan managed to grab my ``work in progress file'' which
doesn't even come close to compiling. This file compiles, and should
work.
1995-05-16 20:00:51 +00:00
Garrett Wollman
8ecaae9433 Doc fix - ``active'' specification not parsed by routed in /etc/gateways.
Submitted by:	Mike Newell <mnewell@lupine.nsi.nasa.gov>
1995-05-16 14:10:07 +00:00
Jordan K. Hubbard
b2d228d3d7 This will now compile and even scribble helpfully on your disks.
It remains to be seen how successfully.  The distribution loading code
is still not here yet, but the partition/newfs/mount/cpio-extract cycle
is as complete as it's ever going to get, modulo possible bug fixes.
The TCP/IP setup screen is also sort of here, albeit in a highly-changing
state due to the fact that per-interface information isn't being kept
right now but is being added (thanks, Gary!).
1995-05-16 11:37:27 +00:00
Jordan K. Hubbard
3dee6615c7 This does _not yet compile_; I'm simply bringing in my changes from
this weekend in order to more easily sync with my CVS tree at home.
Another commit relative to these changes will follow shortly.
1995-05-16 02:53:31 +00:00
Jordan K. Hubbard
aa1478bbd2 Fix a problem where pkg_manage refused to allow the user to select a
full directory hierarchy, as is the format of the new ports collection.
It used the old "all packages in one directory" paradigm, which is wrong for
ports now.
Submitted by:	Marc van Kempen <wmbfmk@urc.tue.nl>
1995-05-16 01:30:20 +00:00
Jordan K. Hubbard
88f0d26553 A number of bug fixes to mrouted (no functionality enhancements from 3.5, just
the fixes!):

o Scoped addresses might let traffic in
o IGMP queries sent with wrong timeouts
o Possible core dump in mtrace if we get a request for which we have no route
o If a member on a transit network left a group, mrouted would stop forwarding
  even if there was a downstream router
o Various code cleanups and logging changes

Reviewed by:	wollman
Submitted by:	Bill Fenner <fenner@parc.xerox.com>
1995-05-16 00:28:50 +00:00
Poul-Henning Kamp
b89995508b Basic bad-block scanner. Works. Slow. Adds the bad-spots automatically. 1995-05-15 19:02:09 +00:00
David Greenman
84fbd1c727 Fully initialize (bzero) the stack-allocated "struct sockaddr_in server"
structure. Random junk on the stack would cause the call to bind to fail
in some cases (since the address portion wasn't initialized).
1995-05-15 09:56:49 +00:00
Rodney W. Grimes
e602d31e02 Fix 3 printf's that had the wrong number of arguments.
Submitted by:	gibbs
1995-05-14 19:19:55 +00:00
Gary Palmer
b04042154b tcpdump is in (1) not (l) 1995-05-14 15:21:36 +00:00
Satoshi Asami
d6f5c64683 Added "doc" to the list of subdirs, so that amdref.info* will get
installed in /usr/share/info...closes my own PR, docs/408 (aaah now
I need to figure out how to "close" PRs... ;)....
1995-05-14 11:24:41 +00:00
Rodney W. Grimes
1f6583b909 printf -> fprintf when you use a fd arg :-), oops! 1995-05-14 08:40:37 +00:00
Rodney W. Grimes
46e26c551d Don't add a slash to the end of _PATH_DEV, it already has one.
Print a final newline to stderr after the scan finishes, only do it
at the right place in this version, 1.1.5.1 caused an extra newline
if you where not running -s, and it went to stdout instead of stderr.

Obtained from:	FreeBSD 1.1.5.1
1995-05-14 08:19:08 +00:00
Rodney W. Grimes
1bb5661b59 Add bad144 -s option to scan entire slice of disk.
Obtained from:	FreeBSD 1.1.5.1 (Just the scan function itself was added)
1995-05-14 07:05:47 +00:00
Poul-Henning Kamp
2df6483f69 Reflect the fact that we do not swap on the first <dmmax> blocks of a
swapdev, to protect disklabels and other such magic stuff.
1995-05-14 03:37:40 +00:00
David Greenman
bd7917b1a7 Updated to work with Poul-Henning's recent kernel changes in the swap
device table layout...basically, don't output the cruft anymore - it
is now dynamic.

Reviewed by:	John Dyson and David Greenman
Submitted by:	Poul-Henning Kamp
1995-05-14 03:10:58 +00:00
David Greenman
1295400e49 Updated to work with Poul-Henning's recent changes to the swap device
table.

Reviewed by:	John Dyson and David Greenman
Submitted by:	Poul-Henning Kamp
1995-05-14 03:08:35 +00:00
Rodney W. Grimes
af9fe6e59d mlink bad144.8 to man8/bad144.8 so we can find the manual page.
Use /${MACHINE} for MANSUBDIR instead of hardcoded /i386

Obtained from:	FreeBSD 1.1.5.1
1995-05-14 02:30:19 +00:00
Poul-Henning Kamp
3ee2ce52b4 remove swapinfo. 1995-05-13 17:27:10 +00:00
Poul-Henning Kamp
59392fe2bc Make pstat act like swapinfo if so invoked. 1995-05-13 17:25:23 +00:00
Garrett Wollman
5e7d9e89ba Don't automatically default dumps to be on a swap device; if the user
wants dumps, he can either configure it explicitly (`dumps on' whatever) or
use the dumpon(8) utility.
1995-05-12 19:12:44 +00:00
Garrett Wollman
55678a2eb9 Learn how to print out kern.dumpdev as a name. 1995-05-12 19:10:56 +00:00
Bill Paul
97f3a7e6e7 One for the road: create a ypbind.lock file under /var/run and try to lock
it. If we can't it means there's already a ypbind running and we should
abort.
1995-05-12 16:52:58 +00:00
Jordan K. Hubbard
59927d47cf 1. Don't check CHUNK_BSD_COMPAT for now; it always returns "no" and is
getting in the way of testing right now.
2. Call system() on commands, not vsystem().  No need for vsystem() here.
3. Add a path for the shell.
1995-05-11 09:01:35 +00:00
Jordan K. Hubbard
a9d7ec4113 Revise this to actually print all the various isa_device field values
it really should have been printing all this time.  Also fix my rather
bogus handling of the id_conflicts value by moving it to the end of
isa_device and dealing with that correctly now.
1995-05-11 07:54:41 +00:00
Jordan K. Hubbard
e0d3af579f Clean this up a bit - add more documentation to the documentation menu. 1995-05-11 06:47:46 +00:00
Jordan K. Hubbard
dae062c15f First round of changes after testing this on actual systems. Clean up
some of the badly displayed menus, use the proper notification box for
messages, make proceed work.
1995-05-11 06:10:56 +00:00
Jordan K. Hubbard
babb4e927f Add a new `conflicts' flag for telling when a device is in conflict with
others.  The flag can be put in descriptive locations, e.g.:

device sb0      at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr
or
device psm0	at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr

But is nonetheless boolean only.  You can't turn conflict checking off for
only a given type of conflict.  I didn't deem it worth the trouble at this
stage, and it's far better than the ALLOW_CONFLICT_* that preceeded it.
1995-05-11 02:21:34 +00:00
Bill Paul
4d6e34053f Ack! One slipped through the cracks: remember to return the correctly
filled-in result structure to the caller when a resource allocation
error is encountered in ypbindproc_domain_2.
1995-05-11 00:16:54 +00:00
Bill Paul
c904a246d2 Performace improvements/simplifications/cleanups:
- Make the child process reaper signal-driven. (Previously, we called reaper()
  once a second each time we went through the select() loop. This was
  convenient, but inefficient.)

- Increase main select() timeout from 1 second to 60 seconds and use
  this as the ping timer instead of using timestamps in the _dom_binding
  structure. This nd the reaper() change noted above makes ypbind a little
  less CPU-intensive.

- Don't flag EINTR's from select() as errors since they will happen as a
  result of incoming SIGCHLD's interrupting select().

- Prevent possible resource hogging. Currently we malloc() memory
  each time a user process asks us to establish a binding for a domain,
  but we never free it. This could lead to serious memory leakage if a
  'clever' user did something like ask ypwhich to check the bindings
  for domains 0.0.0.0.0.0.0.0.0.0 through 9.9.9.9.9.9.9.9.9.9 inclusive.
  (This would also make a mess out of the /var/yp/binding directory.)

  We now avoid this silliness by a) limiting the maximum number of
  simultaneous bindings we can manage to 200, and b) free()ing _dom_binding
  structures of secondary domains whose servers have stopped responding.
  We unlink the /var/yp/binding/domain.vers files for the free()ed
  domains too.

  (This is safe to do since a client can prod us into reestablishing the
  binding, at which time we'll simply allocate a new _dom_binding structure
  for it.)

  We keep count of the total number of domains. If asked to
  allocate more than the maximum, we return an error. I have yet to hear
  of anybody needing 200 simultaneous NIS bindings, so this should be
  enough. (I chose the number 200 arbitrarily. It can be increased if need
  be.)

- Changed "server not responding"/"server OK" messages to display server
  IP addresses again since it looks spiffier.

- Use daemon() to daemonify ourselves,

- Added a SIGTERM handler that removes all binding files and unregisters
  the ypbind service from the portmapper when a SIGTERM in received.

- The comment 'blow away everything in BINDINGDIR' has no associated code.
  Give it some: clean out /var/yp/binding at startup (if it exists).

This completes my ypbind wishlist. Barring bug fixes, I shouldn't need to
go poking around in here anymore. (Of course, this means I can start
working on my ypserv whishlist now... :)
1995-05-10 23:02:41 +00:00
Jordan K. Hubbard
36dc394c61 Fix a long-standing bug that broke pkg_info utterly and probably made
pkg_add a little wiggy too.
1995-05-10 23:00:16 +00:00
Jordan K. Hubbard
e8019cb42b Fix a long-standing bug that broke pkg_info utterly and probably made
pkg_add a little wiggy too.  Document the fact that pkg_info can also
take a URL.
1995-05-10 23:00:07 +00:00
Jordan K. Hubbard
82f99dbbda Bump the number of allowable args by a factor of 4. I just scanned
all possible packing lists and found that at least one of them is
pretty large!
1995-05-10 22:33:55 +00:00
Jordan K. Hubbard
28ed622cab Document fetch-by-URL. 1995-05-10 20:56:19 +00:00
Jordan K. Hubbard
c63a4dc13b Re-work make_dist() routine to build the tar command more reasonably.
This should eliminate the problem with truncated packages.
1995-05-10 20:46:06 +00:00
Jordan K. Hubbard
42206c90f4 Don't use curses routines until that part of the system is initialized. 1995-05-10 18:59:51 +00:00
Jordan K. Hubbard
8e3bb099bf Sync up to Poul - use his new Create_Chunk_DWIM() function and use the pointer
it passes back.  Thanks, Poul!
1995-05-10 09:25:49 +00:00
Jordan K. Hubbard
b34c876a61 Make sure that mountpoints start with a /. 1995-05-10 08:03:21 +00:00
Jordan K. Hubbard
4ec1f4bcf2 Whoops - dispatch() takes multiple args now. 1995-05-10 08:00:47 +00:00
Jordan K. Hubbard
351669d743 Fold in all my recent changes.
Do another clean-up pass over this, making the generic menu handler much
more powerful (now handles multiple dispatch).  A few more menus fleshed
out and the beginnings of the distribution handler committed.  Should
be transfering full distributions over in the next commit.
1995-05-10 07:45:00 +00:00
Jordan K. Hubbard
f26b6240ac Switch from bogus absolute path to a relative one.
Closes PR #bin/391
Submitted by:	Stephen McKay <syssgm@devetir.qld.gov.au>
1995-05-09 23:48:54 +00:00
Rodney W. Grimes
ad753d5151 Fix nested comments for -Wcomment warnings. 1995-05-09 12:48:21 +00:00
Rodney W. Grimes
06e81069bd Fix nested includes for -Wcomment. 1995-05-09 12:35:29 +00:00
Jordan K. Hubbard
f9a1c2dee2 Sync these up so that they'll get into my CVS tree at home, where I'll continue
working on the distribution extract stuff.
1995-05-08 21:39:40 +00:00
Jordan K. Hubbard
9e572e47e5 Whoops! Uncomment Write_Disk() again. 1995-05-08 18:41:37 +00:00
Gary Palmer
8b3fe702b7 Change /lib/cpp to /usr/bin/cpp 1995-05-08 16:50:19 +00:00
Jordan K. Hubbard
4d66a82366 Perform a much needed tidying-up pass over this code. Sleep for now,
more tomorrow.
1995-05-08 10:20:56 +00:00
Jordan K. Hubbard
69bbb06233 Add the sorted command executor code. 1995-05-08 06:08:27 +00:00
Jordan K. Hubbard
7f197a5448 Ok, we should now create all filesystems, mount them and extract the
cpio floppy at this point.
1995-05-08 06:06:30 +00:00
Jordan K. Hubbard
83b74c37e4 Implement the geometry command. Clean up the help a little. 1995-05-08 01:27:07 +00:00
Jordan K. Hubbard
65a27a9ba4 Add a wizard button for Poul. 1995-05-08 00:56:28 +00:00
Jordan K. Hubbard
0881c9c4a1 Fix a bug in multi-column output. 1995-05-08 00:38:02 +00:00
Jordan K. Hubbard
27e3eb523c Another sync up for Poul. Added a lot more error checking. 1995-05-07 23:37:34 +00:00
Andrey A. Chernov
020531ce67 Add FreeBSD-specific TS_* states 1995-05-07 23:19:53 +00:00
Andrey A. Chernov
9030041959 Enable sio driver and upcoming rc driver
Add more line disciplines
1995-05-07 22:15:46 +00:00
Jordan K. Hubbard
51f0ec8415 Implement a work-around for Create_Chunk providing no pointer to the
new chunk.  The partition editor now works as well as the underlying
libdisk can support it - have at it, Poul!
1995-05-07 22:07:53 +00:00
Bruce Evans
2d732692dc Fix 3 fatal mismatches in format args involving dbtob() and 7 nonfatal
mismatches.
1995-05-07 08:13:37 +00:00
Bruce Evans
ff55774394 Cast some expressions involving dbtob() to (unsigned long) and print them
using %lu.  This became more broken when I fixed dbtob() to support byte
offsets >= 4GB.  The type had to change to [u]quad_t.  Previously the
expressions had type unsigned long and were printed using %d.  After
division by 1024, the expressions are guaranteed to fit in an unsigned
long, at least for the standard DEV_BSIZE, so edquota doesn't need to
know about quad_t's explicitly.

Fix all the other format mismatches exposed by compiling with -Wformat
(6 more quota limits of type unsigned long printed using %d and 6 time_t's
(i.e., longs) printed using %d).
1995-05-07 07:48:35 +00:00
Jordan K. Hubbard
2b0e7dfa13 Make this compile again. Poul and I need to sync up again. 1995-05-07 05:58:57 +00:00
Bruce Evans
2f27939662 Silence `make -s' (echo -> ${ECHO}). 1995-05-07 05:56:00 +00:00
Jordan K. Hubbard
133231e4aa Correct a few ordering errors in how the partitions were being displayed. 1995-05-07 03:38:03 +00:00
Jordan K. Hubbard
64330cc768 Print sizes of partitions now. 1995-05-07 02:04:29 +00:00
Jordan K. Hubbard
4c88964f89 Some fairly serious cleanup. The proper offset should now be used in
creating partitions.  Still need to get the mount points displaying carefully,
but I need to get this into my tree on time so that I can work on that.
1995-05-06 09:34:24 +00:00
Joerg Wunsch
2b33ce9350 Forcibly add -O2 to the vgaio CFLAGS, to work around a gcc bug. 1995-05-06 07:07:52 +00:00
Jordan K. Hubbard
e4d731b693 All the editors are finished. Now if I can just get a problem with libdisk
fixed, we should be able to fully set up the user's disk.  Still to come
with next commit:  filesystem setup, distribution extraction, final
configuration.
1995-05-05 23:47:47 +00:00
Jordan K. Hubbard
a2e3498a3c Everything but the partition editor is done. This commit is for MBR testing. 1995-05-04 23:36:23 +00:00
Jordan K. Hubbard
7c56cfd441 This will now write MBR entries - should be enough for testing. 1995-05-04 19:48:19 +00:00
Jordan K. Hubbard
2e363cad34 My latest round of changes - make the "slices" editor work. 1995-05-04 03:51:22 +00:00
Jordan K. Hubbard
786a5cad11 Change the perennially annoying reminder to "make depend" (which may or
may not be desired if you're just going to blow the kernel away again later)
and substitute one that tells the user where the new kernel build
directory actually IS, which can at least be argued to be useful information
in all cases.
Reviewed by:	davidg
1995-05-03 20:16:57 +00:00
Bill Paul
90b434aeb0 Cosmetic changes and paranoia checks:
ypbind.c:
Make fewer assumtions about the state of the dom_alive and dom_broadcasting
flags in roc_received().
Cosmetic changes and paranoia checks:

ypbind.c:
Make fewer assumtions about the state of the dom_alive and dom_broadcasting
flags in roc_received().

If select() fails, use syslog() to report the error rather than perror().

Check that all our malloc()s succeed. Report malloc() failure in
ypbindproc_setdom_2() to callers.

yplib.c:

Use #defined constants in ypbinderr_string() rather than hard-coded values.
1995-05-03 18:34:22 +00:00
Rodney W. Grimes
6de98b5d98 Put $Id$ on all of these.
Correct Makefile so that we build during all: and only install for
make install.

If /etc/sysconfig exists source it to get the flags for restarting
named with.  If /etc/sysconfig says no named runs, don't try to start one.

Don't attempt to kill anything if we can not find the named.pid file.

Reviewed by:	Nickolay N. Dudorov <nnd@gw.itfs.nsk.su>
1995-05-03 03:26:59 +00:00
Jordan K. Hubbard
411bac67a7 Commit my latest changes before having a nap. Still not close to done,
nor is it in sync with my working sources, but it leaves me less CVS hassles
to bring in the new files at this time.  Still no documentation to translate
quite yet, but soon.  This stuff is actually very close now.
1995-05-01 21:56:32 +00:00
Andrey A. Chernov
7439966a40 Don't accept usernames longer than 8 characters
Submitted by: Wolfram Schneider <wosch@cs.tu-berlin.de>
1995-04-30 19:20:25 +00:00
Jordan K. Hubbard
e40a316fcf o Add extra menu types (radio implemented, multiple choice shortly).
o Make the framework generally more robust.
o Figured out how to nest the menu descriptions - no more grotty initialization
  of menus.
o Fix bug with helpline and helpfile not being reset.
o Add stubs for the media selection code.

Coming next:  Fdisk and disklabel screens using Phk's new libdisk stuff.
1995-04-29 19:33:06 +00:00
Andrey A. Chernov
280bdae500 HAVE_SAVED_UIDS not depends of BSD version but depends
of _POSIX_SAVED_IDS from unistd.h, fix it.
1995-04-29 15:16:41 +00:00
Andrey A. Chernov
926f1d2e59 Close sec. hole: can exec pgm with more groups than calling user have
Include unistd.h and fix few argument old-way things
1995-04-29 13:55:34 +00:00
Andrey A. Chernov
ee9968eab5 Remove FreeBSD-specific setre*() cheat, we have working thing now 1995-04-29 13:38:14 +00:00
Andrey A. Chernov
aa4f20e4df Fix typo in HAVE_SAVED_UIDS define 1995-04-29 13:25:13 +00:00
Jordan K. Hubbard
d9a50f903f Whoops! One of my automatics was initialized to garbage. Fix it. 1995-04-28 18:24:31 +00:00
Søren Schmidt
de4c8be3eb Corrected variable names for syscons support. 1995-04-28 09:08:18 +00:00
Poul-Henning Kamp
ca927fef5b Don't dereference NULL pointers. 1995-04-28 04:58:19 +00:00
Poul-Henning Kamp
4ccbee740d Told Makefile about manpage. 1995-04-28 04:52:33 +00:00
Poul-Henning Kamp
f663de8187 Had a moment, wrote a manpage based on kprof's page. 1995-04-28 04:51:08 +00:00
Jordan K. Hubbard
2283d8e502 Use mtree -U instead of -u and put back error check. Thanks Rod! 1995-04-28 04:16:30 +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
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
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
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
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