)]}'
{
  "log": [
    {
      "commit": "6edafaaf6f5e70ef1e620ff01bd6bacebe1e0718",
      "tree": "a470cdfd59d88ccf4acf4726db6b5d8d4df88da7",
      "parents": [
        "ee7af8264dafa0c8c76a8dc596803966c2e29ebc"
      ],
      "author": {
        "name": "Gui Jianfeng",
        "email": "guijianfeng@cn.fujitsu.com",
        "time": "Wed Aug 06 23:50:04 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 06 23:50:04 2008 -0700"
      },
      "message": "tcp: Fix kernel panic when calling tcp_v(4/6)_md5_do_lookup\n\nIf the following packet flow happen, kernel will panic.\nMathineA\t\t\tMathineB\n\t\tSYN\n\t----------------------\u003e    \n        \tSYN+ACK\n\t\u003c----------------------\n\t\tACK(bad seq)\n\t----------------------\u003e\nWhen a bad seq ACK is received, tcp_v4_md5_do_lookup(skb-\u003esk, ip_hdr(skb)-\u003edaddr))\nis finally called by tcp_v4_reqsk_send_ack(), but the first parameter(skb-\u003esk) is \nNULL at that moment, so kernel panic happens.\nThis patch fixes this bug.\n\nOOPS output is as following:\n[  302.812793] IP: [\u003cc05cfaa6\u003e] tcp_v4_md5_do_lookup+0x12/0x42\n[  302.817075] Oops: 0000 [#1] SMP \n[  302.819815] Modules linked in: ipv6 loop dm_multipath rtc_cmos rtc_core rtc_lib pcspkr pcnet32 mii i2c_piix4 parport_pc i2c_core parport ac button ata_piix libata dm_mod mptspi mptscsih mptbase scsi_transport_spi sd_mod scsi_mod crc_t10dif ext3 jbd mbcache uhci_hcd ohci_hcd ehci_hcd [last unloaded: scsi_wait_scan]\n[  302.849946] \n[  302.851198] Pid: 0, comm: swapper Not tainted (2.6.27-rc1-guijf #5)\n[  302.855184] EIP: 0060:[\u003cc05cfaa6\u003e] EFLAGS: 00010296 CPU: 0\n[  302.858296] EIP is at tcp_v4_md5_do_lookup+0x12/0x42\n[  302.861027] EAX: 0000001e EBX: 00000000 ECX: 00000046 EDX: 00000046\n[  302.864867] ESI: ceb69e00 EDI: 1467a8c0 EBP: cf75f180 ESP: c0792e54\n[  302.868333]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068\n[  302.871287] Process swapper (pid: 0, ti\u003dc0792000 task\u003dc0712340 task.ti\u003dc0746000)\n[  302.875592] Stack: c06f413a 00000000 cf75f180 ceb69e00 00000000 c05d0d86 000016d0 ceac5400 \n[  302.883275]        c05d28f8 000016d0 ceb69e00 ceb69e20 681bf6e3 00001000 00000000 0a67a8c0 \n[  302.890971]        ceac5400 c04250a3 c06f413a c0792eb0 c0792edc cf59a620 cf59a620 cf59a634 \n[  302.900140] Call Trace:\n[  302.902392]  [\u003cc05d0d86\u003e] tcp_v4_reqsk_send_ack+0x17/0x35\n[  302.907060]  [\u003cc05d28f8\u003e] tcp_check_req+0x156/0x372\n[  302.910082]  [\u003cc04250a3\u003e] printk+0x14/0x18\n[  302.912868]  [\u003cc05d0aa1\u003e] tcp_v4_do_rcv+0x1d3/0x2bf\n[  302.917423]  [\u003cc05d26be\u003e] tcp_v4_rcv+0x563/0x5b9\n[  302.920453]  [\u003cc05bb20f\u003e] ip_local_deliver_finish+0xe8/0x183\n[  302.923865]  [\u003cc05bb10a\u003e] ip_rcv_finish+0x286/0x2a3\n[  302.928569]  [\u003cc059e438\u003e] dev_alloc_skb+0x11/0x25\n[  302.931563]  [\u003cc05a211f\u003e] netif_receive_skb+0x2d6/0x33a\n[  302.934914]  [\u003cd0917941\u003e] pcnet32_poll+0x333/0x680 [pcnet32]\n[  302.938735]  [\u003cc05a3b48\u003e] net_rx_action+0x5c/0xfe\n[  302.941792]  [\u003cc042856b\u003e] __do_softirq+0x5d/0xc1\n[  302.944788]  [\u003cc042850e\u003e] __do_softirq+0x0/0xc1\n[  302.948999]  [\u003cc040564b\u003e] do_softirq+0x55/0x88\n[  302.951870]  [\u003cc04501b1\u003e] handle_fasteoi_irq+0x0/0xa4\n[  302.954986]  [\u003cc04284da\u003e] irq_exit+0x35/0x69\n[  302.959081]  [\u003cc0405717\u003e] do_IRQ+0x99/0xae\n[  302.961896]  [\u003cc040422b\u003e] common_interrupt+0x23/0x28\n[  302.966279]  [\u003cc040819d\u003e] default_idle+0x2a/0x3d\n[  302.969212]  [\u003cc0402552\u003e] cpu_idle+0xb2/0xd2\n[  302.972169]  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  302.974274] Code: fc ff 84 d2 0f 84 df fd ff ff e9 34 fe ff ff 83 c4 0c 5b 5e 5f 5d c3 90 90 57 89 d7 56 53 89 c3 50 68 3a 41 6f c0 e8 e9 55 e5 ff \u003c8b\u003e 93 9c 04 00 00 58 85 d2 59 74 1e 8b 72 10 31 db 31 c9 85 f6 \n[  303.011610] EIP: [\u003cc05cfaa6\u003e] tcp_v4_md5_do_lookup+0x12/0x42 SS:ESP 0068:c0792e54\n[  303.018360] Kernel panic - not syncing: Fatal exception in interrupt\n\nSigned-off-by: Gui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "be4c798a41bf626cdaacf96c382f116ed2f7dbe9",
      "tree": "437f5d1e9d6a19c857d47055bc3dfc68a2b2b004",
      "parents": [
        "7deb0f851003287d7e259bf6b33548b144c0f2d5"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:10 2008 +0100"
      },
      "committer": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Wed Jun 11 11:19:10 2008 +0100"
      },
      "message": "dccp: Bug in initial acknowledgment number assignment\n\nStep 8.5 in RFC 4340 says for the newly cloned socket\n\n           Initialize S.GAR :\u003d S.ISS,\n\nbut what in fact the code (minisocks.c) does is\n\n           Initialize S.GAR :\u003d S.ISR,\n\nwhich is wrong (typo?) -- fixed by the patch.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\n"
    },
    {
      "commit": "fd80eb942ad9761f241c9b287b3b9a342b20690d",
      "tree": "664b7a2351dab82419ccf7fa91e6f89ede52065c",
      "parents": [
        "58fbbed4fbc0094fc808a568fe99a915f85402ee"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Fri Feb 29 11:43:03 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 29 11:43:03 2008 -0800"
      },
      "message": "[INET]: Remove struct dst_entry *dst from request_sock_ops.rtx_syn_ack.\n\nIt looks like dst parameter is used in this API due to historical\nreasons.  Actually, it is really used in the direct call to\ntcp_v4_send_synack only.  So, create a wrapper for tcp_v4_send_synack\nand remove dst from rtx_syn_ack.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b4d4f7c70fd3361c6c889752e08ea9be304cf5f4",
      "tree": "b84c712184dfcdde4b68980f4eff21bcaefbfcf3",
      "parents": [
        "8109616e2ef978d142ea45850efd4f102b9bdce4"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:37:19 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:51 2008 -0800"
      },
      "message": "[DCCP]: Handle timestamps on Request/Response exchange separately\n\nIn DCCP, timestamps can occur on packets anytime, CCID3 uses a timestamp(/echo) on the Request/Response\nexchange. This patch addresses the following situation:\n\t* timestamps are recorded on the listening socket;\n\t* Responses are sent from dccp_request_sockets;\n\t* suppose two connections reach the listening socket with very small time in between:\n\t* the first timestamp value gets overwritten by the second connection request.\n\nThis is not really good, so this patch separates timestamps into\n * those which are received by the server during the initial handshake (on dccp_request_sock);\n * those which are received by the client or the client after connection establishment.\n\nAs before, a timestamp of 0 is regarded as indicating that no (meaningful) timestamp has been\nreceived (in addition, a warning message is printed if hosts send 0-valued timestamps).\n\nThe timestamp-echoing now works as follows:\n * when a timestamp is present on the initial Request, it is placed into dreq, due to the\n   call to dccp_parse_options in dccp_v{4,6}_conn_request;\n * when a timestamp is present on the Ack leading from RESPOND \u003d\u003e OPEN, it is copied over\n   from the request_sock into the child cocket in dccp_create_openreq_child;\n * timestamps received on an (established) dccp_sock are treated as before.\n\nSince Elapsed Time is measured in hundredths of milliseconds (13.2), the new dccp_timestamp()\nfunction is used, as it is expected that the time between receiving the timestamp and\nsending the timestamp echo will be very small against the wrap-around time. As a byproduct,\nthis allows smaller timestamping-time fields.\n\nFurthermore, inserting the Timestamp Echo option has been taken out of the block starting with\n\u0027!dccp_packet_without_ack()\u0027, since Timestamp Echo can be carried on any packet (5.8 and 13.3).\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nAcked-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": "8109616e2ef978d142ea45850efd4f102b9bdce4",
      "tree": "338aa4e2bf9d9424090b0d698d20b3c465cf229c",
      "parents": [
        "8b819412481494fb6861c08d360b75fabcbbfbbf"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Dec 13 12:31:26 2007 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 14:57:50 2008 -0800"
      },
      "message": "[DCCP]: Add (missing) option parsing to request_sock processing\n\nThis adds option-parsing code to processing of Acks in the listening state\non request_socks on the server, serving two purposes\n (i)  resolves a FIXME (removed);\n (ii) paves the way for feature-negotiation during connection-setup.\n\nThere is an intended subtlety here with regard to dccp_check_req:\n\n Parsing options happens only after testing whether the received packet is\n a retransmitted Request.  Otherwise, if the Request contained (a possibly\n large number of) feature-negotiation options, recomputing state would have to\n happen each time a retransmitted Request arrives, which opens the door to an\n easy DoS attack.  Since in a genuine retransmission the options should not be\n different from the original, reusing the already computed state seems better.\n\n The other point is - if there are timestamp options on the Request, they will\n not be answered; which means that in the presence of retransmission (likely\n due to loss and/or other problems), the use of Request/Response RTT sampling\n is suspended, so that startup problems here do not propagate.\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": "451bc0473f010babeadd888ae8ec1015959fd1b2",
      "tree": "19aa37b414f2879556bfa376aac277b9cd547a63",
      "parents": [
        "5e28599a6e45eb8ce7e50510b06c3a34ebf1a8fa"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Thu Oct 04 14:43:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:54:36 2007 -0700"
      },
      "message": "[DCCP]: Tidy-up -- minisock initialisation\n\nThis\n\n * removes a declaration of a non-existent function\n   __dccp_minisock_init;\n\n * shifts the initialisation function dccp_minisock_init() from\n   options.c to minisocks.c, where it is more naturally expected to\n   be.\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": "8fb8354af9b92ce3bd41083995f1fe26024d0959",
      "tree": "62d1920b5ed158e28d96691637d82a2a4fd58dc5",
      "parents": [
        "234748954a9880cce8a065698dcbf692f9c23918"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Sun Aug 19 17:19:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:48:17 2007 -0700"
      },
      "message": "[DCCP]: Nuke dccp_timestamp and dccps_epoch, not used anymore\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4ef8d0aeafda8388dd51f2671b7059192b1e5a5f",
      "tree": "47886cdc9f20fb601bdace40a037335ceaa404cb",
      "parents": [
        "1c8ea5aee0b16409295d96a5e8984bd902f06a77"
      ],
      "author": {
        "name": "Milind Arun Choudhary",
        "email": "milindchoudhary@gmail.com",
        "time": "Thu Apr 26 01:37:44 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 26 01:37:44 2007 -0700"
      },
      "message": "[NET]: SPIN_LOCK_UNLOCKED cleanup in drivers/atm, net\n\nSPIN_LOCK_UNLOCKED cleanup,use __SPIN_LOCK_UNLOCKED instead\n\nSigned-off-by: Milind Arun Choudhary \u003cmilindchoudhary@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99c72ce091ec85868a0847e598eb7562dc0d8205",
      "tree": "77cd1c70f58d56c81f17b9ea575a9773fb7d3144",
      "parents": [
        "4d46861be6196d0f1614724590968d8da26af82a"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Tue Mar 06 14:24:44 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 06 14:24:44 2007 -0800"
      },
      "message": "[DCCP]: Set RTO for newly created child socket\n\nThis mirrors a recent change in tcp_open_req_child, whereby the icsk_rto of the\nnewly created child socket was not set (but rather on the parent socket). Same\nfix for DCCP.\n\nSigned-off-by: Gerrit Renker \u003cgerrit@erg.abdn.ac.uk\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\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": "4c1ac1b49122b805adfa4efc620592f68dccf5db",
      "tree": "87557f4bc2fd4fe65b7570489c2f610c45c0adcd",
      "parents": [
        "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
        "d916faace3efc0bf19fe9a615a1ab8fa1a24cd93"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@warthog.cambridge.redhat.com",
        "time": "Tue Dec 05 14:37:56 2006 +0000"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tdrivers/infiniband/core/iwcm.c\n\tdrivers/net/chelsio/cxgb2.c\n\tdrivers/net/wireless/bcm43xx/bcm43xx_main.c\n\tdrivers/net/wireless/prism54/islpci_eth.c\n\tdrivers/usb/core/hub.h\n\tdrivers/usb/input/hid-core.c\n\tnet/core/netpoll.c\n\nFix up merge failures with Linus\u0027s head and fix new compilation failures.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.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": "cfb6eeb4c860592edd123fdea908d23c6ad1c7dc",
      "tree": "361c073622faa540ef6602ef1b0a6e8c0a17fc60",
      "parents": [
        "bf6bce71eae386dbc37f93af7e5ad173450d9945"
      ],
      "author": {
        "name": "YOSHIFUJI Hideaki",
        "email": "yoshfuji@linux-ipv6.org",
        "time": "Tue Nov 14 19:07:45 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:39 2006 -0800"
      },
      "message": "[TCP]: MD5 Signature Option (RFC2385) support.\n\nBased on implementation by Rick Payne.\n\nSigned-off-by: YOSHIFUJI Hideaki \u003cyoshfuji@linux-ipv6.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "afb0a34dd3e20b3f534de19993271b8664cf10bb",
      "tree": "f7660923d8dfa7e75ea655b99a6b608d67dea327",
      "parents": [
        "2e2e9e92bd723244ea20fa488b1780111f2b05e1"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 13 13:25:41 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:19 2006 -0800"
      },
      "message": "[DCCP]: Introduce a consistent naming scheme for sysctls\n\nIn order to make their function clearer and obtain a consistent naming\nscheme to identify sysctls, all existing DCCP sysctls have been prefixed\nwith `sysctl_dccp\u0027, following the same convention as used by TCP.\n\nFeature-specific sysctls retain the `feat\u0027 in the middle, although the\n`default\u0027 has been dropped, since it is obvious from use.\n\nAlso removed a duplicate `dccp_feat_default_sequence_window\u0027 in ipv4.c.\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": "e11d9d30802278af22e78d8c10f348b683670cd9",
      "tree": "ba084b0c5791090164363ad2aaec2c0ab241f603",
      "parents": [
        "08a29e41bb6d6516b0f65e19381f537168d1768e"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Mon Nov 13 13:12:07 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:17 2006 -0800"
      },
      "message": "[DCCP]: Increment sequence numbers on retransmitted Response packets\n\nProblem:\n"
    },
    {
      "commit": "d83ca5accb256de1b44835cd222bfdc3207bd7dc",
      "tree": "c7be8b1f61d4403fe15bd279ecf9d52619134592",
      "parents": [
        "cf557926f6955b4c3fa55e81fdb3675e752e8eed"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 16:29:14 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:04 2006 -0800"
      },
      "message": "[DCCP]: Update code comments for Step 2/3\n\nSorts out the comments for processing steps 2,3 in section 8.5 of RFC 4340.\nAll comments have been updated against this document, and the reference to step\n2 has been made consistent throughout the files.\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": "cf557926f6955b4c3fa55e81fdb3675e752e8eed",
      "tree": "672d24def170058545736be30040ef2249741cc3",
      "parents": [
        "f45b3ec481581f24719d8ab0bc812c02fcedc2bc"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 16:08:37 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:22:03 2006 -0800"
      },
      "message": "[DCCP]: tidy up dccp_v{4,6}_conn_request\n\nThis is a code simplification to remove reduplicated code\nby concentrating and abstracting shared code.\n\nDetailed Changes:\n"
    },
    {
      "commit": "8a73cd09d96aa01743316657fc4e6864fe79b703",
      "tree": "fa22ed8ac78c5c76cc8ee3afd8bf72607290d42d",
      "parents": [
        "f6484f7c7ad22e4bb018875c386d6a7aaa441426"
      ],
      "author": {
        "name": "Gerrit Renker",
        "email": "gerrit@erg.abdn.ac.uk",
        "time": "Fri Nov 10 12:32:01 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:21:58 2006 -0800"
      },
      "message": "[DCCP]: calling dccp_v{4,6}_reqsk_send_ack is a BUG\n\nThis patch removes two functions, the send_ack functions of request_sock,\nwhich are not called/used by the DCCP code. It is correct that these\nfunctions are not called, below is a justification why calling these\nfunctions (on a passive socket in the LISTEN/RESPOND state) would mean\na DCCP protocol violation.\n\nA) Background: using request_sock in TCP:\n"
    },
    {
      "commit": "c4028958b6ecad064b1a6303a6a5906d4fe48d73",
      "tree": "1c4c89652c62a75da09f9b9442012007e4ac6250",
      "parents": [
        "65f27f38446e1976cc98fd3004b110fedcddd189"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Wed Nov 22 14:57:56 2006 +0000"
      },
      "message": "WorkStruct: make allyesconfig\n\nFix up for make allyesconfig.\n\nSigned-Off-By: David Howells \u003cdhowells@redhat.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": "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": "91f0ebf7b6d5cb2b6e818d48587566144821babe",
      "tree": "505c66f36bd72014d7eacb7a04ea011bae2e9a3a",
      "parents": [
        "f38c39d6ce8226519455a6dfe91c2ad84f363f6f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 19:21:44 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 19:21:44 2006 -0800"
      },
      "message": "[DCCP] CCID: Improve CCID infrastructure\n\n1. No need for -\u003eccid_init nor -\u003eccid_exit, this is what module_{init,exit}\n   does and anynways neither ccid2 nor ccid3 were using it.\n\n2. Rename struct ccid to struct ccid_operations and introduce struct ccid\n   with a pointer to ccid_operations and rigth after it the rx or tx\n   private state.\n\n3. Remove the pointer to the state of the half connections from struct\n   dccp_sock, now its derived thru ccid_priv() from the ccid pointer.\n\nNow we also can implement the setsockopt for changing the CCID easily as\nno ccid init routines can affect struct dccp_sock in any way that prevents\nother CCIDs from working if a CCID switch operation is asked by apps.\n\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"
    },
    {
      "commit": "7400d781105d18bf5bba89f8b986a413f14144a8",
      "tree": "39bba6735fa99c5b2aa755b81c0cebc0ac901931",
      "parents": [
        "0af5f6c1eba4a18e6b2ed518b589927d778c6c16"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Mon Mar 20 17:15:42 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 17:15:42 2006 -0800"
      },
      "message": "[DCCP] ackvec: Ditch dccpav_buf_len\n\nSimplifying the code a bit as we\u0027re always using DCCP_MAX_ACKVEC_LEN.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3df80d9320bcaea72b1b4761a319c79cb3fdaf5f",
      "tree": "20ca32dc85b1ec211c6bb91acd325e039bdb496f",
      "parents": [
        "399c07def62a77678d633f5b3005431423a424a8"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:24:53 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:52 2006 -0800"
      },
      "message": "[DCCP]: Introduce DCCPv6\n\nStill needs mucho polishing, specially in the checksum code, but works\njust fine, inet_diag/iproute2 and all 8)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f21e68caa0ddffddf98a1e729e734a470957b6ec",
      "tree": "52b372d10cbacd066867ba1c918f48b9fdaad950",
      "parents": [
        "34ca6860810342441f801226b19ae6c9e0ecb34f"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:24:16 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:50 2006 -0800"
      },
      "message": "[DCCP]: Prepare the AF agnostic core for the introduction of DCCPv6\n\nBasically exports a similar set of functions as the one exported by\nthe non-AF specific TCP code.\n\nIn the process moved some non-AF specific code from dccp_v4_connect to\ndccp_connect_init and moved the checksum verification from\ndccp_invalid_packet to dccp_v4_rcv, so as to use it in dccp_v6_rcv\ntoo.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "57cca05af1e20fdc65b55be52c042c234f86c866",
      "tree": "43b18dca01340861e7ad392c0c2ce398a1c878fd",
      "parents": [
        "af05dc9394feb193d221bc9d4c6db768facb4b40"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 13 23:16:16 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:10:40 2006 -0800"
      },
      "message": "[DCCP]: Introduce dccp_ipv4_af_ops\n\nAnd make the core DCCP code AF agnostic, just like TCP, now its time\nto work on net/dccp/ipv6.c, we are close to the end!\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ae31c3399d17b1f7bc1742724f70476b5417744f",
      "tree": "c34099afb228936672e6e589f0af7d81f1f62443",
      "parents": [
        "21f130a2370ba837cdfc5204ebe52e7c664fec3d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Sep 18 00:17:51 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 18 00:17:51 2005 -0700"
      },
      "message": "[DCCP]: Move the ack vector code to net/dccp/ackvec.[ch]\n\nIsolating it, that will be used when we introduce a CCID2 (TCP-Like)\nimplementation.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "67e6b629212fa9ffb7420e8a88a41806af637e28",
      "tree": "64f07616a23b657f3eb06e1daedf2450f6fbfc60",
      "parents": [
        "0c10c5d96865ce611d6a780888eff0ef4fab358b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 16 16:58:40 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 16 16:58:40 2005 -0700"
      },
      "message": "[DCCP]: Introduce DCCP_SOCKOPT_SERVICE\n\nAs discussed in the dccp@vger mailing list:\n\nNow applications have to use setsockopt(DCCP_SOCKOPT_SERVICE, service[s]),\nprior to calling listen() and connect().\n\nAn array of unsigned ints can be passed meaning that the listening sock accepts\nconnection requests for several services.\n\nWith this we can ditch struct sockaddr_dccp and use only sockaddr_in (and\nsockaddr_in6 in the future).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n\n"
    },
    {
      "commit": "b0e567806d16586629468c824dfb2e71155df7da",
      "tree": "70f5905fae3270985fed1050335c56598fd32646",
      "parents": [
        "954ee31f366fabe53fb450482789258fe552f40b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 09 02:38:35 2005 -0300"
      },
      "committer": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Fri Sep 09 02:38:35 2005 -0300"
      },
      "message": "[DCCP] Introduce dccp_timestamp\n\nTo start the timestamps with 0.0ms, easing the integer maths in the CCIDs, this\nprobably will be reworked to use the to be introduced struct timeval_offset\ninfrastructure out of skb_get_timestamp, etc.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "03ace394ac9bcad38043a381ae5f4860b9c9fa1c",
      "tree": "bbe5f7fc56074224ded47113974dbc3db550b303",
      "parents": [
        "a3054d48b9b9d6290eccc9fc09c286ef450d9b1d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sun Aug 21 05:36:45 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 16:03:42 2005 -0700"
      },
      "message": "[DCCP]: Fix the ACK and SEQ window variables settings\n\nThis is from a first audit, more eyeballs are more than welcome.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7690af3fff7633e40b1b9950eb8489129251d074",
      "tree": "92fa07234a7547c4a7dd74877972b5a291673fcf",
      "parents": [
        "c173437669967301facff151bfeb7bae67354e4c"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Sat Aug 13 20:34:54 2005 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:59:26 2005 -0700"
      },
      "message": "[DCCP]: Just reflow the source code to fit in 80 columns\n\nAndrew Morton should be happy now 8)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "64cf1e5d8b5f88d56509260e08fa0d8314277350",
      "tree": "1b2decb48c52d8f3f3abe04ffb8e0dca80f0747a",
      "parents": [
        "696ab2d3bffc746fb8cf3712f066d42b9886aeed"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Aug 09 20:45:21 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:56:03 2005 -0700"
      },
      "message": "[DCCP]: Finish the TIMEWAIT minisock support\n\nUsing most of the infrastructure TCP uses, with a dccp_death_row,\netc. As per my current interpretation of the draft what we have with\nthis changeset seems to be all we need (or very close to it 8)).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6ccf55419c4f0021e7382f000f2fd14a29f3d3c",
      "tree": "c0b6446bf3ebf84437eeb16d357a7845598de206",
      "parents": [
        "1d3de414eb20d937d82c5219fd13ee4cedc499cb"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 20:27:14 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:54:34 2005 -0700"
      },
      "message": "[DCCP]: Fix u64 printf format warnings.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7c657876b63cb1d8a2ec06f8fc6c37bb8412e66c",
      "tree": "3cb2732870c9cf8f976cb6fa57e0223f1c648e2a",
      "parents": [
        "c4365c9235f80128c3c3d5993074173941b1c1f0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@ghostprotocols.net",
        "time": "Tue Aug 09 20:14:34 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:49:46 2005 -0700"
      },
      "message": "[DCCP]: Initial implementation\n\nDevelopment to this point was done on a subversion repository at:\n\nhttp://oops.ghostprotocols.net:81/cgi-bin/viewcvs.cgi/dccp-2.6/\n\nThis repository will be kept at this site for the foreseable future,\nso that interested parties can see the history of this code,\nattributions, etc.\n\nIf I ever decide to take this offline I\u0027ll provide the full history at\nsome other suitable place.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@ghostprotocols.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
