summaryrefslogtreecommitdiff
path: root/source3/smbd/conn.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-02-13 19:05:27 +0000
committerJeremy Allison <jra@samba.org>2004-02-13 19:05:27 +0000
commit8b9cdc96b4886e415eccf0a8aa57adff637570fe (patch)
tree0ca71358b84d12f4e406a3253a7f1927bf07f353 /source3/smbd/conn.c
parent608c737cdf45ff2b6e61de97f6f19dde8fea21d2 (diff)
downloadsamba-8b9cdc96b4886e415eccf0a8aa57adff637570fe.tar.gz
samba-8b9cdc96b4886e415eccf0a8aa57adff637570fe.tar.bz2
samba-8b9cdc96b4886e415eccf0a8aa57adff637570fe.zip
Fixup the 'multiple-vuids' bugs.
Jeremy. (This used to be commit a7d4a6d1167f7657113148cdf68ea3c491b51b14)
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;
}
}
}