summaryrefslogtreecommitdiff
path: root/source3/smbd/conn.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-02-13 19:05:25 +0000
committerJeremy Allison <jra@samba.org>2004-02-13 19:05:25 +0000
commitb545a8de0a605edda11cab322dab0ad26b6cebd1 (patch)
tree62520aa7f6a7a92daceca612dd2e4cf9336c9d05 /source3/smbd/conn.c
parent663f07d63b9dad6cff09dd8890c3c5974799b503 (diff)
downloadsamba-b545a8de0a605edda11cab322dab0ad26b6cebd1.tar.gz
samba-b545a8de0a605edda11cab322dab0ad26b6cebd1.tar.bz2
samba-b545a8de0a605edda11cab322dab0ad26b6cebd1.zip
Fixup the 'multiple-vuids' bugs.
Jeremy. (This used to be commit f0f7a48327ba1808088bc8c4e5d48b5cbeaeb4e3)
Diffstat (limited to 'source3/smbd/conn.c')
-rw-r--r--source3/smbd/conn.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source3/smbd/conn.c b/source3/smbd/conn.c
index 289b7d611d..9bac0acdb9 100644
--- a/source3/smbd/conn.c
+++ b/source3/smbd/conn.c
@@ -199,8 +199,9 @@ BOOL conn_idle_all(time_t t, int deadtime)
}
/****************************************************************************
-clear a vuid out of the validity cache, and as the 'owner' of a connection.
+ Clear a vuid out of the validity cache, and as the 'owner' of a connection.
****************************************************************************/
+
void conn_clear_vuid_cache(uint16 vuid)
{
connection_struct *conn;
@@ -212,8 +213,11 @@ void conn_clear_vuid_cache(uint16 vuid)
}
for (i=0;i<conn->vuid_cache.entries && i< VUID_CACHE_SIZE;i++) {
- if (conn->vuid_cache.list[i] == vuid) {
- conn->vuid_cache.list[i] = UID_FIELD_INVALID;
+ if (conn->vuid_cache.array[i].vuid == vuid) {
+ struct vuid_cache_entry *ent = &conn->vuid_cache.array[i];
+ ent->vuid = UID_FIELD_INVALID;
+ ent->read_only = False;
+ ent->admin_user = False;
}
}
}