diff options
author | Laurent Ghigonis <laurent@p1sec.com> | 2012-11-30 14:35:19 +0100 |
---|---|---|
committer | Laurent Ghigonis <laurent@p1sec.com> | 2012-11-30 14:35:19 +0100 |
commit | 4a2c0d5a618732bf5fc87a6b894351f90e485735 (patch) | |
tree | 5e730fcae921f18958cad397a9f17b18b09b9a80 /gg_trackproc/gg_trackproc.c | |
parent | set libglouglou verbosity relative to log level (diff) | |
download | glouglou-4a2c0d5a618732bf5fc87a6b894351f90e485735.tar.xz glouglou-4a2c0d5a618732bf5fc87a6b894351f90e485735.zip |
update after libglouglou gg_packet API break
Diffstat (limited to 'gg_trackproc/gg_trackproc.c')
-rw-r--r-- | gg_trackproc/gg_trackproc.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/gg_trackproc/gg_trackproc.c b/gg_trackproc/gg_trackproc.c index ba06e7d..3e694f7 100644 --- a/gg_trackproc/gg_trackproc.c +++ b/gg_trackproc/gg_trackproc.c @@ -169,6 +169,7 @@ void cb_nl(evutil_socket_t fd, short what, void *arg) return; } + pkt.type = 0; pkt.ver = PACKET_VERSION; /* see /usr/include/linux/cn_proc.h for struct proc_event */ switch (nlcn_msg.proc_ev.what) { @@ -195,11 +196,11 @@ void cb_nl(evutil_socket_t fd, short what, void *arg) cmd, nlcn_msg.proc_ev.event_data.fork.parent_pid, nlcn_msg.proc_ev.event_data.fork.child_pid); - pkt.type = PACKET_PROC_FORK; - pkt.proc_pid = htonl(nlcn_msg.proc_ev.event_data.fork.parent_pid); - pkt.proc_fork_ppid = htonl(nlcn_msg.proc_ev.event_data.fork.parent_pid); - pkt.proc_fork_cpid = htonl(nlcn_msg.proc_ev.event_data.fork.child_pid); - pkt.proc_fork_tgid = htonl(nlcn_msg.proc_ev.event_data.fork.child_tgid); + pkt.type = PACKET_FORK; + pkt.fork_pid = nlcn_msg.proc_ev.event_data.fork.parent_pid; + pkt.fork_ppid = nlcn_msg.proc_ev.event_data.fork.parent_pid; + pkt.fork_cpid = nlcn_msg.proc_ev.event_data.fork.child_pid; + pkt.fork_tgid = nlcn_msg.proc_ev.event_data.fork.child_tgid; break; case PROC_EVENT_EXEC: @@ -209,10 +210,10 @@ void cb_nl(evutil_socket_t fd, short what, void *arg) get_current_date(), nlcn_msg.proc_ev.event_data.exec.process_pid, cmd); - pkt.type = PACKET_PROC_EXEC; - pkt.proc_pid = htonl(nlcn_msg.proc_ev.event_data.fork.parent_pid); - pkt.proc_exec_cmdlen = htons(strnlen(cmd, GG_PKTARG_MAX)); - strncpy((char *)pkt.proc_exec_cmd, cmd, GG_PKTARG_MAX); + pkt.type = PACKET_EXEC; + pkt.exec_pid = nlcn_msg.proc_ev.event_data.fork.parent_pid; + pkt.exec_cmdlen = strnlen(cmd, GG_PKTARG_MAX); + strncpy((char *)pkt.exec_cmd, cmd, GG_PKTARG_MAX); break; #if 0 case PROC_EVENT_UID: @@ -244,7 +245,8 @@ void cb_nl(evutil_socket_t fd, short what, void *arg) #endif } - gg_client_send(ggcli, &pkt); + if (pkt.type != 0) + gg_client_send(ggcli, &pkt); } static void on_sigint(int unused) @@ -261,6 +263,8 @@ int main(int argc, const char *argv[]) signal(SIGINT, &on_sigint); siginterrupt(SIGINT, true); + // XXX parse -v gg_verbosity_set(2); + ev_base = event_base_new(); ggcli = gg_client_connect(ev_base, "127.0.0.1", GLOUGLOU_PROBE_DEFAULT_PORT, NULL, NULL, NULL); |