var peer *Peer
dummy := false
+ createdNewPeer := false
deviceConfig := true
for scanner.Scan() {
peer = device.LookupPeer(publicKey)
}
- if peer == nil {
+ createdNewPeer = peer == nil
+ if createdNewPeer {
peer, err = device.NewPeer(publicKey)
if err != nil {
logError.Println("Failed to create new peer:", err)
}
}
+ case "update_only":
+
+ // allow disabling of creation
+
+ if value != "true" {
+ logError.Println("Failed to set update only, invalid value:", value)
+ return &IPCError{ipc.IpcErrorInvalid}
+ }
+ if createdNewPeer && !dummy {
+ device.RemovePeer(peer.handshake.remoteStatic)
+ peer = &Peer{}
+ dummy = true
+ }
+
case "remove":
// remove currently selected peer from device