Hello, I'm trying to debug one issue with the milter interface in Postfix. I want to remove multiple headers with the same name, for example:
X-Spam-Flag: No X-Spam-Flag: No X-Spam-Flag: Not really X-Spam-Flag: No To do that, I track headers on header phase and track numbers for each header. For this particular sample, I will have some map like `X-Spam-Flag = 4`. After end-of-data stage, I send multiple `CHGHEADER` ('m') commands with header value equal to a empty string: change/insert header command pos = 1 - "X-Spam-Flag"="" change/insert header command pos = 2 - "X-Spam-Flag"="" change/insert header command pos = 3 - "X-Spam-Flag"="" change/insert header command pos = 4 - "X-Spam-Flag"="" Literally, my code (Rspamd) sends CHGHEADER command 4 times. After message being processed, I can see that Postfix removes 2 of 4 `X-Spam-Flag` headers. I have tested something else after that. I have tried to add more headers where names are equal and non equal. It seems that all odd headers are not removed. For example: Input: X-Spam-Flag: Test1 X-Spam-Flag: Test2 X-Spam-Flag: Test3 X-Spam-Flag: Test4 Output: X-Spam-Flag: Test2 X-Spam-Flag: Test4 Input: X-Spam-Flag: No X-Spam-Flag: No X-Spam-Flag: No X-Spam-Flag: No X-Spam-Flag: No X-Spam-Flag: No Output: X-Spam-Flag: No X-Spam-Flag: No X-Spam-Flag: No Am I doing something wrong from my side or it is some issue in the Postfix? I'm using Postfix 3.1.0 but I can try other MTA or other Postfix version if there is no visible issue from my side.