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

Reply via email to