From 326af800ad8e2a80ceffaa3ec3a2ceb3d6e2f30f Mon Sep 17 00:00:00 2001 From: Bill Paul Date: Wed, 23 Oct 1996 14:43:39 +0000 Subject: Add a flag to allow the 'use NIS or local?' logic to tell when NIS is enabled in /etc/master.passwd & friends. This allows the 'USER_YP_AND_LOCAL' case to make a more sensible guess (if NIS is enabled, default to NIS, otherwise default to local -- this is better than defaulting to NIS all the time). --- chpass/pw_yp.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'chpass/pw_yp.c') diff --git a/chpass/pw_yp.c b/chpass/pw_yp.c index 3cf65d1..a02327d 100644 --- a/chpass/pw_yp.c +++ b/chpass/pw_yp.c @@ -81,6 +81,7 @@ static HASHINFO openinfo = { int force_old = 0; int _use_yp = 0; int suser_override = 0; +int yp_in_pw_file = 0; char *yp_domain = NULL; char *yp_server = NULL; @@ -278,8 +279,8 @@ int use_yp (user, uid, which) bf[0] = _PW_KEYYPENABLED; key.data = (u_char *)bf; key.size = 1; - if ((!(dbp->get)(dbp,&key,&data,0) && _yp_check(NULL)) || - (yp_domain && yp_server)) { + yp_in_pw_file = !(dbp->get)(dbp,&key,&data,0); + if (_yp_check(NULL) || (yp_domain && yp_server)) { server = get_yp_master(0); /* Is the user in the NIS passwd map */ @@ -324,6 +325,7 @@ int use_yp (user, uid, which) return(USER_LOCAL_ONLY); else if (!user_exists) return(USER_UNKNOWN); + return(-1); } -- cgit v1.2.3