mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Integrate expiration fixes (#754) in TS2021 branch
This commit is contained in:
		
						commit
						e20e818a42
					
				@ -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 New Issue
	
	Block a user