Commit graph

43 commits

Author SHA1 Message Date
Evgenii Stratonikov
94f068e462 *: remove error from StableMarshal return values
We marshal only in-memory structures, no error is expected.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:07:57 +03:00
Evgenii Stratonikov
84d981e88e util/proto: do not return error from primitive marshalers
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:07:57 +03:00
Evgenii Stratonikov
732dd51b1b [#388] *: Remove nil check from setters
I knew one day `sed` would save me an hour of manual work:
```
sed -i -n -e '
s/) Set/) Set/
p
t setter
b end
:setter
    n
    s/nil/nil/
    t hasif
    p
    b end
    :hasif
        n
        :loop
        p
        n
        s/}/}/
        t end
        b loop
        :end
' $@
goimports -w $@
```

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-31 11:32:04 +03:00
Evgenii Stratonikov
30c530e83d [#376] container: Remove pointers from slices
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-15 12:19:49 +03:00
Leonard Lyubich
d065453bd0 [#380] Support changes in signature schemes
Support new `SignatureRFC6979` message. Make `refs.ECDSA_SHA512` to be
default scheme.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-03-02 16:49:50 +03:00
Leonard Lyubich
fd3bf4a56b Fix linter remarks
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-02-25 11:12:57 +03:00
Leonard Lyubich
99370889d1 [#371] Support recent changes in NeoFS API protocol
Support:
  * new status codes (object, container, session);
  * object `Lock` message;
  * different signature schemes.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-02-25 10:24:07 +03:00
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
4a6ea486f7 Implement signature interface for container put request
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:40:10 +03:00
Alex Vanin
c37fca9e0d Add stable marshal for container structure
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:40:04 +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
Evgeniy Kulikov
d45548c43b
Implementing proto.Clone 2020-07-03 09:17:35 +03:00
Leonard Lyubich
03bc5c5f89 container: implement SignedDataSource interface on EACL messages 2020-06-18 16:26:44 +03:00
Leonard Lyubich
ee584f325c Update to neofs-api v1.1.0 2020-06-18 15:01:25 +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
e01fb0cc62 Implement signed data calculating function from SignedDataReader 2020-05-11 17:28:44 +03:00
Leonard Lyubich
f91adcb560 container: implement SignedDataSource on ListRequest message 2020-05-11 15:57:00 +03:00
Leonard Lyubich
a41f22782b container: implement SignedDataSource on GetRequest message 2020-05-11 15:05:03 +03:00
Leonard Lyubich
eedb97d135 container: implement SignedDataSource on DeleteRequest message 2020-05-11 15:01:29 +03:00
Leonard Lyubich
2d53ebf9c4 container: implement SignedDataSource on PutRequest message 2020-05-11 14:37:16 +03:00
alexvanin
2fb36f8588 container: Support new BasicACL field 2020-04-02 15:44:18 +03:00
alexvanin
48c5588650 proto: Update proto library to v0.6.0 2020-04-02 15:15:59 +03:00
Evgeniy Kulikov
b118f469d2
Migrate to new repo 2020-03-31 10:05:26 +03:00
Evgeniy Kulikov
49cc731c8d
update proto files, regenerate pb.go 2020-02-05 16:58:06 +03:00
Evgeniy Kulikov
53af48372f
prepare to rename neofs-proto to neofs-api 2020-01-30 16:35:30 +03:00
Leonard Lyubich
6ad23612c9 Use expanded field naming in AccessGroup structure 2019-12-17 19:48:44 +03:00
Leonard Lyubich
7e6e30b850 Add unit tests for container access modes 2019-12-17 16:15:51 +03:00
Leonard Lyubich
6b6728356a Container access control type definitions 2019-12-17 15:47:54 +03:00
Evgeniy Kulikov
14f85ced84
service: get rid of signature field in container + proto generate 2019-11-26 15:54:27 +03:00
Evgeniy Kulikov
4efb4dafe8
Add ErrNotFound for container 2019-11-21 13:10:57 +03:00
Evgeniy Kulikov
24e5497b1d
Update develop branch 2019-11-21 13:10:57 +03:00
Evgeniy Kulikov
165dc9abd7
linter: fix doc comments issues 2019-11-21 13:01:08 +03:00
Evgeniy Kulikov
e333a13557
docs: regenerate proto files 2019-11-21 10:34:38 +03:00
Evgeniy Kulikov
3d445aeb0b
docs: add deprecation notice for epoch and ttl fields 2019-11-21 10:32:07 +03:00
Evgeniy Kulikov
15b997bdb5
docs: update proto doc comments to satisfy go-doc comment 2019-11-21 10:26:01 +03:00
alexvanin
0af63c42cc docs: regenerate proto files 2019-11-20 21:43:04 +03:00
alexvanin
ad86acf62f docs: add container proto documentation 2019-11-20 21:43:04 +03:00
Evgeniy Kulikov
1cf33e5ffd
initial 2019-11-18 16:34:06 +03:00