# # # patch "cmd_list.cc" # from [8b509c4c27b611b7833e899a10da134c0cb9b899] # to [3fbbf9201a494696bc1163a9548bd9697a43ab4b] # # patch "cmd_ws_commit.cc" # from [2d684dd5ce76316442801708dc7312e29dc5b62e] # to [fecc82eb7710941c40551739e60a9387476ee036] # # patch "database.cc" # from [8aed4b729bc627427af759ee91ebfe1ab88f6510] # to [7249d3009e36b16ea76cd5140258a64a2f49f4ac] # # patch "network/netsync_session.cc" # from [f059b4340cf0abc25885c81d2986e6870822da0a] # to [1ebe5e1a734cd672fdeb29705edefe6f85a2c125] # # patch "network/session.cc" # from [bd0a75fee4e89b1c30785e62856e505bbf4ececf] # to [1ad93d8c4273899545b5404882126281cfcd4096] # # patch "project.cc" # from [b2475c129db63d4170d577cd7e1ca90437b41410] # to [1b6e35dad7b01bd6ba5561c2ccad1a330beb1684] # # patch "project.hh" # from [072a2c57396fafe3102d3c1478f2914ade2fa08e] # to [617e7b94d34649ffe5ea90f1d5e783ba0c7260c8] # ============================================================ --- cmd_list.cc 8b509c4c27b611b7833e899a10da134c0cb9b899 +++ cmd_list.cc 3fbbf9201a494696bc1163a9548bd9697a43ab4b @@ -184,7 +184,7 @@ CMD(certs, "certs", "", CMD_REF(list), " key_identity_info identity; identity.id = idx(certs, i).key; - project.complete_key_identity(keys, app.lua, identity); + project.complete_key_identity_from_id(keys, app.lua, identity); cout << string(guess_terminal_width(), '-') << '\n' << (i18n_format(str) @@ -327,7 +327,7 @@ namespace { { key_identity_info identity; identity.id = *i; - project.complete_key_identity(lua, identity); + project.complete_key_identity_from_id(lua, identity); items[*i].identity = identity; items[*i].public_locations.push_back("database"); } @@ -341,7 +341,7 @@ namespace { { key_identity_info identity; identity.id = *i; - project.complete_key_identity(keys, lua, identity); + project.complete_key_identity_from_id(keys, lua, identity); items[*i].identity = identity; items[*i].public_locations.push_back("keystore"); items[*i].private_locations.push_back("keystore"); @@ -553,7 +553,7 @@ CMD(tags, "tags", "", CMD_REF(list), "[P { key_identity_info identity; identity.id = i->key; - project.complete_key_identity(app.lua, identity); + project.complete_key_identity_from_id(app.lua, identity); vector certs; project.get_revision_certs(i->ident, certs); @@ -1029,7 +1029,7 @@ CMD_AUTOMATE(certs, N_("REV"), key_identity_info identity; identity.id = idx(certs, i).key; - project.complete_key_identity(app.lua, identity); + project.complete_key_identity_from_id(app.lua, identity); signers.insert(identity); bool trusted = ============================================================ --- cmd_ws_commit.cc 2d684dd5ce76316442801708dc7312e29dc5b62e +++ cmd_ws_commit.cc fecc82eb7710941c40551739e60a9387476ee036 @@ -881,7 +881,7 @@ CMD(status, "status", "", CMD_REF(inform key_identity_info key; get_user_key(app.opts, app.lua, db, keys, project, key.id, cache_disable); - project.complete_key_identity(keys, app.lua, key); + project.complete_key_identity_from_id(keys, app.lua, key); if (!app.lua.hook_get_author(app.opts.branch, key, author)) author = key.official_name(); @@ -1495,7 +1495,7 @@ CMD(commit, "commit", "ci", CMD_REF(work { key_identity_info key; get_user_key(app.opts, app.lua, db, keys, project, key.id, cache_disable); - project.complete_key_identity(keys, app.lua, key); + project.complete_key_identity_from_id(keys, app.lua, key); if (!app.lua.hook_get_author(app.opts.branch, key, author)) author = key.official_name(); ============================================================ --- database.cc 8aed4b729bc627427af759ee91ebfe1ab88f6510 +++ database.cc 7249d3009e36b16ea76cd5140258a64a2f49f4ac @@ -3949,7 +3949,7 @@ namespace { { key_identity_info identity; identity.id = *i; - project->complete_key_identity(*lua, identity); + project->complete_key_identity_from_id(*lua, identity); signer_identities.insert(identity); } ============================================================ --- network/netsync_session.cc f059b4340cf0abc25885c81d2986e6870822da0a +++ network/netsync_session.cc 1ebe5e1a734cd672fdeb29705edefe6f85a2c125 @@ -161,7 +161,7 @@ void netsync_session::on_end(size_t iden { key_identity_info identity; identity.id = *i; - project.complete_key_identity(keys, lua, identity); + project.complete_key_identity_from_id(keys, lua, identity); lua.hook_note_netsync_pubkey_received(identity, ident); } @@ -176,7 +176,7 @@ void netsync_session::on_end(size_t iden { key_identity_info identity; identity.id = j->key; - project.complete_key_identity(keys, lua, identity); + project.complete_key_identity_from_id(keys, lua, identity); certs.insert(make_pair(identity, make_pair(j->name, j->value))); } @@ -192,7 +192,7 @@ void netsync_session::on_end(size_t iden { key_identity_info identity; identity.id = i->key; - project.complete_key_identity(keys, lua, identity); + project.complete_key_identity_from_id(keys, lua, identity); lua.hook_note_netsync_cert_received(revision_id(i->ident), identity, i->name, i->value, ident); } @@ -225,7 +225,7 @@ void netsync_session::on_end(size_t iden { key_identity_info identity; identity.id = *i; - project.complete_key_identity(keys, lua, identity); + project.complete_key_identity_from_id(keys, lua, identity); lua.hook_note_netsync_pubkey_sent(identity, ident); } @@ -240,7 +240,7 @@ void netsync_session::on_end(size_t iden { key_identity_info identity; identity.id = j->key; - project.complete_key_identity(keys, lua, identity); + project.complete_key_identity_from_id(keys, lua, identity); certs.insert(make_pair(identity, make_pair(j->name, j->value))); } @@ -256,7 +256,7 @@ void netsync_session::on_end(size_t iden { key_identity_info identity; identity.id = i->key; - project.complete_key_identity(keys, lua, identity); + project.complete_key_identity_from_id(keys, lua, identity); lua.hook_note_netsync_cert_sent(revision_id(i->ident), identity, i->name, i->value, ident); } ============================================================ --- network/session.cc bd0a75fee4e89b1c30785e62856e505bbf4ececf +++ network/session.cc 1ad93d8c4273899545b5404882126281cfcd4096 @@ -416,7 +416,7 @@ session::request_netsync(protocol_role r key_identity_info remote_key; remote_key.id = remote_peer_key_id; if (!remote_key.id.inner()().empty()) - project.complete_key_identity(keys, app.lua, remote_key); + project.complete_key_identity_from_id(keys, app.lua, remote_key); wrapped->on_begin(session_id, remote_key); } @@ -447,7 +447,7 @@ session::request_automate() key_identity_info remote_key; remote_key.id = remote_peer_key_id; if (!remote_key.id.inner()().empty()) - project.complete_key_identity(keys, app.lua, remote_key); + project.complete_key_identity_from_id(keys, app.lua, remote_key); wrapped->on_begin(session_id, remote_key); } @@ -665,7 +665,7 @@ bool session::handle_service_request() { client_identity.id = client_id; if (!client_identity.id.inner()().empty()) - project.complete_key_identity(keys, app.lua, client_identity); + project.complete_key_identity_from_id(keys, app.lua, client_identity); } wrapped->on_begin(session_id, client_identity); ============================================================ --- project.cc b2475c129db63d4170d577cd7e1ca90437b41410 +++ project.cc 1b6e35dad7b01bd6ba5561c2ccad1a330beb1684 @@ -418,7 +418,7 @@ project_t::put_standard_certs_from_optio { key_identity_info key; get_user_key(opts, lua, db, keys, *this, key.id); - complete_key_identity(lua, key); + complete_key_identity_from_id(lua, key); if (!lua.hook_get_author(branch, key, author)) { @@ -566,9 +566,9 @@ void } void -project_t::get_canonical_name_of_key(key_store * const keys, - key_id const & id, - key_name & name) +project_t::get_given_name_of_key(key_store * const keys, + key_id const & id, + key_name & name) { if (keys && keys->key_pair_exists(id)) { @@ -588,45 +588,31 @@ void } void -project_t::complete_key_identity(key_store * const keys, - lua_hooks & lua, - key_identity_info & info) +project_t::complete_key_identity_from_id(key_store * const keys, + lua_hooks & lua, + key_identity_info & info) { MM(info.id); MM(info.official_name); MM(info.given_name); - if (!info.id.inner()().empty()) - { - get_canonical_name_of_key(keys, info.id, info.given_name); - lua.hook_get_local_key_name(info); - } - else if (!info.official_name().empty()) - { - lookup_key_by_name(keys, lua, info.official_name, info.id); - get_canonical_name_of_key(keys, info.id, info.given_name); - } - //else if (!info.given_name().empty()) - // { - // lookup_key_by_name(keys, info.given_name, info.id); - // get_name_of_key(keys, info.id, info.official_name); - // } - else - I(false); + I(!info.id.inner()().empty()); + get_given_name_of_key(keys, info.id, info.given_name); + lua.hook_get_local_key_name(info); } void -project_t::complete_key_identity(key_store & keys, - lua_hooks & lua, - key_identity_info & info) +project_t::complete_key_identity_from_id(key_store & keys, + lua_hooks & lua, + key_identity_info & info) { - complete_key_identity(&keys, lua, info); + complete_key_identity_from_id(&keys, lua, info); } void -project_t::complete_key_identity(lua_hooks & lua, - key_identity_info & info) +project_t::complete_key_identity_from_id(lua_hooks & lua, + key_identity_info & info) { - complete_key_identity(0, lua, info); + complete_key_identity_from_id(0, lua, info); } void @@ -643,12 +629,16 @@ project_t::get_key_identity(key_store * // above throw recoverable_failure instead of unrecoverable_failure ident.made_from = input.made_from; output.id = key_id(ident); + complete_key_identity_from_id(keys, lua, output); + return; } catch (recoverable_failure &) { output.official_name = typecast_vocab(input); + lookup_key_by_name(keys, lua, output.official_name, output.id); + get_given_name_of_key(keys, output.id, output.given_name); + return; } - complete_key_identity(keys, lua, output); } void ============================================================ --- project.hh 072a2c57396fafe3102d3c1478f2914ade2fa08e +++ project.hh 617e7b94d34649ffe5ea90f1d5e783ba0c7260c8 @@ -155,22 +155,22 @@ private: key_name const & name, key_id & id); // get the name given when creating the key - void get_canonical_name_of_key(key_store * const keys, - key_id const & id, - key_name & name); - void complete_key_identity(key_store * const keys, - lua_hooks & lua, - key_identity_info & info); + void get_given_name_of_key(key_store * const keys, + key_id const & id, + key_name & name); + void complete_key_identity_from_id(key_store * const keys, + lua_hooks & lua, + key_identity_info & info); void get_key_identity(key_store * const keys, lua_hooks & lua, external_key_name const & input, key_identity_info & output); public: - void complete_key_identity(key_store & keys, - lua_hooks & lua, - key_identity_info & info); - void complete_key_identity(lua_hooks & lua, - key_identity_info & info); + void complete_key_identity_from_id(key_store & keys, + lua_hooks & lua, + key_identity_info & info); + void complete_key_identity_from_id(lua_hooks & lua, + key_identity_info & info); void get_key_identity(key_store & keys, lua_hooks & lua, external_key_name const & input,