Don't try discover on multicast, don't block existing sessions on listen
This commit is contained in:
parent
d559ce9da2
commit
407381912b
@ -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()
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user