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>