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