commit 2c2573f66c22ef6bcf083c6ac598faf11e61b818
parent f031fbc44c233363d24a59e4fba4da0f35dce346
Author: Remy Noulin <loader2x@gmail.com>
Date: Sat, 8 Jul 2023 20:28:10 +0200
use correct port for monitor and bridge
heartbeat.c | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
Diffstat:
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/heartbeat.c b/heartbeat.c
@@ -386,6 +386,7 @@ void probe(char *cfgfile) {
XFailure;
}
+ // this agent name in the configuration
char *name = names[0];
// setup agent
@@ -396,8 +397,9 @@ void probe(char *cfgfile) {
XFailure;
}
- u32 id = u$(agent, "id");
- bool logger = hasG(agent, "logger");
+ u32 id = u$(agent, "id");
+ bool logger = hasG(agent, "logger");
+ u16 monitorPort = 0;
if (logger) {
// load complete configuration to get monitorPort
completeCfg = allocG(rtSmallJsont);
@@ -421,8 +423,8 @@ void probe(char *cfgfile) {
cleanFinishSmallDictP(logger) = getG(completeCfg, rtSmallDictt, loggerName);
// set monitor port
- port = u$(logger, "monitorPort");
- if (!port) {
+ monitorPort = u$(logger, "monitorPort");
+ if (!monitorPort) {
logE("monitorPort missing in logger configuration");
XFailure;
}
@@ -526,7 +528,7 @@ void probe(char *cfgfile) {
}
memcpy(&server.sin_addr, hp->h_addr, hp->h_length);
- server.sin_port = htons(port);
+ server.sin_port = htons(logger ? monitorPort : port);
// create socket for brigde (only if not logger)
// start server or bridge for the agents
@@ -704,8 +706,6 @@ void probe(char *cfgfile) {
// send to monitor
//lv(completeCfg);
cleanCharP(monitorData) = toStringG(completeCfg);
- size_t size = lenG(monitorData)+1;
- lv(size);
if (sendto(sock, monitorData, lenG(monitorData)+1, 0, (const struct sockaddr *)&server, sizeof(server)) < 0) {
logE("monitor send failed: %s", strerror(errno));
close(sock);