7afc912575
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.
60 lines
1.7 KiB
Makefile
60 lines
1.7 KiB
Makefile
# $Id: Makefile,v 1.4 1996/02/18 22:06:11 wpaul Exp wpaul $
|
|
|
|
PROG= rpc.yppasswdd
|
|
SRCS= pw_copy.c pw_util.c util.c yppasswd_svc.c yp_error.c ypxfr_misc.c \
|
|
yp_dblookup.c yp_dbwrite yp_access.c yppasswd_private_xdr.c \
|
|
yp_clnt.c yppasswdd_server.c yppasswd_comm.c yppasswdd_main.c
|
|
|
|
RPCDIR= ${.CURDIR}/../../include/rpcsvc
|
|
|
|
.PATH: ${.CURDIR}/../../usr.sbin/ypserv ${.CURDIR}/../../usr.bin/chpass \
|
|
${.CURDIR}/../../libexec/ypxfr ${RPCDIR}
|
|
|
|
MAN8= rpc.yppasswdd.8
|
|
|
|
CFLAGS+= -I${.CURDIR}/../../usr.sbin/vipw -I${.CURDIR}/../../usr.sbin/ypserv \
|
|
-I${.CURDIR}/../../libexec/ypxfr -I${.CURDIR}/../../usr.bin/chpass \
|
|
-I${.CURDIR} -I.
|
|
|
|
LDADD+=-lrpcsvc -lcrypt
|
|
|
|
CLEANFILES= yppasswd_svc.c yppasswd.h \
|
|
yppasswd_private_xdr.c yppasswd_private.h \
|
|
yp.h yp_clnt.c
|
|
|
|
RPCGEN= rpcgen -I -C
|
|
|
|
# We need to remove the 'static' keyword from _rpcsvcstate so that
|
|
# yppasswdd_main.c can see it.
|
|
yppasswd_svc.c: yppasswd.x yppasswd.h
|
|
rm -f ${.TARGET}
|
|
${RPCGEN} -m ${RPCDIR}/yppasswd.x | \
|
|
sed s/"static int _rpcsvcstate"/"int _rpcsvcstate"/g > ${.TARGET}
|
|
|
|
yppasswd.h: yppasswd.x
|
|
rm -f ${.TARGET}
|
|
${RPCGEN} -h -o ${.TARGET} ${RPCDIR}/yppasswd.x
|
|
|
|
yp.h: yp.x
|
|
rm -f ${.TARGET}
|
|
${RPCGEN} -h -o ${.TARGET} ${RPCDIR}/yp.x
|
|
|
|
yp_clnt.c: yp.x yp.h
|
|
rm -f ${.TARGET}
|
|
${RPCGEN} -DYPSERV_ONLY -l -o ${.TARGET} ${RPCDIR}/yp.x
|
|
|
|
yppasswd_private.h: yppasswd_private.x
|
|
rm -f ${.TARGET}
|
|
${RPCGEN} -h -o ${.TARGET} ${.CURDIR}/yppasswd_private.x
|
|
|
|
yppasswd_private_xdr.c: yppasswd_private.x yppasswd_private.h
|
|
rm -f ${.TARGET}
|
|
${RPCGEN} -c -o ${.TARGET} ${.CURDIR}/yppasswd_private.x
|
|
|
|
afterinstall:
|
|
${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
|
|
${.CURDIR}/yppwupdate \
|
|
${DESTDIR}/usr/libexec/yppwupdate
|
|
|
|
.include <bsd.prog.mk>
|