)]}'
{
  "commit": "09c684b2d53b46b6ffb706c686ca4dbed62cf6da",
  "tree": "28d1d57070b5e8d95c8608d45678298d63f9621d",
  "parents": [
    "51425a465a22ad2e33e7048b880aa594c376f79c"
  ],
  "author": {
    "name": "Igor Sysoev",
    "email": "igor@sysoev.ru",
    "time": "Wed Nov 09 17:25:55 2005 +0000"
  },
  "committer": {
    "name": "Igor Sysoev",
    "email": "igor@sysoev.ru",
    "time": "Wed Nov 09 17:25:55 2005 +0000"
  },
  "message": "nginx-0.3.8-RELEASE import\n\n    *) Security: nginx now checks URI got from a backend in\n       \"X-Accel-Redirect\" header line or in SSI file for the \"/../\" paths\n       and zeroes.\n\n    *) Change: nginx now does not treat the empty user name in the\n       \"Authorization\" header line as valid one.\n\n    *) Feature: the \"ssl_session_timeout\" directives of the\n       ngx_http_ssl_module and ngx_imap_ssl_module.\n\n    *) Feature: the \"auth_http_header\" directive of the\n       ngx_imap_auth_http_module.\n\n    *) Feature: the \"add_header\" directive.\n\n    *) Feature: the ngx_http_realip_module.\n\n    *) Feature: the new variables to use in the \"log_format\" directive:\n       $bytes_sent, $apache_bytes_sent, $status, $time_gmt, $uri,\n       $request_time, $request_length, $upstream_status,\n       $upstream_response_time, $gzip_ratio, $uid_got, $uid_set,\n       $connection, $pipe, and $msec. The parameters in the \"%name\" form\n       will be canceled soon.\n\n    *) Change: now the false variable values in the \"if\" directive are the\n       empty string \"\" and string starting with \"0\".\n\n    *) Bugfix: while using proxied or FastCGI-server nginx may leave\n       connections and temporary files with client requests in open state.\n\n    *) Bugfix: the worker processes did not flush the buffered logs on\n       graceful exit.\n\n    *) Bugfix: if the request URI was changes by the \"rewrite\" directive\n       and the request was proxied in location given by regular expression,\n       then the incorrect request was transferred to backend; the bug had\n       appeared in 0.2.6.\n\n    *) Bugfix: the \"expires\" directive did not remove the previous\n       \"Expires\" header.\n\n    *) Bugfix: nginx may stop to accept requests if the \"rtsig\" method and\n       several worker processes were used.\n\n    *) Bugfix: the \"\\\"\" and \"\\\u0027\" escape symbols were incorrectly handled in\n       SSI commands.\n\n    *) Bugfix: if the response was ended just after the SSI command and\n       gzipping was used, then the response did not transferred complete or\n       did not transferred at all.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "af108bb218ca0099fec1807fd04f684ef67af070",
      "old_mode": 33188,
      "old_path": "auto/cc/bcc",
      "new_id": "83b2d60dd4247f4732769b6f6ac0a81904dba2b0",
      "new_mode": 33188,
      "new_path": "auto/cc/bcc"
    },
    {
      "type": "modify",
      "old_id": "37f2d2e42fa6096c17bdb96f128a75756a497714",
      "old_mode": 33188,
      "old_path": "auto/cc/conf",
      "new_id": "82854d8044e697946822a6c6f45957dc259b8fca",
      "new_mode": 33188,
      "new_path": "auto/cc/conf"
    },
    {
      "type": "modify",
      "old_id": "d3a151c6eee9dc594a34c36b4f11fc22155b94a7",
      "old_mode": 33188,
      "old_path": "auto/cc/icc",
      "new_id": "6af9713b2a9ba155536976f1e9a95d10bda0b9ed",
      "new_mode": 33188,
      "new_path": "auto/cc/icc"
    },
    {
      "type": "modify",
      "old_id": "0fa5df9d716ad43e10900e05ba34bd908fe08164",
      "old_mode": 33188,
      "old_path": "auto/cc/msvc",
      "new_id": "29c40c79b1143e612cb1521d0c14d65f70bbd43b",
      "new_mode": 33188,
      "new_path": "auto/cc/msvc"
    },
    {
      "type": "modify",
      "old_id": "fcc05b18ef544b2c5f2915fa751115e1fe8f4ffa",
      "old_mode": 33188,
      "old_path": "auto/make",
      "new_id": "f7eca87b30dcfb020959cdb9155c1662a030c64e",
      "new_mode": 33188,
      "new_path": "auto/make"
    },
    {
      "type": "modify",
      "old_id": "46f356cc034d79ad425b04d5a42687efabb8f558",
      "old_mode": 33188,
      "old_path": "auto/modules",
      "new_id": "26b108761a626d6b4e719dc0349f09f27e51405a",
      "new_mode": 33188,
      "new_path": "auto/modules"
    },
    {
      "type": "modify",
      "old_id": "2960f09c364a5fe82f20966228ed462028b0b593",
      "old_mode": 33188,
      "old_path": "auto/options",
      "new_id": "35c7ad300186b7a7a9a4999cad74dc0b336fd1b7",
      "new_mode": 33188,
      "new_path": "auto/options"
    },
    {
      "type": "modify",
      "old_id": "c4aec701c17c566c883642eb55693e1ec6383f4e",
      "old_mode": 33188,
      "old_path": "auto/sources",
      "new_id": "8aa596ca2de25153b1e8eee2864e78d5471a0e8e",
      "new_mode": 33188,
      "new_path": "auto/sources"
    },
    {
      "type": "modify",
      "old_id": "8d65445eb623afec2aa6ab66ec8c2d4cadd12766",
      "old_mode": 33188,
      "old_path": "conf/nginx.conf",
      "new_id": "783ea2e7dd442a08121f3f02b2870990eac2fa1f",
      "new_mode": 33188,
      "new_path": "conf/nginx.conf"
    },
    {
      "type": "modify",
      "old_id": "4abb779fda08b0c90149e77f1b5735d39811a5fa",
      "old_mode": 33188,
      "old_path": "docs/xml/change_log_conf.xml",
      "new_id": "f97ef045b35b5138a25b1f0d7a7b8713cbe3c742",
      "new_mode": 33188,
      "new_path": "docs/xml/change_log_conf.xml"
    },
    {
      "type": "modify",
      "old_id": "3b1aa1088e55e7961ea7ad6ae76d7f487b852348",
      "old_mode": 33188,
      "old_path": "docs/xml/nginx/changes.xml",
      "new_id": "dfac2a065a1a1bb6710d67f4a8bc67e265e55f40",
      "new_mode": 33188,
      "new_path": "docs/xml/nginx/changes.xml"
    },
    {
      "type": "modify",
      "old_id": "78ae2a78ab0d26ac1ce886a3d11a1608456ccb7a",
      "old_mode": 33188,
      "old_path": "src/core/nginx.h",
      "new_id": "966d405b07fa38a5c8225d09edbe0641008523f6",
      "new_mode": 33188,
      "new_path": "src/core/nginx.h"
    },
    {
      "type": "modify",
      "old_id": "b09d8cc6a67cff5b0417a8c349ab3d13da61393c",
      "old_mode": 33188,
      "old_path": "src/core/ngx_conf_file.h",
      "new_id": "adf203a6f51ce7373c835bb676cd7607ef7d1c4d",
      "new_mode": 33188,
      "new_path": "src/core/ngx_conf_file.h"
    },
    {
      "type": "modify",
      "old_id": "1164cc445bb3274df0bbf93198e7e1d0a66e696c",
      "old_mode": 33188,
      "old_path": "src/core/ngx_string.c",
      "new_id": "a236654d76bc21262cdfbe2c5496e641b161eaab",
      "new_mode": 33188,
      "new_path": "src/core/ngx_string.c"
    },
    {
      "type": "modify",
      "old_id": "545c6cc851e4e007b04323f6dea80c78a79790fe",
      "old_mode": 33188,
      "old_path": "src/core/ngx_string.h",
      "new_id": "b019e335783c47c42ffb730b9a1308629a63aaa3",
      "new_mode": 33188,
      "new_path": "src/core/ngx_string.h"
    },
    {
      "type": "modify",
      "old_id": "e57a5ddc90ff4ab5a967bfe8cf6b3cd1d40cc23e",
      "old_mode": 33188,
      "old_path": "src/event/modules/ngx_rtsig_module.c",
      "new_id": "a3891e8d4d2ece998134be09cea40040f233b6ec",
      "new_mode": 33188,
      "new_path": "src/event/modules/ngx_rtsig_module.c"
    },
    {
      "type": "modify",
      "old_id": "4775e5d9b63a630d9a5ea4addf25f0e62610e2da",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event.c",
      "new_id": "51471998a52ef986603c3c43dff611a665e4d4f7",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event.c"
    },
    {
      "type": "modify",
      "old_id": "af3e4a458d9a078c7aec366795dcceb1ebe7559a",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event.h",
      "new_id": "2154635789f963e4f6f1d4cef3755432b68b87cc",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event.h"
    },
    {
      "type": "modify",
      "old_id": "238a49415d8b931cc807c33ae335854d2b4228d7",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_accept.c",
      "new_id": "f1745c15addbcafc8b32c6365cb72b7db39cfdb2",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_accept.c"
    },
    {
      "type": "modify",
      "old_id": "b02e8cfd19abf8761c87a5f3584ad65b70321eb3",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_access_module.c",
      "new_id": "0e3430385b412cf2277a84d08e96a5ec9b94cf65",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_access_module.c"
    },
    {
      "type": "modify",
      "old_id": "d58c7c6641e2015bb6b32cfba49e148dce3088ff",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_fastcgi_module.c",
      "new_id": "160aacbc381242a4b4f80914ff304db20b903388",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_fastcgi_module.c"
    },
    {
      "type": "modify",
      "old_id": "6d94a069e1925f6a3987074b26b1deae604d5226",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_geo_module.c",
      "new_id": "a3638e4bf00b30301648f3fa7577046b05a0ee13",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_geo_module.c"
    },
    {
      "type": "modify",
      "old_id": "923dd1724a89bcaf436fc9cf02c01a841f3e6bc4",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_gzip_filter_module.c",
      "new_id": "adf7005c2c333337f8468fac65d96a7a0b3b00d7",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_gzip_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "0855990a5b18235f0fe4d73b72a568084fdc3592",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_headers_filter_module.c",
      "new_id": "da9061be808fb51e14241dd000cb58a50d2cb5c4",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_headers_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "b7daa6d417532983245a4ed66bb312f107759166",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_index_module.c",
      "new_id": "4847cb7003cbe0492fb6a16a71d68359f30e9550",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_index_module.c"
    },
    {
      "type": "modify",
      "old_id": "f4993b5a9db0be2b608363d4f61908ebebe08341",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_log_module.c",
      "new_id": "e832070421a110bc91ff76000504e777b3454997",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_log_module.c"
    },
    {
      "type": "modify",
      "old_id": "c414bc4aca63fa24e640c538677148e2402d1b34",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_log_module.h",
      "new_id": "01cfb5418635f53564dfb25254224847a846099f",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_log_module.h"
    },
    {
      "type": "modify",
      "old_id": "8c4231a5338bdaed667537a9edd3cbf69be583f3",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_proxy_module.c",
      "new_id": "26f08315eeb01ecac63f4d47fb01f00fa15df6d8",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_proxy_module.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8732423fd2aa2aa59db8c96b0f5348e5b3dfb4a0",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_realip_module.c"
    },
    {
      "type": "modify",
      "old_id": "c575d4343f293dab2983c7c3c86a15b979e2a6c4",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_rewrite_module.c",
      "new_id": "6e64f6a9978c80a4cacde69093c29ebff71f653d",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_rewrite_module.c"
    },
    {
      "type": "modify",
      "old_id": "80de6910c27ca03f9fc7d210ef4a6452a89a439d",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_ssi_filter_module.c",
      "new_id": "86700ecf3bbf328b876b28f01773a3c0a0707c70",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_ssi_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "09bf63dcfaddb9c1d558a25ac91aa077bf861b52",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_ssl_module.c",
      "new_id": "d75b9e60db9a96e05898241089ce320d6251efe8",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_ssl_module.c"
    },
    {
      "type": "modify",
      "old_id": "a705635ff6de145ff633ffbac4ace587b676ebf2",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_ssl_module.h",
      "new_id": "4207cdfdb02432eeeccfc430e9b9964be30a9be7",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_ssl_module.h"
    },
    {
      "type": "modify",
      "old_id": "0e995f5265837dc3716645083a625f75c94be1e6",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_static_module.c",
      "new_id": "ab7ac9c6f2bdd51619275e1460b7dcaf7bc00315",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_static_module.c"
    },
    {
      "type": "modify",
      "old_id": "221d33bf3405eafec7a8bfc5d048d0154b9c1efb",
      "old_mode": 33188,
      "old_path": "src/http/modules/ngx_http_userid_filter_module.c",
      "new_id": "94a709b60bf01a679c9e70114ac0a62555a15072",
      "new_mode": 33188,
      "new_path": "src/http/modules/ngx_http_userid_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "867bf31181e0c824b018f96506766c9e6811943c",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http.c",
      "new_id": "7e4fab7f6ea557e79072cc9b6d0085e5036df0b5",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http.c"
    },
    {
      "type": "modify",
      "old_id": "5be39363bc9401ac18bf15bc3b94fd4f83ea1955",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http.h",
      "new_id": "8e5ae57400dd1b6834c3e5f542353a9557f68d7b",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http.h"
    },
    {
      "type": "modify",
      "old_id": "a12a1344d0fb9f51ebc164ffd4c7b59dd2cb697f",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_core_module.c",
      "new_id": "c230860bb957a18bd56851fd4c279ef49b652488",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_core_module.c"
    },
    {
      "type": "modify",
      "old_id": "59896552140eb02cdd3ecfba882db3000d0f3429",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_core_module.h",
      "new_id": "b2c25cf0bec6bb2095fcd99b836e78d6d5edc692",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_core_module.h"
    },
    {
      "type": "modify",
      "old_id": "253fc0674dfc6c2a63c141b8a8e95a7da5a712ac",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_header_filter_module.c",
      "new_id": "b14b3cfc28de92cc628706360dc4f244647cf038",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_header_filter_module.c"
    },
    {
      "type": "modify",
      "old_id": "302cd819a930c7be88b0a0cf67c707f7c9238bc3",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_parse.c",
      "new_id": "0001286c6c79e91676ca4cb0f0b4d9078e6c241a",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_parse.c"
    },
    {
      "type": "modify",
      "old_id": "82f69c8d080fbd3c319435256f3d0b81a98fadbb",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.c",
      "new_id": "ef5a45f568287cdd8ca2c93cdbbbdfc6a66995bc",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.c"
    },
    {
      "type": "modify",
      "old_id": "40a328c320cb6b61558e71f861f1c9b016f3fcb1",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.h",
      "new_id": "b0bb5d00f599757dc71fb841a79e1877bfd287da",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.h"
    },
    {
      "type": "modify",
      "old_id": "66c7c6722002f9ef44aa02c07287fa2745df1a7d",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request_body.c",
      "new_id": "6f02f0d4b3a18deb486037e52bc1904186cb3790",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request_body.c"
    },
    {
      "type": "modify",
      "old_id": "a8272ec6796ee93aaebe45d4514318d503cd7e89",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_script.c",
      "new_id": "90620cd594bd05b8cc9b4736bc35f2d72af7d900",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_script.c"
    },
    {
      "type": "modify",
      "old_id": "21625427f602a88a17fd3256ac7178a1df55941a",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_script.h",
      "new_id": "f67b5bee8904db870a48b1a2525437af4fbfa97d",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_script.h"
    },
    {
      "type": "modify",
      "old_id": "6ec9933dab68439de5c8b90ee74fecdc2fb810a9",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "48af6fe4cb0ce6e90f6b645e22f20a6654f2bcfa",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    },
    {
      "type": "modify",
      "old_id": "d6b4a62cce27e8cddc5627b095e287dad146b143",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.h",
      "new_id": "027dd45f9e6b12ac751922fd20aa7d9f7b1ca795",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.h"
    },
    {
      "type": "modify",
      "old_id": "e3954009b273bdac1fc28f17170694cf6f097b08",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_variables.c",
      "new_id": "2fc2e50ae5fc4baef4f4964194761887f77bd997",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_variables.c"
    },
    {
      "type": "modify",
      "old_id": "df0fc9efa35f7a3441d2e410743c33130aa3cf52",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_variables.h",
      "new_id": "67b781e6d21f4e7781295a511b474eda8b55b0ad",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_variables.h"
    },
    {
      "type": "modify",
      "old_id": "4b8584de15fea1263599bfa2febbe54adb79cec8",
      "old_mode": 33188,
      "old_path": "src/imap/ngx_imap_auth_http_module.c",
      "new_id": "dfe0c204314c99ffbb331b6819bdb33e4b0795cf",
      "new_mode": 33188,
      "new_path": "src/imap/ngx_imap_auth_http_module.c"
    },
    {
      "type": "modify",
      "old_id": "d663e885074989586b4af1298374616b59323678",
      "old_mode": 33188,
      "old_path": "src/imap/ngx_imap_ssl_module.c",
      "new_id": "f92dba60bbee68adad137ee35b8e7700668ed3b4",
      "new_mode": 33188,
      "new_path": "src/imap/ngx_imap_ssl_module.c"
    },
    {
      "type": "modify",
      "old_id": "fd0ccada42ce26bd245b273a06bf93f2c6b85a1d",
      "old_mode": 33188,
      "old_path": "src/imap/ngx_imap_ssl_module.h",
      "new_id": "2ac9f119eebf453b6a58bb3cd07d895607f7512f",
      "new_mode": 33188,
      "new_path": "src/imap/ngx_imap_ssl_module.h"
    },
    {
      "type": "modify",
      "old_id": "e0f967fc02d248d5bd6b1a07a0016c96bbb96093",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_process_cycle.c",
      "new_id": "ddc10c8a513a406005ec65e3aea2f13a05a4a7a0",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_process_cycle.c"
    }
  ]
}
