Commit Graph

722 Commits

Author SHA1 Message Date
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