swanctl: Fix exit codes based on errno

As fprintf() most likely sets errno, we should save it before printing the
error message.
This commit is contained in:
Martin Willi
2014-10-10 11:42:18 +02:00
parent d4d85135c5
commit 67f9f09dd3
13 changed files with 45 additions and 20 deletions
+2 -1
View File
@@ -267,9 +267,10 @@ static int call_command(command_t *cmd)
conn = vici_connect(uri);
if (!conn)
{
ret = errno;
command_usage("connecting to '%s' URI failed: %s",
uri ?: "default", strerror(errno));
return errno;
return ret;
}
ret = cmd->call(conn);
vici_disconnect(conn);
+4 -2
View File
@@ -71,8 +71,9 @@ static int initiate(vici_conn_t *conn)
if (vici_register(conn, "control-log", log_cb, &format) != 0)
{
ret = errno;
fprintf(stderr, "registering for log failed: %s\n", strerror(errno));
return errno;
return ret;
}
req = vici_begin("initiate");
if (child)
@@ -87,8 +88,9 @@ static int initiate(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "initiate request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+2 -1
View File
@@ -55,8 +55,9 @@ static int manage_policy(vici_conn_t *conn, char *label)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "%s request failed: %s\n", label, strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+5 -2
View File
@@ -590,6 +590,7 @@ static int list_certs(vici_conn_t *conn)
vici_res_t *res;
command_format_options_t format = COMMAND_FORMAT_NONE;
char *arg, *subject = NULL, *type = NULL;
int ret;
while (TRUE)
{
@@ -621,9 +622,10 @@ static int list_certs(vici_conn_t *conn)
}
if (vici_register(conn, "list-cert", list_cb, &format) != 0)
{
ret = errno;
fprintf(stderr, "registering for certificates failed: %s\n",
strerror(errno));
return errno;
return ret;
}
req = vici_begin("list-certs");
if (type)
@@ -637,8 +639,9 @@ static int list_certs(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "list-certs request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+5 -2
View File
@@ -183,6 +183,7 @@ static int list_conns(vici_conn_t *conn)
vici_res_t *res;
command_format_options_t format = COMMAND_FORMAT_NONE;
char *arg;
int ret;
while (TRUE)
{
@@ -205,16 +206,18 @@ static int list_conns(vici_conn_t *conn)
}
if (vici_register(conn, "list-conn", list_cb, &format) != 0)
{
ret = errno;
fprintf(stderr, "registering for connections failed: %s\n",
strerror(errno));
return errno;
return ret;
}
req = vici_begin("list-conns");
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "list-conns request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+5 -2
View File
@@ -116,6 +116,7 @@ static int list_pols(vici_conn_t *conn)
bool trap = FALSE, drop = FALSE, pass = FALSE;
command_format_options_t format = COMMAND_FORMAT_NONE;
char *arg, *child = NULL;
int ret;
while (TRUE)
{
@@ -154,9 +155,10 @@ static int list_pols(vici_conn_t *conn)
}
if (vici_register(conn, "list-policy", list_cb, &format) != 0)
{
ret = errno;
fprintf(stderr, "registering for policies failed: %s\n",
strerror(errno));
return errno;
return ret;
}
req = vici_begin("list-policies");
if (child)
@@ -178,8 +180,9 @@ static int list_pols(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "list-policies request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+2 -1
View File
@@ -68,8 +68,9 @@ static int list_pools(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "get-pools request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+5 -3
View File
@@ -283,7 +283,7 @@ static int list_sas(vici_conn_t *conn)
bool noblock = FALSE;
command_format_options_t format = COMMAND_FORMAT_NONE;
char *arg, *ike = NULL;
int ike_id = 0;
int ike_id = 0, ret;
while (TRUE)
{
@@ -315,8 +315,9 @@ static int list_sas(vici_conn_t *conn)
}
if (vici_register(conn, "list-sa", list_cb, &format) != 0)
{
ret = errno;
fprintf(stderr, "registering for SAs failed: %s\n", strerror(errno));
return errno;
return ret;
}
req = vici_begin("list-sas");
if (ike)
@@ -334,8 +335,9 @@ static int list_sas(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "list-sas request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+3 -1
View File
@@ -50,6 +50,7 @@ static int logcmd(vici_conn_t *conn)
{
command_format_options_t format = COMMAND_FORMAT_NONE;
char *arg;
int ret;
while (TRUE)
{
@@ -73,8 +74,9 @@ static int logcmd(vici_conn_t *conn)
if (vici_register(conn, "log", log_cb, &format) != 0)
{
ret = errno;
fprintf(stderr, "registering for log failed: %s\n", strerror(errno));
return errno;
return ret;
}
wait_sigint();
+2 -1
View File
@@ -49,8 +49,9 @@ static int reload_settings(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "reload-settings request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+3 -1
View File
@@ -23,6 +23,7 @@ static int stats(vici_conn_t *conn)
vici_res_t *res;
char *arg;
command_format_options_t format = COMMAND_FORMAT_NONE;
int ret;
while (TRUE)
{
@@ -48,8 +49,9 @@ static int stats(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "stats request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+4 -2
View File
@@ -80,8 +80,9 @@ static int terminate(vici_conn_t *conn)
if (vici_register(conn, "control-log", log_cb, &format) != 0)
{
ret = errno;
fprintf(stderr, "registering for log failed: %s\n", strerror(errno));
return errno;
return ret;
}
req = vici_begin("terminate");
if (child)
@@ -108,8 +109,9 @@ static int terminate(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "terminate request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{
+3 -1
View File
@@ -24,6 +24,7 @@ static int version(vici_conn_t *conn)
char *arg;
bool daemon = FALSE;
command_format_options_t format = COMMAND_FORMAT_NONE;
int ret;
while (TRUE)
{
@@ -58,8 +59,9 @@ static int version(vici_conn_t *conn)
res = vici_submit(req, conn);
if (!res)
{
ret = errno;
fprintf(stderr, "version request failed: %s\n", strerror(errno));
return errno;
return ret;
}
if (format & COMMAND_FORMAT_RAW)
{