Commit Graph

14350 Commits

Author SHA1 Message Date
wollman
7728be6a19 Instrument UDP PCB hashing to see how often the hash lookup is effective
for incoming packets.
1996-06-05 17:20:35 +00:00
wollman
854e39e6ff Don't allow trailing garbage after the unit number in ifunit(). 1996-06-05 17:12:41 +00:00
wollman
1468269a2d Correct formula for TCP RTO calculation. Also try to do a better job in
filling in a new PCB's rttvar (but this is not the last word on the subject).
And get rid of `#ifdef RTV_RTT', it's been true for four years now...
1996-06-05 16:57:38 +00:00
ache
b49438dc5e Activate collate 1996-06-05 16:41:10 +00:00
dyson
0a8327d34d I missed a case of the page table page dirty-bit fix. 1996-06-05 06:36:21 +00:00
wpaul
10d19b1c5c Whoops: dragged along an extra copy of the protocol
definition file by mistake. This isn't needed so long
as the one in include/rpcsvc is installed.
1996-06-05 06:15:07 +00:00
wpaul
256ab54bcc Added support for in-place updates:
If rpc.yppasswdd is invoked with the -i flag, password changes will
be made to the master.passwd template file and the hash map files
in-place, which means it won't have to run a complete map update.
Instead, it calls /var/yp/Makefile with the 'pushpw' target, which
just pushes the maps to the slaves and runs yp_mkdb -c to tell the
local ypserv to flush its database cache.

The server will check the passwd.byname and passwd.byuid maps to see
if they were built in 'insecure' or 'secure' mode (i.e. with real
encrypted passwords in them or without) and update them accordingly.

This combined with rpc.ypxfrd greatly reduces the amount of time it
takes to complete an NIS password change, especially with very large
passwd databases.
1996-06-05 06:13:09 +00:00
wpaul
50858c4b07 Update to pass new arguments now expected by the yp_dbwrite routines.
No functional changes.
1996-06-05 05:46:20 +00:00
wpaul
cfe8d8ecd0 Add support for rpc.ypxfrd and document it in the man page.
Also generallize the yp_dbwrite functions a little: allow the caller
to specify certain flags. I need this mostly for some changes to
rpc.yppasswdd to allow in-place updates.

Also change Makefile a little to use the same format as ypserv.
1996-06-05 05:42:52 +00:00
nate
5fa1cd2dbf Minor formatting changes. No functional differences, but makes the
style more consistant with KNF and the Nomad release.
1996-06-05 05:30:09 +00:00
wpaul
97186ad7f8 Add rpc.ypxfrd. 1996-06-05 05:23:59 +00:00
phk
d66ac4ab2e Add pccard to makefile system 1996-06-05 04:40:41 +00:00
phk
7565af19fa Add BINDIR 1996-06-05 04:39:34 +00:00
wpaul
f46a686c65 This commit was generated by cvs2svn to compensate for changes in r16125,
which included commits to RCS files with non-trunk default branches.
1996-06-05 04:36:55 +00:00
wpaul
fc29d8d579 Import rpc.ypxfrd.
This server impliments an RPC-based file transfer protocol that allows
an NIS slave server to copy a raw map database file from an NIS master.

The goal here is to speed up the transfer of very large maps. If you
have, for example, an NIS password database with 30,000 records in it,
it can take around 8 to 10 minutes to regenerate it (four hash databases
are created). As it stands now, ypxfr(8) transfers a map by sucking all
the records from ypserv(8) on the master using yp_all() and writing them
to a new database using the db(3) library. This adds up to another 8 to 10
minutes, per slave. With as the number of slaves increases, this latency
becomes prohibitive.

With rpc.ypxfrd, all the slave has to do is copy the already-built
hash database file from the master and move it into place. Even with a
multi-megabyte file, this reduces the master to slave transfer time
to well under a minute. (This is using TCP.)

Access restrictions are applied using the same mechanism as in ypserv:
you can control access using /var/yp/securenets, and the server will
not transmit the master.passwd.* maps unless the transfer request originates
on a reserved port.

Note: this server is based on my hastily contrived protocol and is _NOT_
compatible with Sun's protocol of the same name. It can't be compatible
for a couple of reasons. For one thing, Sun's protocol has not been published
anywhere that I know of. It is not included in any of the SunRPC source
distributions that I've been able to find. Second, Sun's NIS v2 code
uses old style ndbm maps while FreeBSD uses Berkeley DB. The file formats
are incompatible, so being able to transfer maps between FreeBSD and SunOS
hosts wouldn't do any good anyway. (You could always port the FreeBSD NIS
code to SunOS if you really wanted to do it. :)

(There's also the little fact that SunOS/SPARC is big-endian and FreeBSD/i386
is little-endian. Berkeley DB can handle byte ordering differences; ndbm
probably can't.)
1996-06-05 04:36:55 +00:00
wpaul
c1222c8745 Add ypxfrd.x so that the XDR routines for this protocol will be built
into librpcsvc.
1996-06-05 03:54:43 +00:00
wpaul
afb814364a Now that Peter has been nice enough to bail me out of my last little
mishap, it's time to have the Makefile install ypxfrd.x and ypxfrd.h.
1996-06-05 03:47:18 +00:00
dyson
0d44d496d0 Keep page-table pages from ever being sensed as dirty. This should fix
some problems with the page-table page management code, since it can't
deal with the notion of page-table pages being paged out or in transit.
Also, clean up some stylistic issues per some suggestions from
Stephen McKay.
1996-06-05 03:31:49 +00:00
wpaul
57be1a4b7d (I hope I'm doing this correctly.)
Import a my own little ypxfrd protocol. Note that this protocol is
_NOT_ the same as Sun's, which is proprietary.

This basically impliments an RPC-based file transfer protocol which
lets a slave server suck over a raw map database file from the master.
This is many times faster than the normal method, which requires reading
the records from ypserv via yp_all() and then creating a new database
on the fly, particularly when you have many tens of thousands of
records in a map (e.g. a huge passwd database).

The protocol number I chose falls within the 'user-specified' range.
Maybe we should register it with Sun so we can get an official vendor
number for it. :)
1996-06-05 02:42:33 +00:00
wpaul
2209006899 This commit was generated by cvs2svn to compensate for changes in r16119,
which included commits to RCS files with non-trunk default branches.
1996-06-05 02:42:33 +00:00
wpaul
ee0b27a898 Makefile.yp:
- Add a 'pushpw' target that only yppushes the various passwd maps
  and sends a YPPROC_CLEAR to the local ypserv. This will be used by
  rpc.yppasswdd once I merge in the in-place update changes.

yp_access.c:

- Make the yp_access() function print RPC program and procedure numbers
  that it doesn't know about in literal form. This will allow it to work
  with other prgrams that it doesn't know about, like rpc.ypxfrd I'm going
  to import shortly.

yp_dblookup.c:

- Take out the __inline keywords. They weren't really helping me anyway.

- Somehow I broke yp_next() when DB_CACHE wasn't #defined. Fix it.

- Also fix potential case where yp_next() might loop forever; make sure
  it checks the return values of all the (dbp->seq)()/R_NEXT calls that
  it does as well as comparing keys.
1996-06-05 02:01:31 +00:00
jraynard
120d0eba37 Submitted by: (based on code in "Advanced Programming in the Unix Environment"
by W.Richard Ste vens. EINTR handling suggested by bde@freebsd.org).

Code cleanup:

1. Add missing return type.
2. Replace 'union wait' by int.
3. Use Posix-style signal handling instead of signal().
4. Use fork() instead of deprecated vfork().
5. Block signals before fork()'ing, instead of after.
6. Return -1 if fork() fails, instead of 0.
7. Add EINTR handling for waitpid() call.

Also add claim of Posix conformance to man page.
1996-06-05 00:08:54 +00:00
nate
e58ed0b40d Bring in changes from if_ep.c for PCCARD driver.
Properly determine the offset of the remaining bytes we need to transfer
after outsl'ing all the long words we can during transmission in 32bit mode.
1996-06-04 21:41:01 +00:00
phk
1f82ebc850 Install pccard includes. 1996-06-04 21:30:35 +00:00
jfieber
3cae834b94 Upgrade from 1.1 to 1.1.91. Unknown to me, the latter version was
actually available at the time I brought in the former.
Lots of assorted bug fixes and much needed support for catalogs.
1996-06-04 19:09:50 +00:00
nate
e106c28b4d Freudian slip. Change M_DEVBUG -> M_DEVBUF.
Submitted by:	 "Stephen F. Combs" <combssf@salem.ge.com>
1996-06-04 17:50:28 +00:00
nate
5c651ff2be Fix typo. in the APM_DSVALUE_BUG code that I missed.
Obtained from:	Someone on the mailing list (sorry, I forgot who)
1996-06-04 17:37:46 +00:00
jraynard
7c85cf484b Code clean up:
Changed type of pid from int to pid_t. (Missed one!)
1996-06-04 17:35:15 +00:00
pst
d094bb1a9a Pass in both username and file to jkfprintf 1996-06-04 15:42:09 +00:00
gpalmer
ea213ec0d4 Close a file descriptor leak. Possibly closes PR #1212 1996-06-03 21:35:21 +00:00
sos
1641bc8d17 Added missing CR0_NW define for Cyrix 486DLC support. It's still not
stable on my hardware, but its better... *sigh*

Obtained from: NetBSD
1996-06-03 19:37:38 +00:00
jdp
9b5a678c53 Fix a bug in the handling of the "persist" state which, under certain
circumstances, caused perfectly good connections to be dropped.  This
happened for connections over a LAN, where the retransmit timer
calculation TCP_REXMTVAL(tp) returned 0.  If sending was blocked by flow
control for long enough, the old code dropped the connection, even
though timely replies were being received for all window probes.

Reviewed by:	W. Richard Stevens <rstevens@noao.edu>
1996-06-03 15:37:52 +00:00
jfieber
7379609bf5 Append a * to the model field of the Archive Viper quirk entry.
Without the wildcard, the drive would never match the entry.
Also add a comment describing how matching takes place to help avoid
problems like this.
1996-06-03 14:25:11 +00:00
jfieber
33715f5261 Fix incorrect handling of .cxx files in default rules. 1996-06-03 13:26:16 +00:00
jraynard
0d573401f4 Code clean up:
Changed type of pid from int to pid_t.
1996-06-03 13:19:10 +00:00
jraynard
dd45335b07 Code clean up:
Added missing headers for system functions.
1996-06-03 13:16:53 +00:00
joerg
a2fec91c4b Add a prototype for ftok(). Doesn't really belong into a <sys/...>
file, but this used to be historical practice.

Submitted by:	fhackers@jraynard.demon.co.uk (James Raynard)
1996-06-03 10:42:30 +00:00
joerg
8bb89e8b0d Minor corrections. The second parameter is actually of type int
(though only char will be used), and our implementation is not really
worse than the SysV one, so there's no need to claim so in the BUGS
section.
1996-06-03 10:40:39 +00:00
jkh
eaf12e3a12 fix PR#599
Submitted-By: jdp
1996-06-03 04:40:43 +00:00
dyson
e0454acdc7 Fix an error when B_MALLOC buffers are returned from the cluster read
code without the B_READ flag being set.  This is a problem when the
data is not cached, and the result will be a bogus attempted write.
Submitted by:	Kato Takenori <kato@eclogite.eps.nagoya-u.ac.jp>
1996-06-03 04:40:35 +00:00
dg
32b6d10027 Use kmem_alloc_wait/kmem_free_wakeup() to avoid allocation failures
from running out of string space in the exec_map.
1996-06-03 04:12:18 +00:00
dg
646b87731d Fix declaration of ps_strings. 1996-06-03 04:09:36 +00:00
asami
443522312b Add Andrew V. Stesin (stesin@elvisti.kiev.ua) and Peter Stubbs
(PETERS@staidan.qld.edu.au) for their wonderful port of squid.
1996-06-03 02:29:38 +00:00
bde
9ce1e5b523 Backed out yacc changes. 1996-06-03 01:56:05 +00:00
jraynard
dabfee7bda Update reference to the 4th edition of this fine book. 1996-06-03 00:37:41 +00:00
alex
e1a4dd11c4 Code cleanup: remove unused variables, use correct *printf format
specifiers (some unsigned values were printed as signed, some longs
were printed as ints), and place parentheses around assignments in
if statements.
1996-06-02 23:19:12 +00:00
dyson
a42d0ee5ec Don't carry the modified or referenced bits through to the child
process during pmap_copy.  This minimizes unnecessary swapping or creation of
swap space.  If there is a hold_count flaw for page-table
pages, clear the page before freeing it to lessen the chance of a system
crash -- this is a robustness thing only, NOT a fix.
1996-06-02 22:28:53 +00:00
gpalmer
80e814d135 Use setreuid instead of seteuid for permissions management 1996-06-02 19:59:26 +00:00
joerg
fe9fbba494 Be slightly more verbose during configure() in the bootverbose case.
This breaks the long silence after the ``npx0'' message and allows to
track some of the problems regarding the root f/s decisions.
1996-06-02 18:58:39 +00:00
joerg
03f65b04c9 Hide the ``wrong signature'' message behind bootverbose. It's
annoying for people who don't have a bus mouse.
1996-06-02 18:57:17 +00:00