# # # add_dir "tests/netsync_key_hook" # # add_file "tests/netsync_key_hook/__driver__.lua" # content [f2a9ed3d90567968db34e9c16c90e8a5d4991aef] # # add_file "tests/netsync_key_hook/client-hooks.lua" # content [f60d553a6bff838e53904f94294588d9f9ed84ee] # # add_file "tests/netsync_key_hook/read-permissions" # content [784ea0c0125c43b10a354bc0decf1bec0d2dc0f7] # # patch "cmd_netsync.cc" # from [d0b9187d61aa08ccb4e822f5a8a045758f02cac7] # to [74d3bfea91a937a9e72f6d595fe2b58e71189cca] # ============================================================ --- tests/netsync_key_hook/__driver__.lua f2a9ed3d90567968db34e9c16c90e8a5d4991aef +++ tests/netsync_key_hook/__driver__.lua f2a9ed3d90567968db34e9c16c90e8a5d4991aef @@ -0,0 +1,36 @@ + +include("common/netsync.lua") +mtn_setup() +netsync.setup() + +writefile("foo", "bar") +check(mtn2("add", "foo"), 0, false, false) +check(mtn2("commit", "-mx"), 0, false, false) + +check(mtn("genkey", "address@hidden"), 0, + false, false, string.rep("address@hidden",2)) + +get("read-permissions") +get("client-hooks.lua") + +srv = netsync.start(2) + +-- We don't want the --key argument, so we have to do this ourselves. +function client(what, ret) + args = {"--rcfile=netsync.lua", "--rcfile=test_hooks.lua", + "--keydir=keys", + "--db=test.db", srv.address, + "--rcfile=client-hooks.lua", + "*"} + for k, v in pairs(args) do + table.insert(what, v) + end + check(raw_mtn(unpack(what)), ret, false, false) +end + +client({"push"}, 0) +client({"pull"}, 0) +client({"sync"}, 0) +client({"pull", "address@hidden"}, 1) + +srv:stop() ============================================================ --- tests/netsync_key_hook/client-hooks.lua f60d553a6bff838e53904f94294588d9f9ed84ee +++ tests/netsync_key_hook/client-hooks.lua f60d553a6bff838e53904f94294588d9f9ed84ee @@ -0,0 +1,3 @@ +function get_netsync_key(server, include, exclude) + return "address@hidden" +end ============================================================ --- tests/netsync_key_hook/read-permissions 784ea0c0125c43b10a354bc0decf1bec0d2dc0f7 +++ tests/netsync_key_hook/read-permissions 784ea0c0125c43b10a354bc0decf1bec0d2dc0f7 @@ -0,0 +1,2 @@ +pattern "*" +allow "address@hidden" ============================================================ --- cmd_netsync.cc d0b9187d61aa08ccb4e822f5a8a045758f02cac7 +++ cmd_netsync.cc 74d3bfea91a937a9e72f6d595fe2b58e71189cca @@ -62,6 +62,9 @@ find_key(utf8 const & addr, app_state & app, bool needed = true) { + if (app.opts.signing_key() != "") + return; + rsa_keypair_id key; if (!app.lua.hook_get_netsync_key(app.opts.bind_address, include, exclude,