Prepare for testbed deployment: name assignment and redirection policy
Change-Id: I7f4da10b763f3891d33820e9c6f4c7cb0eea60ce
diff --git a/src/name-assignment/assignment-param.cpp b/src/name-assignment/assignment-param.cpp
index 956b3d8..e1961e7 100644
--- a/src/name-assignment/assignment-param.cpp
+++ b/src/name-assignment/assignment-param.cpp
@@ -1,6 +1,6 @@
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
/*
- * Copyright (c) 2017-2021, Regents of the University of California.
+ * Copyright (c) 2017-2022, Regents of the University of California.
*
* This file is part of ndncert, a certificate management system based on NDN.
*
@@ -35,13 +35,17 @@
std::vector<ndn::PartialName> resultList;
Name result;
for (const auto& item : m_nameFormat) {
- auto it = std::find_if(params.begin(), params.end(),
- [&](const std::tuple<std::string, std::string>& e) { return std::get<0>(e) == item; });
- if (it != params.end() && !it->second.empty()) {
- result.append(it->second);
+ if (item.size() >= 2 && item[0] == '"' && item[item.size() - 1] == '"') {
+ result.append(item.substr(1, item.size() - 2));
}
else {
- return resultList;
+ auto it = params.find(item);
+ if (it != params.end() && !it->second.empty()) {
+ result.append(it->second);
+ }
+ else {
+ return resultList; // empty
+ }
}
}
resultList.push_back(std::move(result));