Skip to content

Commit

Permalink
http: ensure return after writing response by respondError (#8796)
Browse files Browse the repository at this point in the history
  • Loading branch information
calvn committed Apr 21, 2020
1 parent f21f9d3 commit 6c9d585
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 0 deletions.
1 change: 1 addition & 0 deletions command/agent/cache/handler.go
Expand Up @@ -40,6 +40,7 @@ func Handler(ctx context.Context, logger hclog.Logger, proxier Proxier, inmemSin
if err != nil {
logger.Error("failed to read request body")
logical.RespondError(w, http.StatusInternalServerError, errors.New("failed to read request body"))
return
}
if r.Body != nil {
r.Body.Close()
Expand Down
2 changes: 2 additions & 0 deletions http/logical.go
Expand Up @@ -232,6 +232,7 @@ func handleLogicalRecovery(raw *vault.RawBackend, token *atomic.String) http.Han
reqToken := r.Header.Get(consts.AuthHeaderName)
if reqToken == "" || token.Load() == "" || reqToken != token.Load() {
respondError(w, http.StatusForbidden, nil)
return
}

resp, err := raw.HandleRequest(r.Context(), req)
Expand Down Expand Up @@ -379,6 +380,7 @@ func handleLogicalInternal(core *vault.Core, injectDataIntoTopLevel bool, noForw
case strings.HasPrefix(req.Path, "sys/metrics"):
if isStandby, _ := core.Standby(); isStandby {
respondError(w, http.StatusBadRequest, vault.ErrCannotForwardLocalOnly)
return
}
}

Expand Down
1 change: 1 addition & 0 deletions http/sys_metrics.go
Expand Up @@ -17,6 +17,7 @@ func handleMetricsUnauthenticated(core *vault.Core) http.Handler {
case "GET":
default:
respondError(w, http.StatusMethodNotAllowed, nil)
return
}

// Parse form
Expand Down
1 change: 1 addition & 0 deletions http/sys_raft.go
Expand Up @@ -33,6 +33,7 @@ func handleSysRaftJoinPost(core *vault.Core, w http.ResponseWriter, r *http.Requ

if req.NonVoter && !nonVotersAllowed {
respondError(w, http.StatusBadRequest, errors.New("non-voting nodes not allowed"))
return
}

var tlsConfig *tls.Config
Expand Down

0 comments on commit 6c9d585

Please sign in to comment.