mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-10-19 05:39:51 +00:00
91774fc936
Uses github.com/libopenstorage/secrets to communicate with Vault. This removes the need for maintaining our own limited Vault APIs. By adding the new dependency, several other packages got updated in the process. Unused indirect dependencies have been removed from go.mod. Signed-off-by: Niels de Vos <ndevos@redhat.com>
48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
// Copyright 2012 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// +build !gccgo,!purego
|
|
|
|
package poly1305
|
|
|
|
//go:noescape
|
|
func update(state *macState, msg []byte)
|
|
|
|
// mac is a wrapper for macGeneric that redirects calls that would have gone to
|
|
// updateGeneric to update.
|
|
//
|
|
// Its Write and Sum methods are otherwise identical to the macGeneric ones, but
|
|
// using function pointers would carry a major performance cost.
|
|
type mac struct{ macGeneric }
|
|
|
|
func (h *mac) Write(p []byte) (int, error) {
|
|
nn := len(p)
|
|
if h.offset > 0 {
|
|
n := copy(h.buffer[h.offset:], p)
|
|
if h.offset+n < TagSize {
|
|
h.offset += n
|
|
return nn, nil
|
|
}
|
|
p = p[n:]
|
|
h.offset = 0
|
|
update(&h.macState, h.buffer[:])
|
|
}
|
|
if n := len(p) - (len(p) % TagSize); n > 0 {
|
|
update(&h.macState, p[:n])
|
|
p = p[n:]
|
|
}
|
|
if len(p) > 0 {
|
|
h.offset += copy(h.buffer[h.offset:], p)
|
|
}
|
|
return nn, nil
|
|
}
|
|
|
|
func (h *mac) Sum(out *[16]byte) {
|
|
state := h.macState
|
|
if h.offset > 0 {
|
|
update(&state, h.buffer[:h.offset])
|
|
}
|
|
finalize(out, &state.h, &state.s)
|
|
}
|