)]}'
{
  "log": [
    {
      "commit": "0f7e764aa8f86a5b4ef0bdafdbc65825ce167de8",
      "tree": "7db208826465c36c80c137db82097f27b2bce59d",
      "parents": [
        "58295614033d1e0e24ee4a6b9c0690307e65d141"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 08 18:14:44 2015 -0700"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 15 13:03:09 2015 -0700"
      },
      "message": "Version 0.2.2\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "58295614033d1e0e24ee4a6b9c0690307e65d141",
      "tree": "6e69f9e1fb358995720c640882051731e0925633",
      "parents": [
        "8ac093b09668a0b8e2d983d152caba39c3cfbcd3"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 15 12:49:05 2015 -0700"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 15 13:03:09 2015 -0700"
      },
      "message": "ignore \"eth0.\" dns prefixes\n\nSome people use \"eth0.machine.example.com\" instead of\n\"machine.example.com\" as reverse dns names.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "8ac093b09668a0b8e2d983d152caba39c3cfbcd3",
      "tree": "f8d89e10cbbf7a9be27c1334cafb4668fc34b67a",
      "parents": [
        "9e8d1d2b56adbf60d7bb0a7fd7146c24b12bb423"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 08 18:13:02 2015 -0700"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 15 12:30:06 2015 -0700"
      },
      "message": "Close idle logfiles\n\nWe hit the maximum file limit.  75% of that seems to be from active\nmachines, but we may also have stale ones that we needlessly keep open.\nIt is fairly cheap to close them once an hour.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "9e8d1d2b56adbf60d7bb0a7fd7146c24b12bb423",
      "tree": "5c13b1bea338a80134208bfbbd204043504fcaa6",
      "parents": [
        "a4d101769a3206d62198d7d8aff30c1c5a2fa349"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Wed Sep 09 11:07:57 2015 -0700"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 15 12:30:06 2015 -0700"
      },
      "message": "Fix size option\n\nGetopt parameter was forgotten.  Silly.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "a4d101769a3206d62198d7d8aff30c1c5a2fa349",
      "tree": "0daf0801af78763201461d4b5e9d7e9265ab73b5",
      "parents": [
        "d6627a290e895291289147250462e5e3bae739cb"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 08 18:01:25 2015 -0700"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 15 12:30:03 2015 -0700"
      },
      "message": "Improve syslog\n\nOnly print a message when dns resolution changed - usually once when the\nmachine logs for the first time.  Also print a human-readable ip\naddress.  The hex number was pretty much unusable.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d6627a290e895291289147250462e5e3bae739cb",
      "tree": "4771a9cf007fbee3c120978a5f79715df7b8133d",
      "parents": [
        "45e5408abdbb0574e2a7f2f5eb70db034269c6b5"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 08 17:58:45 2015 -0700"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Sep 08 17:58:45 2015 -0700"
      },
      "message": "Bump version to 0.2.1\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "45e5408abdbb0574e2a7f2f5eb70db034269c6b5",
      "tree": "d8897b4dbc81bb742722ba98b4352e332be288ed",
      "parents": [
        "e3b0e34a3ea0cd91118345f9dca7242ad2083736"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Feb 17 11:14:55 2015 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Feb 17 11:51:51 2015 -0800"
      },
      "message": "Fix Makefile\n\nclean target missed btree.o.  And for some strange reason cancd fails to\ncompile on an older ubuntu system unless ld gets \"-Wl,--no-as-needed\"\npassed in.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "e3b0e34a3ea0cd91118345f9dca7242ad2083736",
      "tree": "c7187e5dad0dc3e36b8329e5e092c0f21459649e",
      "parents": [
        "bbb023f21912ab5c23201834a74a091222d308e2"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Feb 17 11:13:15 2015 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Feb 17 11:50:09 2015 -0800"
      },
      "message": "Cache open/stat for performance\n\nOpen fd stays valid for 60s.  It will actually stick around forever,\nthere is no garbage collection for stale files yet.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "bbb023f21912ab5c23201834a74a091222d308e2",
      "tree": "379d5ce14e513417feecb5192feb74ab3cfe2369",
      "parents": [
        "9ea381132300997c2f255ff083a9f4246febc238"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Feb 17 09:47:23 2015 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Feb 17 11:49:50 2015 -0800"
      },
      "message": "Add a maximum file size parameter\n\nSometimes there are a few noisy machines generating 100GB+ per day,\nfilling up the disk and preventing logrotate from cleaning things up.\nManual intervention is required and several hours or days of logs are\nlost - depending on how timely the humans respond.\n\nHaving a fixed limit of 1GB or some other reasonable value ensures we\nlose logs from the noisy machines, but not from the well-behaving ones\ndue to full disk.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "9ea381132300997c2f255ff083a9f4246febc238",
      "tree": "edf064819d76c7fdd040c5e43582ad4c09fcdc9d",
      "parents": [
        "839b29da920bcfebe1b9d33afeab6287b85f1d5a"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Nov 20 11:42:10 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Nov 20 11:48:04 2012 -0800"
      },
      "message": "Fix 32bit btree primitives\n\nUsing an unsigned long * to a u32 gives 32 random bits.  Not a good\nidentifier.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "839b29da920bcfebe1b9d33afeab6287b85f1d5a",
      "tree": "1dd14fa21ce0699f91370db9d1f4e444e2f0a70a",
      "parents": [
        "a4bbca7625c7bd45a338222784495eb0330c057c"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Nov 20 11:03:16 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Nov 20 11:03:16 2012 -0800"
      },
      "message": "Create files with 0644, not 0600\n\nAllows other user without write access to read logfiles.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "a4bbca7625c7bd45a338222784495eb0330c057c",
      "tree": "9b8400cd7a2de4b12d15c4eb7e602e0342d3519c",
      "parents": [
        "54c6b7459fd1492db140b245149fc53f3f416a2b"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun May 06 18:42:40 2012 -0700"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun May 06 18:42:40 2012 -0700"
      },
      "message": "Fix do_write\n\nAfter about four month, we never noticed this rather obvious bug.  Tells\nyou something about the frequency of short writes.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "54c6b7459fd1492db140b245149fc53f3f416a2b",
      "tree": "4b20fe98c4eef2b47fcdd7133148053c492d579c",
      "parents": [
        "e815d5623985abab7c23f77c43f0e0a3e93b489d"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 04 11:17:49 2012 -0700"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri May 04 11:17:49 2012 -0700"
      },
      "message": "Syslog on dns resolver\n\nWhen having to deal with b0rken reverse DNS and trying to figure out\nwhat machine happens to be called FOO by reverse DNS, while no machine\nFOO exists in forward DNS, a small amount of paper trail might be\nuseful.  The format isn\u0027t as nice as it could be.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "e815d5623985abab7c23f77c43f0e0a3e93b489d",
      "tree": "4c69be1eb00cb05f2f36f97f4cd724c1bfd532e4",
      "parents": [
        "36b9d7badd1158bb00be1afe2d6ce9b6ad27adde"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 10:55:18 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 10:55:18 2012 -0800"
      },
      "message": "Normalize and shorten filenames\n\nTurns TESTHOST07.bla.com into testhost07.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "36b9d7badd1158bb00be1afe2d6ce9b6ad27adde",
      "tree": "e0e9382a07e8cf7cf1a1d1391c15558207f807c5",
      "parents": [
        "1c8f5e7187ec44133236198cbae7b0dae218aed2"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 10:35:21 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 10:35:21 2012 -0800"
      },
      "message": "Update version to 0.2.0\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "1c8f5e7187ec44133236198cbae7b0dae218aed2",
      "tree": "e66e4c1cf95817324bfac7583b3d4cf31a63dfcb",
      "parents": [
        "d3e3761bda56a89807f7fd1b24541aab9d332dbe"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 10:31:55 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 10:31:55 2012 -0800"
      },
      "message": "Copy data from ip-file to name-file\n\nAlso remove the \"optimization\" strcmp, as it was buggy.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d3e3761bda56a89807f7fd1b24541aab9d332dbe",
      "tree": "51612f3421f0bc9e16b939aec3536343e40c9549",
      "parents": [
        "672d19dc9e9eb74565f8616702c733a0872add45"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 09:50:55 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 09:50:55 2012 -0800"
      },
      "message": "Remove dirname() code\n\nWe no longer allow complicated name structures, so this code has become\npointless.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "672d19dc9e9eb74565f8616702c733a0872add45",
      "tree": "c831f76336c0ce2efcaba93791cf5bac66cb7eb3",
      "parents": [
        "585f32119a017e6fc381d0407a7a3a31dc5328b4"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 09:40:09 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 09:40:09 2012 -0800"
      },
      "message": "Create DNS thread\n\nWhen possible we should use DNS hostnames instead of IP addresses as\nlogfile names.  But gethostbyaddr() can block indefinitely, so run that\ncommand from a dedicated thread.  If it blocks, we just write to the ip\naddress name.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "585f32119a017e6fc381d0407a7a3a31dc5328b4",
      "tree": "5adf633c9e8650b77af1feca35edaf0ca3e6e3ae",
      "parents": [
        "b0802bcf4bb0a76df5561ce506996554e83018d1"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 07:18:42 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 07:18:42 2012 -0800"
      },
      "message": "Add per-ip cache\n\nCurrently used for newlines and filename.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "b0802bcf4bb0a76df5561ce506996554e83018d1",
      "tree": "b0ede25af24f4cc3b0e5f833a8e3bc20b5684007",
      "parents": [
        "dc59b0e33250ae40964471811fb1815e2948a681"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 07:18:15 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Tue Jan 17 07:18:15 2012 -0800"
      },
      "message": "Remove ULONG_MAX definition\n\nAlready defined in libc by now.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "dc59b0e33250ae40964471811fb1815e2948a681",
      "tree": "9ed2496f466dd6b657e849a1398aabb4c2904f49",
      "parents": [
        "76cb4bd61325d0d93de251a5878b9e587c0f0325"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 15:31:10 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 15:31:10 2012 -0800"
      },
      "message": "Add dependency on header Makefile and headers\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "76cb4bd61325d0d93de251a5878b9e587c0f0325",
      "tree": "944b672221898de10b59c5c2b961a732fe9246b7",
      "parents": [
        "8e82320bb8f943e3df6daaaebead65eea6c71f26"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 15:18:39 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 15:18:39 2012 -0800"
      },
      "message": "Compile btree library in\n\nAlso remove AGGRESSIVE_COMPACTION, as we won\u0027t need it and silence a\n(wrong) compiler warning.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "8e82320bb8f943e3df6daaaebead65eea6c71f26",
      "tree": "3deab9c375f8f5efb18ff90e34cb934d5c9a208a",
      "parents": [
        "b94965242daa03117a50f8551f9866f347b91548"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 15:12:42 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 15:14:49 2012 -0800"
      },
      "message": "Add my btree library\n\nIt will be used to store per-ip data, like reverse dns lookups, whether\nwe previously had a newline, etc.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "b94965242daa03117a50f8551f9866f347b91548",
      "tree": "1fec4936b09490168ec05b4f08284a06cb4b3c61",
      "parents": [
        "b3e1f0769bca367119d7e80be1a063f1a345fdf0"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 14:29:39 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 14:29:39 2012 -0800"
      },
      "message": "Hack around short writes\n\nActual netconsole packets can be shorter than a line.  So instead of\ncreating a new line plus timestamp for every fragment, remember whether\nwe had a newline before and only add a timestamp in those cases.\n\nCurrently this is still semi-broken.  We have no memory across packets,\nso timestamps are never printed for the first line of a packet.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "b3e1f0769bca367119d7e80be1a063f1a345fdf0",
      "tree": "900c038951f7283ef886f8cf22982724930e1a25",
      "parents": [
        "4d7cf7e91bd397bbb41f7f685d346c22188ac897"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 13:39:41 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 13:39:41 2012 -0800"
      },
      "message": "Prevent stray newlines\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "4d7cf7e91bd397bbb41f7f685d346c22188ac897",
      "tree": "dacb0a381bdd6c9b08e93b6b1b1846f3f9fd1209",
      "parents": [
        "7f9450c5281fb0e0ba27e92dcc99bf1475b13715"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 12:56:25 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 13:17:36 2012 -0800"
      },
      "message": "Sanitize buffer size\n\nThere is no point in depending on page size or supporting machines where\nsizeof(char) is not one.  Also warn if ever the buffer is too small, so\npeople have an indication to go and increase it.  And just in case 32k\nis not enough, bump the size to 1M.  Memory is cheap enough these days.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "7f9450c5281fb0e0ba27e92dcc99bf1475b13715",
      "tree": "de87ca7f8aa7d84ce319f017bf0495e21bd72454",
      "parents": [
        "e0bbe42647f27da852cf629eb2ad7d0bd8d3055f"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 12:53:47 2012 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Mon Jan 16 12:53:47 2012 -0800"
      },
      "message": "Fix e0bbe426\n\nLast commit clearly was untested.  Don\u0027t commit on an airport, ever.\n\n- NUL-terminate string before handing it off to strchrnul().\n- Fix off-by-one (NUL byte).\n- Fix spelling.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "e0bbe42647f27da852cf629eb2ad7d0bd8d3055f",
      "tree": "fb07ea5ccb10ca4c9936835a90fe75a82a00ece0",
      "parents": [
        "4ef015343068951dcaee0cd8c50a83841710f84f"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Dec 23 13:45:38 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Fri Dec 23 13:45:38 2011 -0800"
      },
      "message": "Prepend date string to each line\n\nMake this look more like syslog.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "4ef015343068951dcaee0cd8c50a83841710f84f",
      "tree": "b782e39165be3e17158cf3cfcfc669003abc4287",
      "parents": [
        "0597b18d8b043a473731cf99c7b1c01470ba3858"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 17:01:06 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 17:01:06 2011 -0800"
      },
      "message": "Factor out do_write\n\nA good candidate for a libc function, if ever there was one.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "0597b18d8b043a473731cf99c7b1c01470ba3858",
      "tree": "25f3d992670170bfae8237a3c09dac18ee4fd14a",
      "parents": [
        "d16953325ec77034645a5ba1a07ce8c6eaedede4"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 16:46:38 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 16:46:38 2011 -0800"
      },
      "message": "make do_output() void\n\nIt only ever returned 0 - making the return code fairly pointless.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "d16953325ec77034645a5ba1a07ce8c6eaedede4",
      "tree": "8f680af980af30d189c69c67ba588a3ba4f7081a",
      "parents": [
        "6a8b621bce2e4e0c6d0922749140cc61d13c0168"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 16:41:58 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 16:41:58 2011 -0800"
      },
      "message": "Simplify valid_format()\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "6a8b621bce2e4e0c6d0922749140cc61d13c0168",
      "tree": "c9201346050c8398a25b4bb9c65c71f5657de2f3",
      "parents": [
        "7f0a9d42554e07c3aa03a1e5ba886332ae9595f7"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 16:32:51 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 16:41:49 2011 -0800"
      },
      "message": "Simplify file format\n\nNo more funny business with time/date.  We expect a lot of output, not\njust the rare kernel panic.  Having literally millions of files around\nsimply doesn\u0027t fly.\n\nAlso, I believe the old code failed to NUL-terminate the string.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "7f0a9d42554e07c3aa03a1e5ba886332ae9595f7",
      "tree": "f0bf80dd9038fd38aeb30979de46d2986250ffbb",
      "parents": [
        "b1ea41673af5b636602cdfb0710dc176dfcc98a8"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 16:21:14 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Thu Dec 22 16:21:14 2011 -0800"
      },
      "message": "Remove af parameter from get_path\n\nIf all callers use the same parameter, don\u0027t bother passing it.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "b1ea41673af5b636602cdfb0710dc176dfcc98a8",
      "tree": "0c6331f4643bfc70626e51215c1aa1f7a3d9f73f",
      "parents": [
        "3d48e466acd97cfa74492de92755d356f4ceba83"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:11:25 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:11:25 2011 -0800"
      },
      "message": "Fix relative path goofup and overflows\n\nThe usage of strncat is a textbook case of when to use strlcat instead.\nThe double strlen is just wasting performance, assuming no buffer\noverflows in strncat before.  And lastly, the program already cd\u0027d into\nthe proper directory.  So for a relative path \"foo\" we created files\nunder \"foo/foo/\", not under \"foo/\".\n\nQuite a number of bugs to fix by removing so little code.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "3d48e466acd97cfa74492de92755d356f4ceba83",
      "tree": "921fd3085ddfb06d3594fbcc9169d6c2f0ba8183",
      "parents": [
        "b5fc253242284a247ad81ee05cc66e077e0291b6"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:10:30 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:10:30 2011 -0800"
      },
      "message": "Fix version number\n\nTarball sais 0.1.0, so match that.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "b5fc253242284a247ad81ee05cc66e077e0291b6",
      "tree": "1074783c93ad113d0a127639b954df116827d0a1",
      "parents": [
        "673a435a06b44d5430ad6191e90b8226ecc37702"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:09:41 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:09:41 2011 -0800"
      },
      "message": "Compile fix: add \u003climits.h\u003e\n\nAnd sort the includes, while at it.\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "673a435a06b44d5430ad6191e90b8226ecc37702",
      "tree": "ab3abdd06e831f20729758752674e962606880e3",
      "parents": [
        "b74052cde99a3631e54cc30dadecdbffc00a4b30"
      ],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:05:19 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:09:03 2011 -0800"
      },
      "message": "Lindent the source\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    },
    {
      "commit": "b74052cde99a3631e54cc30dadecdbffc00a4b30",
      "tree": "59fb973d65339b55d89ed836e4a5c2b0c0a0491f",
      "parents": [],
      "author": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:03:35 2011 -0800"
      },
      "committer": {
        "name": "Joern Engel",
        "email": "joern@logfs.org",
        "time": "Sun Dec 18 20:03:35 2011 -0800"
      },
      "message": "cancd 0.1.0 as found on oss.oracle.com\n\nSigned-off-by: Joern Engel \u003cjoern@logfs.org\u003e\n"
    }
  ]
}
