)]}'
{
  "commit": "328c9e9eade60628c006a8810163ba593f70b104",
  "tree": "a443f9c4a055c38b4155bc9376ee30c4b9578fb3",
  "parents": [
    "c111387efe8dcfe642e2e14915ca676443f9500b"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Fri Jul 12 11:29:22 2019 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Fri Jul 12 11:29:22 2019 +0300"
  },
  "message": "Perl: reworked perl module to pass ctx instead of request.\n\nThis ensures that correct ctx is always available, including after\nfilter finalization.  In particular, this fixes a segmentation fault\nwith the following configuration:\n\n    location / {\n        image_filter test;\n\n        perl \u0027sub {\n            my $r \u003d shift;\n            $r-\u003esend_http_header();\n            $r-\u003eprint(\"foo\\n\");\n            $r-\u003eprint(\"bar\\n\");\n        }\u0027;\n    }\n\nThis also seems to be the only way to correctly handle filter finalization\nin various complex cases, for example, when embedded perl is used both\nin the original handler and in an error page called after filter\nfinalization.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "848e501998a9d905e8ac82119fd42485052bd6aa",
      "old_mode": 33188,
      "old_path": "src/http/modules/perl/nginx.xs",
      "new_id": "2e9808f2bd7463ac899f80fcfb7bc19aa15e2c2e",
      "new_mode": 33188,
      "new_path": "src/http/modules/perl/nginx.xs"
    },
    {
      "type": "modify",
      "old_id": "d06b43c7584ceab9220d019e0f1fc7ef7a5c1f2c",
      "old_mode": 33188,
      "old_path": "src/http/modules/perl/ngx_http_perl_module.c",
      "new_id": "c2ef4704803adc52624e93c3d878693ad999e585",
      "new_mode": 33188,
      "new_path": "src/http/modules/perl/ngx_http_perl_module.c"
    },
    {
      "type": "modify",
      "old_id": "5e60b031ec2e3ddd00497aacdf1869e9f6a575c2",
      "old_mode": 33188,
      "old_path": "src/http/modules/perl/ngx_http_perl_module.h",
      "new_id": "4f1eaa3a26a948cd0b26a1f26803fc04698e0f3d",
      "new_mode": 33188,
      "new_path": "src/http/modules/perl/ngx_http_perl_module.h"
    }
  ]
}
