Project

General

Profile

Bug #8741

Updated by Jason Ish about 6 hours ago

Found via an AI array of the SMTP work after merge, appears to be valid. 

 The SMTP parser extracts the BDAT length but does not retain the LAST marker. 
 Consequently, the final chunk and reply do not complete the transaction. A 
 subsequent MAIL FROM can be merged into the previous transaction, retaining its 
 envelope and firewall state. 

 Related issues: 

 * BDAT 0 LAST incorrectly enters data mode. 
 * The chunk index is not reset for each BDAT. 
 * Input is not consumed strictly to the declared octet boundary. 

 Track LAST, reset accounting per chunk, consume the exact chunk length, and 
 complete both transaction directions at the final chunk/reply. 

 Add coverage for non-empty LAST, zero-length LAST, and multiple chunks followed 
 by a new message. 

 Related to #8393. 

Back