#
#
# add_file "tests/serve_pull_with_--exclude/read-permissions"
# content [af0e0c9d5eb1a4f33c4802f9db20335a60bd2456]
#
# patch "ChangeLog"
# from [09e04edc1d9acf5a39c15f5b6d5d905ed8731d4c]
# to [8a14e62bcbc83773fbb48157909474f20f75291e]
#
# patch "cmd_netsync.cc"
# from [32269e67f1a25f2f83643c80f28f8c4359d97aa9]
# to [3ffc6ac821fa437265a771fb8596a81bdd833948]
#
# patch "monotone.texi"
# from [fa297db6b3cbe419bee200bc26ff1e3ac6d9e29f]
# to [4b8427a2d6a9ab30660bbd68618ae575e63c5c79]
#
# patch "netsync.cc"
# from [6d01eb6b2af474d8bae80a5bd9b4b3ba539cb670]
# to [0e7bb42de8a3547884df880f79a4fa60b0351175]
#
# patch "std_hooks.lua"
# from [76099a6bd6ac95f36965f58c63d65af4659bb417]
# to [51c2c0ca061f8c0ec2ccfaf4b30ead7e8026cc49]
#
# patch "tests/(imp)_persistent_netsync_server_-_keys_2/__driver__.lua"
# from [c1d97d0eb0076014df8ff5035970c98d6974df40]
# to [ced4ffc5130603ac1b82c144554a67f73308dbec]
#
# patch "tests/checking_that_certain_commands_ignores_the_contents_of__MTN_options/__driver__.lua"
# from [3a257af1220ae308c17fde97812de135b92c3d32]
# to [c3fd58c552a59d37fb32775239223e4cdcead142]
#
# patch "tests/common/netsync-hooks.lua"
# from [ac4d58f0fe321f1873f737156b28a42e54746581]
# to [c3dc6289586df28142be5e124beb50bfcad159ff]
#
# patch "tests/common/netsync-hooks_with_notes.lua"
# from [7f3c021a933500a16ac5f2c1ec6c486962aa55ca]
# to [3f41c5f99a2252ec2d0e9773ef1833cd2a96ba7b]
#
# patch "tests/common/netsync.lua"
# from [5cd9be1cf66abf1111a71418811f8360bb4f8f10]
# to [7b1f4b9805594eca3b037055833df798942e725d]
#
# patch "tests/db_data_format_checking/__driver__.lua"
# from [9bbbea7784cf69025a7d442144b612c9613da144]
# to [e3f5be2451252d0c52a609f638c402ac8a9cf302]
#
# patch "tests/get_netsync_read_permitted/__driver__.lua"
# from [08bf20b752af7ac64845b4eb57975675e84f06a5]
# to [d1e7461bdceab19034a9c20eb033249693d7a903]
#
# patch "tests/mtn_execute_attr_respects_umask/__driver__.lua"
# from [6e90db48ddc768b25e87c7c12d9fdfd6c8f8be3f]
# to [14a16f30798020243f72cdcc9c0eb87706fb8068]
#
# patch "tests/netsync,--exclude,defaults/__driver__.lua"
# from [af272762b9ba75768308bd021b2992bee7599531]
# to [5e3641b14d78b3762b5311d8c96a6d5b573410de]
#
# patch "tests/netsync,--set-default/__driver__.lua"
# from [4c5eb0ab9568e85c306b57953b89f4c2b8830ab8]
# to [f1b758e020bccd96da24fdf9015bb06d5c4e0725]
#
# patch "tests/netsync_client_absorbs_and_checks_epochs/__driver__.lua"
# from [051a9845b19373c494e6b992a81b3e6ba9588217]
# to [c9ca91058a28985d1e07fba47cc85181580f2a41]
#
# patch "tests/netsync_client_absorbs_server_key/__driver__.lua"
# from [179a061d8eb5a4d5d2d3fb32d770fcf24b11c424]
# to [604f76a83044fc89a53a219c8162c014456b586a]
#
# patch "tests/netsync_default_server_pattern/__driver__.lua"
# from [ce953484cd6f63ad5b44f054d10c4b3a6ad23c4a]
# to [ba0af28a5b60f2de3d837003b468f7597b383d4f]
#
# patch "tests/netsync_default_server_pattern_setting/__driver__.lua"
# from [476829800bd76624f072ca5d00c113ffd290a94a]
# to [a959e5ea6e4412ee00d5ceff640ec45f384f6b36]
#
# patch "tests/netsync_hook_errcodes/__driver__.lua"
# from [505fb36ee5b0fc9fe2db1f39412eeb95e4b5d4e0]
# to [1e4504885124bfa64eeb91ce357c3a8f4820a94b]
#
# patch "tests/netsync_is_not_interrupted_by_SIGPIPE/__driver__.lua"
# from [0a03a6aa0020c42cfb947a1eec7d1b9f41cfc148]
# to [10c1772a19c48a2c039276840ecaf8fe2c9af0fa]
#
# patch "tests/netsync_largish_file/__driver__.lua"
# from [e72e457f2d00207b90cfc8bf11d4c1e476a3bf5b]
# to [135d2f4626dbb41d145e1f271bd165f91bd7839f]
#
# patch "tests/netsync_permissions/__driver__.lua"
# from [c3b3610c002a1806abf45de46fbe6ce01af87bed]
# to [9206b414713e9b678316304d3ce071543cc5433b]
#
# patch "tests/netsync_permissions/closed/read-permissions"
# from [b9bae8e35f085049ddfa0cfe92308a79998ad6d0]
# to [2164855b160ba5bfa19257d29dc4e820becc5459]
#
# patch "tests/netsync_server_absorbs_and_checks_epochs/__driver__.lua"
# from [aa78fe9e8da0888ade6012e92b85de9b8cb493c4]
# to [cc83b2b114c4065c65f166c731e7b9090892bf83]
#
# patch "tests/netsync_transfers_public_keys/__driver__.lua"
# from [468ddf2bf0cfe020d24c7314c18464ace4a1ba23]
# to [7c33043f7bea601ceb114aa57853ca0ecdbbdcca]
#
# patch "tests/netsync_verifies_server_keys/__driver__.lua"
# from [dddf09d532cd2f277364b4ff71fa763a976ce34e]
# to [13305be95a16b088e491e320e7d6a53a5fe6aa4a]
#
# patch "tests/netsync_with_globs/__driver__.lua"
# from [5008a811543f23ef8fa4e5cd54a411204ee93e9e]
# to [9e790fb1196c3ee5cb391cbdcbae847e721e4044]
#
# patch "tests/one-way_netsync_where_the_sink_has_more_epochs/__driver__.lua"
# from [a1568c8d83ddc35101ce36a75babe23cb9597884]
# to [bb8e382b933199a1949323f0d4005db68b6d17bf]
#
# patch "tests/persistent_netsync_server_-_keys/__driver__.lua"
# from [d69890ecb57963ff920dd98e05de85771d28db3f]
# to [d9a6a5c55dc85ad55f06cb316dc4231ada807e93]
#
# patch "tests/persistent_netsync_server_-_revs_&_certs/__driver__.lua"
# from [efb2a05ac574eb9d9a6b59b965c4b8beb589a050]
# to [1ab3a65b825dfaaaba49b2dc363141fd10b6a0c7]
#
# patch "tests/pid_file_and_log_handles_open_failures/__driver__.lua"
# from [3efad657fe70fa93eb9d23de7a82164e54752b0c]
# to [1da5c1056509a1fa78b7492e9e9100228b8661f6]
#
# patch "tests/pid_file_cleanup/__driver__.lua"
# from [76cfad28c2ee03cfaf2c0b6f227d2e98f88f1797]
# to [1454e1b40ac70ac3e3cd8f5b69aa5ffacacece2c]
#
# patch "tests/quiet_turns_off_tickers_but_not_warnings/__driver__.lua"
# from [71014ee89d9c0bb2e0da4fdcac979691488dccab]
# to [581d68e2a1f364bf5c74cefc7a3e8da4cf9fdc81]
#
# patch "tests/reallyquiet_turns_off_tickers_and_warnings/__driver__.lua"
# from [460f28ce4b648802659aae6be44412ed20b52c8b]
# to [cb891df2dd67048b2d8af853e11cdab8cdf50e3f]
#
# patch "tests/serve_pull_with_--exclude/__driver__.lua"
# from [7b542291fc5d2565cc1f5d7ba2c828e205fa43d2]
# to [9c87166a5f1834bccd2ff5c15c80b3fbb7a5872b]
#
# patch "tests/test_hooks.lua"
# from [858d6bfc517923a0a8d006180ac95080599ac1f6]
# to [731fd61c7d9490548d9eed744629a6950748890b]
#
# patch "testsuite.lua"
# from [69e0a1f973ae6482df199669e0fc61d724e05c43]
# to [c04fe5dcd9219201e0d8884c1d78adaf22f45636]
#
============================================================
--- tests/serve_pull_with_--exclude/read-permissions af0e0c9d5eb1a4f33c4802f9db20335a60bd2456
+++ tests/serve_pull_with_--exclude/read-permissions af0e0c9d5eb1a4f33c4802f9db20335a60bd2456
@@ -0,0 +1,8 @@
+pattern "branch2"
+deny "*"
+
+pattern "branch4"
+deny "*"
+
+pattern "branch*"
+allow "*"
============================================================
--- ChangeLog 09e04edc1d9acf5a39c15f5b6d5d905ed8731d4c
+++ ChangeLog 8a14e62bcbc83773fbb48157909474f20f75291e
@@ -1,3 +1,14 @@
+2006-11-18 Timtohy Brownawell
+
+ Make 'serve' always serve everything, and no longer take
+ include/exclude patterns on the command line.
+
+ Make the testsuite not use --nostd, so it can use the standard
+ permissions hooks for tests that need restricted serve.
+
+ Un-xfail the mtn:execute / umask test, since not having the
+ standard hooks available was what made it not work.
+
2006-11-17 Timothy Brownawell
Make spawn_redirected work with blank filenames to not redirect
============================================================
--- cmd_netsync.cc 32269e67f1a25f2f83643c80f28f8c4359d97aa9
+++ cmd_netsync.cc 3ffc6ac821fa437265a771fb8596a81bdd833948
@@ -21,44 +21,33 @@ static void
var_name("default-exclude-pattern"));
static void
-process_netsync_args(string const & name,
- vector const & args,
- utf8 & addr,
- utf8 & include_pattern, utf8 & exclude_pattern,
- bool use_defaults,
- bool serve_mode,
- bool needs_key,
- app_state & app)
+extract_address(vector const & args,
+ utf8 & addr,
+ app_state & app)
{
- // handle host argument
- if (!serve_mode)
+ if (args.size() >= 1)
{
- if (args.size() >= 1)
+ addr = idx(args, 0);
+ if (!app.db.var_exists(default_server_key) || app.opts.set_default)
{
- addr = idx(args, 0);
- if (use_defaults
- && (!app.db.var_exists(default_server_key)
- || app.opts.set_default))
- {
- P(F("setting default server to %s") % addr);
- app.db.set_var(default_server_key, var_value(addr()));
- }
+ P(F("setting default server to %s") % addr);
+ app.db.set_var(default_server_key, var_value(addr()));
}
- else
- {
- N(use_defaults, F("no hostname given"));
- N(app.db.var_exists(default_server_key),
- F("no server given and no default server set"));
- var_value addr_value;
- app.db.get_var(default_server_key, addr_value);
- addr = utf8(addr_value());
- L(FL("using default server address: %s") % addr);
- }
}
+ else
+ {
+ N(app.db.var_exists(default_server_key),
+ F("no server given and no default server set"));
+ var_value addr_value;
+ app.db.get_var(default_server_key, addr_value);
+ addr = utf8(addr_value());
+ L(FL("using default server address: %s") % addr);
+ }
+}
- // if a key is required and one isn't specified, we should fail.
- if (needs_key)
- {
+static void
+find_key_if_needed(utf8 & addr, app_state & app)
+{
uri u;
bool transport_requires_auth(true);
if (parse_uri(addr(), u))
@@ -71,26 +60,28 @@ process_netsync_args(string const & name
get_user_key(key, app);
app.opts.signing_key = key;
}
- }
+}
- // handle include/exclude args
- if (serve_mode || (args.size() >= 2 || app.opts.exclude_given))
+static void
+extract_patterns(vector const & args,
+ utf8 & include_pattern, utf8 & exclude_pattern,
+ app_state & app)
+{
+ if (args.size() >= 2 || app.opts.exclude_given)
{
- E(serve_mode || args.size() >= 2, F("no branch pattern given"));
- int pattern_offset = (serve_mode ? 0 : 1);
+ E(args.size() >= 2, F("no branch pattern given"));
+ int pattern_offset = 1;
vector patterns(args.begin() + pattern_offset, args.end());
combine_and_check_globish(patterns, include_pattern);
combine_and_check_globish(app.opts.exclude_patterns, exclude_pattern);
- if (use_defaults &&
- (!app.db.var_exists(default_include_pattern_key)
- || app.opts.set_default))
+ if (!app.db.var_exists(default_include_pattern_key)
+ || app.opts.set_default)
{
P(F("setting default branch include pattern to '%s'") % include_pattern);
app.db.set_var(default_include_pattern_key, var_value(include_pattern()));
}
- if (use_defaults &&
- (!app.db.var_exists(default_exclude_pattern_key)
- || app.opts.set_default))
+ if (!app.db.var_exists(default_exclude_pattern_key)
+ || app.opts.set_default)
{
P(F("setting default branch exclude pattern to '%s'") % exclude_pattern);
app.db.set_var(default_exclude_pattern_key, var_value(exclude_pattern()));
@@ -98,7 +89,6 @@ process_netsync_args(string const & name
}
else
{
- N(use_defaults, F("no branch pattern given"));
N(app.db.var_exists(default_include_pattern_key),
F("no branch pattern given and no default pattern set"));
var_value pattern_value;
@@ -118,13 +108,14 @@ CMD(push, N_("network"), N_("[ADDRESS[:P
CMD(push, N_("network"), N_("[ADDRESS[:PORTNUMBER] [PATTERN]]"),
N_("push branches matching PATTERN to netsync server at ADDRESS"),
- options::opts::set_default | options::opts::exclude | options::opts::key_to_push)
+ options::opts::set_default | options::opts::exclude |
+ options::opts::key_to_push)
{
utf8 addr, include_pattern, exclude_pattern;
- process_netsync_args(name, args, addr, include_pattern, exclude_pattern,
- true, false, true, app);
+ extract_address(args, addr, app);
+ find_key_if_needed(addr, app);
+ extract_patterns(args, include_pattern, exclude_pattern, app);
-
run_netsync_protocol(client_voice, source_role, addr,
include_pattern, exclude_pattern, app);
}
@@ -134,8 +125,8 @@ CMD(pull, N_("network"), N_("[ADDRESS[:P
options::opts::set_default | options::opts::exclude)
{
utf8 addr, include_pattern, exclude_pattern;
- process_netsync_args(name, args, addr, include_pattern, exclude_pattern,
- true, false, false, app);
+ extract_address(args, addr, app);
+ extract_patterns(args, include_pattern, exclude_pattern, app);
if (app.opts.signing_key() == "")
P(F("doing anonymous pull; use -kKEYNAME if you need authentication"));
@@ -146,11 +137,13 @@ CMD(sync, N_("network"), N_("[ADDRESS[:P
CMD(sync, N_("network"), N_("[ADDRESS[:PORTNUMBER] [PATTERN]]"),
N_("sync branches matching PATTERN with netsync server at ADDRESS"),
- options::opts::set_default | options::opts::exclude | options::opts::key_to_push)
+ options::opts::set_default | options::opts::exclude |
+ options::opts::key_to_push)
{
utf8 addr, include_pattern, exclude_pattern;
- process_netsync_args(name, args, addr, include_pattern, exclude_pattern,
- true, false, true, app);
+ extract_address(args, addr, app);
+ find_key_if_needed(addr, app);
+ extract_patterns(args, include_pattern, exclude_pattern, app);
run_netsync_protocol(client_voice, source_and_sink_role, addr,
include_pattern, exclude_pattern, app);
@@ -188,12 +181,12 @@ private:
system_path path;
};
-CMD_NO_WORKSPACE(serve, N_("network"), N_("PATTERN ..."),
- N_("serve the branches specified by PATTERNs to connecting clients"),
- options::opts::bind | options::opts::pidfile | options::opts::exclude |
+CMD_NO_WORKSPACE(serve, N_("network"), "",
+ N_("serve the database to connecting clients"),
+ options::opts::bind | options::opts::pidfile |
options::opts::bind_stdio | options::opts::no_transport_auth)
{
- if (args.size() < 1)
+ if (!args.empty())
throw usage(name);
pid_file pid(app.opts.pidfile);
@@ -216,11 +209,8 @@ CMD_NO_WORKSPACE(serve, N_("network"), N
app.db.ensure_open();
- utf8 dummy_addr, include_pattern, exclude_pattern;
- process_netsync_args(name, args, dummy_addr, include_pattern, exclude_pattern,
- false, true, false, app);
run_netsync_protocol(server_voice, source_and_sink_role, app.opts.bind_address,
- include_pattern, exclude_pattern, app);
+ utf8("*"), utf8(""), app);
}
// Local Variables:
============================================================
--- monotone.texi fa297db6b3cbe419bee200bc26ff1e3ac6d9e29f
+++ monotone.texi 4b8427a2d6a9ab30660bbd68618ae575e63c5c79
@@ -1699,16 +1699,12 @@ @section Basic Network Service
@smallexample
@group
-$ mtn --db=jim.mtn serve "jp.co.juicebot.jb7*"
+$ mtn --db=jim.mtn serve
@end group
@end smallexample
This command starts monotone listening on all network interfaces of
-his laptop on the default port 4691, serving any branch matching
address@hidden This will naturally include the
address@hidden branch, and any sub-branches. The quotes
-around @code{"jp.co.juicebot.jb7*"} are there to protect the @code{*}
-from expansion by the shell; they have no meaning to monotone.
+his laptop on the default port 4691, serving everything in his database.
@page
@node Synchronising Databases
@@ -2426,7 +2422,7 @@ @section Network Service Revisited
@smallexample
@group
-$ mtn --db=server.mtn --bind=www.juicebot.co.jp serve "jp.co.juicebot.jb7*"
+$ mtn --db=server.mtn --bind=www.juicebot.co.jp serve
@end group
@end smallexample
@@ -4450,8 +4446,8 @@ @section Network
@section Network
@ftable @command
address@hidden mtn serve address@hidden:@var{port}]] @var{glob} [...] address@hidden
address@hidden mtn serve --stdio [--no-transport-auth] @var{glob} [...] address@hidden
address@hidden mtn serve address@hidden:@var{port}]]
address@hidden mtn serve --stdio [--no-transport-auth]
@itemx mtn pull [--set-default] address@hidden address@hidden [...] address@hidden
@itemx mtn push [--set-default] address@hidden address@hidden [...] address@hidden
@itemx mtn sync [--set-default] address@hidden address@hidden [...] address@hidden
@@ -4501,7 +4497,7 @@ @section Network
@smallexample
@group
-$ mtn --bind=alice.someisp.com serve "net.venge.monotone*"
+$ mtn --bind=alice.someisp.com serve
@end group
@end smallexample
============================================================
--- netsync.cc 6d01eb6b2af474d8bae80a5bd9b4b3ba539cb670
+++ netsync.cc 0e7bb42de8a3547884df880f79a4fa60b0351175
@@ -1445,15 +1445,10 @@ session::process_anonymous_cmd(protocol_
i != branchnames.end(); i++)
{
if (their_matcher(*i))
- if (!our_matcher(*i))
+ if (app.opts.use_transport_auth &&
+ !app.lua.hook_get_netsync_read_permitted(*i))
{
error(not_permitted,
- (F("not serving branch '%s'") % *i).str());
- }
- else if (app.opts.use_transport_auth &&
- !app.lua.hook_get_netsync_read_permitted(*i))
- {
- error(not_permitted,
(F("anonymous access to branch '%s' denied by server") % *i).str());
}
else
@@ -1583,13 +1578,8 @@ session::process_auth_cmd(protocol_role
{
if (their_matcher(*i))
{
- if (!our_matcher(*i))
+ if (!app.lua.hook_get_netsync_read_permitted(*i, their_id))
{
- error(not_permitted, (F("not serving branch '%s'") % *i).str());
-
- }
- else if (!app.lua.hook_get_netsync_read_permitted(*i, their_id))
- {
error(not_permitted,
(F("denied '%s' read permission for '%s' excluding '%s' because of branch '%s'")
% their_id % their_include_pattern % their_exclude_pattern % *i).str());
============================================================
--- std_hooks.lua 76099a6bd6ac95f36965f58c63d65af4659bb417
+++ std_hooks.lua 51c2c0ca061f8c0ec2ccfaf4b30ead7e8026cc49
@@ -874,7 +874,6 @@ function get_netsync_connect_command(uri
function get_netsync_connect_command(uri, args)
local argv = nil
- local quote_patterns = false
if uri["scheme"] == "ssh"
and uri["host"]
@@ -897,7 +896,6 @@ function get_netsync_connect_command(uri
end
table.insert(argv, uri["host"])
- quote_patterns = true
end
if uri["scheme"] == "file" and uri["path"] then
@@ -920,23 +918,6 @@ function get_netsync_connect_command(uri
table.insert(argv, "--stdio")
table.insert(argv, "--no-transport-auth")
- -- patterns must be quoted to avoid a remote shell expanding them
- if args["include"] then
- local include = args["include"]
- if quote_patterns then
- include = "'" .. args["include"] .. "'"
- end
- table.insert(argv, include)
- end
-
- if args["exclude"] then
- table.insert(argv, "--exclude")
- local exclude = args["exclude"]
- if quote_patterns then
- exclude = "'" .. args["exclude"] .. "'"
- end
- table.insert(argv, exclude)
- end
end
return argv
end
============================================================
--- tests/(imp)_persistent_netsync_server_-_keys_2/__driver__.lua c1d97d0eb0076014df8ff5035970c98d6974df40
+++ tests/(imp)_persistent_netsync_server_-_keys_2/__driver__.lua ced4ffc5130603ac1b82c144554a67f73308dbec
@@ -23,7 +23,7 @@ check(mtn2("commit", "address@hidden", "-
check(mtn2("status"), 0, false, false)
check(mtn2("commit", "address@hidden", "--branch=testbranch", "-m", 'commit foo'), 0, false, false)
-srv = netsync.start("testbranch")
+srv = netsync.start()
srv:push("testbranch", 2)
srv:pull("testbranch", 3)
srv:finish()
============================================================
--- tests/checking_that_certain_commands_ignores_the_contents_of__MTN_options/__driver__.lua 3a257af1220ae308c17fde97812de135b92c3d32
+++ tests/checking_that_certain_commands_ignores_the_contents_of__MTN_options/__driver__.lua c3fd58c552a59d37fb32775239223e4cdcead142
@@ -15,6 +15,6 @@ check(qgrep('key "address@hidden"', "
check(not qgrep('key "address@hidden"', "_MTN/options"))
check(qgrep('key "address@hidden"', "_MTN/options"))
-srv = netsync.start("testbranch")
+srv = netsync.start()
srv:push({"testbranch", "address@hidden"})
srv:stop()
============================================================
--- tests/common/netsync-hooks.lua ac4d58f0fe321f1873f737156b28a42e54746581
+++ tests/common/netsync-hooks.lua c3dc6289586df28142be5e124beb50bfcad159ff
@@ -1,7 +1,24 @@
-function get_netsync_read_permitted(pattern, identity)
- return true
+
+do
+ local old = get_netsync_read_permitted
+ function get_netsync_read_permitted(pattern, identity)
+ local permfile = io.open(get_confdir() .. "/read-permissions", "r")
+ if (permfile == nil) then
+ return true
+ end
+ io.close(permfile)
+ return old(pattern, identity)
+ end
end
-function get_netsync_write_permitted(identity)
- return true
+do
+ local old = get_netsync_write_permitted
+ function get_netsync_write_permitted(identity)
+ local permfile = io.open(get_confdir() .. "/write-permissions", "r")
+ if (permfile == nil) then
+ return true
+ end
+ io.close(permfile)
+ return old(identity)
+ end
end
============================================================
--- tests/common/netsync-hooks_with_notes.lua 7f3c021a933500a16ac5f2c1ec6c486962aa55ca
+++ tests/common/netsync-hooks_with_notes.lua 3f41c5f99a2252ec2d0e9773ef1833cd2a96ba7b
@@ -48,10 +48,26 @@ end
logfile:close()
end
-function get_netsync_read_permitted(pattern, identity)
- return true
+do
+ local old = get_netsync_read_permitted
+ function get_netsync_read_permitted(pattern, identity)
+ local permfile = io.open(get_confdir() .. "/read-permissions", "r")
+ if (permfile == nil) then
+ return true
+ end
+ io.close(permfile)
+ return old(pattern, identity)
+ end
end
-function get_netsync_write_permitted(identity)
- return true
+do
+ local old = get_netsync_write_permitted
+ function get_netsync_write_permitted(identity)
+ local permfile = io.open(get_confdir() .. "/write-permissions", "r")
+ if (permfile == nil) then
+ return true
+ end
+ io.close(permfile)
+ return old(identity)
+ end
end
============================================================
--- tests/common/netsync.lua 5cd9be1cf66abf1111a71418811f8360bb4f8f10
+++ tests/common/netsync.lua 7b1f4b9805594eca3b037055833df798942e725d
@@ -43,8 +43,12 @@ function netsync.internal.sync(srv, pat,
function netsync.internal.push(srv, pat, n, res) srv:client("push", pat, n, res) end
function netsync.internal.sync(srv, pat, n, res) srv:client("sync", pat, n, res) end
-function netsync.start(pat, n, min)
- if pat == "" or pat == nil then pat = "{*}" end
+function netsync.start(opts, n, min)
+ if type(opts) == "number" then
+ min = n
+ n = opts
+ opts = nil
+ end
local args = {}
local fn = mtn
local addr = "localhost:" .. math.random(20000, 50000)
@@ -60,14 +64,12 @@ function netsync.start(pat, n, min)
table.insert(args, "--db=test"..n..".db")
end
table.insert(args, "serve")
- if type(pat) == "string" then
- table.insert(args, pat)
- elseif type(pat) == "table" then
- for k, v in pairs(pat) do
+ if type(opts) == "table" then
+ for k, v in pairs(opts) do
table.insert(args, v)
end
- else
- err("Bad pattern type "..type(pat))
+ elseif type(opts) ~= "nil" then
+ err("netsync.start wants a table, not a "..type(opts).." as a first argument")
end
local out = bg(fn(unpack(args)), false, false, false)
out.address = addr
@@ -88,11 +90,19 @@ end
return out
end
-function netsync.internal.run(oper, pat)
- local srv = netsync.start(pat)
+function netsync.internal.run(oper, pat, opts)
+ local srv = netsync.start(opts)
+ if type(opts) == "table" then
+ for k, v in pairs(opts) do
+ table.insert(pat, v)
+ end
+ elseif type(opts) ~= "nil" then
+ err("second argument to netsync."..oper.." should be a table")
+ end
srv:client(oper, pat)
srv:finish()
end
+
+function netsync.pull(pat, opts) netsync.internal.run("pull", pat, opts) end
+function netsync.push(pat, opts) netsync.internal.run("push", pat, opts) end
+function netsync.sync(pat, opts) netsync.internal.run("sync", pat, opts) end
-function netsync.pull(pat) netsync.internal.run("pull", pat) end
-function netsync.push(pat) netsync.internal.run("push", pat) end
-function netsync.sync(pat) netsync.internal.run("sync", pat) end
============================================================
--- tests/db_data_format_checking/__driver__.lua 9bbbea7784cf69025a7d442144b612c9613da144
+++ tests/db_data_format_checking/__driver__.lua e3f5be2451252d0c52a609f638c402ac8a9cf302
@@ -13,7 +13,7 @@ check(mtn("-d", "cs-modern.db", "ls", "k
check(mtn("-d", "cs-modern.db", "db", "migrate"), 0, false, false)
check(mtn("-d", "cs-modern.db", "ls", "keys"), 1, false, false)
-check(mtn("-d", "cs-modern.db", "serve", "--bind=127.0.0.1:63219", '*'), 1, false, false)
+check(mtn("-d", "cs-modern.db", "serve", "--bind=127.0.0.1:63219"), 1, false, false)
check(get("rosterify.db.dumped", "stdin"))
@@ -21,7 +21,7 @@ check(mtn("-d", "ro-modern.db", "ls", "k
check(mtn("-d", "ro-modern.db", "db", "migrate"), 0, false, false)
check(mtn("-d", "ro-modern.db", "ls", "keys"), 1, false, false)
-check(mtn("-d", "ro-modern.db", "serve", "--bind=127.0.0.1:63219", '*'), 1, false, false)
+check(mtn("-d", "ro-modern.db", "serve", "--bind=127.0.0.1:63219"), 1, false, false)
-- arguably "db regenerate_caches" should go here too -- it's treated
-- similarly. But the test "schema_migration" tests for its behavior in this
============================================================
--- tests/get_netsync_read_permitted/__driver__.lua 08bf20b752af7ac64845b4eb57975675e84f06a5
+++ tests/get_netsync_read_permitted/__driver__.lua d1e7461bdceab19034a9c20eb033249693d7a903
@@ -26,7 +26,7 @@ check(get("read-permissions", "perm/read
mkdir("perm")
check(get("read-permissions", "perm/read-permissions"))
-srv = netsync.start({"--confdir=perm", "branch*"}, nil, true)
+srv = netsync.start({"--confdir=perm"}, nil, true)
srv:pull("branch*", nil, 1)
check(mtn2("automate", "get_revision", B1), 1, false, false)
============================================================
--- tests/mtn_execute_attr_respects_umask/__driver__.lua 6e90db48ddc768b25e87c7c12d9fdfd6c8f8be3f
+++ tests/mtn_execute_attr_respects_umask/__driver__.lua 14a16f30798020243f72cdcc9c0eb87706fb8068
@@ -1,11 +1,8 @@ skip_if(ostype == "Windows")
skip_if(ostype == "Windows")
+skip_if(not existsonpath("stat"))
mtn_setup()
--- I don't know why this fails! When I set umask 077 and check out
--- this tree by hand, it works fine; when I run this test, though, then
--- for some reason the foo file is checked out with permission 600!
-
addfile("foo", "blah blah")
addfile("bar", "blah blah")
check(mtn("attr", "set", "foo", "mtn:execute", "true"))
@@ -17,20 +14,21 @@ check(mtn("co", "-r", R, "077-co"), 0, f
-- log
L(posix_umask(077), "\n")
check(mtn("co", "-r", R, "077-co"), 0, false, false)
-xfail_if(true, is_executable("077-co/foo"))
+check(is_executable("077-co/foo"))
check(not is_executable("077-co/bar"))
---check(stat -c '%a' 077-co/foo, 0, [700
---])
---check(stat -c '%a' 077-co/bar, 0, [600
---])
+check({"stat", "-c", "%a", "077-co/foo"}, 0, "700\n", false)
-posix_umask(577)
+-- Don't do this one; it makes the directories also 200, which
+-- kinda breaks things.
+
+--posix_umask(577)
+
-- log
-L(posix_umask(577), "\n")
-check(mtn("co", "-r", R, "577-co"), 0, false, false)
-check(not is_executable("577-co/foo"))
-check(not is_executable("577-co/bar"))
+--L(posix_umask(577), "\n")
+--xfail(mtn("co", "-r", R, "577-co"), 0, false, false)
+--check(not is_executable("577-co/foo"))
+--check(not is_executable("577-co/bar"))
--check(stat -c '%a' 577-co/foo, 0, [200
--])
--check(stat -c '%a' 577-co/bar, 0, [200
============================================================
--- tests/netsync,--exclude,defaults/__driver__.lua af272762b9ba75768308bd021b2992bee7599531
+++ tests/netsync,--exclude,defaults/__driver__.lua 5e3641b14d78b3762b5311d8c96a6d5b573410de
@@ -62,7 +62,7 @@ check(mtn2("automate", "get_revision", B
-- but --set-default overrides
-srv = netsync.start("branch*")
+srv = netsync.start()
srv:pull({"--set-default", 'branch*'})
srv:stop()
check(mtn2("automate", "get_revision", B11), 0, false, false)
============================================================
--- tests/netsync,--set-default/__driver__.lua 4c5eb0ab9568e85c306b57953b89f4c2b8830ab8
+++ tests/netsync,--set-default/__driver__.lua f1b758e020bccd96da24fdf9015bb06d5c4e0725
@@ -19,14 +19,14 @@ math.randomseed(rseed)
-- make sure the defaults really were set to 'testbranch'
math.randomseed(rseed)
-srv = netsync.start("testbranch")
+srv = netsync.start()
check(mtn2("pull"), 0, false, false)
srv:stop()
check(mtn2("automate", "get_revision", t2), 0, false, false)
-- do a --set-default pull of another branch
math.randomseed(rseed)
-srv = netsync.start("otherbranch")
+srv = netsync.start()
srv:pull({"otherbranch", "--set-default"})
srv:stop()
@@ -37,7 +37,7 @@ math.randomseed(rseed)
-- and make sure that our default is now it
math.randomseed(rseed)
-srv = netsync.start("otherbranch")
+srv = netsync.start()
check(mtn2("pull"), 0, false, false)
srv:stop()
============================================================
--- tests/netsync_client_absorbs_and_checks_epochs/__driver__.lua 051a9845b19373c494e6b992a81b3e6ba9588217
+++ tests/netsync_client_absorbs_and_checks_epochs/__driver__.lua c9ca91058a28985d1e07fba47cc85181580f2a41
@@ -19,11 +19,11 @@ commit("otherbranch")
addfile("testfile2", "other data")
commit("otherbranch")
-- Run an irrelevant netsync, just to force epochs to be regenerated
-srv = netsync.start("otherbranch")
+srv = netsync.start()
srv:sync("otherbranch", 3)
srv:finish()
-- Run the real netsync
-netsync.pull("testbranch")
+netsync.pull()
check(mtn2("list", "epochs"), 0, true, false)
rename("stdout", "new-epochs")
check(samefile("orig-epochs", "new-epochs"))
@@ -39,7 +39,7 @@ check(mtn("db", "set_epoch", "otherbranc
check(mtn("db", "set_epoch", "otherbranch", string.rep("a", 40)), 0, false, false)
-- this should *fail* to sync
-srv = netsync.start("testbranch")
+srv = netsync.start()
-- This should probably expect an exit value of 1, but ATM the netsync
-- client doesn't report errors in its exit value.
-- srv:pull("testbranch", 2, 1)
============================================================
--- tests/netsync_client_absorbs_server_key/__driver__.lua 179a061d8eb5a4d5d2d3fb32d770fcf24b11c424
+++ tests/netsync_client_absorbs_server_key/__driver__.lua 604f76a83044fc89a53a219c8162c014456b586a
@@ -11,7 +11,7 @@ copy("stdout", "foo_public")
canonicalize("stdout")
copy("stdout", "foo_public")
-srv = netsync.start({"address@hidden", "testbranch"})
+srv = netsync.start({"address@hidden"})
srv:pull("testbranch")
srv:stop()
============================================================
--- tests/netsync_default_server_pattern/__driver__.lua ce953484cd6f63ad5b44f054d10c4b3a6ad23c4a
+++ tests/netsync_default_server_pattern/__driver__.lua ba0af28a5b60f2de3d837003b468f7597b383d4f
@@ -16,7 +16,7 @@ revs.thirdbranch = base_revision()
commit("thirdbranch")
revs.thirdbranch = base_revision()
-srv = netsync.start({"testbranch", "otherbranch", "thirdbranch"})
+srv = netsync.start()
-- First make sure netsync with explicit server/pattern override defaults
check(mtn2("set", "database", "default-server", "nonsense"), 0, false, false)
============================================================
--- tests/netsync_default_server_pattern_setting/__driver__.lua 476829800bd76624f072ca5d00c113ffd290a94a
+++ tests/netsync_default_server_pattern_setting/__driver__.lua a959e5ea6e4412ee00d5ceff640ec45f384f6b36
@@ -6,7 +6,7 @@ commit()
addfile("testfile", "blah blah")
commit()
-srv = netsync.start("testbranch")
+srv = netsync.start()
srv:pull("testbranch")
writefile("testfile", "other stuff")
============================================================
--- tests/netsync_hook_errcodes/__driver__.lua 505fb36ee5b0fc9fe2db1f39412eeb95e4b5d4e0
+++ tests/netsync_hook_errcodes/__driver__.lua 1e4504885124bfa64eeb91ce357c3a8f4820a94b
@@ -47,14 +47,15 @@ clearnotes()
chk_errcode_is(200)
clearnotes()
-srv = netsync.start("testbranch")
+writefile("denyread", "function get_netsync_read_permitted() return false end")
+srv = netsync.start({"--rcfile=denyread"})
srv:sync({"otherbranch"}, 2, 1)
srv:stop()
chk_errcode_is(412)
clearnotes()
check(mtn2("genkey", "address@hidden"), 0, false, false, string.rep("address@hidden", 2))
-srv = netsync.start("testbranch")
+srv = netsync.start()
srv:sync({"testbranch", "address@hidden"}, 2, 1)
srv:stop()
chk_errcode_is(422)
@@ -62,7 +63,7 @@ check(mtn2("db", "set_epoch", "testbranc
check(mtn("db", "set_epoch", "testbranch", string.rep("0", 40)))
check(mtn2("db", "set_epoch", "testbranch", string.rep("1", 40)))
-srv = netsync.start("testbranch")
+srv = netsync.start()
srv:push({"testbranch"}, 2, 1)
srv:stop()
chk_errcode_is(432)
============================================================
--- tests/netsync_is_not_interrupted_by_SIGPIPE/__driver__.lua 0a03a6aa0020c42cfb947a1eec7d1b9f41cfc148
+++ tests/netsync_is_not_interrupted_by_SIGPIPE/__driver__.lua 10c1772a19c48a2c039276840ecaf8fe2c9af0fa
@@ -15,7 +15,7 @@ commit()
writefile("testfile", "version 1 of test file")
commit()
-srv = netsync.start("testbranch")
+srv = netsync.start()
-- send the server a SIGPIPE signal (it should survive)
netsync_killpipe(srv)
============================================================
--- tests/netsync_largish_file/__driver__.lua e72e457f2d00207b90cfc8bf11d4c1e476a3bf5b
+++ tests/netsync_largish_file/__driver__.lua 135d2f4626dbb41d145e1f271bd165f91bd7839f
@@ -11,7 +11,7 @@ file = sha1("largish")
commit()
file = sha1("largish")
-srv = netsync.start("testbranch")
+srv = netsync.start()
srv:pull("testbranch")
============================================================
--- tests/netsync_permissions/__driver__.lua c3b3610c002a1806abf45de46fbe6ce01af87bed
+++ tests/netsync_permissions/__driver__.lua 9206b414713e9b678316304d3ce071543cc5433b
@@ -34,7 +34,7 @@ revs.base = base_revision()
commit("testbranch", "testfile")
revs.base = base_revision()
-srv = netsync.start({"testbranch", "--confdir=open"}, nil, true)
+srv = netsync.start({"--confdir=open"}, nil, true)
-- anonymous pull
@@ -114,7 +114,7 @@ revs.base = base_revision()
commit("testbranch", "testfile")
revs.base = base_revision()
-srv = netsync.start({"testbranch", "--confdir=closed"}, nil, true)
+srv = netsync.start({"--confdir=closed"}, nil, true)
-- anonymous pull fails
============================================================
--- tests/netsync_permissions/closed/read-permissions b9bae8e35f085049ddfa0cfe92308a79998ad6d0
+++ tests/netsync_permissions/closed/read-permissions 2164855b160ba5bfa19257d29dc4e820becc5459
@@ -1,2 +1,5 @@
+pattern "badbranch"
+deny "*"
+
pattern "*"
allow "address@hidden"
============================================================
--- tests/netsync_server_absorbs_and_checks_epochs/__driver__.lua aa78fe9e8da0888ade6012e92b85de9b8cb493c4
+++ tests/netsync_server_absorbs_and_checks_epochs/__driver__.lua cc83b2b114c4065c65f166c731e7b9090892bf83
@@ -21,7 +21,7 @@ check(mtn2("commit", "--message=foo", "-
check(mtn2("add", "otherfile"), 0, false, false)
check(mtn2("commit", "--message=foo", "--branch=otherbranch"), 0, false, false)
-- Run an irrelevant netsync, just to force epochs to be regenerated
-srv = netsync.start("otherbranch", 2)
+srv = netsync.start(2)
srv:sync("otherbranch", 3)
srv:finish()
-- Run the real netsync
@@ -40,7 +40,7 @@ check(mtn("db", "set_epoch", "otherbranc
check(mtn("db", "set_epoch", "otherbranch", string.rep("a", 40)), 0, false, false)
-- this should *fail* to sync
-srv = netsync.start("testbranch")
+srv = netsync.start()
-- This should probably expect an exit value of 1, but ATM the netsync
-- client doesn't report errors in its exit value.
-- srv:pull("testbranch", 2, 1)
============================================================
--- tests/netsync_transfers_public_keys/__driver__.lua 468ddf2bf0cfe020d24c7314c18464ace4a1ba23
+++ tests/netsync_transfers_public_keys/__driver__.lua 7c33043f7bea601ceb114aa57853ca0ecdbbdcca
@@ -21,7 +21,7 @@ check(not qgrep(privkey, "stdout"))
check(not qgrep(privkey, "stdout"))
-- Now check that --key-to-push works.
-srv = netsync.start("testbranch", 2)
+srv = netsync.start(2)
check(mtn("--rcfile=netsync.lua", "push", srv.address,
"testbranch", "address@hidden"),
0, false, false)
============================================================
--- tests/netsync_verifies_server_keys/__driver__.lua dddf09d532cd2f277364b4ff71fa763a976ce34e
+++ tests/netsync_verifies_server_keys/__driver__.lua 13305be95a16b088e491e320e7d6a53a5fe6aa4a
@@ -14,7 +14,7 @@ math.randomseed(seed)
-- Then again with a different key; should fail.
math.randomseed(seed)
-srv = netsync.start{"address@hidden", "testbranch"}
+srv = netsync.start{"address@hidden"}
srv:pull("testbranch", nil, 1)
-- It shouldn't have absorbed the key, either.
============================================================
--- tests/netsync_with_globs/__driver__.lua 5008a811543f23ef8fa4e5cd54a411204ee93e9e
+++ tests/netsync_with_globs/__driver__.lua 9e790fb1196c3ee5cb391cbdcbae847e721e4044
@@ -20,7 +20,7 @@ revs[21] = base_revision()
commit("2branch1")
revs[21] = base_revision()
-srv = netsync.start("*branch*")
+srv = netsync.start()
-- check a glob
srv:pull("*anch2")
============================================================
--- tests/one-way_netsync_where_the_sink_has_more_epochs/__driver__.lua a1568c8d83ddc35101ce36a75babe23cb9597884
+++ tests/one-way_netsync_where_the_sink_has_more_epochs/__driver__.lua bb8e382b933199a1949323f0d4005db68b6d17bf
@@ -19,7 +19,7 @@ check(mtn2("commit", "-m", "blah-blah"),
check(mtn2("add", "bar"), 0, false, false)
check(mtn2("commit", "-m", "blah-blah"), 0, false, false)
-srv = netsync.start("*branch")
+srv = netsync.start()
-- We don't want the standard function, because we don't want to hang if it hangs.
-- srv.push("*branch")
============================================================
--- tests/persistent_netsync_server_-_keys/__driver__.lua d69890ecb57963ff920dd98e05de85771d28db3f
+++ tests/persistent_netsync_server_-_keys/__driver__.lua d9a6a5c55dc85ad55f06cb316dc4231ada807e93
@@ -9,7 +9,7 @@ check(mtn2("genkey", "address@hidden"), 0, fals
check(mtn2("genkey", "address@hidden"), 0, false, false, string.rep("address@hidden",2))
-srv = netsync.start("testbranch")
+srv = netsync.start()
srv:push("testbranch", 2)
srv:pull("testbranch", 3)
============================================================
--- tests/persistent_netsync_server_-_revs_&_certs/__driver__.lua efb2a05ac574eb9d9a6b59b965c4b8beb589a050
+++ tests/persistent_netsync_server_-_revs_&_certs/__driver__.lua 1ab3a65b825dfaaaba49b2dc363141fd10b6a0c7
@@ -17,7 +17,7 @@ revs[2] = base_revision()
check(mtn3("commit", "--branch=testbranch", "--message=foo"), 0, false, false)
revs[2] = base_revision()
-srv = netsync.start("testbranch")
+srv = netsync.start()
srv:sync("testbranch", 2)
srv:sync("testbranch", 3)
============================================================
--- tests/pid_file_and_log_handles_open_failures/__driver__.lua 3efad657fe70fa93eb9d23de7a82164e54752b0c
+++ tests/pid_file_and_log_handles_open_failures/__driver__.lua 1da5c1056509a1fa78b7492e9e9100228b8661f6
@@ -22,7 +22,7 @@ else
check({"chmod", "100", "noaccess"})
check(mtn("--log=noaccess/my.log", "status"), 1, false, false)
- srv = bg(mtn("serve", "--bind=127.0.0.2:55597", "testbranch", "--pid-file=noaccess/my.pid"), 1, false, false)
+ srv = bg(mtn("serve", "--bind=127.0.0.2:55597", "--pid-file=noaccess/my.pid"), 1, false, false)
check(srv:wait(5))
end
============================================================
--- tests/pid_file_cleanup/__driver__.lua 76cfad28c2ee03cfaf2c0b6f227d2e98f88f1797
+++ tests/pid_file_cleanup/__driver__.lua 1454e1b40ac70ac3e3cd8f5b69aa5ffacacece2c
@@ -18,7 +18,7 @@ netsync.setup()
--
-- -- Matthew Nicholson
-srv = netsync.start({"{*}", "--pid-file=mtn.pid"})
+srv = netsync.start({"--pid-file=mtn.pid"})
check(exists("mtn.pid"))
srv:finish(0)
xfail_if(true, not exists("mtn.pid"))
============================================================
--- tests/quiet_turns_off_tickers_but_not_warnings/__driver__.lua 71014ee89d9c0bb2e0da4fdcac979691488dccab
+++ tests/quiet_turns_off_tickers_but_not_warnings/__driver__.lua 581d68e2a1f364bf5c74cefc7a3e8da4cf9fdc81
@@ -7,7 +7,7 @@ commit()
commit()
-- check that tickers are quiet
-srv = netsync.start("testbranch")
+srv = netsync.start()
check(mtn2("--rcfile=netsync.lua", "pull", srv.address, "testbranch", "--quiet"), 0, nil, true)
check(qgrep(': warning: ', "stderr"))
============================================================
--- tests/reallyquiet_turns_off_tickers_and_warnings/__driver__.lua 460f28ce4b648802659aae6be44412ed20b52c8b
+++ tests/reallyquiet_turns_off_tickers_and_warnings/__driver__.lua cb891df2dd67048b2d8af853e11cdab8cdf50e3f
@@ -7,7 +7,7 @@ commit()
commit()
-- check that tickers are quiet
-srv = netsync.start("testbranch")
+srv = netsync.start()
check(mtn2("--rcfile=netsync.lua", "pull", srv.address, "testbranch", "--reallyquiet"))
============================================================
--- tests/serve_pull_with_--exclude/__driver__.lua 7b542291fc5d2565cc1f5d7ba2c828e205fa43d2
+++ tests/serve_pull_with_--exclude/__driver__.lua 9c87166a5f1834bccd2ff5c15c80b3fbb7a5872b
@@ -23,8 +23,9 @@ B4=base_revision()
-- attempting to pull them should fail
-- pulling everything but them should give revs B1, B2, B3; and only
-- give branch certs on B1, B3.
+get("read-permissions")
-srv = netsync.start({'branch*', "--exclude=branch2", "--exclude=branch4"})
+srv = netsync.start()
-- it is apparently a permissions error to pull a branch that is not served
-- i.e. 'received network error: access to branch 'branch2' denied by server'
============================================================
--- tests/test_hooks.lua 858d6bfc517923a0a8d006180ac95080599ac1f6
+++ tests/test_hooks.lua 731fd61c7d9490548d9eed744629a6950748890b
@@ -60,8 +60,11 @@ function merge2(left_path, right_path, m
function merge2(left_path, right_path, merged_path, left, right)
io.write("running merge2 hook\n")
return left
-end
+ end
+merge3 = nil
+edit_comment = nil
+
if (attr_functions == nil) then
attr_functions = {}
end
@@ -70,68 +73,10 @@ attr_functions["test:test_attr"] =
io.write(string.format("test:test_attr:%s:%s\n", filename, value))
end
-function get_netsync_connect_command(uri, args)
-
- local argv = nil
-
- if uri["scheme"] == "ssh"
- and uri["host"]
- and uri["path"] then
-
- argv = { "ssh" }
- if uri["user"] then
- table.insert(argv, "-l")
- table.insert(argv, uri["user"])
- end
- if uri["port"] then
- table.insert(argv, "-p")
- table.insert(argv, uri["port"])
- end
-
- table.insert(argv, uri["host"])
- end
-
- if uri["scheme"] == "file" and uri["path"] then
- argv = { }
- end
-
- if argv then
-
- table.insert(argv, os.getenv("mtn"))
-
- if args["debug"] then
- table.insert(argv, "--debug")
- else
- table.insert(argv, "--quiet")
- end
-
- table.insert(argv, "--db")
- table.insert(argv, uri["path"])
- table.insert(argv, "serve")
- table.insert(argv, "--stdio")
- table.insert(argv, "--no-transport-auth")
-
- if args["include"] then
- table.insert(argv, args["include"])
- end
-
- if args["exclude"] then
- table.insert(argv, "--exclude")
- table.insert(argv, args["exclude"])
- end
- end
- return argv
+function get_mtn_command(host)
+ return os.getenv("mtn")
end
-function use_transport_auth(uri)
- if uri["scheme"] == "ssh"
- or uri["scheme"] == "file" then
- return false
- else
- return true
- end
-end
-
function get_encloser_pattern(name)
return "^[[:alnum:]$_]"
end
============================================================
--- testsuite.lua 69e0a1f973ae6482df199669e0fc61d724e05c43
+++ testsuite.lua c04fe5dcd9219201e0d8884c1d78adaf22f45636
@@ -92,8 +92,8 @@ function mtn(...)
end
function mtn(...)
- return raw_mtn("--rcfile", test.root .. "/test_hooks.lua",
- "--nostd", "--db=" .. test.root .. "/test.db",
+ return raw_mtn("--rcfile", test.root .. "/test_hooks.lua", -- "--nostd",
+ "--db=" .. test.root .. "/test.db",
"--keydir", test.root .. "/keys",
"address@hidden", unpack(arg))
end