summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/ip.c
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1996-12-03 17:55:49 +0000
committerwpaul <wpaul@FreeBSD.org>1996-12-03 17:55:49 +0000
commit1aa66460f8fa844a7fec1e9c9cf4bca3e5528b72 (patch)
tree6d4b9312da6bf1063cbb7f47b58bcbfc866aa3e5 /usr.sbin/ppp/ip.c
parent7cf00c59ae98be4882f9c07acc883c309b8f417d (diff)
downloadFreeBSD-src-1aa66460f8fa844a7fec1e9c9cf4bca3e5528b72.zip
FreeBSD-src-1aa66460f8fa844a7fec1e9c9cf4bca3e5528b72.tar.gz
Add support for detecting and hopefully using the passwd.adjunct.byname
NIS map which is present on SunOS NIS servers with the SunOS C2 security hack^Woption installed. I'm convinced that the C2 security option restricts access to the passwd.adjunct.byname map in the same way that I restrict access to the master.passwd.{byname,buid} maps (checking for reserved ports), which means that we should be able to handle passwd.adjunct.byname map correctly. If _havemaster() doesn't find a master.passwd.byname map, it will now test for a passwd.adjunct.byname map before defaulting back to the standard non-shadowed passwd.{byname,byuid} maps. If _pw_breakout_yp() sees that the adjunct map was found and the password from the standard maps starts with ##, it will try to grab the correct password field from the adjunct map. As with the master.passwd maps, this only happens if the caller is root, so the shadowing feature is preserved; non-root users just get back ##username as the encrypted password. Note that all we do is grab the second field from the passwd.adjunct.byname entry, which is designated to be the real encrypted password. There are other auditing fields in the entry but they aren't of much use to us. Also switched back to using yp_order() to probe for the maps (instead of yp_first()). The original problem with yp_order() was that it barfed with NIS+ servers in YP compat mode since they don't support the YPPROC_ORDER procedure. This condition is handled a bit more gracefully in yplib now: we can detect the error and just punt on the probing.
Diffstat (limited to 'usr.sbin/ppp/ip.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud