Home Documentation Tracker Download

Frequently asked questions (FAQ)

Why is there no user name / password?

Because this is neither secure nor convenient. Users tend to use weak passwords, which renders the most secure encryption algorithms useless. Additionally, handling passwords is cumbersome.

CloudStore uses a far more secure and much easier authentication scheme based on every repository having its own public/private key pair. Before repositories synchronise data, they are introduced to each other, establishing a trust relationship between them.

We will later add ordinary user+password-based authentication additionally, but this will never be used for the actual synchronisation. It will only be used for other ways of accessing a repository (e.g. via a browser) where this classic approach is needed. And since it's optional you might keep it disabled for security reasons.

Please consult the Security page for further details.

Why are my system's certificate authorities (CAs) ignored?

Because the CA system is broken by design: You do not know any of the companies/persons acting as CAs and therefore you have no reason to trust them.

The NSA can easily make one of these CAs generate a certificate for yourhost.yourdomain.tld. If CloudStore trusted the CAs blindly, you wouldn't notice that your client talks to a different server (in the middle) instead of having a direct connection to yourhost.yourdomain.tld. This server in the middle could spy on you or even modify all the data traversing it.

Therefore, CloudStore trusts only those certificates that you personally chose to trust. Trust cannot be blindly delegated.

Please consult the Security page for further details.

What happens in case of a collision?

If you modify the same file in two separate repositories and then synchronise, there is - obviously - a collision. You also run into a collision, if you modify a file in one repository and delete it in the other (without synchronising inbetween). There are more situations leading to collisions, of course, but there's no need to list them all here.

All collisions are solved in the same way: The colliding directory (or file) is renamed to:

<originalFileName>.<timestamp>.collision<originalFileExtension>

Let's look at an example to make this clear:

Your repository is /home/me/Documents/ and it contains the file work/project123.tex. You synchronise this file between your notebook and your workstation at home and you modified the file on both machines. When you synchronise the next time, there will be two files:

  • /home/me/Documents/work/project123.tex
  • /home/me/Documents/work/project123.tex.hqzur8ul.collision.tex

In this example, "hqzur8ul" is the encoded timestamp of when the collision was detected and resolved.

If you instead deleted the file in one repository, there won't be two files, but the one affected file is still renamed as shown above.

How can I set log level?

You can find all logging configuration files in ~/.cloudstore directory.

There are :

  • logback.server.xml for server project
  • logback.client.xml for client project

Another question?

If your question is not answered here, please check both our wiki and our tracker.

If you still don't find what you're looking for, go ahead and ask your question publicly in the tracker. Please label your question as "question" there.

Documentation
About
Releases