<!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>