Report the number of active cookies and TLS resumed sessions to occtl

This commit is contained in:
Nikos Mavrogiannopoulos
2014-05-27 13:43:00 +02:00
parent 25fbdfbf70
commit 68071646c6
3 changed files with 12 additions and 6 deletions

View File

@@ -6,6 +6,8 @@ message status_rep
required uint32 sec_mod_pid = 3;
required uint32 active_clients = 4;
required uint32 start_time = 5;
required uint32 stored_cookies = 6;
required uint32 stored_tls_sessions = 7;
}
message bool_msg

View File

@@ -160,6 +160,8 @@ static void method_status(method_ctx *ctx, int cfd, uint8_t * msg,
rep.start_time = ctx->s->start_time;
rep.sec_mod_pid = ctx->s->sec_mod_pid;
rep.active_clients = ctx->s->active_clients;
rep.stored_cookies = ctx->s->cookies.total;
rep.stored_tls_sessions = ctx->s->tls_db.entries;
ret = send_msg(ctx->pool, cfd, CTL_CMD_STATUS_REP, &rep,
(pack_size_func) status_rep__get_packed_size,

View File

@@ -230,17 +230,19 @@ int handle_status_cmd(struct unix_ctx *ctx, const char *arg)
goto error_status;
printf("OpenConnect SSL VPN server\n");
printf(" Status: %s\n", rep->status != 0 ? "online" : "error");
printf(" Status: %s\n", rep->status != 0 ? "online" : "error");
t = rep->start_time;
tm = localtime(&t);
strftime(str_since, sizeof(str_since), DATE_TIME_FMT, tm);
printf(" Up since: %s\n", str_since);
printf(" Up since: %s\n", str_since);
printf(" Clients: %u\n", (unsigned)rep->active_clients);
printf(" Clients: %u\n", (unsigned)rep->active_clients);
printf(" Cookies: %u\n", (unsigned)rep->stored_cookies);
printf(" TLS DB entries: %u\n", (unsigned)rep->stored_tls_sessions);
printf("\n");
printf(" Server PID: %u\n", (unsigned)rep->pid);
printf("Sec-mod PID: %u\n", (unsigned)rep->sec_mod_pid);
printf(" Server PID: %u\n", (unsigned)rep->pid);
printf(" Sec-mod PID: %u\n", (unsigned)rep->sec_mod_pid);
status_rep__free_unpacked(rep, &pa);
@@ -249,7 +251,7 @@ int handle_status_cmd(struct unix_ctx *ctx, const char *arg)
error_status:
printf("OpenConnect SSL VPN server\n");
printf(" Status: offline\n");
printf(" Status: offline\n");
ret = 1;
cleanup: