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; }