coniks-sys / coniks-go

A CONIKS implementation in Golang
http://coniks.org
Other
116 stars 30 forks source link

The hash chain is inconsistent #212

Open iesiyok opened 5 years ago

iesiyok commented 5 years ago

Hello,

Thanks for the Go version of your software.

I have the following problem occurring. I run it as the following:

./coniksclient run

register alice key
Error: [coniks] The hash chain is inconsistent. Maybe the client missed an epoch in between two commands, monitoring isn't supported yet.

I am not quite sure what this error message means. There are no errors and no warnings on the server side. But when I run the same command again :

register alice key
The same error message occurs on the client, but there is a warning on the server side this time "[coniks] Registering identity is already registered".

I believe that means the key has already been created with the first time, because when I run lookup:

lookup alice The same error message occurs on the client, no warnings on the server side. lookup bob But searching another name results in a warning on the server side "[coniks] Searched name not found in directory"

I couldn't find a solution to this, I believe my configurations are correct based on the information given, could you please help me? I am also wondering if there is a method, a file or a folder that I can see all recorded name-key bindings?

vqhuy commented 5 years ago

Hi,

Can you try to re-run CONIKS with the release 0.1.1 and see if there is still the same problem? We made some changes with the application layer and the CLI in the latest release (they're supposed to be a part of big incoming changes), so that can cause some bugs.

I am also wondering if there is a method, a file or a folder that I can see all recorded name-key bindings?

Currently there is no such method, but you can easily implement yourself, (see, e.g. https://github.com/coniks-sys/coniks-go/blob/master/merkletree/pad.go#L171-L175): just export a method in merkletree/pad.go and call it in directory/directory.go.