uapi: allow unsetting device private key with /dev/null
This commit is contained in:
		
							parent
							
								
									05b03c6750
								
							
						
					
					
						commit
						cb4bb63030
					
				
					 2 changed files with 10 additions and 1 deletions
				
			
		|  | @ -52,6 +52,15 @@ func (key *NoisePrivateKey) FromHex(src string) (err error) { | ||||||
| 	return | 	return | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func (key *NoisePrivateKey) FromMaybeZeroHex(src string) (err error) { | ||||||
|  | 	err = loadExactHex(key[:], src) | ||||||
|  | 	if key.IsZero() { | ||||||
|  | 		return | ||||||
|  | 	} | ||||||
|  | 	key.clamp() | ||||||
|  | 	return | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (key NoisePrivateKey) ToHex() string { | func (key NoisePrivateKey) ToHex() string { | ||||||
| 	return hex.EncodeToString(key[:]) | 	return hex.EncodeToString(key[:]) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -138,7 +138,7 @@ func (device *Device) IpcSetOperation(socket *bufio.Reader) *IPCError { | ||||||
| 			switch key { | 			switch key { | ||||||
| 			case "private_key": | 			case "private_key": | ||||||
| 				var sk NoisePrivateKey | 				var sk NoisePrivateKey | ||||||
| 				err := sk.FromHex(value) | 				err := sk.FromMaybeZeroHex(value) | ||||||
| 				if err != nil { | 				if err != nil { | ||||||
| 					logError.Println("Failed to set private_key:", err) | 					logError.Println("Failed to set private_key:", err) | ||||||
| 					return &IPCError{ipc.IpcErrorInvalid} | 					return &IPCError{ipc.IpcErrorInvalid} | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue