aboutsummaryrefslogtreecommitdiff
path: root/plugin/rewrite/rewrite_test.go (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-05-04plugin/rewrite: streamline the ResponseRule handling. (#4473)Gravatar Uwe Krueger 1-13/+19
* plugin/rewrite: streamline the ResponseRule handling. The functionality of a response rule is now completely encapsulated behind a `ResponseRule` interface. This significantly simplifies the complete processing flow, it enables more flexible response handling and it is possible to eliminate lots of state flags, ifs and switches. Based on the new flexibility the pull request also enables to support a response name rewrite for all name rewrite types. To be compatible, an explicit `answer auto` option is added to support a best effort response rewrite (name and value). Additionally now all name rewrite rules support additional name and value reponse rewrite options. Using this feature it is also possible now to rewrite a complete sub domain hierarchy to a single domain name combined with a correct rewrite (#2389). Signed-off-by: Uwe Krueger <uwe.krueger@sap.com> * revert policy Signed-off-by: Uwe Krueger <uwe.krueger@sap.com> Co-authored-by: Miek Gieben <miek@miek.nl>
2019-09-27cleanup code by lint (#3312)Gravatar Guangming Wang 1-1/+1
Signed-off-by: Guangming Wang <guangming.wang@daocloud.io>
2018-10-23plugin/rewrite: add closing dot for suffix rewrite rule (#2070)Gravatar Paul G 1-4/+4
* add closing dot for suffix rewrite rule * improve rule syntax checks Resolves: #1881
2018-07-08- compliance with metadata contract. If metadata value is empty, ignore ↵Gravatar Francois Tur 1-2/+2
rewrite - like if metadata does not exist. (#1953)
2018-07-08plugin/rewrite - extend edns0 local variable support with metadata (#1928)Gravatar Francois Tur 1-4/+46
* - add support of metadata values for edns0 local variables * - comments from review. * - simplify label check. Add UT * - enhance check for Labels, add UT - remove IsMetadataSet * - edns0 variable - if variable is not found just ignore the rewrite.
2018-07-02plugin/rewrite: use request.Request and other cleanups (#1920)Gravatar Miek Gieben 1-6/+4
This was done anyway, but only deep in the functions, just do this everywhere; allows for shorter code and request.Request allows for caching as well. Cleanups, make it more Go like. * remove unneeded switches * remove testdir (why was this there??) * simplify the logic * remove unneeded variables * put short functions on a single line * fix documentation. * spin off wire funcs in wire.go, make them functions. Signed-off-by: Miek Gieben <miek@miek.nl>
2018-07-01plugin/metadata: metadata is just label=value (#1914)Gravatar Miek Gieben 1-3/+3
This revert 17d807f0 and re-adds the metadata plugin as a plugin that just sets a label to a value function. Add package documentation on how to use the metadata package. Make it clear that any caching is up to the Func implemented. There are now - no in tree users. We could add the request metadata by default under names that copy request.Request, i.e request/ip - remote IP request/port - remote port Variables.go has been deleted. Signed-off-by: Miek Gieben <miek@miek.nl>
2018-06-29plugin/metadata: add metadata plugin (#1894)Gravatar Eugen Kleiner 1-3/+3
* plugin/metadata: add metadata plugin * plugin/metadata: Add MD struct, refactor code, fix doc * plugin/metadata: simplify metadata key * plugin/metadata: improve setup_test * Support of metadata by rewrite plugin. Move calculated variables to metadata. * Move variables from metadata to pkg, add UTs, READMEs change, metadata small fixes * Add client port validation to variables_test * plugin/metadata: improve README * plugin/metadata: rename methods * plugin/metadata: Update Metadataer interface, update doc, cosmetic code changes * plugin/metadata: move colllisions check to OnStartup(). Fix default variables metadataer. * plugin/metadata: Fix comment for method setValue * plugin/metadata: change variables order to fix linter warning * plugin/metadata: rename Metadataer to Provider
2018-04-22all: fix plugin import ordering (#1717)Gravatar Miek Gieben 1-2/+1
Got a bit messed up with stb lib "context" usage.
2018-04-20global: move to context (#1699)Gravatar Miek Gieben 1-1/+2
* global: move to context Move from golang.org/x/net/context to std lib's context. Change done with: for i in $(grep -l '/context' **/*.go); do sed -e 's|golang.org/x/net/context|context|' -i $i; echo $i; done for i in **/*.go; do goimports -w $i; done * drop from dns.pb.go as well
2018-02-14check DO bit is maintaining status (#1526)Gravatar Sandeep Rajan 1-0/+34
2018-01-18feature: plugin/rewrite: rewrite ANSWER SECTION (#1318)Gravatar Paul Greenberg 1-0/+17
Resolves: #1313
2017-12-14plugin/rewrite: fix flow control logic for all rule types (#1308)Gravatar Paul Greenberg 1-2/+11
Resolves: #1307
2017-12-13plugin/rewrite: regular expression and substring match/replace (#1296) (#1297)Gravatar Paul Greenberg 1-1/+23
2017-11-28plugin/rewrite: don't set or use ecs.DraftOption (#1262)Gravatar Miek Gieben 1-9/+6
* plugin/rewrite: don't set or use ecs.DraftOption Don't know why we are accessing this and explicitally setting it to False (the default). Any kill with fire - makes the build, build again. * remove this
2017-09-21pkg: add dnstest (#1098)Gravatar Miek Gieben 1-6/+6
Add a full test server impl in this new package + tests. Move dnsrecorder into this package as well and finish up the commented out tests that were left in the old dnsrecorder package. Update all callers and tests.
2017-09-20Modify the rewrite plugin to write multiple EDNS0 options (#936) (#1096)Gravatar Thong Huynh 1-5/+42
* Add processing mode * Add processing mode * Update UTs * Update README.md * Change to use the constant Stop * Fix README per review comments
2017-09-14Remove the word middleware (#1067)Gravatar Miek Gieben 1-0/+532
* Rename middleware to plugin first pass; mostly used 'sed', few spots where I manually changed text. This still builds a coredns binary. * fmt error * Rename AddMiddleware to AddPlugin * Readd AddMiddleware to remain backwards compat