From 8560436487686452aa54a43d55b26549cf262e21 Mon Sep 17 00:00:00 2001 From: Adam Chalmers Date: Fri, 22 Mar 2019 12:00:57 -0500 Subject: [PATCH] TUN-1637: Free tunnels shouldn't require cert.pem --- cmd/cloudflared/tunnel/configuration.go | 11 ++++++++--- origin/tunnel.go | 1 + 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cmd/cloudflared/tunnel/configuration.go b/cmd/cloudflared/tunnel/configuration.go index c339964c..7ddd0fef 100644 --- a/cmd/cloudflared/tunnel/configuration.go +++ b/cmd/cloudflared/tunnel/configuration.go @@ -156,6 +156,7 @@ func prepareTunnelConfig( logger.WithError(err).Error("Invalid hostname") return nil, errors.Wrap(err, "Invalid hostname") } + isFreeTunnel := hostname == "" clientID := c.String("id") if !c.IsSet("id") { clientID = generateRandomClientID() @@ -175,9 +176,12 @@ func prepareTunnelConfig( return nil, errors.Wrap(err, "Error validating origin URL") } - originCert, err := getOriginCert(c) - if err != nil { - return nil, errors.Wrap(err, "Error getting origin cert") + var originCert []byte + if !isFreeTunnel { + originCert, err = getOriginCert(c) + if err != nil { + return nil, errors.Wrap(err, "Error getting origin cert") + } } originCertPool, err := loadCertPool(c, logger) @@ -262,6 +266,7 @@ func prepareTunnelConfig( NoChunkedEncoding: c.Bool("no-chunked-encoding"), CompressionQuality: c.Uint64("compression-quality"), IncidentLookup: origin.NewIncidentLookup(), + IsFreeTunnel: isFreeTunnel, }, nil } diff --git a/origin/tunnel.go b/origin/tunnel.go index 9da7e5c4..6441e6b4 100644 --- a/origin/tunnel.go +++ b/origin/tunnel.go @@ -69,6 +69,7 @@ type TunnelConfig struct { CompressionQuality uint64 IncidentLookup IncidentLookup CloseConnOnce *sync.Once // Used to close connectedSignal no more than once + IsFreeTunnel bool } type dialError struct {