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:
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user