Author: jerry Date: 2006-06-09 14:59:04 +0000 (Fri, 09 Jun 2006) New Revision: 16124
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=16124 Log: catch a couple of fixes from Guenther Modified: branches/SAMBA_3_0_RELEASE/WHATSNEW.txt branches/SAMBA_3_0_RELEASE/source/include/smbldap.h branches/SAMBA_3_0_RELEASE/source/lib/smbldap.c branches/SAMBA_3_0_RELEASE/source/passdb/pdb_ldap.c Changeset: Modified: branches/SAMBA_3_0_RELEASE/WHATSNEW.txt =================================================================== --- branches/SAMBA_3_0_RELEASE/WHATSNEW.txt 2006-06-09 13:09:04 UTC (rev 16123) +++ branches/SAMBA_3_0_RELEASE/WHATSNEW.txt 2006-06-09 14:59:04 UTC (rev 16124) @@ -65,6 +65,9 @@ * Correct "net ads changetrustpw" to use the sAMAccountName. * Fix winbindd in ADS domains by removing code using the UPN and rely upon the sAMAccountName. + * Fix a eDir related memory leak. + * Don't try to add the sn attribute twice to an LDAP + inetOrgPerson + samSamAccount entry. o Aleksey Fedoseev <[EMAIL PROTECTED]> Modified: branches/SAMBA_3_0_RELEASE/source/include/smbldap.h =================================================================== --- branches/SAMBA_3_0_RELEASE/source/include/smbldap.h 2006-06-09 13:09:04 UTC (rev 16123) +++ branches/SAMBA_3_0_RELEASE/source/include/smbldap.h 2006-06-09 14:59:04 UTC (rev 16124) @@ -101,6 +101,7 @@ #define LDAP_ATTR_MOD_TIMESTAMP 41 #define LDAP_ATTR_LOGON_HOURS 42 #define LDAP_ATTR_TRUST_PASSWD_FLAGS 43 +#define LDAP_ATTR_SN 44 typedef struct _attrib_map_entry { Modified: branches/SAMBA_3_0_RELEASE/source/lib/smbldap.c =================================================================== --- branches/SAMBA_3_0_RELEASE/source/lib/smbldap.c 2006-06-09 13:09:04 UTC (rev 16123) +++ branches/SAMBA_3_0_RELEASE/source/lib/smbldap.c 2006-06-09 14:59:04 UTC (rev 16124) @@ -52,6 +52,7 @@ { LDAP_ATTR_LOGOFF_TIME, "logoffTime" }, { LDAP_ATTR_KICKOFF_TIME, "kickoffTime" }, { LDAP_ATTR_CN, "cn" }, + { LDAP_ATTR_SN, "sn" }, { LDAP_ATTR_DISPLAY_NAME, "displayName" }, { LDAP_ATTR_HOME_PATH, "smbHome" }, { LDAP_ATTR_HOME_DRIVE, "homeDrive" }, @@ -106,6 +107,7 @@ { LDAP_ATTR_LOGOFF_TIME, "sambaLogoffTime" }, { LDAP_ATTR_KICKOFF_TIME, "sambaKickoffTime" }, { LDAP_ATTR_CN, "cn" }, + { LDAP_ATTR_SN, "sn" }, { LDAP_ATTR_DISPLAY_NAME, "displayName" }, { LDAP_ATTR_HOME_DRIVE, "sambaHomeDrive" }, { LDAP_ATTR_HOME_PATH, "sambaHomePath" }, Modified: branches/SAMBA_3_0_RELEASE/source/passdb/pdb_ldap.c =================================================================== --- branches/SAMBA_3_0_RELEASE/source/passdb/pdb_ldap.c 2006-06-09 13:09:04 UTC (rev 16123) +++ branches/SAMBA_3_0_RELEASE/source/passdb/pdb_ldap.c 2006-06-09 14:59:04 UTC (rev 16124) @@ -730,14 +730,21 @@ pwd_len = sizeof(clear_text_pw); if (pdb_nds_get_password(ldap_state->smbldap_state, user_dn, &pwd_len, clear_text_pw) == LDAP_SUCCESS) { nt_lm_owf_gen(clear_text_pw, smbntpwd, smblmpwd); - if (!pdb_set_lanman_passwd(sampass, smblmpwd, PDB_SET)) + if (!pdb_set_lanman_passwd(sampass, smblmpwd, PDB_SET)) { + SAFE_FREE(user_dn); return False; + } ZERO_STRUCT(smblmpwd); - if (!pdb_set_nt_passwd(sampass, smbntpwd, PDB_SET)) + if (!pdb_set_nt_passwd(sampass, smbntpwd, PDB_SET)) { + SAFE_FREE(user_dn); return False; + } ZERO_STRUCT(smbntpwd); use_samba_attrs = False; } + + SAFE_FREE(user_dn); + } else { DEBUG(0, ("init_sam_from_ldap: failed to get user_dn for '%s'\n", username)); }
