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 fix go vet issue 2017-10-25 19:30:35 +02:00
local Implementation of Weights Data structures (#4468) 2018-09-07 15:30:47 +01:00
metadata fix refactoring 2018-01-28 22:48:21 +04:00
mock agent: replace docker check 2017-07-18 20:24:38 +02:00
pool Makes RPC handling more robust when rolling servers. (#3561) 2017-10-10 15:19:50 -07:00
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 agent: notify systemd after JoinLAN (#2121) 2017-06-21 06:43:55 +02:00
token Adds secure introduction for the ACL replication token. (#3357) 2017-08-03 15:39:31 -07:00
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 Adds the ability to blacklist specific HTTP endpoints. (#3252) 2017-07-10 13:51:25 -07:00
blacklist_test.go Adds the ability to blacklist specific HTTP endpoints. (#3252) 2017-07-10 13:51:25 -07:00
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 Decouple the code that executes checks from the agent 2017-10-25 11:18:07 +02:00
config.go Fixes API client for ScriptArgs and updates documentation. (#3589) 2017-10-18 11:28:39 -07:00
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 New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
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 agent: move agent/consul/structs to agent/structs 2017-08-09 14:32:12 +02:00
keyring_test.go New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
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 Decouple the code that executes checks from the agent 2017-10-25 11:18:07 +02:00
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 agent: consolidate handling of 405 Method Not Allowed (#3405) 2017-09-25 23:11:19 -07:00
snapshot_endpoint_test.go agent: consolidate handling of 405 Method Not Allowed (#3405) 2017-09-25 23:11:19 -07:00
status_endpoint.go Support OPTIONS requests 2018-02-12 10:15:31 -08:00
status_endpoint_test.go agent: consolidate handling of 405 Method Not Allowed (#3405) 2017-09-25 23:11:19 -07:00
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 New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
translate_addr.go New config parser, HCL support, multiple bind addrs (#3480) 2017-09-25 11:40:42 -07:00
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 local state: tests compile 2017-10-23 10:56:03 +02:00
util.go Improves user lookup error message. 2018-01-26 07:56:44 -08:00
util_test.go Move check definition to a sub-struct 2017-11-01 14:54:46 -07:00
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