From 0864c8e20e67db9f897032b013894296c5c8f4b7 Mon Sep 17 00:00:00 2001 From: Jakub Sztandera Date: Thu, 15 Dec 2016 02:16:40 +0100 Subject: [PATCH] namesys: fix case where there is no cache License: MIT Signed-off-by: Jakub Sztandera --- namesys/namesys.go | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/namesys/namesys.go b/namesys/namesys.go index 3e0456ce2..bf1c68967 100644 --- a/namesys/namesys.go +++ b/namesys/namesys.go @@ -107,6 +107,16 @@ func (ns *mpns) PublishWithEOL(ctx context.Context, name ci.PrivKey, value path. } func (ns *mpns) addToDHTCache(key ci.PrivKey, value path.Path, eol time.Time) { + rr, ok := ns.resolvers["dht"].(*routingResolver) + if !ok { + // should never happen, purely for sanity + log.Panicf("unexpected type %T as DHT resolver.", ns.resolvers["dht"]) + } + if rr.cache == nil { + // resolver has no caching + return + } + var err error value, err = path.ParsePath(value.String()) if err != nil { @@ -120,11 +130,6 @@ func (ns *mpns) addToDHTCache(key ci.PrivKey, value path.Path, eol time.Time) { return } - rr, ok := ns.resolvers["dht"].(*routingResolver) - if !ok { - // should never happen, purely for sanity - log.Panicf("unexpected type %T as DHT resolver.", ns.resolvers["dht"]) - } if time.Now().Add(DefaultResolverCacheTTL).Before(eol) { eol = time.Now().Add(DefaultResolverCacheTTL) }