diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2009-01-17 20:33:30 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2009-01-17 20:33:30 +0100 |
commit | d05f05e21be0cca59ca67ac19ef2b73c467b8250 (patch) | |
tree | 910880ccc795d15c9a59e07aad00ac40b64eb12f /src | |
parent | a63f5181807803ffdd879edca9fd4d73c4be35f3 (diff) | |
download | conntrack-tools-d05f05e21be0cca59ca67ac19ef2b73c467b8250.tar.gz conntrack-tools-d05f05e21be0cca59ca67ac19ef2b73c467b8250.zip |
src: add `-s queue' and change `-v' behaviour
This patch moves the existing `-v' behaviour to `-s queue' where it
really belongs. The `-v' option is now left to display the version
which is the common use of it.
# conntrackd -v
Connection tracking userspace daemon v0.9.9. Licensed under GPLv2.
(C) 2006-2009 Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/main.c | 22 | ||||
-rw-r--r-- | src/sync-ftfw.c | 8 |
2 files changed, 21 insertions, 9 deletions
@@ -43,12 +43,12 @@ static const char usage_client_commands[] = " -i, display content of the internal cache\n" " -e, display the content of the external cache\n" " -k, kill conntrack daemon\n" - " -s [|network|cache|runtime|multicast], dump statistics\n" + " -s [|network|cache|runtime|multicast|queue], dump statistics\n" " -R, resync with kernel conntrack table\n" " -n, request resync with other node (only FT-FW and NOTRACK modes)\n" " -x, dump cache in XML format (requires -i or -e)\n" " -t, reset the kernel timeout (see PurgeTimeout clause)\n" - " -v, show internal debugging information (if any)\n"; + " -v, display conntrackd version\n"; static const char usage_options[] = "Options:\n" @@ -65,6 +65,15 @@ show_usage(char *progname) } static void +show_version(void) +{ + fprintf(stdout, "Connection tracking userspace daemon v%s. ", VERSION); + fprintf(stdout, "Licensed under GPLv2.\n"); + fprintf(stdout, "(C) 2006-2009 Pablo Neira Ayuso "); + fprintf(stdout, "<pablo@netfilter.org>\n"); +} + +static void set_operation_mode(int *current, int want, char *argv[]) { if (*current == NOT_SET) { @@ -173,6 +182,10 @@ int main(int argc, char *argv[]) strlen(argv[i+1])) == 0) { action = STATS_MULTICAST; i++; + } else if (strncmp(argv[i+1], "queue", + strlen(argv[i+1])) == 0) { + action = STATS_QUEUE; + i++; } else { fprintf(stderr, "ERROR: unknown " "parameter `%s' for " @@ -206,9 +219,8 @@ int main(int argc, char *argv[]) } break; case 'v': - set_operation_mode(&type, REQUEST, argv); - action = DEBUG_INFO; - break; + show_version(); + exit(EXIT_SUCCESS); default: show_usage(argv[0]); fprintf(stderr, "Unknown option: %s\n", argv[i]); diff --git a/src/sync-ftfw.c b/src/sync-ftfw.c index 493c15f..fd6c350 100644 --- a/src/sync-ftfw.c +++ b/src/sync-ftfw.c @@ -204,12 +204,12 @@ static int rs_queue_dump(struct queue_node *n, const void *data2) return 0; } -static void debug_rs_dump(int fd) +static void ftfw_local_queue(int fd) { char buf[512]; int size; - size = sprintf(buf, "resent queue (len=%u):\n", queue_len(rs_queue)); + size = sprintf(buf, "resent queue (len=%u)\n", queue_len(rs_queue)); send(fd, buf, size, 0); queue_iterate(rs_queue, &fd, rs_queue_dump); } @@ -227,8 +227,8 @@ static int ftfw_local(int fd, int type, void *data) dlog(LOG_NOTICE, "sending bulk update"); cache_iterate(STATE_SYNC(internal), NULL, do_cache_to_tx); break; - case DEBUG_INFO: - debug_rs_dump(fd); + case STATS_QUEUE: + ftfw_local_queue(fd); break; default: ret = 0; |