From 1a6403b2fd2d50398dc7e1c35daeba1d3c0a3ed5 Mon Sep 17 00:00:00 2001 From: Dalton Date: Fri, 12 Jun 2020 11:57:21 -0500 Subject: [PATCH] AUTH-2694 added destination header support to config file --- cmd/cloudflared/access/carrier.go | 4 ++++ cmd/cloudflared/config/model.go | 2 ++ 2 files changed, 6 insertions(+) diff --git a/cmd/cloudflared/access/carrier.go b/cmd/cloudflared/access/carrier.go index 506c57c6..29e9b385 100644 --- a/cmd/cloudflared/access/carrier.go +++ b/cmd/cloudflared/access/carrier.go @@ -37,6 +37,10 @@ func StartForwarder(forwarder config.Forwarder, shutdown <-chan struct{}, logger headers.Set(h2mux.CFAccessClientSecretHeader, forwarder.TokenSecret) } + if forwarder.Destination != "" { + headers.Add(h2mux.CFJumpDestinationHeader, forwarder.Destination) + } + options := &carrier.StartOptions{ OriginURL: forwarder.URL, Headers: headers, //TODO: TUN-2688 support custom headers from config file diff --git a/cmd/cloudflared/config/model.go b/cmd/cloudflared/config/model.go index 656853e7..7838fa01 100644 --- a/cmd/cloudflared/config/model.go +++ b/cmd/cloudflared/config/model.go @@ -13,6 +13,7 @@ type Forwarder struct { Listener string `json:"listener"` TokenClientID string `json:"service_token_id" yaml:"serviceTokenID"` TokenSecret string `json:"secret_token_id" yaml:"serviceTokenSecret"` + Destination string `json:"destination"` } // Tunnel represents a tunnel that should be started @@ -50,6 +51,7 @@ func (f *Forwarder) Hash() string { io.WriteString(h, f.Listener) io.WriteString(h, f.TokenClientID) io.WriteString(h, f.TokenSecret) + io.WriteString(h, f.Destination) return fmt.Sprintf("%x", h.Sum(nil)) }