Commit Graph

8931 Commits

Author SHA1 Message Date
David Greenman
d15ea423f7 Correct my cut-'n-paste job from ffs_vfsops.c and fix up the formatting
to be similar.

Submitted by:	Bruce Evans
1995-07-22 03:32:18 +00:00
Bruce Evans
a16721a13a Move the inline code for waking up writers to a new function
ttwwakeup().  The conditions for doing the wakeup will soon become
more complicated and I don't want them duplicated in all drivers.

It's probably not worth making ttwwakeup() a macro or an inline
function.  The cost of the function call is relatively small when
there is a process to wake up.  There is usually a process to wake
up for large writes and the system call overhead dwarfs the function
call overhead for small writes.
1995-07-22 01:30:45 +00:00
Bruce Evans
2ce42987d3 Obtained from: partly from ancient patches of mine via 1.1.5
Move static termioschars() from a couple of drivers to tty.c.  Now there
is only one copy of ttydefchars[].
1995-07-21 22:52:01 +00:00
Bruce Evans
6644e30617 Obtained from: partly from ancient patches by ache and me via 1.1.5
Nuke `symbolic sleep message strings'.  Use unique literal messages so that
`ps l' shows unambiguously where processes are sleeping.
1995-07-21 20:57:15 +00:00
Bruce Evans
ee967ce1b9 Obtained from: partly from an ancient patch of mine via 1.1.5
Temporarily nuke TS_WOPEN.  It was only used for the obscure MDMBUF
flow control option in the kernel and for informational purposes
in `pstat -t'.  The latter worked properly only for ptys.  In
general there may be multiple processes sleeping in open() and
multiple processes that successfully opened the tty by opening it
in O_NONBLOCK mode or during a window when CLOCAL was set.  tty.c
doesn't have enough information to maintain the flag but always
cleared it in ttyopen().

TS_WOPEN should be restored someday just so that `pstat -t' can
display it (MDMBUF is already fixed).  Fixing it requires counting
of processes sleeping in open() in too many serial drivers.
1995-07-21 17:47:08 +00:00
Bruce Evans
491cb8cd99 Obtained from: partly from anancient patch of mine via 1.1.5
Fix races for FIONREAD, TIOCSTI and TIOCSTAT.
1995-07-21 17:30:12 +00:00
Bruce Evans
283fecc144 Document new tty states TS_CONNECTED, TS_SO_OLOWAT, TS_SO_OCOMPLETE,
TS_CAR_OFLOW, TS_CTS_OFLOW, TS_DSR_OFLOW and TS_ZOMBIE.

Document old tty states TS_ASLEEP and TS_TTSTOP more completely.

Document old tty states TS_ASYNC and TS_TBLOCK.

Document not so old tty states TS_CAN_BYPASS_L_RINT and TS_SNOOP.

Don't document nonexistent state TS_HUPCL.

Document the current line disciplines instead of prehistoric ones.
1995-07-21 17:03:34 +00:00
Bruce Evans
24f769b024 Support cy driver. All tty drivers require namelist stuff here or they
won't get reported.  The pcvt, cx and iitty drivers aren't supported.

Report new tty states TS_CONNECTED, TS_SO_OLOWAT, TS_SO_OCOMPLETE,
TS_CAR_OFLOW, TS_CTS_OFLOW, TS_DSR_OFLOW and TS_ZOMBIE if they are
defined.

Report old tty states TS_WOPEN and TS_ASLEEP only if they are defined.

Report not so old tty states TS_CAN_BYPASS_L_RINT and TS_SNOOP only
if they are defined (instead of if __FreeBSD__ is defined).
1995-07-21 17:02:29 +00:00
Bruce Evans
0d1de831ea Obtained from: partly from an ancient patch of mine via 1.1.5
Temporarily nuke TS_WOPEN.  It was only used for the obscure MDMBUF
flow control option in the kernel and for informational purposes
in `pstat -t'.  The latter worked properly only for ptys.  In
general there may be multiple processes sleeping in open() and
multiple processes that successfully opened the tty by opening it
in O_NONBLOCK mode or during a window when CLOCAL was set.  tty.c
doesn't have enough information to maintain the flag but always
cleared it in ttyopen().

TS_WOPEN should be restored someday just so that `pstat -t' can
display it (MDMBUF is already fixed).  Fixing it requires counting
of processes sleeping in open() in too many serial drivers.
1995-07-21 16:30:59 +00:00
David Greenman
8997d94f79 Since ufs_ihashget can block, the lock must be checked for each time
the function returns. Also, moved lock into .bss and made minor cosmetic
changes.

Submitted by:	Bruce Evans
1995-07-21 16:20:20 +00:00
Bruce Evans
d83f358fa3 Obtained from: an ancient patch of mine via 1.1.5
Don't put partial PARMRK escape sequences in the input queue.  Use
MAX_INPUT = TTYHOG instead of TTYHOG directly for the maximum input
queue size.  Don't use the bogus MAX_INPUT advertised in
<sys/syslimits.h>.
1995-07-21 14:41:43 +00:00
Bruce Evans
2ef5801909 Add to TODO list and move it to near the top of the file. 1995-07-21 14:15:09 +00:00
Bruce Evans
a2a072b542 Obtained from: ancient usenet posting as applied to 1.1.5
First of many changes required to restore lost stability to the tty
driver.

ECHONL is supposed to enable echoing of NL when ECHO is off, but it
enabled echoing of everything except NL.
1995-07-21 13:56:29 +00:00
Jordan K. Hubbard
dd77c4bc54 Support for the Boeder DCF77 Receiver
Submitted by: Vincenzo Capuano <VCAPUANO@VMPROFS.ESOC.ESA.DE>
1995-07-21 13:04:07 +00:00
Jordan K. Hubbard
7dc962a0af Part of Vincenzo Capuano's changes to xntpd to support the
Boeder DCF77 Receiver.
Submitted by:	Vincenzo Capuano <VCAPUANO@VMPROFS.ESOC.ESA.DE>
1995-07-21 13:02:13 +00:00
David Greenman
f5526ddb48 Implemented an nfs_node hash list lock, similar to what was implemented
in ffs_vget(), and for the same reason: to prevent a race condition that
results in duplicate vnodes/NFSnodes being allocated.
1995-07-21 10:25:13 +00:00
David Greenman
44918dfed7 Re-lookup the buffer if the vnode isn't locked. The previous check for
VBLK vnodes isn't adequate since all NFS nodes aren't locked, either. The
result is a race condition that would lead to duplicate buffers at the
same block offset.

Submitted by:	John Dyson
1995-07-21 04:55:45 +00:00
David Greenman
2094ddb6f0 Implement a lock in ffs_vget to prevent a race condition where two processes
try allocate the same inode/vnode, causing a duplicate.

Submitted by:	Matt Dillon, slightly reworked by me.
1995-07-21 03:52:40 +00:00
Bill Paul
a974cefe6e Add a -S option to ypbind that allows the following:
-S domainname,server1,server2,server3,...
           The -S flag allows the system administrator to lock ypbind to a
           particular domain and group of NIS servers. Up to ten servers can
           be specified.  There must not be any spaces between the commas in
           the domain/server specification. This option is used to insure that
           that the system binds only to one domain and only to one of the
           specified servers, which is useful for systems that are both NIS
           servers and NIS clients: it provides a way to restrict what ma-
           chines the system can bind to without the need for specifying the
           -ypset or -ypsetme options, which are often considered to be secu-
           rity holes. The specified servers must have valid entries in the
           local /etc/hosts file. IP addresses may be specified in place of
           hostnames. If ypbind can't make sense ouf of the arguments, it will
           ignore the -S flag and continue running normally.

           Note that ypbind will consider the domainname specified with the -S
           flag to be the system default domain.

(According to what Garrett showed me, OSF/1 actually only allows 4 servers
to be specified. Ten seemed to be a bit more reasonable to me.)

Suggested by: G. Wollman
Idea lifted from: OSF/1
1995-07-20 22:33:02 +00:00
Paul Traina
cfb5972713 Remove vat_audio driver support 1995-07-20 16:31:22 +00:00
Garrett Wollman
bbdb094b50 Slightly better message for `ypwhich -x':
was: Use "foo" for "foo.bar"
now: "foo" is an alias for "foo.bar"
1995-07-20 16:30:15 +00:00
Garrett Wollman
2555651f72 Not sure if Rod is still working in these or not, so here goes.
Add nis_ypsetflags sysconfig entry and appropriate code in rc to call
ypset if needed.  Should probably automatically add `-ypsetme' to ypbind
flags if this is set.
1995-07-20 16:26:26 +00:00
Paul Traina
4a0834a5a2 When hostname len > 8, name replaced with dot notation when -u flag
not specified (default case).
Use _PATH_* for utmp/wtmp.

Support for >32 PTYs.
>Submitted by:   Heikki Suonsivu <hsu@cs.hut.fi>

Plug already known security hole. (Brought over from 1.1.5):
Fixed security problem with telnetd, which allowed
   telnet -l -hcert.org localhost
to change the user's host in utmp.
Thanks to Matthew Green <mrgreen@@mame.mu.oz.au> for showing me this one.

>Reviewed by:    karl, guido
>Submitted by:   mrgreen@mame.mu.oz.au

Obtained from:	FreeBSD insecure telnetd
1995-07-20 12:35:01 +00:00
Paul Traina
4fd39f708a The final negotiation of DO_BINARY in the LINEMODE portion of the telnetd code
causes some clients that do not support linemode to mis-interpret the return
key (i.e. double returns).
The fix is to only do the state check for binary options if linemode will
be used.
Closes PR#505.

Submitted by:   Charles Henrich
Obtained from:	FreeBSD insecure telnetd
1995-07-20 12:32:40 +00:00
Paul Traina
9809ff32f6 Update telnet to the 95.05.31 release.
Obtained from:	Dave Borman <dab@cray.com>
1995-07-20 11:40:06 +00:00
David Greenman
24aa09cd4f vnode_pager_alloc() never returns NULL, so don't check for it. 1995-07-20 09:43:12 +00:00
David Greenman
b367ddb191 #if 0'd one of the DIAGNOSTIC checks in vm_page_alloc(). It was too
expensive for "normal" use.
1995-07-20 05:28:07 +00:00
Bill Paul
76064c01e5 Updates, fixes and cleanups -- oh my.
In ypserv:

yp_svc.c:
- small signal handler tweak (hopefully the last): just use sigemptyset()
to clear sa_mask.

Makefile.yp:
- Let the user specify the location of master.passwd when updating
maps (e.g. make MASTER_PASSWD=/some/path/to/master.passwd). Editing
the file to change the location of master.passwd still works. This
is mostly to let yppassswdd specify the name of the master.passwd
file itself.

In yppasswdd:

yppasswdd.c:
- Roll in some minor changes (mostly casts) from Olaf Kirch's latest
yppasswd package release (version 0.7).
- Use daemon() instead of doing all the deamonizing gruntwork ourselves.
- Call pw_init() after daemonizing ourselves. pw_init() sets up some
resource limits and blocks some signals for us. We used to do this before
every password change, but there's really no point in calling it more
than once during the life of the program.
- Change install_reaper() so that we can use it to de-install the SIGCHLD
handler if we need to (and we do in pw_mkdb() -- this is what I get for
splicing code from two different programs together).
- Use sigemptyset(&act.sa_mask) rather than act.sa_mask = 0: the latter is
decidedly non-portable. (In IRIX, HP-UX and Solaris, sigset_t is an
array of longs, not an int.)

update.c:
- Roll in change from new version (check that we're not modifying an NIS
entry in validate_args()).
- Get rid of call to pw_init() (moved to yppasswdd.c).
- Check return values from pw_util routines and return error status to
yppasswd clients if there's a problem.
- Straighten out password file copying mechanism a little. Keep a grip
on the original password file rather than summarily overwriting it so
that we can restore everything if we fail to fork() a process to update
the NIS maps.
- Pass the name of the password template file (specified with -m or
/etc/master.passwd by default) to the yppwupdate script, which in
turn should now pass it to /var/yp/Makefile.

pw_util.c:
- Nuke the pw_edit() and pw_prompt() functions -- we don't need them.
- Change all warn()s, warnx()s and err()s to syslog()s.
- Make sure we return error status to caller rather than bailing out
in pw_lock() and pw_tmp().
- Don't block SIGTERM in pw_init() (by ignoring SIGTERM, we prevent
yppasswdd from being shut down cleanly).
- Don't let pw_error() exit. (This stuff was stolen from chpass and vipw
which are interactive programs; it's okay to let pw_error() bail out
for these programs, but not in a daemon like yppasswdd).
- Fix signal handling in pw_mkdb (we need to temporarily de-install the
SIGCHLD handler so that we can wait on the pwd_mkdb child ourselves).

pw_copy.c:
- Change all warn()s, warnx()s and err()s to syslog()s.
- Add a bunch of returns() and make pw_copy() return and int ( 0 on success,
-1 on failure) so that update.c can flag errors properly.
- Return -1 after calling pw_error() to signal failures rather than
relying on pw_error() to bail out.
- Abort copying if we discover that we've been asked to change an entry
for a user that exists in the NIS passwd maps but not in the master.passwd
template file. This can happen if the passwd maps and the template file
fall out of sync with each other (or if somebody tries to spoof
us). The old behavior was to create add the entry to the password file,
which yppasswdd should not do under any circumstances.

Makefile:
- update VERSION to 0.7

yppasswdd.8:
- fix typo (forgot a carriage return somewhere)
- remove bogus reference to pwunconv(8) which FreeBSD doesn't have.
- bump version from 0.5 to 0.7
- Reflect changes in password file handling.

yppwupdate:
- Log map rebuilds to /var/yp/ypupdate.log.
- Pass the name of the template password file to /var/yp/Makefile as
$MASTER_PASSWD.
1995-07-19 17:44:41 +00:00
Andrey A. Chernov
622a231988 Update version info
Reviewed by:
Submitted by:
Obtained from:
1995-07-19 17:01:56 +00:00
Andrey A. Chernov
5d633ee823 Sync with bash 1.4.5 version
Check some null pointers before action, cosmetique fixes
Submitted by:
Obtained from:
1995-07-19 17:01:18 +00:00
David Greenman
e9857eee2b Rewrote memory sizing code to generally deal with holes in extended memory.
This code change should allow certain Compaq machines with a 128K hole
at 16MB to work.
1995-07-19 06:37:12 +00:00
Bill Paul
cef6b9bc3e Use daemon() to deamonify ourselves. 1995-07-18 21:35:32 +00:00
John Fieber
7f101baa9d Document the new digest forms of the hackers, current, and questions
mailing lists.
Submitted by:	"Jonathan M. Bresler" <jmb@kryten.Atinc.COM>
1995-07-18 21:33:53 +00:00
Peter Wemm
42c03a52ba Change the compile-time option of DIRECTED_BROADCAST into a sysctl
variable underneath ip, "directed-broadcast".
Reviewed by:	David Greenman
Obtained from:	NetBSD, by Darren Reed.
1995-07-18 09:56:44 +00:00
Justin T. Gibbs
f7ad28d790 Add missing quote to yyerror call. 1995-07-18 06:11:34 +00:00
Peter Wemm
6367cd09b8 When 'w' finds an IP address in the ut_host field, it attempts to do
a gethostbyname() on it.  That can take a long time...  (especially
if the reason the IP address is in there in the first place is because
login/rlogind/telnetd couldn't find it either....)
This patch reduces the gethostbyaddr lookup time to 2 seconds, the idea being
that if the local nameserver knows the answer, it'll answer within that time,
otherwise we dont care... :-)
This change doesn't do anything about whether or not w should do this in the
first place, but at least it will make the current behavior less painful.
Reviewed by:	David Greenman
1995-07-18 05:07:02 +00:00
Peter Wemm
7908b94389 Oops! Andrey pointed out tht setlocale(LC_CTYPE, "") doesn't actually
work for locale's with multibyte characters.  Backing this out....
cvs diff -c -r1.1 -r1.2 main.c | patch -R
Reviewed by:
Submitted by:
Obtained from:
1995-07-18 01:03:46 +00:00
Justin T. Gibbs
31acd246c0 Allow the specification of the controller bus when wiring down scsi buses.
This is performed by using a line similar to:

controller scbus0 at ahc0 bus 1

to wire scbus0 to the second bus on an adaptec 2742T controller.

Reviewed by: Peter Dufault(dufault@hda.com), Rod Grimes(rgrimes@FreeBSD.org)
1995-07-17 23:38:16 +00:00
Justin T. Gibbs
eb62827d8a Specify the controller bus in the scsi_link structure to allow hardwired
buses on multi-bus controllers.  Currently only affects the 274xT controllers.

Reviewed by: Peter Dufault(dufault@hda.com), Rod Grimes(rgrimes@FreeBSD.org)
1995-07-17 23:35:16 +00:00
Justin T. Gibbs
4fbaf9a7c0 Add examples for wiring down scbuses to drivers as well as specifying
controller buses for multi-bus controllers.
1995-07-17 23:32:53 +00:00
Torsten Blum
e162d528d0 lpr uses access(2) to determine if the parent directory of the file
is writeable (by the real uid). if it is, lpr assumes that the file
can be unlinked. lpr does not check for directories with S_ISVTX set

Reviewed by:	dima
1995-07-17 21:19:09 +00:00
John Fieber
fd75b875db Correct some misinformation about using the MS-DOS xcopy command.
Fix some english syntax errors.  (More corrections needed)
Submitted by:	Kristyn Fayette <kristyn@gnu.ai.mit.edu>
1995-07-17 20:24:09 +00:00
Rodney W. Grimes
264f3ec466 FreeBSD/386 -> FreeBSD/i386
Submitted by:	Thomas Graichen <graichen@sirius.physik.fu-berlin.de>
1995-07-17 20:07:47 +00:00
Mike Pritchard
e5b5ec5580 Cleanup old kernel database files in /var/db. 1995-07-17 19:36:17 +00:00
Jordan K. Hubbard
bf484e2f19 Simplify the USE_IMAKE stuff considerably.
Suggested by:	asami
1995-07-17 16:20:58 +00:00
Garrett Wollman
357b78a939 Return EDESTADDRREQ rather than EADDRNOTAVAIL if the user attempts to
half-configure a point-to-point interface.

Submitted by:	Jonathan M. Bresler <jmb@kryten.atinc.com>
1995-07-17 15:15:15 +00:00
Jordan K. Hubbard
43395b3be7 The LINKS variable was being improperly specified as non-relative to
${DESTDIR}.
1995-07-17 14:43:06 +00:00
Jordan K. Hubbard
667e132052 Take hardcoded /usr/sbin out of the install target. 1995-07-17 14:39:09 +00:00
Peter Wemm
6689ae4b04 pac had a grudge against usernames starting with 't', because of a typo.
Reviewed by:
Submitted by:	Kenji Tomita
Obtained from:
1995-07-17 13:14:01 +00:00
Peter Wemm
605abcde5e Make 'more' sensative to the current locale for it's ctype calls.
Reviewed by:
Submitted by:	Thomas Gellekum, with minor cosmetic changes from me.
Obtained from:
1995-07-17 12:37:50 +00:00