1.\" Copyright (c) 1995, 1996 2.\" Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. All advertising materials mentioning features or use of this software 13.\" must display the following acknowledgement: 14.\" This product includes software developed by Bill Paul. 15.\" 4. Neither the name of the author nor the names of contributors 16.\" may be used to endorse or promote products derived from this software 17.\" without specific prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR CONTRIBUTORS BE LIABLE 23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29.\" SUCH DAMAGE. 30.\" 31.Dd June 2, 1996 32.Dt RPC.YPXFRD 8 33.Os 34.Sh NAME 35.Nm rpc.ypxfrd 36.Nd "NIS map transfer server" 37.Sh SYNOPSIS 38.Nm 39.Op Fl p Ar path 40.Sh DESCRIPTION 41The 42.Nm 43utility is used to speed up the distribution of very large NIS maps 44from NIS master to NIS slave servers. 45The normal method for transferring 46maps involves several steps: 47.Bl -bullet -offset indent 48.It 49The master server calls 50.Xr yppush 8 51to inform the slave servers to start a transfer. 52.It 53The slave servers invoke 54.Xr ypxfr 8 , 55which reads the entire contents of a map from the master server 56using the yp_all() function. 57.It 58The 59.Xr ypxfr 8 60program then creates a new map database file by using the 61.Xr db 3 62library hash method to store the data that it receives from the server. 63.It 64When all the data has been retrieved, 65.Xr ypxfr 8 66moves the new file into place and sends 67.Xr ypserv 8 68on the local machine a YPPROC_CLEAR to tell it to refresh its 69database handles. 70.El 71.Pp 72This process can take several minutes when there are very large 73maps involved. 74For example: a passwd database with several tens of 75thousands of entries can consume several megabytes of disk space, 76and it can take the 77.Xr db 3 78library package a long time to sort and store all the records 79in a hash database. 80Consider also that there are two sets of map 81files: 82.Pa master.passwd.by{name,uid} 83and 84.Pa passwd.by{name,uid} . 85.Pp 86The 87.Nm 88utility speeds up the transfer process by allowing NIS slave servers to 89simply copy the master server's map files rather than building their 90own from scratch. 91Simply put, 92.Nm 93implements an RPC-based file transfer protocol. 94Transferring even 95a multi-megabyte file in this fashion takes only a few seconds compared 96to the several minutes it would take even a reasonably fast slave server 97to build a new map from scratch. 98.Pp 99The 100.Nm 101utility uses the same access restriction mechanism as 102.Xr ypserv 8 . 103This means that slave servers will only be permitted to transfer 104files if the rules in the 105.Pa securenets 106database permit it (see 107.Xr ypserv 8 108for more information on 109.Pa securenets ) . 110Furthermore, only slave servers using reserved 111ports will be allowed to transfer the 112.Pa master.passwd 113maps. 114.Sh OPTIONS 115The following option is available: 116.Bl -tag -width indent 117.It Fl p Ar path 118This option can be used to override the default path to 119the location of the NIS 120map databases. 121The compiled-in default path is 122.Pa /var/yp . 123.El 124.Sh FILES 125.Bl -tag -width Pa -compact 126.It Pa /var/yp/[domainname]/[maps] 127The NIS maps for a particular NIS domain. 128.El 129.Sh SEE ALSO 130.Xr yp 8 , 131.Xr yppush 8 , 132.Xr ypserv 8 , 133.Xr ypxfr 8 134.Sh AUTHORS 135.An Bill Paul Aq Mt wpaul@ctr.columbia.edu 136.Sh BUGS 137The 138.Fx 139.Nm ypxfrd 140protocol is not compatible with that used by SunOS. 141This is unfortunate 142but unavoidable: Sun's protocol is not freely available, and even if it 143were it would probably not be useful since the SunOS NIS v2 implementation 144uses the original ndbm package for its map databases whereas the 145.Fx 146implementation uses Berkeley DB. 147These two packages use vastly different 148file formats. 149Furthermore, ndbm is byte-order sensitive and not very 150smart about it, meaning that am ndbm database created on a big endian 151system cannot be read on a little endian system. 152