aboutsummaryrefslogtreecommitdiff
path: root/plugin/rewrite/class.go (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-05-04plugin/rewrite: streamline the ResponseRule handling. (#4473)Gravatar Uwe Krueger 1-6/+3
* 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>
2021-02-23Rewrite SRV targets and additional names in response (#4287)Gravatar slick-nic 1-2/+2
* Rewrite plugin - rewrite SRV targets and names in response answer and additional records Signed-off-by: Nic Colledge <nic@njcolledge.net> * Added README content to describe new behaviour Signed-off-by: Nic Colledge <nic@njcolledge.net> * Added more record types to rewrite handling based on PR/Issue feedback Signed-off-by: Nic Colledge <nic@njcolledge.net> * Updated README.md for plugin Signed-off-by: Nic Colledge <nic@njcolledge.net> * Updated unit tests. Small refactor of getTarget... function. Signed-off-by: Nic Colledge <nic@njcolledge.net> * Refactor to add response value rewrite as answer value option Signed-off-by: Nic Colledge <nic@njcolledge.net> * Removed TODO comment, added test for NAPTR record. Signed-off-by: Nic Colledge <nic@njcolledge.net>
2019-02-20Remove some duplicate worlds (#2582)Gravatar Nguyen Phuong An 1-1/+1
Signed-off-by: Nguyen Phuong An <AnNP@vn.fujitsu.com>
2018-07-08plugin/rewrite - extend edns0 local variable support with metadata (#1928)Gravatar Francois Tur 1-1/+2
* - 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-10/+8
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-2/+1
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-1/+2
* 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-01-18feature: plugin/rewrite: rewrite ANSWER SECTION (#1318)Gravatar Paul Greenberg 1-0/+5
Resolves: #1313
2017-12-14plugin/rewrite: fix flow control logic for all rule types (#1308)Gravatar Paul Greenberg 1-8/+11
Resolves: #1307
2017-09-20Modify the rewrite plugin to write multiple EDNS0 options (#936) (#1096)Gravatar Thong Huynh 1-0/+5
* 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/+35
* 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