Strip trailing period from hostname generated from weavedns domain.

We strip at the calling point rather than in the server, because DNS
servers do see the domain as ending with a '.'  representing the root.
This commit is contained in:
Bryan Boreham committed 2015-06-16 10:26:11 +01:00
1 parent dd9adf6a65
commit 79db00a90e
3 files changed
+5 -3

No files matched your search

+2 -1
View File
@@ -94,7 +94,8 @@ func (i *createContainerInterceptor) setWeaveDNS(container *createContainerReque
name := r.URL.Query().Get("name")
if container.Hostname == "" && name != "" {
container.Hostname = name
container.Domainname = i.getDNSDomain()
// Strip trailing period because it's unusual to see it used on the end of a host name
container.Domainname = strings.TrimSuffix(i.getDNSDomain(), ".")
}
return nil
+1 -1
View File
@@ -3,7 +3,7 @@
. ./config.sh
NAME=c1
DOMAIN=weave.local.
DOMAIN=weave.local
HOSTNAME=$NAME-hostname.$DOMAIN
# Docker inspect hostname + domainname of container $2 on host $1
+2 -1
View File
@@ -660,7 +660,8 @@ dns_args() {
DNS_ARGS="$DNS_ARG $DNS_SEARCH_ARG"
if [ -n "$NAME_ARG" -a -z "$HOSTNAME_SPECIFIED" ] ; then
DOMAIN=$(call_dns GET /domain 2>/dev/null) || DOMAIN=weave.local.
DNS_ARGS="$DNS_ARGS --hostname=$NAME_ARG.$DOMAIN"
# Strip trailing period off DNS domain to reduce surprise
DNS_ARGS="$DNS_ARGS --hostname=$NAME_ARG.${DOMAIN%.}"
fi
}