]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Assume unknown settings returned by userdb lookup are plugin settings.
authorTimo Sirainen <tss@iki.fi>
Sun, 12 Apr 2009 02:27:23 +0000 (22:27 -0400)
committerTimo Sirainen <tss@iki.fi>
Sun, 12 Apr 2009 02:27:23 +0000 (22:27 -0400)
--HG--
branch : HEAD

src/lib-storage/mail-storage-service.c

index bcb198e49e884b0e62171942c728078f2b902e8c..d82a509f9093969e5e6b33a46bc424c8eec53173 100644 (file)
@@ -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;