-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot trust or retire a retired node #797
Conversation
cannot_trust_retire_node@4562 aka 20200205.4 vs master ewma over 30 builds from 4183 to 4560 |
Codecov Report
@@ Coverage Diff @@
## master #797 +/- ##
==========================================
- Coverage 77.38% 74.36% -3.02%
==========================================
Files 150 125 -25
Lines 11578 10273 -1305
==========================================
- Hits 8959 7639 -1320
- Misses 2619 2634 +15
|
@@ -32,7 +32,6 @@ namespace ccf | |||
Tables::MEMBER_CERTS, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Members should have access to the nodes table via lua, same as they do to the members table, etc. If they want to change the way that the nodes are handled they should be able to propose and vote for that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The join protocol is implemented in C++ though, and we do want to enforce a particular set of conditions and transitions for nodes to preserve security guarantees. What's the use case for opening this up completely?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Raised #806
Follow up from #778
It should not be possible to trust a node that is already retired. Also, the
ccf.nodes
tables should not be writable from Lua - we really want to limit what members can change in that table (i.e. only trust and retire nodes, via C++ functions).