# # patch "ChangeLog" # from [a0176d1ce2159ad9ca88c5e135cc89126b660e96] # to [6835fd154738f6c146ac64777b2c66166bb3dd9f] # # patch "key_store.cc" # from [12e5e98f0e37a8c9a48ac545358b9d8c316099e9] # to [0cac0c59a072149fc9663db7a1a9e69152e975cc] # # patch "tests/t_database_check_normalized.at" # from [c282c8b5f282a61b35880dd25aee757eb3d3df95] # to [99423400cd79db627570ae789f40c56042d1c604] # # patch "tests/t_lua_privkey.at" # from [4ab69dc88079acf06ee05abf7368abcab84019a9] # to [400f4a609fddc6f555496fa6e1f9a0ac5626cc11] # # patch "tests/t_netsync_absorbs.at" # from [754c3f6173c7f3a22380904f8dbc20c4174447c6] # to [c5ce1765a2df526ca4f35030d82e34026d8c1923] # # patch "tests/t_netsync_checks_server_key.at" # from [d0b81a3711d138c0418540547bbf4b7daa756e63] # to [f6b78875f5320727e7fb6e81f0a496790f56b69d] # # patch "tests/t_netsync_pubkey.at" # from [61ed3de939144d8bd75884dc842a4dfde299ac96] # to [f23c7b6f4f92b5a8353e275cc2f1e8efdb95e147] # ======================================================================== --- ChangeLog a0176d1ce2159ad9ca88c5e135cc89126b660e96 +++ ChangeLog 6835fd154738f6c146ac64777b2c66166bb3dd9f @@ -1,3 +1,12 @@ +2005-09-28 Timothy Brownawell + + * key_store.cc: fix delete_key + * tests/t_database_check_normalized: needs 'db migrate' + * tests/t_lua_privkey.at: update for new key location + * tests/t_netsync_absorbs.at: use genkey instead of packets + * tests/t_netsync_checks_server_key.at: same + * tests/t_netsync_pubket.at: update key packet to new format + 2005-09-27 Timothy Brownawell Replace extract_keys command with a database migrator. ======================================================================== --- key_store.cc 12e5e98f0e37a8c9a48ac545358b9d8c316099e9 +++ key_store.cc 0cac0c59a072149fc9663db7a1a9e69152e975cc @@ -232,7 +232,14 @@ maybe_read_key_dir(); std::map::iterator i = keys.find(ident); if (i != keys.end()) - keys.erase(i); + { + hexenc hash; + key_hash_code(ident, i->second.pub, hash); + std::map, rsa_keypair_id>::iterator j = hashes.find(hash); + I(j != hashes.end()); + hashes.erase(j); + keys.erase(i); + } system_path file; get_key_file(ident, file); delete_file(file); ======================================================================== --- tests/t_database_check_normalized.at c282c8b5f282a61b35880dd25aee757eb3d3df95 +++ tests/t_database_check_normalized.at 99423400cd79db627570ae789f40c56042d1c604 @@ -99,6 +99,8 @@ ]) UNGZB64(bad.db.gz.b64, bad.db) +AT_CHECK(MONOTONE db migrate -d bad.db) + AT_CHECK(MONOTONE db check -d bad.db, [1], [ignore], [stderr]) AT_CHECK(grep 'revisions not parseable' stderr, [], [ignore], [ignore]) ======================================================================== --- tests/t_lua_privkey.at 4ab69dc88079acf06ee05abf7368abcab84019a9 +++ tests/t_lua_privkey.at 400f4a609fddc6f555496fa6e1f9a0ac5626cc11 @@ -22,8 +22,8 @@ AT_CHECK([sed -e '/^\@<:@pubkey/,/^\@<:@end\@:>@$/d' -e '/^\@<:@/d' privkey >> test_key_hooks.lua], [], [ignore], [ignore]) AT_CHECK(echo ' @:>@@:>@ end' >> test_key_hooks.lua, [], [ignore], [ignore]) -AT_CHECK(RCMONOTONE db execute "delete from private_keys", [], [ignore], [ignore]) AT_CHECK(RCMONOTONE db execute "delete from public_keys", [], [ignore], [ignore]) +AT_CHECK(rm -r keys/) AT_CHECK(RCMONOTONE comment $SOMEREV boing) @@ -33,7 +33,6 @@ AT_CHECK(RCMONOTONE comment $SOMEREV matching) # check that it fails if the keys differ -AT_CHECK(RCMONOTONE db execute "delete from private_keys", [], [ignore], [ignore]) AT_CHECK(RCMONOTONE db execute "delete from public_keys", [], [ignore], [ignore]) AT_CHECK(rm -r keys/) AT_CHECK((echo $KEY; echo $KEY) | RCMONOTONE genkey $KEY, [], [ignore], [ignore]) ======================================================================== --- tests/t_netsync_absorbs.at 754c3f6173c7f3a22380904f8dbc20c4174447c6 +++ tests/t_netsync_absorbs.at c5ce1765a2df526ca4f35030d82e34026d8c1923 @@ -7,33 +7,10 @@ ]) COMMIT(testbranch) -AT_DATA(foo_public, [@<:@pubkey address@hidden@:>@ -MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDXdNcDvz8ARAxEw7ESs2y60RgT9HdpoPHA -AXvhjWtojgoW8t7RLp+62RUm+c9H2tWFAVMBRtLzd9kFl58f+muDAiQVEJo4rgPy2jjrHO6Z -UtfQv7Fh2d/euba9cbtNPaNjWu7RsnVOo4iEQhb3czeObhE0n+hJ3/dGj9d1IClbCwIBEQ== -@<:@end@:>@ -]) -AT_DATA(foo_private, [@<:@keypair address@hidden@:>@ -MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDXdNcDvz8ARAxEw7ESs2y60RgT9HdpoPHA -AXvhjWtojgoW8t7RLp+62RUm+c9H2tWFAVMBRtLzd9kFl58f+muDAiQVEJo4rgPy2jjrHO6Z -UtfQv7Fh2d/euba9cbtNPaNjWu7RsnVOo4iEQhb3czeObhE0n+hJ3/dGj9d1IClbCwIBEQ==# -gWGUHfbvsqKRQZ7inK1NQUO1cAuNcKENJNvoxhBtQKv6iIZp23ZBSrpBGuKoSnQSPXresXLD -tYc4Ztecez0hBTjGsTmUm1EQLGf2dTJ4dG2nBJGbI2R6QvX9/KJbF1dIc9DCoJGB3XTpVg4R -kMc9IFKM5tzwpNYRx+vpjf5GTamIyj1O5qmQmg7VFWx8uC3hzgW/FnaP9Qh2lnjiaEVDNzjA -7FzTQAPUIcZJNOSQM/Tck0wharmaMzBaM1QZCoTXRgydARVW4eunxdFfK88U/5IICkcEYYII -ssoz73Ukyvz8QQfJSnmbxK6b2x4RSoqOmjt8yC7rMrZOm05ZtaG+OzgFL19M+oZ9Aj3xVO7y -DcEK2gNfBH7deHPcgJCLy42UkciCgstcAwBmrv6KkuRx7R/BqP/Oo+xCQJE0yeFNwmDvNTxV -e0G7STVEoJYBdthevS55RUwrEwnW30q8wsI8FjzRkd5AiO61/WgMxhMsBpyp3ya2qzt5QEAf -qTbOZaFedhQl+m6RsfJSBwjM/PQpLij5FnF/2etlyk9YtaUXyTqu8g4g83uzXfomCZXukbIG -uS34HCqjEqP4zCxyezoKQydn4aiNluijDhvVx8GQGZ1n5coUdpOLWgF9aewIgFGalYGhZ70h -zjBS/xmDvW09W+kcFtr5L7eopALvkpBVzc7PuSwXE+ev0lyxxXoC0fZ2u8dLmPfClSZ8kVf4 -ko05lS/Cu/Zrn4jDRSksYmBk+4nAirNSn7LLNNTtCVymcthokx90xDS2CNVHM7or49cih1lC -756VX7YoqIDTYt7C3tBUSYs5rCW1/LotC43A4/Ai2kiqcRmaggr/ -@<:@end@:>@ -]) +AT_CHECK((echo address@hidden; echo address@hidden) | MONOTONE genkey address@hidden, [], [ignore], [ignore]) +AT_CHECK(MONOTONE pubkey address@hidden, [], [stdout], [ignore]) +AT_CHECK(cp stdout foo_public) -AT_CHECK(MONOTONE read @ -MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDXdNcDvz8ARAxEw7ESs2y60RgT9HdpoPHA -AXvhjWtojgoW8t7RLp+62RUm+c9H2tWFAVMBRtLzd9kFl58f+muDAiQVEJo4rgPy2jjrHO6Z -UtfQv7Fh2d/euba9cbtNPaNjWu7RsnVOo4iEQhb3czeObhE0n+hJ3/dGj9d1IClbCwIBEQ== -@<:@end@:>@ -@<:@privkey address@hidden@:>@ -gWGUHfbvsqKRQZ7inK1NQUO1cAuNcKENJNvoxhBtQKv6iIZp23ZBSrpBGuKoSnQSPXresXLD -tYc4Ztecez0hBTjGsTmUm1EQLGf2dTJ4dG2nBJGbI2R6QvX9/KJbF1dIc9DCoJGB3XTpVg4R -kMc9IFKM5tzwpNYRx+vpjf5GTamIyj1O5qmQmg7VFWx8uC3hzgW/FnaP9Qh2lnjiaEVDNzjA -7FzTQAPUIcZJNOSQM/Tck0wharmaMzBaM1QZCoTXRgydARVW4eunxdFfK88U/5IICkcEYYII -ssoz73Ukyvz8QQfJSnmbxK6b2x4RSoqOmjt8yC7rMrZOm05ZtaG+OzgFL19M+oZ9Aj3xVO7y -DcEK2gNfBH7deHPcgJCLy42UkciCgstcAwBmrv6KkuRx7R/BqP/Oo+xCQJE0yeFNwmDvNTxV -e0G7STVEoJYBdthevS55RUwrEwnW30q8wsI8FjzRkd5AiO61/WgMxhMsBpyp3ya2qzt5QEAf -qTbOZaFedhQl+m6RsfJSBwjM/PQpLij5FnF/2etlyk9YtaUXyTqu8g4g83uzXfomCZXukbIG -uS34HCqjEqP4zCxyezoKQydn4aiNluijDhvVx8GQGZ1n5coUdpOLWgF9aewIgFGalYGhZ70h -zjBS/xmDvW09W+kcFtr5L7eopALvkpBVzc7PuSwXE+ev0lyxxXoC0fZ2u8dLmPfClSZ8kVf4 -ko05lS/Cu/Zrn4jDRSksYmBk+4nAirNSn7LLNNTtCVymcthokx90xDS2CNVHM7or49cih1lC -756VX7YoqIDTYt7C3tBUSYs5rCW1/LotC43A4/Ai2kiqcRmaggr/ -@<:@end@:>@ -]) +AT_CHECK((echo address@hidden; echo address@hidden) | MONOTONE genkey address@hidden, [], [ignore], [ignore]) -AT_CHECK(MONOTONE read @ +PRIVKEY=06b040c37796863b53f10dc23fcccf379cc2e259 +AT_DATA(newkeys.txt, [@<:@keypair address@hidden@:>@ MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQC+6X7+HI715//0pWHWGcN/tw439uUUahtD wV8ckNKFTCKnWU0U4mzanMoKJCeSRttR7uRkmWPQX3e9pq8Klcpocws1/XpJr31NhDqvWmTb -ABduS/GJeSZugrU6MYBLX12eLUCynWXoSXRGtX+9Xrjt2pAMAq3LkSDcRUUgYOCS+wIBEQ== +ABduS/GJeSZugrU6MYBLX12eLUCynWXoSXRGtX+9Xrjt2pAMAq3LkSDcRUUgYOCS+wIBEQ==# +MIICwTBDBgkqhkiG9w0BBQ0wNjAeBgkqhkiG9w0BBQwwEQQIyZNAO/PyGHECAggAAgEYMBQG +CCqGSIb3DQMHBAhy4+o+3DMQTQSCAnhpZiO9ILoVB8+Hw4FsbckY1rIE7UnDLJqxVJO0+Ghg +rBKtLqMH/mfakbkPVCACYte/wxC1a4lsuf6oEIMryW93V5RplIVIPgFpzLT7zj1ih1YXAh0X +aSMdDbtAgAVTppRTZfgQPJ8nJ+tD7Y4ckVAbbyv5Sbr1is5qzv4bqiwvpL2heNcbiaHOyxzO +Df93tlK36o9Qd2uoGXZ+uaZs5LrFe8xZuuV1++iSWMnClIMICS67i7tCha5juwcCAouy8oyg +jLGsQhwTfAwLHCC0TvZeHTG6EM+jkqAKDvL6ud+5gN6f0HFIV9DPUJSJ01vaqFBWWFQ28ilz +0l6fINeac2E/UBYRrJUY5tQ6fKEurPcDWNynsVFDKv/CG0ePZko9b715cYdfLwCIiBm+4z9/ +bpGc6zy2RfZqYk9Ui8hviaI9UShZWB3iglKq3NRVwBY0xX6HysYp2T+Lb5cHb9lCPP1INPfx +VdgMlYMcd+3HmAdEF05K6UkqECc7ZIvz7KrWXEvDoBV1cVQZ5QvoDOvQFMCKjvetnIpE7wCO +HxhHt6FiCVLJyvvOhystmJtuzg1/R1SIE00XEXgLLQS2We1wuZesjwB7u10NYArl1zqD/XJb +/q1EM4YFSXnvCL0KitZ244NP3CteSydVChYTgHkSDRnaZ2sx3tTLJLaekYCRUFKKs+xF750f +nVBgfV13p+heGn94EcJfVJVszAYiTKolmtgkqXij0mInJGxwRAEQq4La1va9WwNHndK2R8vj ++nAB7jJFgpAwiotl7g+7LW65ZR6Z2lLZhIJG7HlOwlDFq6oAjgWOZFu2s+dqu9MgMF2C9d3d ++rhboyouJg== + @<:@end@:>@ -@<:@privkey address@hidden@:>@ -V5sdpIQJk4r4nvMUBnuoaEjmV+PJXkoXn5GnYlDK++tg+JiWVQyDra7m0psmEuOACfZpN6aU -21cdFhuSnU9pPerUBnSo7BrzAdw2d6Qenz5N/oxOn1lM+9he0ooAiwrHUmjqyrhZCPnybvGV -6vPBSyPfFaMBjWOIgsabvGqIQEWOSxeDAjAWIwJGblzz4x8NIfBFw/NUMu9ljdvGy2XV5a8Q -ERyzZlByYJV0u2W+4ES58L43jvirXpYc3peenus8j1kaVwgFFR6Rqvqgxt28oPBA1usV5HXz -7CN3CxGAlhaHFO1Ke+13L3dv9uTGr5gfzGidKLm6ocBRxYx2vOKEanIxFpgSzqCrPnUgNzaC -SQt0I+msb9CosL1x+puLv96mF78cRRzXpIULxgOlVfdukoiNzdy2sNCuBpAM593rtXPfRRR3 -PlEImiE9LJmnD70eNlKFmVEAs0EKPM2Hk0FLVrB5B8KPRfufq816+ie3gVkNytvIOqch7WrS -T7uBHbrFwhVJG190foSqefSDwXF/D0CmqrbPZ+tjK/nC3jentNTAO14dMM1uAuNXdGVY961o -nd2i+b4MhQwa9/uRV13Trg9/IWmmOpEplUk9FdEPLXNiAULgbc1tY+W69R4wDmdwm0IN7jb6 -Awr3xkFSMAla+oMHZ86Ytm4hDER6TfHACcK685QSNVWOuIIGNLULPht7bwnSi6qLb4wcLXV3 -tPU2bJoTyjp5hdos762XrZjp4OPM3zS9nOL/86rfGn02kHItf5qgsa2ZLTae0Kgl9Gbv9JHD -Ppeoic6H3AxzmdvGRV85sylfNqcfarayoNMEOGK61NpW46iibA== -@<:@end@:>@ ]) AT_CHECK(MONOTONE read