Actually, I think it's going to be easier to leave the function prototype as-is and instead have it return a string of length 1 (nul terminator only) as the found-part of "MAIL FROM <>" ... this minimizes the number of new tests needed to handle the different possible combinations of factors.
Aaron ""Aaron Stone"" <[EMAIL PROTECTED]> said: > 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 > > >>>>>>>>>>>>>>>>>Dbmail-dev@dbmail.org > > >>>>>>>>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>>_______________________________________________ > > >>>>>>>>>>>>>>>Dbmail-dev mailing list > > >>>>>>>>>>>>>>>Dbmail-dev@dbmail.org > > >>>>>>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>> > > >>>>>>>>>>>>>_______________________________________________ > > >>>>>>>>>>>>>Dbmail-dev mailing list > > >>>>>>>>>>>>>Dbmail-dev@dbmail.org > > >>>>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>> > > >>>>>>>>>>>>_______________________________________________ > > >>>>>>>>>>>>Dbmail-dev mailing list > > >>>>>>>>>>>>Dbmail-dev@dbmail.org > > >>>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>>>_______________________________________________ > > >>>>>>>>>>>Dbmail-dev mailing list > > >>>>>>>>>>>Dbmail-dev@dbmail.org > > >>>>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>>>>>>>> > > >>>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>> > > >>>>>>>>>_______________________________________________ > > >>>>>>>>>Dbmail-dev mailing list > > >>>>>>>>>Dbmail-dev@dbmail.org > > >>>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>> > > >>>>>>>>_______________________________________________ > > >>>>>>>>Dbmail-dev mailing list > > >>>>>>>>Dbmail-dev@dbmail.org > > >>>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>>>> > > >>>>>>> > > >>>>>>> > > >>>>>>>_______________________________________________ > > >>>>>>>Dbmail-dev mailing list > > >>>>>>>Dbmail-dev@dbmail.org > > >>>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>>> > > >>>>>> > > >>>>>>_______________________________________________ > > >>>>>>Dbmail-dev mailing list > > >>>>>>Dbmail-dev@dbmail.org > > >>>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>>> > > >>>>>_______________________________________________ > > >>>>>Dbmail-dev mailing list > > >>>>>Dbmail-dev@dbmail.org > > >>>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>> > > >>>>_______________________________________________ > > >>>>Dbmail-dev mailing list > > >>>>Dbmail-dev@dbmail.org > > >>>>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >>>> > > >>> > > >>> > > >>> > > >>> > > >>_______________________________________________ > > >>Dbmail-dev mailing list > > >>Dbmail-dev@dbmail.org > > >>http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > >> > > > > > > > > > > > > > > _______________________________________________ > > Dbmail-dev mailing list > > Dbmail-dev@dbmail.org > > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > > > > > > -- > > > > _______________________________________________ > Dbmail-dev mailing list > Dbmail-dev@dbmail.org > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > --