mirror of https://github.com/status-im/consul.git
Unify regex used to identify invalid dns characters
This commit is contained in:
parent
37f75a393e
commit
824fc4ee20
|
@ -13,7 +13,6 @@ import (
|
|||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
|
@ -51,9 +50,6 @@ const (
|
|||
"service, but no reason was provided. This is a default message."
|
||||
)
|
||||
|
||||
// dnsNameRe checks if a name or tag is dns-compatible.
|
||||
var dnsNameRe = regexp.MustCompile(`^[a-zA-Z0-9\-]+$`)
|
||||
|
||||
// delegate defines the interface shared by both
|
||||
// consul.Client and consul.Server.
|
||||
type delegate interface {
|
||||
|
@ -1370,7 +1366,7 @@ func (a *Agent) AddService(service *structs.NodeService, chkTypes []*structs.Che
|
|||
}
|
||||
|
||||
// Warn if the service name is incompatible with DNS
|
||||
if !dnsNameRe.MatchString(service.Service) {
|
||||
if InvalidDnsRe.MatchString(service.Service) {
|
||||
a.logger.Printf("[WARN] Service name %q will not be discoverable "+
|
||||
"via DNS due to invalid characters. Valid characters include "+
|
||||
"all alpha-numerics and dashes.", service.Service)
|
||||
|
@ -1378,7 +1374,7 @@ func (a *Agent) AddService(service *structs.NodeService, chkTypes []*structs.Che
|
|||
|
||||
// Warn if any tags are incompatible with DNS
|
||||
for _, tag := range service.Tags {
|
||||
if !dnsNameRe.MatchString(tag) {
|
||||
if InvalidDnsRe.MatchString(tag) {
|
||||
a.logger.Printf("[DEBUG] Service tag %q will not be discoverable "+
|
||||
"via DNS due to invalid characters. Valid characters include "+
|
||||
"all alpha-numerics and dashes.", tag)
|
||||
|
|
|
@ -32,7 +32,7 @@ const (
|
|||
defaultMaxUDPSize = 512
|
||||
)
|
||||
|
||||
var invalidCharsRe = regexp.MustCompile(`[^A-Za-z0-9\\-]+`)
|
||||
var InvalidDnsRe = regexp.MustCompile(`[^A-Za-z0-9\\-]+`)
|
||||
|
||||
// DNSServer is used to wrap an Agent and expose various
|
||||
// service discovery endpoints using a DNS interface.
|
||||
|
@ -691,7 +691,7 @@ func (d *DNSServer) addAuthority(msg *dns.Msg) {
|
|||
serverAddrs := d.agent.delegate.ServerAddrs()
|
||||
for name, addr := range serverAddrs {
|
||||
ipAddrStr := strings.Split(addr, ":")[0]
|
||||
sanitizedName := invalidCharsRe.ReplaceAllString(name, "-") // does some basic sanitization of the name
|
||||
sanitizedName := InvalidDnsRe.ReplaceAllString(name, "-") // does some basic sanitization of the name
|
||||
nsName := "server-" + sanitizedName + "." + d.domain
|
||||
ip := net.ParseIP(ipAddrStr)
|
||||
if ip != nil {
|
||||
|
|
Loading…
Reference in New Issue