Relax requirements to domain name

This commit is contained in:
Roman Tkachenko 2016-10-10 14:24:34 -07:00
parent 0a78b45b3c
commit 20e281916a
4 changed files with 11 additions and 14 deletions

View file

@ -25,10 +25,10 @@ import (
"net/http"
"net/url"
"strconv"
"strings"
"time"
"github.com/Sirupsen/logrus"
"github.com/gravitational/configure/cstrings"
"github.com/gravitational/roundtrip"
"github.com/gravitational/teleport"
@ -336,8 +336,8 @@ func (c *Client) DeleteReverseTunnel(domainName string) error {
// this is to avoid confusing error in case if domain emtpy for example
// HTTP route will fail producing generic not found error
// instead we catch the error here
if !cstrings.IsValidDomainName(domainName) {
return trace.BadParameter("'%v' is not a valid FQDN", domainName)
if strings.TrimSpace(domainName) == "" {
return trace.BadParameter("empty domain name")
}
_, err := c.Delete(c.Endpoint("reversetunnels", domainName))
return trace.Wrap(err)

View file

@ -20,12 +20,11 @@ import (
"fmt"
"net"
"net/http"
"strings"
"sync"
"sync/atomic"
"time"
"github.com/gravitational/configure/cstrings"
"github.com/gravitational/teleport"
"github.com/gravitational/teleport/lib/auth"
"github.com/gravitational/teleport/lib/defaults"
@ -339,8 +338,8 @@ func (s *server) keyAuth(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permiss
func (s *server) upsertSite(conn net.Conn, sshConn *ssh.ServerConn) (*tunnelSite, *remoteConn, error) {
domainName := sshConn.Permissions.Extensions[extAuthority]
if !cstrings.IsValidDomainName(domainName) {
return nil, nil, trace.BadParameter("Cannot create reverse tunnel: '%v' is not a valid FQDN", domainName)
if strings.TrimSpace(domainName) == "" {
return nil, nil, trace.BadParameter("Cannot create reverse tunnel: empty domain name")
}
s.Lock()

View file

@ -18,10 +18,9 @@ package services
import (
"fmt"
"strings"
"time"
"github.com/gravitational/configure/cstrings"
"github.com/gravitational/trace"
"golang.org/x/crypto/ssh"
)
@ -85,8 +84,8 @@ func (c *CertAuthID) Check() error {
if err := c.Type.Check(); err != nil {
return trace.Wrap(err)
}
if !cstrings.IsValidDomainName(c.DomainName) {
return trace.BadParameter("identity validation error: '%v' is not a valid FQDN", c.DomainName)
if strings.TrimSpace(c.DomainName) == "" {
return trace.BadParameter("identity validation error: empty domain name")
}
return nil
}

View file

@ -25,7 +25,6 @@ import (
"github.com/gravitational/teleport/lib/utils"
"github.com/gravitational/configure/cstrings"
"github.com/gravitational/trace"
)
@ -96,8 +95,8 @@ type ReverseTunnel struct {
// Check returns nil if all parameters are good, error otherwise
func (r *ReverseTunnel) Check() error {
if !cstrings.IsValidDomainName(r.DomainName) {
return trace.BadParameter("Reverse tunnel validation error: '%v' is not a valid FQDN", r.DomainName)
if strings.TrimSpace(r.DomainName) == "" {
return trace.BadParameter("Reverse tunnel validation error: empty domain name")
}
if len(r.DialAddrs) == 0 {