Commit Graph

68 Commits (227a871a04ace12f39ddb3b19db9bc892d2ed496)

Author SHA1 Message Date
Leonard Lyubich e9a8451fb7 [#367] *: Re-compile proto files of NeoFS API protocol
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-01-14 13:17:21 +03:00
Leonard Lyubich 0f09f0dfc6 Re-compile NeoFS API proto files using updated script
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-17 15:29:33 +03:00
Leonard Lyubich 25da5d2e13 Add `v2` version to go module name
Replace all elements from `v2` to root directory.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-11-17 15:29:33 +03:00
Alex Vanin 1f143e54bd Move api-v2 files into v2 subdir
This subdir contains generated proto files
and small wrappers.
2020-09-18 10:40:17 +03:00
Leonard Lyubich 0ee1c3653d Implement field setters on all protobuf messages
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:40:17 +03:00
Alex Vanin fabdd78d63 Add pre-release jindo branch 2020-09-18 10:39:50 +03:00
Alex Vanin 0a5d0ff1a2 Remove v1 code 2020-09-18 10:39:45 +03:00
Alex Vanin 630ac612ea
Merge pull request #100 from nspcc-dev/neo3/address
Use NEO3 based address generation
2020-07-21 18:52:20 +03:00
alexvanin 1958ff8c37 Use NEO3 based address generation
With neo-go v0.90.0 there are new event subscription component
and new verification script routines based on NEO3. These features
allow to avoid using low-level neo-vm code in NeoFS and corresponding
projects.

This commit removes unused function:
- FetchPublicKeys (used in neofs indexer),
- VerificationScript (used in KeysToAddress),
- Address (used in KeysToAddress),
- ReversedScriptHashToAddress (used in neofs indexer),
- IsAddress (used in neofs indexer),
- ReverseBytes (used in neofs indexer),
- DecodeScriptHash (used in neofs indexer).

KeysToAddress changed into KeyToAddress because NeoFS won't work with
multisignature owners for now and it is not supported in neo-go library.
2020-07-20 16:43:31 +03:00
Evgeniy Kulikov d45548c43b
Implementing proto.Clone 2020-07-03 09:17:35 +03:00
Leonard Lyubich 74e917810a service: support broken apart signable payload of the requests
In previous implementation service package provided types and functions
that wrapped signing/verification of data with session token.
This allowed us to use these functions for signing / verification of
service requests of other packages. To support the expansion of messages
with additional parts that need to be signed, you must be able to easily
expand the signed data with new parts.

To achieve the described goal, this commit makes the following changes:

  * adds GroupSignedPayloads and GroupVerifyPayloads functions;

  * renames SignedDataWithToken to RequestData, DataWithTokenSignAccumulator
    to RequestSignedData, DataWithTokenSignSource to RequestVerifyData;

  * renames SignDataWithSessionToken/VerifyAccumulatedSignaturesWithToken
    function to SignRequestData/VerifyRequestData and makes it to use
    GroupSignedPayloads/GroupVerifyPayloads internally.
2020-06-10 20:37:10 +03:00
Leonard Lyubich 96a6bb4842 object: implement SignedData() and AddSignKey() methods on IntegrityHeader 2020-05-18 16:51:59 +03:00
Leonard Lyubich 1931bd590d object: fix signed payload calculation of HeadRequest message
In previous implementation first byte of buffer for HeadRequest
signed payload was set to 1 if FullHeaders flag was set. Otherwise,
this byte remained unchanged. For correct recording of a signed payload,
it is necessary to explicitly set the first byte with the unset flag.
2020-05-18 12:58:49 +03:00
Leonard Lyubich 2c571718d0 object: add unit test of HeadRequest.ReadSignedData method 2020-05-18 12:58:49 +03:00
Leonard Lyubich e01fb0cc62 Implement signed data calculating function from SignedDataReader 2020-05-11 17:28:44 +03:00
Leonard Lyubich dd2f568347 object: add Token header case to CopyTo 2020-05-08 15:06:26 +03:00
Leonard Lyubich 4aac4d093d object: implement signing payload methods on SearchRequest message 2020-05-06 15:09:31 +03:00
Leonard Lyubich 84671cd4aa object: implement signing payload methods on GetRangeHashRequest message 2020-05-06 14:58:29 +03:00
Leonard Lyubich e784206032 object: implement signing payload methods on GetRangeRequest message 2020-05-06 14:38:39 +03:00
Leonard Lyubich fc0da3c8fc object: implement signing payload methods on DeleteRequest message 2020-05-06 14:15:07 +03:00
Leonard Lyubich 68f83f5470 object: implement signing payload methods on HeadRequest message 2020-05-06 13:56:59 +03:00
Leonard Lyubich 439221cea8 object: implement signing payload methods on GetRequest message 2020-05-06 13:33:03 +03:00
Leonard Lyubich 78f435a905 object: implement signing payload methods on PutRequest message 2020-05-06 13:16:15 +03:00
Leonard Lyubich eb94cf7549 service: refactor MetaHeader interface 2020-05-04 14:37:14 +03:00
Leonard Lyubich c6971d2004 service: access Token message fields through getters and setters 2020-04-28 18:40:21 +03:00
Evgeniy Kulikov 5ae4e14bfa
object: test coverage for stringify method 2020-04-28 16:39:01 +03:00
Evgeniy Kulikov 4d535876d0
object: implement Stringify for Object 2020-04-28 16:39:01 +03:00
Evgeniy Kulikov 7a7deb0b01
proto: regenerate files 2020-04-28 16:30:47 +03:00
Leonard Lyubich 4ac17201b7 Resolve update conflicts 2020-04-28 13:33:43 +03:00
Leonard Lyubich e63d112cb2 Update to neofs-api v0.7.2 2020-04-28 12:50:52 +03:00
Evgeniy Kulikov bedde0e33b
proto: regenerate files 2020-04-16 17:06:07 +03:00
Evgeniy Kulikov e29cf2d3d7
Merge pull request #64 from nspcc-dev/update-to-neofs-api_v0.6.1
Update to NeoFS API v0.6.1
2020-04-16 11:47:49 +03:00
Evgeniy Kulikov 5d9feea76a
fix format 2020-04-16 11:35:12 +03:00
Evgeniy Kulikov acfb16d363
added test case for exists object in put request 2020-04-10 11:30:45 +03:00
Leonard Lyubich e999110be1 object: prevent potential NPE panic in PutRequest.CID method 2020-04-03 18:23:24 +03:00
alexvanin 55b75a0dae object: Add test for object request type 2020-04-02 15:05:48 +03:00
alexvanin 1e513625f1 object: Add `Type()` in `Request` interface
BasicACL have set of rules for every request type. ACL will be
processed before any request specific handlers. Therefore
we need to determine request type in generic request interface,
which is used in pre-processors of object service
implementation.
2020-04-02 15:00:27 +03:00
alexvanin 4abd71f99b object: Define RequestType for object service requests 2020-04-02 15:00:27 +03:00
Evgeniy Kulikov b118f469d2
Migrate to new repo 2020-03-31 10:05:26 +03:00
Evgeniy Kulikov ea0703e089
add tests case to prevent npe 2020-03-16 18:34:56 +03:00
Evgeniy Kulikov eab0a26cc0
[NPE] check that header exists, otherwise return empty string 2020-03-16 18:34:13 +03:00
Evgeniy Kulikov de09878df1
Response meta header 2020-02-13 18:10:46 +03:00
Evgeniy Kulikov 49cc731c8d
update proto files, regenerate pb.go 2020-02-05 16:58:06 +03:00
Evgeniy Kulikov c0dd4fcb15
Get range response struct 2020-02-05 14:34:23 +03:00
Evgeniy Kulikov 1fe7f7b2fa
make object.GetRange to be server-side streaming RPC 2020-02-05 13:42:49 +03:00
Evgeniy Kulikov 980d777176
Merge pull request #44 from nspcc-dev/feature/add-default-filename-header
object: Add default filename user header key for third party apps
2020-02-04 13:48:09 +03:00
alexvanin 124666a142 object: Add default filename user header key for third party apps 2020-02-04 13:29:31 +03:00
Evgeniy Kulikov d75a56f92e
Update Object.Search, stream 2020-02-03 12:36:37 +03:00
Evgeniy Kulikov 80fde665ca
code format 2020-01-30 16:38:52 +03:00
Evgeniy Kulikov 53af48372f
prepare to rename neofs-proto to neofs-api 2020-01-30 16:35:30 +03:00