added verbosity level to stroke
This commit is contained in:
@@ -496,7 +496,10 @@ static void stroke_initiate(private_stroke_t *this, stroke_msg_t *msg)
|
|||||||
msg->initiate.name);
|
msg->initiate.name);
|
||||||
if (connection == NULL)
|
if (connection == NULL)
|
||||||
{
|
{
|
||||||
fprintf(this->out, "no connection named '%s'\n", msg->initiate.name);
|
if (msg->output_verbosity >= 0)
|
||||||
|
{
|
||||||
|
fprintf(this->out, "no connection named '%s'\n", msg->initiate.name);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!connection->is_ikev2(connection))
|
if (!connection->is_ikev2(connection))
|
||||||
@@ -509,11 +512,17 @@ static void stroke_initiate(private_stroke_t *this, stroke_msg_t *msg)
|
|||||||
msg->initiate.name);
|
msg->initiate.name);
|
||||||
if (policy == NULL)
|
if (policy == NULL)
|
||||||
{
|
{
|
||||||
fprintf(this->out, "no policy named '%s'\n", msg->initiate.name);
|
if (msg->output_verbosity >= 0)
|
||||||
|
{
|
||||||
|
fprintf(this->out, "no policy named '%s'\n", msg->initiate.name);
|
||||||
|
}
|
||||||
connection->destroy(connection);
|
connection->destroy(connection);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
fprintf(this->out, "initiating connection '%s'\n", msg->initiate.name);
|
if (msg->output_verbosity >= 0)
|
||||||
|
{
|
||||||
|
fprintf(this->out, "initiating connection '%s'\n", msg->initiate.name);
|
||||||
|
}
|
||||||
|
|
||||||
job = initiate_job_create(connection, policy);
|
job = initiate_job_create(connection, policy);
|
||||||
|
|
||||||
@@ -529,7 +538,8 @@ static void stroke_initiate(private_stroke_t *this, stroke_msg_t *msg)
|
|||||||
|
|
||||||
signal = charon->bus->listen(charon->bus, &level, &thread, &ike_sa, &format, &args);
|
signal = charon->bus->listen(charon->bus, &level, &thread, &ike_sa, &format, &args);
|
||||||
|
|
||||||
if (ike_sa == init_ike_sa && level <= LEVEL_CTRL)
|
if ((init_ike_sa == NULL || ike_sa == init_ike_sa) &&
|
||||||
|
level <= msg->output_verbosity)
|
||||||
{
|
{
|
||||||
if (vfprintf(this->out, format, args) < 0 ||
|
if (vfprintf(this->out, format, args) < 0 ||
|
||||||
fprintf(this->out, "\n") < 0 ||
|
fprintf(this->out, "\n") < 0 ||
|
||||||
@@ -544,15 +554,20 @@ static void stroke_initiate(private_stroke_t *this, stroke_msg_t *msg)
|
|||||||
{
|
{
|
||||||
case SIG_IKE_UP:
|
case SIG_IKE_UP:
|
||||||
case SIG_IKE_FAILED:
|
case SIG_IKE_FAILED:
|
||||||
case SIG_IKE_DOWN:
|
case SIG_CHILD_UP:
|
||||||
|
case SIG_CHILD_FAILED:
|
||||||
if (ike_sa == init_ike_sa)
|
if (ike_sa == init_ike_sa)
|
||||||
{
|
{
|
||||||
charon->bus->set_listen_state(charon->bus, FALSE);
|
charon->bus->set_listen_state(charon->bus, FALSE);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
return;
|
continue;
|
||||||
case SIG_INITIATE:
|
case SIG_INITIATE:
|
||||||
init_ike_sa = ike_sa;
|
if (init_ike_sa == NULL)
|
||||||
/* fall through */
|
{
|
||||||
|
init_ike_sa = ike_sa;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
default:
|
default:
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,6 +83,9 @@ static int send_stroke_msg (stroke_msg_t *msg)
|
|||||||
struct sockaddr_un ctl_addr = { AF_UNIX, CHARON_CTL_FILE };
|
struct sockaddr_un ctl_addr = { AF_UNIX, CHARON_CTL_FILE };
|
||||||
int byte_count;
|
int byte_count;
|
||||||
char buffer[64];
|
char buffer[64];
|
||||||
|
|
||||||
|
/* starter is not called from commandline, and therefore absolutely silent */
|
||||||
|
msg->output_verbosity = -1;
|
||||||
|
|
||||||
int sock = socket(AF_UNIX, SOCK_STREAM, 0);
|
int sock = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||||
|
|
||||||
|
|||||||
@@ -57,6 +57,8 @@ static int send_stroke_msg (stroke_msg_t *msg)
|
|||||||
char buffer[64];
|
char buffer[64];
|
||||||
int byte_count;
|
int byte_count;
|
||||||
|
|
||||||
|
msg->output_verbosity = 1; /* CONTROL */
|
||||||
|
|
||||||
sock = socket(AF_UNIX, SOCK_STREAM, 0);
|
sock = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||||
if (sock < 0)
|
if (sock < 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -122,6 +122,9 @@ struct stroke_msg_t {
|
|||||||
STR_REREAD
|
STR_REREAD
|
||||||
/* more to come */
|
/* more to come */
|
||||||
} type;
|
} type;
|
||||||
|
|
||||||
|
/* verbosity of output returned from charon (-from -1=silent to 4=private)*/
|
||||||
|
int output_verbosity;
|
||||||
|
|
||||||
union {
|
union {
|
||||||
/* data for STR_INITIATE, STR_ROUTE, STR_UP, STR_DOWN, ... */
|
/* data for STR_INITIATE, STR_ROUTE, STR_UP, STR_DOWN, ... */
|
||||||
|
|||||||
Reference in New Issue
Block a user