svn commit: samba r21776 - in branches: SAMBA_3_0/source/utils SAMBA_3_0_25/source/utils

idra at samba.org idra at samba.org
Fri Mar 9 16:55:56 GMT 2007


Author: idra
Date: 2007-03-09 16:55:56 +0000 (Fri, 09 Mar 2007)
New Revision: 21776

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21776

Log:

fix bugs #4438 #4440


Modified:
   branches/SAMBA_3_0/source/utils/net_sam.c
   branches/SAMBA_3_0_25/source/utils/net_sam.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_sam.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_sam.c	2007-03-09 15:34:12 UTC (rev 21775)
+++ branches/SAMBA_3_0/source/utils/net_sam.c	2007-03-09 16:55:56 UTC (rev 21776)
@@ -1043,6 +1043,7 @@
 			d_fprintf(stderr, "Failed to add Domain Users group to ldap directory\n");
 		}
 	} else {
+		domusers_gid = gmap.gid;
 		d_printf("found!\n");
 	}	
 
@@ -1096,6 +1097,7 @@
 			d_fprintf(stderr, "Failed to add Domain Admins group to ldap directory\n");
 		}
 	} else {
+		domadmins_gid = gmap.gid;
 		d_printf("found!\n");
 	}
 
@@ -1124,7 +1126,7 @@
 		d_printf("Adding the Administrator user.\n");
 
 		if (domadmins_gid == -1) {
-			d_fprintf(stderr, "Can't create Administrtor user, Domain Admins group not available!\n");
+			d_fprintf(stderr, "Can't create Administrator user, Domain Admins group not available!\n");
 			goto done;
 		}
 		if (!winbind_allocate_uid(&uid)) {
@@ -1238,8 +1240,12 @@
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "displayName", pwd->pw_name);
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "uidNumber", uidstr);
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "gidNumber", gidstr);
-		smbldap_set_mod(&mods, LDAP_MOD_ADD, "homeDirectory", pwd->pw_dir);
-		smbldap_set_mod(&mods, LDAP_MOD_ADD, "loginShell", pwd->pw_shell);
+		if ((pwd->pw_dir != NULL) && (pwd->pw_dir[0] != '\0')) {
+			smbldap_set_mod(&mods, LDAP_MOD_ADD, "homeDirectory", pwd->pw_dir);
+		}
+		if ((pwd->pw_shell != NULL) && (pwd->pw_shell[0] != '\0')) {
+			smbldap_set_mod(&mods, LDAP_MOD_ADD, "loginShell", pwd->pw_shell);
+		}
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "sambaSID", sid_string_static(&sid));
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "sambaAcctFlags",
 				pdb_encode_acct_ctrl(ACB_NORMAL|ACB_DISABLED,
@@ -1261,7 +1267,7 @@
 	pwd = getpwnam_alloc(NULL, lp_guestaccount());
 	if (!pwd) {
 		d_fprintf(stderr, "Failed to find just created Guest account!\n"
-				  "   Is nssswitch properly configured?!\n");
+				  "   Is nss properly configured?!\n");
 		goto failed;
 	}
 

Modified: branches/SAMBA_3_0_25/source/utils/net_sam.c
===================================================================
--- branches/SAMBA_3_0_25/source/utils/net_sam.c	2007-03-09 15:34:12 UTC (rev 21775)
+++ branches/SAMBA_3_0_25/source/utils/net_sam.c	2007-03-09 16:55:56 UTC (rev 21776)
@@ -1043,6 +1043,7 @@
 			d_fprintf(stderr, "Failed to add Domain Users group to ldap directory\n");
 		}
 	} else {
+		domusers_gid = gmap.gid;
 		d_printf("found!\n");
 	}	
 
@@ -1096,6 +1097,7 @@
 			d_fprintf(stderr, "Failed to add Domain Admins group to ldap directory\n");
 		}
 	} else {
+		domadmins_gid = gmap.gid;
 		d_printf("found!\n");
 	}
 
@@ -1124,7 +1126,7 @@
 		d_printf("Adding the Administrator user.\n");
 
 		if (domadmins_gid == -1) {
-			d_fprintf(stderr, "Can't create Administrtor user, Domain Admins group not available!\n");
+			d_fprintf(stderr, "Can't create Administrator user, Domain Admins group not available!\n");
 			goto done;
 		}
 		if (!winbind_allocate_uid(&uid)) {
@@ -1238,8 +1240,12 @@
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "displayName", pwd->pw_name);
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "uidNumber", uidstr);
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "gidNumber", gidstr);
-		smbldap_set_mod(&mods, LDAP_MOD_ADD, "homeDirectory", pwd->pw_dir);
-		smbldap_set_mod(&mods, LDAP_MOD_ADD, "loginShell", pwd->pw_shell);
+		if ((pwd->pw_dir != NULL) && (pwd->pw_dir[0] != '\0')) {
+			smbldap_set_mod(&mods, LDAP_MOD_ADD, "homeDirectory", pwd->pw_dir);
+		}
+		if ((pwd->pw_shell != NULL) && (pwd->pw_shell[0] != '\0')) {
+			smbldap_set_mod(&mods, LDAP_MOD_ADD, "loginShell", pwd->pw_shell);
+		}
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "sambaSID", sid_string_static(&sid));
 		smbldap_set_mod(&mods, LDAP_MOD_ADD, "sambaAcctFlags",
 				pdb_encode_acct_ctrl(ACB_NORMAL|ACB_DISABLED,
@@ -1261,7 +1267,7 @@
 	pwd = getpwnam_alloc(NULL, lp_guestaccount());
 	if (!pwd) {
 		d_fprintf(stderr, "Failed to find just created Guest account!\n"
-				  "   Is nssswitch properly configured?!\n");
+				  "   Is nss properly configured?!\n");
 		goto failed;
 	}
 



More information about the samba-cvs mailing list