aboutsummaryrefslogtreecommitdiff
path: root/node/node_node.cpp
diff options
context:
space:
mode:
authorDennis Brentjes <d.brentjes@gmail.com>2017-02-11 14:48:52 +0100
committerDennis Brentjes <d.brentjes@gmail.com>2017-02-11 17:54:40 +0100
commit623dffe2c054d1639dbf9c8f21ddfb088c7950fb (patch)
treef8159c5b3cf9872f9b271d03ad5a4b65ecec19b8 /node/node_node.cpp
parentb229dc91d8825689c5e66264b462ce01398e621e (diff)
downloadcmix-623dffe2c054d1639dbf9c8f21ddfb088c7950fb.tar.gz
cmix-623dffe2c054d1639dbf9c8f21ddfb088c7950fb.tar.bz2
cmix-623dffe2c054d1639dbf9c8f21ddfb088c7950fb.zip
Working Ed25519 Implementation of libcmix.
Diffstat (limited to 'node/node_node.cpp')
-rw-r--r--node/node_node.cpp30
1 files changed, 19 insertions, 11 deletions
diff --git a/node/node_node.cpp b/node/node_node.cpp
index db1be1f..05ca490 100644
--- a/node/node_node.cpp
+++ b/node/node_node.cpp
@@ -177,7 +177,7 @@ void fill_realtime_post_message(CMixContext& ctx, cmix_proto::RealPost& realpost
size_t len = get_group_element_array_size(&ctx);
std::vector<char*> mv(ctx.nr_participants, nullptr);
- for(int i = 0; i < ctx.nr_participants; ++i) {
+ for(size_t i = 0; i < ctx.nr_participants; ++i) {
std::string* m = realpost.add_m_epirs();
m->resize(len);
mv[i] = &(*m)[0];
@@ -192,8 +192,8 @@ void fill_realtime_post_message(CMixContext& ctx, cmix_proto::RealPost& realpost
m->resize(get_commitment_length(&ctx));
std::vector<const char*> mvs(ctx.nr_participants, nullptr);
- for(int i = 0; i < ctx.nr_participants; ++i) {
- mvs[i] = realmix.m(i).data();
+ for(size_t i = 0; i < ctx.nr_participants; ++i) {
+ mvs[i] = realmix.m(int(i)).data();
}
get_pimrs_commitment(
@@ -432,12 +432,12 @@ void Node::handle_node_realpost(cmix_proto::RealPost const& realpost) {
fill_realtime_post_message(cmix_ctx, n_realpost, realpost);
size_t len = get_group_element_array_size(&cmix_ctx);
- std::vector<std::string> messages(cmix_ctx.nr_participants);
+ std::vector<std::string> message_strings(cmix_ctx.nr_participants);
std::vector<const char*> pirs(cmix_ctx.nr_participants, nullptr);
std::vector<char*> msgs(cmix_ctx.nr_participants, nullptr);
for(size_t i = 0; i < cmix_ctx.nr_participants; ++i) {
- messages[i].resize(len);
- msgs[i] = &messages[i][0];
+ message_strings[i].resize(len);
+ msgs[i] = &message_strings[i][0];
pirs[i] = n_realpost.m_epirs(i).data();
}
@@ -448,23 +448,30 @@ void Node::handle_node_realpost(cmix_proto::RealPost const& realpost) {
pirs.data()
);
+ //for (auto&& mes : msgs) {
+ // std::cout << std::string(mes+32, 32) << std::endl;
+ //}
+
for(auto i = 0u; i < cmix_ctx.nr_participants; i++) {
{
std::stringstream ss;
- for(auto&& c : messages[i]) {
- ss << "\\" << std::setw(3) << std::setfill('0') << std::oct << (unsigned int) c;
+ for(int j = 32; j < 64; j++) {
+ ss << "\\" << std::setw(3) << std::setfill('0') << std::oct << (((unsigned int) msgs[i][j]) & 0xFF);
}
BOOST_LOG_TRIVIAL(trace) << ss.str();
}
+ char* message;
+ element_to_message(&cmix_ctx, (unsigned char**) &message, msgs[i]);
+
char* dest;
size_t dest_len;
char* payload;
size_t payload_len;
- split_message(&cmix_ctx, &dest, &dest_len, &payload, &payload_len, messages[i].data());
+ split_message(&cmix_ctx, &dest, &dest_len, &payload, &payload_len, message);
std::string dest_s = std::string(dest, dest_len);
@@ -474,6 +481,7 @@ void Node::handle_node_realpost(cmix_proto::RealPost const& realpost) {
free(dest);
free(payload);
+ free(message);
}
if(performance) {
@@ -556,7 +564,7 @@ void Node::handle_node_message(cmix_proto::CMixMessage message)
BOOST_LOG_TRIVIAL(error) << "handle_node_message: CMixMessage contains unknown contents.";
}
}
- prev_node.async_receive([this](cmix_proto::CMixMessage message) {
- handle_node_message(message);
+ prev_node.async_receive([this](cmix_proto::CMixMessage message2) {
+ handle_node_message(message2);
});
} \ No newline at end of file