etcdserver: fix panic when getting header of raft request

release-3.0
Xiang Li 2016-06-16 13:42:10 -07:00
parent 9c78cda088
commit adff458895
1 changed files with 6 additions and 1 deletions

View File

@ -30,7 +30,12 @@ func newAuthApplierV3(as auth.AuthStore, base applierV3) *authApplierV3 {
}
func (aa *authApplierV3) Apply(r *pb.InternalRaftRequest) *applyResult {
user := r.Header.Username
var user string
if r.Header != nil {
// backward-compatible with pre-3.0 releases when internalRaftRequest
// does not have header field
user = r.Header.Username
}
if needAdminPermission(r) && !aa.as.IsAdminPermitted(user) {
return &applyResult{err: auth.ErrPermissionDenied}
}