From 98374c31cd147d123ff7da0a21d6cd3dfa44ceb0 Mon Sep 17 00:00:00 2001 From: Zack Scholl Date: Fri, 29 Jun 2018 20:16:15 -0700 Subject: [PATCH] file stuff ready --- src/client.go | 12 ++++++++++++ src/models.go | 1 + 2 files changed, 13 insertions(+) diff --git a/src/client.go b/src/client.go index 0934bfdf..fdb5f377 100644 --- a/src/client.go +++ b/src/client.go @@ -204,6 +204,15 @@ func (c *Croc) processState(ws *websocket.Conn, cd channelData) (err error) { c.cs.channel.Update = false } } + if c.cs.channel.Role == 0 && c.cs.channel.Pake.IsVerified() { + go func() { + // encrypt the files + // TODO + c.cs.Lock() + c.cs.channel.fileReady = true + c.cs.Unlock() + }() + } // TODO // process the client state @@ -277,6 +286,9 @@ func (c *Croc) dialUp() (err error) { for { c.cs.RLock() ready := c.cs.channel.TransferReady + if role == 0 { + ready = ready && c.cs.channel.fileReady + } c.cs.RUnlock() if ready { break diff --git a/src/models.go b/src/models.go index 24ea234f..45dc9e3a 100644 --- a/src/models.go +++ b/src/models.go @@ -103,6 +103,7 @@ type channelData struct { // sessionKey sessionKey []byte isReady bool + fileReady bool // relay parameters // isopen determine whether or not the channel has been opened