From 9712aec73b2b483a4426ca670ee208b44ad1bc25 Mon Sep 17 00:00:00 2001 From: Yawning Angel Date: Mon, 12 May 2014 04:51:06 +0000 Subject: Preliminary support padding, log on panic. This adds preliminary support for data padding by adding another layer of encapsulation inside each AEAD frame containing a type and length. For now, data is still sent unpadded, but the infrastructure for supporting it is mostly there. Additionally, use log.Panic[f]() instead of panic through out the code so that some panics are logged. --- ntor/ntor.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'ntor/ntor.go') diff --git a/ntor/ntor.go b/ntor/ntor.go index 9dbed7f..b19c4a1 100644 --- a/ntor/ntor.go +++ b/ntor/ntor.go @@ -45,6 +45,7 @@ import ( "encoding/base64" "fmt" "io" + "log" "code.google.com/p/go.crypto/curve25519" "code.google.com/p/go.crypto/hkdf" @@ -421,9 +422,9 @@ func Kdf(keySeed []byte, okmLen int) []byte { okm := make([]byte, okmLen) n, err := io.ReadFull(kdf, okm) if err != nil { - panic(fmt.Sprintf("BUG: Failed HKDF: %s", err.Error())) + log.Panicf("BUG: Failed HKDF: %s", err.Error()) } else if n != len(okm) { - panic(fmt.Sprintf("BUG: Got truncated HKDF output: %d", n)) + log.Panicf("BUG: Got truncated HKDF output: %d", n) } return okm -- cgit v1.2.3