watchtower/wtserver: add DisableReward config option

This commit is contained in:
Conner Fromknecht 2019-06-13 17:35:36 -07:00
parent a246d8216a
commit 6504058c74
No known key found for this signature in database
GPG Key ID: E7D737B67FA592C7
2 changed files with 15 additions and 0 deletions

@ -54,6 +54,17 @@ func (s *Server) handleCreateSession(peer Peer, id *wtdb.SessionID,
) )
} }
// If the request asks for a reward session and the tower has them
// disabled, we will reject the request.
if s.cfg.DisableReward && req.BlobType.Has(blob.FlagReward) {
log.Debugf("Rejecting CreateSession from %s, reward "+
"sessions disabled", id)
return s.replyCreateSession(
peer, id, wtwire.CreateSessionCodeRejectBlobType, 0,
nil,
)
}
// Now that we've established that this session does not exist in the // Now that we've established that this session does not exist in the
// database, retrieve the sweep address that will be given to the // database, retrieve the sweep address that will be given to the
// client. This address is to be included by the client when signing // client. This address is to be included by the client when signing

@ -63,6 +63,10 @@ type Config struct {
// NoAckUpdates causes the server to not acknowledge state updates, this // NoAckUpdates causes the server to not acknowledge state updates, this
// should only be used for testing. // should only be used for testing.
NoAckUpdates bool NoAckUpdates bool
// DisableReward causes the server to reject any session creation
// attempts that request rewards.
DisableReward bool
} }
// Server houses the state required to handle watchtower peers. It's primary job // Server houses the state required to handle watchtower peers. It's primary job