summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorShayne Sweeney <shayne@tailscale.com>2022-12-16 11:46:13 -0500
committerShayne Sweeney <shayne@tailscale.com>2023-03-07 20:16:36 -0500
commit12720007ce7b52b7474fd5ea0f409a7632c592a8 (patch)
treeb683e1a72cff118eff5332c8bf94eb0a3560f51d
parentea86fc127a27da076a2fc6d57bf7711c7aeb10b5 (diff)
downloadtailscale-Xe/tsnet-funnel.tar.xz
tailscale-Xe/tsnet-funnel.zip
workaroundsXe/tsnet-funnel
-rw-r--r--ipn/ipnlocal/peerapi.go3
-rw-r--r--tsnet/tsnet.go7
2 files changed, 6 insertions, 4 deletions
diff --git a/ipn/ipnlocal/peerapi.go b/ipn/ipnlocal/peerapi.go
index e6152ba01..7a63b07a7 100644
--- a/ipn/ipnlocal/peerapi.go
+++ b/ipn/ipnlocal/peerapi.go
@@ -574,6 +574,7 @@ func (pln *peerAPIListener) ServeConn(src netip.AddrPort, c net.Conn) {
c.Close()
return
}
+ logf("remoteAddr=%v", src)
h := &peerAPIHandler{
ps: pln.ps,
isSelf: nm.SelfNode.User == peerNode.User,
@@ -1022,6 +1023,8 @@ func (h *peerAPIHandler) canIngress() bool {
}
func (h *peerAPIHandler) peerHasCap(wantCap string) bool {
+ h.logf("h.remoteAddr.Addr()=%v", h.remoteAddr.Addr())
+ h.logf("h.ps.b.PeerCaps(h.remoteAddr.Addr())=%v", h.ps.b.PeerCaps(h.remoteAddr.Addr()))
for _, hasCap := range h.ps.b.PeerCaps(h.remoteAddr.Addr()) {
if hasCap == wantCap {
return true
diff --git a/tsnet/tsnet.go b/tsnet/tsnet.go
index 27ad69e6d..e19d4483f 100644
--- a/tsnet/tsnet.go
+++ b/tsnet/tsnet.go
@@ -765,13 +765,12 @@ func (s *Server) ExposeHTTPS() (net.Listener, error) {
srvConfig := &ipn.ServeConfig{
TCP: map[uint16]*ipn.TCPPortHandler{
443: &ipn.TCPPortHandler{
- TCPForward: ln.Addr().String(),
HTTPS: true,
},
},
Web: map[ipn.HostPort]*ipn.WebServerConfig{
hp: &ipn.WebServerConfig{
- Handlers: map[string]*ipn.HTTPHandler {
+ Handlers: map[string]*ipn.HTTPHandler{
"/": &ipn.HTTPHandler{Proxy: ln.Addr().String()},
},
},
@@ -793,11 +792,11 @@ type funnelListenerWrapper struct {
s *Server
}
-func (flw *funnelListenerWrapper) Accept() (net.Conn, error) {
+func (flw *funnelListenerWrapper) Accept() (net.Conn, error) {
conn, err := flw.Listener.Accept()
flw.s.logf("got connection from %s", conn.RemoteAddr())
-
+
return conn, err
}