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

7380 Commits

Author SHA1 Message Date
Andrey A. Chernov
ffe8306afd Add "before inclusion of any header which ... "
Suggested by: bde
1995-04-04 11:29:51 +00:00
Jordan K. Hubbard
30854325fe Add USE_X11 for ports which are X11 users but don't use IMAKE. 1995-04-04 05:57:19 +00:00
Bill Paul
ef8f52ad53 'Fix' for esoteric misfeature discovered while searching for another bug:
select() returns EINVAL if you try to feed it a value of FD_SETSIZE greater
that 256. You can apparently adjust this by specifying a larger value of
FD_SETSIZE when configuring your kernel. However, if you set the maximum
number of open file descriptors per process to some value greater than
the FD_SETSIZE value that select() expects, many selects() within the RPC
library code will be botched because _rpc_dtablesize() will return
invalid numbers. This is to say that it will return the upper descriptor
table size limit which can be much higher than 256. Unless select() is
prepared to expect this 'unusually' high value, it will fail. (A good
example of this can be seen with NIS enabled: if you type 'unlimit' at
the shell prompt and then run any command that does NIS calls, you'll
be bombarded with errors from clnttcp_create().)

A temporary fix for this is to clamp the value returned by _rpc_dtablesize()
at FD_SETSIZE (as defined in <sys/types.h> (256)). I suppose the Right
Thing would be to provide some mechanism for select() to dynamically
adjust itself to handle FD_SETSIZE values larger than 256, but it's a
bit late in the game for that. Hopefully 256 file descriptors will be enough
to keep RPC happy for now.
1995-04-04 05:53:22 +00:00
Bill Paul
958f4e365d getpwent.c: fix problem with emacs dumping core when NIS is enabled. Also
add #includes for YP headers when compiling with -DYP to avoid some implicit
declarations.

getgrent.c & getnetgrent.c: add some #includes to avoid implicit declarations
of YP functions.
1995-04-04 05:36:16 +00:00
Gary Palmer
9a8496fd7b Remove a `.' from the end of the echo line
`>> Attempting to fetch from $${site}' as it is misleading
1995-04-04 04:23:37 +00:00
David Greenman
bb2d12a636 Check for case of blkno already known to avoid unnecessary VOP_BMAP's.
Submitted by:	John Dyson
1995-04-04 02:10:17 +00:00
David Greenman
6824b322b1 Added prototype for phashinit() function. 1995-04-04 02:02:28 +00:00
David Greenman
22e53424b2 kern_subr.c:
Added a new type to uiomove - "UIO_NOCOPY" which causes it to update
pointers and counts, but doesn't do any data copying. This is needed
for upcoming changes to the way that the vnode pager does its page
outs.
Added a new hash init function call "phashinit" that allocates and
initializes a prime number sized hash table.

vfs_cache.c:
Changed hashing algorithm to use the remainder of dividing by a prime
number to improve the distribution characteristcs. Uses new phashinit
function in kern_subr.c.
1995-04-04 02:01:13 +00:00
David Greenman
2e837708b1 Fixed the formatting breakage I added in the previous commit. 1995-04-04 01:35:33 +00:00
Andrey A. Chernov
05e2ed0de3 Properly describe how to expand default limit of handled descriptors 1995-04-04 01:27:54 +00:00
Joerg Wunsch
29c52ddd49 date(1) didn't emit a final newline if the format had been specified
with `+'.  This breaks tradition and violates Posix 1003.2.

Discoverd by: luigi@labinfo.iet.unipi.it (Luigi Rizzo)
1995-04-03 20:08:33 +00:00
Andrey A. Chernov
021ad37586 Allow serial console BREAK to DDB
Use com->unit in several places
1995-04-03 10:29:14 +00:00
Nate Williams
13eb8ded47 This is the 90's, ask the user for a Subject by default when sending mail. 1995-04-03 05:40:54 +00:00
Nate Williams
146e71662f Added -I/usrinclude to the tail end of the INCLUDES line. This hack
will cause kernel compiles to work even if the src/includes directory
doesn't exist but still do the 'Right Thing' and pull files from the
source tree if it does exist.

Reviewed by:	Bruce Evans
1995-04-03 01:13:50 +00:00
Bill Paul
9711ae2a9f Fix implicit declaration the right way. (This has not been a good
weekend for me.)
1995-04-03 00:25:06 +00:00
Bill Paul
a10f48530b Fix implicit declaration of cngetc(). 1995-04-02 23:02:17 +00:00
Bruce Evans
df62fcee1f Update declaration to match the change made to dir.c a few hours ago. 1995-04-02 22:53:36 +00:00
Bill Paul
0b2a7a1bff Take yp_svc.c out of CLEANFILES rule. 1995-04-02 20:28:09 +00:00
Bill Paul
f9dde4e78c Submitted by: Sebastian Strollow
Obtained from: Casper H. Dik (by vay of Usenet)

Small patch to help improve NIS rebinding times (among other things):


>From: casper@fwi.uva.nl (Casper H.S. Dik)
>Newsgroups: comp.sys.sun.misc,comp.sys.sun.admin
>Subject: FIX for slow rebinding of NIS.
>Summary: a small change in libc makes life with NIS a lot easier.
>Message-ID: <1992Jan17.173905.11727@fwi.uva.nl>
>Date: 17 Jan 92 17:39:05 GMT
>Sender: news@fwi.uva.nl
>Organization: FWI, University of Amsterdam
>Lines: 138
>Nntp-Posting-Host: halo.fwi.uva.nl

Have you been plagued by long waits when your NIS server is rebooted?
READ ON!

Sun has a patch, but the README says:

********************* WARNING ******************************

  This is a new version of ypbind that never uses the NIS
  binding file to cache the servers binding. This will have
  the effect of fixing the current symptom. However, it might
  degrade the overall performance of the system when the
  server is available. This is most likely to happen on an
  overloaded server, which will cause the network to produce
  a broadcast storm.

*************************************************************

Therefor, I have produced another fix.

o What goes wrong.

When the NIS server is rebooted, ypserv will obtain different ports
to listen for RPC requests. All clients will continue to use the old
binding they obtained earlier. The NIS server will send ICMP dst unreachable
messages for the RPC requests that arrive at the old port. These ICMPs
are dropped on the floor and the client code will continue sending the
requests until the timer has expired. The small fix at the end of this
message will pick up these ICMP messages and deliver them to the RPC layer.

o Before and after.

I've tested this on some machines and this is the result:

	(kill and restart ypserv on the server)

original% time ypmatch user passwd
user:....
0.040u 0.090s 2:35.64 0.0% 0+126k 0+0io 0pf+0w (155 seconds elapsed time)

fixedhost% time ypmatch user passwd
user:....
0.050u 0.050s 0:10.20 0.9% 0+136k 0+0io 0pf+0w (10 seconds elapsed time)

Rebinding is almost instantaneous.

o Other benefits.
	RPC calls that use UDP as transport will no longer time out but
	will abort much sooner. (E.g., the remote host is unreachable or
	111/udp is filtered by an intermediate router)
1995-04-02 20:05:20 +00:00
Bill Paul
adaf7ba36a Add back some stuff to yppush.c that I was a little over-zealous in
removing. Also do away with compiling yp_svc.c: yppush doesn't need it.
1995-04-02 20:01:50 +00:00
Bill Paul
6cc65caedb Fix xdr_ypmap_parms() so that it agrees with xdr_domainname(), xdr_peername()
and friends.
1995-04-02 19:58:29 +00:00
Andrey A. Chernov
b97843726d Fix manpage rule 1995-04-02 19:35:40 +00:00
Andrey A. Chernov
bedbd95393 Back out changes related to locked bits until more elegant
solution will be found. Remove some unused variables sneaked in.
1995-04-02 19:28:58 +00:00
Andrey A. Chernov
efb76ea60f Back out changes related to locked bits until more elegant solution will be
found. Fix flags declarations.
1995-04-02 19:26:50 +00:00
Bruce Evans
8c62f8d80f Remove redundant declarations. 1995-04-02 19:05:09 +00:00
Bruce Evans
73d1243fe5 Include <stdlib.h> so that malloc() is declared. 1995-04-02 19:01:07 +00:00
Bill Paul
b8ca7ca6c6 Removed code from yp_xdr.c module that now lives in libc. (Unfortunately,
ypxfr can't easily be reduced down to one file like yppush because it
needs to do certain special things (such as binding to a specific
machine (the NIS master)) which the yp_*() functions in libc don't
allow.
1995-04-02 17:01:31 +00:00
Bruce Evans
11a40aa5ad Submitted by: Philippe Charnier <charnier@lirmm.fr>, added to by bde
Fix all the warnings from `gcc -Wall'.
1995-04-02 16:52:14 +00:00
Bruce Evans
444da1eb3c Make this actually work. It always failed in FreeBSD because it attempted
to open the mounted block device containing the directory to put the bad
sector files in, and opening of mounted block devices hasn't been allowed
since Net/2 or before.  Attempt to open the raw device instead.  Be more
careful about long names.

Use lstat() instead of stat() to search for block devices so that my
symlink to the default floppy doesn't cause problems.

Check for truncation of the block number when it is squeezed through the
mknod() interface.  The maximum used to be only 32767, but now it large
enough.
1995-04-02 16:36:39 +00:00
Joerg Wunsch
9bb751a368 Attempt to fix the `you can log into console only once' problem (PR
#179).  The fix implements a ttyhalfclose() (sort of), resetting the
session and pgrp pointers when the physical device is about to be
closed.

Suggested by: bde
1995-04-02 16:14:51 +00:00
Bill Paul
56e74043f4 Make yppush compile again when obj directory exists. *groan* 1995-04-02 16:00:30 +00:00
Bruce Evans
3eeb5bdcb3 Submitted by: Philippe Charnier <charnier@lirmm.fr>, distilled by bde
Fix a couple more bogus types that aren't reported by `gcc -Wall'.
1995-04-02 15:25:19 +00:00
Bruce Evans
31f4ab50bc Submitted by: phk, added to by bde
Fix all the warnings from `gcc -Wall'.
1995-04-02 14:52:29 +00:00
Bruce Evans
15519b2f58 Fix compiler warnings: don't declare enum types as static. 1995-04-02 13:11:14 +00:00
Andrey A. Chernov
890bf1b00d Fix error:
old type (stty) ioctls can easily bypass locking bits.
It involves manual conversion from old ioctls to new ones,
large piece of code duplicated from tty_compat.c
1995-04-02 04:21:09 +00:00
Andrey A. Chernov
c6345bc1b6 Fix error in TIOCSETC/TIOCSLTC, they need to call TIOCSETA.
Remove static from some functions, needed in sio (later)
1995-04-02 04:15:08 +00:00
Andrey A. Chernov
1ef5e50eee Return EINVAL instead of setting wrong in/out speed
Fix declaration of cc arrays
Remove static from compatspcodes, will needed in sio (later)
1995-04-02 03:51:53 +00:00
Bill Paul
9f3db41ff5 Fix long standing bogosity in ypbind: if /var/yp/binding doesn't exist,
ypbind is supposed to create it but it doesn't. This is because when
it checks the return value for the attempted open() of
/var/yp/binding/DOMAIN.VERSION, it tests only for a value of -1. This
is bogus because open() doesn't return -1 in this case. Now it checks
for < 0 instead.

This should make life easier for many NIS-newbies who would otherwise
be left scratching their heads wondering why the NIS client stuff won't
work despite their best efforts. ("I set the domain name on my machine,
and /var/yp exists, but when I start ypbind and try a 'ypcat passwd,'
it says it can't bind to a server for this domain! Please help!")

*long, heavy sigh*
1995-04-02 03:10:55 +00:00
Bill Paul
df561fc414 Spruce up Makefile.yp: add support for netgroups and bootparams maps,
make use of yp_mkdb's -i, -o and -m flags.
1995-04-02 01:53:47 +00:00
Andrey A. Chernov
5fba2bf3bd Move SET_BYPASS macro to function per Bruce suggestion.
Add set_bypass() call after l_close.
Move ttioctl()/set_bypass() pair under spltty() protection
1995-04-02 01:47:06 +00:00
Bill Paul
84e41ecfbe Get rid of ether_addr.c: it's been moved to libc. Also add proper
declaration for ether_ntohost(). (Does anyone know what header file
is supposed to contain the declarations for the ether_addr functions?
I can't them in the SunOS includes anywhere.)
1995-04-02 01:35:54 +00:00
Bill Paul
7680d1b004 Add ether_addr functions to libc. This seems to be the logical place
to put them. A man page is in the works.
1995-04-02 01:31:17 +00:00
Bill Paul
5f6d32c735 Add declaration for struct ether_addr (this is where Sun documents
it to go).
1995-04-02 01:26:26 +00:00
Bill Paul
812647ed6b Reduce yppush. Now that all the required yp_xdr functions are
in libc, we can get rid of the private/special copies of yp_*.c
files and rpcgen them at compile time instead. This leaves us with
just one unique source files: yppush.c
1995-04-02 01:10:13 +00:00
Bill Paul
97fd4ecfb6 Add some missing xdr functions needed for server-side implementations.
(This is to help me reduce yppush a bit: it has its own copy of yp_xdr.c
right now, but I can get rid of it now that this stuff is here.)
1995-04-02 01:02:17 +00:00
Bruce Evans
439b2b1e9c Add braces to fix wrong if-if-else-if nesting that broke `cp -pR' for
fifos.
1995-04-02 00:49:16 +00:00
Andrey A. Chernov
d8e3948cc1 Finally restore my original MAIL fix after all junk patches. 1995-04-02 00:16:09 +00:00
Bruce Evans
5f679211e3 Fix slioctl(). It has to return -1 for ioctls that it doesn't know about
so that these ioctls can be handled by the calling layer(s).

Clean up the recently added code:
- include the appropriate header to declare an implicitly declared function.
- declare timeout functions correctly and remove numerous bogus casts that
  hid (but didn't fix) their incorrectness.
1995-04-02 00:11:48 +00:00
Andrey A. Chernov
5daae55cdf Move setting BYPASS state to macro, use it in several times,
after ttioctl too, because it can change t_line.
Remove (TS_CNTTB | TS_LNCH) test, it is always inherits from
old tty mode and can't be reach in currently setted mode.
1995-04-01 23:56:08 +00:00
Andrey A. Chernov
6a5f6acc8d Adjust TS_CAN_BYPASS_L_RINT state after l_open(), t_line
can be changed there.
1995-04-01 22:57:43 +00:00