<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>you mean i should define another, "fallback" userdb service if
      prefetch doesn't work for some reason?</p>
    <p>is it the problem that it's a chicken and egg scenario and with
      LMTP address verification (from postfix) there is no login
      beforehand so then dovecot needs to consult the userdb once again
      and having no fallback mechanism, it gives up? i can understand
      that, but then it would need to be emphasized in either the
      prefetch document or the lmtp document on the wiki.</p>
    <p>i've tried it and now it works, thank you ever so much. (but
      please make a mental note to add this info on the wiki.)</p>
    <p>cheers,<br>
      a<br>
    </p>
    <br>
    <div class="moz-cite-prefix">2018. 08. 02. 1:10 keltezéssel, Aki
      Tuomi írta:<br>
    </div>
    <blockquote type="cite"
      cite="mid:201808012310.w71NAk8d032040@mail.pdx.hu">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <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 <a class="moz-txt-link-rfc2396E" href="mailto:pdx@pdx.hu"><pdx@pdx.hu></a> </div>
        <div>Date: 02/08/2018 01:59 (GMT+02:00) </div>
        <div>To: <a class="moz-txt-link-abbreviated" href="mailto:dovecot@dovecot.org">dovecot@dovecot.org</a> </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" moz-do-not-send="true"><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" moz-do-not-send="true">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"
          moz-do-not-send="true"><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"
          moz-do-not-send="true"><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"
          moz-do-not-send="true">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"
          moz-do-not-send="true">aik@rhyno.tech</a>): Error: user <br>
        <a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech"
          moz-do-not-send="true">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"
          moz-do-not-send="true"><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"
          moz-do-not-send="true"><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" moz-do-not-send="true">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" moz-do-not-send="true"><pdx@pdx.hu></a><br>
        250 2.1.0 Ok<br>
        rcpt to:<a class="moz-txt-link-rfc2396E"
          href="mailto:aik@rhyno.tech" moz-do-not-send="true"><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"
          moz-do-not-send="true">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"
          moz-do-not-send="true">aik@rhyno.tech</a>): Error: user <br>
        <a class="moz-txt-link-abbreviated" href="mailto:aik@rhyno.tech"
          moz-do-not-send="true">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"
          moz-do-not-send="true">ldap:uid</a>}, \<br>
          =password=%{<a class="moz-txt-link-freetext"
          href="ldap:userPassword" moz-do-not-send="true">ldap:userPassword</a>},
        \<br>
          =userdb_home=%{<a class="moz-txt-link-freetext"
          href="ldap:homeDirectory" moz-do-not-send="true">ldap:homeDirectory</a>},
        \<br>
          =userdb_uid=%{<a class="moz-txt-link-freetext"
          href="ldap:uidNumber" moz-do-not-send="true">ldap:uidNumber</a>},
        \<br>
          =userdb_gid=%{<a class="moz-txt-link-freetext"
          href="ldap:gidNumber" moz-do-not-send="true">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>
    </blockquote>
    <br>
  </body>
</html>