{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":649485122,"defaultBranch":"main","name":"quic","ownerLogin":"lxin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-06-05T01:16:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5404151?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1713911313.0","currentOid":""},"activityList":{"items":[{"before":"a585e9e3dbf967825a6af4514cc8ee9ac2136d43","after":"96729042957e790d24b81ea3c2777ea58dab3b9e","ref":"refs/heads/main","pushedAt":"2024-08-21T18:23:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"output: do not send packets with level in filter\n\nComparing application frames, Handshake frames (level > 0) should always\nbe sent first, even if it is in any pnspace's RTX timeout. So delete the\nlevel from the filter to always send handshake frames in RTX timeout.\n\nAlso, filter in packet can be dropped, and we can use max_snd_count to\nindicate if the filter is set in quic_packet_config().\n\nMeanwhile, bring the sleep(1) back in perf_test.c, so in the netem test,\nit will have time to retransmit the last msg if it gets lost.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"output: do not send packets with level in filter"}},{"before":"765ce5a6fef83a863d7c228783f7fffddc344ba9","after":"a585e9e3dbf967825a6af4514cc8ee9ac2136d43","ref":"refs/heads/main","pushedAt":"2024-08-18T18:26:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"socket: allows setting rx secret earlier than tx secret\n\nCurrently, we assume userspace always sets tx secret earlier than tx\nsecret during handshake, and makes the socket enter established state.\nHowever, it's not always true on client side. If the handshake code\nin userspace set rx secret first, then setting tx secret will return\nerror, due to the state check in quic_sock_set_crypto_secret().\n\nThis patch deletes the state check in quic_sock_set_crypto_secret(),\nand allows setting rx secret earlier than tx secret. It will enter\nestablished state only when both send and recv keys are ready, and\nreturns -EINVAL if userspace tries to set the same dir and level\nkey more than once.\n\nMeanwhile, also tidy up the code in quic_sock_set_crypto_secret(),\nand reinforce the level check in this function and quic_sendmsg().\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"socket: allows setting rx secret earlier than tx secret"}},{"before":"e9bd27ad86cacc4917db093fddd971c7469da863","after":"765ce5a6fef83a863d7c228783f7fffddc344ba9","ref":"refs/heads/main","pushedAt":"2024-08-17T17:44:36.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"crypto: do not do key update if sending is not ready\n\nA crash is noticed by Moritz:\n\n [] BUG: kernel NULL pointer dereference, address: 0000000000000018\n [] Call Trace:\n [] \n [] quic_crypto_tx_keys_derive_and_install+0x18e/0x200 [quic]\n [] quic_crypto_key_update+0x1ce/0x230 [quic]\n [] quic_crypto_decrypt+0x4a4/0x520 [quic]\n [] quic_packet_process+0x178/0x1260 [quic]\n [] quic_setsockopt+0x5b3/0xbd0 [quic]\n [] __sys_setsockopt+0xec/0x200\n\nIt was caused by doing key update before sending keys are ready.\n\nKey update involves both send and recv keys derivation, so we must wait\nuntil the send keys are set. Before that, drop the packets that cause\nkey update by returning -EINVAL in quic_crypto_decrypt().\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"crypto: do not do key update if sending is not ready"}},{"before":"33c9f9b932dd43496034a9123ee45cff4f273495","after":"e9bd27ad86cacc4917db093fddd971c7469da863","ref":"refs/heads/main","pushedAt":"2024-08-16T14:43:53.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"libquic: simplify quic_read_func\n\nSplitting data into QUIC_MAX_FRAG_LEN sized chunks is no longer necessary.\n\nSigned-off-by: mbuhl ","shortMessageHtmlLink":"libquic: simplify quic_read_func"}},{"before":"24ace3f58422971bb1bfaa1f0457a40aba50aaa6","after":"33c9f9b932dd43496034a9123ee45cff4f273495","ref":"refs/heads/main","pushedAt":"2024-08-16T14:40:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"Simplify quic_read_func.\n\nSplitting data into QUIC_MAX_FRAG_LEN sized chunks is no longer necessary.","shortMessageHtmlLink":"Simplify quic_read_func."}},{"before":"b6059c79ee497c16413dcd87acfa82cc65e9ccbd","after":"24ace3f58422971bb1bfaa1f0457a40aba50aaa6","ref":"refs/heads/main","pushedAt":"2024-08-12T17:53:33.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"libquic: mention minimum value for plpmtud_probe_timeout\n\nQUIC_MIN_PROBE_TIMEOUT(5s) is the minimal value for plpmtud_probe_timeout.\n\nSigned-off-by: mbuhl ","shortMessageHtmlLink":"libquic: mention minimum value for plpmtud_probe_timeout"}},{"before":"01e3a6b33a4f6f179fb649a411dcea531c2645b1","after":"b6059c79ee497c16413dcd87acfa82cc65e9ccbd","ref":"refs/heads/main","pushedAt":"2024-08-12T17:50:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"Mention minimum value for plpmtud_probe_timeout.","shortMessageHtmlLink":"Mention minimum value for plpmtud_probe_timeout."}},{"before":"cff95f65de8e7e4fc294417540eb97bcd80117cc","after":"01e3a6b33a4f6f179fb649a411dcea531c2645b1","ref":"refs/heads/main","pushedAt":"2024-08-08T22:49:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"README: add http3 interoperability test section\n\nAdd http3 interoperability test section to describe how to run\nthe related test, and also include Moritz's curl repo.\n\nMeanwhile, also add Raw Socket APIs with more Control section\nfor more flexible handshake.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"README: add http3 interoperability test section"}},{"before":"e9cbda566a48230693cb12d70d664c09c4f57b60","after":"cff95f65de8e7e4fc294417540eb97bcd80117cc","ref":"refs/heads/main","pushedAt":"2024-08-08T22:42:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"README: add http3 interoperability test section\n\nAdd http3 interoperability test section to describe how to run\nthe related test, and also include Moritz's curl repo.\n\nMeanwhile, also add Raw Socket APIs with more Control section\nfor more flexible handshake.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"README: add http3 interoperability test section"}},{"before":"e2ab54d9e612731ac122c0a34a88baa3e82b6680","after":"e9cbda566a48230693cb12d70d664c09c4f57b60","ref":"refs/heads/main","pushedAt":"2024-08-07T22:02:35.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"tests: add a test for http3 interoperability\n\nInspired by Moritz's Support QUIC sockets PR in curl:\n\n https://github.com/curl/curl/pull/14313\n\nand these examples in ngtcp2/:\n\n server.cc, client.cc\n\nthis patch is to add http_test.c for http3 with the lib nghttp3, and\nhttp_test can run as a super simple http3 client or server.\n\nIn runtest.sh, it uses http_test as http3 client to connect to these\npublic http3 servers with different QUIC implementations:\n\n - https://pgjones.dev/\n - https://cloudflare-quic.com/\n - https://h2o.examp1e.net/\n - https://quic.aiortc.org/\n - https://facebook.com/\n - https://nghttp2.org:4433/\n - https://outlook.office.com/\n - https://www.litespeedtech.com/\n - https://www.google.com/\n - https://quic.tech:8443/\n - https://test.privateoctopus.com:4433\n\nAlso, it connects to the server built with http3_test itself.\n\nOnce nghttp3 is installed, this test can be run together with other\ntesting by `make check` or run alone by `make check tests=http3`.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"tests: add a test for http3 interoperability"}},{"before":"5a8275392a12a34c0f1e2654936aaba08e7d5780","after":"e2ab54d9e612731ac122c0a34a88baa3e82b6680","ref":"refs/heads/main","pushedAt":"2024-08-05T21:16:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"frame: handle the padding frame bundled ahead of other frames\n\nIn some userland QUIC implementation like Google quiche, the padding\nframe can be packed ahead of other frames.\n\nSo as to get these frames packed after the padding frame, we must skip\nthe padding frame and jump to the next frame by finding the 1st non-0\nbyte in quic_frame_padding_process().\n\nAlso delete the old padding processing from quic_frame_process().\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"frame: handle the padding frame bundled ahead of other frames"}},{"before":"6c084be2f9ccbf7038879da2b7fef0ecb3cc8ee3","after":"5a8275392a12a34c0f1e2654936aaba08e7d5780","ref":"refs/heads/main","pushedAt":"2024-08-03T23:47:20.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"packet: start sack timer after processing handshake packets\n\nThere are some userland QUIC implementations which do NOT send the\nwhole handshake packets until it gets SACK. Currently we rely on\nthe handshake response from userspace to bundle the SACK for the\nhandshake packets to send it out.\n\nSo in case that userspace doesn't send any packets due to packets\nof handshake are not complete, it needs to set up a timer to send\nthe SACK out, and SACK timer is reused for it.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"packet: start sack timer after processing handshake packets"}},{"before":"cddb01c7ca86c79d18fc389d93c9328bff869ac0","after":"6c084be2f9ccbf7038879da2b7fef0ecb3cc8ee3","ref":"refs/heads/main","pushedAt":"2024-08-03T20:59:02.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"packet: start sack timer after processing handshake packets\n\nThere are some userland QUIC implementations which do send the whole\nhandshake packets until it gets SACK. Currently it replies on the\nhandshake response from userspace to bundle the SACK for handshake\npackets to send out.\n\nSo in case that userspace doesn't send any packets due to the packets\nof handshake are not complete, it needs to set up a timer to send\nthe SACK out, and SACK timer is reused for it.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"packet: start sack timer after processing handshake packets"}},{"before":"6a6e298eff03fb3c017bce3e6bd75a35828e6687","after":"cddb01c7ca86c79d18fc389d93c9328bff869ac0","ref":"refs/heads/main","pushedAt":"2024-08-01T15:42:04.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"connid: support out-of-order new_conn_id frames process\n\nThere are some userland QUIC implementation like ngtcp2 that doesn't\nreally send new_conn_id frames in order, this patch processes it by\nstill adding it to list without increasing the count until the gap\nis fixed by other new_conn_id frames.\n\nWhile at it, add a pr_debug in quic_frame_connection_close_process().\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"connid: support out-of-order new_conn_id frames process"}},{"before":"7d788f7e1ac38a756a8d5b352b082028d87440ba","after":"6a6e298eff03fb3c017bce3e6bd75a35828e6687","ref":"refs/heads/main","pushedAt":"2024-07-30T17:23:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"frame: do not assume close phrase is a c string\n\noutq->close_phrase is a c string, but the close_phrase in close frame\ndoesn't have to be end with '\\0', so do not assume close phrase is a\nc string when processing it, and not include '\\0' when creating close\nframe either.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"frame: do not assume close phrase is a c string"}},{"before":"9242c95902bd907eafc1e7db9546c8474bc66f0a","after":"7d788f7e1ac38a756a8d5b352b082028d87440ba","ref":"refs/heads/main","pushedAt":"2024-07-30T17:01:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"frame: fix the format of version_information transport parameter\n\nAccording to rfc9368, the correct format should be:\n\n Version Information {\n Chosen Version (32),\n Available Versions (32) ...,\n }\n\nThis patch adds the missing Chosen Version when encoding the\nversion_information transport parameter, and also add itself\nto its compatible versions list.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"frame: fix the format of version_information transport parameter"}},{"before":"9dec503e6bd7dfff2666eef82a42c0ae8c82f67a","after":"9242c95902bd907eafc1e7db9546c8474bc66f0a","ref":"refs/heads/main","pushedAt":"2024-07-29T17:47:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"socket: fix a crash when setting close info without phrase\n\nWhen setting close info without phrase via SOCKOPT_CONNECTION_CLOSE\nsocket option, len becomes 0 after subtracting sizeof(*close), and\nclose->phrase[len - 1] will overflow.\n\nThanks Moritz for reporting this issue.\n\nReported-by: mbuhl \nSigned-off-by: Xin Long ","shortMessageHtmlLink":"socket: fix a crash when setting close info without phrase"}},{"before":"cbaa0486f49a2bff8fb0faffe1d6c21586e41dc5","after":"9dec503e6bd7dfff2666eef82a42c0ae8c82f67a","ref":"refs/heads/main","pushedAt":"2024-07-25T02:14:08.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"test: move sample_test and unit_test to test directory\n\nLooks better to move all tests into a single directory.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"test: move sample_test and unit_test to test directory"}},{"before":"102408f5b4384d4acb2dc33bb395434ca6d9bc94","after":"cbaa0486f49a2bff8fb0faffe1d6c21586e41dc5","ref":"refs/heads/main","pushedAt":"2024-07-24T14:35:00.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"libquic: fix a typo in quic.man\n\nFix a spell typo: get -> set.\n\nSigned-off-by: mbuhl ","shortMessageHtmlLink":"libquic: fix a typo in quic.man"}},{"before":"65af6a4e64a04e735327d8a3a14bf1cff8e4b4b4","after":"102408f5b4384d4acb2dc33bb395434ca6d9bc94","ref":"refs/heads/main","pushedAt":"2024-07-24T14:31:42.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"libquic: fix a typo in quic.man\n\nget -> set.\n\nSigned-off-by: mbuhl ","shortMessageHtmlLink":"libquic: fix a typo in quic.man"}},{"before":"d00165d42985edd84f176462c115edaa30ea32d3","after":"65af6a4e64a04e735327d8a3a14bf1cff8e4b4b4","ref":"refs/heads/main","pushedAt":"2024-07-24T14:17:29.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"Fix typo.","shortMessageHtmlLink":"Fix typo."}},{"before":"283277e632f6cd98c436156a4624b2343ed0536d","after":"d00165d42985edd84f176462c115edaa30ea32d3","ref":"refs/heads/main","pushedAt":"2024-07-12T20:11:22.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"packet: send an ACK after certain count packets received\n\nQUIC_DEF_ACK_DELAY (25ms) could still be too long to wait for\nsending an ACK packet when there is no data gap, which could\naffect the performance.\n\nThis patch adds another condition to send an ACK after certain\ncount packets are received, and this count is calculated by:\n\n QUIC_PATH_MAX_PMTU / mss + 1.\n\nrcv_count and max_rcv_count are added into struct quic_packet\nto implement it, and meanwhile, rename count and max_count to\nsnd_count and max_snd_count.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"packet: send an ACK after certain count packets received"}},{"before":"75dd467466cfb56675aed236956528c6b5fe3b01","after":"283277e632f6cd98c436156a4624b2343ed0536d","ref":"refs/heads/main","pushedAt":"2024-07-02T19:25:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"socket: allow to automatically resize the sender buffer\n\nWith this patch, for applications that have not explicitly set the socket\nsend buffer size, the kernel will allow the send buffer to grow with the\ncongestion window (cwnd) and utilize the available bandwidth of the link.\nIf the network memory load on the server increases, the kernel will also\nreduce the senders' windows.\n\nNote that due to no advertised window carried in ACK frame, the Dynamic\nright-sizing (DRS) can not be applied to QUIC, which means the receiver\nbuffer or window is always fixed (a \"big enough\" window).\n\nWhile at it, initialize sk_snd/rcvbuf with sysctl_quic_r/wmem and expose\nthem in /proc/net/quic, as well as fix some indents related to conn_id.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"socket: allow to automatically resize the sender buffer"}},{"before":"36460202003319b0f45cbebaa5bd4aa168e6aa85","after":"75dd467466cfb56675aed236956528c6b5fe3b01","ref":"refs/heads/main","pushedAt":"2024-07-02T15:41:55.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"socket: set sk_state to closed in quic_disconnect\n\nquic_disconnect() is only called when shutdown a listen socket\nin QUIC. Set sk_state to closed in quic_disconnect so that a\nblocking accept can be canceled when shutdown a listen sock.\n\nIn this case, quic_is_listen() will not work in quic_unhash(),\nso change to check sk_max_ack_backlog instead.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"socket: set sk_state to closed in quic_disconnect"}},{"before":"c4b8e4740ef681be87381f83764cab5deb59109d","after":"36460202003319b0f45cbebaa5bd4aa168e6aa85","ref":"refs/heads/main","pushedAt":"2024-06-28T20:13:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"libquic: sync the libquic code from ktls-utils\n\nAs it does for QUIC handshake in ktls-utils, this patch is to split\nthe libquic.c to client.c server.c and handshake.c to make the code\nmore readable. Also, keep most code consistent with the handshake\ncode for QUIC in ktls-utils to make maintenance easy.\n\nNote that there is no APIs change for users in this patch.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"libquic: sync the libquic code from ktls-utils"}},{"before":"6a92cb201afe9f7fc86a2570f56b7ea9afa2b8e1","after":"c4b8e4740ef681be87381f83764cab5deb59109d","ref":"refs/heads/main","pushedAt":"2024-06-27T20:52:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"README: update ktls-utils clone with the repo from oracle\n\nQUIC handshake has been supported in ktls-utils upstream repo in:\n\n https://github.com/oracle/ktls-utils/pull/60\n\nThis patch is to update the ktls-utils link with the upstream repo\nin README.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"README: update ktls-utils clone with the repo from oracle"}},{"before":"bdf2c2ae38f915134d2c55248a5eca34775eaeb0","after":"6a92cb201afe9f7fc86a2570f56b7ea9afa2b8e1","ref":"refs/heads/main","pushedAt":"2024-06-15T22:01:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"crypto: force a dst refcount before doing decryption\n\nAs it says in commit 3bc07321ccc2 (\"xfrm: Force a dst refcount before\nentering the xfrm type handlers\"):\n\n\"Crypto requests might return asynchronous. In this case we leave the\n rcu protected region, so force a refcount on the skb's destination\n entry before we enter the xfrm type input/output handlers.\"\n\nOn QUIC decryption path it has the same problem, and skb_dst_force()\nshould be called before doing decryption to avoid a possible crash.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"crypto: force a dst refcount before doing decryption"}},{"before":"0771c129a4aab972853b3fda18e21c711a55885a","after":"bdf2c2ae38f915134d2c55248a5eca34775eaeb0","ref":"refs/heads/main","pushedAt":"2024-06-10T14:39:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"tests: support make check with tests cmdline argument\n\nThis patch allows users to run a specific test case via make check with\ntests cmdline argument, e.g. run sample test with:\n\n # make check tests=sample\n\nWhile at it, fix the typo error in runtest.sh and setperm the keys with\nmore permissions in ca_cert_pkey_psk.sh.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"tests: support make check with tests cmdline argument"}},{"before":"48450775809ee10da688883dc9362f6f75fd8a0a","after":"0771c129a4aab972853b3fda18e21c711a55885a","ref":"refs/heads/main","pushedAt":"2024-06-04T20:54:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"socket: fix two compiling errors against kernel 6.10\n\nThe proto_ops accept type has been changed by upstream commit 92ef0fd55ac8\n(\"net: change proto and proto_ops accept type\") in kernel 6.10. Similar to\nquic_recvmsg(), add LINUX_VERSION_CODE check around it.\n\nsk_under_memory_pressure() has been moved to proto_memory.h since commit\nf3d93817fba3 (\"net: add \"), so introduce function\nquic_under_memory_pressure() to avoid another LINUX_VERSION_CODE check.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"socket: fix two compiling errors against kernel 6.10"}},{"before":"6fa8cc610c77eff3c52c74bf43316e339cef8b65","after":"48450775809ee10da688883dc9362f6f75fd8a0a","ref":"refs/heads/main","pushedAt":"2024-06-04T00:35:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"lxin","name":"Xin Long","path":"/lxin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5404151?s=80&v=4"},"commit":{"message":"README: update the INSTALL and USAGE sections\n\nAfter reorganizing libquic and quic modules directories, these is some\nchange for its installation and configuration, so update the INSTALL.\n\nWhile at it, also improve other sections like USAGE and Infrastructures.\n\nSigned-off-by: Xin Long ","shortMessageHtmlLink":"README: update the INSTALL and USAGE sections"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEoIK23AA","startCursor":null,"endCursor":null}},"title":"Activity ยท lxin/quic"}