diff --git a/test/test_tofu.cc b/test/test_tofu.cc index 6f16f55..df13aed 100644 --- a/test/test_tofu.cc +++ b/test/test_tofu.cc @@ -7,12 +7,9 @@ #include "framework/utils.hh" #include -#include #include -#include #include #include -#include using namespace pEp; using namespace pEp::Adapter; @@ -25,26 +22,46 @@ bool did_rx_encrypted = false; // The most minimal received msg contains of: // * from addres // * content -using MinMsgRx =std::tuple; +using MinMsgRx = std::tuple; void send(PityUnit &pity, PityPerspective *ctx) { + // Create Message pity.log("Initiating TOFU..."); pEpMessage msg = createMessage(ctx->own_ident, ctx->cpt_name, "INIT TOFU"); - EncryptResult msg_enc = encryptAndEncode(msg); - std::string mime_text = std::get<1>(msg_enc); - did_tx_encrypted = std::get<2>(msg_enc); + pity.log("BEFORE encrypt: \n" + Utils::to_string(msg.get())); + + //Encrypt + EncryptResult msg_encrypted = encryptMessage(msg); + did_tx_encrypted = std::get<2>(msg_encrypted); + pity.log("TX COULD ENCRYPT: " + std::to_string(did_tx_encrypted)); + pity.log("AFTER encrypt: \n" + Utils::to_string(std::get<0>(msg_encrypted).get())); + + // Encode + std::string mime_text = mimeEncode(std::get<0>(msg_encrypted)); + + // Send pity.transport()->sendMsg(ctx->cpt_name, mime_text); } MinMsgRx receive(PityUnit &pity, PityPerspective *ctx) { MinMsgRx ret; + // Receive std::string mime_data_rx = pity.transport()->receiveMsg(); - DecryptResult msg_rx = decryptAndDecode(mime_data_rx); - pEpMessage msg_rx_dec = std::get<0>(msg_rx); - did_rx_encrypted = std::get<4>(msg_rx); - pity.log("rx msg is encrypted: " + std::to_string(did_rx_encrypted)); + + // Decode + pEpMessage mime_decoded = mimeDecode(mime_data_rx); + pity.log("RX message - BEFORE decrypt: \n" + Utils::to_string(mime_decoded.get())); + + // Decrypt + DecryptResult msg_decrypted = decryptMessage(mime_decoded); + pEpMessage msg_rx_dec = std::get<0>(msg_decrypted); + did_rx_encrypted = std::get<4>(msg_decrypted); + pity.log("RX WAS ENCRYPTED: " + std::to_string(did_rx_encrypted)); + pity.log("RX message - AFTER decrypt: \n" + Utils::to_string(msg_rx_dec.get())); + + // Return result std::get<0>(ret) = std::string(msg_rx_dec->from->address); std::get<1>(ret) = std::string(msg_rx_dec->longmsg); return ret; @@ -52,6 +69,7 @@ MinMsgRx receive(PityUnit &pity, PityPerspective *ctx) void reply(PityUnit &pity, PityPerspective *ctx, MinMsgRx msg_orig) { + // Create Message std::string addr_orig = std::get<0>(msg_orig); std::string longmsg_orig = std::get<1>(msg_orig); @@ -59,10 +77,19 @@ void reply(PityUnit &pity, PityPerspective *ctx, MinMsgRx msg_o ctx->own_ident, addr_orig, "REPLY[ " + std::string(addr_orig) + " ] " + longmsg_orig); - EncryptResult eres = encryptAndEncode(msg); - std::string mime_data_tx = std::get<1>(eres); + + // Encrypt + pity.log("TX message - BEFORE encrypt: \n" + Utils::to_string(msg.get())); + EncryptResult eres = encryptMessage(msg); + pEpMessage msg_encrypted = std::get<0>(eres); did_tx_encrypted = std::get<2>(eres); - pity.log("tx msg is encrypted: " + std::to_string(did_tx_encrypted)); + pity.log("TX COULD ENCRYPT: " + std::to_string(did_tx_encrypted)); + pity.log("TX message - AFTER encrypt: \n" + Utils::to_string(msg_encrypted.get())); + + // Encode + std::string mime_data_tx = mimeEncode(msg_encrypted); + + // Send pity.transport()->sendMsg(addr_orig, mime_data_tx); } @@ -77,7 +104,7 @@ void tofu(PityUnit &pity, PityPerspective *ctx, bool init) // Create new identity pity.log("updating or creating identity for me"); - ctx->own_ident = createIdentity(ctx->own_name, true); + ctx->own_ident = createOwnIdent(ctx->own_name); ::PEP_STATUS status = ::myself(Adapter::session(), ctx->own_ident.get()); pEp::throw_status(status); if (init) {