passdb-cache.c revision 25bfe4176b33935ccdbe94bfe26b181c52318e9d
e59faf65ce864fe95dc00f5d52b8323cdbd0608aTimo Sirainen/* Copyright (C) 2004 Timo Sirainen */
31ddc75584c5cde53d2e78a737587f2e7fdcb0d2Timo Sirainenstatic void list_save(struct auth_request *request, const char *password,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen const char *const *list)
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen extra = auth_request_extra_begin(request, password);
8fa41238067c854435884c459963fde6f8c6436bTimo Sirainenint passdb_cache_verify_plain(struct auth_request *request, const char *key,
91dca97b367c54a139c268b56a0c67f564bd9197Timo Sirainen const char *password, const char *default_scheme,
46c31f64b9f0949f00b7819f45b22f2d64b2ea27Timo Sirainen const char *value, *cached_pw, *scheme, *const *list;
5aeb15e5817fbd4b1d8de540aa7673e3819a8030Timo Sirainen /* value = password \t ... */
5aeb15e5817fbd4b1d8de540aa7673e3819a8030Timo Sirainen value = auth_cache_lookup(passdb_cache, request, key);
3ccab0bac68040f179a7de45c516cec258e28fdbTimo Sirainen /* negative cache entry */
bb10ebcf076c959c752f583746d83805d7686df8Timo Sirainen ret = password_verify(password, cached_pw, scheme, request->user);
3ccab0bac68040f179a7de45c516cec258e28fdbTimo Sirainen i_error("cache(%s): Unknown password scheme %s",
648d24583c1574441c4fa0331a90bd4d6e7996c5Timo Sirainen } else if (ret == 0) {
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenint passdb_cache_lookup_credentials(struct auth_request *request,
20a802016205bbcafc90f164f769ea801f88d014Timo Sirainen value = auth_cache_lookup(passdb_cache, request, key);
e156adefc1260d31a145df2f5e9b3c82050d4163Timo Sirainen /* negative cache entry */
bbf796c17f02538058d7559bfe96d677e5b55015Timo Sirainen const char *env;
1e923fcf497665fe071a154c31fb452766b0b2deTimo Sirainen max_size = (size_t)strtoul(env, NULL, 10) * 1024;
c27f03fa8fd2ef4acd1db814fae7d90e0eb9d3aeTimo Sirainen cache_ttl = (unsigned int)strtoul(env, NULL, 10);