From: Timo Sirainen Date: Sun, 12 Apr 2009 02:27:23 +0000 (-0400) Subject: Assume unknown settings returned by userdb lookup are plugin settings. X-Git-Tag: 2.0.alpha1~976 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b34fdb68d376d85b4880da4a4bdf67ae726a381b;p=thirdparty%2Fdovecot%2Fcore.git Assume unknown settings returned by userdb lookup are plugin settings. --HG-- branch : HEAD --- diff --git a/src/lib-storage/mail-storage-service.c b/src/lib-storage/mail-storage-service.c index bcb198e49e..d82a509f90 100644 --- a/src/lib-storage/mail-storage-service.c +++ b/src/lib-storage/mail-storage-service.c @@ -71,7 +71,7 @@ user_reply_handle(struct master_service *service, const struct auth_user_reply *reply, const char **system_groups_user_r, const char **error_r) { - const char *const *str, *p, *line; + const char *const *str, *p, *line, *key; unsigned int i, count; int ret = 0; @@ -114,6 +114,13 @@ user_reply_handle(struct master_service *service, line = t_strconcat(str[i], "=yes", NULL); else line = str[i]; + + key = t_strcut(line, '='); + if (!settings_parse_is_valid_key(service->set_parser, key)) { + /* assume it's a plugin setting */ + line = t_strconcat("plugin/", line, NULL); + } + ret = settings_parse_line(service->set_parser, line); } T_END;