{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":39527318,"defaultBranch":"main","name":"ring","ownerLogin":"briansmith","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-07-22T19:57:40.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/16816?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1719187139.0","currentOid":""},"activityList":{"items":[{"before":"5c56776ae036a402b5bd746fd9b7dceed9a25262","after":"812ebfc5fe10164176526b8398d56583830099e6","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-28T23:41:19.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Provide more descriptive errors in internal API.","shortMessageHtmlLink":"aes-gcm: Provide more descriptive errors in internal API."}},{"before":"686acdde1f1c65bc1cfea53c85264c8c9a29079b","after":"5c56776ae036a402b5bd746fd9b7dceed9a25262","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-28T22:17:23.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Provide more descriptive errors in internal API.","shortMessageHtmlLink":"aes-gcm: Provide more descriptive errors in internal API."}},{"before":"97538f407e365af0688f3c5ecdccc54c43029177","after":"686acdde1f1c65bc1cfea53c85264c8c9a29079b","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-28T22:14:15.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Provide more descriptive errors in internal API.","shortMessageHtmlLink":"aes-gcm: Provide more descriptive errors in internal API."}},{"before":"f6a293b445c6667c0c884c66c9c53b102867646f","after":"97538f407e365af0688f3c5ecdccc54c43029177","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-28T21:08:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Provide more descriptive errors in internal API.","shortMessageHtmlLink":"aes-gcm: Provide more descriptive errors in internal API."}},{"before":"dfb4f00aa79508bc8834a66bc4e73b2253c42b64","after":"f6a293b445c6667c0c884c66c9c53b102867646f","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-24T01:56:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Provide more descriptive errors in internal API.","shortMessageHtmlLink":"aes-gcm: Provide more descriptive errors in internal API."}},{"before":"4a24c88b6d5b38817d4daac5db681fa62c6c8125","after":"dfb4f00aa79508bc8834a66bc4e73b2253c42b64","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-24T01:55:48.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Provide more descriptive errors in internal API.","shortMessageHtmlLink":"aes-gcm: Provide more descriptive errors in internal API."}},{"before":"e5877d5d071a6a6b5c3431dc8b27d72d76dceac2","after":"4a24c88b6d5b38817d4daac5db681fa62c6c8125","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-24T01:15:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Provide more descriptive errors in internal API.","shortMessageHtmlLink":"aes-gcm: Provide more descriptive errors in internal API."}},{"before":"3d10ef34788aaa9f8c5c3e5e68e8566ad289a33c","after":"e5877d5d071a6a6b5c3431dc8b27d72d76dceac2","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-24T00:00:32.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Provide more descriptive errors in internal API.","shortMessageHtmlLink":"aes-gcm: Provide more descriptive errors in internal API."}},{"before":"1cad1ee1ef5e1335b7618fca582ff9dd0166fc67","after":null,"ref":"refs/heads/b/open-always","pushedAt":"2024-06-23T23:58:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}},{"before":"525047a2b4f3724fd1337b3fc8a7c642c95fcf8b","after":"fd06b0068ebaff1662c309729103a7a84ce1d632","ref":"refs/heads/main","pushedAt":"2024-06-23T23:58:56.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes_gcm aarch64/x86_64: Don't look at target_feature for `#[cold]`.","shortMessageHtmlLink":"aes_gcm aarch64/x86_64: Don't look at target_feature for #[cold]."}},{"before":"5d4ca77c60c51d831ba7027f0858170d84adf2af","after":"1cad1ee1ef5e1335b7618fca582ff9dd0166fc67","ref":"refs/heads/b/open-always","pushedAt":"2024-06-23T23:36:01.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes_gcm aarch64/x86_64: Don't look at target_feature for `#[cold]`.","shortMessageHtmlLink":"aes_gcm aarch64/x86_64: Don't look at target_feature for #[cold]."}},{"before":"838e0e34f69205c6414106455dc0dafe2abbacdf","after":"5d4ca77c60c51d831ba7027f0858170d84adf2af","ref":"refs/heads/b/open-always","pushedAt":"2024-06-23T21:07:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes_gcm aarch64/x86_64: Don't look at target_feature for `#[cold]`.","shortMessageHtmlLink":"aes_gcm aarch64/x86_64: Don't look at target_feature for #[cold]."}},{"before":"6e398d9a4ae59cd426d9c70b7c301309d9f4f5ba","after":"838e0e34f69205c6414106455dc0dafe2abbacdf","ref":"refs/heads/b/open-always","pushedAt":"2024-06-23T20:57:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes_gcm: Prefer integrated implementations, avoid inlining fallbacks.\n\nThe `#[inline(always)]` on `open_strided` was just a mistake.\n\nBut, even correcting that, the compiler won't structure `open()` and\n`seal()` in the expected way. With these changes, the integrated\nimplementations will get inlined (as far as possible) and the\ncompiler will be biased towards assuming they will be used.","shortMessageHtmlLink":"aes_gcm: Prefer integrated implementations, avoid inlining fallbacks."}},{"before":null,"after":"6e398d9a4ae59cd426d9c70b7c301309d9f4f5ba","ref":"refs/heads/b/open-always","pushedAt":"2024-06-23T20:51:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes_gcm: Prefer integrated implementatoins, avoid inlining fallbacks.\n\nThe `#[inline(always)]` on `open_strided` was just a mistake.\n\nBut, even correcting that, the compiler won't structure `open()` and\n`seal()` in the expected way. With these changes, the integrated\nimplementations will get inlined (as far as possible) and the\ncompiler will be biased towards assuming they will be used.","shortMessageHtmlLink":"aes_gcm: Prefer integrated implementatoins, avoid inlining fallbacks."}},{"before":null,"after":"3d10ef34788aaa9f8c5c3e5e68e8566ad289a33c","ref":"refs/heads/b/ctr-checking","pushedAt":"2024-06-23T19:08:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes: Clarify counter overflow checking.\n\nCreate a more robust internal API for counter/nonce/IV management that\nmakes the usage within AES-GCM more clearly correct. The new design is\neasier to test.","shortMessageHtmlLink":"aes: Clarify counter overflow checking."}},{"before":"9ce7475e1366c3547f139f0b1334d153ad299692","after":null,"ref":"refs/heads/b/aes-features-refactor-1","pushedAt":"2024-06-23T02:00:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}},{"before":"3e9e2ebb37793f2ad2092ba0f9014183414272ab","after":"525047a2b4f3724fd1337b3fc8a7c642c95fcf8b","ref":"refs/heads/main","pushedAt":"2024-06-23T02:00:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Clarify CPU feature detection.\n\nAlthough every key has been represented with the same types\n`aes::AES_KEY` and `gcm::HTable` regardless of which implementation is\nused, in reality those types are polymorphic in ways that aren't\ncaptured by the type system currently. Thus, the\n`set_encrypt_key!` function must be matched with the corresponding\n`encrypt_block!` and/or `ctr32_encrypt_blocks!` function. Previously,\nwe did CPU feature detection for each function call and assumed that\nCPU feature detection is idempotent. Now, we do CPU feature detection\nduring key construction and make the lesser assumption that at least\nthose same CPU features are available as long as the key exists.\n\nThis is a step towards making further improvements in CPU-feature-based\ndispatching.\n\nThis makes code coverage reporting a little clearer. For example, it\nbecame clearer that the x86 VPAES implementation wasn't being tested in\nCI; this will be rectified in another commit.\n\nOne side-effect of this change is that GCM keys (and thus AES-GCM keys)\nare now much smaller on targets that don't support any assembly\nimplementation, as they now just store a single `U128` instead of a\nwhole `HTable`.\n\nAnother nice effect is that the dead ctr32_encrypt_blocks\nimplementation for aarch64 is no longer needed.\n\n```\ngit difftool HEAD^1:src/aead/aes.rs src/aead/aes/bs.rs\ngit difftool HEAD^1:src/aead/aes.rs src/aead/aes/vp.rs\n```","shortMessageHtmlLink":"aes-gcm: Clarify CPU feature detection."}},{"before":"88a34456848412f18429996df4cec905b6ea3b26","after":null,"ref":"refs/heads/b/target-vendor","pushedAt":"2024-06-22T22:49:19.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}},{"before":"9593d9b31d8a07524c5a380988466c2b06be8590","after":"3e9e2ebb37793f2ad2092ba0f9014183414272ab","ref":"refs/heads/main","pushedAt":"2024-06-22T22:49:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"arm: Switch from denylisting Apple targets to allowlisting Android/Linux.\n\nThe allowlist approach is safer.","shortMessageHtmlLink":"arm: Switch from denylisting Apple targets to allowlisting Android/Li…"}},{"before":"64da94ea7797b938b6cbdccbeafcde1f73fdabab","after":"88a34456848412f18429996df4cec905b6ea3b26","ref":"refs/heads/b/target-vendor","pushedAt":"2024-06-21T20:09:09.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"arm: Switch from denylisting Apple targets to allowlisting Android/Linux.\n\nThe allowlist approach is safer.","shortMessageHtmlLink":"arm: Switch from denylisting Apple targets to allowlisting Android/Li…"}},{"before":"63f67a7c2e3b65eb83c213aa3931631a2fb99011","after":"9ce7475e1366c3547f139f0b1334d153ad299692","ref":"refs/heads/b/aes-features-refactor-1","pushedAt":"2024-06-21T19:54:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"aes-gcm: Clarify CPU feature detection.\n\nAlthough every key has been represented with the same types\n`aes::AES_KEY` and `gcm::HTable` regardless of which implementation is\nused, in reality those types are polymorphic in ways that aren't\ncaptured by the type system currently. Thus, the\n`set_encrypt_key!` function must be matched with the corresponding\n`encrypt_block!` and/or `ctr32_encrypt_blocks!` function. Previously,\nwe did CPU feature detection for each function call and assumed that\nCPU feature detection is idempotent. Now, we do CPU feature detection\nduring key construction and make the lesser assumption that at least\nthose same CPU features are available as long as the key exists.\n\nThis is a step towards making further improvements in CPU-feature-based\ndispatching.\n\nThis makes code coverage reporting a little clearer. For example, it\nbecame clearer that the x86 VPAES implementation wasn't being tested in\nCI; this will be rectified in another commit.\n\nOne side-effect of this change is that GCM keys (and thus AES-GCM keys)\nare now much smaller on targets that don't support any assembly\nimplementation, as they now just store a single `U128` instead of a\nwhole `HTable`.\n\nAnother nice effect is that the dead ctr32_encrypt_blocks\nimplementation for aarch64 is no longer needed.\n\n```\ngit difftool HEAD^1:src/aead/aes.rs src/aead/aes/bs.rs\ngit difftool HEAD^1:src/aead/aes.rs src/aead/aes/vp.rs\n```","shortMessageHtmlLink":"aes-gcm: Clarify CPU feature detection."}},{"before":"2696219c52023cdad74125e0e83ea15016c13b84","after":"010bc3b7696d81999d828aa4d5d4ec7514087608","ref":"refs/heads/b/llvm-tools-windows","pushedAt":"2024-06-21T19:13:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"CI: Check symbol prefixes on Windows too.","shortMessageHtmlLink":"CI: Check symbol prefixes on Windows too."}},{"before":"3276a5eab2dd4993093de4864f2ba4c1b05df983","after":"26eaab705dd20134ec79be345fee1703c5959de1","ref":"refs/heads/b/no-sysroot","pushedAt":"2024-06-21T19:12:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"debug_assert_nonsecret: Prefer assert.h if compiler says it is available.","shortMessageHtmlLink":"debug_assert_nonsecret: Prefer assert.h if compiler says it is availa…"}},{"before":"07b68f350b4eaa455412f24265cec0f3e1060f8e","after":null,"ref":"refs/heads/b/aarch64-dynamic-detect-2","pushedAt":"2024-06-21T19:09:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}},{"before":null,"after":"64da94ea7797b938b6cbdccbeafcde1f73fdabab","ref":"refs/heads/b/target-vendor","pushedAt":"2024-06-21T18:10:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"},"commit":{"message":"arm: Switch from denylisting Apple targets to allowlisting Android/Linux.\n\nThe allowlist approach is safer.","shortMessageHtmlLink":"arm: Switch from denylisting Apple targets to allowlisting Android/Li…"}},{"before":"45b5b426989ee5f423b55d70842e0a90306779a8","after":null,"ref":"refs/heads/b/rustup-self-update","pushedAt":"2024-06-21T05:57:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}},{"before":"6a8bc9e3d569e797e5cf0c95748d4e67e26420f2","after":null,"ref":"refs/heads/b/arm-cfg-if-2","pushedAt":"2024-06-21T05:57:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}},{"before":"51f14566ced0703b79716d74eba96fbb50da09f7","after":null,"ref":"refs/heads/b/cstr","pushedAt":"2024-06-21T05:57:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}},{"before":"5bc81c61804bfe3801d51a68b1e4d0a6dd483465","after":null,"ref":"refs/heads/b/getauxval-2","pushedAt":"2024-06-21T05:56:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}},{"before":"a6a79eb3ba34657d414da5105ca3deaf264b584d","after":null,"ref":"refs/heads/b/cc-asm-3","pushedAt":"2024-06-21T05:56:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"briansmith","name":"Brian Smith","path":"/briansmith","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16816?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEckv7aQA","startCursor":null,"endCursor":null}},"title":"Activity · briansmith/ring"}