mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 15:16:43 +00:00
whisper: padding refactored, tests fixed
This commit is contained in:
parent
69ec137b69
commit
75909a1694
9 changed files with 119 additions and 62 deletions
|
|
@ -492,10 +492,9 @@ func sendMsg(payload []byte) common.Hash {
|
||||||
WorkTime: uint32(*argWorkTime),
|
WorkTime: uint32(*argWorkTime),
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := whisper.NewSentMessage(¶ms)
|
msg, err := whisper.NewSentMessage(¶ms)
|
||||||
if msg == nil {
|
if err != nil {
|
||||||
fmt.Printf("failed to create new message (OS level error)")
|
utils.Fatalf("failed to create new message: %s", err)
|
||||||
os.Exit(0)
|
|
||||||
}
|
}
|
||||||
envelope, err := msg.Wrap(¶ms)
|
envelope, err := msg.Wrap(¶ms)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
@ -625,9 +624,9 @@ func requestExpiredMessagesLoop() {
|
||||||
params.Src = nodeid
|
params.Src = nodeid
|
||||||
params.WorkTime = 5
|
params.WorkTime = 5
|
||||||
|
|
||||||
msg := whisper.NewSentMessage(¶ms)
|
msg, err := whisper.NewSentMessage(¶ms)
|
||||||
if msg == nil {
|
if err != nil {
|
||||||
utils.Fatalf("failed to create new message (OS level error)")
|
utils.Fatalf("failed to create new message: %s", err)
|
||||||
}
|
}
|
||||||
env, err := msg.Wrap(¶ms)
|
env, err := msg.Wrap(¶ms)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -67,7 +67,10 @@ func generateEnvelope(t *testing.T) *whisper.Envelope {
|
||||||
WorkTime: 2,
|
WorkTime: 2,
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := whisper.NewSentMessage(params)
|
msg, err := whisper.NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed to wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -189,7 +192,10 @@ func createRequest(t *testing.T, p *ServerTestParams) *whisper.Envelope {
|
||||||
Src: p.key,
|
Src: p.key,
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := whisper.NewSentMessage(params)
|
msg, err := whisper.NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed to wrap with seed %d: %s.", seed, err)
|
||||||
|
|
|
||||||
|
|
@ -354,9 +354,9 @@ func (api *PublicWhisperAPI) Post(args PostArgs) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// encrypt and send
|
// encrypt and send
|
||||||
message := NewSentMessage(¶ms)
|
message, err := NewSentMessage(¶ms)
|
||||||
if message == nil {
|
if err != nil {
|
||||||
return errors.New("post: failed create new message, probably due to failed rand function (OS level)")
|
return err
|
||||||
}
|
}
|
||||||
envelope, err := message.Wrap(¶ms)
|
envelope, err := message.Wrap(¶ms)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ func BenchmarkEncryptionSym(b *testing.B) {
|
||||||
}
|
}
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
msg := NewSentMessage(params)
|
msg, _ := NewSentMessage(params)
|
||||||
_, err := msg.Wrap(params)
|
_, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Errorf("failed Wrap with seed %d: %s.", seed, err)
|
b.Errorf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -62,7 +62,7 @@ func BenchmarkEncryptionAsym(b *testing.B) {
|
||||||
params.Dst = &key.PublicKey
|
params.Dst = &key.PublicKey
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
msg := NewSentMessage(params)
|
msg, _ := NewSentMessage(params)
|
||||||
_, err := msg.Wrap(params)
|
_, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -77,7 +77,7 @@ func BenchmarkDecryptionSymValid(b *testing.B) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
b.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
msg := NewSentMessage(params)
|
msg, _ := NewSentMessage(params)
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -99,7 +99,7 @@ func BenchmarkDecryptionSymInvalid(b *testing.B) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
b.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
msg := NewSentMessage(params)
|
msg, _ := NewSentMessage(params)
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -128,7 +128,7 @@ func BenchmarkDecryptionAsymValid(b *testing.B) {
|
||||||
f := Filter{KeyAsym: key}
|
f := Filter{KeyAsym: key}
|
||||||
params.KeySym = nil
|
params.KeySym = nil
|
||||||
params.Dst = &key.PublicKey
|
params.Dst = &key.PublicKey
|
||||||
msg := NewSentMessage(params)
|
msg, _ := NewSentMessage(params)
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -155,7 +155,7 @@ func BenchmarkDecryptionAsymInvalid(b *testing.B) {
|
||||||
}
|
}
|
||||||
params.KeySym = nil
|
params.KeySym = nil
|
||||||
params.Dst = &key.PublicKey
|
params.Dst = &key.PublicKey
|
||||||
msg := NewSentMessage(params)
|
msg, _ := NewSentMessage(params)
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -197,7 +197,7 @@ func BenchmarkPoW(b *testing.B) {
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
increment(params.Payload)
|
increment(params.Payload)
|
||||||
msg := NewSentMessage(params)
|
msg, _ := NewSentMessage(params)
|
||||||
_, err := msg.Wrap(params)
|
_, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
b.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
|
||||||
|
|
@ -179,7 +179,10 @@ func TestMatchEnvelope(t *testing.T) {
|
||||||
params.Topic[0] = 0xFF // ensure mismatch
|
params.Topic[0] = 0xFF // ensure mismatch
|
||||||
|
|
||||||
// mismatch with pseudo-random data
|
// mismatch with pseudo-random data
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -197,7 +200,10 @@ func TestMatchEnvelope(t *testing.T) {
|
||||||
i := mrand.Int() % 4
|
i := mrand.Int() % 4
|
||||||
fsym.Topics[i] = params.Topic[:]
|
fsym.Topics[i] = params.Topic[:]
|
||||||
fasym.Topics[i] = params.Topic[:]
|
fasym.Topics[i] = params.Topic[:]
|
||||||
msg = NewSentMessage(params)
|
msg, err = NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err = msg.Wrap(params)
|
env, err = msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap() with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap() with seed %d: %s.", seed, err)
|
||||||
|
|
@ -245,7 +251,10 @@ func TestMatchEnvelope(t *testing.T) {
|
||||||
}
|
}
|
||||||
params.KeySym = nil
|
params.KeySym = nil
|
||||||
params.Dst = &key.PublicKey
|
params.Dst = &key.PublicKey
|
||||||
msg = NewSentMessage(params)
|
msg, err = NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err = msg.Wrap(params)
|
env, err = msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap() with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap() with seed %d: %s.", seed, err)
|
||||||
|
|
@ -323,12 +332,14 @@ func TestMatchMessageSym(t *testing.T) {
|
||||||
params.KeySym = f.KeySym
|
params.KeySym = f.KeySym
|
||||||
params.Topic = BytesToTopic(f.Topics[index])
|
params.Topic = BytesToTopic(f.Topics[index])
|
||||||
|
|
||||||
sentMessage := NewSentMessage(params)
|
sentMessage, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := sentMessage.Wrap(params)
|
env, err := sentMessage.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := env.Open(f)
|
msg := env.Open(f)
|
||||||
if msg == nil {
|
if msg == nil {
|
||||||
t.Fatalf("failed Open with seed %d.", seed)
|
t.Fatalf("failed Open with seed %d.", seed)
|
||||||
|
|
@ -419,12 +430,14 @@ func TestMatchMessageAsym(t *testing.T) {
|
||||||
keySymOrig := params.KeySym
|
keySymOrig := params.KeySym
|
||||||
params.KeySym = nil
|
params.KeySym = nil
|
||||||
|
|
||||||
sentMessage := NewSentMessage(params)
|
sentMessage, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := sentMessage.Wrap(params)
|
env, err := sentMessage.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := env.Open(f)
|
msg := env.Open(f)
|
||||||
if msg == nil {
|
if msg == nil {
|
||||||
t.Fatalf("failed to open with seed %d.", seed)
|
t.Fatalf("failed to open with seed %d.", seed)
|
||||||
|
|
@ -506,7 +519,10 @@ func generateCompatibeEnvelope(t *testing.T, f *Filter) *Envelope {
|
||||||
|
|
||||||
params.KeySym = f.KeySym
|
params.KeySym = f.KeySym
|
||||||
params.Topic = BytesToTopic(f.Topics[2])
|
params.Topic = BytesToTopic(f.Topics[2])
|
||||||
sentMessage := NewSentMessage(params)
|
sentMessage, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := sentMessage.Wrap(params)
|
env, err := sentMessage.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -678,7 +694,10 @@ func TestVariableTopics(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ import (
|
||||||
crand "crypto/rand"
|
crand "crypto/rand"
|
||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"errors"
|
"errors"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
|
|
@ -86,17 +87,16 @@ func (msg *ReceivedMessage) isAsymmetricEncryption() bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewMessage creates and initializes a non-signed, non-encrypted Whisper message.
|
// NewMessage creates and initializes a non-signed, non-encrypted Whisper message.
|
||||||
func NewSentMessage(params *MessageParams) *SentMessage {
|
func NewSentMessage(params *MessageParams) (*SentMessage, error) {
|
||||||
msg := SentMessage{}
|
msg := SentMessage{}
|
||||||
msg.Raw = make([]byte, 1, len(params.Payload)+len(params.Payload)+signatureLength+padSizeLimit)
|
msg.Raw = make([]byte, 1, len(params.Payload)+len(params.Padding)+signatureLength+padSizeLimit)
|
||||||
msg.Raw[0] = 0 // set all the flags to zero
|
msg.Raw[0] = 0 // set all the flags to zero
|
||||||
err := msg.appendPadding(params)
|
err := msg.appendPadding(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error("failed to create NewSentMessage", "err", err)
|
return nil, err
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
msg.Raw = append(msg.Raw, params.Payload...)
|
msg.Raw = append(msg.Raw, params.Payload...)
|
||||||
return &msg
|
return &msg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// getSizeOfLength returns the number of bytes necessary to encode the entire size padding (including these bytes)
|
// getSizeOfLength returns the number of bytes necessary to encode the entire size padding (including these bytes)
|
||||||
|
|
@ -166,8 +166,8 @@ func (msg *SentMessage) appendPadding(params *MessageParams) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if !validateSymmetricKey(buf) {
|
if totalPadSize > 6 && !validateSymmetricKey(buf) {
|
||||||
return errors.New("failed to generate random padding")
|
return errors.New("failed to generate random padding of size " + strconv.Itoa(totalPadSize))
|
||||||
}
|
}
|
||||||
buf[0] = byte(totalPadSize)
|
buf[0] = byte(totalPadSize)
|
||||||
msg.Raw = append(msg.Raw, buf...)
|
msg.Raw = append(msg.Raw, buf...)
|
||||||
|
|
|
||||||
|
|
@ -73,11 +73,12 @@ func singleMessageTest(t *testing.T, symmetric bool) {
|
||||||
}
|
}
|
||||||
|
|
||||||
text := make([]byte, 0, 512)
|
text := make([]byte, 0, 512)
|
||||||
steg := make([]byte, 0, 512)
|
|
||||||
text = append(text, params.Payload...)
|
text = append(text, params.Payload...)
|
||||||
steg = append(steg, params.Padding...)
|
|
||||||
|
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -98,10 +99,6 @@ func singleMessageTest(t *testing.T, symmetric bool) {
|
||||||
t.Fatalf("failed to validate with seed %d.", seed)
|
t.Fatalf("failed to validate with seed %d.", seed)
|
||||||
}
|
}
|
||||||
|
|
||||||
padsz := len(decrypted.Padding)
|
|
||||||
if !bytes.Equal(steg[:padsz], decrypted.Padding) {
|
|
||||||
t.Fatalf("failed with seed %d: compare padding.", seed)
|
|
||||||
}
|
|
||||||
if !bytes.Equal(text, decrypted.Payload) {
|
if !bytes.Equal(text, decrypted.Payload) {
|
||||||
t.Fatalf("failed with seed %d: compare payload.", seed)
|
t.Fatalf("failed with seed %d: compare payload.", seed)
|
||||||
}
|
}
|
||||||
|
|
@ -136,7 +133,10 @@ func TestMessageWrap(t *testing.T) {
|
||||||
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
params.TTL = 1
|
params.TTL = 1
|
||||||
params.WorkTime = 12
|
params.WorkTime = 12
|
||||||
params.PoW = target
|
params.PoW = target
|
||||||
|
|
@ -151,7 +151,10 @@ func TestMessageWrap(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// set PoW target too high, expect error
|
// set PoW target too high, expect error
|
||||||
msg2 := NewSentMessage(params)
|
msg2, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
params.TTL = 1000000
|
params.TTL = 1000000
|
||||||
params.WorkTime = 1
|
params.WorkTime = 1
|
||||||
params.PoW = 10000000.0
|
params.PoW = 10000000.0
|
||||||
|
|
@ -171,7 +174,10 @@ func TestMessageSeal(t *testing.T) {
|
||||||
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
params.TTL = 1
|
params.TTL = 1
|
||||||
aesnonce := make([]byte, 12)
|
aesnonce := make([]byte, 12)
|
||||||
mrand.Read(aesnonce)
|
mrand.Read(aesnonce)
|
||||||
|
|
@ -230,11 +236,12 @@ func singleEnvelopeOpenTest(t *testing.T, symmetric bool) {
|
||||||
}
|
}
|
||||||
|
|
||||||
text := make([]byte, 0, 512)
|
text := make([]byte, 0, 512)
|
||||||
steg := make([]byte, 0, 512)
|
|
||||||
text = append(text, params.Payload...)
|
text = append(text, params.Payload...)
|
||||||
steg = append(steg, params.Padding...)
|
|
||||||
|
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -246,10 +253,6 @@ func singleEnvelopeOpenTest(t *testing.T, symmetric bool) {
|
||||||
t.Fatalf("failed to open with seed %d.", seed)
|
t.Fatalf("failed to open with seed %d.", seed)
|
||||||
}
|
}
|
||||||
|
|
||||||
padsz := len(decrypted.Padding)
|
|
||||||
if !bytes.Equal(steg[:padsz], decrypted.Padding) {
|
|
||||||
t.Fatalf("failed with seed %d: compare padding.", seed)
|
|
||||||
}
|
|
||||||
if !bytes.Equal(text, decrypted.Payload) {
|
if !bytes.Equal(text, decrypted.Payload) {
|
||||||
t.Fatalf("failed with seed %d: compare payload.", seed)
|
t.Fatalf("failed with seed %d: compare payload.", seed)
|
||||||
}
|
}
|
||||||
|
|
@ -285,7 +288,10 @@ func TestEncryptWithZeroKey(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
params.KeySym = make([]byte, aesKeyLength)
|
params.KeySym = make([]byte, aesKeyLength)
|
||||||
_, err = msg.Wrap(params)
|
_, err = msg.Wrap(params)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
@ -296,7 +302,10 @@ func TestEncryptWithZeroKey(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
msg = NewSentMessage(params)
|
msg, err = NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
params.KeySym = make([]byte, 0)
|
params.KeySym = make([]byte, 0)
|
||||||
_, err = msg.Wrap(params)
|
_, err = msg.Wrap(params)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
@ -307,7 +316,10 @@ func TestEncryptWithZeroKey(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
msg = NewSentMessage(params)
|
msg, err = NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
params.KeySym = nil
|
params.KeySym = nil
|
||||||
_, err = msg.Wrap(params)
|
_, err = msg.Wrap(params)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
@ -322,7 +334,10 @@ func TestRlpEncode(t *testing.T) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
t.Fatalf("failed generateMessageParams with seed %d: %s.", seed, err)
|
||||||
}
|
}
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("wrapped with zero key, seed: %d.", seed)
|
t.Fatalf("wrapped with zero key, seed: %d.", seed)
|
||||||
|
|
@ -362,7 +377,10 @@ func singlePaddingTest(t *testing.T, padSize int) {
|
||||||
t.Fatalf("padding is not copied as expected with seed %d and sz=%d:\n[%x]\n[%x].", seed, padSize, pad, params.Padding)
|
t.Fatalf("padding is not copied as expected with seed %d and sz=%d:\n[%x]\n[%x].", seed, padSize, pad, params.Padding)
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to wrap, seed: %d and sz=%d.", seed, padSize)
|
t.Fatalf("failed to wrap, seed: %d and sz=%d.", seed, padSize)
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,10 @@ func sendMsg(t *testing.T, expected bool, id int) {
|
||||||
opt.Payload = opt.Payload[1:]
|
opt.Payload = opt.Payload[1:]
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := NewSentMessage(&opt)
|
msg, err := NewSentMessage(&opt)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
envelope, err := msg.Wrap(&opt)
|
envelope, err := msg.Wrap(&opt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed to seal message: %s", err)
|
t.Fatalf("failed to seal message: %s", err)
|
||||||
|
|
@ -286,7 +289,10 @@ func TestPeerBasic(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
params.PoW = 0.001
|
params.PoW = 0.001
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d.", seed)
|
t.Fatalf("failed Wrap with seed %d.", seed)
|
||||||
|
|
|
||||||
|
|
@ -455,7 +455,10 @@ func TestExpiry(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
params.TTL = 1
|
params.TTL = 1
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -515,7 +518,10 @@ func TestCustomization(t *testing.T) {
|
||||||
params.Topic = BytesToTopic(f.Topics[2])
|
params.Topic = BytesToTopic(f.Topics[2])
|
||||||
params.PoW = smallPoW
|
params.PoW = smallPoW
|
||||||
params.TTL = 3600 * 24 // one day
|
params.TTL = 3600 * 24 // one day
|
||||||
msg := NewSentMessage(params)
|
msg, err := NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err := msg.Wrap(params)
|
env, err := msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
@ -533,7 +539,10 @@ func TestCustomization(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
params.TTL++
|
params.TTL++
|
||||||
msg = NewSentMessage(params)
|
msg, err = NewSentMessage(params)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("failed to create new message with seed %d: %s.", seed, err)
|
||||||
|
}
|
||||||
env, err = msg.Wrap(params)
|
env, err = msg.Wrap(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
t.Fatalf("failed Wrap with seed %d: %s.", seed, err)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue