diff options
author | Wolfram Schneider <wosch@FreeBSD.org> | 1997-09-20 19:59:54 +0000 |
---|---|---|
committer | Wolfram Schneider <wosch@FreeBSD.org> | 1997-09-20 19:59:54 +0000 |
commit | d728a0be340fe290e6741387e644093d5b23161b (patch) | |
tree | 8f60f5bd0ad2f68bf0cfa58961c6f6a9180cc7f4 | |
parent | 15c94090a3a0a261b6c58dd5cb09c495662ea10f (diff) | |
download | pw-darwin-d728a0be340fe290e6741387e644093d5b23161b.tar.gz pw-darwin-d728a0be340fe290e6741387e644093d5b23161b.tar.zst pw-darwin-d728a0be340fe290e6741387e644093d5b23161b.zip |
Do not complain about non existing shell "/nonexistent"
Smarter error check if a uid is already in use.
Submitted by: "Eugene Radchenko" <genie@qsar.chem.msu.su>
-rw-r--r-- | adduser/adduser.perl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/adduser/adduser.perl b/adduser/adduser.perl index 9378bf8..56482b9 100644 --- a/adduser/adduser.perl +++ b/adduser/adduser.perl @@ -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); |