Lines Matching refs:db
18 #include "db-checkpassword.h"
26 struct db_checkpassword *db;
80 hash_table_remove(request->db->clients,
82 child_wait_remove_pid(request->db->child_wait, request->pid);
277 /* extra fields could come from master db */
380 checkpassword_exec(struct db_checkpassword *db, struct auth_request *request,
409 cmd = checkpassword_get_cmd(request, db->checkpassword_path,
410 db->checkpassword_reply_path);
419 struct db_checkpassword *db)
422 hash_table_lookup(db->clients, POINTER_CAST(status->pid));
426 hash_table_remove(db->clients, POINTER_CAST(status->pid));
449 void db_checkpassword_call(struct db_checkpassword *db,
503 checkpassword_exec(db, request, fd_in[1], fd_out[0],
519 chkpw_auth_request->db = db;
537 hash_table_insert(db->clients, POINTER_CAST(pid), chkpw_auth_request);
538 child_wait_add_pid(db->child_wait, pid);
545 struct db_checkpassword *db;
547 db = i_new(struct db_checkpassword, 1);
548 db->checkpassword_path = i_strdup(checkpassword_path);
549 db->checkpassword_reply_path = i_strdup(checkpassword_reply_path);
550 hash_table_create_direct(&db->clients, default_pool, 0);
551 db->child_wait =
552 child_wait_new_with_pid((pid_t)-1, sigchld_handler, db);
553 return db;
558 struct db_checkpassword *db = *_db;
565 iter = hash_table_iterate_init(db->clients);
566 while (hash_table_iterate(iter, db->clients, &key, &request))
570 child_wait_free(&db->child_wait);
571 hash_table_destroy(&db->clients);
572 i_free(db->checkpassword_reply_path);
573 i_free(db->checkpassword_path);
574 i_free(db);