// vim: sw=8 ts=8
char const *cvs_name = "$Name: $";
-char const *cvs_id_cli = "$Id: cli.c,v 1.50 2005/01/13 08:03:04 bodea Exp $";
+char const *cvs_id_cli = "$Id: cli.c,v 1.54 2005/04/18 05:07:20 bodea Exp $";
#include <stdio.h>
#include <stdarg.h>
cli_print(cli, "\tCalled Num:\t%s", session[s].called);
cli_print(cli, "\tTunnel ID:\t%d", session[s].tunnel);
cli_print(cli, "\tIP address:\t%s", fmtaddr(htonl(session[s].ip), 0));
- cli_print(cli, "\tUnique SID:\t%lu", session[s].unique_id);
+ cli_print(cli, "\tUnique SID:\t%u", session[s].unique_id);
cli_print(cli, "\tIdle time:\t%u seconds", abs(time_now - session[s].last_packet));
cli_print(cli, "\tNext Recv:\t%u", session[s].nr);
cli_print(cli, "\tNext Send:\t%u", session[s].ns);
}
// Show Summary
- cli_print(cli, "%5s %4s %-32s %-15s %s %s %s %10s %10s %10s %4s %-15s %s",
+ cli_print(cli, "%5s %4s %-32s %-15s %s %s %s %s %10s %10s %10s %4s %-15s %s",
"SID",
"TID",
"Username",
"I",
"T",
"G",
+ "6",
"opened",
"downloaded",
"uploaded",
for (i = 1; i < MAXSESSION; i++)
{
if (!session[i].opened) continue;
- cli_print(cli, "%5d %4d %-32s %-15s %s %s %s %10u %10lu %10lu %4u %-15s %s",
+ cli_print(cli, "%5d %4d %-32s %-15s %s %s %s %s %10u %10lu %10lu %4u %-15s %s",
i,
session[i].tunnel,
session[i].user[0] ? session[i].user : "*",
(session[i].snoop_ip && session[i].snoop_port) ? "Y" : "N",
(session[i].throttle_in || session[i].throttle_out) ? "Y" : "N",
(session[i].walled_garden) ? "Y" : "N",
+ (session[i].flags & SF_IPV6CP_ACKED) ? "Y" : "N",
abs(time_now - (unsigned long)session[i].opened),
(unsigned long)session[i].total_cout,
(unsigned long)session[i].total_cin,
return CLI_OK;
}
-static char *duration(time_t secs)
-{
- static char *buf = NULL;
- int p = 0;
-
- if (!buf) buf = calloc(64, 1);
-
- if (secs >= 86400)
- {
- int days = secs / 86400;
- p = sprintf(buf, "%d day%s, ", days, days > 1 ? "s" : "");
- secs %= 86400;
- }
-
- if (secs >= 3600)
- {
- int mins = secs / 60;
- int hrs = mins / 60;
-
- mins %= 60;
- sprintf(buf + p, "%d:%02d", hrs, mins);
- }
- else if (secs >= 60)
- {
- int mins = secs / 60;
- sprintf(buf + p, "%d min%s", mins, mins > 1 ? "s" : "");
- }
- else
- sprintf(buf, "%ld sec%s", secs, secs > 1 ? "s" : "");
-
- return buf;
-}
-
static int cmd_show_counters(struct cli_def *cli, char *command, char **argv, int argc)
{
if (CLI_HELP_REQUESTED)
cli_print(cli, "-----------------------------------------");
cli_print(cli, "%-30s%u", "call_processtun", GET_STAT(call_processtun));
cli_print(cli, "%-30s%u", "call_processipout", GET_STAT(call_processipout));
+ cli_print(cli, "%-30s%u", "call_processipv6out", GET_STAT(call_processipv6out));
cli_print(cli, "%-30s%u", "call_processudp", GET_STAT(call_processudp));
cli_print(cli, "%-30s%u", "call_processpap", GET_STAT(call_processpap));
cli_print(cli, "%-30s%u", "call_processchap", GET_STAT(call_processchap));
cli_print(cli, "%-30s%u", "call_processlcp", GET_STAT(call_processlcp));
cli_print(cli, "%-30s%u", "call_processipcp", GET_STAT(call_processipcp));
+ cli_print(cli, "%-30s%u", "call_processipv6cp", GET_STAT(call_processipv6cp));
cli_print(cli, "%-30s%u", "call_processipin", GET_STAT(call_processipin));
+ cli_print(cli, "%-30s%u", "call_processipv6in", GET_STAT(call_processipv6in));
cli_print(cli, "%-30s%u", "call_processccp", GET_STAT(call_processccp));
cli_print(cli, "%-30s%u", "call_processrad", GET_STAT(call_processrad));
cli_print(cli, "%-30s%u", "call_sendarp", GET_STAT(call_sendarp));
cli_print(cli, "%-30s%u", "call_sendipcp", GET_STAT(call_sendipcp));
cli_print(cli, "%-30s%u", "call_sendchap", GET_STAT(call_sendchap));
cli_print(cli, "%-30s%u", "call_sessionbyip", GET_STAT(call_sessionbyip));
+ cli_print(cli, "%-30s%u", "call_sessionbyipv6", GET_STAT(call_sessionbyipv6));
cli_print(cli, "%-30s%u", "call_sessionbyuser", GET_STAT(call_sessionbyuser));
cli_print(cli, "%-30s%u", "call_tunnelsend", GET_STAT(call_tunnelsend));
cli_print(cli, "%-30s%u", "call_tunnelkill", GET_STAT(call_tunnelkill));
cli_print(cli, "%-30s%u", "call_random_data", GET_STAT(call_random_data));
#endif
- cli_print(cli, "");
- cli_print(cli, "Counters last reset %s ago", duration(time_now - GET_STAT(last_reset)));
+ {
+ time_t l = GET_STAT(last_reset);
+ char *t = ctime(&l);
+ char *p = strchr(t, '\n');
+ if (p) *p = 0;
+
+ cli_print(cli, "");
+ cli_print(cli, "Last counter reset %s", t);
+ }
return CLI_OK;
}
return CLI_OK;
}
+static char *duration(time_t secs)
+{
+ static char *buf = NULL;
+ int p = 0;
+
+ if (!buf) buf = calloc(64, 1);
+
+ if (secs >= 86400)
+ {
+ int days = secs / 86400;
+ p = sprintf(buf, "%d day%s, ", days, days > 1 ? "s" : "");
+ secs %= 86400;
+ }
+
+ if (secs >= 3600)
+ {
+ int mins = secs / 60;
+ int hrs = mins / 60;
+
+ mins %= 60;
+ sprintf(buf + p, "%d:%02d", hrs, mins);
+ }
+ else if (secs >= 60)
+ {
+ int mins = secs / 60;
+ sprintf(buf + p, "%d min%s", mins, mins > 1 ? "s" : "");
+ }
+ else
+ sprintf(buf, "%ld sec%s", secs, secs > 1 ? "s" : "");
+
+ return buf;
+}
+
static int cmd_uptime(struct cli_def *cli, char *command, char **argv, int argc)
{
FILE *fh;
return buf;
}
-ip_filter_rulet *access_list_rule_ext(struct cli_def *cli, char *command, char **argv, int argc)
+static ip_filter_rulet *access_list_rule_ext(struct cli_def *cli, char *command, char **argv, int argc)
{
static ip_filter_rulet rule;
struct in_addr addr;
return &rule;
}
-ip_filter_rulet *access_list_rule_std(struct cli_def *cli, char *command, char **argv, int argc)
+static ip_filter_rulet *access_list_rule_std(struct cli_def *cli, char *command, char **argv, int argc)
{
static ip_filter_rulet rule;
struct in_addr addr;