Wietse Venema via Postfix-users escribió el 11/12/2023 a las 22:30:
Wietse Venema:
Patch below.
Carlos Velasco:
Tested patch against 3.8.3, now it works as expected. Thank you.
No duplicated "Received-SPF" and *removing "Received" in position
1 is now not the own generated, is really the first one Received
seen in the milter.*
Your second comment (text between "*" and "*") led me to a better
problem analysis.

- The real problem was not with the Postfix order of headers.

- The real problem also was not with the Postfix code that exposes
   message headers with remote smfi_header() calls in the Milter;
   that code was already fixed to handle prepended headers on 20141018.

- The real problem was that the Postfix code that handles header
   update/delete requests from a Milter was not fixed on 20141018.

Thus, the Postfix code that handles header update/delete requests
was still naively skipping the first header, making calls to delete
the prepended Received-SPF: header ineffective, and mis-directing
calls to delete the first Milter-visible Received: header, instead
deleting the invisible Postfix-generated Received: header (wtf).

To maintain protocol compatibility, the Postfix code that handles
header update/delete requests will need to skip the Postfix-generated
Received: header, instead of the first message header.

Once that mess is handled with, we can consider adding a flag to
expose Postfix-generated Received: headers to Milters.

I think you are absolutely correct in your analysis.
I've been looking over the code and, although there is a lot I still don't 
understand, your yesterday patch seems more a (good) workaround to the real 
problem.
I also located the cleanup_header_done_callback where I can make an (ugly) 
change to expose the header, but, IMHO, a flag should be the way to go.

Regards,
Carlos Velasco
_______________________________________________
Postfix-users mailing list -- postfix-users@postfix.org
To unsubscribe send an email to postfix-users-le...@postfix.org

Reply via email to