From 306aa1330a52bc6a9c556039ee3b312fa9c5043c Mon Sep 17 00:00:00 2001
From: Adrien Beraud <adrien.beraud@savoirfairelinux.com>
Date: Sat, 15 Jul 2017 09:33:53 -0400
Subject: [PATCH] namedirectory: handle 404 as "notFound" for lookupAddress

Change-Id: I1c4b059e5f058c4eb929cd38875ea06beaf6ee92
---
 src/ringdht/namedirectory.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/ringdht/namedirectory.cpp b/src/ringdht/namedirectory.cpp
index 2541d7835c..ddf15b6cf6 100644
--- a/src/ringdht/namedirectory.cpp
+++ b/src/ringdht/namedirectory.cpp
@@ -115,7 +115,8 @@ void NameDirectory::lookupAddress(const std::string& addr, LookupCallback cb)
 
         auto ret = restbed::Http::async(req, [this,cb,addr](const std::shared_ptr<restbed::Request>&,
                                                  const std::shared_ptr<restbed::Response>& reply) {
-            if (reply->get_status_code() == 200) {
+            auto code = reply->get_status_code();
+            if (code == 200) {
                 size_t length = getContentLength(*reply);
                 if (length > MAX_RESPONSE_SIZE) {
                     cb("", Response::error);
@@ -142,6 +143,8 @@ void NameDirectory::lookupAddress(const std::string& addr, LookupCallback cb)
                 } else {
                     cb("", Response::notFound);
                 }
+            } else if (code >= 400 && code < 500) {
+                cb("", Response::notFound);
             } else {
                 cb("", Response::error);
             }
-- 
GitLab