update profile fetching
Change-Id: I788ece8371f7e24c87918a57062673be1d866e5b
diff --git a/tools/ndncert-client.cpp b/tools/ndncert-client.cpp
index 7f0d005..cecb978 100644
--- a/tools/ndncert-client.cpp
+++ b/tools/ndncert-client.cpp
@@ -275,10 +275,19 @@
}
else {
//redirects
- auto redirectedCaName = redirects[index - names.size()];
- std::cerr << "You selected redirects with certificate: " << redirectedCaName.getPrefix(-1).toUri() << std::endl;
- face.expressInterest(*Requester::genCaProfileInterest(redirects[index - names.size()]),
- bind(&InfoCb, _2, redirectedCaName), bind(&onNackCb), bind(&timeoutCb));
+ auto redirectedCaFullName = redirects[index - names.size()];
+ std::cerr << "You selected redirects with certificate: " << redirectedCaFullName.getPrefix(-1).toUri() << std::endl;
+ face.expressInterest(
+ *Requester::genCaProfileDiscoveryInterest(redirectedCaFullName.getPrefix(-1)),
+ [&](const Interest&, const Data& data) {
+ auto fetchingInterest = Requester::genCaProfileInterestFromDiscoveryResponse(data);
+ face.expressInterest(*fetchingInterest,
+ bind(&InfoCb, _2, redirectedCaFullName),
+ bind(&onNackCb),
+ bind(&timeoutCb));
+ },
+ bind(&onNackCb),
+ bind(&timeoutCb));
}
}
@@ -312,8 +321,17 @@
<< "Step " << nStep << ": ADD NEW CA\nPlease type in the CA's Name:" << std::endl;
std::string expectedCAName;
getline(std::cin, expectedCAName);
- face.expressInterest(*Requester::genCaProfileInterest(Name(expectedCAName)),
- bind(&InfoCb, _2, Name()), bind(&onNackCb), bind(&timeoutCb));
+ face.expressInterest(
+ *Requester::genCaProfileDiscoveryInterest(Name(expectedCAName)),
+ [&](const Interest&, const Data& data) {
+ auto fetchingInterest = Requester::genCaProfileInterestFromDiscoveryResponse(data);
+ face.expressInterest(*fetchingInterest,
+ bind(&InfoCb, _2, Name()),
+ bind(&onNackCb),
+ bind(&timeoutCb));
+ },
+ bind(&onNackCb),
+ bind(&timeoutCb));
}
else {
size_t caIndex;