aboutsummaryrefslogtreecommitdiffstats
path: root/gg_trackproc/gg_trackproc.c
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2012-11-30 14:35:19 +0100
committerLaurent Ghigonis <laurent@p1sec.com>2012-11-30 14:35:19 +0100
commit4a2c0d5a618732bf5fc87a6b894351f90e485735 (patch)
tree5e730fcae921f18958cad397a9f17b18b09b9a80 /gg_trackproc/gg_trackproc.c
parentset libglouglou verbosity relative to log level (diff)
downloadglouglou-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.c24
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);