Files
tendermint/CHANGELOG_PENDING.md
Ismail Khoffi a6011c007d Close and retry a RemoteSigner on err (#2923)
* Close and recreate a RemoteSigner on err

* Update changelog

* Address Anton's comments / suggestions:

 - update changelog
 - restart TCPVal
 - shut down on `ErrUnexpectedResponse`

* re-init remote signer client with fresh connection if Ping fails

- add/update TODOs in secret connection
- rename tcp.go -> tcp_client.go, same with ipc to clarify their purpose

* account for `conn returned by waitConnection can be `nil`

- also add TODO about RemoteSigner conn field

* Tests for retrying: IPC / TCP

 - shorter info log on success
 - set conn and use it in tests to close conn

* Tests for retrying: IPC / TCP

 - shorter info log on success
 - set conn and use it in tests to close conn
 - add rwmutex for conn field in IPC

* comments and doc.go

* fix ipc tests. fixes #2677

* use constants for tests

* cleanup some error statements

* fixes #2784, race in tests

* remove print statement

* minor fixes from review

* update comment on sts spec

* cosmetics

* p2p/conn: add failing tests

* p2p/conn: make SecretConnection thread safe

* changelog

* IPCVal signer refactor

- use a .reset() method
- don't use embedded RemoteSignerClient
- guard RemoteSignerClient with mutex
- drop the .conn
- expose Close() on RemoteSignerClient

* apply IPCVal refactor to TCPVal

* remove mtx from RemoteSignerClient

* consolidate IPCVal and TCPVal, fixes #3104

- done in tcp_client.go
- now called SocketVal
- takes a listener in the constructor
- make tcpListener and unixListener contain all the differences

* delete ipc files

* introduce unix and tcp dialer for RemoteSigner

* rename files

- drop tcp_ prefix
- rename priv_validator.go to file.go

* bring back listener options

* fix node

* fix priv_val_server

* fix node test

* minor cleanup and comments
2019-01-13 14:31:31 -05:00

1.3 KiB

v0.28.0

TBD

Special thanks to external contributors on this release:

BREAKING CHANGES:

  • CLI/RPC/Config
  • [cli] Removed node --proxy_app=dummy option. Use kvstore (persistent_kvstore) instead.
  • [cli] Renamed node --proxy_app=nilapp to --proxy_app=noop.
  • [config] #2992 allow_duplicate_ip is now set to false
  • [privval] #2926 split up PubKeyMsg into PubKeyRequest and PubKeyResponse to be consistent with other message types
  • [privval] #2923 listen for unix socket connections instead of dialing them
  • Apps

  • Go API

  • [types] #2926 memoize consensus public key on initialization of remote signer and return the memoized key on PrivValidator.GetPubKey() instead of requesting it again
  • [types] #2981 Remove PrivValidator.GetAddress()
  • Blockchain Protocol

  • P2P Protocol

FEATURES:

  • [privval] #1181 Split immutable and mutable parts of priv_validator.json

IMPROVEMENTS:

  • [p2p/conn] #3111 make SecretConnection thread safe
  • [privval] #2923 retry RemoteSigner connections on error
  • [rpc] #3047 Include peer's remote IP in /net_info

BUG FIXES:

  • [types] #2926 do not panic if retrieving the private validator's public key fails
  • [crypto/multisig] #3102 fix multisig keys address length
  • [crypto/encoding] #3101 Fix PubKeyMultisigThreshold unmarshalling into crypto.PubKey interface