Commit Graph

20 Commits

Author SHA1 Message Date
Jana Radhakrishnan d81a91ebad Resolver sockets not flushed on default gw change
Currently when the default gw changes because of
other network connections happening in the container
the resolver sockets are not flushed. This results
in a subsequent DNS failure for external queries

A sequence of connecting the container to an overlay
network and subsequently to a bridge network without
disconnecting from any network will result in this
behaviour. This was revealed by one of the libnetwork
IT tests.

This is now fixed as part of the commit by flushing
the external query sockets when a default gw change
is detected.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2016-04-10 10:40:06 -07:00
Santhosh Manohar 5e4fa21005 Fix the panic when a query response comes after the read() timesout
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-04-07 19:36:06 -07:00
Santhosh Manohar 30d649c3e8 Fix the handling for concurrent queries over UDP
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-04-01 10:45:24 -07:00
Santhosh Manohar bd0d8222aa Limit number of concurrent DNS queries
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-03-29 06:23:01 -07:00
Santhosh Manohar ca06f1ed80 On network disconnect clear the cached connections to external
nameservers

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-03-20 05:00:58 -07:00
Santhosh Manohar 0c22e1bd07 Avoid V6 queries in docker domain going to external nameservers
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-03-19 03:07:08 -07:00
Santhosh Manohar 2e566e3882 Add AAAA record handling in embedded DNS server
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-03-16 19:00:17 -07:00
Santhosh Manohar 4e2e0f148b Fix nil pointer reference in ServeDNS() with concurrent go routines.
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-03-15 02:05:38 -07:00
Santhosh Manohar 9a91bbeb4f Clear cached udp connections on resolver Stop()
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-03-14 17:21:41 -07:00
Santhosh Manohar 51058eecec Implement DNS RR in the Docker embedded DNS server
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-03-03 09:33:10 -08:00
Santhosh Manohar 43e3da2f3a Source external DNS queries from container namespace
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-03-03 07:29:32 -08:00
Madhu Venugopal 577159e0cb Merge pull request #894 from sanimej/dns
Set Recursion Available bit in query responses.
2016-02-17 08:42:17 -08:00
Santhosh Manohar 2fb14185cb Add a check for invalid/junk messages
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-02-15 22:31:16 -08:00
Santhosh Manohar cbb59adbd8 Set the compress flag for the responses from external DNS servers to
avoid sending DNS replies > 512 bytes

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-02-07 02:43:29 -08:00
Alessandro Boch defcd4afb9 Change in programming iptables in container
- iptables to provide a native API
- resolver.go to invoke the iptables native API
  when programming tables in the container

Signed-off-by: Alessandro Boch <aboch@docker.com>
2016-02-05 15:25:43 -08:00
Santhosh Manohar 36fd9d02be Set Recursion Available bit in query response and reduce the ttl
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-01-24 05:46:47 -08:00
Madhu Venugopal 62b34aa361 Adding TCP listener for embedded DNS
Signed-off-by: Madhu Venugopal <madhu@docker.com>
2016-01-22 13:49:22 -08:00
Santhosh Manohar 30ef9bcf4a Retain V6 DNS server in resolv.conf; use only V4 servers for fallback
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-01-19 00:06:19 -08:00
Santhosh Manohar 05bd52dbb6 Setup embedded DNS server correctly on container restart
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-01-14 10:16:13 -08:00
Santhosh Manohar cf7ed0a717 Embedded DNS server
Signed-off-by: Santhosh Manohar <santhosh@docker.com>
2016-01-07 00:25:26 -08:00