)]}'
{
  "log": [
    {
      "commit": "5cdae198de33184c01226395b840f44f9834233a",
      "tree": "581c70dcbb31fb2494f18191a7cf815fd2ed05e4",
      "parents": [
        "dd6303df095d18b0c524a76a42f57bcc679b2039"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:41:46 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:53 2008 -0800"
      },
      "message": "[DCCP]: Make code assumptions explicit\n\nThis removes several `XXX\u0027 references which indicate a missing support\nfor non-1-byte feature values: this is unnecessary, as all currently known\n(standardised) SP feature values are 1-byte quantities.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd6303df095d18b0c524a76a42f57bcc679b2039",
      "tree": "7bb19426bb87c895b3b0cdcb3639623481abbcea",
      "parents": [
        "af3b867e2f6b72422bc7aacb1f1e26f47a9649bc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:40:40 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:52 2008 -0800"
      },
      "message": "[DCCP]: Remove unused and redundant validation functions\n\nThis removes two inlines which were both called in a single function only:\n\n 1) dccp_feat_change() is always called with either DCCPO_CHANGE_L or DCCPO_CHANGE_R as argument\n    * from dccp_set_socktopt_change() via do_dccp_setsockopt() with DCCP_SOCKOPT_CHANGE_R/L\n    * from __dccp_feat_init() via dccp_feat_init() also with DCCP_SOCKOPT_CHANGE_R/L.\n\n    Hence the dccp_feat_is_valid_type() is completely unnecessary and always returns true.\n\n 2) Due to (1), the length test reduces to \u0027len \u003e\u003d 4\u0027, which in turn makes\n    dccp_feat_is_valid_length() unnecessary.\n\nFurthermore, the inline function dccp_feat_is_reserved() was unfolded,\nsince only called in a single place.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e576de82ee628f68e5a44527c7ee99eadeab2e62",
      "tree": "387900c511a4171568997f37e450238107746b6d",
      "parents": [
        "d725fdc8027a4cd961f58d92917fbb91b171abfa"
      ],
      "author": {
        "name": "Jesper Juhl",
        "email": "jesper.juhl@gmail.com",
        "time": "Fri Aug 10 15:23:54 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 13 22:52:10 2007 -0700"
      },
      "message": "[DCCP]: fix memory leak and clean up style - dccp_feat_empty_confirm()\n\nThere\u0027s a memory leak in net/dccp/feat.c::dccp_feat_empty_confirm().  If we\nhit the \u0027default:\u0027 case of the \u0027switch\u0027 statement, then we return without\nfreeing \u0027opt\u0027, thus leaking \u0027struct dccp_opt_pend\u0027 bytes.\n\nThe leak is fixed easily enough by adding a kfree(opt); before the return\nstatement.\n\nThe patch also changes the layout of the \u0027switch\u0027 to be more in line with\nCodingStyle.\n\nSigned-off-by: Jesper Juhl \u003cjesper.juhl@gmail.com\u003e\nAcked-by: Ian McDonald \u003cian.mcdonald@jandi.co.nz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9eaf17341834de00351bf79f16b2d879c8aea96",
      "tree": "d8b2005197444fa6b6bdf8e8c8fd6eaf2db9ecd7",
      "parents": [
        "4ec93edb14fe5fdee9fae6335f2cbba204627eac"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Fri Feb 09 23:24:38 2007 +0900"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Feb 10 23:19:27 2007 -0800"
      },
      "message": "[NET] DCCP: 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": "8109b02b5397ed52a32c116163a62a34f4768b26",
      "tree": "0dbeae8cc999d2f6b71807b942eda7ff686ba7d2",
      "parents": [
        "1fba78b6cba14bd37fdb12c5367f1e4d58ff2e0f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Dec 10 16:01:18 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Dec 11 14:35:00 2006 -0800"
      },
      "message": "[DCCP]: Whitespace cleanups\n\nThat accumulated over the last months hackaton, shame on me for not\nusing git-apply whitespace helping hand, will do that from now on.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "59348b19efebfd6a8d0791ff81d207b16594c94b",
      "tree": "a9212a7bf62bd594cf02d23b9e33eb45a46d414d",
      "parents": [
        "b1308dc015eb09cf094ca169296738a13ae049ad"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 20 18:39:23 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:24:38 2006 -0800"
      },
      "message": "[DCCP]: Simplified conditions due to use of enum:8 states\n\nThis reaps the benefit of the earlier patch, which changed the type of\nCCID 3 states to use enums, in that many conditions are now simplified\nand the number of possible (unexpected) values is greatly reduced.\n\nIn a few instances, this also allowed to simplify pre-conditions; where\ncare has been taken to retain logical equivalence.\n\n[DCCP]: Introduce a consistent BUG/WARN message scheme\n\nThis refines the existing set of DCCP messages so that\n * BUG(), BUG_ON(), WARN_ON() have meaningful DCCP-specific counterparts\n * DCCP_CRIT (for severe warnings) is not rate-limited\n * DCCP_WARN() is introduced as rate-limited wrapper\n\nUsing these allows a faster and cleaner transition to their original\ncounterparts once the code has matured into a full DCCP implementation.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "eed73417d501c2c7bdef1bc8a1f7a1548a635b09",
      "tree": "61fb259d247169bbe4194fff5d6461908fcead1b",
      "parents": [
        "af879cc704372ef762584e916129d19ffb39e844"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Nov 17 12:21:43 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:59 2006 -0800"
      },
      "message": "[DCCP]: Use kmemdup\n\nCode diff stats:\n\n[acme@newtoy net-2.6.20]$ codiff /tmp/dccp.ko.before /tmp/dccp.ko.after\n/pub/scm/linux/kernel/git/acme/net-2.6.20/net/dccp/feat.c:\n  __dccp_feat_init      |  -16\n  dccp_feat_change_recv |  -55\n  dccp_feat_clone       |  -56\n 3 functions changed, 127 bytes removed\n[acme@newtoy net-2.6.20]$\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "c02fdc0e81e9c735d8d895af1e201b235df326d8",
      "tree": "f30af6744e4ecea9e5bb12483addb306d49ce458",
      "parents": [
        "6a128e053e75a5f1be9fb53d0d53159f88197c61"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Nov 14 12:48:10 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:29 2006 -0800"
      },
      "message": "[DCCP]: Make feature negotiation more readable\n\nThis patch replaces cryptic feature negotiation messages of type\n\nOct 31 15:42:20 kernel: dccp_feat_change: feat change type\u003d32 feat\u003d1\nOct 31 15:42:21 kernel: dccp_feat_change: feat change type\u003d34 feat\u003d1\nOct 31 15:42:21 kernel: dccp_feat_change: feat change type\u003d32 feat\u003d5\n\ninto ones of type:\n\nNov  2 13:54:45 kernel: dccp_feat_change: ChangeL(CCID (1), 3)\nNov  2 13:54:45 kernel: dccp_feat_change: ChangeR(CCID (1), 3)\nNov  2 13:54:45 kernel: dccp_feat_change: ChangeL(Ack Ratio (5), 2)\n\nAlso,\n\t* completed the feature number list wrt RFC 4340 sec. 6.4\n\t* annotating which ones have been implemented so far\n\t* implemented rudimentary sanity checking in feat.c (FIXMEs)\n\t* some minor fixes\n\nCommiter note: uninlined dccp_feat_name and dccp_feat_typename, for\n               consistency with dccp_{state,packet}_name, that, BTW,\n               should be compiled only if CONFIG_IP_DCCP_DEBUG is\n               selected, leaving this to another cset tho. Also\n               shortened dccp_feat_negotiation_debug to dccp_feat_debug.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\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": "68907dad58cd7ef11536e1db6baeb98b20af91b2",
      "tree": "721ab4db9371e2ea3925244227daa4ab25f12aca",
      "parents": [
        "6a57b2ee4506bb8a3d2f7ba2f62ff65ec56ba150"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "rdunlap@xenotime.net",
        "time": "Wed Mar 29 13:58:25 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 29 13:58:25 2006 -0800"
      },
      "message": "[DCCP]: Use NULL for pointers, comfort sparse.\n\nFrom: Randy Dunlap \u003crdunlap@xenotime.net\u003e\n\nUse NULL instead of 0 for pointers.\nFix these sparse warnings:\nnet/dccp/feat.c:207:20: warning: Using plain integer as NULL pointer\nnet/dccp/feat.c:325:21: warning: Using plain integer as NULL pointer\nnet/dccp/feat.c:526:20: warning: Using plain integer as NULL pointer\n\nSigned-off-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8ca0d17bd716c0aa3f496714e0e304fc6b982ae3",
      "tree": "a1e3881117aa4b687bacace28c794e7cc3522827",
      "parents": [
        "a4bf3902427a128455b8de299ff0918072b2e974"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:51:53 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:51:53 2006 -0800"
      },
      "message": "[DCCP] feat: Pass dccp_minisock ptr where only the minisock is used\n\nThis is in preparation for having a dccp_minisock embedded into\ndccp_request_sock so that feature negotiation can be done prior to\ncreating the full blown dccp_sock.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4bf3902427a128455b8de299ff0918072b2e974",
      "tree": "5269cd4d84702a0a728b390e08242be01252d20d",
      "parents": [
        "e6f507196c2b50243beb09b1bfa4639f999d4d1e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 22:50:58 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:50:58 2006 -0800"
      },
      "message": "[DCCP] minisock: Rename struct dccp_options to struct dccp_minisock\n\nThis will later be included in struct dccp_request_sock so that we can\nhave per connection feature negotiation state while in the 3way\nhandshake, when we clone the DCCP_ROLE_LISTEN socket (in\ndccp_create_openreq_child) we\u0027ll just copy this state from\ndreq_minisock to dccps_minisock.\n\nAlso the feature negotiation and option parsing code will mostly touch\ndccps_minisock, which will simplify some stuff.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6ffd30fbbb1b4a01a9f56049521693375a864d3e",
      "tree": "0d127a675df6e574d9120f93f33c9495365f7e5b",
      "parents": [
        "91f0ebf7b6d5cb2b6e818d48587566144821babe"
      ],
      "author": {
        "name": "Andrea Bittau",
        "email": "a.bittau@cs.ucl.ac.uk",
        "time": "Mon Mar 20 19:22:37 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:22:37 2006 -0800"
      },
      "message": "[DCCP] feat: Actually change the CCID upon negotiation\n\nChange the CCID upon successful feature negotiation.\n\nCommiter note: patch mostly rewritten to use the new ccid API.\n\nSigned-off-by: Andrea Bittau \u003ca.bittau@cs.ucl.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afe00251dd9b53d51de91ff0099961f42bbf3754",
      "tree": "a56aa987140662cf3e6e65be402b8591298c5ced",
      "parents": [
        "2a91aa3967398fb94eccc8da67c82bce9f67afdf"
      ],
      "author": {
        "name": "Andrea Bittau",
        "email": "a.bittau@cs.ucl.ac.uk",
        "time": "Mon Mar 20 17:43:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:43:56 2006 -0800"
      },
      "message": "[DCCP]: Initial feature negotiation implementation\n\nStill needs more work, but boots and doesn\u0027t crashes, even\ndoes some negotiation!\n\n18:38:52.174934  127.0.0.1.43458 \u003e 127.0.0.1.5001: request \u003cchange_l ack_ratio 2, change_r ccid 2, change_l ccid 2\u003e\n18:38:52.218526  127.0.0.1.5001 \u003e 127.0.0.1.43458: response \u003cnop, nop, change_l ack_ratio 2, confirm_r ccid 2 2, confirm_l ccid 2 2, confirm_r ack_ratio 2\u003e\n18:38:52.185398  127.0.0.1.43458 \u003e 127.0.0.1.5001: \u003cnop, confirm_r ack_ratio 2, ack_vector0 0x00, elapsed_time 212\u003e\n\n:-)\n\nSigned-off-by: Andrea Bittau \u003ca.bittau@cs.ucl.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
