aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-10-20Shared secret key is now distributed to the other nodes.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-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-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-10Added a Client so we can start finishing up the setup phase of cMix.Dennis Brentjes
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-05Added bignum library documentation.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-04Added a bignum library to abstract possible implementations.Dennis Brentjes
2016-10-01Adds some missing documentation of the Client class.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-29Replaced the RSA implementation with an Elgamal implementation.Dennis Brentjes
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-28added some cmake modules to forinstance enable sanitizer options.Dennis Brentjes
2016-09-22Adds a NextNode class and prepares the Node to start network initialization.Dennis Brentjes
2016-09-22Some changes to the network-handler.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-09-22Reduced duplication in the CMakeLists for libcmix-cryptoDennis Brentjes
2016-09-22Added a logging facility using boost::log::trivial.Dennis Brentjes
2016-09-08Added null-rsa implementation.Dennis Brentjes
2016-09-02Changed to api to be less repetative in use.Dennis Brentjes
2016-09-01Added a sodium implementation for creating private and public keys.Dennis Brentjes
2016-09-01Added a CMake system to easily add and choose crypto implementations.Dennis Brentjes
2016-08-31Restructered libcmix-crypto, hiding implementation specifics.Dennis Brentjes
2016-08-31Fixes building a test executable on a non C99 default compiler.Dennis Brentjes
2016-08-31Split up the client and server parts in a separate network libraryDennis Brentjes
2016-08-30Removes some debug statements.Dennis Brentjes
2016-08-30Replaced Client based implementation to composition instead of inheritance.Dennis Brentjes
2016-08-30Split NetworkHandler in a server component and a to reuse Server.Dennis Brentjes
Also switched from an inheritance system to composition based system for the server based classes.
2016-08-30Proof of concept skeleton, linktime algorithm implementation selection.Dennis Brentjes
2016-08-30Removing some comments and undefining a macro.Dennis Brentjes
2016-08-29Refactored Client to be more reusable.Dennis Brentjes
Added UserClient and NodeClient classes to handle communication from and to Clients and Nodes respectively.
2016-08-29Some cleanup for asynchronously reading stdin.Dennis Brentjes
2016-08-29Cleaned up cmix libraries, added extern "C" linkage when included from c++Dennis Brentjes