)]}'
{
  "commit": "c31a9bb5e336b15f48c875e1f448f71d68f3feb9",
  "tree": "31ae2b332d1b263c858bab6ee4c21778403f181d",
  "parents": [
    "99d9a4b4c547800d582a96871416797fb446b02b"
  ],
  "author": {
    "name": "Igor Sysoev",
    "email": "igor@sysoev.ru",
    "time": "Sat Nov 26 10:11:11 2005 +0000"
  },
  "committer": {
    "name": "Igor Sysoev",
    "email": "igor@sysoev.ru",
    "time": "Sat Nov 26 10:11:11 2005 +0000"
  },
  "message": "nginx-0.3.12-RELEASE import\n\n    *) Security: if nginx was built with the ngx_http_realip_module and the\n       \"satisfy_any on\" directive was used, then access and authorization\n       directives did not work. The ngx_http_realip_module was not built\n       and is not built by default.\n\n    *) Change: the \"$time_gmt\" variable name was changed to \"$time_local\".\n\n    *) Change: the \"proxy_header_buffer_size\" and\n       \"fastcgi_header_buffer_size\" directives was renamed to the\n       \"proxy_buffer_size\" and \"fastcgi_buffer_size\" directives.\n\n    *) Feature: the ngx_http_memcached_module.\n\n    *) Feature: the \"proxy_buffering\" directive.\n\n    *) Bugfix: the changes in accept mutex handling when the \"rtsig\" method\n       was used; the bug had appeared in 0.3.0.\n\n    *) Bugfix: if the client sent the \"Transfer-Encoding: chunked\" header\n       line, then nginx returns the 411 error.\n\n    *) Bugfix: if the \"auth_basic\" directive was inherited from the http\n       level, then the realm in the \"WWW-Authenticate\" header line was\n       without the \"Basic realm\" text.\n\n    *) Bugfix: if the \"combined\" format was explicitly specified in the\n       \"access_log\" directive, then the empty lines was written to the log;\n       the bug had appeared in 0.3.8.\n\n    *) Bugfix: nginx did not run on the sparc platform under any OS except\n       Solaris.\n\n    *) Bugfix: now it is not necessary to place space between the quoted\n       string and closing bracket in the \"if\" directive.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6f1a953a66089cc353782f5bee9d3bb974352e6e",
      "old_mode": 33188,
      "old_path": "auto/cc/gcc",
      "new_id": "05970722ce6f7415c2a91d13ed8d6233f40677ee",
      "new_mode": 33188,
      "new_path": "auto/cc/gcc"
    },
    {
      "type": "modify",
      "old_id": "c94b6e5ba9f457b06f1bd19e671a1016edda0703",
      "old_mode": 33188,
      "old_path": "auto/modules",
      "new_id": "5940b28d446ab6b7b07de4f5e33c2e8994508671",
      "new_mode": 33188,
      "new_path": "auto/modules"
    },
    {
      "type": "modify",
      "old_id": "2dccb73730aa0d80bbd8468c7a800e378bb1f0bf",
      "old_mode": 33188,
      "old_path": "auto/options",
      "new_id": "6c249b11938e4b963df25f9104d7777d502d3205",
      "new_mode": 33188,
      "new_path": "auto/options"
    },
    {
      "type": "modify",
      "old_id": "56bdd2219c765b51e6d3d659aa1c9e4bdd31cfa1",
      "old_mode": 33188,
      "old_path": "auto/os/conf",
      "new_id": "4ad72d8f148b815546c039a699d79d0e431b7686",
      "new_mode": 33188,
      "new_path": "auto/os/conf"
    },
    {
      "type": "modify",
      "old_id": "c4316d7cdbc5a0de080d5dd5297550621aaab183",
      "old_mode": 33188,
      "old_path": "auto/sources",
      "new_id": "0b9245d7d33f056c373566e2abec4a44c44c9e88",
      "new_mode": 33188,
      "new_path": "auto/sources"
    },
    {
      "type": "modify",
      "old_id": "001633aa3bd229c705c0304f69ffd50b93dbd5ed",
      "old_mode": 33188,
      "old_path": "docs/xml/nginx/changes.xml",
      "new_id": "7f686ef9c7335ba5e9260fba3b5f9a8ff8c489a7",
      "new_mode": 33188,
      "new_path": "docs/xml/nginx/changes.xml"
    },
    {
      "type": "modify",
      "old_id": "95d93ccb239a9b8ecab32adf2e115718aee765d8",
      "old_mode": 33188,
      "old_path": "src/core/nginx.h",
      "new_id": "44b15f9f21e40b0371b0322fc55973aac0f34cc2",
      "new_mode": 33188,
      "new_path": "src/core/nginx.h"
    },
    {
      "type": "modify",
      "old_id": "b7f597d39ee513ac683112c9257914d3d481e193",
      "old_mode": 33188,
      "old_path": "src/core/ngx_buf.c",
      "new_id": "31d990315ac115d51a2bae79e2ba084b0685b4d9",
      "new_mode": 33188,
      "new_path": "src/core/ngx_buf.c"
    },
    {
      "type": "modify",
      "old_id": "471ab190c9704552aa32b319f0255e90a5845215",
      "old_mode": 33188,
      "old_path": "src/core/ngx_buf.h",
      "new_id": "625db2a935629b9456e35cda31d946ee8a0aaad7",
      "new_mode": 33188,
      "new_path": "src/core/ngx_buf.h"
    },
    {
      "type": "modify",
      "old_id": "acec1308f04dce05ddb38e092af94c41a4a0f1d3",
      "old_mode": 33188,
      "old_path": "src/core/ngx_conf_file.c",
      "new_id": "d89fa7f326a92aa393ccd4da61f9eced7ab180f9",
      "new_mode": 33188,
      "new_path": "src/core/ngx_conf_file.c"
    },
    {
      "type": "modify",
      "old_id": "2ef595d59e1927dced6b4f1dc7ea1a712fd83bb6",
      "old_mode": 33188,
      "old_path": "src/core/ngx_conf_file.h",
      "new_id": "e1859f852de25cc2632bd1ca0cfa7100b7255515",
      "new_mode": 33188,
      "new_path": "src/core/ngx_conf_file.h"
    },
    {
      "type": "modify",
      "old_id": "3b51e962225712a17f33770659838d76a04507c7",
      "old_mode": 33188,
      "old_path": "src/core/ngx_config.h",
      "new_id": "96569b893504b84666fac3bdc11e78c042f94c44",
      "new_mode": 33188,
      "new_path": "src/core/ngx_config.h"
    },
    {
      "type": "modify",
      "old_id": "d44e300ca854916ac1f22dcf0616e5a4a7b1b173",
      "old_mode": 33188,
      "old_path": "src/core/ngx_inet.c",
      "new_id": "ee68fc1c2e769b1b86b0e475bc6d4febdda6f148",
      "new_mode": 33188,
      "new_path": "src/core/ngx_inet.c"
    },
    {
      "type": "modify",
      "old_id": "d1e7bbdc5cb333b205efc7c53e654e1d69209195",
      "old_mode": 33188,
      "old_path": "src/core/ngx_palloc.c",
      "new_id": "a1f9d59cd377a9b04c7448060a890e40589b4408",
      "new_mode": 33188,
      "new_path": "src/core/ngx_palloc.c"
    },
    {
      "type": "modify",
      "old_id": "b8b16924439365a3031dba9a6d9e8543d62f260f",
      "old_mode": 33188,
      "old_path": "src/core/ngx_palloc.h",
      "new_id": "30590ee9ebe70fb281ab5845e597611d8c6c4af5",
      "new_mode": 33188,
      "new_path": "src/core/ngx_palloc.h"
    },
    {
      "type": "modify",
      "old_id": "d866ffd48fce75048fe3cdc8cdc44fced016e2d1",
      "old_mode": 33188,
      "old_path": "src/event/modules/ngx_epoll_module.c",
      "new_id": "e47666751e42e32c03cdbfe4296112b966360651",
      "new_mode": 33188,
      "new_path": "src/event/modules/ngx_epoll_module.c"
    },
    {
      "type": "modify",
      "old_id": "a347e1c3d9cf708d694ee1f75f6c8d0d29f5b7c9",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event.c",
      "new_id": "672eac2bacb3f5e646f0ee1dbc86483b902b0f22",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event.c"
    },
    {
      "type": "modify",
      "old_id": "2154635789f963e4f6f1d4cef3755432b68b87cc",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event.h",
      "new_id": "be943ae4d3e44246a343fe1443f23a96ffb9b4a5",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event.h"
    },
    {
      "type": "modify",
      "old_id": "fb43af432003ae9b2aebedf2d3b34120691f7159",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_accept.c",
      "new_id": "afb1a1f3b364f6a78b21de90fcaf0c306ff32227",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_accept.c"
    },
    {
      "type": "modify",
      "old_id": "9970ed3289ef9762b078e7414eac978f6224f713",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_pipe.c",
      "new_id": "779ec1867b274e26e74d736b37b93781872edd8f",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_pipe.c"
    },
    {
      "type": "modify",
      "old_id": "b129a98743362065be6b82f39a9a9a186de7757f",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_auth_basic_module.c",
      "new_id": "cf855575c4c016836d5b04f0638c4b1b23d9e690",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_auth_basic_module.c"
    },
    {
      "type": "modify",
      "old_id": "5c9a415c7c73a2abb1531eb5005a9b3e566c13db",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_empty_gif_module.c",
      "new_id": "c7af1214c3259eb7cbbc42d5d8253ae365289700",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_empty_gif_module.c"
    },
    {
      "type": "modify",
      "old_id": "5d2c153e2a3c8743284e8c35cb3f40817376c2f7",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_fastcgi_module.c",
      "new_id": "125b8e02378afc77d720136c63c48f92d0951d40",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_fastcgi_module.c"
    },
    {
      "type": "modify",
      "old_id": "3bcf73ac9973f306c4573b85489ac8cbb480c1fd",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_log_module.c",
      "new_id": "9436e5983aa1ccf11f02aa87fc7c33d149d24d46",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_log_module.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6217dd109c9cb2c300b40b7728349b5f7ed310f6",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_memcached_module.c"
    },
    {
      "type": "modify",
      "old_id": "f1581e9e757c7346f70b0d9b262966ff220e668a",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_proxy_module.c",
      "new_id": "8278d34e4d0ac985c88b746b89359a650fb50463",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_proxy_module.c"
    },
    {
      "type": "modify",
      "old_id": "05e2c9376121a2b2d203298dedff0419a8b7aa19",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_range_filter_module.c",
      "new_id": "7b21eae254fef1ff493139384fc65182cc80e6cd",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_range_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "8732423fd2aa2aa59db8c96b0f5348e5b3dfb4a0",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_realip_module.c",
      "new_id": "210bbf6f364b67f2c204ee28e9daaf2edb21eabb",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_realip_module.c"
    },
    {
      "type": "modify",
      "old_id": "74cd010a04a551ad43805a7699be8bf5ef2271dc",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_static_module.c",
      "new_id": "808d945ac416cab6e470b9dc3664c451329fc203",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_static_module.c"
    },
    {
      "type": "modify",
      "old_id": "bfb7c6b1364ffdbebf970be6266bed26d26f36b5",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http.c",
      "new_id": "0238998704deab673bbc58fef914c715659db7ab",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http.c"
    },
    {
      "type": "modify",
      "old_id": "8e5ae57400dd1b6834c3e5f542353a9557f68d7b",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http.h",
      "new_id": "ddcd1be4424ce49e7535af9601a3b462fdb31d85",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http.h"
    },
    {
      "type": "modify",
      "old_id": "5fd53179d573dd7d4482a6ef03e257c0f59b0a89",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_core_module.c",
      "new_id": "4743389335ea24d0f0453f3c79fd457ed0dc6c6a",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_core_module.c"
    },
    {
      "type": "modify",
      "old_id": "1be3b38f3d0332c3ba7aaab5b670aba4eddea44c",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_core_module.h",
      "new_id": "e9c994dd1d6999519d64b59bdbdde30be84a2200",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_core_module.h"
    },
    {
      "type": "modify",
      "old_id": "a73c788b67ecd1514f85e6869f2a25ccbc79188a",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.c",
      "new_id": "f6950566d31ba2f0da176a496902b21d5d8254ca",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.c"
    },
    {
      "type": "modify",
      "old_id": "da12b58d6389e57c8166f7cdea74ede9384fab6e",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.h",
      "new_id": "7b0e7f0da5ffd0f72b555c06160ce8281cbf50c7",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.h"
    },
    {
      "type": "modify",
      "old_id": "d115fddc3d86a36d715975f88ed05754a208de27",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_special_response.c",
      "new_id": "b8d698f7116e88e75aee29984dc6d8c86b1ca695",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_special_response.c"
    },
    {
      "type": "modify",
      "old_id": "62f5d9eae74ffe5121156fe21d40fb687eeac075",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "37e979a9df4ed04c07d38d35c5ceea61fc99c3f9",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    },
    {
      "type": "modify",
      "old_id": "ad4c1d4cb589055245ed94688f6f3b069c944f85",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.h",
      "new_id": "20326597008188e4192a8472430ca2d9d0d7f29d",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.h"
    },
    {
      "type": "modify",
      "old_id": "f00619d60bcc57d21bf7863705e55b2e0366a6d5",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_variables.c",
      "new_id": "3969d7ef00fe733141244810844d1ce7895a99e1",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_variables.c"
    },
    {
      "type": "modify",
      "old_id": "721335ed24055384ed54acdacbd6c51f073bd087",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_freebsd_sendfile_chain.c",
      "new_id": "662b3347b81cf0f637b979e90860f1d0f7a0977a",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_freebsd_sendfile_chain.c"
    },
    {
      "type": "modify",
      "old_id": "9de4cd5ec3733a7bf4c5d39206a66c978c52c35a",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_readv_chain.c",
      "new_id": "0e99cb41354975c233fb29eb9d1d01a709bb3250",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_readv_chain.c"
    },
    {
      "type": "modify",
      "old_id": "e96ca789860d472db9816edd7e1b10fc07104000",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_recv.c",
      "new_id": "6f01ab3ec4ab7f3d7b9b49aecc19d6b7ee5b6f25",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_recv.c"
    },
    {
      "type": "modify",
      "old_id": "167f2eca33ff353acf3a2f6294785df7ab7c8846",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_send.c",
      "new_id": "0c3f959dad59bd2dbd341f510e0d40cc774c3fe2",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_send.c"
    },
    {
      "type": "modify",
      "old_id": "84a4c84767f7b33e8996fe53fef3e163fa13ecc8",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_solaris_config.h",
      "new_id": "a668b95e1b8ae1e4d1057623fa7486bddd74a624",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_solaris_config.h"
    },
    {
      "type": "modify",
      "old_id": "f95c2cad8631639ed99fdbed18ea29154511c381",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_writev_chain.c",
      "new_id": "09e08e1088cb5e0d9c93582602b8882327425b6c",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_writev_chain.c"
    },
    {
      "type": "modify",
      "old_id": "1e3334548604e8d04de567629d177a4b01ec6f82",
      "old_mode": 33188,
      "old_path": "src/os/win32/ngx_atomic.h",
      "new_id": "8003b740fd72b4f3939d7ebf6e6b589dbc772c12",
      "new_mode": 33188,
      "new_path": "src/os/win32/ngx_atomic.h"
    },
    {
      "type": "modify",
      "old_id": "9658c12258a7d9e413e8231f0e5f3a64f0652249",
      "old_mode": 33188,
      "old_path": "src/os/win32/ngx_win32_config.h",
      "new_id": "f2c7a0665ed8488a2b9f46aa0869b096a7eebce1",
      "new_mode": 33188,
      "new_path": "src/os/win32/ngx_win32_config.h"
    }
  ]
}
