mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-31 16:11:03 +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) | ||||
| 
 | ||||
| - 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) | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										10
									
								
								machine.go
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								machine.go
									
									
									
									
									
								
							| @ -26,6 +26,7 @@ const ( | ||||
| 	) | ||||
| 	ErrCouldNotConvertMachineInterface = Error("failed to convert machine interface") | ||||
| 	ErrHostnameTooLong                 = Error("Hostname too long") | ||||
| 	ErrDifferentRegisteredNamespace    = Error("machine was previously registered with a different namespace") | ||||
| 	MachineGivenNameHashLength         = 8 | ||||
| 	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.RegisterMethod = registrationMethod | ||||
| 
 | ||||
| @ -812,6 +818,10 @@ func (h *Headscale) RegisterMachineFromAuthCallback( | ||||
| 				registrationMachine, | ||||
| 			) | ||||
| 
 | ||||
| 			if err == nil { | ||||
| 				h.registrationCache.Delete(nodeKeyStr) | ||||
| 			} | ||||
| 
 | ||||
| 			return machine, err | ||||
| 		} else { | ||||
| 			return nil, ErrCouldNotConvertMachineInterface | ||||
|  | ||||
| @ -238,6 +238,13 @@ func (h *Headscale) handleRegisterCommon( | ||||
| 		// The machine has expired | ||||
| 		h.handleMachineExpiredCommon(writer, req, registerRequest, *machine, machineKey) | ||||
| 
 | ||||
| 		machine.Expiry = &time.Time{} | ||||
| 		h.registrationCache.Set( | ||||
| 			NodePublicKeyStripPrefix(registerRequest.NodeKey), | ||||
| 			*machine, | ||||
| 			registerCacheExpiration, | ||||
| 		) | ||||
| 
 | ||||
| 		return | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user