-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
auth, etcdserver: hash password in the API layer #11943
Conversation
Note that this PR changes the content of log entry and state machine behavior so cannot be backported to the stable releases. |
b085cf6
to
7a75e48
Compare
I just added |
Does this feature prevent user from performing rolling upgrade to their etcd clusters? |
yes,if new member applies a UserAddRequest from old member, it is failed to add user and cause data inconsistency. if r.HashPassword == "" && r.Password != "" ,we have to be compatible with old version logic.how do you think so? @mitake |
Yes, creating such a label is valuable. PRs which introduce changed behavior of the state machine should be labeled with it.
That's a good idea, I'll make a commit for implementing the strategy. |
@jingyih could you take a look when you have a time? I think it's ok to merge this PR (the failed test isn't related to this PR). |
cc @spzala |
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.
@mitake thank you, lgtm but can you please fix the build error - https://travis-ci.com/github/etcd-io/etcd/jobs/358895971#L413 I think you just need to remove the else
loop on LOC 386 which is unnecessary. Thanks!
@spzala oops sorry for that, I fixed it in the latest commit |
With this change etcd gets hashed password for UserAdd and UserChangePassword. Log entries of WAL will be like below:
Note that this PR is still WIP (conversion between string and byte array in the API layer).