forked from ethersphere/bee
-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: access logic trie #65
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Use DiffieHellmanMock * Adds a comment about Get * Add support for ECDSA public key in DiffieHellman.SharedSecret function * Update defaultAct implementation * Adds pseudo code for Access Logic * Update default Act creation; Fix basic Act tests * Refactor access logic to use new ActMock implementation * feat(history): test mockups wip * Refactor DiffieHellman implementation * changes pseudocode for Diffie-Hellmann read * Co-authored-by: Bálint Ujvári <[email protected]> * DiffieHellman mock generates a real sherd secret * Refactor Act * Adds manifest lookup * Extend act_test * Adds unit tests, some values are mocked * Refactor act mock impl with map[string]map[string]string * Add check mock implementation for DiffieHellman interface * Add Load, Store to Act interface. Refactor Act interface * refactor act, diffieHellman mocks, tests * Add TestLoadStore function to act_test.go * Remove unnecessary code in Load function * Add history mock and History lookup test * Act refactor Co-authored-by: Bálint Ujvári <[email protected]> * Refactor Add method to return Act interface * Change Get method return type to []byte --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Levente Kiss <[email protected]> Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Kexort <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]>
* Use DiffieHellmanMock * Adds a comment about Get * Add support for ECDSA public key in DiffieHellman.SharedSecret function * Update defaultAct implementation * Adds pseudo code for Access Logic * Update default Act creation; Fix basic Act tests * Refactor access logic to use new ActMock implementation * feat(history): test mockups wip * Refactor DiffieHellman implementation * changes pseudocode for Diffie-Hellmann read * Co-authored-by: Bálint Ujvári <[email protected]> * DiffieHellman mock generates a real sherd secret * Refactor Act * Adds manifest lookup * Extend act_test * Adds unit tests, some values are mocked * Refactor act mock impl with map[string]map[string]string * Add check mock implementation for DiffieHellman interface * started Add * changed some sig * save * new grantee addition handling * mod * changed helper function visibilities * some mod with grantee * test mod * save * no error in actInit * Add_New_Grantee_To_Content * comment * copied act_test.go * no compiler errors on our side * Adds Add_New_Grantee_To_Content and ActInit * almost complete grantee container * maybe complete grantee container * Solves merge conflict * access-logic-merge * fix merge issues
ZH ethersphere#106 Added context & details to use cases
* Add grantee management * Added controller test * Fix test fixture, refactor accesslogic * Add UploadHandler --------- Co-authored-by: Bálint Ujvári <[email protected]>
…. The changes have been made in the `accesslogic.go`, `act.go`, `act_test.go`, `history_test.go`, and `mock/act.go` files. (#13) Co-authored-by: Ferenc Sárai <[email protected]>
* (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods --------- Co-authored-by: Ferenc Sárai <[email protected]>
…ystore functions. (#16)
* (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods * Add in-memory storage and implement Store and Load methods * Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]>
* (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods * Add in-memory storage and implement Store and Load methods * *refactor) Rename defaultAct to inMemroryAct --------- Co-authored-by: Ferenc Sárai <[email protected]>
…ession.Key to return correct dimensional byte slice (#18) * (refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return two-dimensional byte slice * (refactor:) Refactor session Key function to use append instead of index-based assignment --------- Co-authored-by: Ferenc Sárai <[email protected]>
* grantee container and access logc tests are passed * refactored access logic and grantee container * PR 19 comments resolving * Refactor * Refactor
* grantee container and access logc tests are passed * refactored access logic and grantee container * PR 19 comments resolving * Refactor * Refactor * working manifest ACT with basic tests * (refactor:) Refactor act_test * (refactor:) Refactor kvs -> kvs.manifest, kvs.memory * (refactror:) kvs * refactor kvs contsructors --------- Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]>
* pr comment fix * add comment to session.NewFromKeystore
Refactors access logic --------- Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Peter Ott <[email protected]>
* grantee-refactor * Dried up code, related to AddPublisher - AddNewGranteeToContent * Refactor * removed getEncryptedAccessKey * Renamed AddGrentees, RemoveGrantees, etc to Add, Remove, etc * (refactor:) PR comments * (refactor:) compile check * removed encrypted_ref, grantee check (validation) * changed interface * comments * some more comments * refactor kvs and add load and store * (refactor:) Use ref * renamed defaultGrantee to granteeList * removed null encrypted test in in TestGet_Error * refactor kvs: pass kvs IF argument instead of storing it * Refactor according to the result of the workshop * refactor kvs IF and mock * fix merge errors and Logic/get_error test * (test:) Add test for put/get after kvs.Save --------- Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Peter Ott <[email protected]>
* (test:) Refactor tests * (fix:) Save reset counter --------- Co-authored-by: Ferenc Sárai <[email protected]>
Adds TestDecryptRefWithGrantee_Success and replaces generateFixPrivateKey with getPrivKey Co-authored-by: Peter Ott <[email protected]>
* Persist grantee list on swarm * accesslogic refactor * Refactor grantee list tests Co-authored-by: Roland Seres <[email protected]>
Co-authored-by: Ferenc Sárai <[email protected]>
feat: Add Act interface feat: Add Marshal, Unmarshal skeleton feat: Refactor AccessType to iota feat: Add upload feat: Rename GenerateAccessControlManifest -> create feat: Add saltLengthIs32 feat: Add Mrshal, Unmarshal impl feat: Add Marshal Unmarshal feat: Remove ManifestEntry json annotations feat: Modify to public finc/method feat: Add ErrSaltLength Add pkg/dynamicaccess Refactor interfaces and implement default structs Refactor typo Refactor History package to use NewHistory() function Add Act interface and default implementation Add ACT use cases to act_ucs.md Add new files and implement interfaces, refactor packeges Update act_ucs.md base usecases Refactor access logic and add mock implementations*** Add DiffieHellman implementation and remove Keystore*** Refactor NewAccessLogic function Replace encryption.go to pkg/encryption Refactor packages Update act_ucs.md Update act_ucs.md Update act_ucs.md Update act_ucs.md Update act_ucs.md
* feat: add act.go with TODOs feat: Add Act interface feat: Add Marshal, Unmarshal skeleton feat: Refactor AccessType to iota feat: Add upload feat: Rename GenerateAccessControlManifest -> create feat: Add saltLengthIs32 feat: Add Mrshal, Unmarshal impl feat: Add Marshal Unmarshal feat: Remove ManifestEntry json annotations feat: Modify to public finc/method feat: Add ErrSaltLength Add pkg/dynamicaccess Refactor interfaces and implement default structs Refactor typo Refactor History package to use NewHistory() function Add Act interface and default implementation Add ACT use cases to act_ucs.md Add new files and implement interfaces, refactor packeges Update act_ucs.md base usecases Refactor access logic and add mock implementations*** Add DiffieHellman implementation and remove Keystore*** Refactor NewAccessLogic function Replace encryption.go to pkg/encryption Refactor packages Update act_ucs.md Update act_ucs.md Update act_ucs.md Update act_ucs.md Update act_ucs.md * Diffie-Hellman (#3) * Use DiffieHellmanMock * Adds a comment about Get * Add support for ECDSA public key in DiffieHellman.SharedSecret function * Update defaultAct implementation * Adds pseudo code for Access Logic * Update default Act creation; Fix basic Act tests * Refactor access logic to use new ActMock implementation * feat(history): test mockups wip * Refactor DiffieHellman implementation * changes pseudocode for Diffie-Hellmann read * Co-authored-by: Bálint Ujvári <[email protected]> * DiffieHellman mock generates a real sherd secret * Refactor Act * Adds manifest lookup * Extend act_test * Adds unit tests, some values are mocked * Refactor act mock impl with map[string]map[string]string * Add check mock implementation for DiffieHellman interface * Add Load, Store to Act interface. Refactor Act interface * refactor act, diffieHellman mocks, tests * Add TestLoadStore function to act_test.go * Remove unnecessary code in Load function * Add history mock and History lookup test * Act refactor Co-authored-by: Bálint Ujvári <[email protected]> * Refactor Add method to return Act interface * Change Get method return type to []byte --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Levente Kiss <[email protected]> Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Kexort <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> * Acces Logic (#8) * Use DiffieHellmanMock * Adds a comment about Get * Add support for ECDSA public key in DiffieHellman.SharedSecret function * Update defaultAct implementation * Adds pseudo code for Access Logic * Update default Act creation; Fix basic Act tests * Refactor access logic to use new ActMock implementation * feat(history): test mockups wip * Refactor DiffieHellman implementation * changes pseudocode for Diffie-Hellmann read * Co-authored-by: Bálint Ujvári <[email protected]> * DiffieHellman mock generates a real sherd secret * Refactor Act * Adds manifest lookup * Extend act_test * Adds unit tests, some values are mocked * Refactor act mock impl with map[string]map[string]string * Add check mock implementation for DiffieHellman interface * started Add * changed some sig * save * new grantee addition handling * mod * changed helper function visibilities * some mod with grantee * test mod * save * no error in actInit * Add_New_Grantee_To_Content * comment * copied act_test.go * no compiler errors on our side * Adds Add_New_Grantee_To_Content and ActInit * almost complete grantee container * maybe complete grantee container * Solves merge conflict * access-logic-merge * fix merge issues * Added context & details to use cases (#6) ZH ethersphere#106 Added context & details to use cases * Add grantee management (#10) * Add grantee management * Added controller test * Fix test fixture, refactor accesslogic * Add UploadHandler --------- Co-authored-by: Bálint Ujvári <[email protected]> * (refactor): from `Get` to `Lookup` to improve clarity and consistency. The changes have been made in the `accesslogic.go`, `act.go`, `act_test.go`, `history_test.go`, and `mock/act.go` files. (#13) Co-authored-by: Ferenc Sárai <[email protected]> * Act params rename doc (#14) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods --------- Co-authored-by: Ferenc Sárai <[email protected]> * Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. (#16) * Act swarm address (#15) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods * Add in-memory storage and implement Store and Load methods * Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> * (rename): defaultAct to inMemoryAct (#17) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods * Add in-memory storage and implement Store and Load methods * *refactor) Rename defaultAct to inMemroryAct --------- Co-authored-by: Ferenc Sárai <[email protected]> * (refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return correct dimensional byte slice (#18) * (refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return two-dimensional byte slice * (refactor:) Refactor session Key function to use append instead of index-based assignment --------- Co-authored-by: Ferenc Sárai <[email protected]> * Act access logic merge (#19) * grantee container and access logc tests are passed * refactored access logic and grantee container * PR 19 comments resolving * Refactor * Refactor * Act kvs merge (#22) * grantee container and access logc tests are passed * refactored access logic and grantee container * PR 19 comments resolving * Refactor * Refactor * working manifest ACT with basic tests * (refactor:) Refactor act_test * (refactor:) Refactor kvs -> kvs.manifest, kvs.memory * (refactror:) kvs * refactor kvs contsructors --------- Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> * Session refactor (#24) * pr comment fix * add comment to session.NewFromKeystore * Access logic refactor (#25) Refactors access logic --------- Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Peter Ott <[email protected]> * (refactor:) PR comments (#23) * grantee-refactor * Dried up code, related to AddPublisher - AddNewGranteeToContent * Refactor * removed getEncryptedAccessKey * Renamed AddGrentees, RemoveGrantees, etc to Add, Remove, etc * (refactor:) PR comments * (refactor:) compile check * removed encrypted_ref, grantee check (validation) * changed interface * comments * some more comments * refactor kvs and add load and store * (refactor:) Use ref * renamed defaultGrantee to granteeList * removed null encrypted test in in TestGet_Error * refactor kvs: pass kvs IF argument instead of storing it * Refactor according to the result of the workshop * refactor kvs IF and mock * fix merge errors and Logic/get_error test * (test:) Add test for put/get after kvs.Save --------- Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Peter Ott <[email protected]> * Add referenced mock kvs (#26) * add controller upload test * compile * Add test for grantee * Add Upload test * Implement controller logic, move grantee management * Act kvs test (#27) * (test:) Refactor tests * (fix:) Save reset counter --------- Co-authored-by: Ferenc Sárai <[email protected]> * feat: add history lookup and add * feat: expose mantaray manifest * Small refactor + al test (#28) Adds TestDecryptRefWithGrantee_Success and replaces generateFixPrivateKey with getPrivKey Co-authored-by: Peter Ott <[email protected]> * chore: tests + minor fixes * chore: minor test change * feat: history with reference * chore: debugging * Persist grantee list on swarm (#30) * Persist grantee list on swarm * accesslogic refactor * Refactor grantee list tests Co-authored-by: Roland Seres <[email protected]> * Merging Swarm 2.0 master (#32) * fix(stamper): global lock stamper across multiple upload sessions (ethersphere#4578) * fix: strategy and fetch timeout parsing (ethersphere#4579) * feat: neighborhood suggester config (ethersphere#4580) * feat: add codeql.yml (ethersphere#4334) * feat: add reserveSizeWithinRadius to status protocol (ethersphere#4585) * fix: missing 200 response (ethersphere#4526) * feat: pinned reference integrity check API (ethersphere#4573) * fix(redundancy/getter): wait for recovery and return error (ethersphere#4581) * fix(pushsync): store the chunk locally when no peers are available fo… (ethersphere#4597) * fix(redundancy): on by default when downloading (ethersphere#4602) * fix: add missing openapi spec (ethersphere#4598) * feat: bzz resource info API (ethersphere#4588) * fix(redundancy): bzz unit test (ethersphere#4603) * feat: redundancy ci (ethersphere#4591) * chore: bump github.com/quic-go/quic-go from 0.38.1 to 0.38.2 (ethersphere#4534) * feat: split input file to chunks with specified redundancy (ethersphere#4600) * perf(getter): cancel inflight requests if enough chunks are fetched for recovery (ethersphere#4608) * fix: store dir error info (ethersphere#4605) * chore: remove repetitive words (ethersphere#4611) * fix: use neighborhood suggester only on mainnet (ethersphere#4612) * feat: alternative withdrawal address (ethersphere#4606) * fix(seg65) (ethersphere#4604) * fix(getter): redundancy getter cleanup (ethersphere#4610) * feat: v2 (ethersphere#4615) * fix(pin_integrity): changed route and added openapi (ethersphere#4616) * fix: missing v2 in the makefile and goreleaser (ethersphere#4622) * chore: package update * Update package imports to use the v2 version of the modules (#33) Co-authored-by: Ferenc Sárai <[email protected]> * fix walkfn with key sort * feat: new option to walk nodes of mantaray in sequence * feat: add latest timestamp check * chore: uncomment wip stuff * chore: requested changes * test: fix to latest adjustment * Add ctrl logic * Add dac service * Continue add ACT handler * chore: use ZeroAddress * chore: make var name more general * connect api test with dac service * refactor ctrl based on history v2 * Fix: controller upload download flow + basic tests * hacked mock dac service for simple upload and download * Insert act uploadhandler into /bzz endpoint and remove uphandler * Refactor controller and api; enrypt and rLevel passed on during up/download * Connect Get,Head,Post endpoints with ACT * Add: act to devnode * devnode: close dac during shutdown * pass decrypted ref in r.ctx * set address ctx as swarm address * refactor: call actEncrpytionHandler in every endpoint * typo and comment fix in dynamicaccess * Add: mock dynamicaccess service and api tests * Add: TestDacEachEndpointWithAct; fixed some review comments * Add ACT head test for endpoints * CHG: first encrypt via ACT then upload normal reference * FIX: apiservice.dac nil error --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Levente Kiss <[email protected]> Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Kexort <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: András Arányi <[email protected]> Co-authored-by: rolandlor <[email protected]> Co-authored-by: Peter Ott <[email protected]>
* Refactor: newreference pattern for history, kvs, grantee * CHG: history metadata to store granteelist reference * History test with metadata * Remove putter from grantee
* implement grantee management * Add POST endpoint + fixes * Save grantees as pubkey list and fix remove error; CHG: act-handler logger names * Refactor: pass getter, putter to controller functions * Refactor: error handling in dynamicaccess; Read cache header only for download handlers * CHG: grantees ref is encrypted and added to history ref + tests * Fix nil pointer dereference panic * CHG: put actref in handlegrantees; Add: pin, tag,deferred headers * CHG: pass loadsave to handlers; check if history address is nil * FIX: re-init history so that it can be saved; only add publisher if histroy is zero * make act timestamp optional * fix revoke grantees * Fix: Act timestamp header nil check; Uploadhandler UT * Fix controller nil pointer deref --------- Co-authored-by: Bálint Ujvári <[email protected]>
refactor: refactoring to match new linter rules according to #38 Not everything is fixed, just a reference what can and needs to be improved. * implement grantee management * Add POST endpoint + fixes * Save grantees as pubkey list and fix remove error; CHG: act-handler logger names * Refactor: pass getter, putter to controller functions * Refactor: error handling in dynamicaccess; Read cache header only for download handlers * CHG: grantees ref is encrypted and added to history ref + tests * Fix nil pointer dereference panic * CHG: put actref in handlegrantees; Add: pin, tag,deferred headers * CHG: pass loadsave to handlers; check if history address is nil * FIX: re-init history so that it can be saved; only add publisher if histroy is zero * make act timestamp optional * fix revoke grantees * Fix: Act timestamp header nil check; Uploadhandler UT * refactor: start refactoring for now linter rules * refactor: revert non ACT related files * CHG: accesslogic getkeys refactor * refactor: fix errcheck and ineffassign linter errors in most cases * refactor: add headers, and change error handling * refactor: add headers --------- Co-authored-by: Kexort <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]>
refactor(act): typos, docs, removed unused import aliases
* Refactor naming and fix remaining PR comments * use ctx in grantees.get * remove act_ucs.md
docs(act): add incoming act headers to openapi docs(act): add act headers to upload endpoints in openapi docs(act): add act grantee list endpoints to openapi
* refactor(act): fix pr comments * refactor(act): fix linter errors * refactor(act): move kvs to accesscontrol as a subpackage * refactor(act): typo and comment fix
# Conflicts: # openapi/Swarm.yaml # openapi/SwarmDebug.yaml # pkg/api/router.go # pkg/node/devnode.go
Diffie-Hellman (#3) * Use DiffieHellmanMock * Adds a comment about Get * Add support for ECDSA public key in DiffieHellman.SharedSecret function * Update defaultAct implementation * Adds pseudo code for Access Logic * Update default Act creation; Fix basic Act tests * Refactor access logic to use new ActMock implementation * feat(history): test mockups wip * Refactor DiffieHellman implementation * changes pseudocode for Diffie-Hellmann read * Co-authored-by: Bálint Ujvári <[email protected]> * DiffieHellman mock generates a real sherd secret * Refactor Act * Adds manifest lookup * Extend act_test * Adds unit tests, some values are mocked * Refactor act mock impl with map[string]map[string]string * Add check mock implementation for DiffieHellman interface * Add Load, Store to Act interface. Refactor Act interface * refactor act, diffieHellman mocks, tests * Add TestLoadStore function to act_test.go * Remove unnecessary code in Load function * Add history mock and History lookup test * Act refactor Co-authored-by: Bálint Ujvári <[email protected]> * Refactor Add method to return Act interface * Change Get method return type to []byte --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Levente Kiss <[email protected]> Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Kexort <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Acces Logic (#8) * Use DiffieHellmanMock * Adds a comment about Get * Add support for ECDSA public key in DiffieHellman.SharedSecret function * Update defaultAct implementation * Adds pseudo code for Access Logic * Update default Act creation; Fix basic Act tests * Refactor access logic to use new ActMock implementation * feat(history): test mockups wip * Refactor DiffieHellman implementation * changes pseudocode for Diffie-Hellmann read * Co-authored-by: Bálint Ujvári <[email protected]> * DiffieHellman mock generates a real sherd secret * Refactor Act * Adds manifest lookup * Extend act_test * Adds unit tests, some values are mocked * Refactor act mock impl with map[string]map[string]string * Add check mock implementation for DiffieHellman interface * started Add * changed some sig * save * new grantee addition handling * mod * changed helper function visibilities * some mod with grantee * test mod * save * no error in actInit * Add_New_Grantee_To_Content * comment * copied act_test.go * no compiler errors on our side * Adds Add_New_Grantee_To_Content and ActInit * almost complete grantee container * maybe complete grantee container * Solves merge conflict * access-logic-merge * fix merge issues Added context & details to use cases (#6) ZH ethersphere#106 Added context & details to use cases Add grantee management (#10) * Add grantee management * Added controller test * Fix test fixture, refactor accesslogic * Add UploadHandler --------- Co-authored-by: Bálint Ujvári <[email protected]> (refactor): from `Get` to `Lookup` to improve clarity and consistency. The changes have been made in the `accesslogic.go`, `act.go`, `act_test.go`, `history_test.go`, and `mock/act.go` files. (#13) Co-authored-by: Ferenc Sárai <[email protected]> Act params rename doc (#14) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods --------- Co-authored-by: Ferenc Sárai <[email protected]> Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. (#16) Act swarm address (#15) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods * Add in-memory storage and implement Store and Load methods * Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> (rename): defaultAct to inMemoryAct (#17) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods * Add in-memory storage and implement Store and Load methods * *refactor) Rename defaultAct to inMemroryAct --------- Co-authored-by: Ferenc Sárai <[email protected]> (refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return correct dimensional byte slice (#18) * (refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return two-dimensional byte slice * (refactor:) Refactor session Key function to use append instead of index-based assignment --------- Co-authored-by: Ferenc Sárai <[email protected]> Act access logic merge (#19) * grantee container and access logc tests are passed * refactored access logic and grantee container * PR 19 comments resolving * Refactor * Refactor Act kvs merge (#22) * grantee container and access logc tests are passed * refactored access logic and grantee container * PR 19 comments resolving * Refactor * Refactor * working manifest ACT with basic tests * (refactor:) Refactor act_test * (refactor:) Refactor kvs -> kvs.manifest, kvs.memory * (refactror:) kvs * refactor kvs contsructors --------- Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Session refactor (#24) * pr comment fix * add comment to session.NewFromKeystore Access logic refactor (#25) Refactors access logic --------- Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Peter Ott <[email protected]> (refactor:) PR comments (#23) * grantee-refactor * Dried up code, related to AddPublisher - AddNewGranteeToContent * Refactor * removed getEncryptedAccessKey * Renamed AddGrentees, RemoveGrantees, etc to Add, Remove, etc * (refactor:) PR comments * (refactor:) compile check * removed encrypted_ref, grantee check (validation) * changed interface * comments * some more comments * refactor kvs and add load and store * (refactor:) Use ref * renamed defaultGrantee to granteeList * removed null encrypted test in in TestGet_Error * refactor kvs: pass kvs IF argument instead of storing it * Refactor according to the result of the workshop * refactor kvs IF and mock * fix merge errors and Logic/get_error test * (test:) Add test for put/get after kvs.Save --------- Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Peter Ott <[email protected]> Add referenced mock kvs (#26) Act kvs test (#27) * (test:) Refactor tests * (fix:) Save reset counter --------- Co-authored-by: Ferenc Sárai <[email protected]> Small refactor + al test (#28) Adds TestDecryptRefWithGrantee_Success and replaces generateFixPrivateKey with getPrivKey Co-authored-by: Peter Ott <[email protected]> Persist grantee list on swarm (#30) * Persist grantee list on swarm * accesslogic refactor * Refactor grantee list tests Co-authored-by: Roland Seres <[email protected]> Update package imports to use the v2 version of the modules (#33) Co-authored-by: Ferenc Sárai <[email protected]> chore(mantaray): merge mantaray fix for rebase Dynamicaccess service for ACT (#35) * feat: add act.go with TODOs feat: Add Act interface feat: Add Marshal, Unmarshal skeleton feat: Refactor AccessType to iota feat: Add upload feat: Rename GenerateAccessControlManifest -> create feat: Add saltLengthIs32 feat: Add Mrshal, Unmarshal impl feat: Add Marshal Unmarshal feat: Remove ManifestEntry json annotations feat: Modify to public finc/method feat: Add ErrSaltLength Add pkg/dynamicaccess Refactor interfaces and implement default structs Refactor typo Refactor History package to use NewHistory() function Add Act interface and default implementation Add ACT use cases to act_ucs.md Add new files and implement interfaces, refactor packeges Update act_ucs.md base usecases Refactor access logic and add mock implementations*** Add DiffieHellman implementation and remove Keystore*** Refactor NewAccessLogic function Replace encryption.go to pkg/encryption Refactor packages Update act_ucs.md Update act_ucs.md Update act_ucs.md Update act_ucs.md Update act_ucs.md * Diffie-Hellman (#3) * Use DiffieHellmanMock * Adds a comment about Get * Add support for ECDSA public key in DiffieHellman.SharedSecret function * Update defaultAct implementation * Adds pseudo code for Access Logic * Update default Act creation; Fix basic Act tests * Refactor access logic to use new ActMock implementation * feat(history): test mockups wip * Refactor DiffieHellman implementation * changes pseudocode for Diffie-Hellmann read * Co-authored-by: Bálint Ujvári <[email protected]> * DiffieHellman mock generates a real sherd secret * Refactor Act * Adds manifest lookup * Extend act_test * Adds unit tests, some values are mocked * Refactor act mock impl with map[string]map[string]string * Add check mock implementation for DiffieHellman interface * Add Load, Store to Act interface. Refactor Act interface * refactor act, diffieHellman mocks, tests * Add TestLoadStore function to act_test.go * Remove unnecessary code in Load function * Add history mock and History lookup test * Act refactor Co-authored-by: Bálint Ujvári <[email protected]> * Refactor Add method to return Act interface * Change Get method return type to []byte --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Levente Kiss <[email protected]> Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Kexort <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> * Acces Logic (#8) * Use DiffieHellmanMock * Adds a comment about Get * Add support for ECDSA public key in DiffieHellman.SharedSecret function * Update defaultAct implementation * Adds pseudo code for Access Logic * Update default Act creation; Fix basic Act tests * Refactor access logic to use new ActMock implementation * feat(history): test mockups wip * Refactor DiffieHellman implementation * changes pseudocode for Diffie-Hellmann read * Co-authored-by: Bálint Ujvári <[email protected]> * DiffieHellman mock generates a real sherd secret * Refactor Act * Adds manifest lookup * Extend act_test * Adds unit tests, some values are mocked * Refactor act mock impl with map[string]map[string]string * Add check mock implementation for DiffieHellman interface * started Add * changed some sig * save * new grantee addition handling * mod * changed helper function visibilities * some mod with grantee * test mod * save * no error in actInit * Add_New_Grantee_To_Content * comment * copied act_test.go * no compiler errors on our side * Adds Add_New_Grantee_To_Content and ActInit * almost complete grantee container * maybe complete grantee container * Solves merge conflict * access-logic-merge * fix merge issues * Added context & details to use cases (#6) ZH ethersphere#106 Added context & details to use cases * Add grantee management (#10) * Add grantee management * Added controller test * Fix test fixture, refactor accesslogic * Add UploadHandler --------- Co-authored-by: Bálint Ujvári <[email protected]> * (refactor): from `Get` to `Lookup` to improve clarity and consistency. The changes have been made in the `accesslogic.go`, `act.go`, `act_test.go`, `history_test.go`, and `mock/act.go` files. (#13) Co-authored-by: Ferenc Sárai <[email protected]> * Act params rename doc (#14) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods --------- Co-authored-by: Ferenc Sárai <[email protected]> * Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. (#16) * Act swarm address (#15) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods * Add in-memory storage and implement Store and Load methods * Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> * (rename): defaultAct to inMemoryAct (#17) * (refactor): ACT interface params + add doc comments * Revert "(refactor): ACT interface params + add doc comments" This reverts commit ee8da04. * (refactor): ACT interface params + add doc comments * (refactor): Add error to ACT interface methods * Add in-memory storage and implement Store and Load methods * *refactor) Rename defaultAct to inMemroryAct --------- Co-authored-by: Ferenc Sárai <[email protected]> * (refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return correct dimensional byte slice (#18) * (refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return two-dimensional byte slice * (refactor:) Refactor session Key function to use append instead of index-based assignment --------- Co-authored-by: Ferenc Sárai <[email protected]> * Act access logic merge (#19) * grantee container and access logc tests are passed * refactored access logic and grantee container * PR 19 comments resolving * Refactor * Refactor * Act kvs merge (#22) * grantee container and access logc tests are passed * refactored access logic and grantee container * PR 19 comments resolving * Refactor * Refactor * working manifest ACT with basic tests * (refactor:) Refactor act_test * (refactor:) Refactor kvs -> kvs.manifest, kvs.memory * (refactror:) kvs * refactor kvs contsructors --------- Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> * Session refactor (#24) * pr comment fix * add comment to session.NewFromKeystore * Access logic refactor (#25) Refactors access logic --------- Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Peter Ott <[email protected]> * (refactor:) PR comments (#23) * grantee-refactor * Dried up code, related to AddPublisher - AddNewGranteeToContent * Refactor * removed getEncryptedAccessKey * Renamed AddGrentees, RemoveGrantees, etc to Add, Remove, etc * (refactor:) PR comments * (refactor:) compile check * removed encrypted_ref, grantee check (validation) * changed interface * comments * some more comments * refactor kvs and add load and store * (refactor:) Use ref * renamed defaultGrantee to granteeList * removed null encrypted test in in TestGet_Error * refactor kvs: pass kvs IF argument instead of storing it * Refactor according to the result of the workshop * refactor kvs IF and mock * fix merge errors and Logic/get_error test * (test:) Add test for put/get after kvs.Save --------- Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: Peter Ott <[email protected]> * Add referenced mock kvs (#26) * add controller upload test * compile * Add test for grantee * Add Upload test * Implement controller logic, move grantee management * Act kvs test (#27) * (test:) Refactor tests * (fix:) Save reset counter --------- Co-authored-by: Ferenc Sárai <[email protected]> * feat: add history lookup and add * feat: expose mantaray manifest * Small refactor + al test (#28) Adds TestDecryptRefWithGrantee_Success and replaces generateFixPrivateKey with getPrivKey Co-authored-by: Peter Ott <[email protected]> * chore: tests + minor fixes * chore: minor test change * feat: history with reference * chore: debugging * Persist grantee list on swarm (#30) * Persist grantee list on swarm * accesslogic refactor * Refactor grantee list tests Co-authored-by: Roland Seres <[email protected]> * Merging Swarm 2.0 master (#32) * fix(stamper): global lock stamper across multiple upload sessions (ethersphere#4578) * fix: strategy and fetch timeout parsing (ethersphere#4579) * feat: neighborhood suggester config (ethersphere#4580) * feat: add codeql.yml (ethersphere#4334) * feat: add reserveSizeWithinRadius to status protocol (ethersphere#4585) * fix: missing 200 response (ethersphere#4526) * feat: pinned reference integrity check API (ethersphere#4573) * fix(redundancy/getter): wait for recovery and return error (ethersphere#4581) * fix(pushsync): store the chunk locally when no peers are available fo… (ethersphere#4597) * fix(redundancy): on by default when downloading (ethersphere#4602) * fix: add missing openapi spec (ethersphere#4598) * feat: bzz resource info API (ethersphere#4588) * fix(redundancy): bzz unit test (ethersphere#4603) * feat: redundancy ci (ethersphere#4591) * chore: bump github.com/quic-go/quic-go from 0.38.1 to 0.38.2 (ethersphere#4534) * feat: split input file to chunks with specified redundancy (ethersphere#4600) * perf(getter): cancel inflight requests if enough chunks are fetched for recovery (ethersphere#4608) * fix: store dir error info (ethersphere#4605) * chore: remove repetitive words (ethersphere#4611) * fix: use neighborhood suggester only on mainnet (ethersphere#4612) * feat: alternative withdrawal address (ethersphere#4606) * fix(seg65) (ethersphere#4604) * fix(getter): redundancy getter cleanup (ethersphere#4610) * feat: v2 (ethersphere#4615) * fix(pin_integrity): changed route and added openapi (ethersphere#4616) * fix: missing v2 in the makefile and goreleaser (ethersphere#4622) * chore: package update * Update package imports to use the v2 version of the modules (#33) Co-authored-by: Ferenc Sárai <[email protected]> * fix walkfn with key sort * feat: new option to walk nodes of mantaray in sequence * feat: add latest timestamp check * chore: uncomment wip stuff * chore: requested changes * test: fix to latest adjustment * Add ctrl logic * Add dac service * Continue add ACT handler * chore: use ZeroAddress * chore: make var name more general * connect api test with dac service * refactor ctrl based on history v2 * Fix: controller upload download flow + basic tests * hacked mock dac service for simple upload and download * Insert act uploadhandler into /bzz endpoint and remove uphandler * Refactor controller and api; enrypt and rLevel passed on during up/download * Connect Get,Head,Post endpoints with ACT * Add: act to devnode * devnode: close dac during shutdown * pass decrypted ref in r.ctx * set address ctx as swarm address * refactor: call actEncrpytionHandler in every endpoint * typo and comment fix in dynamicaccess * Add: mock dynamicaccess service and api tests * Add: TestDacEachEndpointWithAct; fixed some review comments * Add ACT head test for endpoints * CHG: first encrypt via ACT then upload normal reference * FIX: apiservice.dac nil error --------- Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Ferenc Sárai <[email protected]> Co-authored-by: Peter Ott <[email protected]> Co-authored-by: Levente Kiss <[email protected]> Co-authored-by: Roland Seres <[email protected]> Co-authored-by: Kexort <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> Co-authored-by: András Arányi <[email protected]> Co-authored-by: rolandlor <[email protected]> Co-authored-by: Peter Ott <[email protected]> Act refactor api and ctrl (#36) * Refactor: newreference pattern for history, kvs, grantee * CHG: history metadata to store granteelist reference * History test with metadata * Remove putter from grantee ACT grantee management (#37) * implement grantee management * Add POST endpoint + fixes * Save grantees as pubkey list and fix remove error; CHG: act-handler logger names * Refactor: pass getter, putter to controller functions * Refactor: error handling in dynamicaccess; Read cache header only for download handlers * CHG: grantees ref is encrypted and added to history ref + tests * Fix nil pointer dereference panic * CHG: put actref in handlegrantees; Add: pin, tag,deferred headers * CHG: pass loadsave to handlers; check if history address is nil * FIX: re-init history so that it can be saved; only add publisher if histroy is zero * make act timestamp optional * fix revoke grantees * Fix: Act timestamp header nil check; Uploadhandler UT * Fix controller nil pointer deref --------- Co-authored-by: Bálint Ujvári <[email protected]> Start refactoring for new linter rules (#39) refactor: refactoring to match new linter rules according to #38 Not everything is fixed, just a reference what can and needs to be improved. * implement grantee management * Add POST endpoint + fixes * Save grantees as pubkey list and fix remove error; CHG: act-handler logger names * Refactor: pass getter, putter to controller functions * Refactor: error handling in dynamicaccess; Read cache header only for download handlers * CHG: grantees ref is encrypted and added to history ref + tests * Fix nil pointer dereference panic * CHG: put actref in handlegrantees; Add: pin, tag,deferred headers * CHG: pass loadsave to handlers; check if history address is nil * FIX: re-init history so that it can be saved; only add publisher if histroy is zero * make act timestamp optional * fix revoke grantees * Fix: Act timestamp header nil check; Uploadhandler UT * refactor: start refactoring for now linter rules * refactor: revert non ACT related files * CHG: accesslogic getkeys refactor * refactor: fix errcheck and ineffassign linter errors in most cases * refactor: add headers, and change error handling * refactor: add headers --------- Co-authored-by: Kexort <[email protected]> Co-authored-by: Bálint Ujvári <[email protected]> refactor(act): typos & docs (#40) refactor(act): typos, docs, removed unused import aliases refactor(act): naming and fix remaining PR comments (#42) * Refactor naming and fix remaining PR comments * use ctx in grantees.get * remove act_ucs.md Refactor accesslogic.AddGrantee and parallelize tests (#43) docs(act): add act api to openapi (#44) docs(act): add incoming act headers to openapi docs(act): add act headers to upload endpoints in openapi docs(act): add act grantee list endpoints to openapi refactor(act): chunk download and granteelist handling (#46) refactor(act): controller logic (#47) test(act): controller add, revoke and get with history + fix typos (#48) refactor(act): fix pr comments (#50) * refactor(act): fix pr comments * refactor(act): fix linter errors * refactor(act): move kvs to accesscontrol as a subpackage * refactor(act): typo and comment fix chore: bump protobuf version to 1.33.0 (ethersphere#4613) (ethersphere#4688) fix: save stamp issuer after failed uploads (ethersphere#4684) chore: pre-release updates (ethersphere#4675) chore: bump go ethereum version to 1.14.3 (ethersphere#4661) (ethersphere#4689) fix: allow maxMultiplexForwards to be set to zero (ethersphere#4682) chore: bump go version to 1.22 (ethersphere#4590) (ethersphere#4687) feat: remove debug api (ethersphere#4674) feat: remove auth (ethersphere#4679) doc(act): add grantee endpoint to openapi (#62) ci: disable commit linting (temporarily) (#63) refactor(act): error handling and testing (#64)
aranyia
force-pushed
the
act
branch
2 times, most recently
from
July 9, 2024 14:19
8f6be5b
to
20e42fa
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Diffie-Hellman (#3)
Use DiffieHellmanMock
Adds a comment about Get
Add support for ECDSA public key in DiffieHellman.SharedSecret function
Update defaultAct implementation
Adds pseudo code for Access Logic
Update default Act creation; Fix basic Act tests
Refactor access logic to use new ActMock implementation
feat(history): test mockups wip
Refactor DiffieHellman implementation
changes pseudocode for Diffie-Hellmann read
Co-authored-by: Bálint Ujvári [email protected]
DiffieHellman mock generates a real sherd secret
Refactor Act
Adds manifest lookup
Extend act_test
Adds unit tests, some values are mocked
Refactor act mock impl with map[string]map[string]string
Add check mock implementation for DiffieHellman interface
Add Load, Store to Act interface. Refactor Act interface
refactor act, diffieHellman mocks, tests
Add TestLoadStore function to act_test.go
Remove unnecessary code in Load function
Add history mock and History lookup test
Act refactor
Co-authored-by: Bálint Ujvári [email protected]
Refactor Add method to return Act interface
Change Get method return type to []byte
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Peter Ott [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: Levente Kiss [email protected]
Co-authored-by: Roland Seres [email protected]
Co-authored-by: Kexort [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Acces Logic (#8)
Use DiffieHellmanMock
Adds a comment about Get
Add support for ECDSA public key in DiffieHellman.SharedSecret function
Update defaultAct implementation
Adds pseudo code for Access Logic
Update default Act creation; Fix basic Act tests
Refactor access logic to use new ActMock implementation
feat(history): test mockups wip
Refactor DiffieHellman implementation
changes pseudocode for Diffie-Hellmann read
Co-authored-by: Bálint Ujvári [email protected]
DiffieHellman mock generates a real sherd secret
Refactor Act
Adds manifest lookup
Extend act_test
Adds unit tests, some values are mocked
Refactor act mock impl with map[string]map[string]string
Add check mock implementation for DiffieHellman interface
started Add
changed some sig
save
new grantee addition handling
mod
changed helper function visibilities
some mod with grantee
test mod
save
no error in actInit
Add_New_Grantee_To_Content
comment
copied act_test.go
no compiler errors on our side
Adds Add_New_Grantee_To_Content and ActInit
almost complete grantee container
maybe complete grantee container
Solves merge conflict
access-logic-merge
fix merge issues
Added context & details to use cases (#6)
ZH ethersphere#106 Added context & details to use cases
Add grantee management (#10)
Add grantee management
Added controller test
Fix test fixture, refactor accesslogic
Add UploadHandler
Co-authored-by: Bálint Ujvári [email protected]
(refactor): from
Get
toLookup
to improve clarity and consistency. The changes have been made in theaccesslogic.go
,act.go
,act_test.go
,history_test.go
, andmock/act.go
files. (#13)Co-authored-by: Ferenc Sárai [email protected]
Act params rename doc (#14)
(refactor): ACT interface params + add doc comments
Revert "(refactor): ACT interface params + add doc comments"
This reverts commit ee8da04.
(refactor): ACT interface params + add doc comments
(refactor): Add error to ACT interface methods
Co-authored-by: Ferenc Sárai [email protected]
Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. (#16)
Act swarm address (#15)
(refactor): ACT interface params + add doc comments
Revert "(refactor): ACT interface params + add doc comments"
This reverts commit ee8da04.
(refactor): ACT interface params + add doc comments
(refactor): Add error to ACT interface methods
Add in-memory storage and implement Store and Load methods
Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions.
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Bálint Ujvári [email protected]
(rename): defaultAct to inMemoryAct (#17)
(refactor): ACT interface params + add doc comments
Revert "(refactor): ACT interface params + add doc comments"
This reverts commit ee8da04.
(refactor): ACT interface params + add doc comments
(refactor): Add error to ACT interface methods
Add in-memory storage and implement Store and Load methods
*refactor) Rename defaultAct to inMemroryAct
Co-authored-by: Ferenc Sárai [email protected]
(refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return correct dimensional byte slice (#18)
(refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return two-dimensional byte slice
(refactor:) Refactor session Key function to use append instead of index-based assignment
Co-authored-by: Ferenc Sárai [email protected]
Act access logic merge (#19)
grantee container and access logc tests are passed
refactored access logic and grantee container
PR 19 comments resolving
Refactor
Refactor
Act kvs merge (#22)
grantee container and access logc tests are passed
refactored access logic and grantee container
PR 19 comments resolving
Refactor
Refactor
working manifest ACT with basic tests
(refactor:) Refactor act_test
(refactor:) Refactor kvs -> kvs.manifest, kvs.memory
(refactror:) kvs
refactor kvs contsructors
Co-authored-by: Roland Seres [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: Ferenc Sárai [email protected]
Session refactor (#24)
pr comment fix
add comment to session.NewFromKeystore
Access logic refactor (#25)
Refactors access logic
Co-authored-by: Peter Ott [email protected]
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: Peter Ott [email protected]
(refactor:) PR comments (#23)
grantee-refactor
Dried up code, related to AddPublisher - AddNewGranteeToContent
Refactor
removed getEncryptedAccessKey
Renamed AddGrentees, RemoveGrantees, etc to Add, Remove, etc
(refactor:) PR comments
(refactor:) compile check
removed encrypted_ref, grantee check (validation)
changed interface
comments
some more comments
refactor kvs and add load and store
(refactor:) Use ref
renamed defaultGrantee to granteeList
removed null encrypted test in in TestGet_Error
refactor kvs: pass kvs IF argument instead of storing it
Refactor according to the result of the workshop
refactor kvs IF and mock
fix merge errors and Logic/get_error test
(test:) Add test for put/get after kvs.Save
Co-authored-by: Roland Seres [email protected]
Co-authored-by: Peter Ott [email protected]
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: Peter Ott [email protected]
Add referenced mock kvs (#26)
Act kvs test (#27)
(test:) Refactor tests
(fix:) Save reset counter
Co-authored-by: Ferenc Sárai [email protected]
Small refactor + al test (#28)
Adds TestDecryptRefWithGrantee_Success and replaces generateFixPrivateKey with getPrivKey
Co-authored-by: Peter Ott [email protected]
Persist grantee list on swarm (#30)
Co-authored-by: Roland Seres [email protected]
Update package imports to use the v2 version of the modules (#33)
Co-authored-by: Ferenc Sárai [email protected]
chore(mantaray): merge mantaray fix for rebase
Dynamicaccess service for ACT (#35)
feat: Add Act interface
feat: Add Marshal, Unmarshal skeleton
feat: Refactor AccessType to iota
feat: Add upload
feat: Rename GenerateAccessControlManifest -> create
feat: Add saltLengthIs32
feat: Add Mrshal, Unmarshal impl
feat: Add Marshal Unmarshal
feat: Remove ManifestEntry json annotations
feat: Modify to public finc/method
feat: Add ErrSaltLength
Add pkg/dynamicaccess
Refactor interfaces and implement default structs
Refactor typo
Refactor History package to use NewHistory() function
Add Act interface and default implementation
Add ACT use cases to act_ucs.md
Add new files and implement interfaces, refactor packeges
Update act_ucs.md
base usecases
Refactor access logic and add mock implementations***
Add DiffieHellman implementation and remove Keystore***
Refactor NewAccessLogic function
Replace encryption.go to pkg/encryption
Refactor packages
Update act_ucs.md
Update act_ucs.md
Update act_ucs.md
Update act_ucs.md
Update act_ucs.md
Diffie-Hellman (Diffie-Hellman #3)
Use DiffieHellmanMock
Adds a comment about Get
Add support for ECDSA public key in DiffieHellman.SharedSecret function
Update defaultAct implementation
Adds pseudo code for Access Logic
Update default Act creation; Fix basic Act tests
Refactor access logic to use new ActMock implementation
feat(history): test mockups wip
Refactor DiffieHellman implementation
changes pseudocode for Diffie-Hellmann read
Co-authored-by: Bálint Ujvári [email protected]
DiffieHellman mock generates a real sherd secret
Refactor Act
Adds manifest lookup
Extend act_test
Adds unit tests, some values are mocked
Refactor act mock impl with map[string]map[string]string
Add check mock implementation for DiffieHellman interface
Add Load, Store to Act interface. Refactor Act interface
refactor act, diffieHellman mocks, tests
Add TestLoadStore function to act_test.go
Remove unnecessary code in Load function
Add history mock and History lookup test
Act refactor
Co-authored-by: Bálint Ujvári [email protected]
Refactor Add method to return Act interface
Change Get method return type to []byte
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Peter Ott [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: Levente Kiss [email protected]
Co-authored-by: Roland Seres [email protected]
Co-authored-by: Kexort [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Acces Logic (Acces Logic #8)
Use DiffieHellmanMock
Adds a comment about Get
Add support for ECDSA public key in DiffieHellman.SharedSecret function
Update defaultAct implementation
Adds pseudo code for Access Logic
Update default Act creation; Fix basic Act tests
Refactor access logic to use new ActMock implementation
feat(history): test mockups wip
Refactor DiffieHellman implementation
changes pseudocode for Diffie-Hellmann read
Co-authored-by: Bálint Ujvári [email protected]
DiffieHellman mock generates a real sherd secret
Refactor Act
Adds manifest lookup
Extend act_test
Adds unit tests, some values are mocked
Refactor act mock impl with map[string]map[string]string
Add check mock implementation for DiffieHellman interface
started Add
changed some sig
save
new grantee addition handling
mod
changed helper function visibilities
some mod with grantee
test mod
save
no error in actInit
Add_New_Grantee_To_Content
comment
copied act_test.go
no compiler errors on our side
Adds Add_New_Grantee_To_Content and ActInit
almost complete grantee container
maybe complete grantee container
Solves merge conflict
access-logic-merge
fix merge issues
Added context & details to use cases (ZH #106 Added context & details to use cases #6)
ZH ethersphere#106 Added context & details to use cases
Add grantee management (Add grantee management #10)
Add grantee management
Added controller test
Fix test fixture, refactor accesslogic
Add UploadHandler
Co-authored-by: Bálint Ujvári [email protected]
Get
toLookup
to improve clarity and consistency. The changes have been made in theaccesslogic.go
,act.go
,act_test.go
,history_test.go
, andmock/act.go
files. ((refactor): fromGet
toLookup
to improve clarity and consistency… #13)Co-authored-by: Ferenc Sárai [email protected]
Act params rename doc (Act params rename doc #14)
(refactor): ACT interface params + add doc comments
Revert "(refactor): ACT interface params + add doc comments"
This reverts commit ee8da04.
(refactor): ACT interface params + add doc comments
(refactor): Add error to ACT interface methods
Co-authored-by: Ferenc Sárai [email protected]
Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions. (Refactor DH and move it to Session #16)
Act swarm address (Act swarm address #15)
(refactor): ACT interface params + add doc comments
Revert "(refactor): ACT interface params + add doc comments"
This reverts commit ee8da04.
(refactor): ACT interface params + add doc comments
(refactor): Add error to ACT interface methods
Add in-memory storage and implement Store and Load methods
Move and refactor ACT diffieHellman to Session. Add Key and NewFromKeystore functions.
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Bálint Ujvári [email protected]
(rename): defaultAct to inMemoryAct ((rename): defaultAct to inMemoryAct #17)
(refactor): ACT interface params + add doc comments
Revert "(refactor): ACT interface params + add doc comments"
This reverts commit ee8da04.
(refactor): ACT interface params + add doc comments
(refactor): Add error to ACT interface methods
Add in-memory storage and implement Store and Load methods
*refactor) Rename defaultAct to inMemroryAct
Co-authored-by: Ferenc Sárai [email protected]
(refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return correct dimensional byte slice ((refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return correct dimensional byte slice #18)
(refactor): Update controller_test.go to use NewInMemoryAct, modify Session.Key to return two-dimensional byte slice
(refactor:) Refactor session Key function to use append instead of index-based assignment
Co-authored-by: Ferenc Sárai [email protected]
Act access logic merge (Act access logic merge #19)
grantee container and access logc tests are passed
refactored access logic and grantee container
PR 19 comments resolving
Refactor
Refactor
Act kvs merge (Act kvs merge #22)
grantee container and access logc tests are passed
refactored access logic and grantee container
PR 19 comments resolving
Refactor
Refactor
working manifest ACT with basic tests
(refactor:) Refactor act_test
(refactor:) Refactor kvs -> kvs.manifest, kvs.memory
(refactror:) kvs
refactor kvs contsructors
Co-authored-by: Roland Seres [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: Ferenc Sárai [email protected]
Session refactor (Session refactor #24)
pr comment fix
add comment to session.NewFromKeystore
Access logic refactor (Access logic refactor #25)
Refactors access logic
Co-authored-by: Peter Ott [email protected]
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: Peter Ott [email protected]
(refactor:) PR comments ((refactor:) PR comments #23)
grantee-refactor
Dried up code, related to AddPublisher - AddNewGranteeToContent
Refactor
removed getEncryptedAccessKey
Renamed AddGrentees, RemoveGrantees, etc to Add, Remove, etc
(refactor:) PR comments
(refactor:) compile check
removed encrypted_ref, grantee check (validation)
changed interface
comments
some more comments
refactor kvs and add load and store
(refactor:) Use ref
renamed defaultGrantee to granteeList
removed null encrypted test in in TestGet_Error
refactor kvs: pass kvs IF argument instead of storing it
Refactor according to the result of the workshop
refactor kvs IF and mock
fix merge errors and Logic/get_error test
(test:) Add test for put/get after kvs.Save
Co-authored-by: Roland Seres [email protected]
Co-authored-by: Peter Ott [email protected]
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: Peter Ott [email protected]
Add referenced mock kvs (Act kvs mock with reference #26)
add controller upload test
compile
Add test for grantee
Add Upload test
Implement controller logic, move grantee management
Act kvs test (Act kvs test #27)
(test:) Refactor tests
(fix:) Save reset counter
Co-authored-by: Ferenc Sárai [email protected]
feat: add history lookup and add
feat: expose mantaray manifest
Small refactor + al test (Small refactor + al test #28)
Adds TestDecryptRefWithGrantee_Success and replaces generateFixPrivateKey with getPrivKey
Co-authored-by: Peter Ott [email protected]
chore: tests + minor fixes
chore: minor test change
feat: history with reference
chore: debugging
Persist grantee list on swarm (Persist grantee list on swarm #30)
Persist grantee list on swarm
accesslogic refactor
Refactor grantee list tests
Co-authored-by: Roland Seres [email protected]
Merging Swarm 2.0 master (Merging Swarm 2.0 master #32)
fix(stamper): global lock stamper across multiple upload sessions (fix(stamper): global lock stamper across multiple upload sessions ethersphere/bee#4578)
fix: strategy and fetch timeout parsing (fix: strategy and fetch timeout parsing ethersphere/bee#4579)
feat: neighborhood suggester config (feat: neighborhood suggester config ethersphere/bee#4580)
feat: add codeql.yml (feat: add codeql.yml ethersphere/bee#4334)
feat: add reserveSizeWithinRadius to status protocol (feat: add reserveSizeWithinRadius to status protocol ethersphere/bee#4585)
fix: missing 200 response (fix: missing 200 response ethersphere/bee#4526)
feat: pinned reference integrity check API (feat: pinned reference integrity check API ethersphere/bee#4573)
fix(redundancy/getter): wait for recovery and return error (fix(redundancy/getter): wait for recovery and return error ethersphere/bee#4581)
fix(pushsync): store the chunk locally when no peers are available fo… (fix(pushsync): store the chunk locally when no peers are available fo… ethersphere/bee#4597)
fix(redundancy): on by default when downloading (fix(redundancy): on by default when downloading ethersphere/bee#4602)
fix: add missing openapi spec (fix: add missing openapi spec ethersphere/bee#4598)
feat: bzz resource info API (feat: bzz resource info API ethersphere/bee#4588)
fix(redundancy): bzz unit test (fix(redundancy): bzz unit test ethersphere/bee#4603)
feat: redundancy ci (feat: redundancy ci ethersphere/bee#4591)
chore: bump github.com/quic-go/quic-go from 0.38.1 to 0.38.2 (chore: bump github.com/quic-go/quic-go from 0.38.1 to 0.38.2 ethersphere/bee#4534)
feat: split input file to chunks with specified redundancy (feat: split input file to chunks with specified redundancy ethersphere/bee#4600)
perf(getter): cancel inflight requests if enough chunks are fetched for recovery (perf(getter): cancel inflight requests if enough chunks are fetched for recovery ethersphere/bee#4608)
fix: store dir error info (fix: store dir error info ethersphere/bee#4605)
chore: remove repetitive words (chore: remove repetitive words ethersphere/bee#4611)
fix: use neighborhood suggester only on mainnet (fix: use neighborhood suggester only on mainnet ethersphere/bee#4612)
feat: alternative withdrawal address (feat: alternative withdrawal address ethersphere/bee#4606)
fix(seg65) (fix(seg65) ethersphere/bee#4604)
fix(getter): redundancy getter cleanup (fix(getter): redundancy getter cleanup ethersphere/bee#4610)
feat: v2 (feat: v2 ethersphere/bee#4615)
fix(pin_integrity): changed route and added openapi (fix(pin_integrity): changed route and added openapi ethersphere/bee#4616)
fix: missing v2 in the makefile and goreleaser (fix: missing v2 in the makefile and goreleaser ethersphere/bee#4622)
chore: package update
Update package imports to use the v2 version of the modules (Update package imports to use the v2 version of the modules #33)
Co-authored-by: Ferenc Sárai [email protected]
fix walkfn with key sort
feat: new option to walk nodes of mantaray in sequence
feat: add latest timestamp check
chore: uncomment wip stuff
chore: requested changes
test: fix to latest adjustment
Add ctrl logic
Add dac service
Continue add ACT handler
chore: use ZeroAddress
chore: make var name more general
connect api test with dac service
refactor ctrl based on history v2
Fix: controller upload download flow + basic tests
hacked mock dac service for simple upload and download
Insert act uploadhandler into /bzz endpoint and remove uphandler
Refactor controller and api; enrypt and rLevel passed on during up/download
Connect Get,Head,Post endpoints with ACT
Add: act to devnode
devnode: close dac during shutdown
pass decrypted ref in r.ctx
set address ctx as swarm address
refactor: call actEncrpytionHandler in every endpoint
typo and comment fix in dynamicaccess
Add: mock dynamicaccess service and api tests
Add: TestDacEachEndpointWithAct; fixed some review comments
Add ACT head test for endpoints
CHG: first encrypt via ACT then upload normal reference
FIX: apiservice.dac nil error
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Ferenc Sárai [email protected]
Co-authored-by: Peter Ott [email protected]
Co-authored-by: Levente Kiss [email protected]
Co-authored-by: Roland Seres [email protected]
Co-authored-by: Kexort [email protected]
Co-authored-by: Bálint Ujvári [email protected]
Co-authored-by: András Arányi [email protected]
Co-authored-by: rolandlor [email protected]
Co-authored-by: Peter Ott [email protected]
Act refactor api and ctrl (#36)
Refactor: newreference pattern for history, kvs, grantee
CHG: history metadata to store granteelist reference
History test with metadata
Remove putter from grantee
ACT grantee management (#37)
implement grantee management
Add POST endpoint + fixes
Save grantees as pubkey list and fix remove error; CHG: act-handler logger names
Refactor: pass getter, putter to controller functions
Refactor: error handling in dynamicaccess; Read cache header only for download handlers
CHG: grantees ref is encrypted and added to history ref + tests
Fix nil pointer dereference panic
CHG: put actref in handlegrantees; Add: pin, tag,deferred headers
CHG: pass loadsave to handlers; check if history address is nil
FIX: re-init history so that it can be saved; only add publisher if histroy is zero
make act timestamp optional
fix revoke grantees
Fix: Act timestamp header nil check; Uploadhandler UT
Fix controller nil pointer deref
Co-authored-by: Bálint Ujvári [email protected]
Start refactoring for new linter rules (#39)
refactor: refactoring to match new linter rules according to #38
Not everything is fixed, just a reference what can and needs to be improved.
implement grantee management
Add POST endpoint + fixes
Save grantees as pubkey list and fix remove error; CHG: act-handler logger names
Refactor: pass getter, putter to controller functions
Refactor: error handling in dynamicaccess; Read cache header only for download handlers
CHG: grantees ref is encrypted and added to history ref + tests
Fix nil pointer dereference panic
CHG: put actref in handlegrantees; Add: pin, tag,deferred headers
CHG: pass loadsave to handlers; check if history address is nil
FIX: re-init history so that it can be saved; only add publisher if histroy is zero
make act timestamp optional
fix revoke grantees
Fix: Act timestamp header nil check; Uploadhandler UT
refactor: start refactoring for now linter rules
refactor: revert non ACT related files
CHG: accesslogic getkeys refactor
refactor: fix errcheck and ineffassign linter errors in most cases
refactor: add headers, and change error handling
refactor: add headers
Co-authored-by: Kexort [email protected]
Co-authored-by: Bálint Ujvári [email protected]
refactor(act): typos & docs (#40)
refactor(act): typos, docs, removed unused import aliases
refactor(act): naming and fix remaining PR comments (#42)
Refactor naming and fix remaining PR comments
use ctx in grantees.get
remove act_ucs.md
Refactor accesslogic.AddGrantee and parallelize tests (#43)
docs(act): add act api to openapi (#44)
docs(act): add incoming act headers to openapi
docs(act): add act headers to upload endpoints in openapi
docs(act): add act grantee list endpoints to openapi
refactor(act): chunk download and granteelist handling (#46)
refactor(act): controller logic (#47)
test(act): controller add, revoke and get with history + fix typos (#48)
refactor(act): fix pr comments (#50)
refactor(act): fix pr comments
refactor(act): fix linter errors
refactor(act): move kvs to accesscontrol as a subpackage
refactor(act): typo and comment fix
chore: bump protobuf version to 1.33.0 (ethersphere#4613) (ethersphere#4688)
fix: save stamp issuer after failed uploads (ethersphere#4684)
chore: pre-release updates (ethersphere#4675)
chore: bump go ethereum version to 1.14.3 (ethersphere#4661) (ethersphere#4689)
fix: allow maxMultiplexForwards to be set to zero (ethersphere#4682)
chore: bump go version to 1.22 (ethersphere#4590) (ethersphere#4687)
feat: remove debug api (ethersphere#4674)
feat: remove auth (ethersphere#4679)
doc(act): add grantee endpoint to openapi (#62)
ci: disable commit linting (temporarily) (#63)
refactor(act): error handling and testing (#64)
Checklist
Description
Open API Spec Version Changes (if applicable)
Motivation and Context (Optional)
Related Issue (Optional)
Screenshots (if appropriate):