Skip to content

Commit

Permalink
Placeholder
Browse files Browse the repository at this point in the history
  • Loading branch information
Molter73 committed Aug 12, 2024
1 parent 8906499 commit 959c29a
Show file tree
Hide file tree
Showing 15 changed files with 803 additions and 5 deletions.
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ trim_trailing_whitespace = true
indent_style = space
indent_size = 2

[integration-tests/**.c]
indent_style = space
indent_size = 2

[*.sh]
indent_style = space
indent_size = 4
Expand Down
2 changes: 2 additions & 0 deletions collector/lib/CollectorConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ class CollectorConfig {
"vfork",
};
static constexpr const char* kSendRecvSyscalls[] = {
"sendto",
"sendmsg",
"sendmmsg",
"recvfrom",
"recvmsg",
"recvmmsg",
};
Expand Down
22 changes: 20 additions & 2 deletions collector/lib/NetworkSignalHandler.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include "NetworkSignalHandler.h"

#include <cstring>
#include <optional>

#include <libsinsp/sinsp.h>
Expand All @@ -25,8 +24,12 @@ EventMap<Modifier> modifiers = {
{"connect<", Modifier::ADD},
{"accept<", Modifier::ADD},
{"getsockopt<", Modifier::ADD},
{"sendto<", Modifier::ADD},
{"sendto>", Modifier::ADD},
{"sendmsg<", Modifier::ADD},
{"sendmsg>", Modifier::ADD},
{"recvfrom<", Modifier::ADD},
{"recvfrom>", Modifier::ADD},
{"recvmsg<", Modifier::ADD},
{"recvmsg>", Modifier::ADD},
},
Expand Down Expand Up @@ -123,6 +126,9 @@ std::optional<Connection> NetworkSignalHandler::GetConnection(sinsp_evt* evt) {

const std::string* container_id = event_extractor_->get_container_id(evt);
if (!container_id) return std::nullopt;

CLOG(INFO) << "######### ID:" << *container_id << " - Client: " << client << " - Server: " << server;

return {Connection(*container_id, *local, *remote, l4proto, is_server)};
}

Expand All @@ -141,7 +147,19 @@ SignalHandler::Result NetworkSignalHandler::HandleSignal(sinsp_evt* evt) {

std::vector<std::string> NetworkSignalHandler::GetRelevantEvents() {
if (track_send_recv_) {
return {"close<", "shutdown<", "connect<", "accept<", "getsockopt<", "recvmsg<", "sendmsg<", "recvmsg>", "sendmsg>"};
return {
"close<",
"shutdown<",
"connect<",
"accept<",
"getsockopt<",
"sendto<",
"sendto>",
"sendmsg<",
"sendmsg>",
"recvmsg<",
"recvmsg>",
};
}
return {"close<", "shutdown<", "connect<", "accept<", "getsockopt<"};
}
Expand Down
17 changes: 17 additions & 0 deletions integration-tests/container/udp/Containerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
FROM fedora:40 AS builder

WORKDIR /tmp
COPY udp-server.c .
COPY udp-client.c .

RUN dnf install -y gcc && \
gcc udp-server.c -Wall -Wpedantic -Werror -o udp-server && \
gcc udp-client.c -Wall -Wpedantic -Werror -o udp-client

FROM fedora:40

COPY --from=builder /tmp/udp-server /usr/local/bin
COPY --from=builder /tmp/udp-client /usr/local/bin
EXPOSE 9090

ENTRYPOINT ["udp-server"]
25 changes: 25 additions & 0 deletions integration-tests/container/udp/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
BASE_PATH = .
include ../Makefile-constants.mk

.DEFAULT_GOAL = all

COLLECTOR_QA_UDP_TAG := udp

ifneq ($(COLLECTOR_QA_TAG),)
COLLECTOR_QA_UDP_TAG=udp-$(COLLECTOR_QA_TAG)
endif

.PHONY: all
all: build

.PHONY: build
build:
@docker buildx build --load --platform ${PLATFORM} \
-t quay.io/rhacs-eng/qa-multi-arch:$(COLLECTOR_QA_UDP_TAG) \
-f Containerfile .

.PHONY: build-and-push
build-and-push:
@docker buildx build --push --platform ${PLATFORM} \
-t quay.io/rhacs-eng/qa-multi-arch:$(COLLECTOR_QA_UDP_TAG) \
-f Containerfile .
Loading

0 comments on commit 959c29a

Please sign in to comment.