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