Serve /etc/eui64 via NIS.
The C library already knows how to lookup eui64 entries from NIS. For example, fwcontrol(8) does it. But /var/yp/Makefile.dist doesn't build the eui64 maps, and ypinit(8) doesn't push them to slaves. This change fixes that. Reviewed by: brooks, wblock MFC after: 2 weeks Sponsored by: SpectraLogic Corp Differential Revision: https://reviews.freebsd.org/D3404
This commit is contained in:
parent
1f76fb0f26
commit
b1d32f9864
@ -103,6 +103,7 @@ YPMAPDIR = $(YPDIR)/$(DOMAIN)
|
||||
# passwd file will be generated from the master.passwd file automagically.
|
||||
#
|
||||
ETHERS = $(YPSRCDIR)/ethers # ethernet addresses (for rarpd)
|
||||
EUI64 = $(YPSRCDIR)/eui64 # eui64 addresses (for firewire)
|
||||
BOOTPARAMS= $(YPSRCDIR)/bootparams # for booting Sun boxes (bootparamd)
|
||||
HOSTS = $(YPSRCDIR)/hosts
|
||||
IPNODES = $(YPDIR)/ipnodes
|
||||
@ -143,8 +144,8 @@ TARGETS= servers hosts networks protocols rpc services shells group
|
||||
#TARGETS+= aliases
|
||||
|
||||
# Sanity checks: filter out targets we can't build
|
||||
# Note that we don't build the ethers or boorparams maps by default
|
||||
# since /etc/ethers and /etc/bootparams are not likely to be present
|
||||
# Note that we don't build the ethers, eui64, or boorparams maps by default
|
||||
# since /etc/ethers, /etc/eui64 and /etc/bootparams are not likely to be present
|
||||
# on all systems.
|
||||
.if exists($(ETHERS))
|
||||
TARGETS+= ethers
|
||||
@ -152,6 +153,12 @@ TARGETS+= ethers
|
||||
ETHERS= /dev/null
|
||||
.endif
|
||||
|
||||
.if exists($(EUI64))
|
||||
TARGETS+= eui64
|
||||
.else
|
||||
EUI64= /dev/null
|
||||
.endif
|
||||
|
||||
.if exists($(BOOTPARAMS))
|
||||
TARGETS+= bootparams
|
||||
.else
|
||||
@ -195,6 +202,7 @@ IPNODES= /dev/null
|
||||
all: $(TARGETS)
|
||||
|
||||
ethers: ethers.byname ethers.byaddr
|
||||
eui64: eui64.byname eui64.byid
|
||||
bootparam: bootparams
|
||||
hosts: hosts.byname hosts.byaddr
|
||||
ipnodes: ipnodes.byname ipnodes.byaddr
|
||||
@ -294,6 +302,32 @@ ethers.byaddr: $(ETHERS)
|
||||
@if [ ! $(NOPUSH) ]; then echo "Pushed $@ map." ; fi
|
||||
.endif
|
||||
|
||||
eui64.byname: $(EUI64)
|
||||
@echo "Updating $@..."
|
||||
.if ${EUI64} == "/dev/null"
|
||||
@echo "EUI64 source file not found -- skipping"
|
||||
.else
|
||||
@$(AWK) '{ if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
|
||||
print $$2"\t"$$0 }' $(EUI64) | $(DBLOAD) -i $(EUI64) \
|
||||
-o $(YPMAPDIR)/$@ - $(TMP); $(RMV) $(TMP) $@
|
||||
@$(DBLOAD) -c
|
||||
@if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOMAIN) $@; fi
|
||||
@if [ ! $(NOPUSH) ]; then echo "Pushed $@ map." ; fi
|
||||
.endif
|
||||
|
||||
eui64.byid: $(EUI64)
|
||||
@echo "Updating $@..."
|
||||
.if ${EUI64} == "/dev/null"
|
||||
@echo "EUI64 source file not found -- skipping"
|
||||
.else
|
||||
@$(AWK) '{ if ($$1 != "" && $$1 !~ "^#.*" && $$1 != "+") \
|
||||
print $$1"\t"$$0 }' $(EUI64) | $(DBLOAD) -i $(EUI64) \
|
||||
-o $(YPMAPDIR)/$@ - $(TMP); $(RMV) $(TMP) $@
|
||||
@$(DBLOAD) -c
|
||||
@if [ ! $(NOPUSH) ]; then $(YPPUSH) -d $(DOMAIN) $@; fi
|
||||
@if [ ! $(NOPUSH) ]; then echo "Pushed $@ map." ; fi
|
||||
.endif
|
||||
|
||||
|
||||
bootparams: $(BOOTPARAMS)
|
||||
@echo "Updating $@..."
|
||||
|
@ -30,7 +30,7 @@
|
||||
.\"
|
||||
.\" $FreeBSD$
|
||||
.\"
|
||||
.Dd November 10, 1997
|
||||
.Dd August 18, 2015
|
||||
.Dt YPINIT 8
|
||||
.Os
|
||||
.Sh NAME
|
||||
@ -147,6 +147,8 @@ can propagate updates on the master to all of the slaves.
|
||||
Bootparams source file
|
||||
.It Pa /etc/ethers
|
||||
Ethers data source file
|
||||
.It Pa /etc/eui64
|
||||
EUI64 data source file
|
||||
.It Pa /etc/group
|
||||
Group source file
|
||||
.It Pa /etc/hosts
|
||||
|
@ -14,8 +14,9 @@ MAPLIST="master.passwd.byname master.passwd.byuid passwd.byname passwd.byuid \
|
||||
group.byname group.bygid hosts.byname hosts.byaddr services.byname \
|
||||
rpc.byname rpc.bynumber networks.byname networks.byaddr netgroup \
|
||||
netgroup.byuser netgroup.byhost netid.byname publickey.byname \
|
||||
bootparams ethers.byname ethers.byaddr amd.host mail.aliases \
|
||||
ypservers protocols.byname protocols.bynumber netmasks.byaddr"
|
||||
bootparams ethers.byname ethers.byaddr eui64.byname eui64.byid \
|
||||
amd.host mail.aliases ypservers protocols.byname protocols.bynumber \
|
||||
netmasks.byaddr"
|
||||
|
||||
ERROR_EXISTS="NO"
|
||||
umask 077
|
||||
|
Loading…
Reference in New Issue
Block a user