Commit graph

1180 commits

Author SHA1 Message Date
f10ecb7fb4 [#3] signature: Refactor sign and verify
Split methods to separate files, drop redundant intefaces

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-03-01 11:52:25 +03:00
8e357496d8 [#3] api-go: Go version up
Update go version 1.17 -> 1.18

Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
2023-03-01 11:52:06 +03:00
196241c4e7 [TrueCloudLab#5] .github: Fix CODEOWNERS
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-28 16:43:43 +03:00
45358d4551 [#2] rpc/client: Allow to override low-level gRPC options
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-06 11:30:33 +03:00
cc8da15242 [#2] rpc/client: Remove additional wrapper
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-02-06 11:30:33 +03:00
513e3e137d Change logo
Signed-off-by: Stanislav Bogatyrev <s.bogatyrev@yadro.com>
2023-01-08 00:00:59 +03:00
1351b6656d Move to frostfs-api
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-12-12 17:40:48 +03:00
3b67807461 Rebranding
Signed-off-by: Stanislav Bogatyrev <s.bogatyrev@yadro.com>
2022-12-09 13:41:35 +03:00
Evgenii Stratonikov
4d4eaa2943 Release v2.14.0
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-10-17 18:41:28 +03:00
Leonard Lyubich
3a91383f24 [#419] rpc/client: Use provided context for client dial
In previous implementation `Client` passed `context.Background()` to
`grpc.DialContext` function. This didn't allow to abort dial stage by
the given context.

Base dial context on the one provided with `WithContext` option. Fall
back to using `context.Background` if context is not specified.

Signed-off-by: Leonard Lyubich <ctulhurider@gmail.com>
2022-10-05 13:35:43 +04:00
Leonard Lyubich
2b89b7e798 [#419] rpc/client: Block until client connection is up
In previous implementation `Client` didn't block until the connection is
up on dial stage. This caused the dial timeout to have no effect.

Provide `WithBlock` dial option to `DialContext` call in `openGRPCConn`
method. From now `Client` blocks for configured timeout until the
connection is up.

Signed-off-by: Leonard Lyubich <ctulhurider@gmail.com>
2022-10-05 13:35:43 +04:00
Leonard Lyubich
5fc2644c68 [#416] session: Support new format of object session context
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-10-04 18:29:57 +04:00
Leonard Lyubich
504e427c18 [#417] rpc/client: Do not use deprecated code elements
`grpc.WithInsecure` has been marked as deprecated in earlier releases of
`google.golang.org/grpc`.

Use `google.golang.org/grpc/credentials/insecure` package instead as
recommended.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-09-23 10:30:59 +04:00
Leonard Lyubich
49bf6b24b0 [#417] storagegroup: Mark all expiration methods as deprecated
`expiration_epoch` field of `StorageGroup` message has been marked as
deprecated in previous NeoFS API protocol's release.

Mark all method related to the field as deprecated. Leave and use them
for test purposes only.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-09-23 10:30:59 +04:00
Leonard Lyubich
cf868188ef [#418] netmap: Support NetmapService.NetmapSnapshot RPC
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-09-19 16:44:34 +04:00
Evgenii Stratonikov
f3e1f8ae7a [#415] go.mod: Update grpc dependency
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-16 18:50:53 +04:00
Evgenii Stratonikov
ea7a3811bf [#415] *: Add maintenance status and node state
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-16 18:50:53 +04:00
Evgenii Stratonikov
1853349f22 [#415] *: Go fmt -s
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-09-16 18:50:53 +04:00
Pavel Karpy
fcf1d02afc [#414] make: Fix commit abbrev length in version
Make it uniform across all our repos.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-09-06 17:33:19 +04:00
Evgenii Stratonikov
9e17cdfc76 [#413] util/proto: Marshal repeated []byte fields correctly
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-08-27 11:06:58 +03:00
Evgenii Stratonikov
98db3fa284 [#412] storagegroup: Remove linter warning
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-08-18 12:49:51 +03:00
Evgenii Stratonikov
9fe5c0736d [#412] .github: Update actions to the latest version
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-08-18 12:49:51 +03:00
Evgenii Stratonikov
f0b3576146 [#412] go.mod: Update minimal go version to 1.17
Also, update github actions accordingly.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-08-18 12:49:51 +03:00
Evgenii Stratonikov
146dd904dd [#412] go.mod: Update neofs-crypto dependency
Fix panic in signature marshaling.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-08-18 12:49:51 +03:00
e87a523bb2 [#411] Filter version tags for version calculation
Signed-off-by: anikeev-yadro <a.anikeev@yadro.com>
2022-08-12 16:28:59 +03:00
Pavel Karpy
882c4ab76c Release v2.13.1
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-08-01 19:23:15 +03:00
Pavel Karpy
5744605fc6 [#409] status: Support EACL_NOT_FOUND status code
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-08-01 19:12:43 +03:00
Leonard Lyubich
cdce7edc39 Release v2.13.0 - Yeonpyeongdo (연평도, 延坪島)
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-07-04 17:49:02 +03:00
Pavel Karpy
bb9fc5bfab [#405] status: Support signature status
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-30 18:52:22 +03:00
Pavel Karpy
c6f7ab3ef1 [#399] container: Support homomorphic hash disabling
Container could now have "__NEOFS__DISABLE_HOMOMORPHIC_HASHING" well-known
attribute. Setting that to "true" means disabling homomorphic hashing for
objects that belong to that container, any other cases mean that homomorphic
hashing is enabled.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-30 13:05:06 +03:00
Pavel Karpy
417fd3a08b [#407] object: Add OUT_OF_RANGE status
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-30 08:19:57 +03:00
Pavel Karpy
1cd3a43d5b [#407] *: Regenerate v2.13.0 API
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-30 08:19:57 +03:00
Evgenii Stratonikov
dd233c3fbc [#386] util/signature: Add WalletConnect API support
To avoid introducing new dependency (neo-go), crypto routines are used
as in other code.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-06-21 20:09:33 +03:00
Pavel Karpy
f9a91e5f33 [#404] *: Regenerate code after language fixes
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-06-21 14:08:31 +03:00
Evgenii Stratonikov
454b5c0ed7 [#406] protogen: Uncomment control service line
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-06-20 14:45:58 +03:00
Leonard Lyubich
79902c1c6f Release v2.12.2
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-06-03 17:02:14 +03:00
Leonard Lyubich
c82dcf7e16 [#401] internal: Place randomization code in random package
Also replace seeding into `init` function.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-30 22:02:58 +03:00
Leonard Lyubich
02e962f727 [#401] object: Fix GetRangeResponseBody.FromGRPCMessage
Pass `SplitInfo` field of `GetRangeResponse_Body_SplitInfo` message into
`SplitInfo` decoder.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-30 22:02:58 +03:00
Leonard Lyubich
d35e935a9d [#401] test: Randomize value for oneof field
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-30 22:02:58 +03:00
fyrchik
0b8e4e4753
[#400] Support latest API in protoc plugin (#400)
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-05-30 10:33:01 +03:00
Pavel Karpy
870c1ffc0a [#397] refs: Fix OIDs marshalling
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-04-27 09:45:03 +03:00
Evgenii Stratonikov
3d3283411c [#393] signature: Do not allocate a signature explicitly
Helpers from `util/signature` already allocates it for us.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:11:57 +03:00
Evgenii Stratonikov
77a3ba9197 [#393] util/signature: Remove bytes pool and provide buffer explicitly
Chained verification is done in a single thread there is no need to use
pool to do this. Also because newly allocated items are 5 MiB in size
we can run out of memory given that typical header it much less in size.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:11:57 +03:00
Evgenii Stratonikov
e8e09f0d00 [#393] rpc/grpc: Use NewTimer instead of time.After
From the docs of `time.After`:
```
The underlying Timer is not recovered by the garbage collector until the timer fires.
```
We have 1 minute default timeout, which is pretty long given that most
of the time we exchange small messages.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:11:57 +03:00
Evgenii Stratonikov
23702bc51a util/protogen: add StableMarshal generator command
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:07:57 +03:00
Evgenii Stratonikov
e348c933b7 util/proto: fix doc comment
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:07:57 +03:00
Evgenii Stratonikov
2aacaa6aba refs: optimize marshalin of []ObjectID
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-04-21 15:07:57 +03:00
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