diff options
author | Toni Uhlig <matzeton@googlemail.com> | 2021-03-15 14:09:20 +0100 |
---|---|---|
committer | Toni Uhlig <matzeton@googlemail.com> | 2021-03-15 14:39:43 +0100 |
commit | 1c3ef69faa6927ac732a079c7f8efcb20bf1020e (patch) | |
tree | 71a1aea905394aecbbc5ddc2ae8c981e848db2b9 /examples/c-captured | |
parent | 9a06b97473f1c00aad3780572b5139c930c83b64 (diff) |
nDPIsrvd collectd-exec overhaul.
* Install targets updated.
* Removed nDPIsrvd.h token validation function (done automatically by token_get).
Signed-off-by: Toni Uhlig <matzeton@googlemail.com>
Diffstat (limited to 'examples/c-captured')
-rw-r--r-- | examples/c-captured/c-captured.c | 68 |
1 files changed, 34 insertions, 34 deletions
diff --git a/examples/c-captured/c-captured.c b/examples/c-captured/c-captured.c index 18d37056d..b5f7646a3 100644 --- a/examples/c-captured/c-captured.c +++ b/examples/c-captured/c-captured.c @@ -16,7 +16,6 @@ #include <time.h> #include <unistd.h> -#include "config.h" #include "nDPIsrvd.h" #include "utarray.h" #include "utils.h" @@ -49,7 +48,7 @@ struct flow_user_data UT_array * packets; }; -struct nDPIsrvd_socket * sock = NULL; +static struct nDPIsrvd_socket * sock = NULL; static int main_thread_shutdown = 0; static char * pidfile = NULL; @@ -570,6 +569,29 @@ static int parse_options(int argc, char ** argv) return 0; } +static int mainloop(void) +{ + while (main_thread_shutdown == 0) + { + errno = 0; + enum nDPIsrvd_read_return read_ret = nDPIsrvd_read(sock); + if (read_ret != READ_OK) + { + syslog(LOG_DAEMON | LOG_ERR, "nDPIsrvd read failed with: %s", nDPIsrvd_enum_to_string(read_ret)); + return 1; + } + + enum nDPIsrvd_parse_return parse_ret = nDPIsrvd_parse(sock); + if (parse_ret != PARSE_OK) + { + syslog(LOG_DAEMON | LOG_ERR, "nDPIsrvd parse failed with: %s", nDPIsrvd_enum_to_string(parse_ret)); + return 1; + } + } + + return 0; +} + int main(int argc, char ** argv) { sock = nDPIsrvd_init(0, sizeof(struct flow_user_data), captured_json_callback, captured_flow_end_callback); @@ -587,6 +609,14 @@ int main(int argc, char ** argv) printf("Recv buffer size: %u\n", NETWORK_BUFFER_MAX_SIZE); printf("Connecting to `%s'..\n", serv_optarg); + enum nDPIsrvd_connect_return connect_ret = nDPIsrvd_connect(sock); + if (connect_ret != CONNECT_OK) + { + fprintf(stderr, "%s: nDPIsrvd socket connect to %s failed!\n", argv[0], serv_optarg); + nDPIsrvd_free(&sock); + return 1; + } + signal(SIGINT, sighandler); signal(SIGTERM, sighandler); signal(SIGPIPE, sighandler); @@ -612,40 +642,10 @@ int main(int argc, char ** argv) } chmod(datadir, S_IRWXU); - enum nDPIsrvd_connect_return connect_ret = nDPIsrvd_connect(sock); - if (connect_ret != CONNECT_OK) - { - syslog(LOG_DAEMON | LOG_ERR, "%s: nDPIsrvd socket connect to %s failed!", argv[0], serv_optarg); - nDPIsrvd_free(&sock); - return 1; - } - - while (main_thread_shutdown == 0) - { - errno = 0; - enum nDPIsrvd_read_return read_ret = nDPIsrvd_read(sock); - if (read_ret != READ_OK) - { - syslog(LOG_DAEMON | LOG_ERR, - "%s: nDPIsrvd read failed with: %s", - argv[0], - nDPIsrvd_enum_to_string(read_ret)); - break; - } - - enum nDPIsrvd_parse_return parse_ret = nDPIsrvd_parse(sock); - if (parse_ret != PARSE_OK) - { - syslog(LOG_DAEMON | LOG_ERR, - "%s: nDPIsrvd parse failed with: %s", - argv[0], - nDPIsrvd_enum_to_string(parse_ret)); - break; - } - } + int retval = mainloop(); nDPIsrvd_free(&sock); closelog(); - return 0; + return retval; } |