From 7c59b2e22407f87b80ec8ffc4a7b5167d88967e1 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Wed, 26 Apr 2017 00:43:59 +0200 Subject: [PATCH] bug fixes in sniffer --- app/dispatcher/impl/default.go | 10 ++++------ app/dispatcher/impl/sniffer.go | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/app/dispatcher/impl/default.go b/app/dispatcher/impl/default.go index b8a9b64e8..e02a84c36 100644 --- a/app/dispatcher/impl/default.go +++ b/app/dispatcher/impl/default.go @@ -70,13 +70,11 @@ func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination net.Destin } else { go func() { domain, err := snifer(ctx, sniferList, outbound) - if err != nil { - log.Trace(newError("failed to snif").Base(err)) - return + if err == nil { + log.Trace(newError("sniffed domain: ", domain)) + destination.Address = net.ParseAddress(domain) + ctx = proxy.ContextWithTarget(ctx, destination) } - log.Trace(newError("sniffed domain: ", domain)) - destination.Address = net.ParseAddress(domain) - ctx = proxy.ContextWithTarget(ctx, destination) d.routedDispatch(ctx, outbound, destination) }() } diff --git a/app/dispatcher/impl/sniffer.go b/app/dispatcher/impl/sniffer.go index faa26655d..c566c89cf 100644 --- a/app/dispatcher/impl/sniffer.go +++ b/app/dispatcher/impl/sniffer.go @@ -45,7 +45,7 @@ func SniffHTTP(b []byte) (string, error) { value := strings.ToLower(string(bytes.Trim(parts[1], " "))) if key == "host" { domain := strings.Split(value, ":") - return domain[0], nil + return strings.TrimSpace(domain[0]), nil } } return "", ErrMoreData