b461aa64b8
[ #23 ] pre-commit: Add golangci-lint hook
...
Also, fix minor issues. Skip deprecated warning for now.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-03-09 22:53:14 +03:00
94476f9055
Rename package name
...
Due to source code relocation from GitHub.
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 15:47:21 +03:00
4ff9c00de3
[ #4 ] Rename NeoFS mentions in comments and method names
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-12-30 13:40:50 +03:00
Pavel Karpy
a1748ae0e7
[ #370 ] bearer, session: Clarify expiration epoch
...
The expiration epoch is the _last_ valid epoch for an entity. Also, clarify
the expiration epoch meaning for tombstones and regular objects.
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2022-12-29 16:34:13 +03:00
Pavel Karpy
4c779423f5
Move to frostfs-sdk-go
...
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
2022-12-14 09:59:29 +03:00
Denis Kirillov
d047289182
[ #360 ] object: Add new package relations
...
Package relations provides feature to process inner object structure.
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-11-14 17:46:17 +03:00
Denis Kirillov
74234623b2
[ #215 ] object: Add well-known FilePath attribute
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-09-06 17:21:37 +04:00
Evgenii Stratonikov
84888854ab
[ #322 ] *: Go fmt -s
...
go1.19 rewrites comments to proper render them in docs.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-08-24 18:58:59 +03:00
Leonard Lyubich
7d10b432d1
[ #284 ] *: Return error from all ReadFromV2
methods
...
Return `error` from all `ReadFromV2` methods in order to support
backward compatibility if message will be extended with some formatted
field.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-07-07 14:20:18 +03:00
Leonard Lyubich
30d27c3050
[ #289 ] oid: Add JSON encoding of Address
type
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-07-04 14:58:00 +03:00
Leonard Lyubich
82d762f536
[ #258 ] Fix string encoding of identifiers
...
Use `EncodeToString` method to get protocol string according to type
docs.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-31 12:14:04 +03:00
Leonard Lyubich
6cb513c976
[ #257 ] Upgrade NeoFS API Go module
...
New version contains fix for `object.GetRangeResponse` message type.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-31 09:47:55 +03:00
Leonard Lyubich
3bbf7ee15d
[ #252 ] object/id: Fix typos in docs
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-27 12:41:35 +03:00
Leonard Lyubich
85affc3c93
object: Remove debug printline
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-27 12:41:35 +03:00
Leonard Lyubich
f0a5eb6dbc
[ #251 ] object/address: Refactor and document package functionality
...
Merge `address` package into `oid` one. Bring `session.Object`
implementation into conformity with the NeoFS API protocol.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-05-27 12:41:35 +03:00
Evgenii Stratonikov
c976332e20
[ #242 ] object: Require only 1 field to be set for SplitInfo
...
Also write more tests.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-05-23 19:09:53 +03:00
Leonard Lyubich
552c7875bf
[ #197 ] session: Refactor and document the package
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-04-27 11:09:29 +03:00
Leonard Lyubich
1ed426b8a6
[ #199 ] owner: Rename to user
, refactor and doc
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-04-19 18:44:02 +03:00
Leonard Lyubich
9f20d74d76
[ #190 ] crypto/ecdsa: Use separate types for RFC-6979 signature algo
...
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-04-19 12:55:11 +03:00
Leonard Lyubich
ea043f4ca3
[ #190 ] Refactor cryptographic functionality
...
Remove `signature` and `util/signature` packages. Re-implement their
functionality in new `crypto` package. Generalize the approach of
digital signature computation and verification by adding `Signer` and
`PublicKey` primitives similar to standard `crypto` package. Support
already exising in protocol signature schemes.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-04-19 12:55:11 +03:00
Pavel Karpy
2deaaeef05
[ #170 ] object: Fix comments about checksums
...
Delete "must not be nil" where there are no pointers.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-04-13 18:33:33 +03:00
Pavel Karpy
1186f2f703
[ #170 ] oid, cid: Add marshal format checks
...
Also add checking presence of the `oid`, `cid` fields via `set` flag.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-04-13 17:32:25 +03:00
Pavel Karpy
f7172adf18
[ #170 ] oid, cid: Refactor and document package functionality
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-04-13 17:32:25 +03:00
Pavel Karpy
96892d7bc4
[ #170 ] checksum: Drop Empty
method
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-04-13 10:53:57 +03:00
Pavel Karpy
caa055236b
[ #170 ] checksum: Do not use pointers
...
Do not return pointers from getters. Do not pass pointers to the methods
that does not modify the checksum. Add `Empty` method.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-04-13 10:53:57 +03:00
Pavel Karpy
fd13e61266
[ #170 ] checksum: Drop Empty
method
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-04-13 10:53:57 +03:00
Alex Vanin
ade8822a2f
[ #170 ] version: Add docs, refactor
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-04-13 10:28:12 +03:00
Evgenii Stratonikov
3e12d0eb69
[ #172 ] object: Allow to marshal SplitInfo
to JSON
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-15 17:00:25 +03:00
Alex Vanin
ef96949cbf
[ #168 ] object: Replace pointer slices with non-pointer slices
...
- []*oid.ID => []oid.ID
- []*object.SearchFilter => []object.SearchFilter
- []*Attribute => []Attribute
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-03-15 16:59:59 +03:00
Leonard Lyubich
df5c69eea5
[ #139 ] object: Implement function to init object creation
...
All NeoFS object must have at least container and owner identifiers.
Add `InitCreation` function which write all required fields to the
object instance. Extend `Object` type docs with all the constructors.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-03-05 17:38:16 +03:00
Leonard Lyubich
1c161956c8
[ #163 ] object: Implement functions linking Object and Lock instances
...
Add `WriteLock`/`ReadLock` function which writes/read `Lock` instace
to/from the `Object` instance.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-03-05 17:38:16 +03:00
Leonard Lyubich
70c3644e2b
[ #139 ] object: Deprecate RawObject
type and everything related
...
From now `Object` type should be used directly.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-03-03 15:08:36 +03:00
Leonard Lyubich
2b28f91a89
[ #140 ] object: Support LOCK
type
...
Add `TypeLock` value to `Type` enum. Implement `Lock` type compatible
with corresponding message. Implement `ObjectLocked` and
`IrregularObjectLock` errors in `apistatus` package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2022-03-02 18:27:08 +03:00
Evgenii Stratonikov
d716765c1a
[ #150 ] util/signature: Simplify public interface
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-25 12:42:38 +03:00
Evgenii Stratonikov
1c7dd03cf5
[ #150 ] signature: Add scheme
...
Allow `SignOption` to set 2 parameters:
1. Default signature scheme, which is used in case scheme is
unspecified.
2. Restrict scheme option which also checks that scheme is either
unspecified or equal to the restricted scheme. This is only used
for verification and is necessary because some of the signatures
are used in smart-contracts.
Also provide signature struct to sign/verify functions in helpers.
The constant names differ a bit from those in API because of linter
complaints.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-02-25 12:42:38 +03:00
Pavel Karpy
47e8527ffb
[ #143 ] object: Add notification setters and getters
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-02-22 19:34:51 +03:00
Pavel Karpy
ddd6c08b6a
[ #143 ] object/search: Add notification filter
...
It allows searching object whose notification epoch fits passed
`SearchMatchType` and a value.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-02-22 19:34:51 +03:00
Pavel Karpy
a25d145d84
[ #143 ] object: Fix well-known attribute comment
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-02-22 19:34:51 +03:00
Pavel Karpy
6d3d91f889
[ #128 ] *: Use correct aliases for object testing
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-02-01 17:03:12 +03:00
Pavel Karpy
41f17d1a09
[ #128 ] objecttest: Fix linter
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-02-01 17:03:12 +03:00
Pavel Karpy
e8eac3997c
[ #128 ] object: Move ID
and Address
in subpkg
...
This is done to prevent import cycles when `object` package needs any other
that requires `object.ID` or `object.Address`.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-02-01 17:03:12 +03:00
Denis Kirillov
2806d90089
[ #93 ] Remove golang.org/x/crypto dependency
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2021-12-14 15:27:04 +03:00
Evgenii Stratonikov
3d0df0d068
[ #54 ] tests: unify test generator names
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-01 10:34:54 +03:00
Evgenii Stratonikov
a2d342e928
[ #87 ] go.mod: remove neo-go dependency
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-22 15:40:13 +03:00
Evgenii Stratonikov
d6b72453fc
[ #64 ] object/test: reuse checksum and signature generators
...
These were missing from #53 .
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-09 09:57:37 +03:00
Evgenii Stratonikov
39d3317ef6
[ #64 ] object: move package from neofs-api-go
...
Also, remove deprecated method.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-09 09:57:37 +03:00