That's correct. The pipe interface has significantly reduced ability to pass useful messages status codes back to the mail system.
If you could arrange an international band of ninjas to twist the arms of every MTA author and ninja-hack a new, universal schema for transmitting status codes, the world would be a little better place. Aaron On Wed, 2007-07-11 at 14:22 +0800, asianux-dbmail integration team wrote: > So, I'm guessing when postfix/ltmp gets 522, it only sees 5.0.0 and just > passes the msg from dbmail-ltmpd AS-IS. postfix/pipe appear to handle it > differently and tries to manage the dsn. > > postfix/lmtp[14199]: 4D3DE1049D: to=<[EMAIL PROTECTED]>, > relay=10.1.0.37[10.1.0.37]:24, delay=0.1, delays=0.02 > /0.01/0.01/0.06, dsn=5.0.0, status=bounced (host 10.1.0.37[10.1.0.37] said: > 522 Recipient <[EMAIL PROTECTED]> Permanent Failure Mai > lbox Status Mailbox full (in reply to end of DATA command)) > > > Aaron Stone wrote: > > Postfix recognizes EX_CANTCREAT as a permanent failure, but > > unfortunately there's no standard for an over-quota exit code. > > EX_CANTCREAT is used by a few packages, but not all. > > > > http://www.irbs.net/internet/postfix/0205/2228.html > > > > Looking at the Postfix source, EX_CANTCREAT yields 5.2.0 (as seen in the > > trace below). There's nothing that yields 5.2.2. > > > >>From postfix-2.3.6/src/global/sys_exits.c: > > > > /* Global library. */ > > > > #include <sys_exits.h> > > > > /* Application-specific. */ > > > > static SYS_EXITS_DETAIL sys_exits_table[] = { > > EX_USAGE, "5.3.0", "command line usage error", > > EX_DATAERR, "5.6.0", "data format error", > > EX_NOINPUT, "5.3.0", "cannot open input", > > EX_NOUSER, "5.1.1", "user unknown", > > EX_NOHOST, "5.1.2", "host name unknown", > > EX_UNAVAILABLE, "5.3.0", "service unavailable", > > EX_SOFTWARE, "5.3.0", "internal software error", > > EX_OSERR, "4.3.0", "system resource problem", > > EX_OSFILE, "5.3.0", "critical OS file missing", > > EX_CANTCREAT, "5.2.0", "can't create user output file", > > EX_IOERR, "5.3.0", "input/output error", > > EX_TEMPFAIL, "4.3.0", "temporary failure", > > EX_PROTOCOL, "5.5.0", "remote error in protocol", > > EX_NOPERM, "5.7.0", "permission denied", > > EX_CONFIG, "5.3.5", "local configuration error", > > }; > > > > > > On Wed, 2007-07-11 at 11:15 +0800, asianux-dbmail integration team > > wrote: > >> Oops, spoke too soon. > >> > >> Works for dbmail-lmtpd. > >> > >> Almost works for dbmail-smtp > >> > >> Jul 11 10:56:04 ip37 dbmail/smtp[21501]: Message:[smtp] main.c,main(+388): > >> exit code [73] from DSN [522 Permanent Failure Mailbox Status Mailbox > >> full] > >> Jul 11 10:56:04 ip37 dbmail/smtp[21501]: Debug:[dsn] > >> dsn.c,dsnuser_free(+230): dsnuser freed > >> Jul 11 10:56:04 ip37 dbmail/smtp[21501]: Debug:[smtp] main.c,main(+402): > >> program memory free > >> Jul 11 10:56:04 ip37 dbmail/smtp[21501]: Debug:[smtp] main.c,main(+410): > >> library memory free > >> Jul 11 10:56:04 ip37 postfix/pipe[21500]: AB8F110791: to=<[EMAIL > >> PROTECTED]>, relay=dbmail-smtp, delay=0.14, delays=0.07/0.01/0/0.06, > >> dsn=5.2.0, status=bounced (can't create user output file) > >> > >> --Keith > >> > >> > >> Keith Hopkins wrote: > >>> Hi Aaron, > >>> > >>> Your latest fix works-for-me. :) > >>> > >>> Thanks, > >>> --Keith > >>> > >>> > >>> [EMAIL PROTECTED] wrote: > >>>> The following issue has been RESOLVED. > >>>> ====================================================================== > >>>> http://dbmail.org/mantis/view.php?id=617 > >>>> ====================================================================== > >>>> Reported By: asianux-keith > >>>> Assigned To: aaron > >>>> ====================================================================== > >>>> Project: DBMail > >>>> Issue ID: 617 > >>>> Category: general delivery > >>>> Reproducibility: always > >>>> Severity: minor > >>>> Priority: normal > >>>> Status: resolved > >>>> target: > >>>> Resolution: fixed > >>>> Fixed in Version: 2.2.6 > >>>> ====================================================================== > >>>> Date Submitted: 28-Jun-07 04:47 CEST > >>>> Last Modified: 09-Jul-07 01:29 CEST > >>>> ====================================================================== > >>>> Summary: bad dsn returned for mailbox over quota > >>>> Description: > >>>> When postfix get over quota message from dbmail, it returns an 'unknown > >>>> user' message in the bounce. > >>>> > >>>> This similar in symptoms to bug 164. > >>>> > >>>> dbmail/smtp[17663]: Info:[dsn] dsn.c,dsn_tostring(+168): Invalid dsn code > >>>> received [6][0][0] > >>>> > >>>> 6.x.x doesn't seem valid > >>>> RFC 1893 suggests X.2.2 > >>>> (so, maybe it should be 4.2.2?) > >>>> > >>>> ====================================================================== > >>>> > >>>> ---------------------------------------------------------------------- > >>>> aaron - 29-Jun-07 08:49 > >>>> ---------------------------------------------------------------------- > >>>> Fixed in SVN. > >>>> > >>>> ---------------------------------------------------------------------- > >>>> asianux-keith - 03-Jul-07 11:00 > >>>> ---------------------------------------------------------------------- > >>>> Hi Aaron, > >>>> > >>>> The dsn returned by dsn.c is changed, but postfix is still getting > >>>> 5.1.1 > >>>> from pipe.c. I think the change you made dsn.c (quota is now CLASS_FAIL) > >>>> is not effective due to the following in pipe.c. > >>>> > >>>> final_dsn = dsnuser_worstcase_int(has_2, has_4, has_5, > >>>> has_5_2); > >>>> switch (final_dsn.class) { > >>>> case DSN_CLASS_OK: > >>>> /* Success. Address related. Valid. */ > >>>> set_dsn(&delivery->dsn, DSN_CLASS_OK, 1, 5); > >>>> break; > >>>> case DSN_CLASS_TEMP: > >>>> /* sort_and_deliver returns TEMP is useridnr is > >>>> 0, > >>>> aka, > >>>> * if nothing was delivered at all, or for any > >>>> other failures. */ > >>>> > >>>> /* If there's a problem with the delivery > >>>> address, > >>>> but > >>>> * there are proper forwarding addresses, we're > >>>> OK. */ > >>>> if (dm_list_length(delivery->forwards) > 0) { > >>>> /* Success. Address related. Valid. */ > >>>> set_dsn(&delivery->dsn, DSN_CLASS_OK, 1, > >>>> 5); > >>>> break; > >>>> } > >>>> /* Fall through to FAIL. */ > >>>> case DSN_CLASS_FAIL: > >>>> /* Permanent failure. Address related. Does not > >>>> exist. */ > >>>> set_dsn(&delivery->dsn, DSN_CLASS_FAIL, 1, 1); > >>>> break; > >>>> case DSN_CLASS_QUOTA: > >>>> /* Permanent failure. Mailbox related. Over quota > >>>> limit. */ > >>>> set_dsn(&delivery->dsn, DSN_CLASS_FAIL, 2, 2); > >>>> break; > >>>> > >>>> ---------------------------------------------------------------------- > >>>> aaron - 09-Jul-07 01:29 > >>>> ---------------------------------------------------------------------- > >>>> Should actually fixed in SVN now :-) > >>>> > >>>> Issue History > >>>> Date Modified Username Field Change > >>>> > >>>> ====================================================================== > >>>> 28-Jun-07 04:47 asianux-keith New Issue > >>>> > >>>> 29-Jun-07 08:49 aaron Status new => resolved > >>>> > >>>> 29-Jun-07 08:49 aaron Fixed in Version => 2.2.6 > >>>> > >>>> 29-Jun-07 08:49 aaron Resolution open => fixed > >>>> > >>>> 29-Jun-07 08:49 aaron Assigned To => aaron > >>>> > >>>> 29-Jun-07 08:49 aaron Note Added: 0002265 > >>>> > >>>> 03-Jul-07 11:00 asianux-keith Status resolved => > >>>> feedback > >>>> 03-Jul-07 11:00 asianux-keith Resolution fixed => > >>>> reopened > >>>> 03-Jul-07 11:00 asianux-keith Note Added: 0002273 > >>>> > >>>> 09-Jul-07 01:29 aaron Status feedback => > >>>> resolved > >>>> 09-Jul-07 01:29 aaron Resolution reopened => > >>>> fixed > >>>> 09-Jul-07 01:29 aaron Note Added: 0002285 > >>>> > >>>> ====================================================================== > >>>> > >>>> _______________________________________________ > >>>> 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
