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.\" $FreeBSD: src/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8,v 1.9.2.3 2003/03/11 22:31:32 trhodes Exp $ 32.\" $DragonFly: src/usr.sbin/rpc.ypxfrd/rpc.ypxfrd.8,v 1.5 2006/11/01 22:41:21 swildner Exp $ 33.\" 34.Dd June 2, 1996 35.Dt RPC.YPXFRD 8 36.Os 37.Sh NAME 38.Nm rpc.ypxfrd 39.Nd "NIS map transfer server" 40.Sh SYNOPSIS 41.Nm 42.Op Fl p Ar path 43.Sh DESCRIPTION 44The 45.Nm 46utility is used to speed up the distribution of very large NIS maps 47from NIS master to NIS slave servers. 48The normal method for transfering 49maps involves several steps: 50.Bl -bullet -offset indent 51.It 52The master server calls 53.Xr yppush 8 54to inform the slave servers to start a transfer. 55.It 56The slave servers invoke 57.Xr ypxfr 8 , 58which reads the entire contents of a map from the master server 59using the yp_all() function. 60.It 61The 62.Xr ypxfr 8 63program then creates a new map database file by using the 64.Xr db 3 65library hash method to store the data that it receives from the server. 66.It 67When all the data has been retrieved, 68.Xr ypxfr 8 69moves the new file into place and sends 70.Xr ypserv 8 71on the local machine a YPPROC_CLEAR to tell it to refresh its 72database handles. 73.El 74.Pp 75This process can take several minutes when there are very large 76maps involved. 77For example: a passwd database with several tens of 78thousands of entries can consume several megabytes of disk space, 79and it can take the 80.Xr db 3 81library package a long time to sort and store all the records 82in a hash database. 83Consider also that there are two sets of map 84files: 85.Pa master.passwd.by{name,uid} 86and 87.Pa passwd.by{name,uid} . 88.Pp 89The 90.Nm 91utility speeds up the transfer process by allowing NIS slave servers to 92simply copy the master server's map files rather than building their 93own from scratch. 94Simply put, 95.Nm 96implements an RPC-based file transfer protocol. 97Transfering even 98a multi-megabyte file in this fashion takes only a few seconds compared 99to the several minutes it would take even a reasonably fast slave server 100to build a new map from scratch. 101.Pp 102The 103.Nm 104utility uses the same access restriction mechanism as 105.Xr ypserv 8 . 106This means that slave servers will only be permitted to transfer 107files if the rules in the 108.Pa securenets 109database permit it (see 110.Xr ypserv 8 111for more information on 112.Pa securenets ) . 113Furthermore, only slave servers using reserved 114ports will be allowed to transfer the 115.Pa master.passwd 116maps. 117.Sh OPTIONS 118The following option is available: 119.Bl -tag -width indent 120.It Fl p Ar path 121This option can be used to override the default path to 122the location of the NIS 123map databases. 124The compiled-in default path is 125.Pa /var/yp . 126.El 127.Sh FILES 128.Bl -tag -width Pa -compact 129.It Pa /var/yp/[domainname]/[maps] 130The NIS maps for a particular NIS domain. 131.El 132.Sh SEE ALSO 133.Xr yp 8 , 134.Xr yppush 8 , 135.Xr ypserv 8 , 136.Xr ypxfr 8 137.Sh AUTHORS 138.An Bill Paul Aq wpaul@ctr.columbia.edu 139.Sh BUGS 140The 141.Dx 142.Nm ypxfrd 143protocol is not compatible with that used by SunOS. 144This is unfortunate 145but unavoidable: Sun's protocol is not freely available, and even if it 146were it would probably not be useful since the SunOS NIS v2 implementation 147uses the original ndbm package for its map databases whereas the 148.Dx 149implementation uses Berkeley DB. 150These two packages use vastly different 151file formats. 152Furthermore, ndbm is byte-order sensitive and not very 153smart about it, meaning that am ndbm database created on a big endian 154system can't be read on a little endian system. 155