diff options
author | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org> | 2005-05-01 23:19:42 +0000 |
---|---|---|
committer | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org> | 2005-05-01 23:19:42 +0000 |
commit | d894e26211f38db37015850afab6b7331edeecdb (patch) | |
tree | 27f9eb6baebd2fc2c5b54c97b4775797b69e43ba /extensions/libct_proto_tcp.c | |
parent | 21ed4ac1f957f1e4d7be195a98fb235de13ede21 (diff) | |
download | conntrack-tools-d894e26211f38db37015850afab6b7331edeecdb.tar.gz conntrack-tools-d894e26211f38db37015850afab6b7331edeecdb.zip |
o Created changelog file
o Deleted libctnetlink.h and libnfnetlink.h from the include/ dir.
o Added support for version (-V) and help (-h)
o Added event mask based support
o Added GPLv2 headers
o Use fprintf instead of printf
o Defined print_tuple and print_proto output interfaces
o ctnl_[get|del]_conntrack handles return value from kernel via msgerr
o Added support for conntrack table flushing
o Added test case file (test.sh)
o Improve dump output
o Autoconf stuff for conntrack + some pablo's modifications.
o Fixed packet counters formatting (use %llu instead of %lu)
Diffstat (limited to 'extensions/libct_proto_tcp.c')
-rw-r--r-- | extensions/libct_proto_tcp.c | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/extensions/libct_proto_tcp.c b/extensions/libct_proto_tcp.c index 3366da4..58005b0 100644 --- a/extensions/libct_proto_tcp.c +++ b/extensions/libct_proto_tcp.c @@ -1,10 +1,19 @@ +/* + * (C) 2005 by Pablo Neira Ayuso <pablo@eurodev.net> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + */ #include <stdio.h> #include <getopt.h> #include <stdlib.h> #include <netinet/in.h> /* For htons */ #include <linux/netfilter_ipv4/ip_conntrack_tuple.h> #include <linux/netfilter_ipv4/ip_conntrack.h> -#include "../include/libct_proto.h" +#include "libct_proto.h" static struct option opts[] = { {"orig-port-src", 1, 0, '1'}, @@ -85,25 +94,33 @@ int parse(char c, char *argv[], break; } } - if (i == 10) + if (i == 10) { printf("doh?\n"); + return 0; + } } break; } return 1; } -void print(struct ip_conntrack_tuple *t) +void print_tuple(struct ip_conntrack_tuple *t) +{ + fprintf(stdout, "sport=%d dport=%d ", ntohs(t->src.u.tcp.port), + ntohs(t->dst.u.tcp.port)); +} + +void print_proto(union ip_conntrack_proto *proto) { - printf("sport=%d dport=%d ", ntohs(t->src.u.tcp.port), - ntohs(t->dst.u.tcp.port)); + fprintf(stdout, "[%s] ", states[proto->tcp.state]); } static struct ctproto_handler tcp = { .name = "tcp", .protonum = 6, .parse = parse, - .print = print, + .print_tuple = print_tuple, + .print_proto = print_proto, .opts = opts }; |