[Xymon] Update on 4.4 (Alpha1 release)
Tom Schmidt
tom at 4schmidts.com
Sun Apr 28 23:02:57 CEST 2024
J.C.,
Sorry for the delay, but I have some updated patches for xymon 4.4
alpha1. I have compiled it on Rocky Linux 8 and 9 64-bit systems. The
first set of patches corrects gcc warnings seen on gcc 8.5 (RL8) and 11.4.1
(RL9). I previously sent some patches for these when I tested on RL8 gcc
8.5, but have improved and/or corrected the patches based on RL9 gcc 11.4.1.
The second set of patches includes some other bug fixes and
enhancements, including:
- build/Makefile.Linux: Check for existence of replacement rpc
- build/Makefile.rules: Add XYMONRUNDIR to CFLAGS
- lib/compression.c: Handle LZ4 versions syntax change
- xymond/client/snmpcollect.c: Initialize nslsects
- xymond/etcfiles/tasks.cfg.DIST: Add IPv6 to admin-senders
- xymond/Makefile: correct missing variable substitutions
- xymond/webfiles/hostgraphs_header: remove XYMWEBHOST hyperlinks
- xymond/xymonfetch.c: Fix gcc warning
- xymond/wwwfiles/gifs/xymonbody.css: Add table td/th classes, tooltips
As a side note, I have also been trying to get a xymon 4.4a1 client to
work on an Arm-based NAS system that I have, which the xymon 4.3.30 client
is working fine on. I may have more patches to submit once I figure out
how to fix it.
Thanks again!
Tom Schmidt
On Wed, Oct 4, 2023 at 8:11 AM Tom Schmidt <tom at 4schmidts.com> wrote:
> Ralph, thanks for catching and fixing this for the OpenSSL version.
>
> Tom Schmidt
>
> On Tue, Oct 3, 2023 at 10:34 PM Ralph M <ralphmitchell at gmail.com> wrote:
>
>> Tom,
>>
>> I realise that you're working with Rocky 8, but I just want to note that
>> the lib/tcplib.c patch breaks compilation on RHEL7.
>>
>> The function ASN1_STRING_get0_data() appears in openssl-1.1, but not
>> in RHEL7 / openssl-1.0.
>>
>> I found that there's an openssl version number in the openssl/opensslv.h
>> include file, which allows the attached patch to select the correct
>> function. With this modification to your patch, the compilation completes
>> on RHEL7, RHEL8 and RHEL9.
>>
>> Regards,
>>
>> Ralph Mitchell
>>
>>
>>
>> On Tue, Oct 3, 2023 at 11:12 PM J.C. Cleaver <cleaver at terabithia.org>
>> wrote:
>>
>>>
>>> On Tue, October 3, 2023 13:06, Tom Schmidt wrote:
>>> >
>>> > J.C. and 4.4-alpha1 testers,
>>> > I have done a little bit of testing of 4.4-alpha1 on Rocky Linux
>>> 8.8
>>> > (server and client) and on a busybox Linux install on a NAS. I looked
>>> > into
>>> > the gcc 8.5.0 compiler warnings that I got on Rocky Linux, and have
>>> > corrected them, or silenced the ones that should not be an issue.
>>> > Attached
>>> > are two context diff patch files, one to fix the compiler warnings, and
>>> > one
>>> > to make a couple updates that I had applied to 4.3.30 previously. My
>>> > updates fix the busybox Linux client build, and enhance the temperature
>>> > graph to optionally display both Celsius and Fahrenheit readings.
>>> >
>>> > I have not fully tested 4.4-alpha1 yet, but wanted to get these
>>> first
>>> > patches released for 4.4-alpha2.
>>> >
>>> > Tom Schmidt
>>>
>>>
>>> Thanks for the patches!
>>>
>>> Yes, the build errors had been a concern for me as well; determining
>>> which
>>> sections were protected by correct math and which weren't was going to
>>> take some time, and this is quite helpful.
>>>
>>> I've created a 4.3.31 branch for similar concerns and many of these are
>>> just as applicable there. There's also a corruption bug on some loads
>>> that
>>> is crashing on F28 (and F29), so that release will probably just be build
>>> fixes for the stable tree.
>>>
>>> Regards,
>>> -jc
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Xymon mailing list
>>> Xymon at xymon.com
>>> http://lists.xymon.com/mailman/listinfo/xymon
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.xymon.com/pipermail/xymon/attachments/20240428/60dfb648/attachment.htm>
-------------- next part --------------
*** ./lib/acknowledgementslog.c.orig 2019-08-30 15:27:45.000000000 -0600
--- ./lib/acknowledgementslog.c 2024-04-17 10:21:12.281826711 -0600
***************
*** 222,233 ****
p = strrchr(host, '.');
if (p) {
*p = '\0';
! strncpy(svc,p+1, sizeof(svc));
}
/* Xymon uses \n in the ack message, for the "acked by" data. Cut it off. */
p = strstr(message, "\\nAcked by:");
if (p) {
! strncpy(recipient,p+12, sizeof(recipient));
*(p-1) = '\0';
}
else {
--- 222,233 ----
p = strrchr(host, '.');
if (p) {
*p = '\0';
! snprintf(svc, sizeof(svc), "%s", p+1);
}
/* Xymon uses \n in the ack message, for the "acked by" data. Cut it off. */
p = strstr(message, "\\nAcked by:");
if (p) {
! snprintf(recipient, sizeof(recipient), "%s", p+12);
*(p-1) = '\0';
}
else {
*** ./lib/links.c.orig 2019-08-30 15:27:45.000000000 -0600
--- ./lib/links.c 2024-04-17 10:23:34.383567406 -0600
***************
*** 142,148 ****
/* If no XYMONHELPDIR, change xxx/xxx/xxx/notes into xxx/xxx/xxx/help */
if (xgetenv("XYMONHELPDIR")) strcpy(dirname, xgetenv("XYMONHELPDIR"));
else {
! strncpy(dirname, xgetenv("XYMONNOTESDIR"), sizeof(dirname));
p = strrchr(dirname, '/'); *p = '\0'; strncat(dirname, "/help", (sizeof(dirname) - strlen(dirname)));
}
load_links(dirname, helpskin, 0);
--- 142,148 ----
/* If no XYMONHELPDIR, change xxx/xxx/xxx/notes into xxx/xxx/xxx/help */
if (xgetenv("XYMONHELPDIR")) strcpy(dirname, xgetenv("XYMONHELPDIR"));
else {
! snprintf(dirname, sizeof(dirname), "%s", xgetenv("XYMONNOTESDIR"));
p = strrchr(dirname, '/'); *p = '\0'; strncat(dirname, "/help", (sizeof(dirname) - strlen(dirname)));
}
load_links(dirname, helpskin, 0);
*** ./lib/loadalerts.c.orig 2019-08-30 15:27:45.000000000 -0600
--- ./lib/loadalerts.c 2024-04-17 10:29:29.417916447 -0600
***************
*** 199,205 ****
rule_t *currule = NULL;
recip_t *currcp = NULL, *rcptail = NULL;
! if (configfn) strncpy(fn, configfn, sizeof(fn)); else snprintf(fn, sizeof(fn), "%s/etc/alerts.cfg", xgetenv("XYMONHOME"));
/* First check if there were no modifications at all */
if (configfiles) {
--- 199,205 ----
rule_t *currule = NULL;
recip_t *currcp = NULL, *rcptail = NULL;
! if (configfn) snprintf(fn, sizeof(fn), "%s", configfn); else snprintf(fn, sizeof(fn), "%s/etc/alerts.cfg", xgetenv("XYMONHOME"));
/* First check if there were no modifications at all */
if (configfiles) {
***************
*** 853,859 ****
if ((alert->groups && (*(alert->groups)))) {
SBUF_MALLOC(grouplist, strlen(alert->groups));
! strncpy(grouplist, alert->groups, grouplist_buflen);
}
if (crit->groupspec) {
--- 853,859 ----
if ((alert->groups && (*(alert->groups)))) {
SBUF_MALLOC(grouplist, strlen(alert->groups));
! snprintf(grouplist, grouplist_buflen, "%s", alert->groups);
}
if (crit->groupspec) {
***************
*** 1202,1212 ****
--- 1202,1219 ----
if (recip->method == M_IGNORE) {
recip->recipient = "-- ignored --";
}
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstringop-overflow"
+ #endif // __GNUC__
if (recip->noalerts) { if (*codes) strncat(codes, ",A", codes_bytesleft); else strncat(codes, "-A", codes_bytesleft); codes_bytesleft -= 2; }
if (recovered && !recip->noalerts) { if (*codes) strncat(codes, ",R", codes_bytesleft); else strncat(codes, "R", codes_bytesleft); codes_bytesleft -= 2; }
if (notice) { if (*codes) strncat(codes, ",N", codes_bytesleft); else strncat(codes, "N", codes_bytesleft); codes_bytesleft -= 2; }
if (recip->stoprule) { if (*codes) strncat(codes, ",S", codes_bytesleft); else strncat(codes, "S", codes_bytesleft); codes_bytesleft -= 2; }
if (recip->unmatchedonly) { if (*codes) strncat(codes, ",U", codes_bytesleft); else strncat(codes, "U", codes_bytesleft); codes_bytesleft -= 2; }
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic pop
+ #endif // __GNUC__
if (strlen(codes) == 0)
snprintf(l, sizeof(l), "<td><font %s>%s</font></td>", fontspec, recip->recipient);
*** ./lib/loadhosts_file.c.orig 2019-08-30 15:27:45.000000000 -0600
--- ./lib/loadhosts_file.c 2024-04-17 10:13:18.116018353 -0600
***************
*** 113,119 ****
if (contentbuffer) freestrbuffer(contentbuffer);
contentbuffer = convertstrbuffer(fdata, 0);
! strncpy(contentmd5, fhash, sizeof(contentmd5));
return 0;
}
--- 113,119 ----
if (contentbuffer) freestrbuffer(contentbuffer);
contentbuffer = convertstrbuffer(fdata, 0);
! snprintf(contentmd5, sizeof(contentmd5), "%s", fhash);
return 0;
}
*** ./lib/locator.c.orig 2019-08-30 15:27:45.000000000 -0600
--- ./lib/locator.c 2024-04-17 10:31:33.449435788 -0600
***************
*** 206,212 ****
static char pingbuf[512];
int res;
! strncpy(pingbuf, cmd, sizeof(pingbuf));
res = call_locator(pingbuf, sizeof(pingbuf));
return (res == 0) ? pingbuf : NULL;
--- 206,212 ----
static char pingbuf[512];
int res;
! snprintf(pingbuf, sizeof(pingbuf), "%s", cmd);
res = call_locator(pingbuf, sizeof(pingbuf));
return (res == 0) ? pingbuf : NULL;
*** ./lib/sig.c.orig 2019-08-30 20:05:50.000000000 -0600
--- ./lib/sig.c 2024-04-17 10:34:39.931720128 -0600
***************
*** 90,98 ****
* Used inside signal-handler. Must be setup in
* advance.
*/
! strncpy(signal_xymoncmd, (getenv("XYMON") ? getenv("XYMON") : "xymon"), sizeof(signal_xymoncmd));
! strncpy(signal_xymondserver, (getenv("XYMSRV") ? getenv("XYMSRV") : "0.0.0.0"), sizeof(signal_xymondserver));
! strncpy(signal_tmpdir, (getenv("XYMONTMP") ? getenv("XYMONTMP") : "/tmp"), sizeof(signal_tmpdir));
snprintf(signal_msg, sizeof(signal_msg), "status+1d/group:signal %s.xymond red %s program crashed\n\nFatal signal caught!\n",
(getenv("MACHINE") ? getenv("MACHINE") : (getenv("HOSTNAME") ? getenv("HOSTNAME") : "localhost") ), programname);
--- 90,98 ----
* Used inside signal-handler. Must be setup in
* advance.
*/
! snprintf(signal_xymoncmd, sizeof(signal_xymoncmd), "%s", (getenv("XYMON") ? getenv("XYMON") : "xymon"));
! snprintf(signal_xymondserver, sizeof(signal_xymondserver), "%s", (getenv("XYMSRV") ? getenv("XYMSRV") : "0.0.0.0"));
! snprintf(signal_tmpdir, sizeof(signal_tmpdir), "%s", (getenv("XYMONTMP") ? getenv("XYMONTMP") : "/tmp"));
snprintf(signal_msg, sizeof(signal_msg), "status+1d/group:signal %s.xymond red %s program crashed\n\nFatal signal caught!\n",
(getenv("MACHINE") ? getenv("MACHINE") : (getenv("HOSTNAME") ? getenv("HOSTNAME") : "localhost") ), programname);
*** ./lib/stackio.c.orig 2019-09-02 17:06:47.000000000 -0600
--- ./lib/stackio.c 2024-04-17 10:48:17.361733347 -0600
***************
*** 202,212 ****
stackfd_mode = strdup(mode);
! strncpy(stackfd_filename, filename, sizeof(stackfd_filename));
}
else {
if (*filename == '/')
! strncpy(stackfd_filename, filename, sizeof(stackfd_filename));
else
snprintf(stackfd_filename, sizeof(stackfd_filename), "%s/%s", stackfd_base, filename);
}
--- 202,212 ----
stackfd_mode = strdup(mode);
! snprintf(stackfd_filename, sizeof(stackfd_filename), "%s", filename);
}
else {
if (*filename == '/')
! snprintf(stackfd_filename, sizeof(stackfd_filename), "%s", filename);
else
snprintf(stackfd_filename, sizeof(stackfd_filename), "%s/%s", stackfd_base, filename);
}
***************
*** 331,337 ****
int fnsz = 0;
int i;
! if (*dirname == '/') strncpy(dirfn, dirname, sizeof(dirfn)); else snprintf(dirfn, sizeof(dirfn), "%s/%s", stackfd_base, dirname);
if ((dirfd = opendir(dirfn)) == NULL) {
if (!is_optional) errprintf("WARNING: Cannot open directory %s\n", dirfn);
--- 331,337 ----
int fnsz = 0;
int i;
! if (*dirname == '/') snprintf(dirfn, sizeof(dirfn), "%s", dirname); else snprintf(dirfn, sizeof(dirfn), "%s/%s", stackfd_base, dirname);
if ((dirfd = opendir(dirfn)) == NULL) {
if (!is_optional) errprintf("WARNING: Cannot open directory %s\n", dirfn);
*** ./lib/tcplib.c.orig 2019-04-10 15:33:08.000000000 -0600
--- ./lib/tcplib.c 2023-10-18 17:31:08.050558353 -0600
***************
*** 408,414 ****
--- 408,418 ----
e = X509_NAME_get_entry(subj, cnpos);
if (e) d = X509_NAME_ENTRY_get_data(e);
+ #if OPENSSL_VERSION_NUMBER < 0x101010bfL
if (d) cn = strdup(ASN1_STRING_data(d));
+ #else
+ if (d) cn = strdup(ASN1_STRING_get0_data(d));
+ #endif
}
if (peercert) X509_free(peercert);
*** ./lib/xymonrrd.c.orig 2019-08-30 21:22:45.000000000 -0600
--- ./lib/xymonrrd.c 2024-04-17 10:40:04.485695795 -0600
***************
*** 87,93 ****
/* Get the tcp services, and count how many there are */
services = init_tcp_services();
SBUF_MALLOC(tcptests, strlen(services)+1);
! strncpy(tcptests, services, tcptests_buflen);
count = 0; p = strtok(tcptests, " "); while (p) { count++; p = strtok(NULL, " "); }
strncpy(tcptests, services, tcptests_buflen);
--- 87,93 ----
/* Get the tcp services, and count how many there are */
services = init_tcp_services();
SBUF_MALLOC(tcptests, strlen(services)+1);
! snprintf(tcptests, tcptests_buflen, "%s", services);
count = 0; p = strtok(tcptests, " "); while (p) { count++; p = strtok(NULL, " "); }
strncpy(tcptests, services, tcptests_buflen);
***************
*** 241,247 ****
snprintf(rrdservicename, sizeof(rrdservicename), "devmon:%s", service);
}
else {
! strncpy(rrdservicename, graphdef->xymonrrdname, sizeof(rrdservicename));
}
SBUF_MALLOC(svcurl,
--- 241,247 ----
snprintf(rrdservicename, sizeof(rrdservicename), "devmon:%s", service);
}
else {
! snprintf(rrdservicename, sizeof(rrdservicename), "%s", graphdef->xymonrrdname);
}
SBUF_MALLOC(svcurl,
*** ./web/confreport.c.orig 2019-08-30 15:27:45.000000000 -0600
--- ./web/confreport.c 2024-04-17 10:41:22.606652748 -0600
***************
*** 123,129 ****
while ((de = readdir(d)) != NULL) {
if (strncmp(de->d_name, "disk,", 5) == 0) {
! strncpy(fn, de->d_name + 4, sizeof(fn));
p = strstr(fn, ".rrd"); if (!p) continue;
*p = '\0';
p = fn; while ((p = strchr(p, ',')) != NULL) *p = '/';
--- 123,129 ----
while ((de = readdir(d)) != NULL) {
if (strncmp(de->d_name, "disk,", 5) == 0) {
! snprintf(fn, sizeof(fn), "%s", de->d_name + 4);
p = strstr(fn, ".rrd"); if (!p) continue;
*p = '\0';
p = fn; while ((p = strchr(p, ',')) != NULL) *p = '/';
*** ./xymond/client/zvse.c.orig 2015-03-21 09:00:40.000000000 -0600
--- ./xymond/client/zvse.c 2024-04-17 11:37:52.598178906 -0600
***************
*** 531,537 ****
--- 531,544 ----
sscanf(getvisentry, "%s %d %d %d %d", jinfo, &used24, &free24, &usedany, &freeany);
q = strchr(jinfo, '-'); /* Check if jobname passed */
if (q) {
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstringop-truncation"
+ #endif // __GNUC__
strncpy(pid, jinfo, 2); /* Copy partition ID */
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic pop
+ #endif // __GNUC__
q++; /* Increment pointer */
strcpy(jobname,q); /* Copy jobname */
}
*** ./xymonnet/beastat.c.orig 2019-08-30 15:27:45.000000000 -0600
--- ./xymonnet/beastat.c 2024-04-17 10:44:05.388646768 -0600
***************
*** 103,109 ****
if (p) {
eol = strchr(p, '\n');
if (eol) *eol = '\0';
! strncpy(result, p, sizeof(result));
if (eol) *eol = '\n';
}
--- 103,109 ----
if (p) {
eol = strchr(p, '\n');
if (eol) *eol = '\0';
! snprintf(result, sizeof(result), "%s", p);
if (eol) *eol = '\n';
}
*** ./xymonnet/xymonnet.c.orig 2019-09-02 20:28:31.000000000 -0600
--- ./xymonnet/xymonnet.c 2024-04-19 21:48:16.318018075 -0600
***************
*** 733,739 ****
--- 733,746 ----
}
if (s) h->dodns = 1;
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wstringop-overflow"
+ #endif // __GNUC__
if (option) *(option-1) = ':';
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic pop
+ #endif // __GNUC__
}
if (s) {
***************
*** 1077,1083 ****
p = getenv("SNTP"); /* Plain "getenv" as we want to know if it's unset */
use_sntp = (p != NULL);
! strncpy(cmdpath, (use_sntp ? xgetenv("SNTP") : xgetenv("NTPDATE")), sizeof(cmdpath));
for (t=service->items; (t); t = t->next) {
/* Do not run NTP test if host does not resolve in DNS or is down */
--- 1084,1090 ----
p = getenv("SNTP"); /* Plain "getenv" as we want to know if it's unset */
use_sntp = (p != NULL);
! snprintf(cmdpath, sizeof(cmdpath), "%s", (use_sntp ? xgetenv("SNTP") : xgetenv("NTPDATE")));
for (t=service->items; (t); t = t->next) {
/* Do not run NTP test if host does not resolve in DNS or is down */
***************
*** 1103,1109 ****
char cmdpath[PATH_MAX];
p = xgetenv("RPCINFO");
! strncpy(cmdpath, (p ? p : "rpcinfo"), sizeof(cmdpath));
for (t=service->items; (t); t = t->next) {
/* Do not run RPCINFO test if host does not resolve in DNS or is down */
if (!t->host->dnserror && (t->host->downcount == 0) && !t->host->pingerror) {
--- 1110,1116 ----
char cmdpath[PATH_MAX];
p = xgetenv("RPCINFO");
! snprintf(cmdpath, sizeof(cmdpath), "%s", (p ? p : "rpcinfo"));
for (t=service->items; (t); t = t->next) {
/* Do not run RPCINFO test if host does not resolve in DNS or is down */
if (!t->host->dnserror && (t->host->downcount == 0) && !t->host->pingerror) {
***************
*** 1395,1401 ****
if (!t->open && t->host->routerdeps) {
testitem_t *router;
! strncpy(l, t->host->routerdeps, sizeof(l));
p = strtok(l, ",");
while (p && (t->host->deprouterdown == NULL)) {
for (router=service->items;
--- 1402,1408 ----
if (!t->open && t->host->routerdeps) {
testitem_t *router;
! snprintf(l, sizeof(l), "%s", t->host->routerdeps);
p = strtok(l, ",");
while (p && (t->host->deprouterdown == NULL)) {
for (router=service->items;
***************
*** 2430,2436 ****
for (t = s->items; (t); t = t->next) {
if (!t->host->dnserror) {
! strncpy(tname, s->testname, sizeof(tname));
if (s->namelen) tname[s->namelen] = '\0';
t->privdata = (void *)add_tcp_test(ip_to_test(t->host), s->portnum, tname, NULL,
t->srcip,
--- 2437,2443 ----
for (t = s->items; (t); t = t->next) {
if (!t->host->dnserror) {
! snprintf(tname, sizeof(tname), "%s", s->testname);
if (s->namelen) tname[s->namelen] = '\0';
t->privdata = (void *)add_tcp_test(ip_to_test(t->host), s->portnum, tname, NULL,
t->srcip,
*** ./xymonproxy/xymonproxy.c.orig 2019-09-02 20:28:31.000000000 -0600
--- ./xymonproxy/xymonproxy.c 2024-04-21 20:39:26.977915350 -0600
***************
*** 533,539 ****
int ccount = 0;
unsigned long bufspace = 0;
unsigned long avgtime; /* In millisecs */
! char runtime_s[30];
unsigned long runt = (unsigned long) (now-startuptime);
char *p;
unsigned long msgs_sent = msgs_total - msgs_total_last;
--- 533,539 ----
int ccount = 0;
unsigned long bufspace = 0;
unsigned long avgtime; /* In millisecs */
! char runtime_s[31]; /* Include room for null termination */
unsigned long runt = (unsigned long) (now-startuptime);
char *p;
unsigned long msgs_sent = msgs_total - msgs_total_last;
***************
*** 1008,1015 ****
--- 1008,1022 ----
msgs_delivered++;
if (cwalk->sendtries < SEND_TRIES) {
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Warray-bounds"
+ #endif // __GNUC__
errprintf(" cwalk %ld, socket %d: recovered from write to server %d (%s) after %d retries\n",
cwalk->connid, cwalk->ssocket, cwalk->snum, xymonservername[cwalk->snum], (SEND_TRIES - cwalk->sendtries));
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic pop
+ #endif // __GNUC__
msgs_recovered++;
}
-------------- next part --------------
*** ./build/Makefile.Linux.orig 2019-03-13 16:05:16.000000000 -0600
--- ./build/Makefile.Linux 2024-04-22 15:44:58.000000000 -0600
***************
*** 2,17 ****
OSDEF = -DLINUX
! # NETLIBS: Use replacement rpc
! NETLIBS = -ltirpc
# Compile flags for normal build
CC = gcc
GCCVER := $(shell test 0`gcc -dumpversion|cut -d. -f1` -ge 4 && echo yes)
ifeq ($(GCCVER),yes)
! CFLAGS = -g -O2 -Wall -Wno-unused -I/usr/include/tirpc -Wno-pointer-sign -D_REENTRANT $(LFSDEF) $(OSDEF)
else
! CFLAGS = -g -O2 -Wall -Wno-unused -I/usr/include/tirpc -D_REENTRANT $(LFSDEF) $(OSDEF)
endif
ifndef PKGBUILD
--- 2,21 ----
OSDEF = -DLINUX
! # NETLIBS: Use replacement rpc if available
! HAVE_TIRPC := $(shell ls -d /usr/include/tirpc >/dev/null 2>&1 && echo yes)
! ifeq ($(HAVE_TIRPC),yes)
! NETLIBS = -ltirpc
! INCLUDE_TIRPC = -I/usr/include/tirpc
! endif
# Compile flags for normal build
CC = gcc
GCCVER := $(shell test 0`gcc -dumpversion|cut -d. -f1` -ge 4 && echo yes)
ifeq ($(GCCVER),yes)
! CFLAGS = -g -O2 -Wall -Wno-unused $(INCLUDE_TIRPC) -Wno-pointer-sign -D_REENTRANT $(LFSDEF) $(OSDEF)
else
! CFLAGS = -g -O2 -Wall -Wno-unused $(INCLUDE_TIRPC) -D_REENTRANT $(LFSDEF) $(OSDEF)
endif
ifndef PKGBUILD
*** ./build/Makefile.rules.orig 2019-03-15 15:00:39.000000000 -0600
--- ./build/Makefile.rules 2023-10-25 17:44:19.930051151 -0600
***************
*** 91,100 ****
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONHOME="$(XYMONHOME)" $(MAKE) -C build all
lib-build: include/config.h
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" OSDEF="$(OSDEF)" RPATHOPT="$(RPATHOPT)" PCREINCDIR="$(PCREINCDIR)" COMPINCDIR="$(COMPINCDIR)" SSLFLAGS="$(SSLFLAGS)" SSLINCDIR="$(SSLINCDIR)" PCRELIBS="$(PCRELIBS)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONCLIENTHOME=$(XYMONCLIENTHOME) XYMONLOGDIR="$(XYMONLOGDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" ENABLESHARED="$(ENABLESHARED)" $(MAKE) -C lib all
lib-client:
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" OSDEF="$(OSDEF)" RPATHOPT="$(RPATHOPT)" PCREINCDIR="$(PCREINCDIR)" COMPINCDIR="$(COMPINCDIR)" SSLFLAGS="$(SSLFLAGS)" SSLINCDIR="$(SSLINCDIR)" PCRELIBS="$(PCRELIBS)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONCLIENTHOME)" XYMONCLIENTHOME=$(XYMONCLIENTHOME) XYMONLOGDIR="$(XYMONLOGDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" LOCALCLIENT="$(LOCALCLIENT)" ENABLESHARED="$(ENABLESHARED)" $(MAKE) -C lib client
common-build: lib-build
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" SSLFLAGS="$(SSLFLAGS)" SSLINCDIR="$(SSLINCDIR)" PCRELIBS="$(PCRELIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" COMPLIBS="$(COMPLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONHOME="$(XYMONHOME)" $(MAKE) -C common all
--- 91,100 ----
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONHOME="$(XYMONHOME)" $(MAKE) -C build all
lib-build: include/config.h
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" OSDEF="$(OSDEF)" RPATHOPT="$(RPATHOPT)" PCREINCDIR="$(PCREINCDIR)" COMPINCDIR="$(COMPINCDIR)" SSLFLAGS="$(SSLFLAGS)" SSLINCDIR="$(SSLINCDIR)" PCRELIBS="$(PCRELIBS)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONCLIENTHOME=$(XYMONCLIENTHOME) XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" ENABLESHARED="$(ENABLESHARED)" $(MAKE) -C lib all
lib-client:
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" OSDEF="$(OSDEF)" RPATHOPT="$(RPATHOPT)" PCREINCDIR="$(PCREINCDIR)" COMPINCDIR="$(COMPINCDIR)" SSLFLAGS="$(SSLFLAGS)" SSLINCDIR="$(SSLINCDIR)" PCRELIBS="$(PCRELIBS)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONCLIENTHOME)" XYMONCLIENTHOME=$(XYMONCLIENTHOME) XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" LOCALCLIENT="$(LOCALCLIENT)" ENABLESHARED="$(ENABLESHARED)" $(MAKE) -C lib client
common-build: lib-build
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" SSLFLAGS="$(SSLFLAGS)" SSLINCDIR="$(SSLINCDIR)" PCRELIBS="$(PCRELIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" COMPLIBS="$(COMPLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONHOME="$(XYMONHOME)" $(MAKE) -C common all
***************
*** 113,138 ****
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" PCRELIBS="$(PCRELIBS)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONHOME="$(XYMONHOME)" $(MAKE) -C xymonproxy all
xymond-build: lib-build build-build common-build
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" DORRD="$(DORRD)" RRDDEF="$(RRDDEF)" RRDINCDIR="$(RRDINCDIR)" PCREINCDIR="$(PCREINCDIR)" SSLFLAGS="$(SSLFLAGS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" RRDLIBS="$(RRDLIBS)" PCRELIBS="$(PCRELIBS)" SQLITELIBS="$(SQLITELIBS)" COMPINCDIR="$(COMPINCDIR)" COMPLIBS="$(COMPLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" XYMONUSER="$(XYMONUSER)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONHOSTURL="$(XYMONHOSTURL)" XYMONCGIURL="$(XYMONCGIURL)" SECUREXYMONCGIURL="$(SECUREXYMONCGIURL)" MAILPROGRAM="$(MAILPROGRAM)" RUNTIMEDEFS="$(RUNTIMEDEFS)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" FPING="$(FPING)" $(MAKE) -C xymond all
web-build: lib-build build-build common-build
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" DORRD="$(DORRD)" RRDDEF="$(RRDDEF)" RRDINCDIR="$(RRDINCDIR)" PCREINCDIR="$(PCREINCDIR)" COMPINCDIR="$(COMPINCDIR)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" RRDLIBS="$(RRDLIBS)" PCRELIBS="$(PCRELIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" XYMONUSER="$(XYMONUSER)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONHOSTURL="$(XYMONHOSTURL)" XYMONCGIURL="$(XYMONCGIURL)" SECUREXYMONCGIURL="$(SECUREXYMONCGIURL)" MAILPROGRAM="$(MAILPROGRAM)" RUNTIMEDEFS="$(RUNTIMEDEFS)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" $(MAKE) -C web all
xymond-client: lib-client build-build common-client
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" LIBRTDEF="$(LIBRTDEF)" RRDDEF="$(RRDDEF)" RRDINCDIR="$(RRDINCDIR)" PCREINCDIR="$(PCREINCDIR)" NETLIBS="$(NETLIBS)" RRDLIBS="$(RRDLIBS)" PCRELIBS="$(PCRELIBS)" COMPINCDIR="$(COMPINCDIR)" COMPLIBS="$(COMPLIBS)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" XYMONUSER="$(XYMONUSER)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONHOSTURL="$(XYMONHOSTURL)" XYMONCGIURL="$(XYMONCGIURL)" SECUREXYMONCGIURL="$(SECUREXYMONCGIURL)" MAILPROGRAM="$(MAILPROGRAM)" RUNTIMEDEFS="$(RUNTIMEDEFS)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" $(MAKE) -C xymond client
docs-build:
XYMONHOSTURL="$(XYMONHOSTURL)" $(MAKE) -C docs all
custom-build: lib-build
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" RRDDEF="$(RRDDEF)" RRDINCDIR="$(RRDINCDIR)" PCREINCDIR="$(PCREINCDIR)" NETLIBS="$(NETLIBS)" RRDLIBS="$(RRDLIBS)" PCRELIBS="$(PCRELIBS)" COMPINCDIR="$(COMPINCDIR)" COMPLIBS="$(COMPLIBS)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" XYMONUSER="$(XYMONUSER)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONHOSTURL="$(XYMONHOSTURL)" XYMONCGIURL="$(XYMONCGIURL)" SECUREXYMONCGIURL="$(SECUREXYMONCGIURL)" MAILPROGRAM="$(MAILPROGRAM)" RUNTIMEDEFS="$(RUNTIMEDEFS)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" $(MAKE) -C custom all || echo "Skipped custom modules"
demo-build:
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" NETLIBS="$(NETLIBS)" $(MAKE) -C demotool all
win32: include/config.h
! CC="$(CC)" CFLAGS="$(CFLAGS) -DXYMONWINCLIENT -DCLIENTONLY" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" SSLFLAGS="$(SSLFLAGS)" SSLINCDIR="$(SSLINCDIR)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONHOME="$(XYMONHOME)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" $(MAKE) -C common xymon.exe
#####################
# Cleanup targets
--- 113,138 ----
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" PCRELIBS="$(PCRELIBS)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONHOME="$(XYMONHOME)" $(MAKE) -C xymonproxy all
xymond-build: lib-build build-build common-build
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" DORRD="$(DORRD)" RRDDEF="$(RRDDEF)" RRDINCDIR="$(RRDINCDIR)" PCREINCDIR="$(PCREINCDIR)" SSLFLAGS="$(SSLFLAGS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" RRDLIBS="$(RRDLIBS)" PCRELIBS="$(PCRELIBS)" SQLITELIBS="$(SQLITELIBS)" COMPINCDIR="$(COMPINCDIR)" COMPLIBS="$(COMPLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" XYMONUSER="$(XYMONUSER)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONHOSTURL="$(XYMONHOSTURL)" XYMONCGIURL="$(XYMONCGIURL)" SECUREXYMONCGIURL="$(SECUREXYMONCGIURL)" MAILPROGRAM="$(MAILPROGRAM)" RUNTIMEDEFS="$(RUNTIMEDEFS)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" FPING="$(FPING)" $(MAKE) -C xymond all
web-build: lib-build build-build common-build
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" DORRD="$(DORRD)" RRDDEF="$(RRDDEF)" RRDINCDIR="$(RRDINCDIR)" PCREINCDIR="$(PCREINCDIR)" COMPINCDIR="$(COMPINCDIR)" COMPLIBS="$(COMPLIBS)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" RRDLIBS="$(RRDLIBS)" PCRELIBS="$(PCRELIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" XYMONUSER="$(XYMONUSER)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONHOSTURL="$(XYMONHOSTURL)" XYMONCGIURL="$(XYMONCGIURL)" SECUREXYMONCGIURL="$(SECUREXYMONCGIURL)" MAILPROGRAM="$(MAILPROGRAM)" RUNTIMEDEFS="$(RUNTIMEDEFS)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" $(MAKE) -C web all
xymond-client: lib-client build-build common-client
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" LIBRTDEF="$(LIBRTDEF)" RRDDEF="$(RRDDEF)" RRDINCDIR="$(RRDINCDIR)" PCREINCDIR="$(PCREINCDIR)" NETLIBS="$(NETLIBS)" RRDLIBS="$(RRDLIBS)" PCRELIBS="$(PCRELIBS)" COMPINCDIR="$(COMPINCDIR)" COMPLIBS="$(COMPLIBS)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" XYMONUSER="$(XYMONUSER)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONHOSTURL="$(XYMONHOSTURL)" XYMONCGIURL="$(XYMONCGIURL)" SECUREXYMONCGIURL="$(SECUREXYMONCGIURL)" MAILPROGRAM="$(MAILPROGRAM)" RUNTIMEDEFS="$(RUNTIMEDEFS)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" $(MAKE) -C xymond client
docs-build:
XYMONHOSTURL="$(XYMONHOSTURL)" $(MAKE) -C docs all
custom-build: lib-build
! CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" RRDDEF="$(RRDDEF)" RRDINCDIR="$(RRDINCDIR)" PCREINCDIR="$(PCREINCDIR)" NETLIBS="$(NETLIBS)" RRDLIBS="$(RRDLIBS)" PCRELIBS="$(PCRELIBS)" COMPINCDIR="$(COMPINCDIR)" COMPLIBS="$(COMPLIBS)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" XYMONUSER="$(XYMONUSER)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONHOSTURL="$(XYMONHOSTURL)" XYMONCGIURL="$(XYMONCGIURL)" SECUREXYMONCGIURL="$(SECUREXYMONCGIURL)" MAILPROGRAM="$(MAILPROGRAM)" RUNTIMEDEFS="$(RUNTIMEDEFS)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" $(MAKE) -C custom all || echo "Skipped custom modules"
demo-build:
CC="$(CC)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" NETLIBS="$(NETLIBS)" $(MAKE) -C demotool all
win32: include/config.h
! CC="$(CC)" CFLAGS="$(CFLAGS) -DXYMONWINCLIENT -DCLIENTONLY" LDFLAGS="$(LDFLAGS)" RPATHOPT="$(RPATHOPT)" SSLFLAGS="$(SSLFLAGS)" SSLINCDIR="$(SSLINCDIR)" SSLLIBS="$(SSLLIBS)" NETLIBS="$(NETLIBS)" LIBRTDEF="$(LIBRTDEF)" XYMONHOME="$(XYMONHOME)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONHOSTNAME="$(XYMONHOSTNAME)" XYMONHOSTIP="$(XYMONHOSTIP)" XYMONHOSTOS="$(XYMONHOSTOS)" $(MAKE) -C common xymon.exe
#####################
# Cleanup targets
***************
*** 348,357 ****
XYMONHOME="$(XYMONHOME)" MANROOT="$(MANROOT)" XYMONUSER="$(XYMONUSER)" IDTOOL="$(IDTOOL)" PKGBUILD="$(PKGBUILD)" INSTALLROOT="$(INSTALLROOT)" INSTALLBINDIR="$(INSTALLBINDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" INSTALLEXTDIR="$(INSTALLEXTDIR)" INSTALLTMPDIR="$(INSTALLTMPDIR)" INSTALLWEBDIR="$(INSTALLWEBDIR)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" $(MAKE) -C xymonproxy install
install-xymond: install-common
! DORRD="$(DORRD)" MANROOT="$(MANROOT)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONUSER="$(XYMONUSER)" IDTOOL="$(IDTOOL)" PKGBUILD="$(PKGBUILD)" INSTALLROOT="$(INSTALLROOT)" INSTALLBINDIR="$(INSTALLBINDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" INSTALLEXTDIR="$(INSTALLEXTDIR)" INSTALLTMPDIR="$(INSTALLTMPDIR)" INSTALLWEBDIR="$(INSTALLWEBDIR)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" HTTPDGID="$(HTTPDGID)" $(MAKE) -C xymond install
install-web: install-common
! DORRD="$(DORRD)" MANROOT="$(MANROOT)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONUSER="$(XYMONUSER)" IDTOOL="$(IDTOOL)" PKGBUILD="$(PKGBUILD)" INSTALLROOT="$(INSTALLROOT)" INSTALLBINDIR="$(INSTALLBINDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" INSTALLEXTDIR="$(INSTALLEXTDIR)" INSTALLTMPDIR="$(INSTALLTMPDIR)" INSTALLWEBDIR="$(INSTALLWEBDIR)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" $(MAKE) -C web install
find $(INSTALLROOT)$(INSTALLWWWDIR) -type f -exec chmod 644 {} \;
--- 348,357 ----
XYMONHOME="$(XYMONHOME)" MANROOT="$(MANROOT)" XYMONUSER="$(XYMONUSER)" IDTOOL="$(IDTOOL)" PKGBUILD="$(PKGBUILD)" INSTALLROOT="$(INSTALLROOT)" INSTALLBINDIR="$(INSTALLBINDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" INSTALLEXTDIR="$(INSTALLEXTDIR)" INSTALLTMPDIR="$(INSTALLTMPDIR)" INSTALLWEBDIR="$(INSTALLWEBDIR)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" $(MAKE) -C xymonproxy install
install-xymond: install-common
! DORRD="$(DORRD)" MANROOT="$(MANROOT)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONUSER="$(XYMONUSER)" IDTOOL="$(IDTOOL)" PKGBUILD="$(PKGBUILD)" INSTALLROOT="$(INSTALLROOT)" INSTALLBINDIR="$(INSTALLBINDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" INSTALLEXTDIR="$(INSTALLEXTDIR)" INSTALLTMPDIR="$(INSTALLTMPDIR)" INSTALLWEBDIR="$(INSTALLWEBDIR)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" HTTPDGID="$(HTTPDGID)" $(MAKE) -C xymond install
install-web: install-common
! DORRD="$(DORRD)" MANROOT="$(MANROOT)" XYMONTOPDIR="$(XYMONTOPDIR)" XYMONHOME="$(XYMONHOME)" XYMONVAR="$(XYMONVAR)" CGIDIR="$(CGIDIR)" SECURECGIDIR="$(SECURECGIDIR)" XYMONLOGDIR="$(XYMONLOGDIR)" XYMONRUNDIR="$(XYMONRUNDIR)" XYMONUSER="$(XYMONUSER)" IDTOOL="$(IDTOOL)" PKGBUILD="$(PKGBUILD)" INSTALLROOT="$(INSTALLROOT)" INSTALLBINDIR="$(INSTALLBINDIR)" INSTALLETCDIR="$(INSTALLETCDIR)" INSTALLEXTDIR="$(INSTALLEXTDIR)" INSTALLTMPDIR="$(INSTALLTMPDIR)" INSTALLWEBDIR="$(INSTALLWEBDIR)" INSTALLWWWDIR="$(INSTALLWWWDIR)" INSTALLSTATICWWWDIR="$(INSTALLSTATICWWWDIR)" $(MAKE) -C web install
find $(INSTALLROOT)$(INSTALLWWWDIR) -type f -exec chmod 644 {} \;
*** ./lib/compression.c.orig 2016-01-23 13:31:14.000000000 -0700
--- ./lib/compression.c 2023-10-25 17:34:25.472794837 -0600
***************
*** 349,355 ****
--- 349,360 ----
else if (ctype == COMP_LZ4HC) {
int newsize = 0;
+ #if LZ4_VERSION_NUMBER < 10703
+ /* LZ4 versions prior to 1.7.3 */
newsize = LZ4_compressHC(datasrc, STRBUFEND(deststrbuffer), datasz);
+ #else
+ newsize = LZ4_compress_HC(datasrc, STRBUFEND(deststrbuffer), datasz, LZ4_compressBound(datasz), 0);
+ #endif
if (newsize <= 0) {
errprintf("LZ4HC_compression failed!\n");
return NULL;
***************
*** 361,367 ****
--- 366,377 ----
else if (ctype == COMP_LZ4) {
int newsize = 0;
+ #if LZ4_VERSION_NUMBER < 10703
+ /* LZ4 versions prior to 1.7.3 */
newsize = LZ4_compress(datasrc, STRBUFEND(deststrbuffer), datasz);
+ #else
+ newsize = LZ4_compress_default(datasrc, STRBUFEND(deststrbuffer), datasz, LZ4_compressBound(datasz));
+ #endif
if (newsize <= 0) {
errprintf("LZ4_compression failed!\n");
return NULL;
*** ./xymond/client/snmpcollect.c.orig 2015-10-01 08:42:42.000000000 -0600
--- ./xymond/client/snmpcollect.c 2023-10-19 08:51:09.567794099 -0600
***************
*** 22,28 ****
void *hinfo, char *sender, time_t timestamp,
char *clientdata)
{
! void *ns1var, *ns1sects;
char *onemib;
char *mibname;
char fromline[1024], msgline[1024];
--- 22,28 ----
void *hinfo, char *sender, time_t timestamp,
char *clientdata)
{
! void *ns1var, *ns1sects = NULL;
char *onemib;
char *mibname;
char fromline[1024], msgline[1024];
*** ./xymond/etcfiles/tasks.cfg.DIST.orig 2016-02-23 11:38:47.000000000 -0700
--- ./xymond/etcfiles/tasks.cfg.DIST 2023-11-20 11:28:31.994227040 -0700
***************
*** 15,26 ****
# one server in your setup. If you are setting up a server to do
# just network tests or run xymonproxy, it is OK to disable this (then
# you also need to remove the "NEEDS xymond" lines for the tasks
! # you want to run).
[xymond]
ENVFILE @XYMONHOME@/etc/xymonserver.cfg
CMD xymond \
--restart=$XYMONTMP/xymond.chk --checkpoint-file=$XYMONTMP/xymond.chk --checkpoint-interval=600 \
! --admin-senders=127.0.0.1,$XYMONSERVERIP \
--store-clientlogs=!msgs
LOGFILE $XYMONSERVERLOGS/xymond.log
PIDFILE $XYMONRUNDIR/xymond.pid
--- 15,27 ----
# one server in your setup. If you are setting up a server to do
# just network tests or run xymonproxy, it is OK to disable this (then
# you also need to remove the "NEEDS xymond" lines for the tasks
! # you want to run). Allow localhost and $XYMONSERVERIP (IPv4 and IPv6)
! # to send "drop" and "rename" admin commands.
[xymond]
ENVFILE @XYMONHOME@/etc/xymonserver.cfg
CMD xymond \
--restart=$XYMONTMP/xymond.chk --checkpoint-file=$XYMONTMP/xymond.chk --checkpoint-interval=600 \
! --admin-senders=127.0.0.1,::1,$XYMONSERVERIP,::ffff:$XYMONSERVERIP \
--store-clientlogs=!msgs
LOGFILE $XYMONSERVERLOGS/xymond.log
PIDFILE $XYMONRUNDIR/xymond.pid
*** ./xymond/Makefile.orig 2019-09-02 12:55:23.000000000 -0600
--- ./xymond/Makefile 2023-10-27 08:45:07.066504194 -0600
***************
*** 146,153 ****
cat etcfiles/xymon-bbcompat.DIST | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' | sed -e 's!@INSTALLETCDIR@!$(INSTALLETCDIR)!g' | sed -e 's!@INSTALLWWWDIR@!$(INSTALLWWWDIR)!g' | sed -e 's!@INSTALLSTATICWWWDIR@!$(INSTALLSTATICWWWDIR)!g' | sed -e 's!@XYMONVAR@!$(XYMONVAR)!g' | sed -e 's!@CGIDIR@!$(CGIDIR)!g' | sed -e 's!@SECURECGIDIR@!$(SECURECGIDIR)!g' | sed -e 's!@XYMONHOSTURL@!$(XYMONHOSTURL)!g' | sed -e 's!@XYMONCGIURL@!$(XYMONCGIURL)!g' | sed -e 's!@SECUREXYMONCGIURL@!$(SECUREXYMONCGIURL)!g' >etcfiles/xymon-bbcompat.conf
cat etcfiles/xymonserver.cfg.DIST | sed -e 's!@XYMONTOPDIR@!$(XYMONTOPDIR)!g'| sed -e 's!@XYMONLOGDIR@!$(XYMONLOGDIR)!g'| sed -e 's!@XYMONRUNDIR@!$(XYMONRUNDIR)!g' | sed -e 's!@XYMONHOSTNAME@!$(XYMONHOSTNAME)!g'| sed -e 's!@XYMONHOSTIP@!$(XYMONHOSTIP)!g'| sed -e 's!@XYMONHOSTOS@!$(XYMONHOSTOS)!g' | sed -e 's!@XYMONHOSTURL@!$(XYMONHOSTURL)!g' | sed -e 's!@XYMONCGIURL@!$(XYMONCGIURL)!g' | sed -e 's!@SECUREXYMONCGIURL@!$(SECUREXYMONCGIURL)!g' | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' | sed -e 's!@XYMONVAR@!$(XYMONVAR)!g' | sed -e 's!@FPING@!$(FPING)!g' | sed -e 's!@MAILPROGRAM@!$(MAILPROGRAM)!g' | sed -e 's!@RUNTIMEDEFS@!$(RUNTIMEDEFS)!g' | sed -e 's!@INSTALLETCDIR@!$(INSTALLETCDIR)!g' >etcfiles/xymonserver.cfg
../build/bb-commands.sh >>etcfiles/xymonserver.cfg
! cat etcfiles/hosts.cfg.DIST | sed -e 's!@XYMONHOSTNAME@!$(XYMONHOSTNAME)!g' | sed -e 's!@XYMONHOSTIP@!$(XYMONHOSTIP)!g' >etcfiles/hosts.cfg
! cat etcfiles/alerts.cfg.DIST | sed -e 's!@XYMONHOSTNAME@!$(XYMONHOSTNAME)!g' | sed -e 's!@XYMONHOSTIP@!$(XYMONHOSTIP)!g' >etcfiles/alerts.cfg
cat etcfiles/tasks.cfg.DIST | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' | sed -e 's!@XYMONTOPDIR@!$(XYMONTOPDIR)!g' >etcfiles/tasks.cfg
cat etcfiles/cgioptions.cfg.DIST | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' >etcfiles/cgioptions.cfg
--- 146,153 ----
cat etcfiles/xymon-bbcompat.DIST | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' | sed -e 's!@INSTALLETCDIR@!$(INSTALLETCDIR)!g' | sed -e 's!@INSTALLWWWDIR@!$(INSTALLWWWDIR)!g' | sed -e 's!@INSTALLSTATICWWWDIR@!$(INSTALLSTATICWWWDIR)!g' | sed -e 's!@XYMONVAR@!$(XYMONVAR)!g' | sed -e 's!@CGIDIR@!$(CGIDIR)!g' | sed -e 's!@SECURECGIDIR@!$(SECURECGIDIR)!g' | sed -e 's!@XYMONHOSTURL@!$(XYMONHOSTURL)!g' | sed -e 's!@XYMONCGIURL@!$(XYMONCGIURL)!g' | sed -e 's!@SECUREXYMONCGIURL@!$(SECUREXYMONCGIURL)!g' >etcfiles/xymon-bbcompat.conf
cat etcfiles/xymonserver.cfg.DIST | sed -e 's!@XYMONTOPDIR@!$(XYMONTOPDIR)!g'| sed -e 's!@XYMONLOGDIR@!$(XYMONLOGDIR)!g'| sed -e 's!@XYMONRUNDIR@!$(XYMONRUNDIR)!g' | sed -e 's!@XYMONHOSTNAME@!$(XYMONHOSTNAME)!g'| sed -e 's!@XYMONHOSTIP@!$(XYMONHOSTIP)!g'| sed -e 's!@XYMONHOSTOS@!$(XYMONHOSTOS)!g' | sed -e 's!@XYMONHOSTURL@!$(XYMONHOSTURL)!g' | sed -e 's!@XYMONCGIURL@!$(XYMONCGIURL)!g' | sed -e 's!@SECUREXYMONCGIURL@!$(SECUREXYMONCGIURL)!g' | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' | sed -e 's!@XYMONVAR@!$(XYMONVAR)!g' | sed -e 's!@FPING@!$(FPING)!g' | sed -e 's!@MAILPROGRAM@!$(MAILPROGRAM)!g' | sed -e 's!@RUNTIMEDEFS@!$(RUNTIMEDEFS)!g' | sed -e 's!@INSTALLETCDIR@!$(INSTALLETCDIR)!g' >etcfiles/xymonserver.cfg
../build/bb-commands.sh >>etcfiles/xymonserver.cfg
! cat etcfiles/hosts.cfg.DIST | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' | sed -e 's!@XYMONHOSTNAME@!$(XYMONHOSTNAME)!g' | sed -e 's!@XYMONHOSTIP@!$(XYMONHOSTIP)!g' >etcfiles/hosts.cfg
! cat etcfiles/alerts.cfg.DIST | sed -e 's!@XYMONHOSTNAME@!$(XYMONHOSTNAME)!g' | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' | sed -e 's!@XYMONHOSTIP@!$(XYMONHOSTIP)!g' >etcfiles/alerts.cfg
cat etcfiles/tasks.cfg.DIST | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' | sed -e 's!@XYMONTOPDIR@!$(XYMONTOPDIR)!g' >etcfiles/tasks.cfg
cat etcfiles/cgioptions.cfg.DIST | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' >etcfiles/cgioptions.cfg
***************
*** 193,198 ****
--- 193,204 ----
cd etcfiles; ../../build/merge-sects graphs.cfg $(INSTALLROOT)$(INSTALLETCDIR)/graphs.cfg
cd etcfiles; ../../build/merge-lines columndoc.csv $(INSTALLROOT)$(INSTALLETCDIR)/columndoc.csv
cd etcfiles; (echo "hosts.cfg"; echo "alerts.cfg"; echo "analysis.cfg"; echo "combo.cfg"; echo "client-local.cfg"; echo "holidays.cfg"; echo "rrddefinitions.cfg"; echo snmpmibs.cfg; echo xymonmenu.cfg; echo xymon-apache.conf; echo xymon-bbcompat.conf) | ../../build/setup-newfiles $(INSTALLROOT)$(INSTALLETCDIR)/
+ cat $(INSTALLROOT)$(INSTALLETCDIR)/analysis.cfg | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' >$(INSTALLROOT)$(INSTALLETCDIR)/analysis.cfg.new
+ mv -f $(INSTALLROOT)$(INSTALLETCDIR)/analysis.cfg.new $(INSTALLROOT)$(INSTALLETCDIR)/analysis.cfg
+ cat $(INSTALLROOT)$(INSTALLETCDIR)/graphs.cfg | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' >$(INSTALLROOT)$(INSTALLETCDIR)/graphs.cfg.new
+ mv -f $(INSTALLROOT)$(INSTALLETCDIR)/graphs.cfg.new $(INSTALLROOT)$(INSTALLETCDIR)/graphs.cfg
+ cat $(INSTALLROOT)$(INSTALLETCDIR)/rrddefinitions.cfg | sed -e 's!@XYMONHOME@!$(XYMONHOME)!g' >$(INSTALLROOT)$(INSTALLETCDIR)/rrddefinitions.cfg.new
+ mv -f $(INSTALLROOT)$(INSTALLETCDIR)/rrddefinitions.cfg.new $(INSTALLROOT)$(INSTALLETCDIR)/rrddefinitions.cfg
cd $(INSTALLROOT)$(XYMONHOME); rm -f xymon.sh; ln -sf bin/xymon.sh .
cd wwwfiles; find . | grep -v RCS | grep -v ".svn" | grep -v DIST | ../../build/setup-newfiles $(INSTALLROOT)$(INSTALLSTATICWWWDIR)/ ../../build/md5.dat
cd webfiles; find . | grep -v RCS | grep -v ".svn" | grep -v DIST | ../../build/setup-newfiles $(INSTALLROOT)$(INSTALLWEBDIR)/ ../../build/md5.dat
*** ./xymond/webfiles/hostgraphs_header.orig 2019-09-23 17:15:12.000000000 -0600
--- ./xymond/webfiles/hostgraphs_header 2024-04-20 15:49:59.564633639 -0600
***************
*** 34,55 ****
</TD>
</TR>
<TR>
- <TD VALIGN=MIDDLE ALIGN=LEFT WIDTH="30%">
- </TD>
- <TD VALIGN=MIDDLE ALIGN=CENTER WIDTH="40%">
- <CENTER><FONT FACE="Arial, Helvetica" SIZE="-1" COLOR="silver">
- <A HREF="&XYMONSERVERCGIURL/eventlog.sh?MAXTIME=5760&MAXCOUNT=400&HOSTMATCH=^&XYMWEBHOST%24">All Host Events</A> |
- <A HREF="&XYMONSERVERCGIURL/history.sh?HISTFILE=&XYMWEBHOST.&XYMWEBSVC&ENTRIES=100">Service History</A> |
- <A HREF="&XYMONSERVERCGIURL/svcstatus.sh?CLIENT=&XYMWEBHOST">Current Client Report</A> |
- <A HREF="&XYMONSERVERCGIURL/svcstatus.sh?HOST=&XYMWEBHOST&SERVICE=info">Info</A> |
- <A HREF="&XYMONSERVERCGIURL/svcstatus.sh?HOST=&XYMWEBHOST&SERVICE=trends">Trends</A>
- </FONT></CENTER>
- </TD>
- <TD VALIGN=MIDDLE ALIGN=RIGHT WIDTH="30%">
- </TD>
- </TR>
- <TR>
- <TR>
<TD COLSPAN=3> <HR WIDTH="100%"> </TD>
</TR>
</TABLE>
--- 34,39 ----
*** ./xymond/xymonfetch.c.orig 2015-11-12 11:16:58.000000000 -0700
--- ./xymond/xymonfetch.c 2024-02-01 10:45:10.300102582 -0700
***************
*** 289,297 ****
--- 289,304 ----
conn->client->suggestpoll);
/* Add a section to the client message with cache delay info */
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wformat-truncation"
+ #endif // __GNUC__
snprintf(msgcachesection, sizeof(msgcachesection),
"[msgcache]\nCachedelay: %d\n[proxy]\nClientIP:%s",
msgago, addrstring(&conn->caddr, 0));
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic pop
+ #endif // __GNUC__
addtobuffer(req, msgcachesection);
}
else if ( (strncmp(msgbegin, "status", 6) == 0) ||
***************
*** 299,306 ****
--- 306,321 ----
char sourcemsg[100];
/* Add a line to the message showing where it came from */
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wformat-overflow"
+ #endif // __GNUC__
+
sprintf(sourcemsg, "\nStatus message received from %s\n",
addrstring(&conn->caddr, 0));
+ #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
+ #pragma GCC diagnostic pop
+ #endif // __GNUC__
addtobuffer(req, sourcemsg);
}
*** ./xymond/wwwfiles/gifs/xymonbody.css.orig 2011-03-08 06:05:32.000000000 -0700
--- ./xymond/wwwfiles/gifs/xymonbody.css 2023-10-30 12:55:39.071552606 -0600
***************
*** 32,34 ****
--- 32,99 ----
background-image: url(bkg-clear.gif);
}
+ /* table classes definitions */
+ table th {
+ background-color: #eee;
+ color: #666666;
+ font-weight: bold;
+ }
+
+ table th, table td {
+ white-space: nowrap;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+
+ /* table cell comment */
+ .CellWithComment {
+ position: relative;
+ }
+
+ .CellComment {
+ display: none;
+ position: absolute;
+ z-index: 100;
+ border: 1px;
+ background-color: gray;
+ border-style: solid;
+ border-width: 1px;
+ border-color: white;
+ border-radius: 6px;
+ padding: 3px;
+ color: white;
+ top: -5px;
+ left: 6em;
+ }
+
+ .CellWithComment:hover span.CellComment {
+ display: block;
+ }
+
+ /* tooltip container */
+ .tooltip {
+ position: relative;
+ display: inline-block;
+ }
+
+ /* Tooltip text */
+ .tooltip .tooltiptext {
+ visibility: hidden;
+ position: absolute;
+ z-index: 100;
+ border: 1px;
+ background-color: gray;
+ border-style: solid;
+ border-width: 1px;
+ border-color: white;
+ border-radius: 6px;
+ padding: 3px;
+ color: white;
+ top: -5px;
+ left: 105%;
+ }
+
+ /* Show the tooltip text when you mouse over the tooltip container */
+ .tooltip:hover .tooltiptext {
+ visibility: visible;
+ }
More information about the Xymon
mailing list