consul/agent
Matt Keeler d3ee66eed4
Add ECS option to EDNS responses where appropriate (#4647)
This implements parts of RFC 7871 where Consul is acting as an authoritative name server (or forwarding resolver when recursors are configured)

If ECS opt is present in the request we will mirror it back and return a response with a scope of 0 (global) or with the same prefix length as the request (indicating its valid specifically for that subnet).

We only mirror the prefix-length (non-global) for prepared queries as those could potentially use nearness checks that could be affected by the subnet. In the future we could get more sophisticated with determining the scope bits and allow for better caching of prepared queries that don’t rely on nearness checks.

The other thing this does not do is implement the part of the ECS RFC related to originating ECS headers when acting as a intermediate DNS server (forwarding resolver). That would take a quite a bit more effort and in general provide very little value. Consul will currently forward the ECS headers between recursors and the clients transparently, we just don't originate them for non-ECS clients to get potentially more accurate "location aware" results.
2018-09-11 09:37:46 -04:00
..
ae Spelling (#3958) 2018-03-19 16:56:00 +00:00
cache Fixes #4421: General solution to stop blocking queries with index 0 (#4437) 2018-07-25 20:26:27 +01:00
cache-types Fixes #4421: General solution to stop blocking queries with index 0 (#4437) 2018-07-25 20:26:27 +01:00
checks agent/checks: prevent overflow of backoff 2018-07-12 10:21:49 -07:00
config Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
connect Revert "CA initialization while boostrapping and TestLeader_ChangeServerID fix." (#4497) 2018-08-07 08:29:48 -04:00
consul Fix unstable tests in agent, api, and command/watch 2018-09-10 16:58:53 +01:00
exec
local Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
metadata
mock
pool
proxy Fix unit test TestOperatorAutopilotGetConfigCommand (#4594) 2018-08-27 13:29:25 -04:00
router Remove unnecessary nil checks 2018-03-27 10:59:42 -05:00
structs Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
systemd
token
acl.go Updated swith case to use same branch for async-cache and extend-cache 2018-07-02 17:39:34 +02:00
acl_endpoint.go Support OPTIONS requests 2018-02-12 10:15:31 -08:00
acl_endpoint_test.go BUGFIX: Unit test relying on WaitForLeader() did not work due to wrong test (#4472) 2018-08-06 19:46:09 -04:00
acl_test.go BUGFIX: Unit test relying on WaitForLeader() did not work due to wrong test (#4472) 2018-08-06 19:46:09 -04:00
agent.go Ensure that errors setting up the DNS servers get propagated back to the shell (#4598) 2018-09-07 10:48:29 -04:00
agent_endpoint.go Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
agent_endpoint_test.go Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
agent_test.go Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
bindata_assetfs.go Release v1.2.2 2018-07-30 16:01:13 +00:00
blacklist.go
blacklist_test.go
catalog_endpoint.go agent: clean up connect/non-connect duplication by using shared methods 2018-06-14 09:41:48 -07:00
catalog_endpoint_test.go Fix unstable tests in agent, api, and command/watch 2018-09-10 16:58:53 +01:00
check.go
config.go
connect_ca_endpoint.go revert go changes to hide rotation config 2018-06-25 12:26:18 -07:00
connect_ca_endpoint_test.go Fix unstable tests in agent, api, and command/watch 2018-09-10 16:58:53 +01:00
coordinate_endpoint.go Merge pull request #3885 from eddsteel/support-options-requests 2018-03-16 09:20:16 -05:00
coordinate_endpoint_test.go Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
dns.go Add ECS option to EDNS responses where appropriate (#4647) 2018-09-11 09:37:46 -04:00
dns_test.go Add ECS option to EDNS responses where appropriate (#4647) 2018-09-11 09:37:46 -04:00
enterprise_delegate_oss.go Allow for easy enterprise/oss coexistence 2018-05-24 10:36:42 -04:00
event_endpoint.go Fixes memory leak when blocking on /event/list (#4482) 2018-08-02 14:54:48 +01:00
event_endpoint_test.go
health_endpoint.go agent: get rid of method checks since they're done in the http layer 2018-06-14 09:41:54 -07:00
health_endpoint_test.go Fix unstable tests in agent, api, and command/watch 2018-09-10 16:58:53 +01:00
http.go Fixes #4483: Add support for Authorization: Bearer token Header (#4502) 2018-08-17 16:18:42 -04:00
http_oss.go agent: rename test to check 2018-06-14 09:42:18 -07:00
http_oss_test.go Close HTTP response in Agent test (HTTPAPI_MethodNotAllowed_OSS) 2018-04-10 13:18:46 -04:00
http_test.go Fixes #4483: Add support for Authorization: Bearer token Header (#4502) 2018-08-17 16:18:42 -04:00
intentions_endpoint.go agent: 400 error on invalid UUID format, api handles errors properly 2018-06-27 07:40:06 +02:00
intentions_endpoint_test.go agent: 400 error on invalid UUID format, api handles errors properly 2018-06-27 07:40:06 +02:00
keyring.go
keyring_test.go
kvs_endpoint.go Support OPTIONS requests 2018-02-12 10:15:31 -08:00
kvs_endpoint_test.go Improve reliability of tests with TestAgent (#4525) 2018-08-14 12:08:33 -04:00
notify.go Fixes memory leak when blocking on /event/list (#4482) 2018-08-02 14:54:48 +01:00
notify_test.go Fixes memory leak when blocking on /event/list (#4482) 2018-08-02 14:54:48 +01:00
operator_endpoint.go Support OPTIONS requests 2018-02-12 10:15:31 -08:00
operator_endpoint_test.go Fix unstable tests in agent, api, and command/watch 2018-09-10 16:58:53 +01:00
prepared_query_endpoint.go agent: accept connect param for execute 2018-06-25 12:24:12 -07:00
prepared_query_endpoint_test.go Fix unstable tests in agent, api, and command/watch 2018-09-10 16:58:53 +01:00
remote_exec.go
remote_exec_test.go Fix unstable tests in agent, api, and command/watch 2018-09-10 16:58:53 +01:00
retry_join.go agent: configure k8s go-discover 2018-09-05 13:38:13 -07:00
retry_join_test.go Vendoring update for go-discover. (#4412) 2018-07-25 16:21:04 -07:00
session_endpoint.go Support OPTIONS requests 2018-02-12 10:15:31 -08:00
session_endpoint_test.go Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
snapshot_endpoint.go
snapshot_endpoint_test.go
status_endpoint.go Support OPTIONS requests 2018-02-12 10:15:31 -08:00
status_endpoint_test.go
testagent.go Fix #4515: Segfault when serf_wan port was -1 but reconnect_time_wan was set (#4531) 2018-08-17 14:44:25 -04:00
testagent_test.go
translate_addr.go
txn_endpoint.go Support OPTIONS requests 2018-02-12 10:15:31 -08:00
txn_endpoint_test.go Improve reliability of tests with TestAgent (#4525) 2018-08-14 12:08:33 -04:00
ui_endpoint.go agent: ExternalSources instead of Meta 2018-09-07 10:06:55 -07:00
ui_endpoint_test.go agent: ExternalSources instead of Meta 2018-09-07 10:06:55 -07:00
user_event.go Spelling (#3958) 2018-03-19 16:56:00 +00:00
user_event_test.go
util.go
util_test.go
watch_handler.go Support legacy watch.HandlerFunc type for backward compat reduces impact of change 2018-06-14 09:42:05 -07:00
watch_handler_test.go Support legacy watch.HandlerFunc type for backward compat reduces impact of change 2018-06-14 09:42:05 -07:00