diff --git a/app/dispatcher/default.go b/app/dispatcher/default.go index 1b3313e136..a048aa07a8 100644 --- a/app/dispatcher/default.go +++ b/app/dispatcher/default.go @@ -182,7 +182,7 @@ func shouldOverride(result SniffResult, domainOverride []string) bool { protocolString = resComp.ProtocolForDomainResult() } for _, p := range domainOverride { - if strings.HasPrefix(p, protocolString) { + if strings.HasPrefix(protocolString, p) && strings.HasSuffix(protocolString, p) { return true } if resultSubset, ok := result.(SnifferIsProtoSubsetOf); ok { diff --git a/app/reverse/portal.go b/app/reverse/portal.go index 0b8a7cf13e..730523a98d 100644 --- a/app/reverse/portal.go +++ b/app/reverse/portal.go @@ -160,6 +160,9 @@ func (p *StaticMuxPicker) PickAvailable() (*mux.ClientWorker, error) { if w.draining { continue } + if w.client.Closed() { + continue + } if w.client.ActiveConnections() < minConn { minConn = w.client.ActiveConnections() minIdx = i