Merge branch 'tapir-peer' of cwtch.im/cwtch into master

Este commit está contenido en:
Dan Ballard 2019-08-07 11:32:43 -07:00 cometido por Gogs
commit e4fbefe496
Se han modificado 1 ficheros con 14 adiciones y 0 borrados

Ver fichero

@ -4,6 +4,7 @@ import (
"cwtch.im/cwtch/event"
"cwtch.im/cwtch/protocol"
"cwtch.im/tapir"
"cwtch.im/tapir/applications"
"cwtch.im/tapir/networks/tor"
"errors"
"git.openprivacy.ca/openprivacy/libricochet-go/connectivity"
@ -175,6 +176,19 @@ func (e *engine) peerWithOnion(onion string) {
if !blocked {
e.ignoreOnShutdown(e.peerConnecting)(onion)
connected, err := e.service.Connect(onion, e.createPeerTemplate())
// If we are already connected...check if we are authed and issue an auth event
// (This allows the ui to be stateless)
if connected && err != nil {
conn, err := e.service.GetConnection(onion)
if err == nil {
if conn.HasCapability(applications.AuthCapability) {
e.ignoreOnShutdown(e.peerAuthed)(onion)
return
}
}
}
// Only issue a disconnected error if we are disconnected (Connect will fail if a connection already exists)
if !connected && err != nil {
e.ignoreOnShutdown(e.peerDisconnected)(onion)