Merge branch 'master' into pmtu

This commit is contained in:
Quentin McGaw
2025-11-07 21:55:58 +00:00
53 changed files with 12628 additions and 13594 deletions

View File

@@ -57,14 +57,14 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) {
password: settings.Provider.PortForwarding.Password,
}
openvpnCtx, openvpnCancel := context.WithCancel(context.Background())
vpnCtx, vpnCancel := context.WithCancel(context.Background())
waitError := make(chan error)
tunnelReady := make(chan struct{})
go vpnRunner.Run(openvpnCtx, waitError, tunnelReady)
go vpnRunner.Run(vpnCtx, waitError, tunnelReady)
if err := l.waitForError(ctx, waitError); err != nil {
openvpnCancel()
vpnCancel()
l.crashed(ctx, err)
continue
}
@@ -76,10 +76,10 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) {
for stayHere {
select {
case <-tunnelReady:
go l.onTunnelUp(openvpnCtx, ctx, tunnelUpData)
go l.onTunnelUp(vpnCtx, ctx, tunnelUpData)
case <-ctx.Done():
l.cleanup()
openvpnCancel()
vpnCancel()
<-waitError
close(waitError)
return
@@ -87,7 +87,7 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) {
l.userTrigger = true
l.logger.Info("stopping")
l.cleanup()
openvpnCancel()
vpnCancel()
<-waitError
// do not close waitError or the waitError
// select case will trigger
@@ -100,7 +100,7 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) {
l.statusManager.Lock() // prevent SetStatus from running in parallel
l.cleanup()
openvpnCancel()
vpnCancel()
l.statusManager.SetStatus(constants.Crashed)
l.logAndWait(ctx, err)
stayHere = false
@@ -108,6 +108,6 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) {
l.statusManager.Unlock()
}
}
openvpnCancel()
vpnCancel()
}
}