aboutsummaryrefslogtreecommitdiff
path: root/node/node.cpp
AgeCommit message (Collapse)Author
2016-11-07prepares the api for sending and mixing messages in the realtime phase.Dennis Brentjes
2016-11-04Splits up the Node.cpp class in 3 parts.Dennis Brentjes
2016-11-04Fixes the build on gcc 4.9.4Dennis Brentjes
2016-11-04Consolidated all the crypto apis and implemented the Precomputation ↵Dennis Brentjes
Postprocessing step
2016-11-03Fixed the permutation step and reduced some code duplication.Dennis Brentjes
2016-11-01Moves cmix calculation stuff outisde of the node class.Dennis Brentjes
Moves the computations and cryptography to the the libcmix library where we can group and memory manage the underlying crypto-library.
2016-10-30Adds a start to the precomputation mix phase.Dennis Brentjes
2016-10-30Fixes some memory leaks and consequent incorrect frees.Dennis Brentjes
2016-10-30Added the Preprocessing step for the Precomputation of CMix.Dennis Brentjes
2016-10-27Added proper keyexchange for elgamal-gcrypt.Dennis Brentjes
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-21Adds SSL connections between nodes.Dennis Brentjes
2016-10-20First node now wait untill it is connected to, to start initialisation.Dennis Brentjes
2016-10-20Fixes the build and fixes a crash.Dennis Brentjes
2016-10-20Shared secret key is now distributed to the other nodes.Dennis Brentjes
2016-10-16made the code base more consistent and fixes some small TU issues.Dennis Brentjes
2016-10-14Refactored some code to be more consistent.Dennis Brentjes
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-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-10Added a Client so we can start finishing up the setup phase of cMix.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-04Fixes a bug in the network which send the wrong message length.Dennis Brentjes
2016-10-04Added a bignum library to abstract possible implementations.Dennis Brentjes
2016-10-01All CMix communication is now wrapped in a CMixMessage.Dennis Brentjes
2016-10-01Created a container Message CMixMessage for all network communication.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-22Adds a NextNode class and prepares the Node to start network initialization.Dennis Brentjes
2016-08-31Split up the client and server parts in a separate network libraryDennis Brentjes