diff options
-rw-r--r-- | source3/include/proto.h | 3 | ||||
-rw-r--r-- | source3/passdb/login_cache.c | 13 | ||||
-rw-r--r-- | source3/passdb/pdb_ldap.c | 2 |
3 files changed, 10 insertions, 8 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index 68a3e5cf7b..ad95863d81 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -4410,7 +4410,8 @@ char* get_string_param( const char* param ); bool login_cache_init(void); bool login_cache_shutdown(void); bool login_cache_read(struct samu *sampass, struct login_cache *entry); -bool login_cache_write(const struct samu *sampass, struct login_cache entry); +bool login_cache_write(const struct samu *sampass, + const struct login_cache *entry); bool login_cache_delentry(const struct samu *sampass); /* The following definitions come from passdb/lookup_sid.c */ diff --git a/source3/passdb/login_cache.c b/source3/passdb/login_cache.c index 2f9f000f11..cf6c796321 100644 --- a/source3/passdb/login_cache.c +++ b/source3/passdb/login_cache.c @@ -112,13 +112,14 @@ bool login_cache_read(struct samu *sampass, struct login_cache *entry) return true; } -bool login_cache_write(const struct samu *sampass, struct login_cache entry) +bool login_cache_write(const struct samu *sampass, + const struct login_cache *entry) { char *keystr; TDB_DATA databuf; bool ret; uint32_t entry_timestamp; - uint32_t bad_password_time = (uint32_t)entry.bad_password_time; + uint32_t bad_password_time = entry->bad_password_time; if (!login_cache_init()) return False; @@ -138,8 +139,8 @@ bool login_cache_write(const struct samu *sampass, struct login_cache entry) databuf.dsize = tdb_pack(NULL, 0, SAM_CACHE_FORMAT, entry_timestamp, - entry.acct_ctrl, - entry.bad_password_count, + entry->acct_ctrl, + entry->bad_password_count, bad_password_time); databuf.dptr = SMB_MALLOC_ARRAY(uint8, databuf.dsize); if (!databuf.dptr) { @@ -149,8 +150,8 @@ bool login_cache_write(const struct samu *sampass, struct login_cache entry) if (tdb_pack(databuf.dptr, databuf.dsize, SAM_CACHE_FORMAT, entry_timestamp, - entry.acct_ctrl, - entry.bad_password_count, + entry->acct_ctrl, + entry->bad_password_count, bad_password_time) != databuf.dsize) { SAFE_FREE(keystr); diff --git a/source3/passdb/pdb_ldap.c b/source3/passdb/pdb_ldap.c index b3eb37501c..4ff718ebdb 100644 --- a/source3/passdb/pdb_ldap.c +++ b/source3/passdb/pdb_ldap.c @@ -1518,7 +1518,7 @@ static bool init_ldap_from_sam (struct ldapsam_privates *ldap_state, cache_entry.bad_password_time = badtime; DEBUG(7, ("Updating bad password count and time in login cache\n")); - login_cache_write(sampass, cache_entry); + login_cache_write(sampass, &cache_entry); } } |