From simokawa@sat.t.u-tokyo.ac.jp  Sat Nov 30 07:12:09 1996
Received: from uno.sat.t.u-tokyo.ac.jp (uno.sat.t.u-tokyo.ac.jp [133.11.70.160])
          by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id HAA20379
          for <FreeBSD-gnats-submit@freebsd.org>; Sat, 30 Nov 1996 07:12:02 -0800 (PST)
Received: by uno.sat.t.u-tokyo.ac.jp (8.7.3+2.6Wbeta5/8.7.3)
	id AAA03994; Sun, 1 Dec 1996 00:11:50 +0900 (JST)
Message-Id: <199611301511.AAA03994@uno.sat.t.u-tokyo.ac.jp>
Date: Sun, 1 Dec 1996 00:11:50 +0900 (JST)
From: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
Reply-To: simokawa@sat.t.u-tokyo.ac.jp
To: FreeBSD-gnats-submit@freebsd.org
Subject: current pwd_mkdb.c is not comatible with libc.so.2.2
X-Send-Pr-Version: 3.2

>Number:         2129
>Category:       bin
>Synopsis:       current pwd_mkdb.c is not comatible with libc.so.2.2
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:
>Keywords:
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 30 07:20:01 PST 1996
>Closed-Date:    Sun Dec 8 14:52:11 MET 1996
>Last-Modified:  Sun Dec  8 14:54:37 MET 1996
>Originator:     Hidetoshi Shimokawa
>Release:        FreeBSD 2.2-ALPHA i386
>Organization:
University of Tokyo
>Environment:

	FreeBSD 2.2-ALPHA

>Description:

I have trouble with using 2.1.x binaries on 2.2-ALPHA.
They are linked with libc.so.2.2 and they can not get a passwd entry for
NIS users.

Like the followings,
(User simokawa is not in local passwd file but in NIS map.)
% csh
% echo ~simokawa
/home/sat/simokawa
% zsh
% echo ~simokawa
zsh: user not found: simokawa
% ldd /usr/local/bin/zsh
/usr/local/bin/zsh:
        -ltermcap.2 => /usr/lib/libtermcap.so.2.1 (0x8065000)
	-lc.2 => /usr/lib/libc.so.2.2 (0x8069000)

If I rebuild pwd.db by old pwd_mkdb or relink zsh with libc.so.3.0,
it works fine.

I think this is very bad and many pepole upgrading to 2.2 will
encounter same problem. It takes me more than 2 weeks to find out the
reason :-(.


I guess this is because of the following change on mk_pwd.c

-----
revision 1.10
date: 1996/04/16 00:23:59;  author: wpaul;  state: Exp;  lines: +11 -56
NIS cleanups and fixes, the next generation, continued.

pwd_mkdb.c:

- Don't save the PLUSCNT and MINUSCNT tokens: we don't need them anymore.

- Count the + and - entires for NIS together instead of counting + and -
  entries seperately. Index all special NIS entries using new _PW_KEYYPBYNUM
  token.

pwd.h:

- Remove the PLUSBYNUM, MINUSBYNUM, PLUSCNT and MINUSCNT tokens and replace
  then with a single _PW_KEYYPBYNUM token.
----


>How-To-Repeat:

	See above.

>Fix:
	
	pwd_mkdb.c should have compatibility with old libc.
	Changing pwd_mkdb.c, so that it adds PLUSBYNUM, MINUSBYNUM,
	PLUSCNT and MINUSCNT tokens to pwd.db, should solve this problem,
	but I'm not sure.

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: joerg 
State-Changed-When: Sun Dec 8 14:52:11 MET 1996 
State-Changed-Why:  
Originator reports the problem as being fixed after an upgrade. 

>Unformatted:
