Sure, I'll get it. The function find_bounded() is currently a void, so what
I'm using to see if it found anything or not is the length parameter. It would
just need a return value to indicate if it found a nothing or a zero length
something (which is to say, it found the bounding characters, but nothing
between them).
Aaron
Ilja Booij <[EMAIL PROTECTED]> said:
> Hi,
>
> I've found another problem :)
>
> When dbmail-lmtp rejects a message (unknown user for instance), postfix
> generates a bounce message, with "MAIL FROM: <>". This is legal (normal
> for notification messages from an MTA). DBMail does not handle it,
> because it cannot find an address between "<" and ">", which results in
> a "500 No address found" from dbmail-lmtp.
>
> This happens when the bounce message is sent to a user which is handled
> by the same dbmail instance.
>
> capiche?
>
> If you have no time for this, I'll fix it tomorrow. I'm off to home now!
>
> Ilja
>
>
> Aaron Stone wrote:
>
> > Ok, then you're still up, and I just fixed the other two sections of code
> > :-)
> >
> > Aaron
> >
> >
> > Ilja Booij <[EMAIL PROTECTED]> said:
> >
> >
> >>Hi,
> >>
> >>(respone inline)
> >>
> >>Aaron Stone wrote:
> >>
> >>
> >>>In this example, there are three recipients, pat, jones and green.
> >>>Following
> >>>the data command, there are only two acknowledgements. This is contrary to
> >>>my
> >>>understanding that each recipient had to be acknowledged:
> >>>
> >>> The LMTP protocol causes the server to return, after the final "." of
> >>> the DATA command, one reply for each recipient. Therefore, if the
> >>> queue manager is configured to use LMTP instead of SMTP when
> >>> transferring messages to the delivery agents, then the delivery
> >>> agents may attempt delivery to each recipient after the final "." and
> >>> individually report the status for each recipient. Connections which
> >>> should use the LMTP protocol are drawn in the diagram above using
> >>> asterisks.
> >>>
> >>>So looking at jones, it is clear why: jones failed the RCPT command, and so
> >>>was no longer in the recipient list when the DATA command came around. Then
> >>
> >>Clear :)
> >>
> >>
> >>>read this:
> >>>
> >>> The additional restriction is that when there have been no successful
> >>> RCPT commands in the mail transaction, the DATA command MUST fail
> >>> with a 503 reply code.
> >>>
> >>> The change is that after the final ".", the server returns one reply
> >>> for each previously successful RCPT command in the mail transaction,
> >>> in the order that the RCPT commands were issued. Even if there were
> >>> multiple successful RCPT commands giving the same forward-path, there
> >>> must be one reply for each successful RCPT command.
> >>>
> >>>I think that what the first paragraph in this quote means is not that DATA
> >>>is
> >>>failed, per se, but that the whole conversation is flagged with a 503.
> >>>
> >>>So here's what I think needs to be fixed:
> >>>
> >>> - If there are no recipients, use 503 AND NOTHING ELSE to report it,
> >>> which means changing this section of code to use a 503:
> >>>
> >>>if (!has_recipients)
> >>> {
> >>> trace(TRACE_DEBUG,"main(): no valid recipients found, cancel message.");
> >>> fprintf((FILE *)stream, "554 No valid recipients.\r\n" );
> >>> }
> >>
> >>Yep, change the 554 to 503
> >>
> >>
> >>> - When a recipient is failed, report the error and then *remove that
> >>> recipient from the dsnusers list* so that after the message is
> >>> received, their failure is not reported a second time.
> >>
> >>Sounds good :)
> >>
> >>>I'll get on it this afternoon, please test it in the morning, your time!
> >>
> >>I will.
> >>
> >>Ilja
> >>
> >>
> >>>Ilja Booij <[EMAIL PROTECTED]> said:
> >>>
> >>>
> >>>
> >>>>After some more reading of RFC 2033 I'm inclined to believe an LMTP
> >>>>client does not get a response after sending the DATA, except for the
> >>>>responses about the delivery of the message to the users.
> >>>>
> >>>>Example session from the RFC:
> >>>>
> >>>> S: 220 foo.edu LMTP server ready
> >>>> C: LHLO foo.edu
> >>>> S: 250-foo.edu
> >>>> S: 250-PIPELINING
> >>>> S: 250 SIZE
> >>>> C: MAIL FROM:<[EMAIL PROTECTED]>
> >>>> S: 250 OK
> >>>>
> >>>> C: RCPT TO:<[EMAIL PROTECTED]>
> >>>> S: 250 OK
> >>>> C: RCPT TO:<[EMAIL PROTECTED]>
> >>>> S: 550 No such user here
> >>>> C: RCPT TO:<[EMAIL PROTECTED]>
> >>>> S: 250 OK
> >>>> C: DATA
> >>>> S: 354 Start mail input; end with <CRLF>.<CRLF>
> >>>> C: Blah blah blah...
> >>>> C: ...etc. etc. etc.
> >>>> C: .
> >>>> S: 250 OK
> >>>> S: 452 <[EMAIL PROTECTED]> is temporarily over quota
> >>>> C: QUIT
> >>>> S: 221 foo.edu closing connection
> >>>>
> >>>>The important bit is after the DATA line
> >>>>there are two responses from the server after the data line:
> >>>>1. "250 OK": the message to [EMAIL PROTECTED] was delivered
> >>>>2. "452 <[EMAIL PROTECTED]> is temporarily over quota", the message to
> >>>>[EMAIL PROTECTED] was not delivered.
> >>>>
> >>>>There is no line indicating that the message was received by the server.
> >>>>The server should only indicate when a message was not received correctly.
> >>>>
> >>>>I'll complete remove the
> >>>>fprintf((FILE *)stream, "250 Message received OK\r\n"); line
> >>>>
> >>>>
> >>>>Ilja Booij wrote:
> >>>>
> >>>>
> >>>>
> >>>>>Hi,
> >>>>>
> >>>>>Removing the
> >>>>>"250 Message received OK" after having received the message takes care
> >>>>>of the error. I can just send several messages, with
> >>>>>"lmtp_cache_connection = yes" in /etc/postfix/main.cf
> >>>>>
> >>>>>I'm starting to wonder whether LMTP requires us to send a message if the
> >>>>>message was received OK by the server.
> >>>>>
> >>>>>Ilja
> >>>>>
> >>>>>Ilja Booij wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Hi,
> >>>>>>
> >>>>>>with some help from a guy on [EMAIL PROTECTED] I found something:
> >>>>>>
> >>>>>>The "250 Recipient <[EMAIL PROTECTED]> OK" message from
> >>>>>>dbmail-lmtp is out of sync. The postfix/lmtp program stores this
> >>>>>>message until the next message is sent, causing the messages between
> >>>>>>postfix and dbmail-smtp to be horribly out-of-sync.
> >>>>>>
> >>>>>>I guess this should be quite easy to fix. I'll see if I have some time
> >>>>>>to do it this weekend. Otherwise I'll do it on Monday. Unless anybody
> >>>>>>else wants to do it of course ;)
> >>>>>>
> >>>>>>I'll be off in a few minutes. First a beer, then it's off to home :)
> >>>>>>
> >>>>>>Have a nice weekend!
> >>>>>>
> >>>>>>Ilja
> >>>>>>
> >>>>>>
> >>>>>>Ilja Booij wrote:
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>>Hmm, I still don't really understand the problem. I've done some
> >>>>>>>ngrep-ing, to see what goes over the network.
> >>>>>>>
> >>>>>>>This is a session that's OK:
> >>>>>>>
> >>>>>>>T 2004/03/05 13:45:46.324232 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 220 test01 DBMail LMTP service ready to rock..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:45:46.324696 127.0.0.1:46715 -> 127.0.0.1:10024 [AP]
> >>>>>>> LHLO test01.office.fastxs.net..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:45:46.324900 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 250-test01..250-PIPELINING..250-ENHANCEDSTATUSCODES..250 SIZE..
> >>>>>>>#
> >>>>>>>T 2004/03/05 13:45:46.325306 127.0.0.1:46715 -> 127.0.0.1:10024 [AP]
> >>>>>>> MAIL FROM:<[EMAIL PROTECTED]> SIZE=866..RCPT
> >>>>>>>TO:<[EMAIL PROTECTED]>..DATA..
> >>>>>>>#
> >>>>>>>T 2004/03/05 13:45:46.325479 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 250 Sender <[EMAIL PROTECTED]> OK..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:45:46.365648 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 250 Recipient <[EMAIL PROTECTED]> OK..354 Start mail
> >>>>>>>input; end with <CRLF>.<CRLF>..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:45:46.365974 127.0.0.1:46715 -> 127.0.0.1:10024 [AP]
> >>>>>>> Received: from earthquake.office.fastxs.net
> >>>>>>>(earthquake.office.fastxs.net [10.0.1.15])...by test01.office.fastxs.n
> >>>>>>> et (Postfix) with ESMTP id 394DD19F30A...for
> >>>>>>><[EMAIL PROTECTED]>; Fri, 5 Mar 2004 13:45:46 +0100 (C
> >>>>>>> ET)..Received: from earthquake.office.fastxs.net (localhost
> >>>>>>>[127.0.0.1])...by earthquake.office.fastxs.net (Postfi
> >>>>>>> x) with ESMTP id 405D4375FE...for
> >>>>>>><[EMAIL PROTECTED]>; Fri, 5 Mar 2004 13:49:12 +0100
> >>>>>>>(CET)..Receiv
> >>>>>>> ed: (from [EMAIL PROTECTED])...by earthquake.office.fastxs.net
> >>>>>>>(8.12.9/8.12.9/Submit) id i25CnCo0005116...for target@
> >>>>>>> test01.office.fastxs.net; Fri, 5 Mar 2004 13:49:12 +0100
> >>>>>>>(CET)..Date: Fri, 5 Mar 2004 13:49:12 +0100 (CET)..From:
> >>>>>>> Ilja Booij <[EMAIL PROTECTED]>..Message-Id:
> >>>>>>><[EMAIL PROTECTED]
> >>>>>>> net>..To: [EMAIL PROTECTED]: 5-3
> >>>>>>>27......27.....
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:45:46.568851 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 250 Message received OK..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:45:46.608610 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> c..
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>If another message is sent (over the same connection):
> >>>>>>>
> >>>>>>>
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:46:01.879964 127.0.0.1:46715 -> 127.0.0.1:10024 [AP]
> >>>>>>> RSET..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:46:01.880127 127.0.0.1:46715 -> 127.0.0.1:10024 [AP]
> >>>>>>> MAIL FROM:<[EMAIL PROTECTED]> SIZE=858..RCPT
> >>>>>>>TO:<[EMAIL PROTECTED]>..DATA..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:46:01.880368 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 250 OK..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:46:01.880460 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 250 Sender <[EMAIL PROTECTED]> OK..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:46:01.883495 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 250 Recipient <[EMAIL PROTECTED]> OK..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:46:01.883541 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 354 Start mail input; end with <CRLF>.<CRLF>..
> >>>>>>>##
> >>>>>>>T 2004/03/05 13:47:41.920055 127.0.0.1:46715 -> 127.0.0.1:10024 [AP]
> >>>>>>> RSET..QUIT..
> >>>>>>>###
> >>>>>>>T 2004/03/05 13:52:41.875033 127.0.0.1:10024 -> 127.0.0.1:46715 [AP]
> >>>>>>> 500 Error reading header...
> >>>>>>>#
> >>>>>>>
> >>>>>>>You can see that the client (postfix) starts with an RSET command,
> >>>>>>>and starts sending MAIL_FROM, RCPT and DATA.
> >>>>>>>The server responds with 250 OK to the reset, and 250 Sender OK and
> >>>>>>>250 Recipient OK, and lets the client start sending (354 Start mail
> >>>>>>>input).
> >>>>>>>
> >>>>>>>The problem is that Postfix detects that it should not send data,
> >>>>>>>because the message is supposedly bounced by dbmail.. But why?
> >>>>>>>
> >>>>>>>Ilja
> >>>>>>>
> >>>>>>>Ilja Booij wrote:
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>>Hi,
> >>>>>>>>
> >>>>>>>>Robert, thanks for your suggestion. It seems to work perfectly here.
> >>>>>>>>Messages now get delivered to users without a problem.
> >>>>>>>>
> >>>>>>>>I'll take a look at lmtp.c to see if I can spot the difference
> >>>>>>>>between the server getting a QUIT from the client and a reconnection
> >>>>>>>>on a new message, and a cached connection.
> >>>>>>>>
> >>>>>>>>Ilja
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>Robert Theisen wrote:
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>>New to the list here. But I read over the archives regarding this
> >>>>>>>>>problem and I may have a little to add.
> >>>>>>>>>
> >>>>>>>>>I was able to get postfix to consistently deliver via lmtp to
> >>>>>>>>>dbmail (even two consecutive messages to the same user) by setting
> >>>>>>>>>the postfix directive lmtp_cache_connection to false instead of
> >>>>>>>>>true. This would termintate the lmtp connection after each
> >>>>>>>>>delivery. I assume, with lmtp_cache_connection turned on, the
> >>>>>>>>>connection would die after lmtp_timeout was reached and a new
> >>>>>>>>>connection would be established and the mail would get sent. This
> >>>>>>>>>may have been a "neat feature" that works with Cyrus (postfix's
> >>>>>>>>>preferred lmtp client) or it may be a specification of the lmtp rfc
> >>>>>>>>>(I have not read it). But it seems like a simple enough fix to
> >>>>>>>>>make it work. It would probably just involve having the
> >>>>>>>>>conversation status fall back to a state the postfix expects after
> >>>>>>>>>message delivery and waiting in that state until either the
> >>>>>>>>>connection terminates or the conversation picks up again. I took
> >>>>>>>>>a cursory glance at the lmtp.c and lmtpd.c code but did not have
> >>>>>>>>>enough time to really dig into it.
> >>>>>>>>>Good Luck. I am anxiously awaiting the 2.0 release. :)
> >>>>>>>>>
> >>>>>>>>>Robert Theisen
> >>>>>>>>>
> >>>>>>>>>Aaron Stone wrote:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>>Sure thing, I've got about an hour of time this morning. Looks
> >>>>>>>>>>like you're
> >>>>>>>>>>burning the midnight oil over there! Yikes!
> >>>>>>>>>>
> >>>>>>>>>>Aaron
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>Ilja Booij <[EMAIL PROTECTED]> said:
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>>Hi,
> >>>>>>>>>>>
> >>>>>>>>>>>I haven't been able to find the cause of the problem yet. I found
> >>>>>>>>>>>some more info in the logs though:
> >>>>>>>>>>>
> >>>>>>>>>>>Mar 4 16:55:34 test01 postfix/lmtp[21340]: 3378119F30A:
> >>>>>>>>>>>to=<[EMAIL PROTECTED]>,
> >>>>>>>>>>>relay=localhost.fastxs.net[127.0.0.1], delay=0, status=bounced
> >>>>>>>>>>>(host localhost.fastxs.net[127.0.0.1] said: 250 Recipient
> >>>>>>>>>>><[EMAIL PROTECTED]> OK)
> >>>>>>>>>>>
> >>>>>>>>>>>apparently, postfix thinks we want to bounce the message. But
> >>>>>>>>>>>why? A previous message to the same user arrives correctly..
> >>>>>>>>>>>
> >>>>>>>>>>>strange, looking further. Aaron, can you also take a look at this?
> >>>>>>>>>>>
> >>>>>>>>>>>Ilja
> >>>>>>>>>>>
> >>>>>>>>>>>Ilja Booij wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>>OK, I've found something:
> >>>>>>>>>>>>
> >>>>>>>>>>>>It seems that Postfix sends a RSET command, when we expect to
> >>>>>>>>>>>>get the header.
> >>>>>>>>>>>>
> >>>>>>>>>>>>readheader() then waits for postfix to send more, while postfix
> >>>>>>>>>>>>waits for a '250 OK' Message from dbmail-lmtp.
> >>>>>>>>>>>>
> >>>>>>>>>>>>So, there's probably something wrong in our LMTP-logic.
> >>>>>>>>>>>>I'll take a look at it, after I've done some small scripting job
> >>>>>>>>>>>>here for a customer.
> >>>>>>>>>>>>
> >>>>>>>>>>>>Ilja
> >>>>>>>>>>>>
> >>>>>>>>>>>>Ilja Booij wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>>OK,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>this seems to have tackled the problem of the double delivery :)
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>There still is another problem though:
> >>>>>>>>>>>>>It still seems to hang for a while on every second delivery
> >>>>>>>>>>>>>attempt to the LMTP daemon.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Can you try the following scenario:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>* configure MTA to use dbmail-lmtp for delivery
> >>>>>>>>>>>>>* send message to a recipient
> >>>>>>>>>>>>>* verify that the message is received using dbmail-lmtp
> >>>>>>>>>>>>>* send a second message.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>What I observe here is that the second message takes a lot
> >>>>>>>>>>>>>longer to be delivered than the first one. The second one is
> >>>>>>>>>>>>>only delivered after minutes.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>I have the feeling that something is not right here..
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Ilja
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>Aaron Stone wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>>New versions checked in, though not extensively tested yet.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>Ilja Booij <[EMAIL PROTECTED]> said:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>sounds ok to me :)
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>Ilja
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>Aaron Stone wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>Working on it as we speak! Catch you in about an hour?
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>Aaron
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>Ilja Booij <[EMAIL PROTECTED]> said:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>Hi,
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>Aaron Stone wrote:
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>The reason for the double deliveries in the LMTP daemon is
> >>>>>>>>>>>>>>>>>>because the old
> >>>>>>>>>>>>>>>>>>insert_messages() function used to take lists of users to
> >>>>>>>>>>>>>>>>>>directly deliver.
> >>>>>>>>>>>>>>>>>>The new insert_messages() function takes a list of dsnuser
> >>>>>>>>>>>>>>>>>>structures, and
> >>>>>>>>>>>>>>>>>>expects that *either* the useridnr field is filled (for
> >>>>>>>>>>>>>>>>>>direct-to-useridnr
> >>>>>>>>>>>>>>>>>>delivery, which isn't supported by any of the frontends,
> >>>>>>>>>>>>>>>>>>but is supported in
> >>>>>>>>>>>>>>>>>>the lower layers ;-) or the address field, which is first
> >>>>>>>>>>>>>>>>>>checked as a
> >>>>>>>>>>>>>>>>>>username and then as an alias (this allows usernames in
> >>>>>>>>>>>>>>>>>>the form of
> >>>>>>>>>>>>>>>>>>'[EMAIL PROTECTED]' to operate without requiring an alias
> >>>>>>>>>>>>>>>>>>that
> >>>>>>>>>>>>>>>>>>says '[EMAIL PROTECTED]
> >>>>>>>>>>>>>>>>>>delivers to [EMAIL PROTECTED]').
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>Some refactoring might be necessary, because we need to
> >>>>>>>>>>>>>>>>>>inform the MTA
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>whether
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>or not its envelope recipients were valid before it will
> >>>>>>>>>>>>>>>>>>send us the message.
> >>>>>>>>>>>>>>>>>>This means users need to be validated before
> >>>>>>>>>>>>>>>>>>read_header(), which is a
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>problem
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>because at the moment this vaildation happens in
> >>>>>>>>>>>>>>>>>>insert_messages().
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>OK, that's clear
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>Fine and dandy in pipe land, where the MTA will send the
> >>>>>>>>>>>>>>>>>>message
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>regardless of
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>the disposition of the recipients, and only at the very
> >>>>>>>>>>>>>>>>>>end are error
> >>>>>>>>>>>>>>>>>>conditions returned as exit codes... in LMTP land we need
> >>>>>>>>>>>>>>>>>>to know ahead of
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>time.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>I think what I'll do is move the user validation code from
> >>>>>>>>>>>>>>>>>>insert_messages()
> >>>>>>>>>>>>>>>>>>into dsn.c, perhaps calling it dsn_check_users() or
> >>>>>>>>>>>>>>>>>>dsn_prepare_deliveries().
> >>>>>>>>>>>>>>>>>>Then, we'll have this order:
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>For command-line and envelope-recipient deliveries:
> >>>>>>>>>>>>>>>>>>- receive addresses and store them into the dsnusers list.
> >>>>>>>>>>>>>>>>>>- dsn_prepare_deliveries()
> >>>>>>>>>>>>>>>>>>- if no deliveries are valid, return an error.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>- read_header()
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>For deliver-to header deliveries:
> >>>>>>>>>>>>>>>>>>- mime_readheader()
> >>>>>>>>>>>>>>>>>>- mail_adr_list()
> >>>>>>>>>>>>>>>>>>- dsn_prepare_deliveries()
> >>>>>>>>>>>>>>>>>>- if no deliveries are valid, return an error.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>- insert_messages()
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>I like the part where you say 'What I'll do' :)
> >>>>>>>>>>>>>>>>>Do you think this work will take long? I think we must
> >>>>>>>>>>>>>>>>>really release rc3 tomorrow (Friday, March 5th). This stuff
> >>>>>>>>>>>>>>>>>really has to work if we want to release.
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>Ilja
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>_______________________________________________
> >>>>>>>>>>>>>>>>>Dbmail-dev mailing list
> >>>>>>>>>>>>>>>>>[email protected]
> >>>>>>>>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>_______________________________________________
> >>>>>>>>>>>>>>>Dbmail-dev mailing list
> >>>>>>>>>>>>>>>[email protected]
> >>>>>>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>_______________________________________________
> >>>>>>>>>>>>>Dbmail-dev mailing list
> >>>>>>>>>>>>>[email protected]
> >>>>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>_______________________________________________
> >>>>>>>>>>>>Dbmail-dev mailing list
> >>>>>>>>>>>>[email protected]
> >>>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>_______________________________________________
> >>>>>>>>>>>Dbmail-dev mailing list
> >>>>>>>>>>>[email protected]
> >>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>_______________________________________________
> >>>>>>>>>Dbmail-dev mailing list
> >>>>>>>>>[email protected]
> >>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>_______________________________________________
> >>>>>>>>Dbmail-dev mailing list
> >>>>>>>>[email protected]
> >>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>_______________________________________________
> >>>>>>>Dbmail-dev mailing list
> >>>>>>>[email protected]
> >>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>>
> >>>>>>
> >>>>>>_______________________________________________
> >>>>>>Dbmail-dev mailing list
> >>>>>>[email protected]
> >>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>>
> >>>>>_______________________________________________
> >>>>>Dbmail-dev mailing list
> >>>>>[email protected]
> >>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>
> >>>>_______________________________________________
> >>>>Dbmail-dev mailing list
> >>>>[email protected]
> >>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>>>
> >>>
> >>>
> >>>
> >>>
> >>_______________________________________________
> >>Dbmail-dev mailing list
> >>[email protected]
> >>http://twister.fastxs.net/mailman/listinfo/dbmail-dev
> >>
> >
> >
> >
> >
> _______________________________________________
> Dbmail-dev mailing list
> [email protected]
> http://twister.fastxs.net/mailman/listinfo/dbmail-dev
>
--