<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div>applies for ldap too if you use prefetch.</div><div><br></div><div><br></div><div><br></div><div id="composer_signature"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">---<div>Aki Tuomi</div><div>Dovecot oy</div></div><div><br></div><div style="font-size:100%;color:#000000"><!-- originalMessage --><div>-------- Original message --------</div><div>From: Andras Kemeny <pdx@pdx.hu> </div><div>Date: 02/08/2018  01:59  (GMT+02:00) </div><div>To: dovecot@dovecot.org </div><div>Subject: Re: LMTP error, mysterious </div><div><br></div></div>
    <p>ah well, but i'm not using sql at all.</p>
    <p>here's doveconf -n:<br>
    </p>
    <p># 2.2.27 (c0f36b0): /etc/dovecot/dovecot.conf<br>
      # Pigeonhole version 0.4.16 (fed8554)<br>
      # OS: Linux 4.9.0-4-amd64 x86_64 Debian 9.4<br>
      auth_cache_negative_ttl = 0<br>
      auth_mechanisms = plain login<br>
      hostname = rhyno.tech<br>
      mail_debug = yes<br>
      mail_location = maildir:~/mail<br>
      namespace inbox {<br>
        inbox = yes<br>
        location =<br>
        mailbox Drafts {<br>
          special_use = \Drafts<br>
        }<br>
        mailbox Junk {<br>
          special_use = \Junk<br>
        }<br>
        mailbox Sent {<br>
          special_use = \Sent<br>
        }<br>
        mailbox "Sent Messages" {<br>
          special_use = \Sent<br>
        }<br>
        mailbox Trash {<br>
          special_use = \Trash<br>
        }<br>
        prefix =<br>
      }<br>
      passdb {<br>
        args = /etc/dovecot/dovecot-ldap.conf.ext<br>
        driver = ldap<br>
      }<br>
      protocols = " imap lmtp pop3"<br>
      service auth-worker {<br>
        user = $default_internal_user<br>
      }<br>
      service auth {<br>
        unix_listener /var/spool/postfix/private/auth {<br>
          group = postfix<br>
          mode = 0660<br>
          user = postfix<br>
        }<br>
      }<br>
      service imap-login {<br>
        inet_listener imap {<br>
          port = 143<br>
        }<br>
        inet_listener imaps {<br>
          port = 993<br>
          ssl = yes<br>
        }<br>
      }<br>
      service lmtp {<br>
        process_min_avail = 5<br>
        unix_listener /var/spool/postfix/private/dovecot-lmtp {<br>
          group = postfix<br>
          mode = 0600<br>
          user = postfix<br>
        }<br>
      }<br>
      service pop3-login {<br>
        inet_listener pop3 {<br>
          port = 0<br>
        }<br>
        inet_listener pop3s {<br>
          port = 0<br>
        }<br>
      }<br>
      ssl_cert = </etc/letsencrypt/live/wc-rhyno.tech/fullchain.pem<br>
      ssl_key =  # hidden, use -P to show it<br>
      submission_host = localhost:25<br>
      userdb {<br>
        driver = prefetch<br>
      }<br>
      protocol lmtp {<br>
        mail_plugins = sieve<br>
      }<br>
      protocol lda {<br>
        mail_plugins = sieve<br>
      }<br>
      protocol imap {<br>
        imap_client_workarounds = tb-extra-mailbox-sep<br>
      }<br>
      <br>
    </p>
    <br>
    <div class="moz-cite-prefix">2018. 08. 02. 0:48 keltezéssel, Aki
      Tuomi írta:<br>
    </div>
    <blockquote type="cite" cite="mid:20180801224906.B187735404E@talvi.dovecot.org">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div>protocol lmtp {</div>
      <div>    userdb {</div>
      <div>       driver = sql</div>
      <div>       args = /path/to/dovecot-sql.conf.ext</div>
      <div>    }</div>
      <div>}</div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div><br>
      </div>
      <div id="composer_signature">
        <meta http-equiv="Content-Type" content="text/html;
          charset=utf-8">
        ---
        <div>Aki Tuomi</div>
        <div>Dovecot oy</div>
      </div>
      <div><br>
      </div>
      <div style="font-size:100%;color:#000000"><!-- originalMessage -->
        <div>-------- Original message --------</div>
        <div>From: Andras Kemeny <a class="moz-txt-link-rfc2396E" href="mailto:pdx@pdx.hu"><pdx@pdx.hu></a> </div>
        <div>Date: 02/08/2018 01:35 (GMT+02:00) </div>
        <div>To: <a class="moz-txt-link-abbreviated" href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a> </div>
        <div>Subject: LMTP error, mysterious </div>
        <div><br>
        </div>
      </div>
      hi (especially to you, Aki),<br>
      <br>
      so to solve the previous UID issue, i went the full LMTP route.
      however, <br>
      i seem to be having problems with the prefetch userdb (i'm trying
      to <br>
      minimize load on the LDAP server). namely, the log says:<br>
      <br>
      Aug  2 00:15:35 rhyno postfix/submission/smtpd[21158]:
      5EEF35C05C5: <br>
      client=localhost[127.0.0.1], sasl_method=login, sasl_username=aik<br>
      Aug  2 00:15:40 rhyno postfix/cleanup[22201]: 5EEF35C05C5: <br>
      message-id=<a class="moz-txt-link-rfc2396E" href="mailto:20180801221535.5EEF35C05C5@beach.rhyno.tech"><20180801221535.5EEF35C05C5@beach.rhyno.tech></a><br>
      Aug  2 00:15:40 rhyno postfix/qmgr[17437]: 5EEF35C05C5: <br>
      from=<a class="moz-txt-link-rfc2396E" href="mailto:pdx@pdx.hu"><pdx@pdx.hu></a>, size=295, nrcpt=1 (queue active)<br>
      Aug  2 00:15:40 rhyno dovecot: lmtp(20321): Connect from local<br>
      Aug  2 00:15:40 rhyno dovecot: auth: Error:
      prefetch(<a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech">aik@rhyno.tech</a>): <br>
      userdb lookup not possible with only userdb prefetch<br>
      Aug  2 00:15:40 rhyno dovecot: lmtp(<a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech">aik@rhyno.tech</a>): Error: user <br>
      <a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech">aik@rhyno.tech</a>: Auth USER lookup failed<br>
      Aug  2 00:15:41 rhyno postfix/lmtp[22211]: 5EEF35C05C5: <br>
      to=<a class="moz-txt-link-rfc2396E" href="mailto:aik@rhyno.tech"><aik@rhyno.tech></a>,
      relay=beach.rhyno.tech[private/dovecot-lmtp], <br>
      delay=13, delays=13/0.01/0/0.03, dsn=4.3.0, status=deferred (host
      <br>
      beach.rhyno.tech[private/dovecot-lmtp] said: 451 4.3.0
      <a class="moz-txt-link-rfc2396E" href="mailto:aik@rhyno.tech"><aik@rhyno.tech></a> <br>
      Internal error occurred. Refer to server log for more information.
      (in <br>
      reply to RCPT TO command))<br>
      Aug  2 00:15:41 rhyno dovecot: lmtp(20321): Disconnect from local:
      <br>
      Successful quit<br>
      Aug  2 00:15:42 rhyno postfix/submission/smtpd[21158]: disconnect
      from <br>
      localhost[127.0.0.1] ehlo=1 auth=1 mail=1 rcpt=1 data=1 quit=1
      commands=6<br>
      <br>
      (the above is a transcript of a full session i've done over
      telneting to <br>
      localhost 587 and auth login-ing with valid credentials)<br>
      <br>
      so, i've tested the actual login process, and it works flawlessly,
      and <br>
      it looks like IMAP is up and running:<br>
      <br>
      Connected to localhost.<br>
      Escape character is '^]'.<br>
      * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID
      ENABLE <br>
      IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] Dovecot ready.<br>
      0 login <a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech">aik@rhyno.tech</a> ofCourseThisIsN0TtheRealPassword<br>
      0 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID
      ENABLE <br>
      IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS <br>
      THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT
      CHILDREN <br>
      NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC
      ESEARCH <br>
      ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE <br>
      SPECIAL-USE] Logged in<br>
      1 list "" "%"<br>
      * LIST (\HasNoChildren \Sent) "." Sent<br>
      * LIST (\HasNoChildren \Trash) "." Trash<br>
      * LIST (\HasNoChildren) "." INBOX<br>
      1 OK List completed (0.000 + 0.000 secs).<br>
      2 status INBOX (MESSAGES)<br>
      * STATUS INBOX (MESSAGES 2)<br>
      2 OK Status completed (0.000 + 0.000 secs).<br>
      <br>
      this is how i send the test mails:<br>
      <br>
      Connected to localhost.<br>
      Escape character is '^]'.<br>
      220 beach.rhyno.tech mail server<br>
      ehlo x<br>
      250-beach.rhyno.tech<br>
      250-PIPELINING<br>
      250-SIZE 10240000<br>
      250-ETRN<br>
      250-STARTTLS<br>
      250-AUTH PLAIN LOGIN<br>
      250-AUTH=PLAIN LOGIN<br>
      250-ENHANCEDSTATUSCODES<br>
      250-8BITMIME<br>
      250-DSN<br>
      250 SMTPUTF8<br>
      auth login<br>
      334 VXNlcm5hbWU6<br>
      ***obviously_masked***<br>
      334 UGFzc3dvcmQ6<br>
      ***obviously_masked***<br>
      235 2.7.0 Authentication successful<br>
      mail from:<a class="moz-txt-link-rfc2396E" href="mailto:pdx@pdx.hu"><pdx@pdx.hu></a><br>
      250 2.1.0 Ok<br>
      rcpt to:<a class="moz-txt-link-rfc2396E" href="mailto:aik@rhyno.tech"><aik@rhyno.tech></a><br>
      250 2.1.5 Ok<br>
      data<br>
      354 End data with <CR><LF>.<CR><LF><br>
      test<br>
      .<br>
      250 2.0.0 Ok: queued as 5EEF35C05C5<br>
      quit<br>
      221 2.0.0 Bye<br>
      Connection closed by foreign host.<br>
      <br>
      my concern is these two:<br>
      <br>
      Aug  2 00:15:40 rhyno dovecot: auth: Error:
      prefetch(<a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech">aik@rhyno.tech</a>): <br>
      userdb lookup not possible with only userdb prefetch<br>
      Aug  2 00:15:40 rhyno dovecot: lmtp(<a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech">aik@rhyno.tech</a>): Error: user <br>
      <a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech">aik@rhyno.tech</a>: Auth USER lookup failed<br>
      <br>
      10-auth.conf has these settings:<br>
      <br>
      passdb {<br>
        driver = ldap<br>
        args = /etc/dovecot/dovecot-ldap.conf.ext<br>
      }<br>
      userdb {<br>
        driver = prefetch<br>
      }<br>
      <br>
      dovecot-ldap.conf.ext has these settings (only the relevant ones)<br>
      <br>
      dn = ***whatever, it works***<br>
      dnpass = ***whatever, it works***<br>
      auth_bind = no<br>
      base = dc=rhyno,dc=tech<br>
      pass_attrs = \<br>
        =user=%{<a class="moz-txt-link-freetext" href="ldap:uid">ldap:uid</a>}, \<br>
        =password=%{<a class="moz-txt-link-freetext" href="ldap:userPassword">ldap:userPassword</a>}, \<br>
        =userdb_home=%{<a class="moz-txt-link-freetext" href="ldap:homeDirectory">ldap:homeDirectory</a>}, \<br>
        =userdb_uid=%{<a class="moz-txt-link-freetext" href="ldap:uidNumber">ldap:uidNumber</a>}, \<br>
        =userdb_gid=%{<a class="moz-txt-link-freetext" href="ldap:gidNumber">ldap:gidNumber</a>}<br>
      pass_filter = <br>
(&(objectclass=postfixUser)(mailacceptinggeneralid=%n)(mailacceptinggeneralid=@%d))<br>
      <br>
      so what am i missing? also, this format of setting variables <br>
      (=<output_field>=%{<whatever_special_result_field>})
      is never explained <br>
      on the wiki (or am i just blind?)<br>
      <br>
      thanks in advance,<br>
      a<br>
      <br>
    </blockquote>
    <br>
  </body></html>