From 8384fed9c5acc916a97abcc2dacd1ff5d68c7535 Mon Sep 17 00:00:00 2001 From: Andrew Bettison Date: Wed, 5 Dec 2012 14:51:38 +1030 Subject: [PATCH] Fix failing 'dnahelper' test --- conf_schema.c | 13 ++++++++----- dna_helper.c | 4 ++-- tests/dnahelper | 11 ++++++----- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/conf_schema.c b/conf_schema.c index 96b88882..5285ec0a 100644 --- a/conf_schema.c +++ b/conf_schema.c @@ -424,7 +424,7 @@ static int cf_opt_network_interface_legacy(struct config_network_interface *nifp p = endtext; size_t len = p - name; if (name[0] == '>') { - if (len - 1 >= sizeof(nif.match.patv[0])) + if (len - 1 >= sizeof(nif.dummy)) return CFSTRINGOVERFLOW; strncpy(nif.dummy, &name[1], len - 1)[len - 1] = '\0'; nif.match.patc = 0; @@ -559,10 +559,13 @@ int cf_opt_interface_list(struct config_interface_list *listp, const struct cf_o listp->av[n].key = n; ++n; break; - default: - cf_warn_node(node, NULL, "invalid interface rule %s", alloca_str_toprint(buf)); \ - result |= CFSUB(ret); - break; + default: { + strbuf b = strbuf_alloca(180); + strbuf_cf_flag_reason(b, ret); + cf_warn_node(node, NULL, "invalid interface rule %s -- %s", alloca_str_toprint(buf), strbuf_str(b)); \ + result |= CFSUB(ret); + break; + } } arg = NULL; } diff --git a/dna_helper.c b/dna_helper.c index fdd73fa6..ea59a52d 100644 --- a/dna_helper.c +++ b/dna_helper.c @@ -187,8 +187,8 @@ dna_helper_start() int i; for (i = 0; i < config.dna.helper.argv.ac; ++i) argv[i + 1] = config.dna.helper.argv.av[i].value; - argv[i] = NULL; - strbuf argv_sb = strbuf_append_argv(strbuf_alloca(1024), config.dna.helper.argv.ac + 2, argv); + argv[i + 1] = NULL; + strbuf argv_sb = strbuf_append_argv(strbuf_alloca(1024), config.dna.helper.argv.ac + 1, argv); switch (dna_helper_pid = fork()) { case 0: /* Child, should exec() to become helper after installing file descriptors. */ diff --git a/tests/dnahelper b/tests/dnahelper index 5f98d9f8..01a2d2ef 100755 --- a/tests/dnahelper +++ b/tests/dnahelper @@ -46,7 +46,8 @@ configure_servald_server() { executeOk_servald config set log.show_time on executeOk_servald config set debug.dnahelper on executeOk_servald config set dna.helper.executable "$dnahelper" - executeOk_servald config set dna.helper.argv.1 "Hello, World!" + executeOk_servald config set dna.helper.argv.1 "Hello," + executeOk_servald config set dna.helper.argv.2 "World!" } setup_dnahelper() { @@ -232,8 +233,8 @@ test_ExecError() { executeOk_servald dna lookup 12345 } -doc_ExecArg1="DNA helper configured argument" -setup_ExecArg1() { +doc_ExecArgs="DNA helper configured argument" +setup_ExecArgs() { setup_servald assert_no_servald_processes dnahelper="$TFWTMP/dnahelper" @@ -246,7 +247,7 @@ do line="${line#*|}" did="${line%%|*}" line="${line#*|}" - echo "$token|uri:dumb|$did|$1|" + echo "$token|uri:dumb|$did|$*|" echo DONE done EOF @@ -254,7 +255,7 @@ EOF start_servald_instances +A assert_all_instance_peers_complete +A } -test_ExecArg1() { +test_ExecArgs() { executeOk_servald dna lookup 12345 assertStdoutIs -e "uri:dumb:12345:Hello, World!\n" }