forked from TrueCloudLab/frostfs-node
[#290] object/rangehash: Add salt to RangeHashPrm structure
Add binary salt field to RangeHashPrm struct. Implement field setter. Set salt from the request in v2 service. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
ba03f46316
commit
0e2c761481
2 changed files with 8 additions and 0 deletions
|
@ -28,6 +28,8 @@ type RangeHashPrm struct {
|
||||||
hashGen func() hash.Hash
|
hashGen func() hash.Hash
|
||||||
|
|
||||||
rngs []*objectSDK.Range
|
rngs []*objectSDK.Range
|
||||||
|
|
||||||
|
salt []byte
|
||||||
}
|
}
|
||||||
|
|
||||||
// HeadPrm groups parameters of Head service call.
|
// HeadPrm groups parameters of Head service call.
|
||||||
|
@ -88,6 +90,11 @@ func (p *RangeHashPrm) SetHashGenerator(v func() hash.Hash) {
|
||||||
p.hashGen = v
|
p.hashGen = v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetSalt sets binary salt to XOR object's payload ranges before hash calculation.
|
||||||
|
func (p *RangeHashPrm) SetSalt(salt []byte) {
|
||||||
|
p.salt = salt
|
||||||
|
}
|
||||||
|
|
||||||
// SetCommonParameters sets common parameters of the operation.
|
// SetCommonParameters sets common parameters of the operation.
|
||||||
func (p *commonPrm) SetCommonParameters(common *util.CommonPrm) {
|
func (p *commonPrm) SetCommonParameters(common *util.CommonPrm) {
|
||||||
p.common = common
|
p.common = common
|
||||||
|
|
|
@ -83,6 +83,7 @@ func (s *Service) toHashRangePrm(req *objectV2.GetRangeHashRequest) (*getsvc.Ran
|
||||||
}
|
}
|
||||||
|
|
||||||
p.SetRangeList(rngs)
|
p.SetRangeList(rngs)
|
||||||
|
p.SetSalt(body.GetSalt())
|
||||||
|
|
||||||
switch t := body.GetType(); t {
|
switch t := body.GetType(); t {
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in a new issue