adding debug output

This commit is contained in:
Dario Rekowski on RockPI 2019-10-07 07:04:34 +00:00
parent 5a6a77d601
commit e4ffe57750
8 changed files with 41 additions and 11 deletions

View File

@ -103,6 +103,7 @@ bool KeyPair::generateFromPassphrase(const char* passphrase, Mnemonic* word_sour
printf("Sodium Private: \t%s\n", getHex(*mSodiumSecret, mSodiumSecret->size()).data());
printf("// ********* Keys End ************ //\n");
*/
printf("[KeyPair::generateFromPassphrase] finished!\n");
// using
return true;
}

View File

@ -18,11 +18,15 @@ ObfusArray::ObfusArray(size_t size, const unsigned char * data)
d[m_arraySize - 4] = randombytes_random();
memcpy(&m_Data[m_offsetSize], data, size);
printf("[ObfusArray] data: %lld\n", (int64_t)m_Data);
}
ObfusArray::~ObfusArray()
{
printf("[ObfusArray::~ObfusArray] data: %lld\n", (int64_t)m_Data);
if (m_Data) {
free(m_Data);
}
printf("[ObfusArray::~ObfusArray] finish\n");
}

View File

@ -49,11 +49,13 @@ void DashboardPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::N
responseStream << "<div class=\"grd_container\">\n";
responseStream << "\t<h1>Willkommen ";
#line 28 "/home/rock/code/gradido_login_server/src/cpsp/dashboard.cpsp"
printf("[DashboardPage] call get User get Name: \n");
responseStream << ( mSession->getUser()->getName() );
responseStream << "</h1>\n";
responseStream << "\t<h3>Status</h3>\n";
responseStream << "\t<p>";
#line 30 "/home/rock/code/gradido_login_server/src/cpsp/dashboard.cpsp"
printf("[DashboardPage] call getSessionStateString: \n");
responseStream << ( mSession->getSessionStateString() );
responseStream << "</p>\n";
responseStream << "\t";

View File

@ -33,7 +33,8 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
session->setClientIp(user_host);
response.addCookie(session->getLoginCookie());
auto uri_start = request.serverParams().getServerName();
response.redirect(uri_start + "/");
//response.redirect(uri_start + "/");
response.redirect("./");
return;
}
} else {
@ -78,7 +79,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
responseStream << "\t<div class=\"grd_container\">\n";
responseStream << "\t\t<h1>Login</h1>\n";
responseStream << "\t\t";
#line 62 "/home/rock/code/gradido_login_server/src/cpsp/login.cpsp"
#line 63 "/home/rock/code/gradido_login_server/src/cpsp/login.cpsp"
responseStream << ( session->getErrorsHtml() );
responseStream << "\n";
responseStream << "\t\t<fieldset class=\"grd_container_small\">\n";

View File

@ -77,6 +77,7 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
return new SaveKeysPage(s);
}
if (s && s->getUser()) {
printf("[PageRequestHandlerFactory] go to dashboard page with user\n");
return new DashboardPage(s);
}
} else {

View File

@ -498,6 +498,7 @@ bool Session::generateKeys(bool savePrivkey, bool savePassphrase)
}
else {
if (savePassphrase) {
printf("[Session::generateKeys] create save passphrase task\n");
UniLib::controller::TaskPtr savePassphrase(new WritePassphraseIntoDB(mSessionUser->getDBId(), mPassphrase));
savePassphrase->setFinishCommand(new SessionStateUpdateCommand(SESSION_STATE_PASSPHRASE_WRITTEN, this));
savePassphrase->scheduleTask(savePassphrase);

View File

@ -23,11 +23,12 @@ int UserCreateCryptoKey::run()
mUser->setCryptoKey(cryptoKey);
if (sizeof(User::passwordHashed) != crypto_shorthash_BYTES) {
printf("[UserCreateCryptoKey] crypto_shorthash_BYTES != sizeof(mPasswordHashed)\n");
throw Poco::Exception("crypto_shorthash_BYTES != sizeof(mPasswordHashed)");
}
User::passwordHashed pwdHashed;
crypto_shorthash((unsigned char*)&pwdHashed, *cryptoKey, crypto_box_SEEDBYTES, *ServerConfig::g_ServerCryptoKey);
mUser->setPwdHashed(pwdHashed);
printf("crypto key created\n");
@ -54,11 +55,18 @@ int UserGenerateKeys::run()
int UserWriteIntoDB::run()
{
auto cm = ConnectionManager::getInstance();
auto em = ErrorManager::getInstance();
auto session = cm->getConnection(CONNECTION_MYSQL_LOGIN_SERVER);
Poco::Data::Statement insert = mUser->insertIntoDB(session);
if (1 != insert.execute()) {
mUser->addError(new Error("User::insertIntoDB", "error by inserting data tuple to db"));
return -1;
try {
if (1 != insert.execute()) {
mUser->addError(new Error("User::insertIntoDB", "error by inserting data tuple to db"));
return -1;
}
} catch (Poco::Exception& ex) {
em->addError(new ParamError("[UserWriteIntoDB]", "error writing into db", ex.displayText().data()));
em->sendErrorsAsEmail();
return -3;
}
if (!mUser->loadEntryDBId(session)) {
return -2;
@ -86,14 +94,18 @@ int UserWriteKeysIntoDB::run()
auto keyPairs = getParent(0).cast<UserGenerateKeys>()->getKeyPairs();
auto pubKey = keyPairs->getPublicKey();
printf("[UserWriteKeysIntoDB] after init\n");
Poco::Data::BLOB pubkey_blob(pubKey, crypto_sign_PUBLICKEYBYTES);
Poco::Data::Statement update(session);
Poco::Data::BLOB* pprivkey_blob = nullptr;
if (mSavePrivKey) {
printf("[UserWriteKeysIntoDB] save privkey\n");
// TODO: encrypt privkey
auto privKey = keyPairs->getPrivateKey();
printf("[UserWriteKeysIntoDB] privKey hex: %s\n", KeyPair::getHex(*privKey, privKey->size()).data());
pprivkey_blob = mUser->encrypt(privKey);
printf("[UserWriteKeysIntoDB] privkey encrypted\n");
//Poco::Data::BLOB privkey_blob(*privKey, privKey->size());
update << "UPDATE users SET pubkey=?, privkey=? where id=?",
@ -122,6 +134,7 @@ int UserWriteKeysIntoDB::run()
}
return -1;
}
printf("[UserWriteKeysIntoDB] after saving into db\n");
if (pprivkey_blob) {
delete pprivkey_blob;
}
@ -310,6 +323,7 @@ bool User::generateKeys(bool savePrivkey, const std::string& passphrase, Session
session->updateState(SESSION_STATE_KEY_PAIR_GENERATED);
if (mDBId == 0) {
//printf("[User::generateKeys] dbid is zero, load from db\n");
loadEntryDBId(ConnectionManager::getInstance()->getConnection(CONNECTION_MYSQL_LOGIN_SERVER));
if (mDBId == 0) {
auto em = ErrorManager::getInstance();
@ -375,14 +389,19 @@ Poco::Data::Statement User::insertIntoDB(Poco::Data::Session session)
bool User::loadEntryDBId(Poco::Data::Session session)
{
auto em = ErrorManager::getInstance();
Poco::Data::Statement select(session);
select << "SELECT id from users where email = ?;",
into(mDBId), use(mEmail);
if (select.execute() != 1) {
addError(new Error("User::loadEntryDBId", "didn't get expectet row count (1)"));
return false;
try {
if (select.execute() != 1) {
addError(new Error("User::loadEntryDBId", "didn't get expectet row count (1)"));
return false;
}
} catch(Poco::Exception& ex) {
em->addError(new ParamError("[User::loadEntryDBId]", "error selecting from db", ex.displayText().data()));
em->sendErrorsAsEmail();
}
return true;

View File

@ -18,7 +18,8 @@
session->setClientIp(user_host);
response.addCookie(session->getLoginCookie());
auto uri_start = request.serverParams().getServerName();
response.redirect(uri_start + "/");
//response.redirect(uri_start + "/");
response.redirect("./");
return;
}
} else {