From owner-freebsd-hackers@FreeBSD.ORG Fri Jun 26 23:39:03 2009 Return-Path: Delivered-To: hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DCA60106564A for ; Fri, 26 Jun 2009 23:39:03 +0000 (UTC) (envelope-from bvowk@math.ualberta.ca) Received: from 3jane.math.ualberta.ca (3jane.math.ualberta.ca [129.128.206.44]) by mx1.freebsd.org (Postfix) with ESMTP id B4BFD8FC08 for ; Fri, 26 Jun 2009 23:39:03 +0000 (UTC) (envelope-from bvowk@math.ualberta.ca) Received: from 3jane.math.ualberta.ca (localhost.math.ualberta.ca [127.0.0.1]) by 3jane.math.ualberta.ca (8.14.3/8.14.3) with ESMTP id n5QMxTuR096668 for ; Fri, 26 Jun 2009 16:59:29 -0600 (MDT) (envelope-from bvowk@math.ualberta.ca) Received: from localhost (bvowk@localhost) by 3jane.math.ualberta.ca (8.14.3/8.14.3/Submit) with ESMTP id n5QMxTa4096665 for ; Fri, 26 Jun 2009 16:59:29 -0600 (MDT) (envelope-from bvowk@math.ualberta.ca) X-Authentication-Warning: 3jane.math.ualberta.ca: bvowk owned process doing -bs Date: Fri, 26 Jun 2009 16:59:29 -0600 (MDT) From: Barkley Vowk To: hackers@freebsd.org Message-ID: User-Agent: Alpine 2.00 (BSF 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII X-Mailman-Approved-At: Mon, 29 Jun 2009 01:00:54 +0000 Cc: Subject: rpc.yppasswdd fails in 7.2? X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jun 2009 23:39:04 -0000 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.