aboutsummaryrefslogtreecommitdiff
path: root/client/cmixclient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/cmixclient.cpp')
-rw-r--r--client/cmixclient.cpp29
1 files changed, 24 insertions, 5 deletions
diff --git a/client/cmixclient.cpp b/client/cmixclient.cpp
index fca653b..17f6e76 100644
--- a/client/cmixclient.cpp
+++ b/client/cmixclient.cpp
@@ -76,22 +76,41 @@ void CMixClient::handle_key_exchange(size_t node_id, cmix_proto::KeyExchange con
);
if(std::all_of(shared_values.begin(), shared_values.end(), [](GroupElement const& value){return value != nullptr;})) {
- size_t len = get_message_size(&cmix_ctx);
-
+ size_t len = cmix_ctx.nr_mixes * get_message_size(&cmix_ctx);
std::vector<char> vec(len, '\0');
char* id;
size_t id_len;
get_pub_key_hash(&cmix_ctx, &id, &id_len);
- std::string s = "abcdefghijklmnopqrstuvwxyz";
+ std::string s = "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz"
+ "abcdefghijklmnopqrstuvwxyz";
create_message(&cmix_ctx, vec.data(), id, id_len, s.data(), s.size());
free(id);
cmix_proto::UserMessage message;
- message.mutable_m()->resize(get_group_element_array_size(&cmix_ctx));
+ message.mutable_m()->resize(get_group_element_array_size(&cmix_ctx) * cmix_ctx.nr_mixes);
blind_message(&cmix_ctx, &(*message.mutable_m())[0], vec.data(), shared_values.data(), shared_values.size());
@@ -145,7 +164,7 @@ void CMixClient::handle_message(size_t node_id, cmix_proto::CMixMessage message)
CMixClient::CMixClient(NetworkDetails details)
: io_service()
, ssl_ctx(std::make_shared<boost::asio::ssl::context>(boost::asio::ssl::context::sslv23))
-, cmix_ctx(initialize_cmix_context(get_implementation()))
+, cmix_ctx(initialize_cmix_context(get_implementation(), details.nr_mixes))
, network_details(details)
, network_connections()
, secret_values()