Commit Graph

9131 Commits

Author SHA1 Message Date
bde
94cb7648d6 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
bde
fb20709ee5 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
bde
daf18dea5d 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
bde
b32a53127d 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
bde
af7589c6db 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
bde
d22de13b50 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
bde
7eb2bbeebf 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
dg
5d7eb9210c 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
bde
0549ed42b3 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
bde
e54a1e1c25 Add to TODO list and move it to near the top of the file. 1995-07-21 14:15:09 +00:00
bde
3ffd437ad7 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
jkh
7e7ec9acb6 Support for the Boeder DCF77 Receiver
Submitted by: Vincenzo Capuano <VCAPUANO@VMPROFS.ESOC.ESA.DE>
1995-07-21 13:04:07 +00:00
jkh
237c7bb61e 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
dg
a7d1870599 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
dg
dc33f04058 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
dg
ab7b1f1cbf 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
wpaul
f369859c32 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
pst
0d96965bab Remove vat_audio driver support 1995-07-20 16:31:22 +00:00
wollman
6b93946250 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
wollman
7d4b8f84f0 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
pst
5b689f15e4 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
pst
d1a257b33a 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
pst
d6b93135e2 Update telnet to the 95.05.31 release.
Obtained from:	Dave Borman <dab@cray.com>
1995-07-20 11:40:06 +00:00
dg
b8e783516f vnode_pager_alloc() never returns NULL, so don't check for it. 1995-07-20 09:43:12 +00:00
dg
af78438176 #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
wpaul
c0d9518d8d 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
ache
daa31af2a2 Update version info
Reviewed by:
Submitted by:
Obtained from:
1995-07-19 17:01:56 +00:00
ache
54df868824 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
dg
2b147931b6 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
wpaul
5cc8f19489 Use daemon() to deamonify ourselves. 1995-07-18 21:35:32 +00:00
jfieber
e3cfc5d38e 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
8424d675bc 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
gibbs
5105427ac0 Add missing quote to yyerror call. 1995-07-18 06:11:34 +00:00
peter
ee0afa6a32 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
5c9cd70426 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
gibbs
5fa4b742ae 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
gibbs
b104528a4f 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
gibbs
5fdcdb1c95 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
torstenb
175ddbc728 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
jfieber
2576920e62 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
rgrimes
10492a66fb FreeBSD/386 -> FreeBSD/i386
Submitted by:	Thomas Graichen <graichen@sirius.physik.fu-berlin.de>
1995-07-17 20:07:47 +00:00
mpp
998d53484b Cleanup old kernel database files in /var/db. 1995-07-17 19:36:17 +00:00
jkh
bd1a59f7bc Simplify the USE_IMAKE stuff considerably.
Suggested by:	asami
1995-07-17 16:20:58 +00:00
wollman
0c919b414e 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
jkh
e8e2db20ac The LINKS variable was being improperly specified as non-relative to
${DESTDIR}.
1995-07-17 14:43:06 +00:00
jkh
6b097a7a74 Take hardcoded /usr/sbin out of the install target. 1995-07-17 14:39:09 +00:00
peter
8ae5004138 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
13a2f9572b 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
dg
8114a421df Fixed "bufspace" calculation. It was lossy in some circumstances of the
buffer resizing and caused a "newbuf" deadlock.

Reviewed by:	John Dyson & David Greenman
Submitted by:	Peter Wemm
1995-07-17 06:26:07 +00:00
rgrimes
01b1cf2502 Use correct spelling of ``knew''.
Obtained from:	netbsd-bugs@NetBSD.ORG, Peter Seebach <seebs@solon.com>
1995-07-17 04:54:33 +00:00