)]}'
{
  "log": [
    {
      "commit": "040253c931e336360453c8d81f76d1b010b2b5e7",
      "tree": "e9fa38b6cd2a12eec1f12f1a89258f3713cfabd7",
      "parents": [
        "d979e20f2b9f8a50c8d5f889e0b5d78580440d1f"
      ],
      "author": {
        "name": "Martin Willi",
        "email": "martin@strongswan.org",
        "time": "Wed Dec 08 04:37:51 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Dec 10 14:43:59 2010 -0800"
      },
      "message": "xfrm: Traffic Flow Confidentiality for IPv6 ESP\n\nAdd TFC padding to all packets smaller than the boundary configured\non the xfrm state. If the boundary is larger than the PMTU, limit\npadding to the PMTU.\n\nSigned-off-by: Martin Willi \u003cmartin@strongswan.org\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bd55775c8dd656fc69b3a42a1c4ab32abb7e8af9",
      "tree": "766b30d5fc29d5d4849a10a290db51fe0f7c3ad7",
      "parents": [
        "bf825f81b454fae2ffe1b675f3a549656726440e"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Mon Feb 22 16:20:22 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 22 16:20:22 2010 -0800"
      },
      "message": "xfrm: SA lookups signature with mark\n\npass mark to all SA lookups to prepare them for when we add code\nto have them search.\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f8a088c2127c729638da8f2d33860e346c01eda",
      "tree": "d5b81f8d1cc22d3fffbcb049c55dcc9499eb4e04",
      "parents": [
        "4447bb33f09444920a8f1d89e1540137429351b6"
      ],
      "author": {
        "name": "Martin Willi",
        "email": "martin@strongswan.org",
        "time": "Wed Nov 25 00:29:53 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Nov 25 15:48:41 2009 -0800"
      },
      "message": "xfrm: Use the user specified truncation length in ESP and AH\n\nInstead of using the hardcoded truncation for authentication\nalgorithms, use the truncation length specified on xfrm_state.\n\nSigned-off-by: Martin Willi \u003cmartin@strongswan.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41135cc836a1abeb12ca1416bdb29e87ad021153",
      "tree": "01c402f2fb9ac494dc3655a17e92072b170b7c1f",
      "parents": [
        "32613090a96dba2ca2cc524c8d4749d3126fdde5"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Sep 14 12:22:28 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 14 17:03:05 2009 -0700"
      },
      "message": "net: constify struct inet6_protocol\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5fdd6babcfc2b0e6a8da1acf492a69fb54b4c47",
      "tree": "e4ebdb5d6c4b1ddc16f83e701e3e6038c379a497",
      "parents": [
        "0cf08dcb78e8d61b6d4b2eb5cdb296d969971626"
      ],
      "author": {
        "name": "Brian Haley",
        "email": "brian.haley@hp.com",
        "time": "Tue Jun 23 04:31:07 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 23 04:31:07 2009 -0700"
      },
      "message": "ipv6: Use correct data types for ICMPv6 type and code\n\nChange all the code that deals directly with ICMPv6 type and code\nvalues to use u8 instead of a signed int as that\u0027s the actual data\ntype.\n\nSigned-off-by: Brian Haley \u003cbrian.haley@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4fb236bac9fc7d51e2267866de6d4c30e549d2f8",
      "tree": "e3d024fe85be93a81553a910f556b818c8a85496",
      "parents": [
        "7013ec30e0e2bc5b1e602e19a4e0668f9b7c0a72"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:59:27 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:59:27 2008 -0800"
      },
      "message": "netns xfrm: AH/ESP in netns!\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "221df1ed33c9284fc7a6f6e47ca7f8d5f3665d43",
      "tree": "1961ab9f9061b595e10449a24e7275d91f422de2",
      "parents": [
        "0e6024519b4da2d9413b97be1de8122d5709ccc1"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Nov 25 17:30:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 17:30:50 2008 -0800"
      },
      "message": "netns xfrm: state lookup in netns\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad",
      "tree": "b6caa0cdbaac016447a790881ad4a6c5dfce6900",
      "parents": [
        "4b7a4274ca63dadd9c4f17fc953f3a5d19855c4c"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:52:50 2008 -0700"
      },
      "message": "net: replace %p6 with %pI6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c6ce78abf6e228d44c3840edb8a4ae0c1299825",
      "tree": "55f228de41dd191609310c03633579eec05b1f33",
      "parents": [
        "38ff4fa49bef77e86b21d95d9ce341a098f02839"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:09:23 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 23:02:31 2008 -0700"
      },
      "message": "net: replace uses of NIP6_FMT with %p6\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abf5cdb89d09ca981db10e1a85fd8531440165f2",
      "tree": "95c340f429fcb0c11d0af01fa840d84bb81895f5",
      "parents": [
        "eb49e63093498cd17382018495b8cfb5b4a679bd"
      ],
      "author": {
        "name": "Joakim Koskela",
        "email": "jookos@gmail.com",
        "time": "Wed Aug 06 02:40:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 02:40:25 2008 -0700"
      },
      "message": "ipsec: Interfamily IPSec BEET, ipv4-inner ipv6-outer\n\nHere\u0027s a revised version, based on Herbert\u0027s comments, of a fix for\nthe ipv4-inner, ipv6-outer interfamily ipsec beet mode. It fixes the\nnetwork header adjustment during interfamily, as well as makes sure\nthat we reserve enough room for the new ipv6 header if we might have\nsomething else as the inner family. Also, the ipv4 pseudo header\nconstruction was added.\n\nSigned-off-by: Joakim Koskela \u003cjookos@gmail.com\u003e\nAcked-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "920fc941a9617f95ccb283037fe6f8a38d95bb69",
      "tree": "1de9a439eec25d514f25254320ded076f5fd8144",
      "parents": [
        "732c8bd590625e8bc0b88313b82930e336b2bec4"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Mar 27 16:08:03 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Mar 27 16:08:03 2008 -0700"
      },
      "message": "[ESP]: Ensure IV is in linear part of the skb to avoid BUG() due to OOB access\n\nESP does not account for the IV size when calling pskb_may_pull() to\nensure everything it accesses directly is within the linear part of a\npotential fragment. This results in a BUG() being triggered when the\nboth the IPv4 and IPv6 ESP stack is fed with an skb where the first\nfragment ends between the end of the esp header and the end of the IV.\n\nThis bug was found by Dirk Nehring \u003cdnehring@gmx.net\u003e .\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b318e0e4ef4e85812c25afa19f75addccc834cd4",
      "tree": "95d51df1aa01978a99e763cd92fd6f7f4647bf20",
      "parents": [
        "45b503548210fe6f23e92b856421c2a3f05fd034"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Feb 12 22:50:35 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 12 22:50:35 2008 -0800"
      },
      "message": "[IPSEC]: Fix bogus usage of u64 on input sequence number\n\nAl Viro spotted a bogus use of u64 on the input sequence number which\nis big-endian.  This patch fixes it by giving the input sequence number\nits own member in the xfrm_skb_cb structure.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "533cb5b0a63f28ecab5503cfceb77e641fa7f7c4",
      "tree": "62e7d7c65776c5fb30a8ff10fb3049e63257331c",
      "parents": [
        "2216b48376c40cf6984398d478a01b55e76c5434"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "dada1@cosmosbay.com",
        "time": "Wed Jan 30 19:11:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:20 2008 -0800"
      },
      "message": "[XFRM]: constify \u0027struct xfrm_type\u0027\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a6509d991225ad210de54c63314fd9542922095",
      "tree": "afe5c560388558bebd3e21b7c6f789a28a323a51",
      "parents": [
        "6fbf2cb77461a0cd0675228d20dd0f70d7b2251f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jan 28 19:37:29 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:03 2008 -0800"
      },
      "message": "[IPSEC]: Add support for combined mode algorithms\n\nThis patch adds support for combined mode algorithms with GCM being\nthe first algorithm supported.\n\nCombined mode algorithms can be added through the xfrm_user interface\nusing the new algorithm payload type XFRMA_ALG_AEAD.  Each algorithms\nis identified by its name and the ICV length.\n\nFor the purposes of matching algorithms in xfrm_tmpl structures,\ncombined mode algorithms occupy the same name space as encryption\nalgorithms.  This is in line with how they are negotiated using IKE.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38320c70d282be1997a5204c7c7fe14c3aa6bfaa",
      "tree": "aa86d8c3e26a3cc6d283a31b21116a35c7659f8f",
      "parents": [
        "bf164cc054d568fa7889ffab41d3b091f5758c75"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jan 28 19:35:05 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 19:27:02 2008 -0800"
      },
      "message": "[IPSEC]: Use crypto_aead and authenc in ESP\n\nThis patch converts ESP to use the crypto_aead interface and in particular\nthe authenc algorithm.  This lays the foundations for future support of\ncombined mode algorithms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9dd3245a2ac1834797191072705015e6a12f55bf",
      "tree": "b8f05a146de3729698ef7627e68251ee68a2a472",
      "parents": [
        "0883ae0e5599656b5f3b0e9ce474e01dee7dfee4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 30 21:10:30 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:10 2008 -0800"
      },
      "message": "[IPSEC]: Move all calls to xfrm_audit_state_icvfail to xfrm_input\n\nLet\u0027s nip the code duplication in the bud :)\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afeb14b49098ba7a51c96e083a4105a0301f94c4",
      "tree": "2675451596adbea8aa261704c356d074136abbbd",
      "parents": [
        "dfd4f0ae2e111e2b93c295938c0e64ebbb69ae6e"
      ],
      "author": {
        "name": "Paul Moore",
        "email": "paul.moore@hp.com",
        "time": "Fri Dec 21 14:58:11 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:00:01 2008 -0800"
      },
      "message": "[XFRM]: RFC4303 compliant auditing\n\nThis patch adds a number of new IPsec audit events to meet the auditing\nrequirements of RFC4303.  This includes audit hooks for the following events:\n\n * Could not find a valid SA [sections 2.1, 3.4.2]\n   . xfrm_audit_state_notfound()\n   . xfrm_audit_state_notfound_simple()\n\n * Sequence number overflow [section 3.3.3]\n   . xfrm_audit_state_replay_overflow()\n\n * Replayed packet [section 3.4.3]\n   . xfrm_audit_state_replay()\n\n * Integrity check failure [sections 3.4.4.1, 3.4.4.2]\n   . xfrm_audit_state_icvfail()\n\nWhile RFC4304 deals only with ESP most of the changes in this patch apply to\nIPsec in general, i.e. both AH and ESP.  The one case, integrity check\nfailure, where ESP specific code had to be modified the same was done to the\nAH code for the sake of consistency.\n\nSigned-off-by: Paul Moore \u003cpaul.moore@hp.com\u003e\nAcked-by: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0ebea8ef3559b545c37b016f44e84c3b33e47c39",
      "tree": "7a47787c1b830084ac2d36371490b9e2574e2472",
      "parents": [
        "668dc8af3150f837f7f0461001bbbc0ce25d7bdf"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Nov 13 21:45:58 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:52 2008 -0800"
      },
      "message": "[IPSEC]: Move state lock into x-\u003etype-\u003einput\n\nThis patch releases the lock on the state before calling\nx-\u003etype-\u003einput.  It also adds the lock to the spots where they\u0027re\ncurrently needed.\n\nMost of those places (all except mip6) are expected to disappear with\nasync crypto.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "668dc8af3150f837f7f0461001bbbc0ce25d7bdf",
      "tree": "9ba3534a190bb69b3aebf24aaa4340685fe16539",
      "parents": [
        "b2aa5e9d43a38dcdfa0878ed750cf32f98460278"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Dec 16 15:55:02 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:53:51 2008 -0800"
      },
      "message": "[IPSEC]: Move integrity stat collection into xfrm_input\n\nSimilar to the moving out of the replay processing on the output, this\npatch moves the integrity stat collectin from x-\u003etype-\u003einput into\nxfrm_input.\n\nThis would eventually allow transforms such as AH/ESP to be lockless.\n\nThe error value EBADMSG (currently unused in the crypto layer) is used\nto indicate a failed integrity check.  In future this error can be\ndirectly returned by the crypto layer once we switch to aead\nalgorithms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95a02cfd4d33886c166d4a5f309120f8d32ced58",
      "tree": "cae6142cca5d521db3f6471321cf31903eb2f7ba",
      "parents": [
        "2017a72c070033830b460d31cd4703f9d2ec0d56"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Mon Dec 10 16:53:29 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Dec 11 02:45:27 2007 -0800"
      },
      "message": "[IPv6] ESP: Discard dummy packets introduced in rfc4303\n\nRFC4303 introduces dummy packets with a nexthdr value of 59\nto implement traffic confidentiality. Such packets need to\nbe dropped silently and the payload may not be attempted to\nbe parsed as it consists of random chunk.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "51c739d1f484b2562040a3e496dc8e1670d4e279",
      "tree": "87b12c2330f2951deb1a435367907d15a5d938c3",
      "parents": [
        "07afa040252eb41f91f46f8e538b434a63122999"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 30 21:29:29 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Oct 30 21:29:29 2007 -0700"
      },
      "message": "[NET]: Fix incorrect sg_mark_end() calls.\n\nThis fixes scatterlist corruptions added by\n\n\tcommit 68e3f5dd4db62619fdbe520d36c9ebf62e672256\n\t[CRYPTO] users: Fix up scatterlist conversion errors\n\nThe issue is that the code calls sg_mark_end() which clobbers the\nsg_page() pointer of the final scatterlist entry.\n\nThe first part fo the fix makes skb_to_sgvec() do __sg_mark_end().\n\nAfter considering all skb_to_sgvec() call sites the most correct\nsolution is to call __sg_mark_end() in skb_to_sgvec() since that is\nwhat all of the callers would end up doing anyways.\n\nI suspect this might have fixed some problems in virtio_net which is\nthe sole non-crypto user of skb_to_sgvec().\n\nOther similar sg_mark_end() cases were converted over to\n__sg_mark_end() as well.\n\nArguably sg_mark_end() is a poorly named function because it doesn\u0027t\njust \"mark\", it clears out the page pointer as a side effect, which is\nwhat led to these bugs in the first place.\n\nThe one remaining plain sg_mark_end() call is in scsi_alloc_sgtable()\nand arguably it could be converted to __sg_mark_end() if only so that\nwe can delete this confusing interface from linux/scatterlist.h\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68e3f5dd4db62619fdbe520d36c9ebf62e672256",
      "tree": "0a9b05227fc53cb72785a95298c643f5405fd7b4",
      "parents": [
        "a5a613a4291a8107008e4c40108a385cda71b08d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "message": "[CRYPTO] users: Fix up scatterlist conversion errors\n\nThis patch fixes the errors made in the users of the crypto layer during\nthe sg_init_table conversion.  It also adds a few conversions that were\nmissing altogether.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72998d8c84247817c4b8b05b0256f29453e435f5",
      "tree": "bc7bc54f94d4accd53fed13345bc219957a0bd3d",
      "parents": [
        "18134bed02e230a7876570072b0284635daaa32b"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@kernel.org",
        "time": "Fri Oct 26 22:53:58 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 22:53:58 2007 -0700"
      },
      "message": "[INET] ESP: Must #include \u003clinux/scatterlist.h\u003e\n\nThis patch fixes the following compile errors in some configurations:\n\n\u003c--  snip  --\u003e\n\n...\n  CC      net/ipv4/esp4.o\n/home/bunk/linux/kernel-2.6/git/linux-2.6/net/ipv4/esp4.c: In function \u0027esp_output\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/net/ipv4/esp4.c:113: error: implicit declaration of function \u0027sg_init_table\u0027\nmake[3]: *** [net/ipv4/esp4.o] Error 1\n...\n/home/bunk/linux/kernel-2.6/git/linux-2.6/net/ipv6/esp6.c: In function \u0027esp6_output\u0027:\n/home/bunk/linux/kernel-2.6/git/linux-2.6/net/ipv6/esp6.c:112: error: implicit declaration of function \u0027sg_init_table\u0027\nmake[3]: *** [net/ipv6/esp6.o] Error 1\n\n\n\u003c--  snip  --\u003e\n\nSigned-off-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ed0e7e0ca370519d6f79d1093ee2890d4cdee744",
      "tree": "6a78f326064b3b169d18f3cc163bb770c63902b5",
      "parents": [
        "b733588559fc13547a59ccf81651c775b8f2719c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Oct 26 00:38:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Oct 26 00:38:39 2007 -0700"
      },
      "message": "[IPSEC]: Add missing sg_init_table() calls to ESP.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2c47b42f12dadbad9d879fb6df102b9003ab82",
      "tree": "d342475622a30d55c7ebe25e4663d3b688108fde",
      "parents": [
        "e3fa259bcbbca25c8e8275c8dcedcf484854465b"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Mon Oct 22 02:30:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Oct 22 02:59:58 2007 -0700"
      },
      "message": "[IPSEC] IPV6: Fix to add tunnel mode SA correctly.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ca68145f16359f71cd62b2671aa3e8c58f45ef19",
      "tree": "dcd8806792a443cddc1c25f015d136a179c6882b",
      "parents": [
        "ed3e37ddb0b422120d3d2d5da718c44c40af30ba"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 17 21:35:15 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 17 21:35:15 2007 -0700"
      },
      "message": "[IPSEC]: Disallow combinations of RO and AH/ESP/IPCOMP\n\nCombining RO and AH/ESP/IPCOMP does not make sense.  So this patch adds a\ncheck in the state initialisation function to prevent this.\n\nThis allows us to safely remove the mode input function of RO since it\ncan never be called anymore.  Indeed, if somehow it does get called we\u0027ll\nknow about it through an OOPS instead of it slipping past silently.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ceb1eec8291175686d0208e66595ff83bc0624e2",
      "tree": "83a7fdc7d292f1dbb80f32563d9573810bfe6e42",
      "parents": [
        "87bdc48d304191313203df9b98d783e1ab5a55ab"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:45:52 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:56 2007 -0700"
      },
      "message": "[IPSEC]: Move IP length/checksum setting out of transforms\n\nThis patch moves the setting of the IP length and checksum fields out of\nthe transforms and into the xfrmX_output functions.  This would help future\nefforts in merging the transforms themselves.\n\nIt also adds an optimisation to ipcomp due to the fact that the transport\noffset is guaranteed to be zero.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87bdc48d304191313203df9b98d783e1ab5a55ab",
      "tree": "32f7bfb3a5fa7fe373f11e0ddadd95b6bcd9bd4f",
      "parents": [
        "37fedd3aab6517daec628764c5d66dd8761fbe5f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:45:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:55 2007 -0700"
      },
      "message": "[IPSEC]: Get rid of ipv6_{auth,esp,comp}_hdr\n\nThis patch removes the duplicate ipv6_{auth,esp,comp}_hdr structures since\nthey\u0027re identical to the IPv4 versions.  Duplicating them would only create\nproblems for ourselves later when we need to add things like extended\nsequence numbers.\n\nI\u0027ve also added transport header type conversion headers for these types\nwhich are now used by the transforms.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7b277b1a5fb147cb828e5d8b9780cee60f31a9bf",
      "tree": "21af4818d7ba9d646a281517f476d81d4245cc30",
      "parents": [
        "bee0b40c0621396326d1c17b81833f59118a2d80"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Oct 10 15:44:06 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:54 2007 -0700"
      },
      "message": "[IPSEC]: Set skb-\u003edata to payload in x-\u003emode-\u003eoutput\n\nThis patch changes the calling convention so that on entry from\nx-\u003emode-\u003eoutput and before entry into x-\u003etype-\u003eoutput skb-\u003edata\nwill point to the payload instead of the IP header.\n\nThis is essentially a redistribution of skb_push/skb_pull calls\nwith the aim of minimising them on the common path of tunnel +\nESP.\n\nIt\u0027ll also let us use the same calling convention between IPv4\nand IPv6 with the next patch.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7c6538cd84f8072fad43bfce530f5bf695edbba",
      "tree": "e0ba79ffe7b79355985a45de9961b17a0462764f",
      "parents": [
        "050f009e16f908932070313c1745d09dc69fd62b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Oct 09 13:33:35 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:03 2007 -0700"
      },
      "message": "[IPSEC]: Move state lock into x-\u003etype-\u003eoutput\n\nThis patch releases the lock on the state before calling x-\u003etype-\u003eoutput.\nIt also adds the lock to the spots where they\u0027re currently needed.\n\nMost of those places (all except mip6) are expected to disappear with\nasync crypto.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "007f0211a8872f32381f5d44becf8eb2f27f3c30",
      "tree": "9f6879726b6f016379368ebbde6ce3ec13faaa39",
      "parents": [
        "1ecafede835321ebdc396531245adc37d22366f7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Oct 09 13:25:59 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:00 2007 -0700"
      },
      "message": "[IPSEC]: Store IPv6 nh pointer in mac_header on output\n\nCurrent the x-\u003emode-\u003eoutput functions store the IPv6 nh pointer in the\nskb network header.  This is inconvenient because the network header then\nhas to be fixed up before the packet can leave the IPsec stack.  The mac\nheader field is unused on output so we can use that to store this instead.\n\nThis patch does that and removes the network header fix-up in xfrm_output.\n\nIt also uses ipv6_hdr where appropriate in the x-\u003etype-\u003eoutput functions.\n\nThere is also a minor clean-up in esp4 to make it use the same code as\nesp6 to help any subsequent effort to merge the two.\n\nLastly it kills two redundant skb_set_* statements in BEET that were\nsimply copied over from transport mode.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "436a0a402203d5a47d2edf7e4dde6c08a7257983",
      "tree": "b47e73326a2ff7dbf8ac3fbcb6c4acea5c06619d",
      "parents": [
        "83815dea47cf3e98ccbb6aecda08cba1ba91208f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:25:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:54 2007 -0700"
      },
      "message": "[IPSEC]: Move output replay code into xfrm_output\n\nThe replay counter is one of only two remaining things in the output code\nthat requires a lock on the xfrm state (the other being the crypto).  This\npatch moves it into the generic xfrm_output so we can remove the lock from\nthe transforms themselves.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b7137ff8fb49d7bf22dfa248baa0d02ace2c43d",
      "tree": "6a9571d7d5a3d43ec9cd8c661900fe78f89db6b6",
      "parents": [
        "f0703c80e5156406ad947cb67fe277725b48080f"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 08 17:13:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:52 2007 -0700"
      },
      "message": "[IPSEC] esp: Remove keys from esp_data structure\n\nThe keys are only used during initialisation so we don\u0027t need to carry them\nin esp_data.  Since we don\u0027t have to allocate them again, there is no need\nto place a limit on the authentication key length anymore.\n\nThis patch also kills the unused auth.icv member.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d3d6dd3adaaad71eae20902ed81808a66a40a5b9",
      "tree": "b08faa2174867f3f589889695bfa8388d2237f1e",
      "parents": [
        "59fbb3a61e02deaeaa4fb50792217921f3002d64"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Tue Jun 26 23:57:49 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:43 2007 -0700"
      },
      "message": "[XFRM]: Add module alias for transformation type.\n\nIt is clean-up for XFRM type modules and adds aliases with its\nprotocol:\n ESP, AH, IPCOMP, IPIP and IPv6 for IPsec\n ROUTING and DSTOPTS for MIPv6\n\nIt is almost the same thing as XFRM mode alias, but it is added\nnew defines XFRM_PROTO_XXX for preprocessing since some protocols\nare defined as enum.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nAcked-by: Ingo Oeser \u003cnetdev@axxeo.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c5c2523893747f88a83376abad310c8ad13f7197",
      "tree": "58f1ab25ac9f7ca7460abbd24e9bab9c8683f6fd",
      "parents": [
        "557922584d9c5b6b990bcfb2fec3134f0e73a05d"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 09 11:47:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:38 2007 -0700"
      },
      "message": "[XFRM]: Optimize MTU calculation\n\nReplace the probing based MTU estimation, which usually takes 2-3 iterations\nto find a fitting value and may underestimate the MTU, by an exact calculation.\n\nAlso fix underestimation of the XFRM trailer_len, which causes unnecessary\nreallocations.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "557922584d9c5b6b990bcfb2fec3134f0e73a05d",
      "tree": "f7944ace44efa532fbee23db0709760bfb70ec98",
      "parents": [
        "56eb88828b78f6f3b11a2996350092a40745301f"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Mon Apr 09 11:46:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:37 2007 -0700"
      },
      "message": "[XFRM]: esp: fix skb_tail_pointer conversion bug\n\nFix incorrect switch of \"trailer\" skb by \"skb\" during skb_tail_pointer\nconversion:\n\n-       *(u8*)(trailer-\u003etail - 1) \u003d top_iph-\u003eprotocol;\n+       *(skb_tail_pointer(skb) - 1) \u003d top_iph-\u003eprotocol;\n\n-       *(u8 *)(trailer-\u003etail - 1) \u003d *skb_network_header(skb);\n+       *(skb_tail_pointer(skb) - 1) \u003d *skb_network_header(skb);\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "27a884dc3cb63b93c2b3b643f5b31eed5f8a4d26",
      "tree": "5a267e40f9b94014be38dad5de0a52b6628834e0",
      "parents": [
        "be8bd86321fa7f06359d866ef61fb4d2f3e9dce9"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Apr 19 20:29:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:28 2007 -0700"
      },
      "message": "[SK_BUFF]: Convert skb-\u003etail to sk_buff_data_t\n\nSo that it is also an offset from skb-\u003ehead, reduces its size from 8 to 4 bytes\non 64bit architectures, allowing us to combine the 4 bytes hole left by the\nlayer headers conversion, reducing struct sk_buff size to 256 bytes, i.e. 4\n64byte cachelines, and since the sk_buff slab cache is SLAB_HWCACHE_ALIGN...\n:-)\n\nMany calculations that previously required that skb-\u003e{transport,network,\nmac}_header be first converted to a pointer now can be done directly, being\nmeaningful as offsets or pointers.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cfe1fc7759fdacb0c650b575daed1692bf3eaece",
      "tree": "b8ed6fbc6c028595f5e82be1bccdeb2727e0a0b2",
      "parents": [
        "bff9b61ce330df04c6830d823c30c04203543f01"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Mar 16 17:26:39 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:26:19 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header_len\n\nFor the common sequence \"skb-\u003eh.raw - skb-\u003enh.raw\", similar to skb-\u003emac_len,\nthat is precalculated tho, don\u0027t think we need to bloat skb with one more\nmember, so just use this new helper, reducing the number of non-skbuff.h\nreferences to the layer headers even more.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c70220b73908f64792422a2c39c593c4792f2c5",
      "tree": "2090ea10aaa2714a5e095bae8cc02e743c378a3a",
      "parents": [
        "a27ef749e7be3b06fb58df53d94eb97a21f18707"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 18:04:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:31 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_header(skb)\n\nFor the places where we need a pointer to the transport header, it is\nstill legal to touch skb-\u003eh.raw directly if just adding to,\nsubtracting from or setting it to another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "967b05f64e27d04a4c8879addd0e1c52137e2c9e",
      "tree": "c2c7ab3f0284903222d6d0864deaedbd4766b9b8",
      "parents": [
        "ea2ae17d6443abddc79480dc9f7af8feacabddc4"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 13 13:51:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:17 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_set_transport_header\n\nFor the cases where the transport header is being set to a offset from\nskb-\u003edata.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ea2ae17d6443abddc79480dc9f7af8feacabddc4",
      "tree": "2d6f48a5e4a40f761b5b510af9aac1fca55004cb",
      "parents": [
        "badff6d01a8589a1c828b0bf118903ca38627f4e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:55:53 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:16 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_transport_offset()\n\nFor the quite common \u0027skb-\u003eh.raw - skb-\u003edata\u0027 sequence.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0660e03f6b18f19b6bbafe7583265a51b90daf36",
      "tree": "82cc819ead5ab7858ba211ee8719a3e6d2bb984f",
      "parents": [
        "d0a92be05ed4aea7d35c2b257e3f9173565fe4eb"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Apr 25 17:54:47 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:25:14 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce ipv6_hdr(), remove skb-\u003enh.ipv6h\n\nNow the skb-\u003enh union has just one member, .raw, i.e. it is just like the\nskb-\u003emac union, strange, no? I\u0027m just leaving it like that till the transport\nlayer is done with, when we\u0027ll rename skb-\u003emac.raw to skb-\u003emac_header (or\n-\u003emac_header_offset?), ditto for -\u003e{h,nh}.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d56f90a7c96da5187f0cdf07ee7434fe6aa78bbc",
      "tree": "3b9073cecfbb3b6a1e25ab2b5dd2a22a43aef238",
      "parents": [
        "bbe735e4247dba32568a305553b010081c8dea99"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:50:43 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:59 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_network_header()\n\nFor the places where we need a pointer to the network header, it is still legal\nto touch skb-\u003enh.raw directly if just adding to, subtracting from or setting it\nto another layer header.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1ab1457c42bc078e5a9becd82a7f9f940b55c53a",
      "tree": "c25d27c58fb27f4c5930ad120995cc2e3f1e7a4f",
      "parents": [
        "e905a9edab7f4f14f9213b52234e4a346c690911"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:49 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:42 2007 -0800"
      },
      "message": "[NET] IPV6: Fix whitespace errors.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04ce69093f91547d3a7c4fc815d2868195591340",
      "tree": "69bea18b5d1b8c2999f13f8e0372491c9f9238e6",
      "parents": [
        "8c689a6eae2d83970e4f34753d513e96fb97a025"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Wed Nov 08 00:21:01 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:12 2006 -0800"
      },
      "message": "[IPV6]: \u0027info\u0027 argument of ipv6 -\u003eerr_handler() is net-endian\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4bec827feda76d5e7417a2696a75424834d564f",
      "tree": "bd899e0c2fbf7f6dd1d33ce0610d88fc4a8864ee",
      "parents": [
        "44e36b42a8378be1dcf7e6f8a1cb2710a8903387"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 22 15:17:35 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 22 15:17:35 2006 -0700"
      },
      "message": "[IPSEC] esp: Defer output IV initialization to first use.\n\nFirst of all, if the xfrm_state only gets used for input\npackets this entropy is a complete waste.\n\nSecondly, it is often the case that a configuration loads\nmany rules (perhaps even dynamically) and they don\u0027t all\nnecessarily ever get used.\n\nThis get_random_bytes() call was showing up in the profiles\nfor xfrm_state inserts which is how I noticed this.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aee5adb4307c4c63a4dc5f3b49984d76f8a71b5b",
      "tree": "b2daac197259c535d66749617ede6f8479b355a4",
      "parents": [
        "eb2971b68a7d17a7d0fa2c7fc6fbc4bfe41cd694"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Wed Aug 23 17:57:28 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Sep 22 15:06:36 2006 -0700"
      },
      "message": "[XFRM] STATE: Add a hook to find offset to be inserted header in outbound.\n\nOn current kernel, ip6_find_1stfragopt() is used by IPv6 IPsec to find\noffset to be inserted header in outbound for transport mode. (BTW, no\nusage may be needed for IPv4 case.)  Mobile IPv6 requires another\nlogic for routing header and destination options header\nrespectively. This patch is common platform for the offset and adopts\nit to IPsec.\n\nBased on MIPL2 kernel patch.\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7e49e6de30efa716614e280d97963c570f3acf29",
      "tree": "8eaef9d40300d16a7675722e082c5d8ab2a53d40",
      "parents": [
        "77d16f450ae0452d7d4b009f78debb1294fb435c"
      ],
      "author": {
        "name": "Masahide NAKAMURA",
        "email": "nakam@linux-ipv6.org",
        "time": "Fri Sep 22 15:05:15 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 22 15:05:15 2006 -0700"
      },
      "message": "[XFRM]: Add XFRM_MODE_xxx for future use.\n\nTransformation mode is used as either IPsec transport or tunnel.\nIt is required to add two more items, route optimization and inbound trigger\nfor Mobile IPv6.\nBased on MIPL2 kernel patch.\n\nThis patch was also written by: Ville Nuorvala \u003cvnuorval@tcs.hut.fi\u003e\n\nSigned-off-by: Masahide NAKAMURA \u003cnakam@linux-ipv6.org\u003e\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "07d4ee583e21830ec5604d31f65cdc60a6eca19e",
      "tree": "32962ef0dd13d0d1f66b143ca5d03a88d8b9f772",
      "parents": [
        "e9d41164e2fdd897fe4520c2079ea0000f6e0ec3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Aug 20 14:24:50 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:46:18 2006 +1000"
      },
      "message": "[IPSEC]: Use HMAC template and hash interface\n\nThis patch converts IPsec to use the new HMAC template.  The names of\nexisting simple digest algorithms may still be used to refer to their\nHMAC composites.\n\nThe same structure can be used by other MACs such as AES-XCBC-MAC.\n\nThis patch also switches from the digest interface to hash.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b7326c8497f954c2cfcb4c49fe42be5b80887bc",
      "tree": "5739c37f7a72d1ef281fbbb5bbc1483226eec198",
      "parents": [
        "04ff12609445c7b462d7fc7f2d30dad442c922f3"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Jul 30 15:41:01 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:46:14 2006 +1000"
      },
      "message": "[IPSEC] ESP: Use block ciphers where applicable\n\nThis patch converts IPSec/ESP to use the new block cipher type where\napplicable.  Similar to the HMAC conversion, existing algorithm names\nhave been kept for compatibility.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "31a4ab93025719e62e7cf7ce899f71c34ecde5a0",
      "tree": "60404c5fd1124882753b38e334656a15f8de0804",
      "parents": [
        "b59f45d0b2878ab76f8053b0973654e6621828ee"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat May 27 23:06:13 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Jun 17 21:28:41 2006 -0700"
      },
      "message": "[IPSEC] proto: Move transport mode input path into xfrm_mode_transport\n\nNow that we have xfrm_mode objects we can move the transport mode specific\ninput decapsulation code into xfrm_mode_transport.  This removes duplicate\ncode as well as unnecessary header movement in case of tunnel mode SAs\nsince we will discard the original IP header immediately.\n\nThis also fixes a minor bug for transport-mode ESP where the IP payload\nlength is set to the correct value minus the header length (with extension\nheaders for IPv6).\n\nOf course the other neat thing is that we no longer have to allocate\ntemporary buffers to hold the IP headers for ESP and IPComp.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e695633e21ffb6a443a8c2f8b3f095c7f1a48eb0",
      "tree": "52a679683a11eb42ec5888309a82ec5811a21e03",
      "parents": [
        "15901dc93fa4253bfb3661644ecad67c2e83213c"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Apr 01 00:52:46 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 01 00:52:46 2006 -0800"
      },
      "message": "[IPSEC]: Kill unused decap state argument\n\nThis patch removes the decap_state argument from the xfrm input hook.\nPreviously this function allowed the input hook to share state with\nthe post_input hook.  The latter has since been removed.\n\nThe only purpose for it now is to check the encap type.  However, it\nis easier and better to move the encap type check to the generic\nxfrm_rcv function.  This allows us to get rid of the decap state\nargument altogether.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c600eda4b1c9f8f6d1bd643d494db5a29842fbe",
      "tree": "3340fda7a4f9f481e7f91ed1f376c7b4bd5e9a6e",
      "parents": [
        "78c784c47a2be593480cb6c69829a59f0504d575"
      ],
      "author": {
        "name": "Ingo Oeser",
        "email": "ioe-lkml@rameria.de",
        "time": "Mon Mar 20 23:01:32 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 23:01:32 2006 -0800"
      },
      "message": "[IPV6]: Nearly complete kzalloc cleanup for net/ipv6\n\nStupidly use kzalloc() instead of kmalloc()/memset()\neverywhere where this is possible in net/ipv6/*.c .\n\nSigned-off-by: Ingo Oeser \u003cioe-lkml@rameria.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9500e8a81fe6302fcc5e4110adc4d166c9873d3a",
      "tree": "9b26d81e2d69869d2a01c4b33f568ab6cf1e0378",
      "parents": [
        "f8cd54884e675dfaf0c86cc7c088adb6ca9d7638"
      ],
      "author": {
        "name": "Jamal Hadi Salim",
        "email": "hadi@cyberus.ca",
        "time": "Mon Mar 20 19:15:29 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:15:29 2006 -0800"
      },
      "message": "[IPSEC]: Sync series - fast path\n\nFast path sequence updates that will generate ipsec async\nevents\n\nSigned-off-by: Jamal Hadi Salim \u003chadi@cyberus.ca\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "46b86a2da0fd14bd49765330df63a62279833acb",
      "tree": "069b4741a970db9b03772a870b4d63398b1f56e0",
      "parents": [
        "23b0ca5bf52cef0ab0f0fe247cb91cbef836e7eb"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Jan 13 14:29:07 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jan 13 14:29:07 2006 -0800"
      },
      "message": "[NET]: Use NIP6_FMT in kernel.h\n\nThere are errors and inconsistency in the display of NIP6 strings.\n\tie: net/ipv6/ip6_flowlabel.c\n\nThere are errors and inconsistency in the display of NIPQUAD strings too.\n\tie: net/netfilter/nf_conntrack_ftp.c\n\nThis patch:\n\tadds NIP6_FMT to kernel.h\n\tchanges all code to use NIP6_FMT\n\tfixes net/ipv6/ip6_flowlabel.c\n\tadds NIPQUAD_FMT to kernel.h\n\tfixes net/netfilter/nf_conntrack_ftp.c\n\tchanges a few uses of \"%u.%u.%u.%u\" to NIPQUAD_FMT for symmetry to NIP6_FMT\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "14c850212ed8f8cbb5972ad6b8812e08a0bc901c",
      "tree": "53c88f03e7bbac4064f6e80d462ad484ee038326",
      "parents": [
        "25995ff577675b58dbd848b7758e7bad87411947"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:43:12 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:21 2006 -0800"
      },
      "message": "[INET_SOCK]: Move struct inet_sock \u0026 helper functions to net/inet_sock.h\n\nTo help in reducing the number of include dependencies, several files were\ntouched as they were getting needed headers indirectly for stuff they use.\n\nThanks also to Alan Menegotto for pointing out that net/dccp/proto.c had\nlinux/dccp.h include twice.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73d4f84fd001b0be67fea46e84b75e6a7a5da08e",
      "tree": "b56eebc83fbf5ffab87f254ecdd19fc142ae3e9f",
      "parents": [
        "246a421207007a034da9b8cfa578bc00d16a9553"
      ],
      "author": {
        "name": "Kazunori MIYAZAWA",
        "email": "miyazawa@linux-ipv6.org",
        "time": "Thu Dec 08 23:11:42 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Dec 08 23:11:42 2005 -0800"
      },
      "message": "[IPv6] IPsec: fix pmtu calculation of esp\n\nIt is a simple bug which uses the wrong member.\n\nThis bug does not seriously affect ordinary use of IPsec.\nBut it is important to pass IPv6 ready logo phase-2\nconformance test of IPsec SGW.\n\nSigned-off-by: Kazunori MIYAZAWA \u003cmiyazawa@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4875b049b2e6401a6e1fae90b7f09e20a636fcf",
      "tree": "a5021c091cbd141675cdd90ac330d33188284c03",
      "parents": [
        "a02a64223eddb410712b015fb3342c9a316ab70b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 10 21:11:34 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 10 21:11:34 2005 -0700"
      },
      "message": "[IPSEC] Fix block size/MTU bugs in ESP\n\nThis patch fixes the following bugs in ESP:\n\n* Fix transport mode MTU overestimate.  This means that the inner MTU\n  is smaller than it needs be.  Worse yet, given an input MTU which\n  is a multiple of 4 it will always produce an estimate which is not\n  a multiple of 4.\n\n  For example, given a standard ESP/3DES/MD5 transform and an MTU of\n  1500, the resulting MTU for transport mode is 1462 when it should\n  be 1464.\n\n  The reason for this is because IP header lengths are always a multiple\n  of 4 for IPv4 and 8 for IPv6.\n\n* Ensure that the block size is at least 4.  This is required by RFC2406\n  and corresponds to what the esp_output function does.  At the moment\n  this only affects crypto_null as its block size is 1.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a02a64223eddb410712b015fb3342c9a316ab70b",
      "tree": "771285d98ae94517f0aa0b16af0208d4cdc55dda",
      "parents": [
        "e1c73b78e3706bd3c336d4730a01dd4081dfb7ee"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Oct 10 21:11:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 10 21:11:08 2005 -0700"
      },
      "message": "[IPSEC]: Use ALIGN macro in ESP\n\nThis patch uses the macro ALIGN in all the applicable spots for ESP.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "573dbd95964b01a942aa0c68e92b06f2c9536964",
      "tree": "4ada5dff2a15e1ad1edee7294d6f0d3c260987d1",
      "parents": [
        "5170dbebbb2e9159cdf6bbf35e5d79cd7009799a"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Thu Sep 01 17:44:29 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 01 17:44:29 2005 -0700"
      },
      "message": "[CRYPTO]: crypto_free_tfm() callers no longer need to check for NULL\n\nSince the patch to add a NULL short-circuit to crypto_free_tfm() went in,\nthere\u0027s no longer any need for callers of that function to check for NULL.\nThis patch removes the redundant NULL checks and also a few similar checks\nfor NULL before calls to kfree() that I ran into while doing the\ncrypto_free_tfm bits.\n\nI\u0027ve succesfuly compile tested this patch, and a kernel with the patch \napplied boots and runs just fine.\n\nWhen I posted the patch to LKML (and other lists/people on Cc) it drew the\nfollowing comments :\n\n J. Bruce Fields commented\n  \"I\u0027ve no problem with the auth_gss or nfsv4 bits.--b.\"\n\n Sridhar Samudrala said\n  \"sctp change looks fine.\"\n\n Herbert Xu signed off on the patch.\n\nSo, I guess this is ready to be dropped into -mm and eventually mainline.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64ce207306debd7157f47282be94770407bec01c",
      "tree": "b4004f01b2b0e935b95bcce9a78e60a9e9e17f65",
      "parents": [
        "64cf1e5d8b5f88d56509260e08fa0d8314277350"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Tue Aug 09 20:50:53 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:08 2005 -0700"
      },
      "message": "[NET]: Make NETDEBUG pure printk wrappers\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72cb6962a91f2af9eef69a06198e1949c10259ae",
      "tree": "3ae65d1c4e7d7cb7ac05bfc6f457312df45f6996",
      "parents": [
        "3f7a87d2fa9b42f7aade43914f060df68cc89cc7"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Jun 20 13:18:08 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 13:18:08 2005 -0700"
      },
      "message": "[IPSEC]: Add xfrm_init_state\n\nThis patch adds xfrm_init_state which is simply a wrapper that calls\nxfrm_get_type and subsequently x-\u003etype-\u003einit_state.  It also gets rid\nof the unused args argument.\n\nAbstracting it out allows us to add common initialisation code, e.g.,\nto set family-specific flags.\n\nThe add_time setting in xfrm_user.c was deleted because it\u0027s already\nset by xfrm_state_alloc.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nAcked-by: James Morris \u003cjmorris@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
