From 757eff88f580f7cfc7fa21d69302623359328d69 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Mon, 15 Sep 2008 10:36:13 +0000 Subject: [PATCH] Test, exit value. git-svn-id: file:///svn/unbound/trunk@1236 be551aaa-1e26-0410-a405-d3ace91eadb9 --- doc/Changelog | 1 + smallapp/unbound-control.c | 20 +++++++++++++------- testdata/09-unbound-control.tpkg | Bin 0 -> 4447 bytes 3 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 testdata/09-unbound-control.tpkg diff --git a/doc/Changelog b/doc/Changelog index 261d51a57..f14071c43 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,5 +1,6 @@ 15 September 2008: Wouter - working start, stop, reload commands for unbound-control. + - test for unbound-control working; better exit value for control. 12 September 2008: Wouter - removed browser control mentions. Proto speccy. diff --git a/smallapp/unbound-control.c b/smallapp/unbound-control.c index f4446c3c3..af34cb78c 100644 --- a/smallapp/unbound-control.c +++ b/smallapp/unbound-control.c @@ -183,12 +183,13 @@ setup_ssl(SSL_CTX* ctx, int fd) } /** send command and display result */ -static void +static int go_cmd(SSL* ssl, int argc, char* argv[]) { char* pre="UBCT"; char* space=" "; char* newline="\n"; + int was_error = 0, first_line = 1; int r, i; char buf[1024]; if(SSL_write(ssl, pre, (int)strlen(pre)) <= 0) @@ -212,15 +213,19 @@ go_cmd(SSL* ssl, int argc, char* argv[]) } buf[r] = 0; printf("%s", buf); + if(first_line && strncmp(buf, "error", 5) == 0) + was_error = 1; + first_line = 0; } + return was_error; } /** go ahead and read config, contact server and perform command and display */ -static void +static int go(char* cfgfile, char* svr, int argc, char* argv[]) { struct config_file* cfg; - int fd; + int fd, ret; SSL_CTX* ctx; SSL* ssl; @@ -238,12 +243,13 @@ go(char* cfgfile, char* svr, int argc, char* argv[]) ssl = setup_ssl(ctx, fd); /* send command */ - go_cmd(ssl, argc, argv); + ret = go_cmd(ssl, argc, argv); SSL_free(ssl); close(fd); SSL_CTX_free(ctx); config_delete(cfg); + return ret; } /** getopt global, in case header files fail to declare it. */ @@ -254,7 +260,7 @@ extern char* optarg; /** Main routine for unbound-control */ int main(int argc, char* argv[]) { - int c; + int c, ret; char* cfgfile = CONFIGFILE; char* svr = NULL; log_ident_set("unbound-control"); @@ -310,11 +316,11 @@ int main(int argc, char* argv[]) } } - go(cfgfile, svr, argc, argv); + ret = go(cfgfile, svr, argc, argv); #ifdef USE_WINSOCK WSACleanup(); #endif checklock_stop(); - return 0; + return ret; } diff --git a/testdata/09-unbound-control.tpkg b/testdata/09-unbound-control.tpkg new file mode 100644 index 0000000000000000000000000000000000000000..5316f27d0868ac633131185b7903b40537ef501f GIT binary patch literal 4447 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 literal 0 HcmV?d00001