Variable expansion in passwords
lukn
lukn555 at gmail.com
Thu Jul 16 20:55:39 EEST 2020
Hello list
A user reports failure to log in after password change. The client side
error message indicates a lost or dropped connection by the server.
A peek into the server logs reveales this:
dovecot: imap(user at example.com)<53267><el0HoZGqHIdb0K2G>: Error: Failed
to expand plugin setting plain_pass = 'asdf%?asdf': Unknown variable '%?'
This looks a lot like a %-variable in the user provided password is
tried to be expanded... Is this a bug or did I misconfigure something?
output of dovecot -n is attached.
regards
lukn
-------------- next part --------------
# 2.3.10.1 (a3d0e1171): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.10 (67bf5bd7)
# OS: Linux 2.6.32-754.29.2.el6.x86_64 x86_64 CentOS release 6.10 (Final)
auth_master_user_separator = *
auth_mechanisms = plain login
auth_policy_hash_nonce = # hidden, use -P to show it
auth_policy_request_attributes = login=%{requested_username} pwhash=%{hashed_password} remote=%{rip} device_id=%{client_id} protocol=%s attrs/local_ip=%{lip}
auth_policy_server_api_header = Authorization: Basic asdfasdfasdf
auth_policy_server_url = http://wforce.example.com:8084/
auth_verbose = yes
auth_verbose_passwords = sha1
default_client_limit = 6000
default_vsz_limit = 2 G
dict {
acl = mysql:/etc/dovecot/dovecot-dict-shares.conf
quotadict = mysql:/etc/dovecot/dovecot-dict-quota.conf
}
disable_plaintext_auth = no
doveadm_password = # hidden, use -P to show it
listen = *
login_greeting = Fumail Dovecot ready.
mail_max_userip_connections = 100
mail_plugins = " quota notify replication"
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date
namespace {
list = children
location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u
prefix = shared/%%u/
separator = /
subscriptions = no
type = shared
}
namespace inbox {
inbox = yes
location =
mailbox Drafts {
auto = subscribe
special_use = \Drafts
}
mailbox Sent {
auto = subscribe
special_use = \Sent
}
mailbox Spam {
auto = subscribe
special_use = \Junk
}
mailbox Trash {
auto = subscribe
special_use = \Trash
}
prefix =
separator = /
type = private
}
passdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
plugin {
acl = vfile:/etc/dovecot/acls
acl_shared_dict = proxy::acl
mail_replica = tcp:replicationpartner:1337
quota = dict:::proxy::quotadict
quota_grace = 10%%
quota_rule = *:storage=10M:messages=1000
quota_rule2 = Spam:ignore
quota_rule3 = Trash:storage=+100M
quota_warning = storage=95%% quota-warning 95 %u
quota_warning2 = storage=75%% quota-warning 75 %u
sieve = ~/.dovecot.sieve
sieve_dir = ~/sieve
}
protocols = pop3 imap lmtp sieve
service aggregator {
fifo_listener replication-notify-fifo {
user = fumail
}
unix_listener replication-notify {
user = fumail
}
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
group = fumail
mode = 0660
user = fumail
}
user = root
}
service dict {
unix_listener dict {
mode = 0600
user = fumail
}
}
service doveadm {
inet_listener {
port = 1337
}
}
service imap-login {
process_limit = 256
}
service imap {
client_limit = 1
process_min_avail = 16
service_count = 0
vsz_limit = 2 G
}
service lmtp {
inet_listener lmtp {
address = 127.0.0.1
port = 24
}
process_min_avail = 5
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0660
user = postfix
}
}
service managesieve {
vsz_limit = 2 G
}
service pop3 {
client_limit = 1
vsz_limit = 2 G
}
service quota-warning {
executable = script /usr/local/bin/quotawarning.py
unix_listener quota-warning {
mode = 0666
user = fumail
}
user = fumail
}
service replicator {
process_min_avail = 1
unix_listener replicator-doveadm {
mode = 0666
}
}
ssl_ca = </etc/pki/tls/certs/adfasdf.crt
ssl_cert = </etc/pki/tls/certs/asdfasdf.crt
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
driver = prefetch
}
userdb {
args = /etc/dovecot/dovecot-sql.conf
driver = sql
}
protocol imap {
imap_client_workarounds =
mail_plugins = " quota notify replication acl imap_acl quota imap_quota"
}
protocol pop3 {
mail_plugins = " quota notify replication quota"
pop3_uidl_format = %08Xu%08Xv
}
protocol sieve {
managesieve_logout_format = bytes ( in=%i : out=%o )
}
protocol lmtp {
deliver_log_format = from=<%f> msgid=%m action=<%$> subject=%s
mail_plugins = " quota notify replication sieve quota"
postmaster_address = postmaster at example.com
quota_full_tempfail = yes
}
More information about the dovecot
mailing list