Make sure user cache directory exists

The cache directory needs to be created by the authenticator itself.
This commit is contained in:
Markus Mäkelä
2017-02-03 08:10:03 +02:00
parent 70061e6323
commit 62fdd68ac0

View File

@ -557,16 +557,19 @@ static int mysql_auth_load_users(SERV_LISTENER *port)
MXS_ERROR("[%s] Unable to load users for listener %s listening at %s:%d.", service->name,
port->name, port->address ? port->address : "0.0.0.0", port->port);
strcat(path, DBUSERS_FILE);
if (mxs_mkdir_all(path, S_IRWXU))
{
strcat(path, DBUSERS_FILE);
if (!dbusers_load(instance->handle, path))
{
MXS_ERROR("[%s] Failed to load cached users from '%s'.", service->name, path);
rc = MXS_AUTH_LOADUSERS_ERROR;
}
else
{
MXS_WARNING("[%s] Using cached credential information from '%s'.", service->name, path);
if (!dbusers_load(instance->handle, path))
{
MXS_ERROR("[%s] Failed to load cached users from '%s'.", service->name, path);
rc = MXS_AUTH_LOADUSERS_ERROR;
}
else
{
MXS_WARNING("[%s] Using cached credential information from '%s'.", service->name, path);
}
}
if (instance->inject_service_user)