TUN-2756: Set connection digest after reconnect.
Previously it was only being set after RegisterTunnel.
This commit is contained in:
parent
35cee13175
commit
e8f55cc911
|
@ -290,7 +290,7 @@ func ServeTunnel(
|
||||||
connDigest = digest
|
connDigest = digest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ReconnectTunnel(serveCtx, token, eventDigest, connDigest, handler.muxer, config, logger, connectionID, originLocalIP, u)
|
return ReconnectTunnel(serveCtx, token, eventDigest, connDigest, handler.muxer, config, logger, connectionID, originLocalIP, u, credentialManager)
|
||||||
}
|
}
|
||||||
// log errors and proceed to RegisterTunnel
|
// log errors and proceed to RegisterTunnel
|
||||||
if tokenErr != nil {
|
if tokenErr != nil {
|
||||||
|
@ -392,8 +392,7 @@ func RegisterTunnel(
|
||||||
return processRegisterTunnelError(registrationErr, config.Metrics, register)
|
return processRegisterTunnelError(registrationErr, config.Metrics, register)
|
||||||
}
|
}
|
||||||
credentialManager.SetEventDigest(registration.EventDigest)
|
credentialManager.SetEventDigest(registration.EventDigest)
|
||||||
credentialManager.SetConnDigest(connectionID, registration.ConnDigest)
|
return processRegistrationSuccess(config, logger, connectionID, registration, register, credentialManager)
|
||||||
return processRegistrationSuccess(config, logger, connectionID, registration, register)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func ReconnectTunnel(
|
func ReconnectTunnel(
|
||||||
|
@ -406,6 +405,7 @@ func ReconnectTunnel(
|
||||||
connectionID uint8,
|
connectionID uint8,
|
||||||
originLocalIP string,
|
originLocalIP string,
|
||||||
uuid uuid.UUID,
|
uuid uuid.UUID,
|
||||||
|
credentialManager ReconnectTunnelCredentialManager,
|
||||||
) error {
|
) error {
|
||||||
config.TransportLogger.Debug("initiating RPC stream to reconnect")
|
config.TransportLogger.Debug("initiating RPC stream to reconnect")
|
||||||
tunnelServer, err := connection.NewRPCClient(ctx, muxer, config.TransportLogger.WithField("subsystem", "rpc-reconnect"), openStreamTimeout)
|
tunnelServer, err := connection.NewRPCClient(ctx, muxer, config.TransportLogger.WithField("subsystem", "rpc-reconnect"), openStreamTimeout)
|
||||||
|
@ -431,10 +431,17 @@ func ReconnectTunnel(
|
||||||
// ReconnectTunnel RPC failure
|
// ReconnectTunnel RPC failure
|
||||||
return processRegisterTunnelError(registrationErr, config.Metrics, reconnect)
|
return processRegisterTunnelError(registrationErr, config.Metrics, reconnect)
|
||||||
}
|
}
|
||||||
return processRegistrationSuccess(config, logger, connectionID, registration, reconnect)
|
return processRegistrationSuccess(config, logger, connectionID, registration, reconnect, credentialManager)
|
||||||
}
|
}
|
||||||
|
|
||||||
func processRegistrationSuccess(config *TunnelConfig, logger *log.Entry, connectionID uint8, registration *tunnelpogs.TunnelRegistration, name registerRPCName) error {
|
func processRegistrationSuccess(
|
||||||
|
config *TunnelConfig,
|
||||||
|
logger *log.Entry,
|
||||||
|
connectionID uint8,
|
||||||
|
registration *tunnelpogs.TunnelRegistration,
|
||||||
|
name registerRPCName,
|
||||||
|
credentialManager ReconnectTunnelCredentialManager,
|
||||||
|
) error {
|
||||||
for _, logLine := range registration.LogLines {
|
for _, logLine := range registration.LogLines {
|
||||||
logger.Info(logLine)
|
logger.Info(logLine)
|
||||||
}
|
}
|
||||||
|
@ -456,6 +463,7 @@ func processRegistrationSuccess(config *TunnelConfig, logger *log.Entry, connect
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
credentialManager.SetConnDigest(connectionID, registration.ConnDigest)
|
||||||
config.Metrics.userHostnamesCounts.WithLabelValues(registration.Url).Inc()
|
config.Metrics.userHostnamesCounts.WithLabelValues(registration.Url).Inc()
|
||||||
|
|
||||||
logger.Infof("Route propagating, it may take up to 1 minute for your new route to become functional")
|
logger.Infof("Route propagating, it may take up to 1 minute for your new route to become functional")
|
||||||
|
|
Loading…
Reference in New Issue