fixed some bugs with BK handling. keyring gets loaded when

adding authored bundle so that we can lookup RS.
BK variable name case harmonised.
This commit is contained in:
gardners 2012-05-16 15:19:24 +09:30
parent 33f7ea7103
commit d51545b87a
3 changed files with 11 additions and 4 deletions

View File

@ -1054,10 +1054,16 @@ int app_config_get(int argc, const char *const *argv, struct command_line_option
int app_rhizome_add_file(int argc, const char *const *argv, struct command_line_option *o)
{
const char *filepath, *manifestpath,*authorisingSid;
const char *filepath, *manifestpath,*authorisingSid,*pin;
cli_arg(argc, argv, o, "filepath", &filepath, NULL, "");
cli_arg(argc, argv, o, "manifestpath", &manifestpath, NULL, "");
cli_arg(argc, argv, o, "sid", &authorisingSid,NULL,"");
cli_arg(argc, argv, o, "pin", &pin,NULL,"");
keyring=keyring_open_with_pins(pin);
if (!keyring) { WHY("keyring add: Failed to create/open keyring file");
return -1; }
/* Ensure the Rhizome database exists and is open */
if (create_serval_instance_dir() == -1)
@ -1520,7 +1526,7 @@ command_line_option command_line_options[]={
"Get specified configuration variable."},
{app_rhizome_add_file,{"rhizome","add","file","<filepath>","[<manifestpath>]",NULL},CLIFLAG_STANDALONE,
"Add a file to Rhizome and optionally write its manifest to the given path"},
{app_rhizome_add_file,{"rhizome","add","authored","file","<filepath>","<sid>","[<manifestpath>]",NULL},CLIFLAG_STANDALONE,
{app_rhizome_add_file,{"rhizome","add","authored","file","<filepath>","<sid>","<pin>","[<manifestpath>]",NULL},CLIFLAG_STANDALONE,
"Add a file to Rhizome and remember who authored it, so that they can modify the bundle later."},
{app_rhizome_list,{"rhizome","list","[<service>]","[<sender_sid>]","[<recipient_sid>]","[<offset>]","[<limit>]",NULL},CLIFLAG_STANDALONE,
"List all manifests and files in Rhizome"},

View File

@ -397,6 +397,7 @@ int overlay_get_nexthop(unsigned char *d,unsigned char *nexthop,int *nexthoplen,
return 0;
} else {
/* Is not a direct neighbour */
return WHY("Calculating next-hop destination for nodes that are not direct neighbours is not yet implemented");
}
}

View File

@ -135,7 +135,7 @@ int rhizome_bk_xor(const char *author,
*/
int rhizome_extract_privatekey(rhizome_manifest *m,const char *authorHex)
{
char *bk = rhizome_manifest_get(m, "bk", NULL, 0);
char *bk = rhizome_manifest_get(m, "BK", NULL, 0);
if (!bk) return WHY("Cannot obtain private key as manifest lacks BK field");
unsigned char bkBytes[crypto_sign_edwards25519sha512batch_SECRETKEYBYTES];