mirror of
https://github.com/coredns/coredns.git
synced 2025-10-28 08:44:17 -04:00
- compliance with metadata contract. If metadata value is empty, ignore rewrite - like if metadata does not exist. (#1953)
This commit is contained in:
committed by
Paul Greenberg
parent
7745462430
commit
b3a92f1622
@@ -203,7 +203,10 @@ func (rule *edns0VariableRule) ruleData(ctx context.Context, state request.Reque
|
||||
|
||||
fetcher := metadata.ValueFunc(ctx, rule.variable[1:len(rule.variable)-1])
|
||||
if fetcher != nil {
|
||||
return []byte(fetcher()), nil
|
||||
value := fetcher()
|
||||
if len(value) > 0 {
|
||||
return []byte(value), nil
|
||||
}
|
||||
}
|
||||
|
||||
return nil, fmt.Errorf("unable to extract data for variable %s", rule.variable)
|
||||
|
||||
@@ -523,8 +523,8 @@ func TestRewriteEDNS0LocalVariable(t *testing.T) {
|
||||
{
|
||||
[]dns.EDNS0{},
|
||||
[]string{"local", "set", "0xffee", "{test/empty}"},
|
||||
[]dns.EDNS0{&dns.EDNS0_LOCAL{Code: 0xffee, Data: []byte("")}},
|
||||
true,
|
||||
nil,
|
||||
false,
|
||||
},
|
||||
{
|
||||
[]dns.EDNS0{},
|
||||
|
||||
Reference in New Issue
Block a user