Browse Source

p2p: return err on `signChallenge` (#4795)

* remove panic & todo in secret_connection
pull/4799/head
Marko 4 years ago
committed by GitHub
parent
commit
d37b8da013
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 5 deletions
  1. +1
    -0
      CHANGELOG_PENDING.md
  2. +7
    -5
      p2p/conn/secret_connection.go

+ 1
- 0
CHANGELOG_PENDING.md View File

@ -42,6 +42,7 @@ Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermi
- cleveldb: use cleveldb as db backend instead of goleveldb.
- race: pass -race to go build and enable data race detection.
- [state] [\#4781](https://github.com/tendermint/tendermint/pull/4781) Export `InitStateVersion` for the initial state version (@erikgrinaker)
- [p2p/conn] \#4795 Return err on `signChallenge()` instead of panic
### BUG FIXES:


+ 7
- 5
p2p/conn/secret_connection.go View File

@ -150,7 +150,10 @@ func MakeSecretConnection(conn io.ReadWriteCloser, locPrivKey crypto.PrivKey) (*
}
// Sign the challenge bytes for authentication.
locSignature := signChallenge(&challenge, locPrivKey)
locSignature, err := signChallenge(&challenge, locPrivKey)
if err != nil {
return nil, err
}
// Share (in secret) each other's pubkey & challenge signature
authSigMsg, err := shareAuthSignature(sc, locPubKey, locSignature)
@ -377,13 +380,12 @@ func sort32(foo, bar *[32]byte) (lo, hi *[32]byte) {
return
}
func signChallenge(challenge *[32]byte, locPrivKey crypto.PrivKey) (signature []byte) {
func signChallenge(challenge *[32]byte, locPrivKey crypto.PrivKey) ([]byte, error) {
signature, err := locPrivKey.Sign(challenge[:])
// TODO(ismail): let signChallenge return an error instead
if err != nil {
panic(err)
return nil, err
}
return
return signature, nil
}
type authSigMessage struct {


Loading…
Cancel
Save