aboutsummaryrefslogtreecommitdiff
path: root/plugin/etcd/etcd.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/etcd/etcd.go')
-rw-r--r--plugin/etcd/etcd.go10
1 files changed, 4 insertions, 6 deletions
diff --git a/plugin/etcd/etcd.go b/plugin/etcd/etcd.go
index 305e8e492..d8e9e054e 100644
--- a/plugin/etcd/etcd.go
+++ b/plugin/etcd/etcd.go
@@ -177,11 +177,9 @@ func (e *Etcd) TTL(kv *mvccpb.KeyValue, serv *msg.Service) uint32 {
}
// shouldInclude returns true if the service should be included in a list of records, given the qType. For all the
-// currently supported lookup types, the only one to allow for an empty Host field in the service are TXT records.
-// Similarly, the TXT record in turn requires the Text field to be set.
+// currently supported lookup types, the only one to allow for an empty Host field in the service are TXT records
+// which resolve directly. If a TXT record is being resolved by CNAME, then we expect the Host field to have a
+// value while the TXT field will be empty.
func shouldInclude(serv *msg.Service, qType uint16) bool {
- if qType == dns.TypeTXT {
- return serv.Text != ""
- }
- return serv.Host != ""
+ return (qType == dns.TypeTXT && serv.Text != "") || serv.Host != ""
}