# # # add_dir "tests/netsync_duplicate_keys" # # add_file "tests/netsync_duplicate_keys/__driver__.lua" # content [2836e143798cc5ec1eb8d1d02d7e0df54dd89ffc] # # patch "netsync.cc" # from [d577024111ef69679d929cb85b1c1e56c7504cff] # to [50b0ee5fa1808bdcf31ff87cf3c5716c9d2ad009] # ============================================================ --- tests/netsync_duplicate_keys/__driver__.lua 2836e143798cc5ec1eb8d1d02d7e0df54dd89ffc +++ tests/netsync_duplicate_keys/__driver__.lua 2836e143798cc5ec1eb8d1d02d7e0df54dd89ffc @@ -0,0 +1,31 @@ + +include("/common/netsync.lua") +mtn_setup() +netsync.setup() + +srv = netsync.start(2) + +check(mtn("genkey", "address@hidden"), 0, false, false, + "address@hidden@test.net\n") + +writefile("testfile", "version 0 of test file") +check(mtn("add", "testfile"), 0, false, false) +check(mtn("ci", "-mx", "-k", "address@hidden"), 0, false, false) + +check(mtn("au", "select", "b:testbranch"), 0, true) + +srv:push("testbranch", 1) + + +check(mtn("dropkey", "address@hidden"), 0, false, false) +check(mtn("genkey", "address@hidden"), 0, false, false, + "address@hidden@test.net\n") + +writefile("testfile", "version 1 of test file") +check(mtn("ci", "-mx", "-k", "address@hidden"), 0, false, false) + +srv:push("testbranch", 1, 1) + +srv:stop() + +check(mtn2("au", "select", "b:testbranch"), 0, {"stdout"}) ============================================================ --- netsync.cc d577024111ef69679d929cb85b1c1e56c7504cff +++ netsync.cc 50b0ee5fa1808bdcf31ff87cf3c5716c9d2ad009 @@ -1954,6 +1954,9 @@ session::process_data_cmd(netcmd_item_ty % hitem % keyid % hitem % tmp); if (app.db.put_key(keyid, pub)) written_keys.push_back(keyid); + else + error(partial_transfer, + (F("Received duplicate key %s") % keyid).str()); } break;