itle>
<meta name='generator' content='cgit v1.2.3'/>
<meta name='robots' content='index, nofollow'/>
<link rel='stylesheet' type='text/css' href='/cgit.css'/>
<script type='text/javascript' src='/cgit.js'></script>
<link rel='shortcut icon' href='/favicon.ico'/>
<link rel='alternate' title='Atom feed' href='https://git.anshulg.com/ansg191/coredns/atom/vendor/golang.org/x/net?h=master' type='application/atom+xml'/>
</head>
<body>
<div id='cgit'><table id='header'>
<tr>
<td class='logo' rowspan='2'><a href='/'><img src='/cgit.png' alt='cgit logo'/></a></td>
<td class='main'><a href='/'>index</a> : <a href='/ansg191/coredns/'>coredns</a></td><td class='form'><form method='get'>
<input type='hidden' name='id' value='9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a'/><input type='hidden' name='showmsg' value='1'/><select name='h' onchange='this.form.submit();'>
<option value='dependabot/github_actions/actions/dependency-review-action-4.3.3'>dependabot/github_actions/actions/dependency-review-action-4.3.3</option>
<option value='dependabot/github_actions/aquasecurity/trivy-action-0.22.0'>dependabot/github_actions/aquasecurity/trivy-action-0.22.0</option>
<option value='dependabot/github_actions/codecov/codecov-action-4.5.0'>dependabot/github_actions/codecov/codecov-action-4.5.0</option>
<option value='dependabot/github_actions/github/codeql-action-3.25.10'>dependabot/github_actions/github/codeql-action-3.25.10</option>
<option value='dependabot/go_modules/github.com/Azure/go-autorest/autorest/azure/auth-0.5.13'>dependabot/go_modules/github.com/Azure/go-autorest/autorest/azure/auth-0.5.13</option>
<option value='dependabot/go_modules/github.com/aws/aws-sdk-go-1.54.2'>dependabot/go_modules/github.com/aws/aws-sdk-go-1.54.2</option>
<option value='dependabot/go_modules/go-etcd-io-4cb3a346bb'>dependabot/go_modules/go-etcd-io-4cb3a346bb</option>
<option value='dependabot/go_modules/golang.org/x/crypto-0.24.0'>dependabot/go_modules/golang.org/x/crypto-0.24.0</option>
<option value='dependabot/go_modules/google.golang.org/api-0.184.0'>dependabot/go_modules/google.golang.org/api-0.184.0</option>
<option value='dependabot/go_modules/k8s-io-95614c8192'>dependabot/go_modules/k8s-io-95614c8192</option>
<option value='fallthrough'>fallthrough</option>
<option value='master' selected='selected'>master</option>
<option value='superq/go1.22'>superq/go1.22</option>
<option value='superq/refactor_pbutil'>superq/refactor_pbutil</option>
<option value='torrent'>torrent</option>
<option value='traffic'>traffic</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>Unnamed repository; edit this file 'description' to name the repository.</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/ansg191/coredns/about/'>about</a><a href='/ansg191/coredns/'>summary</a><a href='/ansg191/coredns/refs/?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a'>refs</a><a class='active' href='/ansg191/coredns/log/vendor/golang.org/x/net?showmsg=1&amp;follow=1'>log</a><a href='/ansg191/coredns/tree/vendor/golang.org/x/net?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a'>tree</a><a href='/ansg191/coredns/commit/vendor/golang.org/x/net?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;follow=1'>commit</a><a href='/ansg191/coredns/diff/vendor/golang.org/x/net?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;follow=1'>diff</a></td><td class='form'><form class='right' method='get' action='/ansg191/coredns/log/vendor/golang.org/x/net'>
<input type='hidden' name='id' value='9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a'/><input type='hidden' name='showmsg' value='1'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/ansg191/coredns/log/?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;showmsg=1&amp;follow=1'>root</a>/<a href='/ansg191/coredns/log/vendor?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;showmsg=1&amp;follow=1'>vendor</a>/<a href='/ansg191/coredns/log/vendor/golang.org?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;showmsg=1&amp;follow=1'>golang.org</a>/<a href='/ansg191/coredns/log/vendor/golang.org/x?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;showmsg=1&amp;follow=1'>x</a>/<a href='/ansg191/coredns/log/vendor/golang.org/x/net?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;showmsg=1&amp;follow=1'>net</a> (<a href='/ansg191/coredns/log/vendor/golang.org/x/net?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;showmsg=1'>unfollow</a>)</div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/ansg191/coredns/log/vendor/golang.org/x/net?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;follow=1'>Collapse</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
<tr class='logheader'><td><span title='2018-06-30 09:07:33 -0700'>2018-06-30</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/vendor/golang.org/x/net/websocket/websocket.go?id=9d555ab8d2f712a50ec1b7f46de0a7405a28eb9a&amp;follow=1'>Dep ensure -update (#1912)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>40</td><td><span class='deletions'>-9707</span>/<span class='insertions'>+10600</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* dep ensure -update

Signed-off-by: Miek Gieben &lt;miek@miek.nl&gt;

* Add new files

Signed-off-by: Miek Gieben &lt;miek@miek.nl&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-06-30 16:19:13 +0100'>2018-06-30</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/vendor/k8s.io/client-go/util/workqueue/rate_limitting_queue_test.go?id=6fe27d99be622f69ac0b1d402a67a571c6f6166e&amp;follow=1'>plugin/etcdv3: Add etcd v3 plugin (#1702)</a></td><td><img src='//www.gravatar.com/avatar/2b04bb63ff52db3480a8fd0656177deb?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Nitish Tiwari
</td><td>10327</td><td><span class='deletions'>-82</span>/<span class='insertions'>+4196998</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* Update dependencies and add etcdv3 client

* Update etcd plugin to support etcd v3 clients

Fixes #341


</td></tr>
<tr class='logheader'><td><span title='2018-06-29 17:38:31 +0100'>2018-06-29</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/request/request.go?id=f3afd700210ffee655672b90b8cb78698f1d9e42&amp;follow=1'>request: Add LocalAddr() and LocalPort() (#1907)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>1</td><td><span class='deletions'>-4</span>/<span class='insertions'>+14</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
These are used in the rewrite plugin, makes sense to have a common place
for them.

Signed-off-by: Miek Gieben &lt;miek@miek.nl&gt;

</td></tr>
<tr class='logheader'><td><span title='2018-06-29 15:03:25 +0100'>2018-06-29</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/rewrite/edns0.go?id=2fd31cd3e033161982e19a19bd132d2c5c59ea42&amp;follow=1'>plugin/metadata: some cleanups (#1906)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>7</td><td><span class='deletions'>-58</span>/<span class='insertions'>+53</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* plugin/metadata: some cleanups

Name to provider.go as that's what being defined right now in the file.
Use request.Request because that's done in variables.go anyway. Name the
main storage M, because there is no further meaning behind.

Remove superfluous methods

Signed-off-by: Miek Gieben &lt;miek@miek.nl&gt;

* Fix test

Signed-off-by: Miek Gieben &lt;miek@miek.nl&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-06-29 12:36:12 +0100'>2018-06-29</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/man/corefile.5?id=e6c00f39f1043ddd02948a5e011363ed0e6161f9&amp;follow=1'>update corefile(5) and regen (#1904)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>29</td><td><span class='deletions'>-42</span>/<span class='insertions'>+58</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Add that we support https and do a regen.

Signed-off-by: Miek Gieben &lt;miek@miek.nl&gt;

</td></tr>
<tr class='logheader'><td><span title='2018-06-29 10:44:16 +0100'>2018-06-29</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/rewrite/type.go?id=17d807f05fddbcd58656cd6888c7d5b85d52e441&amp;follow=1'>plugin/metadata: add metadata plugin (#1894)</a></td><td><img src='//www.gravatar.com/avatar/18ab890ef319e6f6004b2e47e8948e25?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Eugen Kleiner
</td><td>19</td><td><span class='deletions'>-130</span>/<span class='insertions'>+655</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* 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


</td></tr>
<tr class='logheader'><td><span title='2018-06-27 21:12:27 +0100'>2018-06-27</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/pkg/dnsutil/ttl_test.go?id=dae506b5638c7309399cb273d7f76bc20ee518dd&amp;follow=1'>Fix max-age in http server (#1890)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>5</td><td><span class='deletions'>-68</span>/<span class='insertions'>+91</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* Fix max-age in http server

Move the minMsgTTL to dnsutil and rename it MinimalTTL, move some
constants there as well.
Use these new function in server_https to correctly set the max-age
HTTP header.

Fixes: #1823

* Linter


</td></tr>
<tr class='logheader'><td><span title='2018-06-27 07:45:32 -0700'>2018-06-27</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/pkg/watch/watcher.go?id=99287d091c2db4028e54782fd4de43f63ca4b040&amp;follow=1'>Watch feature (#1527)</a></td><td><img src='//www.gravatar.com/avatar/92aec22a2f92e81152610b8b40f49a21?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> John Belamaric
</td><td>17</td><td><span class='deletions'>-57</span>/<span class='insertions'>+977</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* Add part 1 watch functionality. (squashed)

* add funcs for service/endpoint fqdns

* add endpoints watch

* document exposed funcs

* only send subset deltas

* locking for watch map

* tests and docs

* add pod watch

* remove debugs prints

* feedback part 1

* add error reporting to proto

* inform clients of server stop+errors

* add grpc options param

* use proper context

* Review feedback:
 * Removed client (will move to another repo)
 * Use new log functions
 * Change watchChan to be for string not []string
 * Rework how k8s plugin stores watch tracking info to simplify
 * Normalize the qname on watch request

* Add blank line back

* Revert another spurious change

* Fix tests

* Add stop channel.
Fix tests.
Better docs for plugin interface.

* fmt.Printf -&gt; log.Warningf

* Move from dnsserver to plugin/pkg/watch

* gofmt

* remove dead client watches

* sate linter

* linter omg


</td></tr>
<tr class='logheader'><td><span title='2018-06-26 09:11:17 +0200'>2018-06-26</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/cache/handler.go?id=b7480d5d1216aa87d80d240a31de750079eba904&amp;follow=1'>plugin/cache: Fix: metric `cache miss total`  shall include ttl case (#1897)</a></td><td><img src='//www.gravatar.com/avatar/a826be33bdce4e546dac998498ae9c7f?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Jun Li
</td><td>1</td><td><span class='deletions'>-8</span>/<span class='insertions'>+9</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
In the case of ttl &lt;= 0, `cacheMisses` should increase its counter.

Signed-off-by: Jun Li &lt;lijun.git@gmail.com&gt;

</td></tr>
<tr class='logheader'><td><span title='2018-06-24 19:21:58 +0100'>2018-06-24</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/Makefile.release?id=c25a2e0fac398c4454578abef8ea0870099fac97&amp;follow=1'>Replace gh-release with curl (#1896)</a></td><td><img src='//www.gravatar.com/avatar/10c4cad3ba13f0378dbd67185314d3d4?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Yong Tang
</td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+10</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* Replace gh-release with curl

This fix tries to address the issue raised in 1895 where
gh-release is deprecated.

As GitHub provides API that could be accessed easily,
and gh-release itself is just a wrapper to the API,
this fix replaces gh-release with the direct interaction
with GitHub API, so that it could be maintained by coredns
team.

This fix fixes 1895.

Signed-off-by: Yong Tang &lt;yong.tang.github@outlook.com&gt;

* Added `-o /dev/null`

Signed-off-by: Yong Tang &lt;yong.tang.github@outlook.com&gt;


</td></tr>
<tr class='logheader'><td><span title='2018-06-22 10:54:40 +0100'>2018-06-22</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/pkg/dnstest/server.go?id=1ef9e31262b6dff796d35ee667cb9b93e723b13d&amp;follow=1'>retry creating dnstest.Server if tcp or udp port is in use (#1799)</a></td><td><img src='//www.gravatar.com/avatar/13cf34712525e2848d4468120b95674e?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Ruslan Drozhdzh
</td><td>1</td><td><span class='deletions'>-10</span>/<span class='insertions'>+20</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* retry creating dnstest.Server if tcp or udp port is in use

* changes according to review


</td></tr>
<tr class='logheader'><td><span title='2018-06-21 14:38:29 -0400'>2018-06-21</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/test/template_upstream_test.go?id=716791aa094b54ea17241112a14eeecac10dcfa5&amp;follow=1'>plugin/template: fix CNAME upstream handling (#1886)</a></td><td><img src='//www.gravatar.com/avatar/c4e1dff64e2c0210e86f613a22916fc1?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Chris O'Haver
</td><td>4</td><td><span class='deletions'>-4</span>/<span class='insertions'>+97</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-06-21 04:34:02 -0700'>2018-06-21</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/kubernetes/handler_ignore_emptyservice_test.go?id=ad8021230c775f129556fe7f681f0b09a59d480e&amp;follow=1'>Makefile fixes: (#1892)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>4</td><td><span class='deletions'>-17</span>/<span class='insertions'>+12</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Correctly set the path for the presubmits, fix some typos and make
the goimport target do the linting to the lint target can be removed.

Also don't make it a fatal error because gofmt changes between releases.

</td></tr>
<tr class='logheader'><td><span title='2018-06-21 11:40:19 +0100'>2018-06-21</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/forward/proxy_test.go?id=422aec5f5fc9d1f4d4017357f86098ec34eb1676&amp;follow=1'>plugin/forward: Increase minimum read timeout to 200ms (#1889)</a></td><td><img src='//www.gravatar.com/avatar/90f0e512184d202445616446467a3da9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Tobias Schmidt
</td><td>5</td><td><span class='deletions'>-10</span>/<span class='insertions'>+10</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
After several experiments at SoundCloud we found that the current
minimum read timeout of 10ms is too low. A single request against a
slow/unavailable authoritative server can cause all TCP connections to
get closed. We record a 50th percentile forward/proxy latency of &lt;5ms,
and a 99th percentile latency of 60ms. Using a minimum timeout of 200ms
seems to be a fair trade-off between avoiding unnecessary high
connection churn and reacting to upstream failures in a timely manner.

This change also renames hcDuration to hcInterval to reflect its usage,
and removes the duplicated timeout constant to make code comprehension
easier.

</td></tr>
<tr class='logheader'><td><span title='2018-06-20 11:35:57 +0100'>2018-06-20</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/forward/metrics.go?id=e3534205c7c3a89b09c9a9e2aca1a2159eb9ecde&amp;follow=1'>Rename forward metrics socket_count_total to sockets_open (#1885)</a></td><td><img src='//www.gravatar.com/avatar/90f0e512184d202445616446467a3da9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Tobias Schmidt
</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
The prometheus naming convention states only counters should have a
`_total` suffix, so that gagues and counters can be easily
distinguished.

</td></tr>
<tr class='logheader'><td><span title='2018-06-20 11:35:07 +0100'>2018-06-20</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/proxy/upstream.go?id=41c724780f6a4e9e8461b56472660d9ad3e49540&amp;follow=1'>remove deprecated code (#1888)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>3</td><td><span class='deletions'>-4</span>/<span class='insertions'>+0</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
This removes:
* reverse plugin from plugin.cfg
* https_google option from proxy
* the -log flag

</td></tr>
<tr class='logheader'><td><span title='2018-06-19 19:50:08 +0100'>2018-06-19</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/cache/handler.go?id=9c2dc7a1564a4cfc5c197d99c828364fc02bfbae&amp;follow=1'>Ensure cache.ResponseWriter can be used asynchronously during prefetch (#1884)</a></td><td><img src='//www.gravatar.com/avatar/90f0e512184d202445616446467a3da9?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Tobias Schmidt
</td><td>2</td><td><span class='deletions'>-8</span>/<span class='insertions'>+40</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
The default dns.Response implementation of a dns.ResponseWriter will
panic if RemoteAddr() is called after the connection to the client has
been closed already. The current cache implementation doesn't create a
new request+responsewriter during an asynchronous prefetch, but
piggybacks on the request triggering the prefetch.

This change copies the RemoteAddr first, so that it's safe to use it
later during the actual prefetch request.

A better implementation would be to completely decouple the prefetch
request from the client triggering a request.

</td></tr>
<tr class='logheader'><td><span title='2018-06-19 17:57:35 +0100'>2018-06-19</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/man/coredns-rewrite.7?id=f78f30231df90da6184d5f811ecf9c06b0160c2b&amp;follow=1'>Release 1.1.4</a><span class='decoration'><a class='tag-deco' href='/ansg191/coredns/tag/?h=v1.1.4'>v1.1.4</a></span></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>3</td><td><span class='deletions'>-4</span>/<span class='insertions'>+7</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
</td></tr>
<tr class='logheader'><td><span title='2018-06-18 11:16:56 +0100'>2018-06-18</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/backend_lookup.go?id=ab9efdcac4914b8bed486d32128ae00adba0dc90&amp;follow=1'>Follow up on #1867 : use one map in backend_lookup (#1869)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>1</td><td><span class='deletions'>-32</span>/<span class='insertions'>+33</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Reduce map usage and combine two maps into one; add isDuplicate that
tests and adds to make things more readable.

</td></tr>
<tr class='logheader'><td><span title='2018-06-18 10:02:05 +0100'>2018-06-18</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/rewrite/README.md?id=6fbc1f8990601c322255f78476b281ba967dbd24&amp;follow=1'>Plugin/Rewrite - review documentation of "append" (#1877)</a></td><td><img src='//www.gravatar.com/avatar/85ef5ede2ac268872e757897d59a4021?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Francois Tur
</td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* - ensure description of 'append' match what is encoded.

* - fix description based on review comments


</td></tr>
<tr class='logheader'><td><span title='2018-06-15 08:12:56 -0700'>2018-06-15</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/template/setup.go?id=177e32b62e1bd937317ec3fd7c7f3a8114c52d77&amp;follow=1'>plugin/forward: add REFUSED test (#1878)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>10</td><td><span class='deletions'>-10</span>/<span class='insertions'>+62</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
add a test to see if we copy the rcode correctly. Some minor cleanup in
import ordering and renaming NewUpstream to New as we already are in the
upstream package.

</td></tr>
<tr class='logheader'><td><span title='2018-06-15 07:37:22 +0100'>2018-06-15</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/forward/proxy.go?id=70c957d885a6c6b33a0828c680e451a9e3a3994a&amp;follow=1'>Plugin/Forward - autotune the dialTimeout for connection (#1852)</a></td><td><img src='//www.gravatar.com/avatar/85ef5ede2ac268872e757897d59a4021?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Francois Tur
</td><td>5</td><td><span class='deletions'>-52</span>/<span class='insertions'>+84</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* - implement an auto-tunable dialTimeout for fallback.

* - fix gofmt

* - factorized timeout computation with readTimeout / updated readme /

* - fix comment


</td></tr>
<tr class='logheader'><td><span title='2018-06-13 11:02:14 +0100'>2018-06-13</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/man/coredns.1?id=6f865a9de7d5ddc3daf52512016a5bbf72e3fb9a&amp;follow=1'>Run make -f Makefile.doc (#1875)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>9</td><td><span class='deletions'>-71</span>/<span class='insertions'>+50</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Fix typo corendns -&gt; coredns in coredns.1

</td></tr>
<tr class='logheader'><td><span title='2018-06-13 10:38:24 +0100'>2018-06-13</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/Makefile?id=d6288c25ba4d2ce06e9c7c2ac63fc6b01379a533&amp;follow=1'>Bump dns version to 1.0.8 (#1873)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Bump the version, allows #691 to get merged.

</td></tr>
<tr class='logheader'><td><span title='2018-06-12 14:54:37 +0100'>2018-06-12</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/test/file_upstream_test.go?id=26c41a0c177fbe89f1f81214634aed49790581f4&amp;follow=1'>plugin/file: fix local CNAME lookup (#1866)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>5</td><td><span class='deletions'>-28</span>/<span class='insertions'>+83</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* plugin/file: fix local CNAME lookup

Issue #1864 explains it will, when we serve the child zone as well we
should just recursive into ourself (upstream self). Thus relax the
IsSubDomain check in file/lookup.go and just query (even if the query
will hit a remote server).

I've looped over all other plugins that do something similar (CNAME
resolving) and they didn't do the IsSubDomain check; therefor I've
removed it from *file* as well.

Added test in file_upstream_test that shows this failed before but now
results in a reply.

Fixes #1864

* self does not need to be exported

* Fix test

We don't know if we had a valid reply. Check this.


</td></tr>
<tr class='logheader'><td><span title='2018-06-11 19:23:25 -0700'>2018-06-11</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/pkg/dnsutil/dedup.go?id=6e466d509281953fdf0209a5b50611e89b4689ae&amp;follow=1'>Remove dnsutil.Dedup (#1867)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>6</td><td><span class='deletions'>-61</span>/<span class='insertions'>+66</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Remove the code and remove the call in etcd and kubernetes handlers.
This does mean we should not add dups in the first place, which means
adding maps in backend_lookup to prevent dups from begin added.

This should cut down on the allocations because dnsutil.Dedup is very
expensive by converting everything to strings, we avoid doing that now.

</td></tr>
<tr class='logheader'><td><span title='2018-06-07 13:48:23 -0700'>2018-06-07</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/.github/PULL_REQUEST_TEMPLATE.md?id=58d69913639b7b210ed32afacb447ba53c7487a3&amp;follow=1'>Update the pr template (#1862)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>1</td><td><span class='deletions'>-5</span>/<span class='insertions'>+1</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Add "Why is this needed".

I can get a description of what the PR does from the code changes,
answering the why question is more important.

</td></tr>
<tr class='logheader'><td><span title='2018-06-07 16:21:17 +0100'>2018-06-07</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/pkg/replacer/replacer_test.go?id=18b11fc85156be8b027c61665c80e239324e2ebf&amp;follow=1'>Normalizing Response Duration in Log Plugin (#1860)</a></td><td><img src='//www.gravatar.com/avatar/d88558178af5dfa7a346c9a0f737a4f6?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Malcolm Akinje
</td><td>2</td><td><span class='deletions'>-1</span>/<span class='insertions'>+5</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* Current stage of the log files. Test need to be done as well as formatting of times.

* Finished testing. All altered classes test pass along with my additions

* Updated the replacer package to print the units as well. May take out.

* Changed the time units to be within the rules. Fixed the test as well.

* Fixed some tests, updated the readme, fixed the replacer class.

* Updates of standardizing only to seconds in response duration. Need to revert README.

* Reverted readme.

* Added a small test in new replacer.

* Changed replacer to inline the strconv for duration.


</td></tr>
<tr class='logheader'><td><span title='2018-06-05 17:21:09 +0100'>2018-06-05</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/forward/proxy.go?id=751a08d6a2e3ace62e40ed8170015e7051d0020c&amp;follow=1'>plugin/forward: fix alignment for sync.Atomic (#1855)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
These must be alligned on 8 bytes, in Go this means putting them first
in the struct (AFAICT).

</td></tr>
<tr class='logheader'><td><span title='2018-06-05 17:20:38 +0100'>2018-06-05</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/Makefile.release?id=ec334014d73222981ef84667f0e82d04d1033537&amp;follow=1'>Update Makefile.release for docker image build (#1856)</a></td><td><img src='//www.gravatar.com/avatar/10c4cad3ba13f0378dbd67185314d3d4?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Yong Tang
</td><td>1</td><td><span class='deletions'>-15</span>/<span class='insertions'>+0</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
This fix update Makefile.release for docker image build
on different platforms.

Signed-off-by: Yong Tang &lt;yong.tang.github@outlook.com&gt;

</td></tr>
<tr class='logheader'><td><span title='2018-06-04 19:20:21 +0100'>2018-06-04</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/Dockerfile?id=a77d9834d867b44a7f10d1481916498332c586ff&amp;follow=1'>Docker: drop alpine (#1843)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>1</td><td><span class='deletions'>-3</span>/<span class='insertions'>+6</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
* Docker: drop alpine

Create a multistage docker build image that uses debian to install certs
and then create the final image by using FROM: scratch. This creates a
(slightly) smaller images and drops busybox and alpine.

* Even less copying


</td></tr>
<tr class='logheader'><td><span title='2018-06-02 20:28:56 +0100'>2018-06-02</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/test/plugin_dnssec_test.go?id=70a53e25c942d95de98e30d9f5f5636d0d315d25&amp;follow=1'>Fix presubmit (#1850)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>2</td><td><span class='deletions'>-15</span>/<span class='insertions'>+15</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Uppercase these test cases as well.

</td></tr>
<tr class='logheader'><td><span title='2018-06-02 11:48:39 -0700'>2018-06-02</span></td><td class='logsubject'><a href='/ansg191/coredns/commit/plugin/test/helpers.go?id=22c0b30d5f7468c2477291419bee3e88dfba490c&amp;follow=1'>presubmit: Check errorf as well (#1845)</a></td><td><img src='//www.gravatar.com/avatar/25ba01eee5a1c0e007e810afe805766c?s=13&amp;d=retro' width='13' height='13' alt='Gravatar' /> Miek Gieben
</td><td>19</td><td><span class='deletions'>-52</span>/<span class='insertions'>+57</span></td></tr>
<tr class='nohover-highlight'><td/><td colspan='5' class='logmsg'>
Uppercase all these test errors as well. And extend the presubmit to
check for these in the future. Also do a slightly smarter grep to only
get t.&lt;something&gt;. as (because dump regexp) this also grep over non test
files.

</td></tr>
