- Install Makefile.yp as /var/yp/Makefile.dist and only make a link
to it from /var/yp/Makefile if /var/yp/Makefile doesn't already
exist. This way we won't clobber an existing copy of /var/yp/Makefile
which the user may have modified and wants to keep.
- Make the services.byname target generate proper map keys.
This will probably be my last commit to this branch unless the
freeze deadline changes for some reason.
The problem with doing this is that getpwnam() will process all the special
inclusion and exclusion lines in /etc/master.passwd, including substitution.
So, for example, if you have a line on your NIS master server that says:
+@disallowed-users:::::::::/etc/nologin
Then yppasswdd will end up with a user record that has /etc/nologin as
a shell. This in turn will get propagated into /var/yp/master.passwd
when an update is performed, and the user's shell will be changed to
/etc/nologin, thus locking them out of the system.
To fix this, yppasswdd now retrieves the user's master.passwd record
directly from ypserv using a call to yp_match(). This bypasses all
the inclusion/exclusion/substitution processing in getpwent(3).
Note that rpc.yppasswdd in FreeBSD-current does not suffer from this
problem: it digs directly into the map database files when searching
for user records, which means it not only bypasses getpwent(3), it
will also work even if your NIS master server isn't set up as an NIS
client. I could have done something similar here, but that would have
meant adding DB interface code which would have been much more complicated.
Bug pointed out by: Tom Samplonius
This has remote repository access via "rsh".
(eg: $CVSROOT = freefall.freebsd.org:/home/ncvs)
This is not quite the latest version, but it's a "known quantity".
There were a few covert tagging operations done as well to bring some
new files onto the -stable branch, these do not show here.
Added/updated some standards for the .St macro.
Updated the .Os macro to stop reporting "BSD Experimental", and
taught it about FreeBSD and our various versions.