r15086: Get defensive about creating user accounts when winbindd
authorGerald Carter <jerry@samba.org>
Fri, 14 Apr 2006 19:36:36 +0000 (19:36 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:16:22 +0000 (11:16 -0500)
fails (but is present).

source/auth/auth_util.c

index 31bc2664b88a660a702fe28aafb95fc255f11014..4ffbba2e23720bfa064bfe39c125092bb225f37d 100644 (file)
@@ -1469,9 +1469,12 @@ struct passwd *smb_getpwnam( TALLOC_CTX *mem_ctx, char *domuser,
        
        pw = Get_Pwnam_alloc(mem_ctx, username);
                
-       /* Create local user if requested. */
+       /* Create local user if requested but only if winbindd
+          is not running.  We need to protect against cases
+          where winbindd is failing and then prematurely
+          creating users in /etc/passwd */
        
-       if ( !pw && create ) {
+       if ( !pw && create && !winbind_ping() ) {
                /* Don't add a machine account. */
                if (username[strlen(username)-1] == '$')
                        return NULL;