forked from cerc-io/plugeth
whisper/mailserver: pass init error to the caller (#16671)
* whisper/mailserver: pass init error to the caller * whisper/mailserver: add returns to fmt.Errorf * whisper/mailserver: check err in mailserver init test
This commit is contained in:
parent
16f3c31773
commit
d2fe83dc5c
@ -271,7 +271,9 @@ func initialize() {
|
|||||||
|
|
||||||
if *mailServerMode {
|
if *mailServerMode {
|
||||||
shh.RegisterServer(&mailServer)
|
shh.RegisterServer(&mailServer)
|
||||||
mailServer.Init(shh, *argDBPath, msPassword, *argServerPoW)
|
if err := mailServer.Init(shh, *argDBPath, msPassword, *argServerPoW); err != nil {
|
||||||
|
utils.Fatalf("Failed to init MailServer: %s", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
server = &p2p.Server{
|
server = &p2p.Server{
|
||||||
|
@ -20,7 +20,6 @@ import (
|
|||||||
"encoding/binary"
|
"encoding/binary"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/ethereum/go-ethereum/cmd/utils"
|
|
||||||
"github.com/ethereum/go-ethereum/common"
|
"github.com/ethereum/go-ethereum/common"
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/log"
|
"github.com/ethereum/go-ethereum/log"
|
||||||
@ -54,19 +53,19 @@ func NewDbKey(t uint32, h common.Hash) *DBKey {
|
|||||||
return &k
|
return &k
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *WMailServer) Init(shh *whisper.Whisper, path string, password string, pow float64) {
|
func (s *WMailServer) Init(shh *whisper.Whisper, path string, password string, pow float64) error {
|
||||||
var err error
|
var err error
|
||||||
if len(path) == 0 {
|
if len(path) == 0 {
|
||||||
utils.Fatalf("DB file is not specified")
|
return fmt.Errorf("DB file is not specified")
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(password) == 0 {
|
if len(password) == 0 {
|
||||||
utils.Fatalf("Password is not specified for MailServer")
|
return fmt.Errorf("password is not specified")
|
||||||
}
|
}
|
||||||
|
|
||||||
s.db, err = leveldb.OpenFile(path, nil)
|
s.db, err = leveldb.OpenFile(path, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Fatalf("Failed to open DB file: %s", err)
|
return fmt.Errorf("open DB file: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
s.w = shh
|
s.w = shh
|
||||||
@ -74,12 +73,13 @@ func (s *WMailServer) Init(shh *whisper.Whisper, path string, password string, p
|
|||||||
|
|
||||||
MailServerKeyID, err := s.w.AddSymKeyFromPassword(password)
|
MailServerKeyID, err := s.w.AddSymKeyFromPassword(password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Fatalf("Failed to create symmetric key for MailServer: %s", err)
|
return fmt.Errorf("create symmetric key: %s", err)
|
||||||
}
|
}
|
||||||
s.key, err = s.w.GetSymKey(MailServerKeyID)
|
s.key, err = s.w.GetSymKey(MailServerKeyID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Fatalf("Failed to save symmetric key for MailServer")
|
return fmt.Errorf("save symmetric key: %s", err)
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *WMailServer) Close() {
|
func (s *WMailServer) Close() {
|
||||||
|
@ -92,7 +92,10 @@ func TestMailServer(t *testing.T) {
|
|||||||
shh = whisper.New(&whisper.DefaultConfig)
|
shh = whisper.New(&whisper.DefaultConfig)
|
||||||
shh.RegisterServer(&server)
|
shh.RegisterServer(&server)
|
||||||
|
|
||||||
server.Init(shh, dir, password, powRequirement)
|
err = server.Init(shh, dir, password, powRequirement)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
defer server.Close()
|
defer server.Close()
|
||||||
|
|
||||||
keyID, err = shh.AddSymKeyFromPassword(password)
|
keyID, err = shh.AddSymKeyFromPassword(password)
|
||||||
|
Loading…
Reference in New Issue
Block a user