mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-11-01 02:57:59 +00:00
logical/framework: PathMap is case insensitive by default
This commit is contained in:
@@ -18,7 +18,6 @@ func Backend() *framework.Backend {
|
|||||||
b.Map = &framework.PolicyMap{
|
b.Map = &framework.PolicyMap{
|
||||||
PathMap: framework.PathMap{
|
PathMap: framework.PathMap{
|
||||||
Name: "teams",
|
Name: "teams",
|
||||||
CaseInsensitive: true,
|
|
||||||
},
|
},
|
||||||
DefaultKey: "default",
|
DefaultKey: "default",
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ type PathMap struct {
|
|||||||
Prefix string
|
Prefix string
|
||||||
Name string
|
Name string
|
||||||
Schema map[string]*FieldSchema
|
Schema map[string]*FieldSchema
|
||||||
CaseInsensitive bool
|
CaseSensitive bool
|
||||||
|
|
||||||
once sync.Once
|
once sync.Once
|
||||||
}
|
}
|
||||||
@@ -43,7 +43,7 @@ func (p *PathMap) pathStruct(k string) *PathStruct {
|
|||||||
p.once.Do(p.init)
|
p.once.Do(p.init)
|
||||||
|
|
||||||
// If we don't care about casing, store everything lowercase
|
// If we don't care about casing, store everything lowercase
|
||||||
if p.CaseInsensitive {
|
if !p.CaseSensitive {
|
||||||
k = strings.ToLower(k)
|
k = strings.ToLower(k)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -46,6 +46,15 @@ func TestPathMap(t *testing.T) {
|
|||||||
t.Fatalf("bad: %#v", v)
|
t.Fatalf("bad: %#v", v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Read via API with other casing
|
||||||
|
v, err = p.Get(storage, "A")
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("bad: %#v", err)
|
||||||
|
}
|
||||||
|
if v["value"] != "bar" {
|
||||||
|
t.Fatalf("bad: %#v", v)
|
||||||
|
}
|
||||||
|
|
||||||
// Verify List
|
// Verify List
|
||||||
keys, err := p.List(storage, "")
|
keys, err := p.List(storage, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user