)]}'
{
  "commit": "6a09bd5dbf49c438dc9c5743c8724ddc6efbe505",
  "tree": "d4829766a1844f761187c70a44b5101363d8637c",
  "parents": [
    "eca5af965b6d95d953066a298ee896791ee00796"
  ],
  "author": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Wed Jun 21 17:40:32 2023 +0200"
  },
  "committer": {
    "name": "Lorenz Brun",
    "email": "lorenz@monogon.tech",
    "time": "Wed Jun 21 16:04:12 2023 +0000"
  },
  "message": "m/n/c/network: make SNAT generic\n\nThis changes the SNAT/Masquerade rule from being a thing set up per\ninterface which was only implemented by the dynamic network runnable to\na generic rule set up by the general network service part shared between\nthe static and dynamic implementations. It also tries to avoid NATing\nhost-originated traffic. Matching on interface names is argubly ugly but\nthe alternative is patching CNI plugins, which is also ugly.\n\nChange-Id: I7ec40fc244ae4689b6f96ab87dbebe9a6c43dd70\nReviewed-on: https://review.monogon.dev/c/monogon/+/1844\nReviewed-by: Serge Bazanski \u003cserge@monogon.tech\u003e\nTested-by: Jenkins CI\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "956bb025d7850dc83c5e9b7c0a2d837e8b2d1432",
      "old_mode": 33188,
      "old_path": "metropolis/node/core/network/main.go",
      "new_id": "04f0afd0facf3b1d3d3162ae5eb5062425ea6d14",
      "new_mode": 33188,
      "new_path": "metropolis/node/core/network/main.go"
    }
  ]
}
