X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/5e631c6978946b8333bcd49b79ae5d009ba93413..32ab43cf2988574c4485685889ec6c4139e7daf2:/cli.c diff --git a/cli.c b/cli.c index a8c9b6f..e590069 100644 --- a/cli.c +++ b/cli.c @@ -2,7 +2,7 @@ // vim: sw=8 ts=8 char const *cvs_name = "$Name: $"; -char const *cvs_id_cli = "$Id: cli.c,v 1.72 2006/04/27 09:53:49 bodea Exp $"; +char const *cvs_id_cli = "$Id: cli.c,v 1.75 2006/08/02 13:35:39 bodea Exp $"; #include #include @@ -269,7 +269,7 @@ void init_cli(char *hostname) } memset(&addr, 0, sizeof(addr)); - clifd = socket(PF_INET, SOCK_STREAM, 6); + clifd = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); setsockopt(clifd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)); { int flags; @@ -426,15 +426,19 @@ static int cmd_show_session(struct cli_def *cli, char *command, char **argv, int cli_print(cli, "\tUnique SID:\t%u", session[s].unique_id); cli_print(cli, "\tOpened:\t\t%u seconds", session[s].opened ? abs(time_now - session[s].opened) : 0); cli_print(cli, "\tIdle time:\t%u seconds", session[s].last_packet ? abs(time_now - session[s].last_packet) : 0); - cli_print(cli, "\tBytes In/Out:\t%u/%u", session[s].cout, session[s].cin); - if (session[s].timeout) + if (session[s].session_timeout) { - cli_print(cli, "\tRemaing time:\t%u", - (session[s].bundle && bundle[session[s].bundle].num_of_links > 1) - ? (unsigned) (session[s].timeout - bundle[session[s].bundle].online_time) - : (unsigned) (session[s].timeout - (time_now - session[s].opened))); + clockt opened = session[s].opened; + if (session[s].bundle && bundle[session[s].bundle].num_of_links > 1) + opened = bundle[session[s].bundle].online_time; + + cli_print(cli, "\tSess Timeout:\t%u seconds", session[s].session_timeout - (opened ? abs(time_now - opened) : 0)); } + if (session[s].idle_timeout) + cli_print(cli, "\tIdle Timeout:\t%u seconds", session[s].idle_timeout - (session[s].last_data ? abs(time_now - session[s].last_data) : 0)); + + cli_print(cli, "\tBytes In/Out:\t%u/%u", session[s].cout, session[s].cin); cli_print(cli, "\tPkts In/Out:\t%u/%u", session[s].pout, session[s].pin); cli_print(cli, "\tMRU:\t\t%d", session[s].mru); cli_print(cli, "\tRx Speed:\t%u", session[s].rx_connect_speed); @@ -501,7 +505,7 @@ static int cmd_show_session(struct cli_def *cli, char *command, char **argv, int } // Show Summary - cli_print(cli, "%5s %4s %-32s %-15s %s %s %s %s %10s %10s %10s %4s %10s %-15s %s", + cli_print(cli, "%5s %4s %-32s %-15s %s %s %s %s %10s %10s %10s %4s %-15s %s", "SID", "TID", "Username", @@ -514,20 +518,13 @@ static int cmd_show_session(struct cli_def *cli, char *command, char **argv, int "downloaded", "uploaded", "idle", - "Rem.Time", "LAC", "CLI"); for (i = 1; i < MAXSESSION; i++) { - uint32_t rem_time; if (!session[i].opened) continue; - if (session[i].bundle && bundle[session[i].bundle].num_of_links > 1) - rem_time = session[i].timeout ? (session[i].timeout - bundle[session[i].bundle].online_time) : 0; - else - rem_time = session[i].timeout ? (session[i].timeout - (time_now-session[i].opened)) : 0; - - cli_print(cli, "%5d %4d %-32s %-15s %s %s %s %s %10u %10lu %10lu %4u %10lu %-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 : "*", @@ -540,7 +537,6 @@ static int cmd_show_session(struct cli_def *cli, char *command, char **argv, int (unsigned long)session[i].cout, (unsigned long)session[i].cin, abs(time_now - (session[i].last_packet ? session[i].last_packet : time_now)), - (unsigned long)(rem_time), fmtaddr(htonl(tunnel[ session[i].tunnel ].ip), 1), session[i].calling[0] ? session[i].calling : "*"); }