Add separate path for capabilities-self to enable ACL

This commit is contained in:
vishalnayak
2016-03-17 22:52:03 -04:00
parent 0ac4aa123d
commit 289a2a2661
2 changed files with 22 additions and 4 deletions

View File

@@ -44,10 +44,7 @@ func Handler(core *vault.Core) http.Handler {
}
func sysCapabilitiesCallback(req *logical.Request) error {
if req.Path == "sys/capabilities-self" {
req.Path = "sys/capabilities"
req.Data["token"] = req.ClientToken
}
return nil
}

View File

@@ -82,6 +82,27 @@ func NewSystemBackend(core *Core, config *logical.BackendConfig) logical.Backend
HelpSynopsis: strings.TrimSpace(sysHelp["capabilities"][0]),
HelpDescription: strings.TrimSpace(sysHelp["capabilities"][0]),
},
&framework.Path{
Pattern: "capabilities-self$",
Fields: map[string]*framework.FieldSchema{
"token": &framework.FieldSchema{
Type: framework.TypeString,
Description: "Token for which capabilities are being queried.",
},
"path": &framework.FieldSchema{
Type: framework.TypeString,
Description: "Path on which capabilities are being queried.",
},
},
Callbacks: map[logical.Operation]framework.OperationFunc{
logical.UpdateOperation: b.handleCapabilities,
},
HelpSynopsis: strings.TrimSpace(sysHelp["capabilities"][0]),
HelpDescription: strings.TrimSpace(sysHelp["capabilities"][0]),
},
&framework.Path{
Pattern: "rekey/backup$",