)]}'
{
  "commit": "fb0e6d3af49f42d84292725ee13f6b2420f02f34",
  "tree": "9c8cf8b25e5ecf56a6195cf168188c72b8dbc20e",
  "parents": [
    "6b18c819d4cdfbbafacf0bc2720d811ae92e9012"
  ],
  "author": {
    "name": "Keith Bare",
    "email": "105995606+keithbare2@users.noreply.github.com",
    "time": "Sat Feb 25 22:09:54 2023 -0500"
  },
  "committer": {
    "name": "Arnout Engelen",
    "email": "arnout@bzzt.net",
    "time": "Wed Aug 27 15:25:55 2025 +0200"
  },
  "message": "Avoid generating duplicate headers in ezmlm-send\n\nWhen processing a message\u0027s headers:\n\n - Make note if Reply-To was seen.\n - Save off and do not copy the Cc header to the output immediately.\n - Save off and do not copy the From header to the output immediately.\n\nAt the end of the message headers, call rewrite_from().\n\nWhen flagrewritefrom is set, either by the list\u0027s configuration or\nbecause a DMARC reject policy applies to the message sender\u0027s address:\n\n - The From header is rewritten as before.\n - If replytolist is not enabled, a Reply-To header is only added\n   if the original message did not have one. Rationale is that the\n   original Reply-To header indicated where the post author is\n   interested in receiving responses, not the From header.\n - When replytolist is enabled and the original message had a Cc header,\n   the From address is appended to the existing Cc header.\n - When replytolist is enabled and the original message did not have a\n   Cc header, generate a new one using the From address.\n\nAfter rewrite_from() performs any of the applicable manipulations\ndescribed above, the resulting From and Cc headers are copied to the\noutput.\n\nUpdate tests/551-ezmlm-send-rewritefrom:\n\n - Confirm Reply-To and Cc headers are not duplicated.\n - Validate behavior when replytolist is configured.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7201f3bc85e21a70000a37a4436a5811d5ecf6cb",
      "old_mode": 33188,
      "old_path": "ezmlm-send.c",
      "new_id": "9e277892020ac098b4754ca96190e6e5bbafb553",
      "new_mode": 33188,
      "new_path": "ezmlm-send.c"
    },
    {
      "type": "modify",
      "old_id": "29d428ab864856e44654c493bd1767ee89fa0d16",
      "old_mode": 33188,
      "old_path": "tests/02-functions",
      "new_id": "e62a16548ac4916a44207b4e205338ccca20e508",
      "new_mode": 33188,
      "new_path": "tests/02-functions"
    },
    {
      "type": "modify",
      "old_id": "26ac10556c9d314bad88c9bb69acdd5eab2ccc94",
      "old_mode": 33188,
      "old_path": "tests/550-ezmlm-send",
      "new_id": "27fc74fb105a4684d3e5cb94a40f55005687dd95",
      "new_mode": 33188,
      "new_path": "tests/550-ezmlm-send"
    },
    {
      "type": "modify",
      "old_id": "3f90dccb41ed58a420a6b3bd79bd55fa32934e24",
      "old_mode": 33188,
      "old_path": "tests/551-ezmlm-send-rewritefrom",
      "new_id": "64e3a3e1da81b8467f3c7a32cad76949881e9491",
      "new_mode": 33188,
      "new_path": "tests/551-ezmlm-send-rewritefrom"
    }
  ]
}
