Fixes cache key issue where users would end up overwriting
each other in cache due to cache key being essentially static
string because we no longer support %u.
Forgotten in
2e298e7ee98b6df61cf85117f000290d60a473b8
#ifndef AUTH_SETTINGS_H
#define AUTH_SETTINGS_H
+#define AUTH_CACHE_KEY_USER "%{user}"
+
struct master_service;
struct master_service_settings_output;
#include <login_cap.h>
#include <bsd_auth.h>
-#define BSDAUTH_CACHE_KEY "%u"
-
struct passdb_bsdauth_settings {
pool_t pool;
};
&post_set, error_r) < 0)
return -1;
module->default_cache_key = auth_cache_parse_key_and_fields(
- pool, BSDAUTH_CACHE_KEY, &post_set->fields, "bsdauth");
+ pool, AUTH_CACHE_KEY_USER, &post_set->fields, "bsdauth");
settings_free(post_set);
*module_r = module;
if (db_oauth2_init(event, TRUE, &module->db, error_r) < 0)
return -1;
module->module.default_pass_scheme = "PLAIN";
- module->module.default_cache_key = "%u";
+ module->module.default_cache_key = AUTH_CACHE_KEY_USER;
*module_r = &module->module;
return 0;
}
module = p_new(pool, struct pam_passdb_module, 1);
module->module.default_cache_key =
auth_cache_parse_key_and_fields(pool,
- t_strdup_printf("%%u/%s", set->service_name),
+ t_strdup_printf("%"AUTH_CACHE_KEY_USER"\t%s",
+ set->service_name),
&post_set->fields, "pam");
module->requests_left = set->max_requests;
module->pam_setcred = set->setcred;
#include "safe-memset.h"
#include "ipwd.h"
-#define PASSWD_CACHE_KEY "%u"
#define PASSWD_PASS_SCHEME "CRYPT"
#undef DEF
&post_set, error_r) < 0)
return -1;
module->default_cache_key = auth_cache_parse_key_and_fields(pool,
- PASSWD_CACHE_KEY,
+ AUTH_CACHE_KEY_USER,
&post_set->fields,
"passwd");
settings_free(post_set);
#include "ipwd.h"
#include "time-util.h"
-#define USER_CACHE_KEY "%u"
#define PASSWD_SLOW_WARN_MSECS (10*1000)
#define PASSWD_SLOW_MASTER_WARN_MSECS 50
#define PASSDB_SLOW_MASTER_WARN_COUNT_INTERVAL 100
struct passwd_userdb_module *module =
p_new(pool, struct passwd_userdb_module, 1);
- module->module.default_cache_key = USER_CACHE_KEY;
+ module->module.default_cache_key = AUTH_CACHE_KEY_USER;
*module_r = &module->module;
return 0;
}