aboutsummaryrefslogtreecommitdiff
path: root/libcmix-network
AgeCommit message (Collapse)Author
2016-11-22Added pointer tracing, and fixes memeory leaks within a single run of cmix.Dennis Brentjes
2016-11-21Reworked server and client to do one mix and shutdown.Dennis Brentjes
This is done as cleanly as possible to track down any memory leaks. unfortunately there is still one async operation running on the nodes. when there should be none. So the nodes are still forced to stop with a. io_service.stop().
2016-11-16Working implementation of elgamal in 2048 bit multiplicative group.Dennis Brentjes
2016-11-04Sets default standards for all CXX and C libraries.Dennis Brentjes
They can be indiviually be overridden when necessary.
2016-10-27Adds libgcrypt implementation for elgamal in multiplicative group.Dennis Brentjes
Also adapts the API to both handle sodium and gcrypt libraries.
2016-10-21Only send one transaction at a time when 2 async_sends are queued after each ↵Dennis Brentjes
other.
2016-10-21Adds SSL connections between nodes.Dennis Brentjes
2016-10-20Set the "reuse address" option on the acceptor tcp socket.Dennis Brentjes
2016-10-17Fixes the build on clangDennis Brentjes
Fixes an issue that was allowing targets that depend on libcmix-network to be build not using the c++11 standard.
2016-10-16Updates all the documentation.Dennis Brentjes
Mainly covers the network rewrites.
2016-10-13Second big network rewrite.Dennis Brentjes
This time without the ugly SFINAE hack to restrict sending and receiving on Senders and Receivers respectively. Replaced this hack with private inheritance and using declerations. Also renamed receive to async_receive to better reflect the behaviour.
2016-10-13Connecting client now have to send an id to each node.Dennis Brentjes
2016-10-13Added a stop condition for the client,Dennis Brentjes
When all the nodes have send a bye to the client, the client will shut down.
2016-10-12Major network rewrite.Dennis Brentjes
One generic class has been introduced to handle all connection types. Typedefs provide Sender Receiver and SenderReceiver types, which limit the functionality of the types. As to not accidentally communicate with the wrong node about things.
2016-10-11Commit introducing Client keyexchange, triggering bugs.Dennis Brentjes
Clients now send their public key to each node and the node calculates the shared secret. The node does not yet respond with it's public key. To keep this commit smaller. Nodes now disconnect from each other in a better way. Getting the relevant crypto api is now done with a generic function. What crypto algorithm and implemenation is beign used can be selected in the cmake cache (use cmake-gui or ccmake) Clients now connect correctly to multiple nodes.
2016-10-05Fixes some bugs in parsing the program_options.Dennis Brentjes
2016-10-05Seperates Nodes and Clients for incoming connections.Dennis Brentjes
Created a PrevNode class to reflect the seperation. Made Client movable. Added 2 empty protobuf message that declare what each connecting client is, sent when connected to a node.
2016-10-05Added some missing documentation for the retry connections.Dennis Brentjes
2016-10-04Retry connecting 5 times, 3, 6, 12, 24, 48 and 96 seconds between attemptsDennis Brentjes
2016-10-04Fixes a bug in the network which send the wrong message length.Dennis Brentjes
2016-10-01Adds some missing documentation of the Client class.Dennis Brentjes
2016-10-01Removes all tracing log calls.Dennis Brentjes
2016-10-01Fixes the build for mxe-cross-builds, and if building shared libraries.Dennis Brentjes
2016-09-29This changset triggered a storm of changes.Dennis Brentjes
Added the behaviour for receiving a public_share message from our previous node when not being the first node ourselves. This triggered the whitespace bug below, which sparked the network rewrite. Rewrote network protocol to first send the size of the message it's sending in a 32bit integer in network byte order. Fixed a bug where whitespace in the received buffer would be skipped. leading to broken protobuf messages. NextNode no longers inherits from client but owns one, and some functions needed to be forwarded.
2016-09-29Added some boilerplate to enable ssl connections.Dennis Brentjes
2016-09-28Finally made a initial doxygen documentation pass over all files.Dennis Brentjes
2016-09-28Made changes so we can have a 1 Node cmix network.Dennis Brentjes
2016-09-22Explicitely default initialize done handler, checks done before executing.Dennis Brentjes
2016-09-22Added connect wrapper to for libcmix-networkDennis Brentjes
2016-08-31Split up the client and server parts in a separate network libraryDennis Brentjes