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