From 980d0dead76755ca39c98b3eb2d457c1385ce0d6 Mon Sep 17 00:00:00 2001 From: Michael Quigley Date: Tue, 25 Apr 2023 15:16:05 -0400 Subject: [PATCH] backend request information (#314) --- cmd/zrok/sharePrivate.go | 1 + endpoints/tcpTunnel/backend.go | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/zrok/sharePrivate.go b/cmd/zrok/sharePrivate.go index c9a61f8e..ca66a3d9 100644 --- a/cmd/zrok/sharePrivate.go +++ b/cmd/zrok/sharePrivate.go @@ -177,6 +177,7 @@ func (cmd *sharePrivateCommand) run(_ *cobra.Command, args []string) { IdentityPath: zif, EndpointAddress: target, ShrToken: resp.Payload.ShrToken, + RequestsChan: requestsChan, } be, err := tcpTunnel.NewBackend(cfg) if err != nil { diff --git a/endpoints/tcpTunnel/backend.go b/endpoints/tcpTunnel/backend.go index 8245132f..aeda73ac 100644 --- a/endpoints/tcpTunnel/backend.go +++ b/endpoints/tcpTunnel/backend.go @@ -15,6 +15,7 @@ type BackendConfig struct { IdentityPath string EndpointAddress string ShrToken string + RequestsChan chan *endpoints.Request } type Backend struct { @@ -56,11 +57,17 @@ func (b *Backend) Run() error { } func (b *Backend) handle(conn net.Conn) { - logrus.Infof("handling '%v'", conn.RemoteAddr()) + logrus.Debugf("handling '%v'", conn.RemoteAddr()) if rAddr, err := net.ResolveTCPAddr("tcp", b.cfg.EndpointAddress); err == nil { if rConn, err := net.DialTCP("tcp", nil, rAddr); err == nil { go endpoints.TXer(conn, rConn) go endpoints.TXer(rConn, conn) + b.cfg.RequestsChan <- &endpoints.Request{ + Stamp: time.Now(), + RemoteAddr: conn.RemoteAddr().String(), + Method: "OPEN", + Path: rAddr.String(), + } } else { logrus.Errorf("error dialing '%v': %v", b.cfg.EndpointAddress, err) _ = conn.Close()