heartbeat

Simple server monitor system using encrypted messages over udp
git clone https://noulin.net/git/heartbeat.git
Log | Files | Refs | README

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:
Mheartbeat.c | 14+++++++-------
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);