Lines Matching refs:node
147 auth_cache_node_unlink(struct auth_cache *cache, struct auth_cache_node *node)
149 if (node->prev != NULL)
150 node->prev->next = node->next;
153 cache->tail = node->next;
156 if (node->next != NULL)
157 node->next->prev = node->prev;
160 cache->head = node->prev;
166 struct auth_cache_node *node)
168 node->prev = cache->head;
169 node->next = NULL;
171 cache->head = node;
172 if (node->prev != NULL)
173 node->prev->next = node;
175 cache->tail = node;
179 auth_cache_node_destroy(struct auth_cache *cache, struct auth_cache_node *node)
181 char *key = node->data;
183 auth_cache_node_unlink(cache, node);
185 cache->size_left += node->alloc_size;
187 i_free(node);
270 static bool auth_cache_node_is_user(struct auth_cache_node *node,
273 const char *data = node->data;
302 static bool auth_cache_node_is_one_of_users(struct auth_cache_node *node,
308 if (auth_cache_node_is_user(node, usernames[i]))
317 struct auth_cache_node *node, *next;
320 for (node = cache->tail; node != NULL; node = next) {
321 next = node->next;
322 if (auth_cache_node_is_one_of_users(node, usernames)) {
323 auth_cache_node_destroy(cache, node);
372 struct auth_cache_node *node;
381 node = hash_table_lookup(cache->hash, key);
382 if (node == NULL) {
387 value = node->data + strlen(node->data) + 1;
391 if (node->created < now - (time_t)ttl_secs) {
397 if (node != cache->head) {
398 auth_cache_node_unlink(cache, node);
399 auth_cache_node_link_head(cache, node);
403 if (node->created < now - (time_t)cache->neg_ttl_secs)
407 *node_r = node;
415 struct auth_cache_node *node;
439 sizeof(node->data) + data_size;
445 node = hash_table_lookup(cache->hash, key);
446 if (node != NULL) {
448 auth_cache_node_destroy(cache, node);
452 node = i_malloc(alloc_size);
453 node->created = time(NULL);
454 node->alloc_size = alloc_size;
455 node->last_success = last_success;
456 memcpy(node->data, key, key_len);
457 memcpy(node->data + key_len + 1, value, value_len);
459 auth_cache_node_link_head(cache, node);
462 hash_key = node->data;
463 hash_table_insert(cache->hash, hash_key, node);
477 struct auth_cache_node *node;
480 node = hash_table_lookup(cache->hash, key);
481 if (node == NULL)
484 auth_cache_node_destroy(cache, node);