Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jul 1998 19:30:00 -0700 (PDT)
From:      AnnMarie Scott <annmarie@afct.org.au>
To:        freebsd-bugs@FreeBSD.ORG
Subject:   Re: bin/7324: Suggestions for minor modifications to adduser
Message-ID:  <199807210230.TAA06969@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/7324; it has been noted by GNATS.

From: AnnMarie Scott <annmarie@afct.org.au>
To: freebsd-gnats-submit@freebsd.org
Cc:  Subject: Re: bin/7324: Suggestions for minor modifications to adduser
Date: Tue, 21 Jul 1998 11:46:12 +0930

 This is a multi-part message in MIME format.
 --------------29D9A70BEDD10329564E7CC1
 Content-Type: text/plain; charset=us-ascii
 Content-Transfer-Encoding: 7bit
 
 Argh.  Sent the wrong patch file!  Here's the _right_ one.
 --------------29D9A70BEDD10329564E7CC1
 Content-Type: text/plain; charset=us-ascii; name="adduser.patch"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline; filename="adduser.patch"
 
 *** adduser	Wed Jul  8 11:17:55 1998
 --- adduser.new	Wed Jul  8 11:55:49 1998
 ***************
 *** 34,38 ****
       $dotdir = "/usr/share/skel"; # copy dotfiles from this dir
       $dotdir_bak = $dotdir;
 !     $send_message = "no"; # send message to new user
       $send_message_bak = '/etc/adduser.message';
       $config = "/etc/adduser.conf"; # config file for adduser
 --- 34,39 ----
       $dotdir = "/usr/share/skel"; # copy dotfiles from this dir
       $dotdir_bak = $dotdir;
 !     $send_message = "no"; 	# send message to new user
 !     $cc = "no"; 		# send cc of message
       $send_message_bak = '/etc/adduser.message';
       $config = "/etc/adduser.conf"; # config file for adduser
 ***************
 *** 255,259 ****
   # read /etc/group
   sub group_read {
 !     local($g_groupname,$pw,$g_gid, $memb);
   
       print "Check $group\n" if $verbose;
 --- 256,260 ----
   # read /etc/group
   sub group_read {
 !     local($g_groupname,$g_pw,$g_gid, $memb);
   
       print "Check $group\n" if $verbose;
 ***************
 *** 262,266 ****
   	chop;
   	push(@group_backup, $_);
 ! 	($g_groupname, $pw, $g_gid, $memb) = (split(/:/, $_))[0..3];
   
   	$groupmembers{$g_gid} = $memb;
 --- 263,267 ----
   	chop;
   	push(@group_backup, $_);
 ! 	($g_groupname, $g_pw, $g_gid, $memb) = (split(/:/, $_))[0..3];
   
   	$groupmembers{$g_gid} = $memb;
 ***************
 *** 271,274 ****
 --- 272,276 ----
   	    if $gid{$g_gid} && $verbose;
   	$gid{$g_gid} = $g_groupname;
 + 	$gpass{$g_gid} = $g_pw;
       }
       close G;
 ***************
 *** 538,542 ****
   Class:	  $class
   Groups:	  $group_login $new_groups
 ! HOME:	  $home/$name
   Shell:	  $sh
   EOF
 --- 540,544 ----
   Class:	  $class
   Groups:	  $group_login $new_groups
 ! HOME:	  $homedir
   Shell:	  $sh
   EOF
 ***************
 *** 564,568 ****
       if (!defined($groupname{$group_login}) &&
   	!defined($gid{$groupname{$group_login}})) {
 ! 	push(@group_backup, "$group_login:*:$g_id:");
   	$groupname{$group_login} = $g_id;
   	$gid{$g_id} = $group_login;
 --- 566,570 ----
       if (!defined($groupname{$group_login}) &&
   	!defined($gid{$groupname{$group_login}})) {
 ! 	push(@group_backup, "$group_login:$gpass{$g_id}:$g_id:");
   	$groupname{$group_login} = $g_id;
   	$gid{$g_id} = $group_login;
 ***************
 *** 578,586 ****
   	#warn "$group_login $groupname{$group_login} $groupmembers{$groupname{$group_login}}\n";
   	foreach $e (sort {$a <=> $b} (keys %gid)) {
 ! 	    push(@a, "$gid{$e}:*:$e:$groupmembers{$e}");
   	}
   	&append_file($group, @a);
       } else {
 ! 	&append_file($group, "$group_login:*:$g_id:");
       }
   
 --- 580,588 ----
   	#warn "$group_login $groupname{$group_login} $groupmembers{$groupname{$group_login}}\n";
   	foreach $e (sort {$a <=> $b} (keys %gid)) {
 ! 	    push(@a, "$gid{$e}:$gpass{$e}:$e:$groupmembers{$e}");
   	}
   	&append_file($group, @a);
       } else {
 ! 	&append_file($group, "$group_login:$gpass{$g_id}:$g_id:");
       }
   
 ***************
 *** 601,605 ****
       local($cc) =
   	&confirm_list("Send message to ``$name'' and:",
 ! 		      1, "no", ("root", "second_mail_address", "no"));
       local($e);
       $cc = "" if $cc eq "no";
 --- 603,607 ----
       local($cc) =
   	&confirm_list("Send message to ``$name'' and:",
 ! 		      1, "$cc", ("root", "$cc", "no"));
       local($e);
       $cc = "" if $cc eq "no";
 ***************
 *** 705,709 ****
   	$new_groups = &new_users_groups($name, $new_groups);
   	$password = &new_users_password;
 ! 
   
   	if (&new_users_ok) {
 --- 707,712 ----
   	$new_groups = &new_users_groups($name, $new_groups);
   	$password = &new_users_password;
 !         # allow "nohome" for dummy user homedirs
 !         $homedir = ($home =~ /nohome/) ? $home : "$home/$name";
   
   	if (&new_users_ok) {
 ***************
 *** 714,718 ****
   	    # obscure perl bug
   	    $new_entry = "$name\:" . "$cryptpwd" .
 ! 		"\:$u_id\:$g_id\:$class\:0:0:$fullname:$home/$name:$sh";
   	    &append_file($etc_passwd, "$new_entry");
   	    &new_users_pwdmkdb("$new_entry");
 --- 717,721 ----
   	    # obscure perl bug
   	    $new_entry = "$name\:" . "$cryptpwd" .
 ! 		"\:$u_id\:$g_id\:$class\:0:0:$fullname:$homedir:$sh";
   	    &append_file($etc_passwd, "$new_entry");
   	    &new_users_pwdmkdb("$new_entry");
 ***************
 *** 721,725 ****
   	    &new_users_sendmessage;
   	    &adduser_log("$name:*:$u_id:$g_id($group_login):$fullname");
 ! 	    &home_create($name, $group_login);
   	} else {
   	    $new_users_ok = 0;
 --- 724,728 ----
   	    &new_users_sendmessage;
   	    &adduser_log("$name:*:$u_id:$g_id($group_login):$fullname");
 ! 	    &home_create($name, $group_login) if $homedir !~ /nohome/;
   	} else {
   	    $new_users_ok = 0;
 ***************
 *** 739,742 ****
 --- 742,747 ----
       $defaultshell = &shell_default_valid($defaultshell);
       return 0 unless $home = &home_partition_valid($home);
 +     # allow "nohome" for dummy user homedirs
 +     $homedir = ($home =~ /nohome/) ? $home : "$home/$name";
       return 0 if $dotdir ne &dotdir_default_valid($dotdir);
       $send_message = &message_default;
 ***************
 *** 756,767 ****
       # obscure perl bug
       $new_entry = "$name\:" . "$cryptpwd" .
 ! 	"\:$u_id\:$g_id\:$class\:0:0:$fullname:$home/$name:$sh";
       &append_file($etc_passwd, "$new_entry");
       &new_users_pwdmkdb("$new_entry");
       &new_users_group_update;
       &new_users_passwd_update;  print "Added user ``$name''\n";
 !     &sendmessage($name, @message_buffer) if $send_message ne "no";
       &adduser_log("$name:*:$u_id:$g_id($group_login):$fullname");
 !     &home_create($name, $group_login);
   }
   
 --- 761,773 ----
       # obscure perl bug
       $new_entry = "$name\:" . "$cryptpwd" .
 ! 	"\:$u_id\:$g_id\:$class\:0:0:$fullname:$homedir:$sh";
       &append_file($etc_passwd, "$new_entry");
       &new_users_pwdmkdb("$new_entry");
       &new_users_group_update;
       &new_users_passwd_update;  print "Added user ``$name''\n";
 !     $cc = "" if $cc eq "no";
 !     &sendmessage("$name $cc", @message_buffer) if $send_message ne "no";
       &adduser_log("$name:*:$u_id:$g_id($group_login):$fullname");
 !     &home_create($name, $group_login) if $homedir !~ /nohome/;
   }
   
 ***************
 *** 949,953 ****
   sub home_create {
       local($name, $group) = @_;
 -     local($homedir) = "$home/$name";
   
       if (-e "$homedir") {
 --- 955,958 ----
 ***************
 *** 1318,1321 ****
 --- 1323,1327 ----
       # prepare some variables
       $send_message = "no" unless $send_message;
 +     $cc = "no" unless ($cc && $send_message);
       $defaultpasswd = "no" unless $defaultpasswd;
       local($shpref) = "'" . join("', '", @shellpref) . "'";
 ***************
 *** 1344,1347 ****
 --- 1350,1356 ----
   # send this file to new user ("/etc/adduser.message" or "no")
   send_message = "$send_message"
 + 
 + # send copy of message to this user (username or "no")
 + cc = "$cc"
   
   # config file for adduser ("/etc/adduser.conf")
 
 --------------29D9A70BEDD10329564E7CC1--
 

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199807210230.TAA06969>