]> git.cameronkatri.com Git - pw-darwin.git/commitdiff
Do not complain about non existing shell "/nonexistent"
authorWolfram Schneider <wosch@FreeBSD.org>
Sat, 20 Sep 1997 19:59:54 +0000 (19:59 +0000)
committerWolfram Schneider <wosch@FreeBSD.org>
Sat, 20 Sep 1997 19:59:54 +0000 (19:59 +0000)
Smarter error check if a uid is already in use.

Submitted by: "Eugene Radchenko" <genie@qsar.chem.msu.su>

adduser/adduser.perl

index 9378bf8fd7a7a55a0dae5f067b7be71b69338633..56482b958110a1078ab707d1b66901367ba69e77 100644 (file)
@@ -24,7 +24,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $Id: adduser.perl,v 1.35 1997/08/26 22:47:51 wosch Exp $
+# $Id: adduser.perl,v 1.36 1997/09/20 18:26:22 wosch Exp $
 
 
 # read variables
@@ -249,7 +249,7 @@ sub passwd_read {
            if ($verbose && $sh &&
                !$shell{&basename($sh)} &&
                $p_username !~ /^(news|xten|bin|nobody|uucp)$/ &&
-               $sh !~ /\/(pppd|sliplogin|nologin)$/);
+               $sh !~ /\/(pppd|sliplogin|nologin|nonexistent)$/);
        $uid{$p_uid} = $p_username;
        $pwgid{$p_gid} = $p_username;
     }
@@ -369,12 +369,15 @@ sub new_users_id {
                ! $uid{$u_id_tmp};
        if ($uid{$u_id_tmp}) {
            warn "Uid ``$u_id_tmp'' in use!\a\n";
+           $uid_start = $u_id_tmp;
+           ($u_id, $g_id) = &next_id($name);
+           next;
        } else {
            warn "Wrong uid.\a\n";
        }
     }
     # use calculated uid
-    return ($u_id_tmp, $g_id) if $u_id_tmp eq $u_id;
+    return ($u_id_tmp, $g_id) if $u_id_tmp eq $u_id;
     # recalculate gid
     $uid_start = $u_id_tmp;
     return &next_id($name);