The intendet and documented behavior of smbcontrol smbd idmap kill is to
delete the mapping from caches and additionally kill the smbd if an affected id
is in use.
Signed-off-by: Michael Adam <obnox@samba.org>
memcache_flush(NULL, SID_UID_CACHE);
memcache_flush(NULL, UID_SID_CACHE);
}
-static void delete_from_cache(const struct id_cache_ref* id)
+void id_cache_delete_from_cache(const struct id_cache_ref* id)
{
switch(id->type) {
case UID:
return;
}
- delete_from_cache(&id);
+ id_cache_delete_from_cache(&id);
}
void id_cache_register_msgs(struct messaging_context *ctx)
bool id_cache_ref_parse(const char* str, struct id_cache_ref* id);
+void id_cache_delete_from_cache(const struct id_cache_ref* id);
+
void id_cache_register_msgs(struct messaging_context *ctx);
if (id_in_use(validated_users, &id)) {
exit_server_cleanly(msg);
}
+ id_cache_delete_from_cache(&id);
}
void id_cache_register_kill_msg(struct messaging_context *ctx)