rpc.yppasswdd fails in 7.2?

Rong-En Fan rafan at infor.org
Mon Jun 29 11:40:32 UTC 2009


On Mon, Jun 29, 2009 at 12:49:23PM +0300, Kostik Belousov wrote:
> On Fri, Jun 26, 2009 at 04:59:29PM -0600, Barkley Vowk wrote:
> > I've got a 7.2 box acting as NIS master, running rpc.yppasswdd. When 
> > remote users try to change their passwords they see:
> > 
> > testing1# passwd mytest
> > Changing NIS password for mytest
> > Old Password:
> > New Password:
> > Retype New Password:
> > passwd: pam_chauthtok(): error in service module
> > 
> > On the server I get this in the logs:
> > rpc.yppasswdd[36858]: pw_mkdb() failed
> > 
> > I tracked the error message down to line 620 of yppasswdd_server.c, which
> > lead me to libutil/pw_util.c.
> > 
> > It looks like waitpid in mk_pwdb is returning the error "No child 
> > processes", which then makes mk_pwdb return an error. But the child does 
> > run and do it's job as expected. If you edit yppasswdd_server.c to ignore 
> > the return value of mk_pwdb, passwords are changed as expected.
> 
> I think this is a side-effect of r184459/r186756, that made rpc.yppasswdd to
> ignore SIGCHLD.

It only happens when the master uses /etc/master.passwd instead of
/var/yp/master.passwd. 

The zombie mentioned in the commit log was yppwupdate. Two possible
soluutions are: we wait until the push is succeed or we use a double
fork. Personally, I prefer the former approach.

Regards,
Rong-En Fan


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20090629/dce09e3c/attachment.pgp


More information about the freebsd-hackers mailing list