Bug 22284

Summary: Change (SunOS) NIS passwd error
Product: Base System Reporter: wkwu <wkwu>
Component: miscAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 4.1.1-STABLE   
Hardware: Any   
OS: Any   

Description wkwu 2000-10-25 07:50:00 UTC
We have to using SunOS-4.1.3 yp_server.
patch for /usr/src/usr.bin/passwd/yp_passwd.c
line: 83
-       pw = (struct passwd *)&yp_password;
+       pw = getpwuid(uid); 

It worked well before. Now when changing passwd:
Changing NIS password for wkwu on nis-server.
Old Password: 
New password:
Retype new password:
passwd: failed to change NIS password: RPC: Server can't decode arguments

I have traced some source. But no idea ...

Fix: 

No idea.
How-To-Repeat: 
Using FreeBSD as yp_client to bind SunOS-4.1.3 yp_server.
Comment 1 pfeifer 2001-01-03 15:44:13 UTC
This very problem occurs also on more up-to-date systems, that is:

 NIS-Server: Solaris 2.6 /SPARC
 NIS-Client: FreeBSD 4.2 /i386

 Changing NIS password for user on NIS-server.
 Old Password:
 New password:
 Retype new password:
 passwd: failed to change NIS password: RPC: Server can't decode arguments

Snoop output on the NIS server:

 client -> server  PORTMAP C GETPORT prog=100009 (NISPASSWD) vers=1 proto=UDP
 server -> client  PORTMAP R GETPORT port=819
 client -> server  NISPASSWD C
 server -> client  RPC R (#196) XID=861861090 Garbage arguments


It impossible for users to change their passwords. This PR should
therefore be updated from "Serious" to "Critical"!

Gerald
-- 
Gerald "Jerry" pfeifer@dbai.tuwien.ac.at http://www.dbai.tuwien.ac.at/~pfeifer/
Comment 2 iedowse freebsd_committer freebsd_triage 2002-08-11 21:26:48 UTC
State Changed
From-To: open->feedback


Does this still occur on more recent releases? If so, a tcpdump 
including the full packet contents (-s 1600 -X) of the failing 
operation would be helpful.
Comment 3 Ceri Davies freebsd_committer freebsd_triage 2003-06-08 19:27:43 UTC
State Changed
From-To: feedback->closed

Feedback timeout. 

Additionally, I can confirm that with a June 1st stable NIS client 
and a Solaris 8 NIS server, yppasswd works fine, with the proviso 
that you must be using the des password format for your users; this 
is understandable in my opinion.