Don't try discover on multicast, don't block existing sessions on listen

This commit is contained in:
Asim Aslam 2019-09-04 15:55:37 +01:00
parent d559ce9da2
commit 407381912b
2 changed files with 11 additions and 5 deletions

View File

@ -814,6 +814,14 @@ func (t *tun) Dial(channel string, opts ...DialOption) (Session, error) {
// set the dial timeout
c.timeout = options.Timeout
// don't bother with the song and dance below
// we're just going to assume things come online
// as and when.
if c.multicast {
return c, nil
}
// non multicast so we need to find the link
t.RLock()
for _, link := range t.links {
link.RLock()

View File

@ -64,8 +64,9 @@ func (t *tunListener) process() {
sess, ok := conns[m.session]
log.Debugf("Tunnel listener received channel %s session %s exists: %t", m.channel, m.session, ok)
if !ok {
// only create new sessions on open message
if m.typ != "open" {
switch m.typ {
case "open", "session":
default:
continue
}
@ -104,9 +105,6 @@ func (t *tunListener) process() {
// send to accept chan
case t.accept <- sess:
}
// continue
continue
}
// an existing session was found