'\"macro stdmacro
.if n .pH g4.updaters @(#)updaters	40.3 of 1/29/90
.\" Copyright 1989 AT&T
.\" @(#)updaters.5 1.4 89/09/28 SMI;
.\" Copyright (c) 1988 Sun Microsystems, Inc. - All Rights Reserved.
.nr X
.if \nX=0 .ds x} updaters 4 "" "\&"
.if \nX=1 .ds x} updaters 4 ""
.if \nX=2 .ds x} updaters 4 "" "\&"
.if \nX=3 .ds x} updaters "" "" "\&"
.TH \*(x}
.SH NAME
\f4updaters\fP \- configuration file for YP updating
.SH SYNOPSIS
\f4/var/yp/updaters\fR
.SH DESCRIPTION
.P
The file
\f4/var/yp/updaters\fR
is a makefile (see
\f4make\fR(1))
which is used for updating
\s-1YP\s0
databases.
Databases can only be updated
in a secure network, that is, one that has a
\f4publickey\fR(4)
database.
Each entry in the file is
a make target for a particular
\s-1YP\s0
database.
For example, if there is a
\s-1YP\s0
database named
\f4publickey.byname\fR
that can be updated, there should be a
\f4make\fR
target named
\f4publickey.byname\fR
in the
\f4updaters\fR
file with the command to update the file.
.P
The information necessary to make
the update is passed to the update
command through standard input.
The information passed is described
below (all items are followed by a
\s-1NEWLINE\s0,
except for the actual bytes of key and actual bytes of date).
.RS
.IP \(bu 3
Network name of client wishing to
make the update (a string)
.IP \(bu
Kind of update (an integer)
.IP \(bu
Number of bytes in key (an integer)
.IP \(bu
Actual bytes of key
.IP \(bu
Number of bytes in data (an integer)
.IP \(bu
Actual bytes of data
.RE
.P
After getting this information through
standard input, the command to update
the particular database should decide
whether the user is allowed to make the change.
If not, it should exit with the status
\f4\s-1YPERR_ACCESS\s0\fR.
If the user is allowed to make the change,
the command should make the change and
exit with a status of zero.
If there are
any errors that may prevent the updater from
making the change, it should exit with the status
that matches a valid
\s-1YP\s0
error code described in
\f4<rpcsvc/ypclnt.h>\fR.
.SH FILES
.PD 0
.TP 20
\f4/var/yp/updaters\fR
.PD
.SH "SEE ALSO"
\f4make\fR(1),
\f4ypupdated\fR(1M),
\f4ypupdate\fR(3),
\f4publickey\fR(4)
