From 1c5159930ea10dfd97dafec6f2ee9ec327eb0b98 Mon Sep 17 00:00:00 2001 From: Dario Date: Wed, 15 Jan 2020 16:33:19 +0100 Subject: [PATCH] debugging, fixing --- .../HTTPInterface/CheckTransactionPage.cpp | 113 +++++++++--------- .../JSONInterface/JsonGetRunningUserTasks.cpp | 52 +++++++- .../SingletonTaskObserver.cpp | 5 +- src/cpp/lib/JsonRequest.cpp | 2 +- src/cpp/model/Session.cpp | 15 ++- src/cpp/tasks/ProcessingTransaction.cpp | 2 +- src/cpp/tasks/SigningTransaction.cpp | 5 +- src/cpsp/checkTransaction.cpsp | 5 +- 8 files changed, 123 insertions(+), 76 deletions(-) diff --git a/src/cpp/HTTPInterface/CheckTransactionPage.cpp b/src/cpp/HTTPInterface/CheckTransactionPage.cpp index 2b0d24b9c..bb6ea922d 100644 --- a/src/cpp/HTTPInterface/CheckTransactionPage.cpp +++ b/src/cpp/HTTPInterface/CheckTransactionPage.cpp @@ -72,15 +72,16 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, size_t notReadyTransactions = 0; size_t sumTransactions = mSession->getProcessingTransactionCount(); if(sumTransactions == 0) { - auto observer = SingletonTaskObserver::getInstance(); + /*auto observer = SingletonTaskObserver::getInstance(); auto emailHash = DRMakeStringHash(mSession->getUser()->getEmail()); int breakCount = 0; while(observer->getTaskCount(emailHash, TASK_OBSERVER_SIGN_TRANSACTION) > 0) { if(breakCount > 100) break; breakCount++; Poco::Thread::sleep(10); - } + }*/ auto lastExternReferer = mSession->getLastReferer(); + //lastExternReferer = ""; if(lastExternReferer != "") { printf("last extern referer: %s\n", lastExternReferer.data()); response.redirect(lastExternReferer); @@ -243,71 +244,71 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, responseStream << "
\n"; responseStream << "\t\n"; responseStream << "\t"; -#line 87 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 88 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(sumTransactions > 0 && sumTransactions - notReadyTransactions != 1) { responseStream << "\n"; responseStream << "\t\t"; -#line 88 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(notReadyTransactions > 0) { responseStream << " \n"; responseStream << "\t\t\t"; -#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( sumTransactions - notReadyTransactions ); responseStream << " "; -#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("von") ); responseStream << " "; -#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( sumTransactions ); responseStream << " "; -#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Transaktionen sind bereit zum bestätigen") ); responseStream << "\n"; responseStream << "\t\t"; -#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 91 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } else { responseStream << "\n"; responseStream << "\t\t\t"; -#line 91 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 92 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( sumTransactions ); responseStream << " "; -#line 91 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 92 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Transaktionen warten darauf bestätigt zu werden.") ); responseStream << "\n"; responseStream << "\t\t"; -#line 92 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - } responseStream << "\n"; - responseStream << "\t"; #line 93 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t"; #line 94 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } responseStream << "\n"; + responseStream << "\t"; +#line 95 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(state == PAGE_NO_TRANSACTIONS) { responseStream << "\n"; responseStream << "\t\t"; -#line 95 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 96 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(sumTransactions == 0) { responseStream << "\n"; responseStream << "\t\t\t"; -#line 96 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 97 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Es gibt zurzeit keine Transaktionen zum bestätigen") ); responseStream << "\n"; responseStream << "\t\t"; -#line 97 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 98 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } else { responseStream << "\n"; responseStream << "\t\t\t"; -#line 98 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 99 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Transaktion(en) werden noch vorbereitet, bitte lade die Seite in wenigen Augenblicken erneut.") ); responseStream << "\n"; responseStream << "\t\t"; -#line 99 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 100 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << " "; -#line 100 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 101 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\n"; responseStream << "
\n"; -#line 103 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 104 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(state != PAGE_NO_TRANSACTIONS) { responseStream << "\n"; responseStream << "
\n"; responseStream << "\t
\n"; responseStream << "\t

"; -#line 106 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 107 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Transaktion Unterzeichnen") ); responseStream << "

\n"; responseStream << "\t
\n"; @@ -315,96 +316,96 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, responseStream << "\t\t
\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t"; -#line 111 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 112 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(state == PAGE_TRANSACTION_TRANSFER) { auto transferTransaction = processingTransaction->getTransferTransaction(); memo = transferTransaction->getMemo(); responseStream << "\n"; responseStream << "\t\t\t

"; -#line 115 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 116 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Überweisung") ); responseStream << "

\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t\t\n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t "; -#line 122 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 123 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" for(int i = 0; i < transferTransaction->getKontoTableSize(); i++) { responseStream << "\n"; responseStream << "\t\t\t\t\t\n"; responseStream << "\t\t\t\t\t\t"; -#line 124 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transferTransaction->getKontoNameCell(i) ); responseStream << "\n"; responseStream << "\t\t\t\t\t\t"; -#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 126 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transferTransaction->getAmountCell(i) ); responseStream << "\n"; responseStream << "\t\t\t\t\t\n"; responseStream << "\t\t\t\t\t"; -#line 127 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 128 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t
"; -#line 119 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 120 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Konto") ); responseStream << ""; -#line 119 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 120 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Gradido") ); responseStream << "
\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t \n"; responseStream << "\t\t\t "; -#line 132 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } else if(state == PAGE_TRANSACTION_CREATION) { auto creationTransaction = processingTransaction->getCreationTransaction(); auto transactionUser = creationTransaction->getUser(); memo = creationTransaction->getMemo(); responseStream << "\n"; responseStream << "\t\t\t

"; -#line 137 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 138 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Schöpfung") ); responseStream << "

\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t\t\n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t\t\n"; responseStream << "\t\t\t\t\t\t"; -#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(transactionUser) { responseStream << "\n"; responseStream << "\t\t\t\t\t\t\t\n"; responseStream << "\t\t\t\t\t\t"; -#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 148 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } else { responseStream << "\n"; responseStream << "\t\t\t\t\t\t\t\n"; responseStream << "\t\t\t\t\t\t"; -#line 149 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\t\t\t\t\t\n"; responseStream << "\t\t\t\t\t\n"; @@ -412,22 +413,22 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, responseStream << "\t\t\t\t
"; -#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 142 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Konto") ); responseStream << ""; -#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 142 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Gradido") ); responseStream << "
"; -#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transactionUser->getFirstName() ); responseStream << " "; -#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transactionUser->getLastName() ); responseStream << " <"; -#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transactionUser->getEmail() ); responseStream << ">0x"; -#line 148 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 149 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( creationTransaction->getPublicHex() ); responseStream << ""; -#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 151 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( creationTransaction->getAmountString() ); responseStream << " GDD
\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t "; -#line 155 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 156 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t
"; -#line 158 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Aktives Konto") ); responseStream << "
"; -#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 160 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( accountUser->getFirstName() ); responseStream << " "; -#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 160 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( accountUser->getLastName() ); responseStream << " <"; -#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 160 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( accountUser->getEmail() ); responseStream << ">
\n"; @@ -435,12 +436,12 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t\t \n"; responseStream << "\t\t\t\t
"; -#line 164 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 165 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Verwendungszweck") ); responseStream << "
"; -#line 166 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 167 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( memo ); responseStream << "
\n"; @@ -451,32 +452,32 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t "; -#line 174 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 175 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(!accountUser->hasCryptoKey()) { responseStream << "\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t\t \n"; responseStream << "\t\t\t\t\t \n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t"; -#line 179 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 180 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\t\t\t \n"; responseStream << "\t\t\t\t \n"; @@ -487,7 +488,7 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, responseStream << "\t
\n"; responseStream << "\t
\n"; responseStream << "
\n"; -#line 195 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 196 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } // begin include footer_ripple.cpsp responseStream << "\t
\n"; responseStream << "
\n"; diff --git a/src/cpp/JSONInterface/JsonGetRunningUserTasks.cpp b/src/cpp/JSONInterface/JsonGetRunningUserTasks.cpp index 57242a8a9..07f302873 100644 --- a/src/cpp/JSONInterface/JsonGetRunningUserTasks.cpp +++ b/src/cpp/JSONInterface/JsonGetRunningUserTasks.cpp @@ -7,9 +7,29 @@ Poco::JSON::Object* JsonGetRunningUserTasks::handle(Poco::Dynamic::Var params) { std::string email; Poco::JSON::Object* result = new Poco::JSON::Object; - if (params.isStruct()) { + bool parameterReaded = false; + // if is json object + if (params.type() == typeid(Poco::JSON::Object::Ptr)) { + Poco::JSON::Object::Ptr paramJsonObject = params.extract(); + /// Throws a RangeException if the value does not fit + /// into the result variable. + /// Throws a NotImplementedException if conversion is + /// not available for the given type. + /// Throws InvalidAccessException if Var is empty. + try { + paramJsonObject->get("email").convert(email); + parameterReaded = true; + } + catch (Poco::Exception& ex) { + printf("[JsonGetRunningUserTasks::handle] try to use params as jsonObject: %s\n", ex.displayText().data()); + result->set("state", "error"); + result->set("msg", "json exception"); + result->set("details", ex.displayText()); + } + } + else if (params.isStruct()) { auto _email = params["email"]; - int zahl = 0; + parameterReaded = true; //std::string miau = params["miau"]; } else if (params.isVector()) { @@ -20,9 +40,31 @@ Poco::JSON::Object* JsonGetRunningUserTasks::handle(Poco::Dynamic::Var params) break; } } + parameterReaded = true; + } + else if (params.isArray()) { + result->set("state", "error"); + result->set("msg", "array not implemented yet"); + } + else if (params.isList()) { + result->set("state", "error"); + result->set("msg", "list not implemented yet"); + } + else if (params.isString()) { + result->set("state", "error"); + result->set("msg", "string not implemented yet"); + } + else if (params.isDeque()) { + result->set("state", "error"); + result->set("msg", "deque not implemented yet"); + } + else { + result->set("state", "error"); + result->set("msg", "format not implemented"); + result->set("details", std::string(params.type().name())); } - if (email != "") { + if (parameterReaded && email != "") { auto ob = SingletonTaskObserver::getInstance(); auto tasks = ob->getTasksCount(email); Poco::JSON::Object tasksJson; @@ -38,10 +80,10 @@ Poco::JSON::Object* JsonGetRunningUserTasks::handle(Poco::Dynamic::Var params) result->set("state", "success"); result->set("runningTasks", tasksJson); } - else { + else if(parameterReaded) { result->set("state", "error"); result->set("msg", "empty email"); - } + } return result; } \ No newline at end of file diff --git a/src/cpp/SingletonManager/SingletonTaskObserver.cpp b/src/cpp/SingletonManager/SingletonTaskObserver.cpp index d024ea8c3..963adc9ef 100644 --- a/src/cpp/SingletonManager/SingletonTaskObserver.cpp +++ b/src/cpp/SingletonManager/SingletonTaskObserver.cpp @@ -46,6 +46,9 @@ void SingletonTaskObserver::addTask(const std::string& email, TaskObserverType t em->addError(new ParamError(funcName, "and ", entry->mEmail.data())); em->sendErrorsAsEmail(); } + if (entry->mEmail == "") { + entry->mEmail = email; + } entry->mTasksCount[type]++; unlock(); } @@ -162,7 +165,7 @@ int SingletonTaskObserver::getTaskCount(const std::string& email, TaskObserverTy lock("SingletonTaskObserver::getTaskCount"); UserObserverEntry* entry = static_cast(mObserverEntrys.findByHash(id)); - if (!entry || entry->mEmail != email) { + if (!entry || (entry->mEmail != "" && entry->mEmail != email)) { unlock(); return -1; } diff --git a/src/cpp/lib/JsonRequest.cpp b/src/cpp/lib/JsonRequest.cpp index 9250880fb..96df6df21 100644 --- a/src/cpp/lib/JsonRequest.cpp +++ b/src/cpp/lib/JsonRequest.cpp @@ -37,7 +37,7 @@ JsonRequestReturn JsonRequest::request(const char* methodName, const Poco::Net:: try { Profiler phpRequestTime; Poco::Net::HTTPSClientSession httpsClientSession(mServerHost, mServerPort); - Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_POST, "/TransactionJsonRequestHandler"); + Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_POST, "/JsonRequestHandler"); request.setChunkedTransferEncoding(true); std::ostream& requestStream = httpsClientSession.sendRequest(request); diff --git a/src/cpp/model/Session.cpp b/src/cpp/model/Session.cpp index 637fac5c5..7467df659 100644 --- a/src/cpp/model/Session.cpp +++ b/src/cpp/model/Session.cpp @@ -103,9 +103,9 @@ void Session::reset() //printf("[Session::reset]\n"); lock("Session::reset"); - mSessionUser = nullptr; - mNewUser = nullptr; - mEmailVerificationCodeObject = nullptr; + mSessionUser.assign(nullptr); + mNewUser.assign(nullptr); + mEmailVerificationCodeObject.assign(nullptr); // watch out //updateTimeout(); @@ -115,7 +115,6 @@ void Session::reset() mPassphrase = ""; mClientLoginIP = Poco::Net::IPAddress(); - mEmailVerificationCodeObject = nullptr; unlock(); //printf("[Session::reset] finished\n"); } @@ -336,7 +335,7 @@ int Session::updateEmailVerification(Poco::UInt64 emailVerificationCode) if (emailVerificationCodeModel->getType() == model::table::EMAIL_OPT_IN_RESET_PASSWORD) { unlock(); if (mEmailVerificationCodeObject->deleteFromDB()) { - mEmailVerificationCodeObject = nullptr; + mEmailVerificationCodeObject.assign(nullptr); } else { em->getErrors(mEmailVerificationCodeObject->getModel()); @@ -528,7 +527,7 @@ void Session::finalizeTransaction(bool sign, bool reject) signingTransaction->scheduleTask(signingTransaction); } } - mCurrentActiveProcessingTransaction = nullptr; + mCurrentActiveProcessingTransaction.assign(nullptr); unlock(); } @@ -575,8 +574,8 @@ UserStates Session::loadUser(const std::string& email, const std::string& passwo //Profiler usedTime; lock("Session::loadUser"); if (mSessionUser && mSessionUser->getEmail() != email) { - mSessionUser = nullptr; - mNewUser = nullptr; + mSessionUser.assign(nullptr); + mNewUser.assign(nullptr); } //if (!mSessionUser) { if (mNewUser.isNull()) { diff --git a/src/cpp/tasks/ProcessingTransaction.cpp b/src/cpp/tasks/ProcessingTransaction.cpp index 6e9505fe8..1f7d59f03 100644 --- a/src/cpp/tasks/ProcessingTransaction.cpp +++ b/src/cpp/tasks/ProcessingTransaction.cpp @@ -28,7 +28,7 @@ ProcessingTransaction::~ProcessingTransaction() } auto observer = SingletonTaskObserver::getInstance(); if (mUserEmailHash != 0) { - observer->addTask(mUserEmailHash, TASK_OBSERVER_PREPARE_TRANSACTION); + observer->removeTask(mUserEmailHash, TASK_OBSERVER_PREPARE_TRANSACTION); } unlock(); } diff --git a/src/cpp/tasks/SigningTransaction.cpp b/src/cpp/tasks/SigningTransaction.cpp index f3c65115d..d62d2711d 100644 --- a/src/cpp/tasks/SigningTransaction.cpp +++ b/src/cpp/tasks/SigningTransaction.cpp @@ -30,6 +30,7 @@ SigningTransaction::SigningTransaction(Poco::AutoPtr proc SigningTransaction::~SigningTransaction() { auto ob = SingletonTaskObserver::getInstance(); + //Poco::Thread::sleep(10000); if (!mUser.isNull() && mUser->getEmail() != "") { ob->removeTask(mUser->getEmail(), TASK_OBSERVER_SIGN_TRANSACTION); } @@ -135,7 +136,7 @@ int SigningTransaction::run() { try { Profiler phpRequestTime; Poco::Net::HTTPSClientSession httpsClientSession(ServerConfig::g_php_serverHost, 443); - Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_POST, "/TransactionJsonRequestHandler"); + Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_POST, "/JsonRequestHandler"); request.setChunkedTransferEncoding(true); std::ostream& requestStream = httpsClientSession.sendRequest(request); @@ -198,7 +199,7 @@ int SigningTransaction::run() { return -8; } - + //Poco::Thread::sleep(10000); return 0; } \ No newline at end of file diff --git a/src/cpsp/checkTransaction.cpsp b/src/cpsp/checkTransaction.cpsp index 0675ae3c8..87ab79d07 100644 --- a/src/cpsp/checkTransaction.cpsp +++ b/src/cpsp/checkTransaction.cpsp @@ -50,15 +50,16 @@ enum PageState { size_t notReadyTransactions = 0; size_t sumTransactions = mSession->getProcessingTransactionCount(); if(sumTransactions == 0) { - auto observer = SingletonTaskObserver::getInstance(); + /*auto observer = SingletonTaskObserver::getInstance(); auto emailHash = DRMakeStringHash(mSession->getUser()->getEmail()); int breakCount = 0; while(observer->getTaskCount(emailHash, TASK_OBSERVER_SIGN_TRANSACTION) > 0) { if(breakCount > 100) break; breakCount++; Poco::Thread::sleep(10); - } + }*/ auto lastExternReferer = mSession->getLastReferer(); + //lastExternReferer = ""; if(lastExternReferer != "") { printf("last extern referer: %s\n", lastExternReferer.data()); response.redirect(lastExternReferer);