Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/PitchBlackRecoveryProject/android_system_security


https://github.com/PitchBlackRecoveryProject/android_system_security

Merge "Add new SecurityLevel::KEYSTORE" am: df81f8e75b

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1552562

M...

e7642923a405204befa5727015052ddfa0766fde authored almost 4 years ago
Merge "Keystore 2.0: Respect input consumed." am: 130c40fafc

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1565119

M...

76ba74b245e7a863c1f813b83284ad74c0c66f92 authored almost 4 years ago
Keystore 2.0: Add Pure Certificate Entry suport.

Allow storing certificates without keys.
Also allow deleting subcomponents by setting correspond...

377d1006de604c0d291c0da0ec6dcd9a4e4cd25e authored almost 4 years ago
Merge "Add new SecurityLevel::KEYSTORE"

df81f8e75b05b23ea41aff89f887a76c9811bf04 authored almost 4 years ago
Merge "Keystore 2.0: Respect input consumed."

130c40fafc1efba1958e2271d58f84de94cc8b9c authored almost 4 years ago
Keystore 2.0: Respect input consumed.

Respect input consumed by KeyMint device and call update in a loop
until all input was consumed....

002891c342b1a9fd91a825666ce860b7f95980ca authored almost 4 years ago
Snap for 7117025 from 60a63cd9644193e313504059e84eea5423790f67 to sc-v2-release

Change-Id: I09ed3c21118b65deb0bd6a17dfd5605c4b8aadad

9bbbfd83099090f26bd81f615adb6d7d4228aca5 authored almost 4 years ago
Merge "Specify version for aidl_interface explicitly" am: 403808875b am: 22bfbce0fd am: 166846cda4

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1560550

M...

7f5ac96117e12019f73068d71ee43c328221526d authored almost 4 years ago
Merge "Keystore 2.0: Skip compat test if no legacy keymaster is available." am: 5318d3dc57 am: 25f828bcd3 am: 4ceb98b5e3

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566708

M...

932b9ec1508b457c276b073ff27f341767f2f552 authored almost 4 years ago
Merge "Specify version for aidl_interface explicitly" am: 403808875b am: 22bfbce0fd

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1560550

M...

166846cda42df945cc6b991ab55bdd3dc1795178 authored almost 4 years ago
Merge "Keystore 2.0: Skip compat test if no legacy keymaster is available." am: 5318d3dc57 am: 25f828bcd3

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566708

M...

4ceb98b5e34a7ff2077ec3d1d350fd55b2f35805 authored almost 4 years ago
Merge "Specify version for aidl_interface explicitly" am: 403808875b

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1560550

M...

22bfbce0fdee7aed1c7fcce539250b1cbf24dcd3 authored almost 4 years ago
Merge "Keystore 2.0: Skip compat test if no legacy keymaster is available." am: 5318d3dc57

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566708

M...

25f828bcd385d9ea750b3b58edfba28f1ce97cec authored almost 4 years ago
Merge "Specify version for aidl_interface explicitly"

403808875b35f70800c19429451337cc2c28db51 authored almost 4 years ago
Add new SecurityLevel::KEYSTORE

We need a way to distinguish between tags that are enforced by KeyMint
with security level "SOFT...

a857a654d14ffbff22946ef780f2cbdc495f2519 authored almost 4 years ago
Merge "Keystore 2.0: Skip compat test if no legacy keymaster is available."

5318d3dc5753f5928627064b59d10cbd16b00d4e authored almost 4 years ago
Keystore 2.0: Skip compat test if no legacy keymaster is available.

The km compatibility test only makes sense on devices that actually have
legacy keymaster. With ...

1291384d85265d82e3077a55a5c7ee10926db6cb authored almost 4 years ago
Merge "Keystore 2.0: Revise Legacy wrapper error handling" am: 07e6a52427 am: fdfbc64fdb am: e9529667eb

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566346

M...

60a63cd9644193e313504059e84eea5423790f67 authored almost 4 years ago
Merge "Keystore 2.0: Fix permission tests." am: 2de1313f53 am: 08f544e16d am: 7e54d26e4b

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566593

M...

11ab3598f15fa9d4fc35b4a6870e318ba3031a23 authored almost 4 years ago
Merge "Keystore 2.0: Revise Legacy wrapper error handling" am: 07e6a52427 am: fdfbc64fdb

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566346

M...

e9529667eba7af53d4e1e429cd0b58e64b1fe5a9 authored almost 4 years ago
Merge "Keystore 2.0: Fix permission tests." am: 2de1313f53 am: 08f544e16d

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566593

M...

7e54d26e4bb532e04fc1582226d7d82069875a57 authored almost 4 years ago
Merge "Keystore 2.0: Revise Legacy wrapper error handling" am: 07e6a52427

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566346

M...

fdfbc64fdbd83610d24a99c4c47f30ccbdd4bf70 authored almost 4 years ago
Merge "Keystore 2.0: Fix permission tests." am: 2de1313f53

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566593

M...

08f544e16d156c5202628b18f25f1b4bc494c6db authored almost 4 years ago
Merge "Keystore 2.0: Install database busy handler." am: 95eee225a4 am: 66ff7a2037 am: 14b8adeaae

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566592

M...

cab26266808af081bc13722fd588e49deb731748 authored almost 4 years ago
Merge "Keystore 2.0: Revise Legacy wrapper error handling"

07e6a52427e935a81757995ea9ef2d4762092642 authored almost 4 years ago
Merge "Keystore 2.0: Install database busy handler." am: 95eee225a4 am: 66ff7a2037

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566592

M...

14b8adeaae5f52925168d4712c1a7f570a0133c5 authored almost 4 years ago
Merge "Keystore 2.0: Fix permission tests."

2de1313f53b9a12ff7b5a714f8a60f2846b2f563 authored almost 4 years ago
Merge "Keystore 2.0: Install database busy handler." am: 95eee225a4

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1566592

M...

66ff7a203717b6ac5df0c9172b9deb20accc96f8 authored almost 4 years ago
Merge "Keystore 2.0: Install database busy handler."

95eee225a4327d79cad4b1222aad3de53024ec48 authored almost 4 years ago
Keystore 2.0: Fix permission tests.

Some of the permission tests only pass on cuttlefish because its
system_server is permissive. Th...

a31dd9ef24d0b5ffd68bfa130524b29ef45ab6f8 authored almost 4 years ago
Keystore 2.0: Revise Legacy wrapper error handling

Now using mostly KeyMint error codes and a safe conversion function.

Test: keystore2_km_compat_...

926a6c032f4dcd14d8dbdcdfeea9446f52e89a7c authored almost 4 years ago
Keystore 2.0: Install database busy handler.

Make keystore DB poll every 50us for the database lock.

Test: N/A
Change-Id: Ibb6c8d438e4b3d99d...

aea2734a7cee345ca48059e33e64f858d3f00ff2 authored almost 4 years ago
Snap for 7110204 from d3e783b02718c1bc4d86ca6752864adc5460d13f to sc-v2-release

Change-Id: Iddfd0d60ca8cd8754a5e965ce7a14cfe08d5c923

98032da7d4e22a9181303f8d6d9b007c7926695d authored almost 4 years ago
Merge "Add AGREE_KEY operation for EC keys." am: f3caf2698b am: b6584e2305 am: 7f822bfdd4

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553930

M...

d3e783b02718c1bc4d86ca6752864adc5460d13f authored about 4 years ago
Merge "Add AGREE_KEY operation for EC keys." am: f3caf2698b am: b6584e2305

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553930

M...

7f822bfdd449b2ef43b15d602a629e36603a9566 authored about 4 years ago
Merge "Add AGREE_KEY operation for EC keys." am: f3caf2698b

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553930

M...

b6584e230516d93f86514eb6d0ea0f243e370537 authored about 4 years ago
Merge "Add AGREE_KEY operation for EC keys."

f3caf2698b239bf3bb33227941fca867231be1d5 authored about 4 years ago
Snap for 7107824 from 6f8d335082de97eddfd680868731db54852ff292 to sc-v2-release

Change-Id: Idac998a1ee5559476e830af90bff4412b17768d7

114adb8c360c02489c8980fe52ed69c2399a5dfb authored about 4 years ago
Merge "Keystore 2.0: Allow by key id usage of granted keys." am: 13ffc59553 am: d79c24a970 am: 820ede6c5e

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553308

M...

6f8d335082de97eddfd680868731db54852ff292 authored about 4 years ago
Merge "Keystore 2.0: Fix wrong check on wrapped key import." am: be01ea59ec am: 2ffbebb849 am: 21d2b41fe7

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1559441

M...

d8652e11c378387c6410e6022025c3553ce58575 authored about 4 years ago
Merge "Keystore 2.0: Move test utils to separate library." am: b0b1b0a049 am: 1b105b2558 am: 27660cd04c

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553381

M...

f10d939853c8c1103387b7c38d44abc64b680909 authored about 4 years ago
Merge "Keystore 2.0: Add attestation application id on generation and import." am: aa726fdd6e am: 96bfb68cda am: ac4e921363

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1551270

M...

8e272327752118e38db17d268ba12650b0d3b82a authored about 4 years ago
Merge "Add .gitignore." am: 204954d8b1 am: 3a109b0bd0 am: 72b23c3a3b

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1508850

M...

30586196d5fe3e5acb605db06aab2d2399e3e1f3 authored about 4 years ago
Merge "Keystore 2.0: Enforcement for limited use keys." am: 5ba0951356 am: 551c0b782a am: c3a2fd3f1c

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1513134

M...

d8e509bbdd08f5ced767ea2e6009d8d9c835f374 authored about 4 years ago
Merge "keystore2: Prepare for future KeyMint::KeyPurpose values." am: c8e96a0e13 am: 0943c79b2a am: 6b021e6570

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553879

M...

aa23b6043bd88501775ef6501fa3b6058a97717e authored about 4 years ago
Merge "Keystore 2.0: Legacy support: Tweak to certificate generation." am: 6acc95ae21 am: 4c712fe350 am: c1fff491e1

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1552675

M...

47a50b69a4969636caed0fb009b441545bfc570a authored about 4 years ago
Merge "Keystore 2.0: Add missing context in generated and import key." am: 666877639e am: 113524d9c0 am: 124e69b5de

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1551271

M...

525937bc3272167846282449a33a0a9e6aa868a9 authored about 4 years ago
Merge "Remove myself from OWNERS" am: bda9334779 am: 4fa6a53b24 am: 7e771494c3

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1560668

M...

4538d0eed1cbed614e2efab399be89588a4bff08 authored about 4 years ago
Merge "Credstore changes for Android 12" am: eccc5a3f2f am: f2908518c0 am: 319673d3bf

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1464322

M...

246aee5530323511cd9e9cface5b93b1b5008133 authored about 4 years ago
Merge "Keystore 2.0: Allow by key id usage of granted keys." am: 13ffc59553 am: d79c24a970

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553308

M...

820ede6c5e0736dd359ad59163f33df33009b52e authored about 4 years ago
Merge "Keystore 2.0: Fix wrong check on wrapped key import." am: be01ea59ec am: 2ffbebb849

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1559441

M...

21d2b41fe7073d813c011cb5e5ff06641c9def2c authored about 4 years ago
Merge "Keystore 2.0: Allow by key id usage of granted keys." am: 13ffc59553

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553308

M...

d79c24a970741297e22e3cfce24f7e4e1d6a06c6 authored about 4 years ago
Merge "Keystore 2.0: Fix wrong check on wrapped key import." am: be01ea59ec

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1559441

M...

2ffbebb8493a29af794216a914d1bfdf241719e3 authored about 4 years ago
Merge "Keystore 2.0: Allow by key id usage of granted keys."

13ffc595536b18d979d55a0849bc8a4cd6955349 authored about 4 years ago
Snap for 7105071 from ab4d160e3c90b2e36ea7502e0b12e38089c83401 to sc-v2-release

Change-Id: I2242cdb415b6118c8eba9bd7ce1fdcec2e5efee9

37c5e2e464510c79b807487d639b694dd8629987 authored about 4 years ago
Merge "Keystore 2.0: Fix wrong check on wrapped key import."

be01ea59ec4a7a0ada85bc896d00bfc5626382b7 authored about 4 years ago
Merge "Keystore 2.0: Move test utils to separate library." am: b0b1b0a049 am: 1b105b2558

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553381

M...

27660cd04c0733e7326ba019bfc3b27b71bed8b1 authored about 4 years ago
Merge "Keystore 2.0: Add attestation application id on generation and import." am: aa726fdd6e am: 96bfb68cda

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1551270

M...

ac4e921363f2bd70250d7e7092673f5326731375 authored about 4 years ago
Merge "Keystore 2.0: Move test utils to separate library." am: b0b1b0a049

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553381

M...

1b105b25587f72fe99e86ef5f77321917f606164 authored about 4 years ago
Merge "Keystore 2.0: Move test utils to separate library."

b0b1b0a04909cd5bd515f189b47e22bd234ab25d authored about 4 years ago
Merge "Keystore 2.0: Add attestation application id on generation and import." am: aa726fdd6e

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1551270

M...

96bfb68cdab0de0b8537b6a3048d792f1d2e6538 authored about 4 years ago
Merge "Keystore 2.0: Add attestation application id on generation and import."

aa726fdd6e00736127d4a5f8fd36374aa7030609 authored about 4 years ago
Merge "Add .gitignore." am: 204954d8b1 am: 3a109b0bd0

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1508850

M...

72b23c3a3bd81625019041a3be1456a7809d341f authored about 4 years ago
Merge "Keystore 2.0: Enforcement for limited use keys." am: 5ba0951356 am: 551c0b782a

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1513134

M...

c3a2fd3f1c4398c357e6a266c97b684b7ba2c3ee authored about 4 years ago
Keystore 2.0: Move test utils to separate library.

Move TempDir test utils to separate library for easier reuse.

Test: keystore2_test
Change-Id: I...

2a8330a90dab5c7dd6aa76bfb376fd97eccd00e5 authored about 4 years ago
Merge "Add .gitignore." am: 204954d8b1

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1508850

M...

3a109b0bd054ed9d696ecba81e23da3a7879c8f8 authored about 4 years ago
Merge "Keystore 2.0: Enforcement for limited use keys." am: 5ba0951356

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1513134

M...

551c0b782ad4561932e109a65ecce6d4b840e1d6 authored about 4 years ago
Merge "Add .gitignore."

204954d8b1c506daddd8f656e84a890941e92f0c authored about 4 years ago
Keystore 2.0: Fix wrong check on wrapped key import.

Test: Keystore CTS Wrapped key import test.
Change-Id: Id613505112708041554ffa53e23a4e0bd69fa051

5d27fbb12daac5814b60f8d20080ddf87002234b authored about 4 years ago
Merge "keystore2: Prepare for future KeyMint::KeyPurpose values." am: c8e96a0e13 am: 0943c79b2a

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553879

M...

6b021e65708038f686b5eddb4d72e75df933a2aa authored about 4 years ago
Merge "Keystore 2.0: Legacy support: Tweak to certificate generation." am: 6acc95ae21 am: 4c712fe350

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1552675

M...

c1fff491e115301317d456aa75ce6d277abf7b8e authored about 4 years ago
Merge "Keystore 2.0: Add missing context in generated and import key." am: 666877639e am: 113524d9c0

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1551271

M...

124e69b5dec2434aae3b82bb80a438d37d935396 authored about 4 years ago
Merge "Remove myself from OWNERS" am: bda9334779 am: 4fa6a53b24

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1560668

M...

7e771494c3e44f1f91c73babfaecb39358e6d487 authored about 4 years ago
Merge "Credstore changes for Android 12" am: eccc5a3f2f am: f2908518c0

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1464322

M...

319673d3bf977c6eaf9100a464ceeaea1cad2012 authored about 4 years ago
Merge "Keystore 2.0: Enforcement for limited use keys."

5ba09513562b48c85a6d25aa90799d6f095b53b6 authored about 4 years ago
Specify version for aidl_interface explicitly

Bug: 150578172
Test: m
Change-Id: I5101d318c40268af8b8965910c0ff9d621f96740

98a5d095fac71e347f38b05e7131faa717b78ddf authored about 4 years ago
Merge "keystore2: Prepare for future KeyMint::KeyPurpose values." am: c8e96a0e13

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1553879

M...

0943c79b2a8c1858e3e0f05fd719c85c6b88b135 authored about 4 years ago
Keystore 2.0: Add attestation application id on generation and import.

Bug: 173546023
Test: Attestation CTS tests.
Change-Id: Ibe94ff452742ef763adb3c59e575d1ea3fb7abb7

212c68b471afd4865c4844460e87daa24a1e9427 authored about 4 years ago
Merge "keystore2: Prepare for future KeyMint::KeyPurpose values."

c8e96a0e135d184a34fe72a9c2d8bbf6e979cef6 authored about 4 years ago
Merge "Keystore 2.0: Legacy support: Tweak to certificate generation." am: 6acc95ae21

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1552675

M...

4c712fe35060b546175c661da8f0bc75dbc01251 authored about 4 years ago
Merge "Keystore 2.0: Add missing context in generated and import key." am: 666877639e

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1551271

M...

113524d9c0cb06e3833ecd4a1af9fd2d255b8475 authored about 4 years ago
Keystore 2.0: Allow by key id usage of granted keys.

When keys are loaded by grant they may be used by key id subsequently.
This patch adds a check o...

45760026eadf09d36df73c488b8a7d3e2034e1b3 authored about 4 years ago
Merge "Keystore 2.0: Legacy support: Tweak to certificate generation."

6acc95ae21398d313368f4e1387a24ba84c101c6 authored about 4 years ago
Merge "Keystore 2.0: Add missing context in generated and import key."

666877639e25b6e88c914e3180c18e5b9da08214 authored about 4 years ago
Merge "Remove myself from OWNERS" am: bda9334779

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1560668

M...

4fa6a53b24f4c6b7aa42bd1c607ae046d047d667 authored about 4 years ago
Merge "Remove myself from OWNERS"

bda933477968017b533867a9bbd9a1fb0ff2691d authored about 4 years ago
Keystore 2.0: Add missing context in generated and import key.

Also small cleanup in enforcements.rs.

Test: N/A
Change-Id: If6afcb5e247402c1201a1a8719e35e369a...

104d8e42d75f78638e1913610202aecf70f868d0 authored about 4 years ago
Keystore 2.0: Legacy support: Tweak to certificate generation.

The legacy wrapper would attempt to self sign certificates based on key
purpose and authorizatio...

dc502d182012bfbf42ff71c4b909ce19c1781ed3 authored about 4 years ago
Remove myself from OWNERS

Bug: 178456376
Bug: 178486685
Change-Id: I9b24d0f46c43383674f2ab6c7374ee0dc648f453
Test: NA

0a1f21381c078d8d71ec4f607739aad59ca572ba authored about 4 years ago
Keystore 2.0: Enforcement for limited use keys.

Bug: b/174140443
Test: atest keystore2_test
Change-Id: I6433b7c7f305d67d8e77277990f732d634801f10

b9433b507b4fafe1408f2dd7c00a05234624b3f9 authored about 4 years ago
Merge "Credstore changes for Android 12" am: eccc5a3f2f

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1464322

M...

f2908518c096f9c60f16213d94a818691dc9e8fe authored about 4 years ago
Merge "Credstore changes for Android 12"

eccc5a3f2f29387f792cf927d7a9d89b6d664a92 authored about 4 years ago
Add AGREE_KEY operation for EC keys.

Bug: 177977728
Test: make
Change-Id: If3bc82db3d513f439e5817f5f1d233253ef13234

a6b83824ac997b7095a61304bd1e103bc07c974f authored about 4 years ago
[automerger skipped] Merge "Specify version for aidl_interface explicitly" am: 2394a331e0 am: c1576b8acc am: 7b5c16378f -s ours

am skip reason: Change-Id Id5b4e82c56659f5b580eb7c0330c3a5ef1b4780e with SHA-1 269e554254 is in ...

ab4d160e3c90b2e36ea7502e0b12e38089c83401 authored about 4 years ago
Merge "Specify version for aidl_interface explicitly" am: 2394a331e0 am: c1576b8acc

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1556159

M...

7b5c16378ffc5d7103cea7837770fe10946153c3 authored about 4 years ago
Merge "Specify version for aidl_interface explicitly" am: 2394a331e0

Original change: https://android-review.googlesource.com/c/platform/system/security/+/1556159

M...

c1576b8acc1a8c507ef781ea087de6210f4443c9 authored about 4 years ago
Merge "Specify version for aidl_interface explicitly"

2394a331e0ee8ea603baf8073014f45bb09b543c authored about 4 years ago
Snap for 7102381 from b1a96082362a299899c8d932ae496719720a5235 to sc-v2-release

Change-Id: I4c68786c812c4df5c1bbcdf42a185e8b847e3f75

7d5ae1d9a8e23559aa3320cae7a74611dcd6d321 authored about 4 years ago
Specify version for aidl_interface explicitly

Bug: 150578172
Test: m
Change-Id: Id5b4e82c56659f5b580eb7c0330c3a5ef1b4780e
Merged-In: Id5b4e82c...

9f632c6e7adbfa3e17bf44811e86fa57fb796687 authored about 4 years ago
Merge "Specify version for aidl_interface explicitly"

1b4f40d5005e82b3dc4e2e52bd489bfa61b759fb authored about 4 years ago