merge with vpn branch which fixes RegisterDevice method signature
diff --git a/core/vpn/in_memory_manager.go b/core/vpn/in_memory_manager.go
index f23ff43..eef4097 100644
--- a/core/vpn/in_memory_manager.go
+++ b/core/vpn/in_memory_manager.go
@@ -27,7 +27,7 @@
ipm IPManager
}
-func NewInMemoryManager(ipm IPManager) *InMemoryManager {
+func NewInMemoryManager(ipm IPManager) Manager {
return &InMemoryManager{
devices: make([]*types.DeviceInfo, 0),
keyToDevices: make(map[types.PublicKey]*types.DeviceInfo),
diff --git a/core/vpn/manager.go b/core/vpn/manager.go
index fdb29cb..b5e380b 100644
--- a/core/vpn/manager.go
+++ b/core/vpn/manager.go
@@ -9,10 +9,11 @@
// Manager interface manages mesh VPN configuration for all the devices registed by all users.
// It does enforce device to device ACLs but delegates user authorization to the client.
type Manager interface {
- // Registers new device with given public key and name.
- // New device is isolated from the rest of the network until it is explicitely added to
- // an existing group.
- RegisterDevice(name string, pubKey types.PublicKey) error
+ // Registers new device.
+ // Returns VPN network configuration on success and error otherwise.
+ // By default new devices have access to other machines owned by the same user
+ // and a PCloud entrypoint.
+ RegisterDevice(d types.DeviceInfo) (*types.NetworkMap, error)
// Completely removes device with given public key from the network.
RemoveDevice(pubKey types.PublicKey) error
// Creates new group with given name and returns it's id.