nope and good that you replied as I would have forgotten :-)
can you create a ticket on our tracker ?
https://github.com/OpenSMTPD/OpenSMTPD/issues
On Wed, Sep 03, 2014 at 10:39:48AM -0500, Nolan Darilek wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Excellent news, thanks! Is there a ticket I can follow for updates?
>
>
> On 9/1/2014 3:31 AM, Gilles Chehade wrote:
> > Just got back from vacations ;-)
> >
> > So, regarding:
> >
> > delivery: TempFail for 4ff505c9976626c9:
> > from=<[email protected]>, to=<[email protected]>, user=nolan,
> > method=lmtp, delay=4s, stat=Error ("smtpd: No input received: No
> > such file or directory")
> >
> > Nevermind the No such file or directory, that part is bogus as I
> > just realized. You're hitting this because the LMTP client has read
> > data from the LMTP server but the data didn't come as a full line.
> >
> > This seems to be a bug in the read loop logic of the delivery_lmtp
> > backend, I have a fix but I'll check with the author first.
> >
> > The TempFail you observe is a direct result of this error.
> >
> >
> >
> > On Thu, Aug 21, 2014 at 11:57:42AM -0500, Nolan Darilek wrote:
> >> Hey, never got a response to this. Just wondering if anyone had
> >> any thoughts? I'd like to migrate to an OpenSMTPD/DBMail setup
> >> but I literally don't know what my next step in debugging this
> >> should be.
> >>
> >> Thanks.
> >>
> >> On 7/10/2014 12:16 PM, Nolan Darilek wrote:
> >>> Hello,
> >>>
> >>> I'm trying to build a setup where OpenSMTPD authenticates
> >>> against and delivers to DBMail, with all components running in
> >>> Docker containers. It seems I'm almost there. OpenSMTPD queries
> >>> the DBMail database for domains/users/email addresses, accepts
> >>> mail for delivery, but returns temporary failures alternating
> >>> between "no such file or directory" and "resource temporarily
> >>> unavailable." I'm trying to deliver mail to dbmail-lmtp.
> >>>
> >>> I ran smtpd with -T all. The file is huge, but I'll include
> >>> what I think is the relevant section. Is there somewhere else I
> >>> might look to determine just what file or resource isn't being
> >>> found? Since the file is so huge I don't know if I should be
> >>> checking a different section.
> >>>
> >>> I'll also include my configs. I'm not sure if I want to deliver
> >>> or relay to dbmail-lmtp. I'm also not sure if I should be using
> >>> lmtp://lmtp:24 or lmtp:24 as the destination.
> >>>
> >>> Another thing I'm uncertain of is whether OpenSMTPD does
> >>> lookups against /etc/hosts. My Docker setup links the LMTP
> >>> container with OpenSMTPD's, and writes a host entry for "lmtp"
> >>> to /etc/hosts. I can ping lmtp from the container and can
> >>> telnet to port 24, but if OpenSMTPD does its lookups in a way
> >>> that disregards /etc/hosts then I'll need a different lookup
> >>> solution. I don't think this is the case, as I got the same
> >>> results with a hard-coded IP, but I included it for
> >>> completeness' sake.
> >>>
> >>> I'll happily provide additional information if asked, I don't
> >>> know quite what is relevant.
> >>>
> >>> Thanks.
> >>>
> >>> --- smtpd.conf ---
> >>>
> >>> table domains sqlite:/usr/local/etc/sqlite.conf # table
> >>> sqlaliases sqlite:/usr/local/etc/sqlite.conf table users
> >>> sqlite:/usr/local/etc/sqlite.conf
> >>>
> >>> pki thewordnerd.info certificate "/etc/ssl/certs/mail.crt" pki
> >>> thewordnerd.info key "/etc/ssl/private/mail.key"
> >>>
> >>> listen on "0.0.0.0" secure pki thewordnerd.info auth-optional
> >>>
> >>> accept from any for domain <domains> userbase <users> deliver
> >>> to lmtp "lmtp:24" accept for any relay
> >>>
> >>> --- sqlite.conf ---
> >>>
> >>> dbpath /var/lib/dbmail/dbmail.db # query_alias select alias
> >>> from alias where user=?; query_domain select distinct
> >>> substr(alias, instr(alias, '@')+1) as domain from
> >>> dbmail_aliases where domain = ?; query_userinfo select 1000 as
> >>> uid, 1000, '/home' where uid != ?; query_credentials select
> >>> userid, passwd from dbmail_users where userid = ?;
> >>>
> >>> --- Trace ---
> >>>
> >>> smtp-in: Accepted message 4ff505c9 on session
> >>> 4ae127e6fcb95a56: from=<[email protected]>,
> >>> to=<[email protected]>, size=5, ndest=1, proto=ESMTP smtp:
> >>> 0x144d4a0: STATE_BODY -> STATE_HELO smtp: 0x144d4a0: IO_LOWAT
> >>> <io:0x144d4e8 fd=4 to=300000 fl=W ib=0 ob=0> imsg: mfa <- smtp:
> >>> IMSG_MFA_EVENT_COMMIT (len=9) filter: new query QT_EVENT
> >>> HOOK_COMMIT filter: draining query
> >>> 1930dbb42ff6d329[QT_EVENT,HOOK_COMMIT] filter: freeing query
> >>> 1930dbb42ff6d329 imsg: queue <- scheduler: IMSG_MDA_DELIVER
> >>> (len=9) mproc: queue -> control : 58 IMSG_STAT_INCREMENT mproc:
> >>> queue -> mda: allocating 128 mproc: queue -> mda: realloc 128
> >>> -> 512 mproc: queue -> mda : 381 IMSG_MDA_DELIVER imsg: mda <-
> >>> queue: IMSG_MDA_DELIVER (len=381) mproc: mda -> lka: allocating
> >>> 128 mproc: mda -> lka : 23 IMSG_LKA_USERINFO mproc: mda ->
> >>> control : 43 IMSG_STAT_INCREMENT mproc: mda -> control : 47
> >>> IMSG_STAT_INCREMENT mproc: mda -> control : 46
> >>> IMSG_STAT_INCREMENT imsg: lka <- mda: IMSG_LKA_USERINFO
> >>> (len=23) lookup: lookup "nolan" as USERINFO in table proc:users
> >>> -> "nolan:1000:1000:/home" mproc: lka -> mda: allocating 128
> >>> mproc: lka -> mda: realloc 128 -> 2048 mproc: lka -> mda : 1087
> >>> IMSG_LKA_USERINFO imsg: mda <- lka: IMSG_LKA_USERINFO
> >>> (len=1087) mproc: mda -> control : 46 IMSG_STAT_DECREMENT
> >>> mproc: mda -> control : 46 IMSG_STAT_INCREMENT mproc: mda ->
> >>> queue: allocating 128 mproc: mda -> queue : 14
> >>> IMSG_QUEUE_MESSAGE_FD imsg: queue <- mda: IMSG_QUEUE_MESSAGE_FD
> >>> (len=14) queue-backend: queue_message_fd_r(4ff505c9) -> 4
> >>> mproc: queue -> mda : 9 IMSG_QUEUE_MESSAGE_FD imsg: mda <-
> >>> queue: IMSG_QUEUE_MESSAGE_FD (len=9, fd=4) mproc: mda ->
> >>> parent: allocating 128 mproc: mda -> parent: realloc 128 ->
> >>> 4096 mproc: mda -> parent : 3166 IMSG_PARENT_FORK_MDA imsg:
> >>> parent <- mda: IMSG_PARENT_FORK_MDA (len=3166) mproc: parent ->
> >>> mda: allocating 128 mproc: parent -> mda : 9
> >>> IMSG_PARENT_FORK_MDA imsg: mda <- parent: IMSG_PARENT_FORK_MDA
> >>> (len=9, fd=5) mda: 0x13f98c0: IO_LOWAT <io:0x13f98d8 fd=5 to=-1
> >>> fl=W ib=0 ob=0> mda: 0x13f98c0: IO_LOWAT <io:0x13f98d8 fd=5
> >>> to=-1 fl=W ib=0 ob=0> imsg: control <- scheduler:
> >>> IMSG_STAT_DECREMENT (len=60) ramstat: decrement:
> >>> scheduler.ramqueue.update ramstat: scheduler.ramqueue.update
> >>> (0x13e9711): 1 -> 0 imsg: control <- scheduler:
> >>> IMSG_STAT_DECREMENT (len=62) ramstat: decrement:
> >>> scheduler.envelope.incoming ramstat:
> >>> scheduler.envelope.incoming (0x13e9711): 1 -> 0 imsg: control
> >>> <- scheduler: IMSG_STAT_INCREMENT (len=53) ramstat: increment:
> >>> scheduler.envelope ramstat: scheduler.envelope (0x13f8e91): 0
> >>> -> 1 imsg: control <- scheduler: IMSG_STAT_INCREMENT (len=62)
> >>> ramstat: increment: scheduler.envelope.inflight ramstat:
> >>> scheduler.envelope.inflight (0x13f8c11): 0 -> 1 imsg: control
> >>> <- queue: IMSG_STAT_INCREMENT (len=58) ramstat: increment:
> >>> queue.evpcache.load.hit ramstat: queue.evpcache.load.hit
> >>> (0x13f8c11): 0 -> 1 imsg: control <- mda: IMSG_STAT_INCREMENT
> >>> (len=43) ramstat: increment: mda.user ramstat: mda.user
> >>> (0x13f8e91): 0 -> 1 imsg: control <- mda: IMSG_STAT_INCREMENT
> >>> (len=47) ramstat: increment: mda.envelope ramstat: mda.envelope
> >>> (0x13f8e91): 0 -> 1 imsg: control <- mda: IMSG_STAT_INCREMENT
> >>> (len=46) ramstat: increment: mda.pending ramstat: mda.pending
> >>> (0x13f8e91): 0 -> 1 imsg: control <- mda: IMSG_STAT_DECREMENT
> >>> (len=46) ramstat: decrement: mda.pending ramstat: mda.pending
> >>> (0x13f8e91): 1 -> 0 imsg: control <- mda: IMSG_STAT_INCREMENT
> >>> (len=46) ramstat: increment: mda.running ramstat: mda.running
> >>> (0x13f8e91): 0 -> 1 mproc: scheduler -> control : 59
> >>> IMSG_STAT_SET mproc: scheduler -> control : 57 IMSG_STAT_SET
> >>> mproc: mta -> control : 53 IMSG_STAT_SET mproc: mta -> control
> >>> : 49 IMSG_STAT_SET mproc: mta -> control : 52 IMSG_STAT_SET
> >>> mproc: mta -> control : 51 IMSG_STAT_SET mproc: parent ->
> >>> control : 56 IMSG_STAT_SET mproc: parent -> control : 52
> >>> IMSG_STAT_SET mproc: parent -> control : 52 IMSG_STAT_SET
> >>> mproc: parent -> control : 52 IMSG_STAT_SET mproc: parent ->
> >>> control : 52 IMSG_STAT_SET mproc: parent -> control : 54
> >>> IMSG_STAT_SET mproc: parent -> control : 53 IMSG_STAT_SET
> >>> ramstat: set: buffer.scheduler.control ramstat:
> >>> buffer.scheduler.control: n/a -> n/a ramstat: set:
> >>> buffer.scheduler.queue ramstat: buffer.scheduler.queue: n/a ->
> >>> n/a ramstat: set: buffer.mta.control ramstat:
> >>> buffer.mta.control: n/a -> n/a ramstat: set: buffer.mta.lka
> >>> ramstat: buffer.mta.lka: n/a -> n/a ramstat: set:
> >>> buffer.mta.parent ramstat: buffer.mta.parent: n/a -> n/a
> >>> ramstat: set: buffer.mta.queue ramstat: buffer.mta.queue: n/a
> >>> -> n/a ramstat: set: buffer.parent.control ramstat:
> >>> buffer.parent.control: n/a -> n/a ramstat: set:
> >>> buffer.parent.lka ramstat: buffer.parent.lka: n/a -> n/a
> >>> ramstat: set: buffer.parent.mda ramstat: buffer.parent.mda: n/a
> >>> -> n/a ramstat: set: buffer.parent.mfa ramstat:
> >>> buffer.parent.mfa: n/a -> n/a ramstat: set: buffer.parent.mda
> >>> ramstat: buffer.parent.mda: n/a -> n/a ramstat: set:
> >>> buffer.parent.queue ramstat: buffer.parent.queue: n/a -> n/a
> >>> mproc: lka -> control : 53 IMSG_STAT_SET mproc: lka -> control
> >>> : 49 IMSG_STAT_SET mproc: lka -> control : 49 IMSG_STAT_SET
> >>> mproc: lka -> control : 52 IMSG_STAT_SET mproc: lka -> control
> >>> : 51 IMSG_STAT_SET mproc: lka -> control : 50 IMSG_STAT_SET
> >>> ramstat: set: buffer.parent.smtp ramstat: buffer.parent.smtp:
> >>> n/a -> n/a ramstat: set: buffer.lka.control ramstat:
> >>> buffer.lka.control: n/a -> n/a ramstat: set: buffer.lka.mda
> >>> ramstat: buffer.lka.mda: n/a -> n/a ramstat: set:
> >>> buffer.lka.mda ramstat: buffer.lka.mda: n/a -> n/a ramstat:
> >>> set: buffer.lka.parent ramstat: buffer.lka.parent: n/a -> n/a
> >>> ramstat: set: buffer.lka.queue ramstat: buffer.lka.queue: n/a
> >>> -> n/a ramstat: set: buffer.lka.smtp ramstat: buffer.lka.smtp:
> >>> n/a -> n/a mproc: mda -> control : 53 IMSG_STAT_SET mproc: mda
> >>> -> control : 49 IMSG_STAT_SET mproc: mda -> control : 52
> >>> IMSG_STAT_SET mproc: mda -> control : 51 IMSG_STAT_SET ramstat:
> >>> set: buffer.mda.control ramstat: buffer.mda.control: n/a ->
> >>> n/a ramstat: set: buffer.mda.lka ramstat: buffer.mda.lka: n/a
> >>> -> n/a ramstat: set: buffer.mda.parent ramstat:
> >>> buffer.mda.parent: n/a -> n/a ramstat: set: buffer.mda.queue
> >>> ramstat: buffer.mda.queue: n/a -> n/a mproc: smtp -> control :
> >>> 54 IMSG_STAT_SET mproc: smtp -> control : 50 IMSG_STAT_SET
> >>> mproc: smtp -> control : 50 IMSG_STAT_SET mproc: smtp ->
> >>> control : 53 IMSG_STAT_SET mproc: smtp -> control : 52
> >>> IMSG_STAT_SET ramstat: set: buffer.smtp.control ramstat:
> >>> buffer.smtp.control: n/a -> n/a ramstat: set: buffer.smtp.lka
> >>> ramstat: buffer.smtp.lka: n/a -> n/a ramstat: set:
> >>> buffer.smtp.mfa ramstat: buffer.smtp.mfa: n/a -> n/a ramstat:
> >>> set: buffer.smtp.parent ramstat: buffer.smtp.parent: n/a ->
> >>> n/a ramstat: set: buffer.smtp.queue ramstat: buffer.smtp.queue:
> >>> n/a -> n/a mproc: mfa -> control : 53 IMSG_STAT_SET mproc: mfa
> >>> -> control : 52 IMSG_STAT_SET mproc: mfa -> control : 50
> >>> IMSG_STAT_SET ramstat: set: buffer.mfa.control ramstat:
> >>> buffer.mfa.control: n/a -> n/a ramstat: set: buffer.mfa.parent
> >>> ramstat: buffer.mfa.parent: n/a -> n/a ramstat: set:
> >>> buffer.mfa.smtp ramstat: buffer.mfa.smtp: n/a -> n/a mproc:
> >>> queue -> control : 55 IMSG_STAT_SET mproc: queue -> control :
> >>> 51 IMSG_STAT_SET mproc: queue -> control : 51 IMSG_STAT_SET
> >>> mproc: queue -> control : 51 IMSG_STAT_SET mproc: queue ->
> >>> control : 54 IMSG_STAT_SET mproc: queue -> control : 57
> >>> IMSG_STAT_SET mproc: queue -> control : 52 IMSG_STAT_SET
> >>> ramstat: set: buffer.queue.control ramstat:
> >>> buffer.queue.control: n/a -> n/a ramstat: set:
> >>> buffer.queue.lka ramstat: buffer.queue.lka: n/a -> n/a ramstat:
> >>> set: buffer.queue.mda ramstat: buffer.queue.mda: n/a -> n/a
> >>> ramstat: set: buffer.queue.mda ramstat: buffer.queue.mda: n/a
> >>> -> n/a ramstat: set: buffer.queue.parent ramstat:
> >>> buffer.queue.parent: n/a -> n/a ramstat: set:
> >>> buffer.queue.scheduler ramstat: buffer.queue.scheduler: n/a ->
> >>> n/a ramstat: set: buffer.queue.smtp ramstat: buffer.queue.smtp:
> >>> n/a -> n/a mproc: parent -> mda : 28 IMSG_MDA_DONE imsg: mda <-
> >>> parent: IMSG_MDA_DONE (len=28, fd=4) mproc: mda -> queue : 69
> >>> IMSG_DELIVERY_TEMPFAIL delivery: TempFail for 4ff505c9976626c9:
> >>> from=<[email protected]>, to=<[email protected]>,
> >>> user=nolan, method=lmtp, delay=4s, stat=Error ("smtpd: No input
> >>> received: No such file or directory")
> >>>
> >>>
> >>
> >>
> >> -- You received this mail because you are subscribed to
> >> [email protected] To unsubscribe, send a mail to:
> >> [email protected]
> >>
> >
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.22 (MingW32)
>
> iQIcBAEBAgAGBQJUBzZEAAoJEAIF+g7+rYRXitwP/3+UMEfYcH2yKAieOcpafPp5
> 28P0aPDs4MSu6L+Wt5DUq5cYd8eyOobC3MmyFtox7Uca6E6eyMTOWB0+QP9Qq3jt
> xrRHdJ+dLdH8kbC0iBH3qv47dV6BZKiY1NyzCCuQFLvPPfPMZEhrTMM3Hc2IbuJu
> rno6SxzUx4rbX7g3wpoo0mtEAkJV1x/ONA0BHxO18ECZuc6D/qRTvOzPJqV3AXtj
> TjsEUHkO7IfdcGuSpjxdxgq0eA8IMhSmgVfQf8snfXxIH5IbvZUU8BLcIfwYhXGE
> pXO/Xs5HK4QHNL4oXZxKN2eUWGnUcypdTEMe5pvtoZAE6YD4NLY913MoA4K5Zc8D
> QjTJjCE0OufIAFinBVm6Vdeh2iFA0FhDauHWZkaJ6SUza/QAQIoOh14IeLEhaUnP
> vektJ1XU+9gOPyWIKYIBu72OL5HkZoIHLKEsTUxzPBJsVoeSYo3GVM8KfmNlSKqr
> tRegYq+BqMRg2ZiwSC338vaJGenJFZhbPx6cZ6zr3M5jDE0ckTF5GQlF15qgZF45
> ljkQM0/uaWUJFFvowmVX0ZEsoSE7LfbIyEYF0Kc7ggKmVmLYowuWAeAqTnKOUgUF
> YFWPQvmkyHxjp+shegUz+hU+dqd51+oOZEN71UzCJz/fYuLcH72sZ6WIMc5gqoi/
> an8i0LnwOpPhtO8C++60
> =BW9Q
> -----END PGP SIGNATURE-----
>
> --
> You received this mail because you are subscribed to [email protected]
> To unsubscribe, send a mail to: [email protected]
>
--
Gilles Chehade
https://www.poolp.org @poolpOrg
--
You received this mail because you are subscribed to [email protected]
To unsubscribe, send a mail to: [email protected]