From midom@axis.tdd.lt  Wed Mar 14 02:55:30 2001
Return-Path: <midom@axis.tdd.lt>
Received: from axis.tdd.lt (axis.tdd.lt [193.219.211.5])
	by hub.freebsd.org (Postfix) with ESMTP id 5211B37B718
	for <FreeBSD-gnats-submit@freebsd.org>; Wed, 14 Mar 2001 02:55:28 -0800 (PST)
	(envelope-from midom@axis.tdd.lt)
Received: (from root@localhost)
	by axis.tdd.lt (8.11.1/8.11.1) id f2EAtPE66892;
	Wed, 14 Mar 2001 12:55:25 +0200 (EET)
Message-Id: <200103141055.f2EAtPE66892@axis.tdd.lt>
Date: Wed, 14 Mar 2001 12:55:25 +0200 (EET)
From: Domas Mituzas <domas.mituzas@delfi.lt>
To: FreeBSD-gnats-submit@freebsd.org
Cc: hostmaster@delfi.lt
Subject: adduser does full *pwd.db rebuild, instead of specifying user to pwd_mkdb. patch included.<Synopsis of the problem (one line)>
X-Send-Pr-Version: 3.2

>Number:         25798
>Category:       bin
>Synopsis:       adduser does full *pwd.db rebuild, instead of specifying user to pwd_mkdb. patch included.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    dd
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Mar 14 03:00:01 PST 2001
>Closed-Date:    Sun Aug 19 18:20:10 PDT 2001
>Last-Modified:  Sun Aug 19 18:20:23 PDT 2001
>Originator:     Domas Mituzas
>Release:        FreeBSD 4.3-BETA i386
>Organization:
DELFI Internet, UAB
Juozapaviciaus 6/2
2005 Vilnius
>Environment:
# wc /etc/passwd
   26067   50761 1941059 /etc/passwd

>Description:

If there are a lot of users in system password database (/etc/master.passwd),
full regeneration is real resource hog. pwd_mkdb allows to specify user
entry to be added or changed, thus by eliminating need of full regeneration.
Anyway, adduser is using old style syntax. It would be nice to have all
utils up-to-date to current system design.

pw command already uses new syntax.

>How-To-Repeat:

Try to make huuuge /etc/master.passwd and then use adduser to add an
account for your favourite singer. :)

>Fix:

--- src/usr.sbin/adduser/adduser.perl.old	Sat Aug 28 04:15:11 1999
+++ src/usr.sbin/adduser/adduser.perl	Wed Mar 14 12:47:08 2001
@@ -536,9 +536,10 @@
 
 # make password database
 sub new_users_pwdmkdb {
-    local($last) = @_;
+    local($last) = shift;
+    local($name) = shift;
 
-    system("$pwd_mkdb $etc_passwd");
+    system("$pwd_mkdb -u $name $etc_passwd");
     if ($?) {
 	warn "$last\n";
 	warn "``$pwd_mkdb'' failed\n";
@@ -708,7 +709,7 @@
 	    $new_entry = "$name\:" . "$cryptpwd" .
 		"\:$u_id\:$g_id\:$class\:0:0:$fullname:$userhome:$sh";
 	    &append_file($etc_passwd, "$new_entry");
-	    &new_users_pwdmkdb("$new_entry");
+	    &new_users_pwdmkdb("$new_entry",$name);
 	    &new_users_group_update;
 	    &new_users_passwd_update;  print "Added user ``$name''\n";
 	    &new_users_sendmessage;
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 4 00:38:57 PDT 2001 
Responsible-Changed-Why:  
over to bugs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=25336 
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 4 00:38:57 PDT 2001 
Responsible-Changed-Why:  
over to bugs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=25346 
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 4 00:38:57 PDT 2001 
Responsible-Changed-Why:  
over to bugs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=25542 
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 4 00:38:57 PDT 2001 
Responsible-Changed-Why:  
over to bugs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=25793 
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 4 00:38:57 PDT 2001 
Responsible-Changed-Why:  
over to bugs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=25572 
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 4 00:38:57 PDT 2001 
Responsible-Changed-Why:  
over to bugs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=25754 
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 4 00:38:57 PDT 2001 
Responsible-Changed-Why:  
over to bugs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=25787 
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: phk 
Responsible-Changed-When: Wed Apr 4 00:38:57 PDT 2001 
Responsible-Changed-Why:  
over to bugs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=25798 
Responsible-Changed-From-To: freebsd-bugs->dd 
Responsible-Changed-By: dd 
Responsible-Changed-When: Sun Jul 22 08:55:56 PDT 2001 
Responsible-Changed-Why:  
This sounds good, I'll look at it. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=25798 
State-Changed-From-To: open->closed 
State-Changed-By: dd 
State-Changed-When: Sun Aug 19 18:20:10 PDT 2001 
State-Changed-Why:  
Patch applied to -current, thanks!  I'll MFC after the release. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=25798 
>Unformatted:
