<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi,</p>
<p>I'm trying to convert my existing users to a more modern password
scheme by following the how-to at
<a class="moz-txt-link-freetext" href="https://wiki.dovecot.org/HowTo/ConvertPasswordSchemes">https://wiki.dovecot.org/HowTo/ConvertPasswordSchemes</a>.</p>
<p>One of the steps is to include the use of '%w' in the
password_query, like so:</p>
<blockquote>
<p>password_query = \<br>
SELECT domain, password, '%w' AS userdb_plain_pass, \<br>
domain as userdb_domain, concat('*:storage=', quota) AS
userdb_quota_rule, 5000 as userdb_uid, 5000 as userdb_gid,
'/home/%d/%n' as userdb_home \<br>
FROM users WHERE (catch='%n' AND domain='%d')</p>
</blockquote>
<p>and also to configure:</p>
<blockquote>
<p>userdb {<br>
driver = prefetch<br>
}</p>
</blockquote>
<p>in order to combine the user/password_query into one. Now that
all seemed to work well, except for one thing.<br>
When a user has a % sign in their password, the following error
occurs:</p>
<blockquote>
<p>Error: Failed to expand plugin setting plain_pass =
'Tfew3322gYEp$%5Qjk0': Unknown variable '%Q'<br>
</p>
</blockquote>
<p>Which indicates that dovecot is trying to expand variables in the
password.</p>
<p>As a consequence, the login process fails.</p>
<p>Is there some way around this behavior?</p>
<p>Thanks in advance,</p>
<p>Filidor Wiese<br>
</p>
</body>
</html>