Introduce Denial-of-Existence (DoE) for Nack response.
Note this commit changes how names are stored in the database, compliant
to the canonical order.
Change-Id: I9857aaefc1f7da08ff53eff43c8f8c8bd5443953
Refs: #4152
diff --git a/src/clients/response.cpp b/src/clients/response.cpp
index a23bc3c..5f223d3 100644
--- a/src/clients/response.cpp
+++ b/src/clients/response.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2014-2017, Regents of the University of California.
+ * Copyright (c) 2014-2018, Regents of the University of California.
*
* This file is part of NDNS (Named Data Networking Domain Name Service).
* See AUTHORS.md for complete list of NDNS authors and contributors.
@@ -93,6 +93,16 @@
}
}
+std::pair<Name, Name>
+Response::wireDecodeDoe(const Block& wire)
+{
+ wire.parse();
+ if (wire.elements().size() != 2) {
+ BOOST_THROW_EXCEPTION(Error("Unexpected number of components while decoding DOE record"));
+ }
+ return std::make_pair(Name(wire.elements().front()), Name(wire.elements().back()));
+}
+
bool
Response::fromData(const Name& zone, const Data& data)
{