aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2024-11-08 16:30:53 +0000
committerCy Schubert <cy@FreeBSD.org>2024-11-12 03:22:15 +0000
commit9da30a23a5ecae151ae1db045354fab105c69e12 (patch)
tree8de859c0d7d3f465c2ed774c7c026351c978026b
parent3a2cb65b6e6dc1e71013db27ce143eb8670a1755 (diff)
ipfilter: Include the IP address in error message
Include the IP address in the message when a hashnode add error occurs. This helps to identify the ippool.conf statement that the error occurred. MFC after: 1 week
-rw-r--r--sbin/ipf/libipf/load_hashnode.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/sbin/ipf/libipf/load_hashnode.c b/sbin/ipf/libipf/load_hashnode.c
index bf22edb9be87..12b11687710d 100644
--- a/sbin/ipf/libipf/load_hashnode.c
+++ b/sbin/ipf/libipf/load_hashnode.c
@@ -53,9 +53,28 @@ load_hashnode(int unit, char *name, iphtent_t *node, int ttl,
if (err != 0)
if (!(opts & OPT_DONOTHING)) {
- char msg[80];
+ char msg[255];
+ char ipaddr[80], mask_msg[10], mask[8];
- snprintf(msg, sizeof(msg), "%s node from lookup hash table(%s)", what, name);
+ inet_ntop(ipe.ipe_family,
+ ipe.ipe_addr.vptr, ipaddr,
+ sizeof(ipaddr));
+#ifdef USE_INET6
+ if (ipe.ipe_family == AF_INET) {
+#endif
+ inet_ntop(ipe.ipe_family,
+ ipe.ipe_mask.vptr, mask,
+ sizeof(mask));
+ mask_msg[0]='/';
+ mask_msg[1]='\0';
+ strlcat(mask_msg, mask, sizeof(mask_msg));
+#ifdef USE_INET6
+ } else {
+ mask_msg[0]='\0';
+ }
+#endif
+
+ snprintf(msg, sizeof(msg), "%s node from lookup hash table(%s) node(%s%s)", what, name, ipaddr, mask_msg);
return (ipf_perror_fd(pool_fd(), iocfunc, msg));
}
return (0);