mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-26 08:53:05 +00:00
Integrate expiration fixes (#754) in TS2021 branch
This commit is contained in:
commit
e20e818a42
3 changed files with 18 additions and 0 deletions
|
@ -3,6 +3,7 @@
|
||||||
## 0.17.0 (2022-XX-XX)
|
## 0.17.0 (2022-XX-XX)
|
||||||
|
|
||||||
- Add ability to connect to PostgreSQL over TLS/SSL [#745](https://github.com/juanfont/headscale/pull/745)
|
- Add ability to connect to PostgreSQL over TLS/SSL [#745](https://github.com/juanfont/headscale/pull/745)
|
||||||
|
- Fix CLI registration of expired machines [#754](https://github.com/juanfont/headscale/pull/754)
|
||||||
|
|
||||||
## 0.16.3 (2022-08-17)
|
## 0.16.3 (2022-08-17)
|
||||||
|
|
||||||
|
|
10
machine.go
10
machine.go
|
@ -26,6 +26,7 @@ const (
|
||||||
)
|
)
|
||||||
ErrCouldNotConvertMachineInterface = Error("failed to convert machine interface")
|
ErrCouldNotConvertMachineInterface = Error("failed to convert machine interface")
|
||||||
ErrHostnameTooLong = Error("Hostname too long")
|
ErrHostnameTooLong = Error("Hostname too long")
|
||||||
|
ErrDifferentRegisteredNamespace = Error("machine was previously registered with a different namespace")
|
||||||
MachineGivenNameHashLength = 8
|
MachineGivenNameHashLength = 8
|
||||||
MachineGivenNameTrimSize = 2
|
MachineGivenNameTrimSize = 2
|
||||||
)
|
)
|
||||||
|
@ -805,6 +806,11 @@ func (h *Headscale) RegisterMachineFromAuthCallback(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Registration of expired machine with different namespace
|
||||||
|
if registrationMachine.ID != 0 && registrationMachine.NamespaceID != namespace.ID {
|
||||||
|
return nil, ErrDifferentRegisteredNamespace
|
||||||
|
}
|
||||||
|
|
||||||
registrationMachine.NamespaceID = namespace.ID
|
registrationMachine.NamespaceID = namespace.ID
|
||||||
registrationMachine.RegisterMethod = registrationMethod
|
registrationMachine.RegisterMethod = registrationMethod
|
||||||
|
|
||||||
|
@ -812,6 +818,10 @@ func (h *Headscale) RegisterMachineFromAuthCallback(
|
||||||
registrationMachine,
|
registrationMachine,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
h.registrationCache.Delete(nodeKeyStr)
|
||||||
|
}
|
||||||
|
|
||||||
return machine, err
|
return machine, err
|
||||||
} else {
|
} else {
|
||||||
return nil, ErrCouldNotConvertMachineInterface
|
return nil, ErrCouldNotConvertMachineInterface
|
||||||
|
|
|
@ -238,6 +238,13 @@ func (h *Headscale) handleRegisterCommon(
|
||||||
// The machine has expired
|
// The machine has expired
|
||||||
h.handleMachineExpiredCommon(writer, req, registerRequest, *machine, machineKey)
|
h.handleMachineExpiredCommon(writer, req, registerRequest, *machine, machineKey)
|
||||||
|
|
||||||
|
machine.Expiry = &time.Time{}
|
||||||
|
h.registrationCache.Set(
|
||||||
|
NodePublicKeyStripPrefix(registerRequest.NodeKey),
|
||||||
|
*machine,
|
||||||
|
registerCacheExpiration,
|
||||||
|
)
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue