diff --git a/src/cpp/Crypto/KeyPair.cpp b/src/cpp/Crypto/KeyPair.cpp index 21a1739d2..17aaf87e5 100644 --- a/src/cpp/Crypto/KeyPair.cpp +++ b/src/cpp/Crypto/KeyPair.cpp @@ -185,7 +185,7 @@ MemoryBin* KeyPair::createWordIndices(const std::string& passphrase, const Mnemo if (buffer_cursor < 3) { continue; } - if (word_source->isWordExist(acBuffer)) { + if (PHRASE_WORD_COUNT > word_cursor && word_source->isWordExist(acBuffer)) { word_indices_p[word_cursor] = word_source->getWordIndex(acBuffer); //word_indices_old[word_cursor] = word_source->getWordIndex(acBuffer); } @@ -204,7 +204,7 @@ MemoryBin* KeyPair::createWordIndices(const std::string& passphrase, const Mnemo acBuffer[buffer_cursor++] = *it; } } - if (word_source->isWordExist(acBuffer)) { + if (PHRASE_WORD_COUNT > word_cursor && word_source->isWordExist(acBuffer)) { word_indices_p[word_cursor] = word_source->getWordIndex(acBuffer); //word_indices_old[word_cursor] = word_source->getWordIndex(acBuffer); word_cursor++; diff --git a/src/cpp/HTTPInterface/AdminCheckUserBackup.cpp b/src/cpp/HTTPInterface/AdminCheckUserBackup.cpp index 3768df205..2f195c037 100644 --- a/src/cpp/HTTPInterface/AdminCheckUserBackup.cpp +++ b/src/cpp/HTTPInterface/AdminCheckUserBackup.cpp @@ -69,9 +69,9 @@ void AdminCheckUserBackup::handleRequest(Poco::Net::HTTPServerRequest& request, auto user_id = tuple.get<0>(); Mnemonic* wordSource = nullptr; if(!User::validatePassphrase(passphrase, &wordSource)) { - addError(new Error("admin Check user backup", "invalid passphrase")); - addError(new ParamError("admin Check user backup", "passphrase", passphrase.data())); - addError(new ParamError("admin Check user backup", "user id", user_id)); + addError(new Error("admin Check user backup", "invalid passphrase"), false); + addError(new ParamError("admin Check user backup", "passphrase", passphrase.data()), false); + addError(new ParamError("admin Check user backup", "user id", user_id), false); continue; } else { keys.generateFromPassphrase(passphrase.data(), wordSource); @@ -89,7 +89,7 @@ void AdminCheckUserBackup::handleRequest(Poco::Net::HTTPServerRequest& request, } } catch (Poco::Exception& ex) { - addError(new ParamError("adminCheckUserBackup", "mysql error", ex.displayText().data())); + addError(new ParamError("adminCheckUserBackup", "mysql error", ex.displayText().data()), false); } diff --git a/src/cpp/HTTPInterface/CheckEmailPage.cpp b/src/cpp/HTTPInterface/CheckEmailPage.cpp index 25cc67fed..7bc7e16cc 100644 --- a/src/cpp/HTTPInterface/CheckEmailPage.cpp +++ b/src/cpp/HTTPInterface/CheckEmailPage.cpp @@ -74,6 +74,9 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: verificationCode = getLastGetAsU64(request.getURI()); } +#line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" + + bool withMaterialIcons = false; std::ostream& _responseStream = response.send(); Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream; @@ -86,19 +89,27 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: responseStream << "\n"; responseStream << "\n"; responseStream << "Gradido Login Server: "; -#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" +#line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" responseStream << ( pageName ); responseStream << "\n"; responseStream << "\n"; +#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" + if(withMaterialIcons) { responseStream << "\n"; + responseStream << "\n"; +#line 15 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" + } responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

Login Server in Entwicklung

\n"; responseStream << "\t

Alpha "; -#line 15 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" +#line 20 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" responseStream << ( ServerConfig::g_versionString ); responseStream << "

\n"; responseStream << "
\n"; @@ -106,7 +117,7 @@ void CheckEmailPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: responseStream << "\t
\n"; responseStream << "\t\t
\n"; #line 196 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } // begin include footer_ripple.cpsp - responseStream << "\t\n"; - responseStream << " \n"; + responseStream << "\t\t\t\n"; + responseStream << "\t\t\n"; responseStream << " \n"; responseStream << " \n"; responseStream << " \n"; diff --git a/src/cpp/HTTPInterface/ConfigPage.cpp b/src/cpp/HTTPInterface/ConfigPage.cpp index b3be55e2d..df63f3d0f 100644 --- a/src/cpp/HTTPInterface/ConfigPage.cpp +++ b/src/cpp/HTTPInterface/ConfigPage.cpp @@ -21,6 +21,9 @@ void ConfigPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net: if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); +#line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" + + bool withMaterialIcons = false; std::ostream& _responseStream = response.send(); Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream; @@ -33,19 +36,27 @@ void ConfigPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net: responseStream << "\n"; responseStream << "\n"; responseStream << "Gradido Login Server: "; -#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" +#line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" responseStream << ( pageName ); responseStream << "\n"; responseStream << "\n"; +#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" + if(withMaterialIcons) { responseStream << "\n"; + responseStream << "\n"; +#line 15 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" + } responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

Login Server in Entwicklung

\n"; responseStream << "\t

Alpha "; -#line 15 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" +#line 20 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" responseStream << ( ServerConfig::g_versionString ); responseStream << "

\n"; responseStream << "
\n"; @@ -53,7 +64,7 @@ void ConfigPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net: responseStream << "\t
\n"; responseStream << "\t\t
\n"; - responseStream << ""; // end include header_old.cpsp responseStream << "\n"; responseStream << "
\n"; diff --git a/src/cpp/HTTPInterface/DebugPassphrasePage.cpp b/src/cpp/HTTPInterface/DebugPassphrasePage.cpp index f8674ae95..a1a7fbc8e 100644 --- a/src/cpp/HTTPInterface/DebugPassphrasePage.cpp +++ b/src/cpp/HTTPInterface/DebugPassphrasePage.cpp @@ -40,7 +40,7 @@ void DebugPassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, P auto passphrase = KeyPair::filterPassphrase(form.get("passphrase", "")); Mnemonic* wordSource = nullptr; if(!User::validatePassphrase(passphrase, &wordSource)) { - addError(new Error("debug Passphrase", "invalid passphrase")); + addError(new Error("debug Passphrase", "invalid passphrase"), false); } else { keys.generateFromPassphrase(passphrase.data(), wordSource); } diff --git a/src/cpp/HTTPInterface/DecodeTransactionPage.cpp b/src/cpp/HTTPInterface/DecodeTransactionPage.cpp index fdfbe4f2e..f53cc9904 100644 --- a/src/cpp/HTTPInterface/DecodeTransactionPage.cpp +++ b/src/cpp/HTTPInterface/DecodeTransactionPage.cpp @@ -56,13 +56,13 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, sodium_base64_VARIANT_ORIGINAL)) { free(binBuffer); - addError(new Error("ProcessingTransaction", "error decoding base64")); + addError(new Error("ProcessingTransaction", "error decoding base64"), false); } else { std::string binString((char*)binBuffer, resultingBinSize); free(binBuffer); if (!transactionBody.ParseFromString(binString)) { - addError(new Error("ProcessingTransaction", "error creating Transaction from binary Message")); + addError(new Error("ProcessingTransaction", "error creating Transaction from binary Message"), false); } else { decoded = true; } diff --git a/src/cpp/HTTPInterface/Error500Page.cpp b/src/cpp/HTTPInterface/Error500Page.cpp index 3803c126a..1f05dc516 100644 --- a/src/cpp/HTTPInterface/Error500Page.cpp +++ b/src/cpp/HTTPInterface/Error500Page.cpp @@ -97,19 +97,11 @@ void Error500Page::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Ne responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

Login Server in Entwicklung

\n"; - responseStream << "\t

Alpha 0.8.1

\n"; + responseStream << "\t

Alpha "; +#line 53 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp" + responseStream << ( ServerConfig::g_versionString ); + responseStream << "

\n"; responseStream << "
\n"; - responseStream << ""; // end include header_old.cpsp responseStream << "\n"; responseStream << "
\n"; diff --git a/src/cpp/HTTPInterface/LoginPage.cpp b/src/cpp/HTTPInterface/LoginPage.cpp index 4b8f144b8..7d5b4d73f 100644 --- a/src/cpp/HTTPInterface/LoginPage.cpp +++ b/src/cpp/HTTPInterface/LoginPage.cpp @@ -103,13 +103,13 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net:: switch(userState) { case USER_EMPTY: case USER_PASSWORD_INCORRECT: - addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("E-Mail or password isn't right, please try again!"))); + addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("E-Mail or password isn't right, please try again!")), false); break; case USER_PASSWORD_ENCRYPTION_IN_PROCESS: - addError(new Error(langCatalog->gettext("Passwort"), langCatalog->gettext("Passwort wird noch berechnet, bitte versuche es in etwa 1 Minute erneut."))); + addError(new Error(langCatalog->gettext("Passwort"), langCatalog->gettext("Passwort wird noch berechnet, bitte versuche es in etwa 1 Minute erneut.")), false); break; case USER_EMAIL_NOT_ACTIVATED: - mSession->addError(new Error(langCatalog->gettext("Account"), langCatalog->gettext("E-Mail Address not checked, do you already get one?"))); + mSession->addError(new Error(langCatalog->gettext("Account"), langCatalog->gettext("E-Mail Address not checked, do you already get one?")), false); response.redirect(ServerConfig::g_serverPath + "/checkEmail"); return; case USER_NO_KEYS: @@ -142,7 +142,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net:: } } else if(!langUpdatedByBtn) { - addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("Username and password are needed!"))); + addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("Username and password are needed!")), false); } } else { diff --git a/src/cpp/HTTPInterface/PassphrasePage.cpp b/src/cpp/HTTPInterface/PassphrasePage.cpp index 5a4347a4d..ca725d61f 100644 --- a/src/cpp/HTTPInterface/PassphrasePage.cpp +++ b/src/cpp/HTTPInterface/PassphrasePage.cpp @@ -112,7 +112,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: } } else { - addError(new Error("Passphrase", "Diese Passphrase ist ungültig, bitte überprüfen oder neu generieren (lassen).")); + addError(new Error(gettext("Passphrase"), gettext("Diese Passphrase ist ungültig, bitte überprüfen oder neu generieren (lassen).")), false); } } } @@ -126,11 +126,17 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: auto passphrase = mSession->getPassphrase(); auto langWordSource = wordSource; if("" != passphrase && !User::validatePassphrase(passphrase, &wordSource)) { - addError(new Error(gettext("Intern error"), gettext("Invalid Passphrase"))); - addError(new ParamError(gettext("Passphrase"), gettext("Passphrase"), passphrase.data())); + addError(new Error("PassphrasePage", "Invalid Passphrase after double check")); + addError(new ParamError("PassphrasePage", "passphrase", passphrase.data())); + if(!mSession->getNewUser().isNull()) { + addError(new ParamError("PassphrasePage", "user email", mSession->getNewUser()->getModel()->getEmail())); + } + sendErrorsAsEmail(); + addError(new Error(gettext("Passphrase"), gettext("intern errorm please try again later")), false); //response.redirect(ServerConfig::g_serverPath + "/error500"); //return; } + //printf("wordSource: %d, langWordSource: %d\n", (int)wordSource, (int)langWordSource); if(wordSource != langWordSource) { mSession->generatePassphrase(); User::validatePassphrase(passphrase, &wordSource); @@ -153,7 +159,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: #line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp" bool withMaterialIcons = false; -#line 132 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 138 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" withMaterialIcons = true; std::ostream& _responseStream = response.send(); Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream; @@ -240,9 +246,9 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: responseStream << "
"; // end include login_header.cpsp responseStream << "\n"; -#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 139 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" if(state == PAGE_ASK_ENSURE_PASSPHRASE) { responseStream << "
"; -#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 139 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" } responseStream << "\n"; responseStream << "\t"; // begin include flags.cpsp @@ -280,71 +286,71 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: responseStream << ""; // end include flags.cpsp responseStream << "\n"; -#line 135 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" if(state == PAGE_ASK_ENSURE_PASSPHRASE) { responseStream << "
"; -#line 135 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" } responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

"; -#line 137 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 143 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( pageTitle ); responseStream << ": "; -#line 137 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 143 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( pageSubtitle ); responseStream << "

\n"; responseStream << "
\n"; responseStream << "
\n"; responseStream << "\t
\n"; responseStream << "\t"; -#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" if(state == PAGE_SHOW_PASSPHRASE) { responseStream << "\n"; responseStream << "\t
\n"; responseStream << "\t\t
\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t
"; -#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 153 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( gettext("Was zu tun ist:") ); responseStream << "
\n"; responseStream << "\t\t\t\t

"; -#line 148 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 154 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( gettext("Schreibe dir deine Passphrase auf und packe sie gut weg. Du brauchst sie um deine Adresse wiederherzustellen. Wenn du sie verlierst, sind auch deine Gradidos verloren.") ); responseStream << "

\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t
"; -#line 151 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 157 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( gettext("Passphrase") ); responseStream << "
\n"; responseStream << "\t\t\t\t

"; -#line 152 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 158 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( mSession->getPassphrase() ); responseStream << "

\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t
"; -#line 155 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 161 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( gettext("Was ist eine Passphrase?") ); responseStream << "
\n"; responseStream << "\t\t\t\t

"; -#line 156 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 162 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( gettext("Die Passphrase kommt aus dem Crypto-Bereich und ist ein Weg einen komplizierte kryptografischen Schlüssel in einer lesbaren Form darzustellen.") ); responseStream << "

\n"; responseStream << "\t\t\t\t

"; -#line 157 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 163 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" responseStream << ( gettext("Der neue Gradido basiert technisch auf einer Kryptowährung (wie z.B. Bitcoin) um maximale Sicherheit zu erreichen.") ); responseStream << "

\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t
\n"; @@ -352,7 +358,7 @@ void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco:: responseStream << "\t\t
\n"; responseStream << "\t
\n"; responseStream << "\t "; -#line 164 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" +#line 170 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp" } else if(state == PAGE_ASK_ENSURE_PASSPHRASE) { responseStream << "\n"; responseStream << "\t