whisper: renamed errors

This commit is contained in:
Bas van Kervel 2017-06-21 10:32:36 +02:00
parent b6b0e00198
commit 4a1d516d78
3 changed files with 25 additions and 25 deletions

View File

@ -18,11 +18,11 @@ package whisperv5
import (
"context"
"crypto/ecdsa"
"errors"
"fmt"
"time"
"crypto/ecdsa"
"sync"
"time"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil"
@ -37,12 +37,12 @@ const (
)
var (
SymAsymErr = errors.New("specify either a symetric or a asymmetric key")
InvalidSymmetricKeyErr = errors.New("invalid symmetric key")
InvalidPublicKeyErr = errors.New("invalid public key")
InvalidSigningPubKey = errors.New("invalid signing public key")
TooLowPoWErr = errors.New("message rejected, PoW too low")
NoTopicsErr = errors.New("missing topic(s)")
ErrSymAsym = errors.New("specify either a symetric or a asymmetric key")
ErrInvalidSymmetricKey = errors.New("invalid symmetric key")
ErrInvalidPublicKey = errors.New("invalid public key")
ErrInvalidSigningPubKey = errors.New("invalid signing public key")
ErrTooLowPoW = errors.New("message rejected, PoW too low")
ErrNoTopics = errors.New("missing topic(s)")
)
// PublicWhisperAPI provides the whisper RPC service that can be
@ -245,7 +245,7 @@ func (api *PublicWhisperAPI) Post(ctx context.Context, req NewMessage) (bool, er
// user must specify either a symmetric or a asymmetric key
if (symKeyGiven && pubKeyGiven) || (!symKeyGiven && !pubKeyGiven) {
return false, SymAsymErr
return false, ErrSymAsym
}
params := &MessageParams{
@ -267,13 +267,13 @@ func (api *PublicWhisperAPI) Post(ctx context.Context, req NewMessage) (bool, er
// Set symmetric key that is used to encrypt the message
if symKeyGiven {
if params.Topic == (TopicType{}) { // topics are mandatory with symmetric encryption
return false, NoTopicsErr
return false, ErrNoTopics
}
if params.KeySym, err = api.w.GetSymKey(req.SymKeyID); err != nil {
return false, err
}
if !validateSymmetricKey(params.KeySym) {
return false, InvalidSymmetricKeyErr
return false, ErrInvalidSymmetricKey
}
}
@ -281,7 +281,7 @@ func (api *PublicWhisperAPI) Post(ctx context.Context, req NewMessage) (bool, er
if pubKeyGiven {
params.Dst = crypto.ToECDSAPub(req.PublicKey)
if !ValidatePublicKey(params.Dst) {
return false, InvalidPublicKeyErr
return false, ErrInvalidPublicKey
}
}
@ -307,7 +307,7 @@ func (api *PublicWhisperAPI) Post(ctx context.Context, req NewMessage) (bool, er
// ensure that the message PoW meets the node's minimum accepted PoW
if req.PowTarget < api.w.MinPow() {
return false, TooLowPoWErr
return false, ErrTooLowPoW
}
return true, api.w.Send(env)
@ -346,7 +346,7 @@ func (api *PublicWhisperAPI) Messages(ctx context.Context, crit Criteria) (*rpc.
// user must specify either a symmetric or a asymmetric key
if (symKeyGiven && pubKeyGiven) || (!symKeyGiven && !pubKeyGiven) {
return nil, SymAsymErr
return nil, ErrSymAsym
}
filter := Filter{
@ -358,7 +358,7 @@ func (api *PublicWhisperAPI) Messages(ctx context.Context, crit Criteria) (*rpc.
if len(crit.Sig) > 0 {
filter.Src = crypto.ToECDSAPub(crit.Sig)
if !ValidatePublicKey(filter.Src) {
return nil, InvalidSigningPubKey
return nil, ErrInvalidSigningPubKey
}
}
@ -372,14 +372,14 @@ func (api *PublicWhisperAPI) Messages(ctx context.Context, crit Criteria) (*rpc.
// listen for message that are encrypted with the given symmetric key
if symKeyGiven {
if len(filter.Topics) == 0 {
return nil, NoTopicsErr
return nil, ErrNoTopics
}
key, err := api.w.GetSymKey(crit.SymKeyID)
if err != nil {
return nil, err
}
if !validateSymmetricKey(key) {
return nil, InvalidSymmetricKeyErr
return nil, ErrInvalidSymmetricKey
}
filter.KeySym = key
filter.SymKeyHash = crypto.Keccak256Hash(filter.KeySym)
@ -389,7 +389,7 @@ func (api *PublicWhisperAPI) Messages(ctx context.Context, crit Criteria) (*rpc.
if pubKeyGiven {
filter.KeyAsym, err = api.w.GetPrivateKey(crit.PrivateKeyID)
if err != nil || filter.KeyAsym == nil {
return nil, InvalidPublicKeyErr
return nil, ErrInvalidPublicKey
}
}
@ -536,13 +536,13 @@ func (api *PublicWhisperAPI) NewMessageFilter(req Criteria) (string, error) {
// user must specify either a symmetric or a asymmetric key
if (symKeyGiven && asymKeyGiven) || (!symKeyGiven && !asymKeyGiven) {
return "", SymAsymErr
return "", ErrSymAsym
}
if len(req.Sig) > 0 {
src = crypto.ToECDSAPub(req.Sig)
if !ValidatePublicKey(src) {
return "", InvalidSigningPubKey
return "", ErrInvalidSigningPubKey
}
}
@ -551,7 +551,7 @@ func (api *PublicWhisperAPI) NewMessageFilter(req Criteria) (string, error) {
return "", err
}
if !validateSymmetricKey(keySym) {
return "", InvalidSymmetricKeyErr
return "", ErrInvalidSymmetricKey
}
}

View File

@ -112,7 +112,7 @@ func New(cfg *Config) *Whisper {
if cfg == nil {
cfg = &DefaultConfig
}
whisper := &Whisper{
privateKeys: make(map[string]*ecdsa.PrivateKey),
symKeys: make(map[string][]byte),

View File

@ -18,10 +18,10 @@ package whisperv5
import (
"bytes"
"crypto/ecdsa"
mrand "math/rand"
"testing"
"time"
"crypto/ecdsa"
)
func TestWhisperBasic(t *testing.T) {
@ -120,11 +120,11 @@ func TestWhisperBasic(t *testing.T) {
func TestWhisperAsymmetricKeyImport(t *testing.T) {
var (
w = New(&DefaultConfig)
w = New(&DefaultConfig)
privateKeys []*ecdsa.PrivateKey
)
for i:=0; i < 50; i++ {
for i := 0; i < 50; i++ {
id, err := w.NewKeyPair()
if err != nil {
t.Fatalf("could not generate key: %v", err)