Fix failure status bug: when status is failure, request should be stopped
Change-Id: I699d9ae6bdc34ac67d9a8b3c69e9d789f9709c6d
diff --git a/src/ca-module.cpp b/src/ca-module.cpp
index 6b93ee4..9df8384 100644
--- a/src/ca-module.cpp
+++ b/src/ca-module.cpp
@@ -192,12 +192,17 @@
return;
}
JsonSection contentJson = challenge->handleChallengeRequest(request, certRequest);
- try {
- m_storage->updateRequest(certRequest);
+ if (certRequest.getStatus() == ChallengeModule::FAILURE) {
+ m_storage->deleteRequest(certRequest.getRequestId());
}
- catch (const std::exception& e) {
- _LOG_TRACE("Cannot update request instance " << e.what());
- return;
+ else {
+ try {
+ m_storage->updateRequest(certRequest);
+ }
+ catch (const std::exception& e) {
+ _LOG_TRACE("Cannot update request instance " << e.what());
+ return;
+ }
}
Data result;
@@ -233,14 +238,18 @@
return;
}
JsonSection contentJson = challenge->handleChallengeRequest(request, certRequest);
- try {
- m_storage->updateRequest(certRequest);
+ if (certRequest.getStatus() == ChallengeModule::FAILURE) {
+ m_storage->deleteRequest(certRequest.getRequestId());
}
- catch (const std::exception& e) {
- _LOG_TRACE("Cannot update request instance " << e.what());
- return;
+ else {
+ try {
+ m_storage->updateRequest(certRequest);
+ }
+ catch (const std::exception& e) {
+ _LOG_TRACE("Cannot update request instance " << e.what());
+ return;
+ }
}
-
Data result;
result.setName(request.getName());
result.setContent(dataContentFromJson(contentJson));