Hugo Manuel Ojendiz Lemus
2019-Apr-09 20:48 UTC
dict: Error: Fatal error in defaults handling. Program aborted
Good day to everyone
Currently, I'm trying to implement the sieve "vacation" plugin
with the
sieve "Extdata" plugin to lookup information from a MySQL remote
server. I'm
following the instructions in the documentation:
https://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Extdata
===== I have the following error ==
Apr 09 13:46:51 mail dovecot[5512]: dict: Error: Fatal error in defaults
handling. Program aborted
Apr 09 13:46:51 mail dovecot[5512]:
lmtp(usrx at themail.com)<5539><PNwlBJvorFyjFQAAYWwSRA:2>: Warning:
sieve:
before: line 18: extdata: failed to lookup value `reply_enabled': Connection
closed (reply took 0.016 secs (0.017 in dict wait, 0.000 in other ioloops,
0.000 in locks, async-id reply 0.001 secs ago))
Apr 09 13:46:51 mail dovecot[5512]: dict: Fatal: master: service(dict):
child 5542 killed with signal 11 (core dumps disabled -
https://dovecot.org/bugreport.html#coredumps)
Apr 09 13:46:51 mail.halmex.com.mx dovecot[5512]: dict: Error: Fatal error
in defaults handling. Program aborted
===========================
====== Dovecot Information =====
2.3.5.1 (7ec6d0ade): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.5 (2483b085)
# OS: Linux 3.10.0-514.16.1.el7.x86_64 x86_64 CentOS Linux release 7.3.1611
(Core) xfs
doveconf: Warning: please set ssl_dh=</etc/dovecot/dh.pem
doveconf: Warning: You can generate it with: dd
if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam
-inform der > /etc/dovecot/dh.pem
dict {
sieve = mysql:/etc/dovecot/pigeonhole-sieve.dict
}
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/var/vmail/%d/%Ln
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 index ihave
duplicate mime foreverypart extracttext
namespace inbox {
inbox = yes
location
prefix
separator = .
type = private
}
passdb {
args = /etc/dovecot/dovecot-sql.conf.ext
driver = sql
}
plugin {
pop3_migration_mailbox = imapc:
sieve_extdata_dict_uri = proxy::sieve
sieve_global_extensions = +vnd.dovecot.extdata
sieve_plugins = sieve_extdata
sieve_vacation_send_from_recipient = yes
sieve_before = /var/lib/dovecot/before.sieve
}
pop3c_host = mail.halmex.com.mx
service auth-worker {
user = root
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
unix_listener auth-master {
mode = 0600
user = vmail
}
user = root
}
service dict {
unix_listener dict {
group = vmail
mode = 0600
user = vmail
}
}
service lmtp {
unix_listener /var/spool/postfix/private/dovecot-lmtp {
group = postfix
mode = 0600
user = postfix
}
}
userdb {
args = uid=5000 gid=5000 home=/var/vmail/%d/%Ln allow_all_users=yes
driver = static
}
protocol pop3 {
disable_plaintext_auth = no
}
protocol doveadm {
mail_plugins = " pop3_migration"
}
protocol lmtp {
mail_plugins = " sieve"
}
===========================
An important bit of information it's that the dict service was trying to
read the /etc/my.cnf file, but SELinux prevent it, and the sieve script
worked fine, once I solved the SELinux access problem, the errors began to
appear.
This is a postfix server working great for years, with a local MariaDB.
The remote MySQL server it?s in the same LAN and It?s reachable by the mail
server and other servers, the account has access, and like I?ve mention,
before I gave access to the local /etc/my.cnf the sieve script worked fine
(just the SELinux warnings).
Looks like the dict service has problems with the local MariaDB
configuration file, but in this scenario it?s not required
Any information or help you can provide me would be greatly appreciated.
Hugo Manuel Ojendiz Lemus
Desarrollo | Recursos Humanos | HALMEX
((?J?))
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<https://dovecot.org/pipermail/dovecot/attachments/20190409/f7ac5d3f/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5607 bytes
Desc: not available
URL:
<https://dovecot.org/pipermail/dovecot/attachments/20190409/f7ac5d3f/attachment-0001.p7s>
Aki Tuomi
2019-Apr-10 04:50 UTC
dict: Error: Fatal error in defaults handling. Program aborted
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<div>
<br>
</div>
<blockquote type="cite">
<div>
On 9 April 2019 23:48 Hugo Manuel Ojendiz Lemus via dovecot
<dovecot@dovecot.org> wrote:
</div>
<div>
<br>
</div>
<div>
<br>
</div>
<div class="WordSection1">
<p class="MsoNormal">Good day to everyone</p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal">Currently, I'm trying to implement
the sieve "vacation" plugin with the sieve "Extdata" plugin
to lookup information from a MySQL remote server. I'm following the
instructions in the documentation:
https://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Extdata</p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal">===== I have the following error
===</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">Apr 09 13:46:51 mail dovecot[5512]: dict: Error:
Fatal error in defaults handling. Program aborted</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">Apr 09 13:46:51 mail dovecot[5512]:
lmtp(usrx@themail.com)<5539><PNwlBJvorFyjFQAAYWwSRA:2>: Warning:
sieve: before: line 18: extdata: failed to lookup value `reply_enabled':
Connection closed (reply took 0.016 secs (0.017 in dict wait, 0.000 in other
ioloops, 0.000 in locks, async-id reply 0.001 secs ago))</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">Apr 09 13:46:51 mail dovecot[5512]: dict: Fatal:
master: service(dict): child 5542 killed with signal 11 (core dumps disabled -
https://dovecot.org/bugreport.html#coredumps)</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">Apr 09 13:46:51 mail.halmex.com.mx dovecot[5512]:
dict: Error: Fatal error in defaults handling. Program aborted</p>
<p class="MsoNormal">============================</p>
<p class="MsoNormal">====== Dovecot Information
======</p>
<p class="MsoNormal"><br></p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">2.3.5.1 (7ec6d0ade):
/etc/dovecot/dovecot.conf</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal"># Pigeonhole version 0.5.5 (2483b085)</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal"># OS: Linux 3.10.0-514.16.1.el7.x86_64 x86_64
CentOS Linux release 7.3.1611 (Core) xfs</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">doveconf: Warning: please set
ssl_dh=</etc/dovecot/dh.pem</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">doveconf: Warning: You can generate it with: dd
if=/var/lib/dovecot/ssl-parameters.dat bs=1 skip=88 | openssl dhparam -inform
der > /etc/dovecot/dh.pem</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">dict {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
sieve = mysql:/etc/dovecot/pigeonhole-sieve.dict</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">log_timestamp = "%Y-%m-%d %H:%M:%S
"</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">mail_location =
maildir:/var/vmail/%d/%Ln</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">managesieve_notify_capability = mailto</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">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 index ihave duplicate mime foreverypart extracttext</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">namespace inbox {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
inbox = yes</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
location =</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
prefix =</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
separator = .</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
type = private</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">passdb {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
args = /etc/dovecot/dovecot-sql.conf.ext</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
driver = sql</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">plugin {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
pop3_migration_mailbox = imapc:</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
sieve_extdata_dict_uri = proxy::sieve</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
sieve_global_extensions = +vnd.dovecot.extdata</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
sieve_plugins = sieve_extdata</p>
<p style="margin-left: 35.4pt; text-indent: 4.5pt;"
class="MsoNormal">sieve_vacation_send_from_recipient =
yes</p>
<p style="margin-left: 35.4pt; text-indent: 4.5pt;"
class="MsoNormal">sieve_before =
/var/lib/dovecot/before.sieve</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">pop3c_host = mail.halmex.com.mx</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">service auth-worker {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
user = root</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">service auth {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
unix_listener /var/spool/postfix/private/auth {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
group = postfix</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
mode = 0660</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
user = postfix</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
}</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
unix_listener auth-master {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
mode = 0600</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
user = vmail</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
}</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
user = root</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">service dict {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
unix_listener dict {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
group = vmail</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
mode = 0600</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
user = vmail</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">service lmtp {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
unix_listener /var/spool/postfix/private/dovecot-lmtp {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
group = postfix</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
mode = 0600</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
user = postfix</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal"><br></p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">userdb {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
args = uid=5000 gid=5000 home=/var/vmail/%d/%Ln allow_all_users=yes</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
driver = static</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">protocol pop3 {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
disable_plaintext_auth = no</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">protocol doveadm {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
mail_plugins = " pop3_migration"</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">protocol lmtp {</p>
<p style="margin-left: 35.4pt;" class="MsoNormal">
mail_plugins = " sieve"</p>
<p style="margin-left: 35.4pt;"
class="MsoNormal">}</p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal">============================</p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal">An important bit of information
it's that the dict service was trying to read the /etc/my.cnf file, but
SELinux prevent it, and the sieve script worked fine, once I solved the SELinux
access problem, the errors began to appear.</p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal">This is a postfix server working great
for years, with a local MariaDB.</p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal">The remote MySQL server it’s in the
same LAN and It’s reachable by the mail server and other servers, the account
has access, and like I’ve mention, before I gave access to the local /etc/my.cnf
the sieve script worked fine (just the SELinux warnings).</p>
<p class="MsoNormal">Looks like the dict service has
problems with the local MariaDB configuration file, but in this scenario it’s
not required</p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal">Any information or help you can provide
me would be greatly appreciated.</p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal">Hugo Manuel Ojendiz Lemus</p>
<p class="MsoNormal"><span style="color:
#9cc2e5;">Desarrollo </span><span style="color:
#a6a6a6;">| </span><span style="color:
#9cc2e5;">Recursos Humanos</span><span style="color:
#a6a6a6;"> | </span><strong><span style="color:
#1f4e79;">HAL</span></strong><span style="color:
#9cc2e5;">MEX</span></p>
<p class="MsoNormal"><br></p>
<p class="MsoNormal"><strong><span
style="font-size: 8.0pt; color:
#cc0066;">((</span></strong><strong><span
style="font-size: 8.0pt; color:
#000066;">°</span></strong><strong><span
style="font-size: 8.0pt; color:
green;">J</span></strong><strong><span
style="font-size: 8.0pt; color:
#0099ff;">°</span></strong><strong><span
style="font-size: 8.0pt; color:
#cc9900;">))</span></strong></p>
<p class="MsoNormal"><br></p>
</div>
</blockquote>
<div>
<br>
</div>
<div>
Can you get backtrace on the corefile using gdb? bt full should give it. See
https://dovecot.org/bugreport.html
</div>
<div class="io-ox-signature">
<pre>---
Aki Tuomi</pre>
</div>
</body>
</html>