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

Reply via email to