Signed-off-by: Sergey Matveev <stargrave@stargrave.org>
-func sliceZero(data []byte) {
+func SliceZero(data []byte) {
for i := 0; i < len(data); i++ {
data[i] = 0
}
for i := 0; i < len(data); i++ {
data[i] = 0
}
// Zero handshake's memory state
func (h *Handshake) Zero() {
if h.rNonce != nil {
// Zero handshake's memory state
func (h *Handshake) Zero() {
if h.rNonce != nil {
- sliceZero(h.dsaPubH[:])
+ SliceZero(h.dsaPubH[:])
- sliceZero(h.rServer[:])
+ SliceZero(h.rServer[:])
- sliceZero(h.rClient[:])
+ SliceZero(h.rClient[:])
- sliceZero(h.sServer[:])
+ SliceZero(h.sServer[:])
- sliceZero(h.sClient[:])
+ SliceZero(h.sClient[:])
func (p *Peer) Zero() {
p.BusyT.Lock()
p.BusyR.Lock()
func (p *Peer) Zero() {
p.BusyT.Lock()
p.BusyR.Lock()
- sliceZero(p.Key[:])
- sliceZero(p.bufR)
- sliceZero(p.bufT)
- sliceZero(p.keyAuthR[:])
- sliceZero(p.keyAuthT[:])
+ SliceZero(p.Key[:])
+ SliceZero(p.bufR)
+ SliceZero(p.bufT)
+ SliceZero(p.keyAuthR[:])
+ SliceZero(p.keyAuthT[:])
p.BusyT.Unlock()
p.BusyR.Unlock()
}
p.BusyT.Unlock()
p.BusyR.Unlock()
}
if err != nil {
log.Fatalln("Unable to apply Argon2d", err)
}
if err != nil {
log.Fatalln("Unable to apply Argon2d", err)
}
src := bytes.NewBuffer(r)
pub, prv, err := ed25519.GenerateKey(src)
if err != nil {
src := bytes.NewBuffer(r)
pub, prv, err := ed25519.GenerateKey(src)
if err != nil {