This is an automated email from the ASF dual-hosted git repository. jvd pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git.
from eb927a4 change go download location -- other seems to be failing intermittently new b018824 Grove Initial commit new e8f89af Grove Add initial caching handler Grove Grove Adds initial HTTP Cache handler, which is transliterated to Go from Grove https://github.com/rob05c/emissary new b0e5819 Grove WIP Add origin request limiting Grove Grove This adds origin protection, limiting requests per key to 1. Currently Grove requests are limited to 1 per key (Method+URL). Grove Grove This is a Work In Progress. Currently, it will only work for content Grove which is cacheable. If no-cache content is sent over the proxy, it Grove will fall over, since only 1 request will be allowed thru at once. Grove Grove This also doesn't protect multiple keys. If a million request [...] new a1a3f90 Grove Add rule(origin) concurrent req limiter and config new 1c58b07 Grove Add Readme instructions new f36306c Grove Add cfg to ignore request no-cache Grove Grove This violates RFC 7234, but allows for origin protection. new 870561a Grove Fix fetching getters after the last new 3a71f9a Grove Add remap rule query string handling config new c6803d4 Grove Add HTTPS new 26c697f Grove Add stats endpoint and collection interface new c5fc1a1 Grove Add stats for remap rule in and out bytes new 4bec867 Grove Add stats for statuses new 3a473f9 Grove Add per rule request limits new 40669c0 Grove Add per rule IP allow and deny new fe50543 Grove Add LRU string keys new a4d1cde Grove Add cache handler pointer indirect Grove Grove This is designed to allow services to do hot config reloading without Grove restarting the HTTP server. new 8dc3e93 Grove Add sighup config reloading new c9718ef Grove Add connection close config new 6418c58 Grove Add per-rule connection close config new d3f3500 Grove Add HTTP/2 support new 11e8530 Grove Add logging via Traffic Control common/log new 0a5195f Grove Fix connmap functions to pointers Grove Grove Must be pointers, so mutex isn't copied. new 94e2b04 Grove Fix removing connmap dropped conns. new 98b632b Grove Change remap printf to string concat Grove Grove >From profiling: it's faster. new 9f4bc51 Grove Add profile func, change null log to nil for speed new 33da3bd Grove Add test origin new 331f17a Grove Add Revalidate new dacee08 Grove Add Consistent Hashing Grove Grove Adds Consistent Hashing for parents of a single rule. Grove Grove Adds remap config for number of retries, retry codes, request timeout, Grove and hash weight. Grove Grove Changes remap To to a list of parents, instead of a single parent. new b5ada8a Grove Add ProxyURL, add config generator tool new aadedf8 Grove Fix swapped for vars, add rule loading messages new b1e292c Grove Fix request headers not being set on cache object new 8dadda9 Grove Fix proxy hashing, retry limit new bfc9902 Grove Fix cfg gen scheme, port new 3686c21 Grove Add config generator new API Grove Grove Adds funcs to use the new api/1.3/configs/cache when it's deployed. Grove Takes a config option, 'api', which by default uses the old. Grove Grove The new endpoint returns only the necessary data, and is drastically Grove faster new 58e8260 Grove Fix slow hash insert, cfg gen parent CDN filter new db26f51 Grove Fix parent hash strings not matching ATS new da3653a Grove Vendor dchest/siphash new 72c7f19 Grove Change parent hash to use dhash/siphash new bc95fd7 Grove Fix debug log msg type new ec3599c Grove Fix debug log msg type new 365fc16 Grove Add request timeout configs, transport reuse new 63203ab Grove Fix broken merge new b9efe6e Grove Add pprof flag new 8284f7d Grove Remove unused files new f0825bf Grove Change even log to EventRaw for speed new 2b2eb12 Grove Fix astats ats nesting Grove Grove Also changes string construction to + for performance. new 079e99c Grove Fix astats proc.net.dev new 1fd0579 Grove Fix astats proc.loadavg trailing \n new b382542 Grove Fix astats remap stats to match ATS new f9cbdaf Grove Fix Astats inf.speed to be a number new 2526afd Grove Add stats for connection count new 9f8cbd0 Grove Rename config parent request options to be obvious new c7e7fff Grove Fix parent errors to log to error log new 4854099 Grove Add Server configurable read,write,idle timeouts Grove Grove This specifically protects against SlowLoris. new 66f6892 Grove Fix ProxyURL for empty proxy strings new fd4b916 Grove Fix rules issue with serving stale content new c1b933c Grove Change pkg structure to make app main pkg Grove Grove The main reason for this, is to conform to the way Traffic Control Grove directories are structured, to make the RPM build structure more Grove consistent and easier to work with. new ed5ae61 Grove Add service, RPM new bce4358 Grove Vendor LRU new 8786e37 Grove Vendor golang.org/x/sys/unix new 82a4bc7 Grove Fix RPM, Service path issues new 16ef89d Grove Add grovetccfg service, RPM new 4b12d22 Grove Fix grovetccfg import new 00b57a9 Grove Remove grovetccfg service new c60e3fa Grove Add per--delivery service certificates new b0bf0b2 Grove Add tccfg getting certs new 0b116fb Grove Fix listener InterceptConn bytes Grove Grove Fixes the ConnMap to properly remove and add connections when the Grove Conn changes to Idle/Closed and Active. Grove Grove The original code assumed Conn was a high-level abstraction unique Grove to each HTTP Handler. It is not; Conns are re-used. This fixes Grove them to be removed from the ConnMap when the Conn switches to Idle, Grove and added back when an Idle Conn switches to Active. Grove Grove This also important [...] new af48510 Grove Fix event logging not not matching exactly ATS new 0bdbcc4 Grove Remove duplicate event log new 796b817 Grove Fix duplicate stat and log code new 89dbac8 Grove Fix statAndLog to permit a null remapper new c81b555 Grove Fix grovetccfg to base64decode certs new da86ff9 Grove Fix InterceptListen for multiple certs Grove Grove Also fixes to TLS after Intercept, which fixes casting the Conn Grove back to the InterceptConn for Stats. new c964aa9 Grove Change statAndLog to struct new f88c7fe Grove Rename TryServe to Serve new 2ffbfa9 Grove Add web.CopyHeaderTo new d43b268 Grove Remove commented code new e704f27 Grove Move retryingGet to a struct new 3eb880f Grove Updated readme new 321618c Grove Add grovetccfg readme new 834449e Grove Remove commented code new 9461e3f Grove Remove unused To parent_selection, fix log imports new db8628b Grove Remove unused grovetccfg To parent_selection new 95f7bd8 Grove Fix grovetccfg IP allow to set stats only new 7661238 Grove Add stats endpoint IP allow new 2950628 Grove Commented grovetccfg new API code new 1d2115a Grove Change grovetccfg retry codes to [] new 211f32c Grove Add grovetccfg setting DSCP in rules, from DSes new 2efa843 Grove Add Grove setting DSCP from Remap Rules new 7120874 Grove Add RPM Version, auto-incrementing from git new 0cc30dd Grove Fix rules reversed strictRFC, missing fresh heur. Grove Grove Fixes a place where the rules had strictRFC inverted, causing it to Grove not cache when a client sent no-cache and strictRFC was false. Grove Grove Also fixes a missing freshness heuristic in the absence of an Expires Grove or Date header. Without this, all requests lacking Expires were Grove treated as immediately stale. new 3300938 Grove Add rules tests for strictRFC and no-cache reqs new 6047103 Grove Add rules min-fresh, proxy-revalidate new 9893675 Grove Add rules tests new d4fb92c Grove Fix rules defaultCacheable codes Grove Grove Also adds tests for Default Cacheable codes, per the RFC. new 8a6fb85 Grove Fix grovetccfg for TC API Changes Grove Grove Also comments the 1.3 cacheconfig funcs, as the endpoint is unlikely Grove to be merged soon. new c1a6327 Grove Add grovetccfg build incrementing version new e32bff1 Grove Fix nil deref on bad request new cd9cf4b Grove Fix event log ttms new 090b149 Grove Remove unused funcs new e2ca857 Grove Add stats for cache hit and miss new 5a126b7 Grove Add stats for cache capacity, size new 888c1dc Grove Fix missing fmt vars, unreachable code new 2fed5e7 Grove Fix LoadConfig() comment new 12ba33d Grove Fix idiomatic names, comments new 75d2960 Grove Move config to pkg, so it can be used externally new 7b017d7 Grove Add grovetccfg TO update flag, writing to file new ae102cd Grove Move binaries to /usr/sbin to conform to LFH, LSB Grove Grove The Linux Filesystem Hierarchy standard is somewhat ambiguous about Grove where services go, and what constitutes a system vs user app. But Grove the community consensus seems to be /usr/sbin. Grove Grove Irrespective, The Linux Foundation has made it clear /opt is not Grove preferred, and is for projects who "don't play well with others". Grove Grove The Linux Filesystem Hierarchy is referred to by the [...] new 81e9d00 Grove Fix binaries to not use bin subdirectories new 98c5b34 Grove First try to add simple header parser new f818909 Grove cleanup new 6730089 Grove update debug new 5af1f59 Grove doc update new 0a35d66 Grove doc update new 7f5ecb6 Grove Clean up phr and pqsn log fields new 57c09ed Grove Formatting changes Grove Grove Changes some names to be shorter, more idiomatic to Go. Grove Grove Changes ManipulateHeaders (modHdrs) to permit nulls, elide if checks. new f5e18e4 Grove Fix port config change to shutdown gracefully. new 3b7e0c1 Grove Move common web, stats funcs out of cache new af178b0 Grove Fix missing import new 31bc977 Grove Move utility functions to packages new 0c48698 Grove Move cache handler response to responder object new 75cf742 Grove Rename stats funcs to be idiomatic, omit pkg name new 060efe2 Grove Fix grovetccfg for library changes, fix tests new 1a84ad6 Grove Fix connection count stat new 4171a97 Grove Add Dockerfile new 28316fa Grove Fix grovetccfg when remap file doesn't exist new bd0d47e Grove Fix subtle bug sending 304 without if-modif hdr Grove Grove Fixes a subtle bug wherein under certain cirumstances a 304 with no Grove body was returned, when the user had NOT sent an `if-modified-since`. Grove Grove This specifically happened when the object was in cache, and was Grove stale, but was permitted to be revalidated. Grove Grove The bug was a subtle logic ordering error in the RetryingGetter. Grove Specifically, it checked if it could cache the response [...] new 4378a7a Grove Add plugin framework new f6215e2 Grove Change statlog to plugin Grove Grove Changes the 'statlog' object, an awkward class that both logged to Grove the event log and recorded stats, into two 'afterrespond' plugins, Grove one which logs and one which records stats. new 457e8c0 Grove Add ifmodifiedsince client req 304, fix ims bugs Grove Grove Adds an If-Modified-Since beforerespond plugin, to return a 304 to Grove clients who send an IMS header if the object is unmodified. Grove Grove Also fixes some IMS-related bugs. E.g. a client IMS header is Grove stripped before requesting from the parent. Before, this was sent, Grove the 304 was cached and erroneously returned to future non-IMS reqs. new a33e377 Grove Add disk cache new 5fd98da Grove Add onreq plugin hook, move astats to plugins new 23be9c5 Grove Vendor bbolt new 0b571ba Grove Plugins for parent requests, cleanup, and global beforerespond plugin for Server header new bd6a129 Grove Fix grovetccfg build errs from remapdata move new 6b562da Grove Add plugins to grovetccfg new b33106e Grove Add multi-hook plugins new 0cf2d6e Grove Add plugin context Grove Grove Adds a plugin context variable, which can be set in one hook and Grove retrieved in a later hook, allowing a single plugin to pass data Grove between its hooks. new 6ac9595 Grove Update plugin readme for beforeParentRequest hook new ce5214c Grove Use new plugin names new fc1518c Grove cleanup commented code new 004cac0 Grove Fix grovetccfg typos; formatting new 352755f Grove Change example plugins to be commented new f038f7d Grove Add endpoint for memstats new 21d3b15 Grove Add Plugin OnRequest hook SrvrData new faab2b3 Grove Add Endpoint CallGC new 17d4829 Grove Move Comcast-TC-specific config to a plugin Grove Grove Also adds a plugins_shared key to remap rules, which allows plugins Grove to share rule configuration data. This was necessary to provide a Grove generic location for the Comcast and Traffic Control specific plugin. Grove Grove Also changes Traffic Control config generator grovetccfg to insert Grove the TC Delivery Service remap text into a plugins_shared key. This Grove was likewise required, to make the comc [...] new b7953cc Grove Fix transport to use correct proxy per rule Grove Grove Fixes an issue with the shared transport pointer using the proxy from Grove previous requests, and racing as to which last-used proxy was used. Grove Grove This fixes the transport to be shared for each to-parent, for Grove efficiency (as the Go docs suggest), but unique for different to Grove rules, and therefore not racing and overriding different proxies Grove for different rules. new f3d7bde Grove Change grovetccfg to backup gzipped in new dir new bb7da0d Grove Add grove.log timestamps new 2e1f5d9 Grove Add log request ID new 9d26e1d Grove Fix getter bug returning wrong object Grove Grove There was a getter bug, returning the wrong object, specifically from Grove a different concurrent request. This fixes it. Grove Grove It also rewrites the entire getter to be simpler. Now, the getter only Grove uses the existing goroutine, doesn't create more, and the data passing Grove to share the fetched object is far simpler. See the comments in the Grove thread/getter.go file for a detailed explanation of the [...] new f6284f9 Grove Fix HTTP/2 Grove Grove Fixes HTTP/2, by calling the http2.ConfigureServer func, and Grove continuing to set h2 in tls.Config.NextProtos. Grove Grove Also changes InterceptListener to wrap the net.Conn not tls.Conn, Grove which breaks H2 because it casts to tls.Conn and explodes violently Grove if that fails. Grove Grove Note this demonstrably, permanently breaks connection byte counting Grove for HTTP/2 connections. We still have the less-accurate Grove ResponseWri [...] new 045fee2 Grove Add version to build, app flag, and astats new 8a920de Grove Fixed Grove to continue if service reload fails new 3eb0b8c Grove Add grovetccfg log timestamps new 944182b Grove Remove vendored golang.org/x Grove Grove The x packages should not be vendored, because they need to match the Grove compiler version. new 63fdb90 Grove Add readme instructions for unvendored x new 94caeaa Grove Change MemCache to use local LRU, not vendored Grove Grove The hashicorp LRU was vendored and modified, which is painful to Grove maintain. Since an LRU is not a complex structure, this changes the Grove memory cache to use its own LRU, to avoid modified-vendored pain. new f30687b Grove Add readme for remap rules on nonstandard ports new d4d1378 Grove remove comcast specific example new d36a246 Grove Fix behavior for HEAD and OPTIONS methods new ac05af7 Grove Fix to log the proper parent in the pqsn field when the parent is a reverse proxy. new 4244fb4 Grove Cache inspector and some more new 8951c26 Grove plugin/README_http_cacheinspector.md new ee9afe0 Grove fix typos new f81a68a Grove remove commented code new 49632ae Grove Vendor code.cloudfoundry.org/bytefmt new d9e9817 Grove Cleanup and add lock to lru.Keys() - Robs suggestions from review new 9cea6cb Grove Cleanup HEAD/OPTIONS fix new 90661a1 Grove Fix shadowed 'reqHost' variable in retryingGetter.ServeHttp() found from Grove Robs review, add comments to functions returning the reqHost string, Grove and fix a nil dereference on remapping.Request.URL.Host in rtryingGet(). new 8916882 Grove Fix grovetccfg for tc v13 package change new 2e697f3 Grove Add apache headers new de09704 Add grove deps to LICENSE The 174 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: LICENSE | 12 + grove/README.md | 231 +++ grove/VERSION | 1 + grove/build/build_rpm.sh | 34 + grove/build/grove.init | 119 ++ grove/build/grove.logrotate | 36 + grove/build/grove.spec | 59 + grove/cache/handler.go | 315 +++ grove/cache/responder.go | 112 + grove/cache/retryinggetter.go | 203 ++ grove/cachedata/cachedata.go | 58 + grove/cacheobj/cacheobj.go | 63 + grove/chash/atsconsistenthash.go | 144 ++ grove/chash/atsconsistenthash_test.go | 91 + grove/chash/atsorderedmap.go | 213 ++ grove/chash/atsorderedmap_test.go | 54 + grove/conf/grove.cfg | 6 + grove/config/config.go | 121 ++ grove/diskcache/diskcache.go | 213 ++ grove/diskcache/multi.go | 98 + grove/docker/Dockerfile | 32 + grove/docker/docker-entrypoint.sh | 79 + grove/grove.cfg | 6 + grove/grove.go | 395 ++++ grove/grovetccfg/README.md | 64 + grove/grovetccfg/build/build_rpm.sh | 42 + grove/grovetccfg/build/grovetccfg.spec | 46 + grove/grovetccfg/grovetccfg.go | 974 +++++++++ grove/icache/icache.go | 31 + grove/lru/lru.go | 76 + grove/memcache/memcache.go | 129 ++ grove/plugin/README.md | 149 ++ grove/plugin/README_http_cacheinspector.md | 87 + grove/plugin/ats_log.go | 144 ++ grove/plugin/hello_context.go | 33 + grove/plugin/hello_world.go | 27 + grove/plugin/http_cacheinspector.go | 194 ++ grove/plugin/http_callgc.go | 74 + grove/plugin/http_memstats.go | 77 + grove/plugin/http_stats.go | 169 ++ grove/plugin/if_modified_since.go | 39 + grove/plugin/modify_headers.go | 59 + grove/plugin/modify_parent_request_headers.go | 58 + grove/plugin/modify_response_headers_global.go | 59 + grove/plugin/plugin.go | 206 ++ grove/plugin/record_stats.go | 23 + grove/remap.json | 12 + grove/remap/remap.go | 665 ++++++ grove/remap/rules.go | 510 +++++ grove/remap/rules_test.go | 727 +++++++ grove/remapdata/remapdata.go | 235 +++ grove/stat/stats.go | 376 ++++ grove/stat/stats_test.go | 175 ++ grove/testorigin/testorigin.go | 62 + grove/thread/getter.go | 87 + grove/thread/limiter.go | 93 + grove/tiercache/tiercache.go | 90 + .../vendor/code.cloudfoundry.org/bytefmt/LICENSE | 229 +-- grove/vendor/code.cloudfoundry.org/bytefmt/NOTICE | 20 + .../vendor/code.cloudfoundry.org/bytefmt/README.md | 15 + .../vendor/code.cloudfoundry.org/bytefmt/bytes.go | 106 + .../code.cloudfoundry.org/bytefmt/bytes_test.go | 271 +++ .../bytefmt/formatters_suite_test.go | 13 + .../code.cloudfoundry.org/bytefmt/package.go | 1 + grove/vendor/github.com/coreos/bbolt/LICENSE | 20 + grove/vendor/github.com/coreos/bbolt/Makefile | 30 + grove/vendor/github.com/coreos/bbolt/README.md | 928 +++++++++ .../github.com/coreos/bbolt/allocate_test.go | 30 + grove/vendor/github.com/coreos/bbolt/appveyor.yml | 18 + grove/vendor/github.com/coreos/bbolt/bolt_386.go | 10 + grove/vendor/github.com/coreos/bbolt/bolt_amd64.go | 10 + grove/vendor/github.com/coreos/bbolt/bolt_arm.go | 28 + grove/vendor/github.com/coreos/bbolt/bolt_arm64.go | 12 + grove/vendor/github.com/coreos/bbolt/bolt_linux.go | 10 + .../vendor/github.com/coreos/bbolt/bolt_mips64x.go | 12 + grove/vendor/github.com/coreos/bbolt/bolt_mipsx.go | 12 + .../vendor/github.com/coreos/bbolt/bolt_openbsd.go | 27 + grove/vendor/github.com/coreos/bbolt/bolt_ppc.go | 12 + grove/vendor/github.com/coreos/bbolt/bolt_ppc64.go | 12 + .../vendor/github.com/coreos/bbolt/bolt_ppc64le.go | 12 + grove/vendor/github.com/coreos/bbolt/bolt_s390x.go | 12 + grove/vendor/github.com/coreos/bbolt/bolt_unix.go | 92 + .../github.com/coreos/bbolt/bolt_unix_solaris.go | 89 + .../vendor/github.com/coreos/bbolt/bolt_windows.go | 145 ++ .../github.com/coreos/bbolt/boltsync_unix.go | 8 + grove/vendor/github.com/coreos/bbolt/bucket.go | 775 +++++++ .../vendor/github.com/coreos/bbolt/bucket_test.go | 1959 ++++++++++++++++++ .../github.com/coreos/bbolt/cmd/bolt/main.go | 2136 ++++++++++++++++++++ .../github.com/coreos/bbolt/cmd/bolt/main_test.go | 456 +++++ grove/vendor/github.com/coreos/bbolt/cursor.go | 400 ++++ .../vendor/github.com/coreos/bbolt/cursor_test.go | 817 ++++++++ grove/vendor/github.com/coreos/bbolt/db.go | 1136 +++++++++++ grove/vendor/github.com/coreos/bbolt/db_test.go | 1721 ++++++++++++++++ grove/vendor/github.com/coreos/bbolt/doc.go | 44 + grove/vendor/github.com/coreos/bbolt/errors.go | 71 + grove/vendor/github.com/coreos/bbolt/freelist.go | 333 +++ .../github.com/coreos/bbolt/freelist_test.go | 288 +++ grove/vendor/github.com/coreos/bbolt/node.go | 604 ++++++ grove/vendor/github.com/coreos/bbolt/node_test.go | 156 ++ grove/vendor/github.com/coreos/bbolt/page.go | 197 ++ grove/vendor/github.com/coreos/bbolt/page_test.go | 72 + grove/vendor/github.com/coreos/bbolt/quick_test.go | 87 + .../bbolt/simulation_no_freelist_sync_test.go | 47 + .../github.com/coreos/bbolt/simulation_test.go | 336 +++ grove/vendor/github.com/coreos/bbolt/tx.go | 705 +++++++ grove/vendor/github.com/coreos/bbolt/tx_test.go | 869 ++++++++ grove/vendor/github.com/dchest/siphash/.travis.yml | 7 + grove/vendor/github.com/dchest/siphash/README.md | 69 + grove/vendor/github.com/dchest/siphash/blocks.go | 148 ++ .../github.com/dchest/siphash/blocks_amd64.s | 86 + .../vendor/github.com/dchest/siphash/blocks_arm.s | 144 ++ grove/vendor/github.com/dchest/siphash/hash.go | 216 ++ grove/vendor/github.com/dchest/siphash/hash128.go | 302 +++ .../github.com/dchest/siphash/hash128_amd64.s | 292 +++ .../vendor/github.com/dchest/siphash/hash128_arm.s | 169 ++ .../vendor/github.com/dchest/siphash/hash_amd64.s | 201 ++ grove/vendor/github.com/dchest/siphash/hash_arm.s | 160 ++ grove/vendor/github.com/dchest/siphash/hash_asm.go | 33 + grove/vendor/github.com/dchest/siphash/siphash.go | 318 +++ .../github.com/dchest/siphash/siphash_test.go | 591 ++++++ grove/version.go | 17 + grove/web/cachecontrol.go | 139 ++ grove/web/cachecontrol_test.go | 44 + grove/web/connmap.go | 58 + grove/web/httptee.go | 53 + grove/web/listener.go | 180 ++ grove/web/util.go | 200 ++ 127 files changed, 27079 insertions(+), 228 deletions(-) create mode 100644 grove/README.md create mode 100644 grove/VERSION create mode 100755 grove/build/build_rpm.sh create mode 100755 grove/build/grove.init create mode 100644 grove/build/grove.logrotate create mode 100644 grove/build/grove.spec create mode 100644 grove/cache/handler.go create mode 100644 grove/cache/responder.go create mode 100644 grove/cache/retryinggetter.go create mode 100644 grove/cachedata/cachedata.go create mode 100644 grove/cacheobj/cacheobj.go create mode 100644 grove/chash/atsconsistenthash.go create mode 100644 grove/chash/atsconsistenthash_test.go create mode 100644 grove/chash/atsorderedmap.go create mode 100644 grove/chash/atsorderedmap_test.go create mode 100644 grove/conf/grove.cfg create mode 100644 grove/config/config.go create mode 100644 grove/diskcache/diskcache.go create mode 100644 grove/diskcache/multi.go create mode 100644 grove/docker/Dockerfile create mode 100755 grove/docker/docker-entrypoint.sh create mode 100644 grove/grove.cfg create mode 100644 grove/grove.go create mode 100644 grove/grovetccfg/README.md create mode 100755 grove/grovetccfg/build/build_rpm.sh create mode 100644 grove/grovetccfg/build/grovetccfg.spec create mode 100644 grove/grovetccfg/grovetccfg.go create mode 100644 grove/icache/icache.go create mode 100644 grove/lru/lru.go create mode 100644 grove/memcache/memcache.go create mode 100644 grove/plugin/README.md create mode 100644 grove/plugin/README_http_cacheinspector.md create mode 100644 grove/plugin/ats_log.go create mode 100644 grove/plugin/hello_context.go create mode 100644 grove/plugin/hello_world.go create mode 100644 grove/plugin/http_cacheinspector.go create mode 100644 grove/plugin/http_callgc.go create mode 100644 grove/plugin/http_memstats.go create mode 100644 grove/plugin/http_stats.go create mode 100644 grove/plugin/if_modified_since.go create mode 100644 grove/plugin/modify_headers.go create mode 100644 grove/plugin/modify_parent_request_headers.go create mode 100644 grove/plugin/modify_response_headers_global.go create mode 100644 grove/plugin/plugin.go create mode 100644 grove/plugin/record_stats.go create mode 100644 grove/remap.json create mode 100644 grove/remap/remap.go create mode 100644 grove/remap/rules.go create mode 100644 grove/remap/rules_test.go create mode 100644 grove/remapdata/remapdata.go create mode 100644 grove/stat/stats.go create mode 100644 grove/stat/stats_test.go create mode 100644 grove/testorigin/testorigin.go create mode 100644 grove/thread/getter.go create mode 100644 grove/thread/limiter.go create mode 100644 grove/tiercache/tiercache.go copy LICENSE => grove/vendor/code.cloudfoundry.org/bytefmt/LICENSE (58%) create mode 100644 grove/vendor/code.cloudfoundry.org/bytefmt/NOTICE create mode 100644 grove/vendor/code.cloudfoundry.org/bytefmt/README.md create mode 100644 grove/vendor/code.cloudfoundry.org/bytefmt/bytes.go create mode 100644 grove/vendor/code.cloudfoundry.org/bytefmt/bytes_test.go create mode 100644 grove/vendor/code.cloudfoundry.org/bytefmt/formatters_suite_test.go create mode 100644 grove/vendor/code.cloudfoundry.org/bytefmt/package.go create mode 100644 grove/vendor/github.com/coreos/bbolt/LICENSE create mode 100644 grove/vendor/github.com/coreos/bbolt/Makefile create mode 100644 grove/vendor/github.com/coreos/bbolt/README.md create mode 100644 grove/vendor/github.com/coreos/bbolt/allocate_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/appveyor.yml create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_386.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_amd64.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_arm.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_arm64.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_linux.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_mips64x.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_mipsx.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_openbsd.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_ppc.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_ppc64.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_ppc64le.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_s390x.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_unix.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_unix_solaris.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bolt_windows.go create mode 100644 grove/vendor/github.com/coreos/bbolt/boltsync_unix.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bucket.go create mode 100644 grove/vendor/github.com/coreos/bbolt/bucket_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/cmd/bolt/main.go create mode 100644 grove/vendor/github.com/coreos/bbolt/cmd/bolt/main_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/cursor.go create mode 100644 grove/vendor/github.com/coreos/bbolt/cursor_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/db.go create mode 100644 grove/vendor/github.com/coreos/bbolt/db_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/doc.go create mode 100644 grove/vendor/github.com/coreos/bbolt/errors.go create mode 100644 grove/vendor/github.com/coreos/bbolt/freelist.go create mode 100644 grove/vendor/github.com/coreos/bbolt/freelist_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/node.go create mode 100644 grove/vendor/github.com/coreos/bbolt/node_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/page.go create mode 100644 grove/vendor/github.com/coreos/bbolt/page_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/quick_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/simulation_no_freelist_sync_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/simulation_test.go create mode 100644 grove/vendor/github.com/coreos/bbolt/tx.go create mode 100644 grove/vendor/github.com/coreos/bbolt/tx_test.go create mode 100644 grove/vendor/github.com/dchest/siphash/.travis.yml create mode 100644 grove/vendor/github.com/dchest/siphash/README.md create mode 100644 grove/vendor/github.com/dchest/siphash/blocks.go create mode 100644 grove/vendor/github.com/dchest/siphash/blocks_amd64.s create mode 100644 grove/vendor/github.com/dchest/siphash/blocks_arm.s create mode 100644 grove/vendor/github.com/dchest/siphash/hash.go create mode 100644 grove/vendor/github.com/dchest/siphash/hash128.go create mode 100644 grove/vendor/github.com/dchest/siphash/hash128_amd64.s create mode 100644 grove/vendor/github.com/dchest/siphash/hash128_arm.s create mode 100644 grove/vendor/github.com/dchest/siphash/hash_amd64.s create mode 100644 grove/vendor/github.com/dchest/siphash/hash_arm.s create mode 100644 grove/vendor/github.com/dchest/siphash/hash_asm.go create mode 100644 grove/vendor/github.com/dchest/siphash/siphash.go create mode 100644 grove/vendor/github.com/dchest/siphash/siphash_test.go create mode 100644 grove/version.go create mode 100644 grove/web/cachecontrol.go create mode 100644 grove/web/cachecontrol_test.go create mode 100644 grove/web/connmap.go create mode 100644 grove/web/httptee.go create mode 100644 grove/web/listener.go create mode 100644 grove/web/util.go -- To stop receiving notification emails like this one, please contact j...@apache.org.