start through server invitation process

This commit is contained in:
ycc 2023-08-29 23:40:30 +02:00
parent 4a009b69eb
commit 753cd30f38
3 changed files with 437 additions and 270 deletions

View File

@ -100,6 +100,24 @@ func (ints *InternalServer) BuildMessageRequestMessage(lookupKeys []string) ([]b
return out, nil
}
// Creates a basic message to server from a single packed user message and returns it as protobuf serialized byte array
func (ints *InternalServer) BuildToServerMessageInvitation(invitation *meowlib.ContactCard, password string, timeout int, urllen int) (*meowlib.ToServerMessage, error) {
var msg meowlib.ToServerMessage
var inv meowlib.Invitation
payload, err := invitation.Compress()
if err != nil {
return nil, err
}
msg.Type = "1"
msg.From = ints.Me.Public
inv.Password = password
inv.Timeout = int32(timeout)
inv.Urllen = int32(urllen)
inv.Payload = payload
msg.Invitation = &inv
return &msg, nil
}
func (ints *InternalServer) PackServerMessage(payload []byte, signature []byte) (protoPackedMessage []byte, err error) {
var msg meowlib.PackedServerMessage
msg.From = ints.Me.Public

File diff suppressed because it is too large Load Diff

View File

@ -15,6 +15,16 @@ message PackedServerMessage {
bytes signature = 3; // The message signature with the client public key |eo| the reference to teh symetrical key used
}
// structure to hold an invitation through a server
message Invitation {
bytes payload = 1;
int32 timeout = 2;
int32 urllen = 3;
string password = 4;
string url = 5;
int64 expiry = 6;
}
// structure defining a message for a server, that will be encrypted, then sent in a "packedmessage" payload
message ToServerMessage {
string type = 1; // Type 1 : final destination / 2 : forward
@ -39,6 +49,8 @@ message ToServerMessage {
string uuid = 8;
Invitation invitation = 9;
}
// structure defining a from server receiver message decrypted from a "packedmessage" payload
@ -57,6 +69,8 @@ message FromServerMessage {
repeated Server knownServers = 7;
Invitation invitation = 8;
}
message MatriochkaServer {