begin adding device to device communication
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is passing
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	continuous-integration/drone/push Build is passing
				
			This commit is contained in:
		@@ -21,6 +21,7 @@ type Identity struct {
 | 
				
			|||||||
	RootKp               meowlib.KeyPair `json:"id_kp,omitempty"`
 | 
						RootKp               meowlib.KeyPair `json:"id_kp,omitempty"`
 | 
				
			||||||
	Status               string          `json:"status,omitempty"`
 | 
						Status               string          `json:"status,omitempty"`
 | 
				
			||||||
	Peers                PeerList        `json:"peers,omitempty"`
 | 
						Peers                PeerList        `json:"peers,omitempty"`
 | 
				
			||||||
 | 
						Devices              PeerList        `json:"devices,omitempty"`
 | 
				
			||||||
	HiddenPeers          [][]byte        `json:"hiddend_peers,omitempty"`
 | 
						HiddenPeers          [][]byte        `json:"hiddend_peers,omitempty"`
 | 
				
			||||||
	Device               meowlib.KeyPair `json:"device,omitempty"`
 | 
						Device               meowlib.KeyPair `json:"device,omitempty"`
 | 
				
			||||||
	KnownServers         ServerList      `json:"known_servers,omitempty"`
 | 
						KnownServers         ServerList      `json:"known_servers,omitempty"`
 | 
				
			||||||
@@ -207,9 +208,15 @@ func (id *Identity) generateRandomHiddenStuff() {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					type BackgroundJob struct {
 | 
				
			||||||
 | 
						RootPublic string          `json:"root_public,omitempty"`
 | 
				
			||||||
 | 
						Device     meowlib.KeyPair `json:"device,omitempty"`
 | 
				
			||||||
 | 
						Jobs       []*RequestsJob  `json:"jobs,omitempty"`
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type RequestsJob struct {
 | 
					type RequestsJob struct {
 | 
				
			||||||
	server     Server            `json:"server,omitempty"`
 | 
						Server     Server            `json:"server,omitempty"`
 | 
				
			||||||
	lookupKeys []meowlib.KeyPair `json:"lookup_keys,omitempty"`
 | 
						LookupKeys []meowlib.KeyPair `json:"lookup_keys,omitempty"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (id *Identity) GetRequestJobs() []*RequestsJob {
 | 
					func (id *Identity) GetRequestJobs() []*RequestsJob {
 | 
				
			||||||
@@ -218,19 +225,19 @@ func (id *Identity) GetRequestJobs() []*RequestsJob {
 | 
				
			|||||||
	// build a server map
 | 
						// build a server map
 | 
				
			||||||
	for _, server := range id.MessageServers.Servers {
 | 
						for _, server := range id.MessageServers.Servers {
 | 
				
			||||||
		var rj RequestsJob
 | 
							var rj RequestsJob
 | 
				
			||||||
		rj.server = server
 | 
							rj.Server = server
 | 
				
			||||||
		srvs[server.ServerData.GetUid()] = &rj
 | 
							srvs[server.ServerData.GetUid()] = &rj
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	// add ids to the map
 | 
						// add ids to the map
 | 
				
			||||||
	for _, peer := range id.Peers {
 | 
						for _, peer := range id.Peers {
 | 
				
			||||||
		for _, server := range peer.MyPullServers {
 | 
							for _, server := range peer.MyPullServers {
 | 
				
			||||||
			srvs[server.GetUid()].lookupKeys = append(srvs[server.GetUid()].lookupKeys, peer.MyLookupKp)
 | 
								srvs[server.GetUid()].LookupKeys = append(srvs[server.GetUid()].LookupKeys, peer.MyLookupKp)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	// add hidden peers
 | 
						// add hidden peers
 | 
				
			||||||
	for _, peer := range id.unlockedHiddenPeers {
 | 
						for _, peer := range id.unlockedHiddenPeers {
 | 
				
			||||||
		for _, server := range peer.MyPullServers {
 | 
							for _, server := range peer.MyPullServers {
 | 
				
			||||||
			srvs[server.GetUid()].lookupKeys = append(srvs[server.GetUid()].lookupKeys, peer.MyLookupKp)
 | 
								srvs[server.GetUid()].LookupKeys = append(srvs[server.GetUid()].LookupKeys, peer.MyLookupKp)
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	// todo add garbage
 | 
						// todo add garbage
 | 
				
			||||||
@@ -244,9 +251,12 @@ func (id *Identity) GetRequestJobs() []*RequestsJob {
 | 
				
			|||||||
	return list
 | 
						return list
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (id *Identity) SaveRequestJobs() error {
 | 
					func (id *Identity) SaveBackgroundJob() error {
 | 
				
			||||||
	jobs := id.GetRequestJobs()
 | 
						var bj BackgroundJob
 | 
				
			||||||
	jsonjobs, err := json.Marshal(jobs)
 | 
						bj.Jobs = id.GetRequestJobs()
 | 
				
			||||||
 | 
						bj.RootPublic = id.RootKp.Public
 | 
				
			||||||
 | 
						bj.Device = id.Device
 | 
				
			||||||
 | 
						jsonjobs, err := json.Marshal(bj)
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
		return err
 | 
							return err
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -65,6 +65,7 @@ message ToServerMessage {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    Invitation invitation = 9; // invitation for the 2 first steps of a "through server" invitation process
 | 
					    Invitation invitation = 9; // invitation for the 2 first steps of a "through server" invitation process
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    repeated PackedUserMessage device_messages = 10; // messages to another device belonging to the same user
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    message ConversationResponse {
 | 
					    message ConversationResponse {
 | 
				
			||||||
@@ -74,17 +75,20 @@ message ToServerMessage {
 | 
				
			|||||||
// structure defining a from server receiver message decrypted from a "packedmessage" payload
 | 
					// structure defining a from server receiver message decrypted from a "packedmessage" payload
 | 
				
			||||||
message FromServerMessage {
 | 
					message FromServerMessage {
 | 
				
			||||||
	string type = 1; // Type 
 | 
						string type = 1; // Type 
 | 
				
			||||||
	string serverPublicKey = 2 ; // Pub key from the server
 | 
						string server_public_key = 2 ; // Pub key from the server
 | 
				
			||||||
	bytes payload = 3 ; // 
 | 
						bytes payload = 3 ; // 
 | 
				
			||||||
	string uuidAck = 4 ; // Ack for the last received ToServerMessage Uuid
 | 
						string uuid_ack = 4 ; // Ack for the last received ToServerMessage Uuid
 | 
				
			||||||
	string serverUuid = 5 ; // Provides the server uuid that replaced the client uuid 
 | 
						string server_uuid = 5 ; // Provides the server uuid that replaced the client uuid 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	repeated PackedUserMessage chat = 6; 
 | 
						repeated PackedUserMessage chat = 6; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    repeated ServerCard knownServers = 7; 
 | 
					    repeated ServerCard known_servers = 7; 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Invitation invitation = 8; // invitation answer, for the third steps of any invitation
 | 
					    Invitation invitation = 8; // invitation answer, for the third steps of any invitation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    repeated PackedUserMessage device_messages = 9; // messages from other devices belonging to the same user
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
message MatriochkaServer {
 | 
					message MatriochkaServer {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user