modifyTimestamp on samba-3.0.3

j.lu.tiesse at unodinoicom.it j.lu.tiesse at unodinoicom.it
Thu May 6 08:24:23 GMT 2004


We cannot remove the \"modifyTimestamop\" from atrrib_map_v30[], because this 
attribute list will be used in ldapsam_getsampwnam to get the ldap entry 
which is used in init_sam_from_ldap. If an attribute is not in that entry, 
the call ldap_get_values will fail. This is why the bad_password_count didn\'t 
work on 3.0.3, in which the ldapsam_get_entry_timestamp will always fail.

FIXME:
--- passdb/pdb_ldap.c   Wed May  5 16:07:04 2004
+++ passdb/pdb_ldap.c.fix   Thu May  6 09:41:50 2004
@@ -81,7 +81,6 @@
#define SAM_ACCOUNT struct sam_passwd
#endif

-#define MODIFY_TIMESTAMP_STRING \"modifyTimestamp\"

#include \"smbldap.h\"

@@ -400,8 +399,11 @@
   pstring temp;
   struct tm tm;

-   if (!smbldap_get_single_pstring(ldap_state->smbldap_state->ldap_struct,
-                   entry, MODIFY_TIMESTAMP_STRING, temp))
+   if (!smbldap_get_single_pstring(
+               ldap_state->smbldap_state->ldap_struct, entry,
+               get_userattr_key2string(ldap_state->schema_ver,
+                LDAP_ATTR_MOD_TIMESTAMP),
+                temp))
       return (time_t) 0;

   strptime(temp, \"%Y%m%d%H%M%SZ\", &tm);
--- include/smbldap.h   Thu May  6 08:37:25 2004
+++ include/smbldap.h.fix   Thu May  6 08:38:21 2004
@@ -94,8 +94,8 @@
#define LDAP_ATTR_MUNGED_DIAL      37
#define LDAP_ATTR_BAD_PASSWORD_TIME    38
#define LDAP_ATTR_SID_LIST              40
+#define LDAP_ATTR_MOD_TIMESTAMP     41

typedef struct _attrib_map_entry {
   int     attrib;
--- lib/smbldap.c   Wed May  5 18:06:15 2004
+++ lib/smbldap.c.fix   Thu May  6 08:44:09 2004
@@ -101,6 +101,7 @@
   { LDAP_ATTR_BAD_PASSWORD_COUNT, \"sambaBadPasswordCount\" },
   { LDAP_ATTR_BAD_PASSWORD_TIME,  \"sambaBadPasswordTime\"  },
   { LDAP_ATTR_PWD_HISTORY,    \"sambaPasswordHistory\"  },
+   { LDAP_ATTR_MOD_TIMESTAMP,  \"modifyTimestamp\"   },
   { LDAP_ATTR_LIST_END,       NULL            }



Jianliang Lu
TieSse s.p.a.     Ivrea (To) - Italy
j.lu at tiesse.com   luj at libero.it
http://www.tiesse.com



More information about the samba-technical mailing list