Fix failing 'dnahelper' test

This commit is contained in:
Andrew Bettison 2012-12-05 14:51:38 +10:30
parent aa638a9bfd
commit 8384fed9c5
3 changed files with 16 additions and 12 deletions

View File

@ -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;
}

View File

@ -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. */

View File

@ -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"
}