user;
- if(mSession) {
- auto user = mSession->getNewUser();
- }
- // begin include header_old.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
- responseStream << ( pageName );
- responseStream << " \n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\t
Login Server in Entwicklung
\n";
- responseStream << "\t
Alpha ";
-#line 53 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- // end include header_old.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\t
Ein Fehler auf dem Server trat ein, der Admin bekam eine E-Mail. \n";
- responseStream << "\t";
-#line 20 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\Error500.cpsp"
- if(mSession) { responseStream << "\n";
- responseStream << "\t\t";
-#line 21 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\Error500.cpsp"
- responseStream << ( mSession->getErrorsHtmlNewFormat() );
- responseStream << "\n";
- responseStream << "\t";
-#line 22 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\Error500.cpsp"
- } responseStream << "\n";
- responseStream << "\t";
-#line 23 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\Error500.cpsp"
- if(!user.isNull()) { responseStream << "\n";
- responseStream << "\t\t";
-#line 24 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\Error500.cpsp"
- responseStream << ( user->getModel()->getErrorsHtmlNewFormat() );
- responseStream << " \n";
- responseStream << "\t";
-#line 25 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\Error500.cpsp"
- } responseStream << "\n";
- responseStream << "\n";
- // begin include footer.cpsp
- responseStream << " \n";
- responseStream << "
Copyright © Gradido 2020
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << " ";
-#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( mTimeProfiler.string() );
- responseStream << "\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "
Login Server in Entwicklung
\n";
- responseStream << "
Alpha ";
-#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "";
- // end include footer.cpsp
- responseStream << "\n";
- if (_compressResponse) _gzipStream.close();
-}
diff --git a/login_server/src/cpp/HTTPInterface/Error500Page.h b/login_server/src/cpp/HTTPInterface/Error500Page.h
deleted file mode 100644
index 2a48d1d11..000000000
--- a/login_server/src/cpp/HTTPInterface/Error500Page.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef Error500Page_INCLUDED
-#define Error500Page_INCLUDED
-
-
-#include "Poco/Net/HTTPRequestHandler.h"
-
-
-#include "SessionHTTPRequestHandler.h"
-
-
-class Error500Page: public SessionHTTPRequestHandler
-{
-public:
- Error500Page(Session*);
-
- void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
-};
-
-
-#endif // Error500Page_INCLUDED
diff --git a/login_server/src/cpp/HTTPInterface/LoginPage.cpp b/login_server/src/cpp/HTTPInterface/LoginPage.cpp
deleted file mode 100644
index 2ee28dde0..000000000
--- a/login_server/src/cpp/HTTPInterface/LoginPage.cpp
+++ /dev/null
@@ -1,474 +0,0 @@
-#include "LoginPage.h"
-#include "Poco/Net/HTTPServerRequest.h"
-#include "Poco/Net/HTTPServerResponse.h"
-#include "Poco/Net/HTMLForm.h"
-#include "Poco/DeflatingStream.h"
-
-
-#line 7 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\login.cpsp"
-
-#include "../gettext.h"
-
-#include "Poco/Net/HTTPCookie.h"
-#include "Poco/Net/HTTPServerParams.h"
-#include "Poco/URI.h"
-#include "Poco/Logger.h"
-#include "../SingletonManager/SessionManager.h"
-#include "../SingletonManager/LanguageManager.h"
-#include "../SingletonManager/ErrorManager.h"
-
-#include "../lib/JsonRequest.h"
-
-
-#line 1 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\header.cpsp"
-
-#include "../ServerConfig.h"
-
-
-LoginPage::LoginPage(Session* arg):
- SessionHTTPRequestHandler(arg)
-{
-}
-
-
-void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
-{
- response.setChunkedTransferEncoding(true);
- response.setContentType("text/html");
- bool _compressResponse(request.hasToken("Accept-Encoding", "gzip"));
- if (_compressResponse) response.set("Content-Encoding", "gzip");
-
- Poco::Net::HTMLForm form(request, request.stream());
-#line 22 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\login.cpsp"
-
- const char* pageName = "Login";
- auto sm = SessionManager::getInstance();
- auto lm = LanguageManager::getInstance();
- auto em = ErrorManager::getInstance();
-
- auto uri = Poco::URI(request.getURI());
- auto query_parameter = uri.getQueryParameters();
- std::string caller_uri = "";
-
- auto lang = chooseLanguage(request);
- //printf("choose language return: %d\n", lang);
- auto langCatalog = lm->getFreeCatalog(lang);
-
- std::string presetEmail("");
- if(mSession && mSession->getNewUser()) {
- presetEmail = mSession->getNewUser()->getModel()->getEmail();
- }
-
- if(!form.empty()) {
-
- caller_uri = form.get("caller_uri", "");
- //printf("form.get: caller_uri: %s\n", caller_uri.data());
-
- bool langUpdatedByBtn = false;
- auto langBtn = form.get("lang", "");
- if(langBtn != "") {
- langUpdatedByBtn = true;
- }
- /*
- auto langInput = form.get("lang", "");
- auto updatedLang = LANG_NULL;
- if(langBtn != "") {
- updatedLang = chooseLanguage(request, langBtn);
- langUpdatedByBtn = true;
- } else if(langInput != "") {
- updatedLang = chooseLanguage(request, langInput);
- }
-
- if(updatedLang != LANG_NULL && updatedLang != lang) {
- lang = updatedLang;
- langCatalog = lm->getFreeCatalog(lang);
- }
- */
- auto email = form.get("login-email", "");
- auto password = form.get("login-password", "");
-/*
- if(email != "" && password != "") {
- //auto session = sm->getSession(request);
- //if(!mSession) mSession = sm->findByEmail(email);
- if(!mSession) {
- mSession = sm->getNewSession();
- mSession->setLanguageCatalog(langCatalog);
- // get language
- // first check url, second check language header
- // for debugging client ip
- auto client_host = request.clientAddress().host();
- //auto client_ip = request.clientAddress();
- // X-Real-IP forwarded ip from nginx config
- auto client_host_string = request.get("X-Real-IP", client_host.toString());
- std::string clientIpString = "client ip: ";
- client_host = Poco::Net::IPAddress(client_host_string);
- clientIpString += client_ip.toString();
- // clientIpString += client_host_string;
- Poco::Logger::get("requestLog").information(clientIpString);
- // debugging end
- auto user_host = request.clientAddress().host();
- mSession->setClientIp(user_host);
- // mSession->setClientIp(client_host);
- response.addCookie(mSession->getLoginCookie());
- } else {
- langCatalog = mSession->getLanguageCatalog();
-*/
-
- /*if(mSession) {
- printf("start with session: %d\n", mSession->getHandle());
- } else {
- printf("start without session\n");
- }*/
-
- if(!mSession) {
- mSession = sm->getNewSession();
- mSession->setLanguageCatalog(langCatalog);
- // get language
- // first check url, second check language header
- // for debugging client ip
- auto client_host = request.clientAddress().host();
- //auto client_ip = request.clientAddress();
- // X-Real-IP forwarded ip from nginx config
- auto client_host_string = request.get("X-Real-IP", client_host.toString());
- std::string clientIpString = "client ip: ";
- client_host = Poco::Net::IPAddress(client_host_string);
- clientIpString += client_host_string;
- Poco::Logger::get("requestLog").information(clientIpString);
- // debugging end
- mSession->setClientIp(client_host);
-
- // TODO: check for valid url
- if(caller_uri != "") {
- mSession->setCallerUri(caller_uri);
- }
- response.addCookie(mSession->getLoginCookie());
- } else {
- langCatalog = mSession->getLanguageCatalog();
- if(caller_uri == "") {
- caller_uri = mSession->getCallerUri();
- }
- }
-
- //printf("after session: caller_uri: %s\n", caller_uri.data());
-
-
- if(email != "" && password != "") {
-
- UserState user_state;
- auto host = request.find("Host");
- std::string host_string = "";
- if (host != request.end()) {
- host_string = host->second;
- }
-
- try {
- user_state = mSession->loadUser(email, password);
- } catch (Poco::Exception& ex) {
- addError(new ParamError("login", "exception by calling loadUser: ", ex.displayText()));
- sendErrorsAsEmail();
- addError(new Error("Error", "Intern Server error, please try again later"));
- }
- auto user = mSession->getNewUser();
-
- if(user_state >= USER_LOADED_FROM_DB && !user.isNull() && !user->getModel()->getPublicKey()) {
- if(mSession->generateKeys(true, true)) {
- user_state = USER_COMPLETE;
- if(user->getModel()->isDisabled()) {
- user_state = USER_DISABLED;
- }
- }
- }
-
- // check if user group belong to host
- if(!user.isNull() && host_string != "") {
- auto group = user->getGroup();
- if(!group.isNull()) {
- if(group->getHost() != host_string) {
- printf("group host: %s, host string: %s\n", group->getHost().data(), host_string.data());
- user_state = USER_WRONG_HOST;
- }
- }
- }
- getErrors(mSession);
-
- auto lastExternReferer = mSession->getLastReferer();
-
- //printf("user_state: %d\n", user_state);
-
- switch(user_state) {
- case USER_EMPTY:
- case USER_PASSWORD_INCORRECT:
- case USER_WRONG_HOST:
- addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("E-Mail or password isn't right, please try again!")), false);
- if(mSession) {
- getErrors(mSession);
- sm->releaseSession(mSession);
- mSession = nullptr;
- }
- sm->deleteLoginCookies(request, response);
- 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.")), false);
- break;
- case USER_KEYS_DONT_MATCH:
- addError(new Error(langCatalog->gettext("User"), langCatalog->gettext("Error in saved data, the server admin will look at it.")));
- break;
- case USER_DISABLED:
- addError(new Error(langCatalog->gettext("User"), langCatalog->gettext("Benutzer ist deaktiviert, kein Login möglich!")));
- if(mSession) {
- getErrors(mSession);
- sm->releaseSession(mSession);
- mSession = nullptr;
- }
- sm->deleteLoginCookies(request, response);
- break;
- case USER_NO_GROUP:
- response.redirect(getBaseUrl() + "/userUpdateGroup");
- return;
- case USER_NO_PRIVATE_KEY:
- case USER_COMPLETE:
- case USER_EMAIL_NOT_ACTIVATED:
- for(auto it = query_parameter.begin(); it != query_parameter.end(); it++) {
- printf("query parameter: %s: %s\n", it->first.data(), it->second.data());
- if(it->first == "caller_uri") {
- std::string redirect_url = it->second;
- redirect_url += "?session_id=" + std::to_string(mSession->getHandle());
- response.redirect(redirect_url);
- }
- }
- auto referer = request.find("Referer");
- std::string refererString;
- if (referer != request.end()) {
- refererString = referer->second;
- }
- if(caller_uri != "")
- {
- std::string redirect_url = caller_uri;
- redirect_url += "?session_id=" + std::to_string(mSession->getHandle());
- response.redirect(redirect_url);
- }
- else if(lastExternReferer != "") {
- printf("redirect to: %s (last extern referer)\n", lastExternReferer.data());
- response.redirect(lastExternReferer);
- }
- else if(refererString != "" && refererString != "/" &&
- refererString.find("login") == std::string::npos &&
- refererString.find("logout") == std::string::npos &&
- refererString.find("user_delete") == std::string::npos &&
- refererString != getBaseUrl() + request.getURI() &&
- refererString != user->getGroupBaseUrl() + request.getURI())
- {
- std::string uri = request.getURI();
- printf("request uri: %s, redirect to: %s\n", uri.data(), refererString.data());
- response.redirect(refererString);
- }
- else
- {
- if(user->getModel()->getGroupId() != 0) {
- printf("redirect to: %s/\n", user->getGroupBaseUrl().data());
-
- auto group = controller::Group::load(user->getModel()->getGroupId());
-
- response.redirect(user->getGroupBaseUrl() + "/");
- } else {
- response.redirect("https://" + request.getHost() + "/");
- }
- }
- return;
- }
-
- } else if(!langUpdatedByBtn && caller_uri == "") {
- addError(new Error(langCatalog->gettext("Login"), langCatalog->gettext("Username and password are needed!")), false);
- }
-
- } else {
-
- // on enter login page with empty form
- //auto session = sm->getSession(request);
- // remove old cookies and session if exist
- if(mSession) {
- getErrors(mSession);
- sm->releaseSession(mSession);
- mSession = nullptr;
- }
- sm->deleteLoginCookies(request, response);
- }
-
- std::string form_action_url = ServerConfig::g_serverPath + "/";
- if(mSession && !mSession->getNewUser().isNull()) {
- form_action_url = mSession->getNewUser()->getGroupBaseUrl() + "/";
- } else {
- form_action_url = getBaseUrl() + "/";
- }
-
-#line 3 "F:\\Gradido\\gradido_stage2_local\\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;
- responseStream << "\n";
- // begin include header.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#line 11 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\header.cpsp"
- responseStream << ( pageName );
- responseStream << " \n";
- responseStream << " \n";
-#line 13 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\header.cpsp"
- if(withMaterialIcons) { responseStream << "\n";
- responseStream << " \n";
-#line 15 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\header.cpsp"
- } responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << " ";
-#line 6 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( mTimeProfiler.string() );
- responseStream << "\n";
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << "
Login Server in Entwicklung
\n";
- responseStream << "
Alpha ";
-#line 10 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "";
- // end include footer.cpsp
- if (_compressResponse) _gzipStream.close();
-}
diff --git a/login_server/src/cpp/HTTPInterface/LoginPage.h b/login_server/src/cpp/HTTPInterface/LoginPage.h
deleted file mode 100644
index 30c617eaf..000000000
--- a/login_server/src/cpp/HTTPInterface/LoginPage.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef LoginPage_INCLUDED
-#define LoginPage_INCLUDED
-
-
-#include "Poco/Net/HTTPRequestHandler.h"
-
-
-#include "SessionHTTPRequestHandler.h"
-
-
-class LoginPage: public SessionHTTPRequestHandler
-{
-public:
- LoginPage(Session*);
-
- void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
-};
-
-
-#endif // LoginPage_INCLUDED
diff --git a/login_server/src/cpp/HTTPInterface/PageRequestHandlerFactory.cpp b/login_server/src/cpp/HTTPInterface/PageRequestHandlerFactory.cpp
index e459fd826..8edbd6e9d 100644
--- a/login_server/src/cpp/HTTPInterface/PageRequestHandlerFactory.cpp
+++ b/login_server/src/cpp/HTTPInterface/PageRequestHandlerFactory.cpp
@@ -7,7 +7,6 @@
#include "ConfigPage.h"
#include "LoginPage.h"
-//#include "RegisterPage.h"
#include "HandleFileRequest.h"
#include "DashboardPage.h"
#include "CheckEmailPage.h"
@@ -19,14 +18,14 @@
#include "UserUpdateGroupPage.h"
#include "Error500Page.h"
#include "CheckTransactionPage.h"
-#include "ResetPassword.h"
+#include "ResetPasswordPage.h"
#include "RegisterAdminPage.h"
#include "DebugPassphrasePage.h"
#include "DebugMnemonicPage.h"
-#include "AdminCheckUserBackup.h"
-#include "TranslatePassphrase.h"
-#include "PassphrasedTransaction.h"
-#include "AdminUserPasswordReset.h"
+#include "AdminCheckUserBackupPage.h"
+#include "TranslatePassphrasePage.h"
+#include "PassphrasedTransactionPage.h"
+#include "AdminUserPasswordResetPage.h"
#include "RegisterDirectPage.h"
#include "AdminGroupsPage.h"
#include "AdminTopicPage.h"
@@ -35,7 +34,7 @@
#include "AdminNodeServerTestPage.h"
#include "DecodeTransactionPage.h"
-#include "RepairDefectPassphrase.h"
+#include "RepairDefectPassphrasePage.h"
#include "../SingletonManager/SessionManager.h"
@@ -141,7 +140,7 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
return basicSetup(new RegisterDirectPage, request, timeUsed);
}
if (url_first_part == "/resetPassword") {
- return basicSetup(new ResetPassword, request, timeUsed);
+ return basicSetup(new ResetPasswordPage, request, timeUsed);
}
if (url_first_part == "/decode_transaction") {
@@ -149,7 +148,7 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
return basicSetup(new DecodeTransactionPage(s), request, timeUsed);
}
if (url_first_part == "/passphrased_transaction") {
- return basicSetup(new PassphrasedTransaction, request, timeUsed);
+ return basicSetup(new PassphrasedTransactionPage, request, timeUsed);
}
if (url_first_part == "/adminNodeServerTest") {
return basicSetup(new AdminNodeServerTestPage, request, timeUsed);
@@ -177,10 +176,10 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
}
if (url_first_part == "/transform_passphrase") {
- return basicSetup(new TranslatePassphrase(s), request, timeUsed);
+ return basicSetup(new TranslatePassphrasePage(s), request, timeUsed);
}
if (url_first_part == "/repairPassphrase") {
- return basicSetup(new RepairDefectPassphrase(s), request, timeUsed);
+ return basicSetup(new RepairDefectPassphrasePage(s), request, timeUsed);
}
if (userModel && userModel->getRole() == model::table::ROLE_ADMIN) {
if (url_first_part == "/adminRegister") {
@@ -193,10 +192,10 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
return basicSetup(new DebugMnemonicPage(s), request, timeUsed);
}
if (url_first_part == "/checkUserBackups") {
- return basicSetup(new AdminCheckUserBackup(s), request, timeUsed);
+ return basicSetup(new AdminCheckUserBackupPage(s), request, timeUsed);
}
if (url_first_part == "/adminUserPasswordReset") {
- return basicSetup(new AdminUserPasswordReset(s), request, timeUsed);
+ return basicSetup(new AdminUserPasswordResetPage(s), request, timeUsed);
}
if (url_first_part == "/groups") {
return basicSetup(new AdminGroupsPage(s), request, timeUsed);
diff --git a/login_server/src/cpp/HTTPInterface/PassphrasePage.cpp b/login_server/src/cpp/HTTPInterface/PassphrasePage.cpp
deleted file mode 100644
index bec72a609..000000000
--- a/login_server/src/cpp/HTTPInterface/PassphrasePage.cpp
+++ /dev/null
@@ -1,678 +0,0 @@
-#include "PassphrasePage.h"
-#include "Poco/Net/HTTPServerRequest.h"
-#include "Poco/Net/HTTPServerResponse.h"
-#include "Poco/Net/HTMLForm.h"
-#include "Poco/DeflatingStream.h"
-
-
-#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
-
-#include "../SingletonManager/SessionManager.h"
-#include "../SingletonManager/LanguageManager.h"
-#include "../Crypto/KeyPairEd25519.h"
-#include "../ServerConfig.h"
-//#include "Poco/Net/HTTPServerParams.h"
-
-enum PageState
-{
- PAGE_ASK_PASSPHRASE,
- PAGE_SHOW_PASSPHRASE,
- PAGE_ASK_ENSURE_PASSPHRASE,
- PAGE_FORCE_ASK_PASSPHRASE
-};
-#line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
-
-#include "../ServerConfig.h"
-
-
-PassphrasePage::PassphrasePage(Session* arg):
- SessionHTTPRequestHandler(arg)
-{
-}
-
-
-void PassphrasePage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
-{
- response.setChunkedTransferEncoding(true);
- response.setContentType("text/html");
- bool _compressResponse(request.hasToken("Accept-Encoding", "gzip"));
- if (_compressResponse) response.set("Content-Encoding", "gzip");
-
- Poco::Net::HTMLForm form(request, request.stream());
-#line 22 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\passphrase.cpsp"
-
-
-
- chooseLanguage(request);
- const char* pageName = gettext("Passphrase");
- std::string pageTitle = gettext("Neues Konto anlegen");
- std::string pageSubtitle = gettext("2/3");
- PageState state = PAGE_ASK_PASSPHRASE;
-
- // variable needed for flags
- auto lang = mSession->getLanguage();
-
- auto sm = SessionManager::getInstance();
- auto lm = LanguageManager::getInstance();
-
- auto uri_start = ServerConfig::g_serverPath;//request.serverParams().getServerName();
- //Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER];
- Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
- if(lang == LANG_DE) {
- wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER];
- }
-
- // remove old cookies if exist
- sm->deleteLoginCookies(request, response, mSession);
- // save login cookie, because maybe we've get an new session
- response.addCookie(mSession->getLoginCookie());
-
- if(mSession->getSessionState() == SESSION_STATE_RESET_PASSWORD_REQUEST) {
- state = PAGE_FORCE_ASK_PASSPHRASE;
- }
-
- if (!form.empty()) {
-
- auto btnNext = form.get("nextEnsure", "");
- auto btnChecked = form.get("btnChecked", "");
- auto langBtn = form.get("lang", "");
-
- if(btnChecked != "") {
- mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN);
- response.redirect(ServerConfig::g_serverPath + "/passphrase");
- return;
- }
-
- if(btnNext != "") {
- state = PAGE_ASK_ENSURE_PASSPHRASE;
- } else if(langBtn == "") {
- auto registerKeyChoice = form.get("passphrase", "no");
- std::string oldPassphrase = "";
- if (registerKeyChoice == "no") {
- auto oldPassphrase = Passphrase::filter(form.get("passphrase-existing", ""));
-
- if(oldPassphrase != "") {
- auto word_source = Passphrase::detectMnemonic(oldPassphrase);
- if (word_source) {
- // passphrase is valid
- if(PAGE_FORCE_ASK_PASSPHRASE == state) {
-
- auto compareResult = mSession->comparePassphraseWithSavedKeys(oldPassphrase, word_source);
- if(-2 == compareResult) {
- response.redirect(ServerConfig::g_serverPath + "/error500");
- return;
- } else if(1 == compareResult) {
- response.redirect(ServerConfig::g_serverPath + "/updateUserPassword");
- return;
- }
- } else {
- mSession->setPassphrase(oldPassphrase);
- mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN);
- response.redirect(ServerConfig::g_serverPath + "/saveKeys");
- return;
- //state = PAGE_SHOW_PASSPHRASE;
- }
- }
- else {
- addError(new Error(gettext("Passphrase"), gettext("Diese Passphrase ist ungültig, bitte überprüfen oder neu generieren (lassen).")), false);
- }
- }
- }
- else if (registerKeyChoice == "yes") {
- auto passphrase = Passphrase::generate(wordSource);
- mSession->setPassphrase(passphrase);
- }
- }
- }
-
- // double check passphrase
- auto passphrase = mSession->getOldPassphrase();
- auto langWordSource = wordSource;
- if("" != passphrase && !Passphrase::detectMnemonic(passphrase)) {
- 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 error 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();
- mSession->setPassphrase(Passphrase::generate(wordSource));
- }
-
- if(mSession->getSessionState() == SESSION_STATE_PASSPHRASE_GENERATED && state != PAGE_ASK_ENSURE_PASSPHRASE) {
- state = PAGE_SHOW_PASSPHRASE;
- //mSession->updateState(SESSION_STATE_PASSPHRASE_SHOWN);
- }
- if(state == PAGE_ASK_ENSURE_PASSPHRASE) {
- pageSubtitle = gettext("3/3");
- }
- else if(state == PAGE_ASK_PASSPHRASE) {
- pageSubtitle = gettext("1/3");
- } else if(state == PAGE_FORCE_ASK_PASSPHRASE) {
- pageTitle = gettext("Neues Passwort anlegen");
- pageSubtitle = gettext("1/3");
- }
- getErrors(mSession);
-#line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
-
- bool withMaterialIcons = false;
-#line 141 "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;
- responseStream << "\n";
- // begin include login_header.cpsp
- // begin include header.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#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 << "
\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "";
- // end include footer.cpsp
- responseStream << "\n";
- if (_compressResponse) _gzipStream.close();
-}
diff --git a/login_server/src/cpp/HTTPInterface/PassphrasedTransaction.cpsp b/login_server/src/cpp/HTTPInterface/PassphrasedTransaction.cpsp
deleted file mode 100644
index ac772ceab..000000000
--- a/login_server/src/cpp/HTTPInterface/PassphrasedTransaction.cpsp
+++ /dev/null
@@ -1,164 +0,0 @@
-<%@ page class="PassphrasedTransaction" %>
-<%@ page form="true" %>
-<%@ page compressed="true" %>
-<%@ page baseClass="PageRequestMessagedHandler" %>
-<%@ header include="PageRequestMessagedHandler.h" %>
-<%!
-#include "../SingletonManager/MemoryManager.h"
-#include "../SingletonManager/SessionManager.h"
-#include "../Crypto/KeyPairEd25519.h"
-#include "../ServerConfig.h"
-
-#include "Poco/JSON/Object.h"
-#include "Poco/JSON/Parser.h"
-#include "Poco/Net/HTTPSClientSession.h"
-#include "Poco/Net/HTTPRequest.h"
-#include "Poco/Net/HTTPResponse.h"
-
-enum PageState {
- PAGE_STATE_INPUT,
- PAGE_STATE_SUCCESS
-};
-%>
-<%%
- std::string pageName = "Gradidos mit Passphrase überweisen";
- PageState state = PAGE_STATE_INPUT;
- Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES];
- auto sm = SessionManager::getInstance();
- auto mm = MemoryManager::getInstance();
- std::string errorString ="";
-
- if(!form.empty()) {
- auto passphrase = form.get("passphrase", "");
- auto passphrase_obj = Passphrase::create(passphrase, wordSource);
-
- bool keysGenerated = false;
- KeyPairEd25519* keys = nullptr;
- if(!passphrase_obj.isNull()) {
- addError(new Error("Passphrase", "Fehler beim validieren der Passphrase"));
- }
- else {
- keys = KeyPairEd25519::create(passphrase_obj);
- if(!keys)
- {
- addError(new Error("Passphrase", "Konnte keine Keys aus der Passphrase generieren"));
- }
- }
- if(keys)
- {
- // create session only for transaction
- int session_id = 0;
- auto session = sm->getNewSession(&session_id);
- // create payload
- Poco::JSON::Object requestJson;
- Poco::JSON::Object pubkeys;
- pubkeys.set("sender", keys->getPublicKeyHex());
- pubkeys.set("receiver", form.get("recevier", ""));
- requestJson.set("method", "moveTransaction");
- requestJson.set("pubkeys", pubkeys);
- requestJson.set("memo", form.get("memo", ""));
- requestJson.set("session_id", session_id);
-
- printf("[PassphrasedTransaction] prepare request\n");
-
- // send to php server
- Poco::Net::HTTPSClientSession httpsClientSession(ServerConfig::g_php_serverHost, 443);
- Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_POST, "/JsonRequestHandler");
-
- request.setChunkedTransferEncoding(true);
- std::ostream& requestStream = httpsClientSession.sendRequest(request);
- requestJson.stringify(requestStream);
-
- Poco::Net::HTTPResponse response;
- std::istream& request_stream = httpsClientSession.receiveResponse(response);
-
- std::stringstream responseStringStream;
- for (std::string line; std::getline(request_stream, line); ) {
- responseStringStream << line << std::endl;
- }
-
- // extract parameter from request
- Poco::JSON::Parser jsonParser;
- Poco::Dynamic::Var parsedJson;
-
- printf("[PassphrasedTransaction] parse request result\n");
- try {
- parsedJson = jsonParser.parse(responseStringStream);
-
- Poco::JSON::Object object = *parsedJson.extract
();
- auto jsonState = object.get("state");
- std::string stateString = jsonState.convert();
- if (stateString == "error") {
- addError(new Error("Transfer", "php server return error"));
- if (!object.isNull("msg")) {
- addError(new ParamError("php server", "msg:", object.get("msg").convert().data()));
- }
- if (!object.isNull("details")) {
- addError(new ParamError("php server", "details:", object.get("details").convert().data()));
- }
- } else if(stateString == "success") {
- printf("[PassphrasedTransaction] request success, wait on transaction ready\n");
- auto currentActiveTransaction = session->getNextReadyTransaction();
- while(currentActiveTransaction.isNull()) {
- Poco::Thread::sleep(10);
- currentActiveTransaction = session->getNextReadyTransaction();
- }
- auto transaction_body = currentActiveTransaction->getTransactionBody();
- if(transaction_body.isNull() || !transaction_body->isTransfer()) {
- addError(new Error("Transaction", "Falsche Transaktion, bitte erst alle anderen Transaktionen abschließen und dann Seite neuladen"));
- } else {
- //auto signing = new SigningTransaction(currentActiveTransaction, user);
- printf("[PassphrasedTransaction] cannot sign, implementation missing\n");
- /*if(!signing->run()) {
-
- } else {
- addError(new Error("Transaction", "Fehler beim signieren, bitter erneut versuchen"));
- }*/
- // remove transaction from list
- //mSession->finalizeTransaction(true, true);
- }
- }
- }
- catch (Poco::Exception& ex) {
- //printf("[JsonRequestHandler::handleRequest] Exception: %s\n", ex.displayText().data());
- addError(new ParamError("Transfer", "Fehler beim erstellen der Transaktion, bitte erneut versuchen", ex.displayText().data()));
- errorString = responseStringStream.str();
- sm->releaseSession(session);
- session = nullptr;
- }
- if(session) {
- sm->releaseSession(session);
- }
- delete keys;
- keys = nullptr;
- }
- }
-
-
-%><%@ include file="header_old.cpsp" %>
-<% if("" == errorString) { %>
- <%= errorString %>
-<% } %>
-
- <%= getErrorsHtml() %>
- <% if(PAGE_STATE_INPUT == state) { %>
-
-
-
- Sender Passphrase
- <%= !form.empty() ? form.get("passphrase", "") : "" %>
- Verwendungszweck für Überweisung:
- <%= !form.empty() ? form.get("memo-text", "") : "" %>
-
- Empfänger Public Key Hex
- "/>
-
-
-
-
- <% } else if(PAGE_STATE_SUCCESS == state) { %>
-
Gradidos wurden erfolgreich überwiesen.
-
Weitere Gradidos überweisen
- <% } %>
-
-<%@ include file="footer.cpsp" %>
diff --git a/login_server/src/cpp/HTTPInterface/PassphrasedTransaction.h b/login_server/src/cpp/HTTPInterface/PassphrasedTransaction.h
deleted file mode 100644
index 979385bee..000000000
--- a/login_server/src/cpp/HTTPInterface/PassphrasedTransaction.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef PassphrasedTransaction_INCLUDED
-#define PassphrasedTransaction_INCLUDED
-
-
-#include "Poco/Net/HTTPRequestHandler.h"
-
-
-#include "PageRequestMessagedHandler.h"
-
-
-class PassphrasedTransaction: public PageRequestMessagedHandler
-{
-public:
- void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
-};
-
-
-#endif // PassphrasedTransaction_INCLUDED
diff --git a/login_server/src/cpp/HTTPInterface/RegisterAdminPage.cpp b/login_server/src/cpp/HTTPInterface/RegisterAdminPage.cpp
deleted file mode 100644
index eee1d0305..000000000
--- a/login_server/src/cpp/HTTPInterface/RegisterAdminPage.cpp
+++ /dev/null
@@ -1,236 +0,0 @@
-#include "RegisterAdminPage.h"
-#include "Poco/Net/HTTPServerRequest.h"
-#include "Poco/Net/HTTPServerResponse.h"
-#include "Poco/Net/HTMLForm.h"
-#include "Poco/DeflatingStream.h"
-
-
-#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
-
-#include "../SingletonManager/SessionManager.h"
-#include "../controller/Group.h"
-#include "../lib/DataTypeConverter.h"
-
-#include "Poco/Net/HTTPCookie.h"
-#include "../ServerConfig.h"
-
-#line 1 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\header_old.cpsp"
-
-#include "../ServerConfig.h"
-
-
-RegisterAdminPage::RegisterAdminPage(Session* arg):
- SessionHTTPRequestHandler(arg)
-{
-}
-
-
-void RegisterAdminPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
-{
- response.setChunkedTransferEncoding(true);
- response.setContentType("text/html");
- bool _compressResponse(request.hasToken("Accept-Encoding", "gzip"));
- if (_compressResponse) response.set("Content-Encoding", "gzip");
-
- Poco::Net::HTMLForm form(request, request.stream());
-#line 18 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
-
- const char* pageName = "Admin Registrieren";
- auto sm = SessionManager::getInstance();
-
- bool userReturned = false;
-
- if(!form.empty()) {
- auto group_id_string = form.get("register-group", "0");
- int group_id = 0;
- if(!sm->isValid(group_id_string, VALIDATE_ONLY_INTEGER)) {
- addError(new Error("Group id", "group_id not integer"));
- } else {
- if(DataTypeConverter::strToInt(group_id_string, group_id) != DataTypeConverter::NUMBER_PARSE_OKAY) {
- addError(new Error("Int Convert Error", "Error converting group_id to int"));
- }
- }
- if(!errorCount()) {
- userReturned = mSession->adminCreateUser(
- form.get("register-first-name", ""),
- form.get("register-last-name", ""),
- form.get("register-email", ""),
- group_id,
- getBaseUrl()
- );
- getErrors(mSession);
- }
-
- }
-
- auto groups = controller::Group::listAll();
-
-
- std::ostream& _responseStream = response.send();
- Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1);
- std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream;
- responseStream << "\n";
- // begin include header_old.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
- responseStream << ( pageName );
- responseStream << " \n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\t
Login Server in Entwicklung
\n";
- responseStream << "\t
Alpha ";
-#line 53 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- // end include header_old.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\t
Einen neuen Account anlegen \n";
- responseStream << "\t";
-#line 53 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
- responseStream << ( getErrorsHtml() );
- responseStream << "\n";
- responseStream << "\t";
-#line 54 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
- if(!form.empty() && userReturned) { responseStream << "\n";
- responseStream << "\t\t
\n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t\tDie Anmeldung wird verarbeitet und es wird dem Benutzer eine Aktivierungs-E-Mail zugeschickt. \n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t
\n";
- responseStream << "\t\t
Zurück \n";
- responseStream << "\t";
-#line 61 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
- } else { responseStream << "\n";
- responseStream << "\t
\n";
- responseStream << "\t\t\n";
- responseStream << "\t\t\n";
- responseStream << "\t\t\tAccount anlegen \n";
- responseStream << "\t\t\tBitte gebe die Benutzer-Daten ein um einen Account anzulegen
\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\tVorname \n";
- responseStream << "\t\t\t\t \n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\tNachname \n";
- responseStream << "\t\t\t\t \n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\tE-Mail \n";
- responseStream << "\t\t\t\t \n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\t";
-#line 80 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
- for(auto it = groups.begin(); it != groups.end(); it++) {
- auto group_model = (*it)->getModel(); responseStream << "\n";
- responseStream << "\t\t\t\t\tgetDescription() );
- responseStream << "\" value=\"";
-#line 82 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
- responseStream << ( group_model->getID() );
- responseStream << "\">";
-#line 82 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
- responseStream << ( group_model->getName() );
- responseStream << " \n";
- responseStream << "\t\t\t\t";
-#line 83 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
- } responseStream << "\n";
- responseStream << "\t\t\t \n";
- responseStream << "\t\t \n";
- responseStream << "\t\t \n";
- responseStream << "\t\t\n";
- responseStream << "\t \n";
- responseStream << "\t";
-#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\registerAdmin.cpsp"
- } responseStream << "\n";
- responseStream << "
\n";
- // begin include footer.cpsp
- responseStream << " \n";
- responseStream << "
Copyright © Gradido 2020
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << " ";
-#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( mTimeProfiler.string() );
- responseStream << "\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "
Login Server in Entwicklung
\n";
- responseStream << "
Alpha ";
-#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "";
- // end include footer.cpsp
- responseStream << "\n";
- if (_compressResponse) _gzipStream.close();
-}
diff --git a/login_server/src/cpp/HTTPInterface/RegisterAdminPage.h b/login_server/src/cpp/HTTPInterface/RegisterAdminPage.h
deleted file mode 100644
index df43d1216..000000000
--- a/login_server/src/cpp/HTTPInterface/RegisterAdminPage.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef RegisterAdminPage_INCLUDED
-#define RegisterAdminPage_INCLUDED
-
-
-#include "Poco/Net/HTTPRequestHandler.h"
-
-
-#include "SessionHTTPRequestHandler.h"
-
-
-class RegisterAdminPage: public SessionHTTPRequestHandler
-{
-public:
- RegisterAdminPage(Session*);
-
- void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
-};
-
-
-#endif // RegisterAdminPage_INCLUDED
diff --git a/login_server/src/cpp/HTTPInterface/RegisterDirectPage.cpp b/login_server/src/cpp/HTTPInterface/RegisterDirectPage.cpp
deleted file mode 100644
index b110b04e6..000000000
--- a/login_server/src/cpp/HTTPInterface/RegisterDirectPage.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-#include "RegisterDirectPage.h"
-#include "Poco/Net/HTTPServerRequest.h"
-#include "Poco/Net/HTTPServerResponse.h"
-#include "Poco/Net/HTMLForm.h"
-#include "Poco/DeflatingStream.h"
-
-
-#line 6 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\registerDirect.cpsp"
-
-#include "../SingletonManager/SessionManager.h"
-#include "../controller/Group.h"
-#include "../lib/DataTypeConverter.h"
-#include "Poco/Net/HTTPCookie.h"
-
-#line 1 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\header.cpsp"
-
-#include "../ServerConfig.h"
-
-
-void RegisterDirectPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
-{
- response.setChunkedTransferEncoding(true);
- response.setContentType("text/html");
- bool _compressResponse(request.hasToken("Accept-Encoding", "gzip"));
- if (_compressResponse) response.set("Content-Encoding", "gzip");
-
- Poco::Net::HTMLForm form(request, request.stream());
-#line 13 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\registerDirect.cpsp"
-
- const char* pageName = "Registrieren";
- auto sm = SessionManager::getInstance();
-
- bool userReturned = false;
- std::string caller_uri;
-
- if(!form.empty()) {
-
- caller_uri = form.get("caller_uri", "");
-
- if(form.get("register-password2", "") != form.get("register-password", "")) {
- addError(new Error("Passwort", "Passwörter sind nicht identisch."), false);
- } else {
- auto session = sm->getSession(request);
- if(!session) {
- session = sm->getNewSession();
- auto user_host = request.clientAddress().host();
- session->setClientIp(user_host);
- session->setCallerUri(caller_uri);
- response.addCookie(session->getLoginCookie());
- }
- printf("caller uri after session: %s\n", caller_uri.data());
- auto email = form.get("register-email", "");
- auto password = form.get("register-password", "");
- if(email != "" && password != "") {
-
- userReturned = session->createUserDirect(
- form.get("register-first-name", ""),
- form.get("register-last-name", ""),
- email,
- password,
- getBaseUrl()
- );
- }
-
- getErrors(session);
-
- if(!errorCount() && userReturned) {
- auto user_host = request.clientAddress().host();
- session->setClientIp(user_host);
- response.addCookie(session->getLoginCookie());
- if(caller_uri == "") {
- caller_uri = session->getCallerUri();
- }
- if(caller_uri != "") {
- std::string redirect_url = caller_uri;
- redirect_url += "?session_id=" + std::to_string(session->getHandle());
- response.redirect(redirect_url);
- return;
- }
- auto user = session->getNewUser();
- if(user->getModel()->getGroupId() == 0) {
- response.redirect(getBaseUrl() + "/userUpdateGroup");
- } else {
- response.redirect(user->getGroupBaseUrl());
- }
- return;
- }
- }
-
- } else {
- // on enter login page with empty form
- // remove old cookies if exist
- sm->deleteLoginCookies(request, response);
- }
-
-
-#line 3 "F:\\Gradido\\gradido_stage2_local\\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;
- responseStream << "\n";
- // begin include header.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#line 11 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\header.cpsp"
- responseStream << ( pageName );
- responseStream << " \n";
- responseStream << " \n";
-#line 13 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\header.cpsp"
- if(withMaterialIcons) { responseStream << "\n";
- responseStream << " \n";
-#line 15 "F:\\Gradido\\gradido_stage2_local\\login_server\\src\\cpsp\\header.cpsp"
- } responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << "
\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "";
- // end include footer.cpsp
- responseStream << "\n";
- if (_compressResponse) _gzipStream.close();
-}
diff --git a/login_server/src/cpp/HTTPInterface/RegisterDirectPage.h b/login_server/src/cpp/HTTPInterface/RegisterDirectPage.h
deleted file mode 100644
index 3dc5d9bab..000000000
--- a/login_server/src/cpp/HTTPInterface/RegisterDirectPage.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef RegisterDirectPage_INCLUDED
-#define RegisterDirectPage_INCLUDED
-
-
-#include "Poco/Net/HTTPRequestHandler.h"
-
-
-#include "PageRequestMessagedHandler.h"
-
-
-class RegisterDirectPage: public PageRequestMessagedHandler
-{
-public:
- void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
-};
-
-
-#endif // RegisterDirectPage_INCLUDED
diff --git a/login_server/src/cpp/HTTPInterface/RepairDefectPassphrase.cpp b/login_server/src/cpp/HTTPInterface/RepairDefectPassphrase.cpp
deleted file mode 100644
index 5c988ba88..000000000
--- a/login_server/src/cpp/HTTPInterface/RepairDefectPassphrase.cpp
+++ /dev/null
@@ -1,365 +0,0 @@
-#include "RepairDefectPassphrase.h"
-#include "Poco/Net/HTTPServerRequest.h"
-#include "Poco/Net/HTTPServerResponse.h"
-#include "Poco/Net/HTMLForm.h"
-#include "Poco/DeflatingStream.h"
-
-
-#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
-
-#include "../SingletonManager/MemoryManager.h"
-#include "../SingletonManager/EmailManager.h"
-#include "../Crypto/Passphrase.h"
-#include "../Crypto/KeyPairEd25519.h"
-#include "../lib/DataTypeConverter.h"
-#include "../controller/UserBackup.h"
-#include "../tasks/SigningTransaction.h"
-#include "../ServerConfig.h"
-
-#include "Poco/JSON/Object.h"
-#include "Poco/JSON/Parser.h"
-#include "Poco/Net/HTTPSClientSession.h"
-#include "Poco/Net/HTTPRequest.h"
-#include "Poco/Net/HTTPResponse.h"
-
-#include
-
-enum PageState
-{
- GENERATE_PASSPHRASE,
- SHOW_PASSPHRASE,
- CREATE_TRANSACTION,
- CHECK_TRANSACTION,
- FINISH
-};
-
-#line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
-
-#include "../ServerConfig.h"
-
-
-RepairDefectPassphrase::RepairDefectPassphrase(Session* arg):
- SessionHTTPRequestHandler(arg)
-{
-}
-
-
-void RepairDefectPassphrase::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
-{
- response.setChunkedTransferEncoding(true);
- response.setContentType("text/html");
- bool _compressResponse(request.hasToken("Accept-Encoding", "gzip"));
- if (_compressResponse) response.set("Content-Encoding", "gzip");
-
- Poco::Net::HTMLForm form(request, request.stream());
-#line 35 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
-
- auto mm = MemoryManager::getInstance();
- auto em = EmailManager::getInstance();
- auto new_user = mSession->getNewUser();
- auto user_model = new_user->getModel();
- auto adminEmail = em->getAdminReceiver();
- Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES];
- std::string pageName = "Repariere Defekte Passphrase";
-
- std::string errorString = "";
-
- PageState state = GENERATE_PASSPHRASE;
-
-
- if(!form.empty())
- {
- printf("form not empty\n");
- auto btn = form.get("generate", "");
- auto btn2 = form.get("transfer", "");
- printf("btn: %s\n", btn.data());
- printf("btn2: %s\n", btn2.data());
- if(btn == "Neue Passphrase generieren!")
- {
- auto passphrase = Passphrase::generate(wordSource);
- if(!passphrase->checkIfValid())
- {
- addError(new Error("Passphrase", "Fehler beim generieren oder validieren der Passphrase, evt. erneut versuchen!"));
- }
- else
- {
- mSession->setPassphrase(passphrase);
- auto newPassphraseModel = controller::UserBackup::create(
- user_model->getID(),
- passphrase->getString(),
- ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES
- );
- auto result = newPassphraseModel->getModel()->insertIntoDB(false);
- //state = SHOW_PASSPHRASE;
- if(result) {
- state = SHOW_PASSPHRASE;
- } else {
- addError(new Error("Speichern", "Fehler beim speichern der neuen Passphrase, evt. erneut versuchen!"));
- }
- }
- }
- else if("" != btn2)
- {
-
- auto passphrase = mSession->getPassphrase();
- auto new_gradido_key_pair = std::unique_ptr(KeyPairEd25519::create(passphrase));
-
- if(passphrase.isNull() || !passphrase->checkIfValid()) {
- addError(new Error("Passphrase", "Ungültige Passphrase, bitte neuladen"));
- }
- if(!new_gradido_key_pair) {
- addError(new Error("Keys", "Konnte keine Keys erstellen, bitte neuladen"));
- }
- // create payload
- Poco::JSON::Object requestJson;
- Poco::JSON::Object pubkeys;
- pubkeys.set("sender", user_model->getPublicKeyHex());
- pubkeys.set("receiver", DataTypeConverter::pubkeyToHex(new_gradido_key_pair->getPublicKey()));
- requestJson.set("method", "moveTransaction");
- requestJson.set("pubkeys", pubkeys);
- requestJson.set("memo", form.get("memo", ""));
- requestJson.set("session_id", mSession->getHandle());
-
- printf("[repairDefectPassphrase] prepare request\n");
-
- // send to php server
- Poco::Net::HTTPSClientSession httpsClientSession(ServerConfig::g_php_serverHost, 443);
- Poco::Net::HTTPRequest request(Poco::Net::HTTPRequest::HTTP_POST, "/JsonRequestHandler");
-
- request.setChunkedTransferEncoding(true);
- std::ostream& requestStream = httpsClientSession.sendRequest(request);
- requestJson.stringify(requestStream);
-
- Poco::Net::HTTPResponse response;
- std::istream& request_stream = httpsClientSession.receiveResponse(response);
-
- std::stringstream responseStringStream;
- for (std::string line; std::getline(request_stream, line); ) {
- responseStringStream << line << std::endl;
- }
-
- // extract parameter from request
- Poco::JSON::Parser jsonParser;
- Poco::Dynamic::Var parsedJson;
-
- printf("[repairDefectPassphrase] parse request result\n");
- try {
- parsedJson = jsonParser.parse(responseStringStream);
-
- Poco::JSON::Object object = *parsedJson.extract();
- auto jsonState = object.get("state");
- std::string stateString = jsonState.convert();
- if (stateString == "error") {
- addError(new Error("Transfer", "php server return error"));
- if (!object.isNull("msg")) {
- addError(new ParamError("php server", "msg:", object.get("msg").convert().data()));
- }
- if (!object.isNull("details")) {
- addError(new ParamError("php server", "details:", object.get("details").convert().data()));
- }
- } else if(stateString == "success") {
- printf("[repairDefectPassphrase] request success, wait on transaction ready\n");
- auto currentActiveTransaction = mSession->getNextReadyTransaction();
- while(currentActiveTransaction.isNull() || currentActiveTransaction->getTransactionBody().isNull()) {
- Poco::Thread::sleep(10);
- currentActiveTransaction = mSession->getNextReadyTransaction();
- }
- if(!currentActiveTransaction->getTransactionBody()->isTransfer()) {
- addError(new Error("Transaction", "Falsche Transaktion, bitte erst alle anderen Transaktionen abschließen und dann Seite neuladen"));
- } else {
- auto signing = new SigningTransaction(currentActiveTransaction, new_user);
- printf("[repairDefectPassphrase] before running sign\n");
- if(!signing->run()) {
-
- if(new_user->setGradidoKeyPair(new_gradido_key_pair.release()) != 1) {
- addError(new Error("Neues Schlüsselpaar", "Neuer Private Key konnte nicht verschlüsselt werden!"));
- } else {
- if(user_model->updatePubkeyAndPrivkey() != 1) {
- addError(new Error("Speichern", "Fehler beim speichern der neuen Keys in die Datenbank, bitte erneut versuchen (Seite neuladen)"));
- } else {
- //printf("[repairDefectPassphrase] set state to FINISH\n");
- state = FINISH;
- }
- }
-
- } else {
- addError(new Error("Transaction", "Fehler beim signieren, bitter erneut versuchen"));
- }
- // remove transaction from list
- mSession->finalizeTransaction(true, true);
- }
- }
- }
- catch (Poco::Exception& ex) {
- //printf("[JsonRequestHandler::handleRequest] Exception: %s\n", ex.displayText().data());
- addError(new ParamError("Transfer", "Fehler beim erstellen der Transaktion, bitte erneut versuchen", ex.displayText().data()));
- errorString = responseStringStream.str();
- }
-
- //state = CREATE_TRANSACTION;
- }
- }
-
-
- std::ostream& _responseStream = response.send();
- Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1);
- std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream;
- responseStream << "\n";
- // begin include header_old.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
- responseStream << ( pageName );
- responseStream << " \n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\t
Login Server in Entwicklung
\n";
- responseStream << "\t
Alpha ";
-#line 53 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- // end include header_old.cpsp
- responseStream << "\n";
-#line 184 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- if("" != errorString) { responseStream << "\n";
- responseStream << "\t";
-#line 185 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- responseStream << ( errorString );
- responseStream << "\n";
-#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- } responseStream << "\n";
- responseStream << "\n";
- responseStream << "\t";
-#line 188 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- responseStream << ( getErrorsHtml() );
- responseStream << "\n";
- responseStream << "\t
Konto reparieren \n";
- responseStream << "\t
Der Login-Server hat festgestellt das die gespeicherte Passphrase nicht zu deinem Konto passt.
\n";
- responseStream << "\t";
-#line 191 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- if(GENERATE_PASSPHRASE == state) { responseStream << "\n";
- responseStream << "\t\t";
-#line 192 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- if(new_user->canDecryptPrivateKey()) { responseStream << "\n";
- responseStream << "\t\t\t
Dein Privat Key konnte noch entschlüsselt werden. Es könnte also eine neue Passphrase generiert werden und dein aktueller Kontostand\n";
- responseStream << "\t\t\tauf die neue Adresse transferiert werden.
\n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t\t \n";
- responseStream << "\t\t\t \n";
- responseStream << "\t\t";
-#line 198 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- } else { responseStream << "\n";
- responseStream << "\t\t\t
Dein Privat Key konnte nicht entschlüsselt werden. Bitte wende dich an den Admin: ";
-#line 199 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- responseStream << ( adminEmail );
- responseStream << "
\n";
- responseStream << "\t\t";
-#line 200 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- } responseStream << "\n";
- responseStream << "\t";
-#line 201 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- } else if(SHOW_PASSPHRASE == state) { responseStream << "\n";
- responseStream << "\t\t
Deine neue Passphrase, bitte schreibe sie dir auf (am besten auf einen Zettel) und hebe sie gut auf. \n";
- responseStream << "\t\tDu brauchst sie wenn du dein Passwort vergessen hast oder dein Konto umziehen möchtest:
\n";
- responseStream << "\t\t
Deine neue Passphrase: \n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\t";
-#line 206 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- responseStream << ( mSession->getPassphrase()->getString() );
- responseStream << "\n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\n";
- responseStream << "\t\t
\n";
- responseStream << "\t\t\tVerwendungszweck für Überweisung:
\n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t \n";
- responseStream << "\t";
-#line 214 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- } else if(FINISH == state) { responseStream << "\n";
- responseStream << "\t\t
Neue Daten erfolgreich gespeichert, bitte logge dich nun aus. Danach kannst du dich gerne wieder einloggen und müsstest dein Guthaben wieder auf deinem Konto haben.
\n";
- responseStream << "\t\t
Ausloggen \n";
- responseStream << "\t";
-#line 217 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\repairDefectPassphrase.cpsp"
- } responseStream << "\n";
- responseStream << "
\n";
- // begin include footer.cpsp
- responseStream << " \n";
- responseStream << "
Copyright © Gradido 2020
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << " ";
-#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( mTimeProfiler.string() );
- responseStream << "\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "
Login Server in Entwicklung
\n";
- responseStream << "
Alpha ";
-#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "";
- // end include footer.cpsp
- if (_compressResponse) _gzipStream.close();
-}
diff --git a/login_server/src/cpp/HTTPInterface/RepairDefectPassphrase.h b/login_server/src/cpp/HTTPInterface/RepairDefectPassphrase.h
deleted file mode 100644
index 9ea3371e0..000000000
--- a/login_server/src/cpp/HTTPInterface/RepairDefectPassphrase.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef RepairDefectPassphrase_INCLUDED
-#define RepairDefectPassphrase_INCLUDED
-
-
-#include "Poco/Net/HTTPRequestHandler.h"
-
-
-#include "SessionHTTPRequestHandler.h"
-
-
-class RepairDefectPassphrase: public SessionHTTPRequestHandler
-{
-public:
- RepairDefectPassphrase(Session*);
-
- void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
-};
-
-
-#endif // RepairDefectPassphrase_INCLUDED
diff --git a/login_server/src/cpp/HTTPInterface/ResetPassword.cpp b/login_server/src/cpp/HTTPInterface/ResetPassword.cpp
deleted file mode 100644
index 0d47ef89e..000000000
--- a/login_server/src/cpp/HTTPInterface/ResetPassword.cpp
+++ /dev/null
@@ -1,366 +0,0 @@
-#include "ResetPassword.h"
-#include "Poco/Net/HTTPServerRequest.h"
-#include "Poco/Net/HTTPServerResponse.h"
-#include "Poco/Net/HTMLForm.h"
-#include "Poco/DeflatingStream.h"
-
-
-#line 6 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\resetPassword.cpsp"
-
-#include "../SingletonManager/LanguageManager.h"
-#include "../SingletonManager/SessionManager.h"
-#include "../SingletonManager/EmailManager.h"
-#include "../controller/User.h"
-#include "../controller/UserBackup.h"
-
-enum PageState {
- PAGE_EMAIL_ASK,
- PAGE_ASK,
- PAGE_WAIT_EMAIL,
- PAGE_WAIT_ADMIN,
- PAGE_EMAIL_ALREADY_SEND
-};
-#line 1 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header.cpsp"
-
-#include "../ServerConfig.h"
-
-
-void ResetPassword::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
-{
- response.setChunkedTransferEncoding(true);
- response.setContentType("text/html");
- bool _compressResponse(request.hasToken("Accept-Encoding", "gzip"));
- if (_compressResponse) response.set("Content-Encoding", "gzip");
-
- Poco::Net::HTMLForm form(request, request.stream());
-#line 20 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\resetPassword.cpsp"
-
- PageState state = PAGE_EMAIL_ASK;
- auto lm = LanguageManager::getInstance();
- auto sm = SessionManager::getInstance();
- auto adminReceiver = EmailManager::getInstance()->getAdminReceiver();
-
- const char* pageName = "Passwort vergessen";
- auto lang = chooseLanguage(request);
-
- // class="btn btn-outline-secondary flag-btn"
- // class="btn btn-secondary disabled flag-btn" disabled
- std::string eng_btn_classes = "";
- std::string de_btn_classes = "";
-
- auto langCatalog = lm->getFreeCatalog(lang);
-
- std::string emailInputClass = "form-control";
- std::string passphraseRadioClass = "group";
-
- std::string email = "";
-
- if(!form.empty()) {
- auto session = sm->getNewSession();
- email = form.get("email", "");
- auto passphraseMemorized = form.get("passphrase_memorized", "");
- auto user = controller::User::create();
- auto ask = form.get("ask_passphrase", "");
-
- if(email != "")
- {
- bool user_exist = false;
- bool sendUserEmail = false;
-
- if(!sm->isValid(email, VALIDATE_EMAIL)) {
- addError(new Error(gettext(session, "E-Mail"), gettext(session, "Das ist keine gültige E-Mail Adresse")), false);
- emailInputClass += " is-invalid";
- }
- user_exist = user->load(email) == 1;
-
- if(ask == "true")
- {
- if(passphraseMemorized == "") {
- addError(new Error(gettext(session, "Passphrase"), gettext(session, "Bitte wähle eine Option aus.")), false);
- passphraseRadioClass += " group-is-invalid";
- } else if(passphraseMemorized == "true") {
- sendUserEmail = true;
- }
-
- }
- else
- {
- if(user_exist && (!user->tryLoadPassphraseUserBackup() || !user->hasPublicKey())) {
- sendUserEmail = true;
- }
- }
-
- if(!errorCount())
- {
- // send reset password email
- int result = 0;
- if(user_exist) {
- result = session->sendResetPasswordEmail(user, sendUserEmail, ServerConfig::g_serverPath + "/checkEmail");
- }
-
- if(2 == result) {
- state = PAGE_EMAIL_ALREADY_SEND;
- } else if(sendUserEmail) {
- state = PAGE_WAIT_EMAIL;
- } else {
- state = PAGE_WAIT_ADMIN;
- }
- }
- }
- else
- {
- addError(new Error(gettext(session, "E-Mail"), gettext(session, "E-Mail Adresse nicht angegeben.")), false);
- emailInputClass += " is-invalid";
- }
-
- }
-
-
-#line 3 "F:\\Gradido\\gradido_local\\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;
- responseStream << "\n";
- // begin include header.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#line 11 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header.cpsp"
- responseStream << ( pageName );
- responseStream << " \n";
- responseStream << " \n";
-#line 13 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header.cpsp"
- if(withMaterialIcons) { responseStream << "\n";
- responseStream << " \n";
-#line 15 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\header.cpsp"
- } responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "\t\n";
- // begin include footer.cpsp
- responseStream << " \n";
- responseStream << "
Copyright © Gradido 2020
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << " ";
-#line 6 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( mTimeProfiler.string() );
- responseStream << "\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "
Login Server in Entwicklung
\n";
- responseStream << "
Alpha ";
-#line 10 "F:\\Gradido\\gradido_local\\login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "";
- // end include footer.cpsp
- responseStream << "\n";
- if (_compressResponse) _gzipStream.close();
-}
diff --git a/login_server/src/cpp/HTTPInterface/ResetPassword.h b/login_server/src/cpp/HTTPInterface/ResetPassword.h
deleted file mode 100644
index 639022270..000000000
--- a/login_server/src/cpp/HTTPInterface/ResetPassword.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef ResetPassword_INCLUDED
-#define ResetPassword_INCLUDED
-
-
-#include "Poco/Net/HTTPRequestHandler.h"
-
-
-#include "PageRequestMessagedHandler.h"
-
-
-class ResetPassword: public PageRequestMessagedHandler
-{
-public:
- void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
-};
-
-
-#endif // ResetPassword_INCLUDED
diff --git a/login_server/src/cpp/HTTPInterface/SaveKeysPage.cpp b/login_server/src/cpp/HTTPInterface/SaveKeysPage.cpp
deleted file mode 100644
index 3d8d79b67..000000000
--- a/login_server/src/cpp/HTTPInterface/SaveKeysPage.cpp
+++ /dev/null
@@ -1,281 +0,0 @@
-#include "SaveKeysPage.h"
-#include "Poco/Net/HTTPServerRequest.h"
-#include "Poco/Net/HTTPServerResponse.h"
-#include "Poco/Net/HTMLForm.h"
-#include "Poco/DeflatingStream.h"
-
-
-#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
-
-#include "Poco/Net/HTTPServerParams.h"
-
-enum PageState
-{
- PAGE_ASK,
- PAGE_SHOW_PUBKEY,
- PAGE_ERROR
-};
-
-#line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
-
-#include "../ServerConfig.h"
-
-
-SaveKeysPage::SaveKeysPage(Session* arg):
- SessionHTTPRequestHandler(arg)
-{
-}
-
-
-void SaveKeysPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
-{
- response.setChunkedTransferEncoding(true);
- response.setContentType("text/html");
- bool _compressResponse(request.hasToken("Accept-Encoding", "gzip"));
- if (_compressResponse) response.set("Content-Encoding", "gzip");
-
- Poco::Net::HTMLForm form(request, request.stream());
-#line 18 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
-
- const char* pageName = "Daten auf Server speichern?";
- bool hasErrors = mSession->errorCount() > 0;
- // crypto key only in memory, if user has tipped in his passwort in this session
- auto user = mSession->getNewUser();
- bool hasPassword = user->getModel()->hasPrivateKeyEncrypted();
- PageState state = PAGE_ASK;
- auto uri_start = ServerConfig::g_php_serverPath;//request.serverParams().getServerName();
-
- // skip asking user if he like to save keys and passphrase on server for now!
- state = PAGE_SHOW_PUBKEY;
- if(!mSession->generateKeys(true, true)) {
- getErrors(mSession);
- }
- /*
- if(!form.empty()) {
- // privkey
- auto savePrivkeyChoice = form.get("save-privkey");
- bool savePrivkey = false;
- if(savePrivkeyChoice == "yes") {
- if(!hasPassword) {
- // check pwd
- auto pwd = form.get("save-privkey-password", "");
-
- if(!mSession->isPwdValid(pwd)) {
- addError(new Error("Passwort", "Das Passwort stimmt nicht. Bitte verwende dein Passwort von der Registrierung"), false);
- hasErrors = true;
- } else {
- savePrivkey = true;
- }
- } else {
- savePrivkey = true;
- }
- }
- if(!hasErrors) {
- auto savePassphraseChoice = form.get("save-passphrase");
- bool savePassphrase = false;
- if(savePassphraseChoice == "yes") {
- savePassphrase = true;
- }
- if(!mSession->generateKeys(savePrivkey, savePassphrase)) {
- hasErrors = true;
- } else if(mSession->getSessionState() >= SESSION_STATE_KEY_PAIR_GENERATED) {
- state = PAGE_SHOW_PUBKEY;
-
- //printf("uri_start: %s\n", uri_start.data());
- //response.redirect(uri_start + "/");
- } else {
- state = PAGE_ERROR;
- }
- }
- //printf("SaveKeysPage: hasErrors: %d, session state: %d, target state: %d\n",
- //hasErrors, mSession->getSessionState(), SESSION_STATE_KEY_PAIR_GENERATED);
- }*/
- getErrors(mSession);
- std::ostream& _responseStream = response.send();
- Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1);
- std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream;
- responseStream << "\n";
- // begin include header_old.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
- responseStream << ( pageName );
- responseStream << " \n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\t
Login Server in Entwicklung
\n";
- responseStream << "\t
Alpha ";
-#line 53 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- // end include header_old.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\t
Daten speichern \n";
- responseStream << "\t";
-#line 76 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- responseStream << ( getErrorsHtml() );
- responseStream << "\n";
- responseStream << "\t";
-#line 77 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- if(state == PAGE_ASK) { responseStream << "\n";
- responseStream << "\t
\n";
- responseStream << "\t\t\n";
- responseStream << "\t\t\tGradido Private Key speichern \n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\t
Möchtest du deinen Gradido Private Key auf dem Server mit deinem Passwort verschlüsselt speichern?
\n";
- responseStream << "\t\t\t\t
Wenn du ihn speicherst brauchst du dich in Zukunft nur mit deiner E-Mail und deinem Passwort einzuloggen.
\n";
- responseStream << "\t\t\t\t
Wenn du ihn nicht speicherst, müsstest du jedes mal wenn du eine Transaktion machen willst, deine Passphrase hier reinkopieren.
\n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\t \n";
- responseStream << "\t\t\t\tJa, bitte speichern! \n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t";
-#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- if(!hasPassword) { responseStream << "\n";
- responseStream << "\t\t\t\tIch brauche nochmal dein Passwort wenn du dich für ja entscheidest.
\n";
- responseStream << "\t\t\t\t\n";
- responseStream << "\t\t\t\t\tPasswort \n";
- responseStream << "\t\t\t\t\t \n";
- responseStream << "\t\t\t\t
\n";
- responseStream << "\t\t\t";
-#line 96 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- } responseStream << "\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\t \n";
- responseStream << "\t\t\t\tNein, ich kümmere mich selbst darum! \n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t \n";
- responseStream << "\t\t\n";
- responseStream << "\t\t\tPassphrase speichern \n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\t
Möchtest du deine Passphrase mit dem Server-Admin-Key verschlüsselt auf dem Server gespeichert haben?
\n";
- responseStream << "\t\t\t\t
Dann kann dir der Server-Admin deine Passphrase zuschicken wenn du sie verlegt hast.
\n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\t \n";
- responseStream << "\t\t\t\tJa, bitte speichern! \n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\t \n";
- responseStream << "\t\t\t\tNein, ich vertraue nur mir selbst! \n";
- responseStream << "\t\t\t
\n";
- responseStream << "\t\t \n";
- responseStream << "\t\t \n";
- responseStream << "\t \n";
- responseStream << "\t";
-#line 119 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- } else if(state == PAGE_SHOW_PUBKEY) { responseStream << "\n";
- responseStream << "\t\t
\n";
- responseStream << "\t\t\t
";
-#line 121 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- responseStream << ( gettext("Daten gespeichert!") );
- responseStream << "
\n";
- responseStream << "\t\t\t
";
-#line 122 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- responseStream << ( gettext("Deine Daten wurden verschlüsselt und gespeichert.") );
- responseStream << "
\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t\n";
- responseStream << "\t\t\t
Zurück zur Startseite \n";
- responseStream << "\t\t
\n";
- responseStream << "\t";
-#line 131 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- } else if(state == PAGE_ERROR) { responseStream << "\n";
- responseStream << "\t\t
\n";
- responseStream << "\t\t\t
Ein Fehler trat auf, bitte versuche es erneut oder wende dich an den Server-Admin
\n";
- responseStream << "\t\t\t";
-#line 134 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- responseStream << ( mSession->getSessionStateString() );
- responseStream << "\n";
- responseStream << "\t\t
\n";
- responseStream << "\t";
-#line 136 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\saveKeys.cpsp"
- } responseStream << "\n";
- responseStream << "
\n";
- // begin include footer.cpsp
- responseStream << " \n";
- responseStream << "
Copyright © Gradido 2020
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << " ";
-#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( mTimeProfiler.string() );
- responseStream << "\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "
Login Server in Entwicklung
\n";
- responseStream << "
Alpha ";
-#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
- responseStream << ( ServerConfig::g_versionString );
- responseStream << "
\n";
- responseStream << "
\n";
- responseStream << " \n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "";
- // end include footer.cpsp
- responseStream << "\n";
- if (_compressResponse) _gzipStream.close();
-}
diff --git a/login_server/src/cpp/HTTPInterface/SaveKeysPage.h b/login_server/src/cpp/HTTPInterface/SaveKeysPage.h
deleted file mode 100644
index 84d9e8d21..000000000
--- a/login_server/src/cpp/HTTPInterface/SaveKeysPage.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef SaveKeysPage_INCLUDED
-#define SaveKeysPage_INCLUDED
-
-
-#include "Poco/Net/HTTPRequestHandler.h"
-
-
-#include "SessionHTTPRequestHandler.h"
-
-
-class SaveKeysPage: public SessionHTTPRequestHandler
-{
-public:
- SaveKeysPage(Session*);
-
- void handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response);
-};
-
-
-#endif // SaveKeysPage_INCLUDED
diff --git a/login_server/src/cpp/HTTPInterface/TranslatePassphrase.cpp b/login_server/src/cpp/HTTPInterface/TranslatePassphrase.cpp
deleted file mode 100644
index 3465367e6..000000000
--- a/login_server/src/cpp/HTTPInterface/TranslatePassphrase.cpp
+++ /dev/null
@@ -1,318 +0,0 @@
-#include "TranslatePassphrase.h"
-#include "Poco/Net/HTTPServerRequest.h"
-#include "Poco/Net/HTTPServerResponse.h"
-#include "Poco/Net/HTMLForm.h"
-#include "Poco/DeflatingStream.h"
-
-
-#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\translatePassphrase.cpsp"
-
-#include "../Crypto/KeyPairEd25519.h"
-#include "../ServerConfig.h"
-#line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header.cpsp"
-
-#include "../ServerConfig.h"
-
-
-TranslatePassphrase::TranslatePassphrase(Session* arg):
- SessionHTTPRequestHandler(arg)
-{
-}
-
-
-void TranslatePassphrase::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response)
-{
- response.setChunkedTransferEncoding(true);
- response.setContentType("text/html");
- bool _compressResponse(request.hasToken("Accept-Encoding", "gzip"));
- if (_compressResponse) response.set("Content-Encoding", "gzip");
-
- Poco::Net::HTMLForm form(request, request.stream());
-#line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\translatePassphrase.cpsp"
-
- chooseLanguage(request);
- // variable needed for flags
- auto lang = mSession->getLanguage();
- auto uri_start = ServerConfig::g_serverPath;
- const char* pageName = gettext("Passphrase Transformieren");
- std::string passphrase;
- auto role = mSession->getNewUser()->getModel()->getRole();
- std::string inputPassphrase;
-
- Mnemonic* wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
- Mnemonic* targetSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES];
- if(lang == LANG_DE) {
- wordSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES];
- targetSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
- }
-
- if(!form.empty())
- {
-
- inputPassphrase = form.get("inputPassphrase", "");
- auto localPassphrase = Passphrase::filter(inputPassphrase);
-
- auto btnGenerate = form.get("btnGenerate", "");
- if("" != btnGenerate) {
- auto passphrase_gen = Passphrase::generate(wordSource);
-
- localPassphrase = passphrase_gen->getString();
- inputPassphrase = localPassphrase;
- }
- auto passphrase_object = Passphrase::create(localPassphrase, wordSource);
- if(localPassphrase != "" && passphrase_object.isNull() || !passphrase_object->checkIfValid()) {
- addError(new Error(
- gettext("Fehler"),
- gettext("Diese Passphrase ist ungültig, bitte überprüfen oder neu generieren (lassen).")
- ), false);
- } else {
- if(wordSource == &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER]) {
- targetSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER_FIXED_CASES];
- } else {
- targetSource = &ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER];
- }
- auto transformed_passphrase_obj = passphrase_object->transform(targetSource);
- passphrase = transformed_passphrase_obj->getString();
- }
-
-
- }
-#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;
- responseStream << "\n";
- // begin include login_header.cpsp
- // begin include header.cpsp
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << "\n";
- responseStream << " \n";
- responseStream << " \n";
- responseStream << "Gradido Login Server: ";
-#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 << "