Dandelion-Message-Service
Dandelion-Message-Service copied to clipboard
There is no notion of time (or even a partial order) in the distributed message DB. Introduce a timestamp field in the messages that clients can choose to fill out...
Currently private identities (private key components) are stored in the data base as plain data. That's no real security at all. Add a symetric crypto step that uses a password...
Should we add any restrictions on message contents? We could e.g. strip html / js to avoid attacks if that data is presented in a browser, but is this really...
When receiving data the client should perform some form of validation of incoming data and terminate the connection if things look funky.
Modify the protocol so that clients can request messages that have particular senders or receivers only. This might be useful to reduce traffic in case a database gets filled with...
On connection failure with known (transient) servers, try to sync less frequent before finally eliminating them from the known servers list.
Add an additional discovery mechanism: IPv6 LAN discovery (ping6 -c4 -I eth0 ff02::1)
Support use of local IPv6 address and sync with remote IPv6 server. Check data structures and library calls.
Implement two connection modes. One permanent (connect - sync - wait -sync - ... ) and one transient (connect - sync - disconnect). Update the protocol with new commands for...
Parallelize the synchronization process (spawn multiple clients to sync with different data bases). An impl. would probably use a small thread pool (2-10 threads). Note: Must document thread safety constraints...