# # # patch "automate.cc" # from [f540b07b937acc3f621628edc2bfb7d388b5ccf2] # to [33634801cd1993a76ec4dd447f1584f2679d0eea] # # patch "cert.cc" # from [fd24b2ded47699903cf041b6b34a3025f0242d84] # to [aa9c547033ac63c45efd6e82a72643fe90398dc3] # # patch "cert.hh" # from [c02a471d86e12a1e65436c0f93b76ff9a5268788] # to [587d7fa395ee45b3731447ab9eeb1721a2278cce] # # patch "cmd_key_cert.cc" # from [a9421feffaa3920aa6ed431a6840a700c068f3c8] # to [76dd54eb9659b916c562a30fbe6384c1ae2e2edc] # # patch "cmd_merging.cc" # from [37f4162b48d24d78f5c78456ee9c05438eae9524] # to [95ca3dac2c1c67d5e330ea37a34a8a541200cc2b] # # patch "cmd_netsync.cc" # from [e21d00fe1711e368ec5a0fd39611b2f8d09a0328] # to [3c096db6a66e44ba35629da3aa7d19aa3f830ed7] # # patch "cmd_ws_commit.cc" # from [802c746a58c07ff509d81c5616bac5e836188420] # to [efa32bdc2827fb72d86f4a2362bf1a0c9a325440] # # patch "key_store.hh" # from [8ff7b1f3d197ebdf4295ee66e5bf36bd1432fb7e] # to [a3580882fe759d7188d22f625de493d11fb72b68] # # patch "rcs_import.cc" # from [1d9d581f51c18e23e17d602f9872f9f5e2430bbb] # to [887c3fc9c49e31801f12b0a421b0992598e0b037] # # patch "revision.cc" # from [dce60b11260712d7e89f1bce37235dd6dbcb37fd] # to [0a9c31ea3b76bcbeb8ffb437d8587f7dbdb63926] # ============================================================ --- automate.cc f540b07b937acc3f621628edc2bfb7d388b5ccf2 +++ automate.cc 33634801cd1993a76ec4dd447f1584f2679d0eea @@ -877,9 +877,6 @@ CMD_AUTOMATE(inventory, N_("[PATH]...") "", options::opts::depth | options::opts::exclude) { - N(args.size() == 0, - F("no arguments needed")); - CMD_REQUIRES_DATABASE(app); CMD_REQUIRES_WORKSPACE(app); ============================================================ --- cert.cc fd24b2ded47699903cf041b6b34a3025f0242d84 +++ cert.cc aa9c547033ac63c45efd6e82a72643fe90398dc3 @@ -442,14 +442,13 @@ void // "special certs" void -get_user_key(rsa_keypair_id & key, key_store & keys) +get_user_key(rsa_keypair_id & key, database & db) { - + key_store & keys = db.get_key_store(); + if (keys.has_opt_signing_key()) - { - key = keys.get_opt_signing_key(); - } - else if (keys.hook_get_branch_key(app.opts.branchname, key)) + key = keys.get_opt_signing_key(); + else if (keys.hook_get_current_branch_key(key)) ; // the check also sets the key. else { @@ -460,16 +459,17 @@ get_user_key(rsa_keypair_id & key, key_s "perhaps you need to 'genkey '")); N(all_privkeys.size() == 1, F("you have multiple private keys\n" - "pick one to use for signatures by adding '-k' to your command")); + "pick one to use for signatures by adding " + "'-k' to your command")); key = all_privkeys[0]; } - if (app.db.database_specified() && app.db.public_key_exists(key)) + if (db.database_specified() && db.public_key_exists(key)) { base64 pub_key; keypair priv_key; - app.db.get_key(key, pub_key); - app.keys.get_key_pair(key, priv_key); + db.get_key(key, pub_key); + keys.get_key_pair(key, priv_key); E(keys_match(key, pub_key, key, priv_key.pub), F("The key '%s' stored in your database does\n" "not match the version in your local key store!") % key); @@ -525,7 +525,7 @@ make_simple_cert(hexenc const & id, cert & c) { rsa_keypair_id key; - get_user_key(key, db.get_key_store()); + get_user_key(key, db); base64 encoded_val; encode_base64(cv, encoded_val); cert t(id, nm, encoded_val, key); @@ -588,7 +588,7 @@ cert_revision_author_default(revision_id { string author; rsa_keypair_id key; - get_user_key(key, db.get_key_store()); + get_user_key(key, db); if (!db.hook_get_author(key, author)) { ============================================================ --- cert.hh c02a471d86e12a1e65436c0f93b76ff9a5268788 +++ cert.hh 587d7fa395ee45b3731447ab9eeb1721a2278cce @@ -104,7 +104,7 @@ void // N()'s out if there is no unique key for us to use void -get_user_key(rsa_keypair_id & key, key_store & keys); +get_user_key(rsa_keypair_id & key, database & db); void guess_branch(revision_id const & id, database & db, branch_name & branchname); ============================================================ --- cmd_key_cert.cc a9421feffaa3920aa6ed431a6840a700c068f3c8 +++ cmd_key_cert.cc 76dd54eb9659b916c562a30fbe6384c1ae2e2edc @@ -134,7 +134,7 @@ CMD(ssh_agent_export, "ssh_agent_export" rsa_keypair_id id; keypair key; - get_user_key(id, app.keys); + get_user_key(id, app.db); N(priv_key_exists(app.keys, id), F("the key you specified cannot be found")); app.keys.get_key_pair(id, key); shared_ptr priv = get_private_key(app.keys, id, key.priv); @@ -174,7 +174,7 @@ CMD(ssh_agent_add, "ssh_agent_add", "", rsa_keypair_id id; keypair key; - get_user_key(id, app.keys); + get_user_key(id, app.db); N(priv_key_exists(app.keys, id), F("the key you specified cannot be found")); app.keys.get_key_pair(id, key); shared_ptr priv = get_private_key(app.keys, id, key.priv); @@ -199,7 +199,7 @@ CMD(cert, "cert", "", CMD_REF(key_and_ce internalize_cert_name(idx(args, 1), cname); rsa_keypair_id key; - get_user_key(key, app.keys); + get_user_key(key, app.db); cert_value val; if (args.size() == 3) ============================================================ --- cmd_merging.cc 37f4162b48d24d78f5c78456ee9c05438eae9524 +++ cmd_merging.cc 95ca3dac2c1c67d5e330ea37a34a8a541200cc2b @@ -349,7 +349,7 @@ merge_two(revision_id const & left, revi { // early short-circuit to avoid failure after lots of work rsa_keypair_id key; - get_user_key(key,app); + get_user_key(key, app.db); } revision_id merged; @@ -611,7 +611,7 @@ CMD(merge_into_dir, "merge_into_dir", "" { rsa_keypair_id key; - get_user_key(key, app); + get_user_key(key, app.db); } resolve_merge_conflicts(left_roster, right_roster, result, dba, app); ============================================================ --- cmd_netsync.cc e21d00fe1711e368ec5a0fd39611b2f8d09a0328 +++ cmd_netsync.cc 3c096db6a66e44ba35629da3aa7d19aa3f830ed7 @@ -78,7 +78,7 @@ find_key(utf8 const & addr, { if (needed) { - get_user_key(key, app.keys); + get_user_key(key, app.db); } } app.opts.signing_key = key; ============================================================ --- cmd_ws_commit.cc 802c746a58c07ff509d81c5616bac5e836188420 +++ cmd_ws_commit.cc efa32bdc2827fb72d86f4a2362bf1a0c9a325440 @@ -1008,7 +1008,7 @@ CMD(commit, "commit", "ci", CMD_REF(work { // fail early if there isn't a key rsa_keypair_id key; - get_user_key(key, app.keys); + get_user_key(key, app.db); } app.make_branch_sticky(); ============================================================ --- key_store.hh 8ff7b1f3d197ebdf4295ee66e5bf36bd1432fb7e +++ key_store.hh a3580882fe759d7188d22f625de493d11fb72b68 @@ -10,6 +10,7 @@ #include "vocab.hh" #include "paths.hh" +class app_state; struct globish; class ssh_agent; ============================================================ --- rcs_import.cc 1d9d581f51c18e23e17d602f9872f9f5e2430bbb +++ rcs_import.cc 887c3fc9c49e31801f12b0a421b0992598e0b037 @@ -1208,7 +1208,7 @@ import_cvs_repo(system_path const & cvsr { // early short-circuit to avoid failure after lots of work rsa_keypair_id key; - get_user_key(key, app.keys); + get_user_key(key, app.db); require_password(key, app.keys); } ============================================================ --- revision.cc dce60b11260712d7e89f1bce37235dd6dbcb37fd +++ revision.cc 0a9c31ea3b76bcbeb8ffb437d8587f7dbdb63926 @@ -1655,7 +1655,7 @@ build_roster_style_revs_from_manifest_st { // early short-circuit to avoid failure after lots of work rsa_keypair_id key; - get_user_key(key, db.get_key_store()); + get_user_key(key, db); require_password(key, db.get_key_store()); } @@ -1709,7 +1709,7 @@ build_changesets_from_manifest_ancestry( { // early short-circuit to avoid failure after lots of work rsa_keypair_id key; - get_user_key(key, db.get_key_store()); + get_user_key(key, db); require_password(key, db.get_key_store()); }