The branch stable/14 has been updated by cy:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=43d49c178e12a93e54742e999cb4233553b11064

commit 43d49c178e12a93e54742e999cb4233553b11064
Author:     Cy Schubert <[email protected]>
AuthorDate: 2024-11-08 16:30:53 +0000
Commit:     Cy Schubert <[email protected]>
CommitDate: 2024-11-19 00:26:05 +0000

    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.
    
    (cherry picked from commit 9da30a23a5ecae151ae1db045354fab105c69e12)
---
 sbin/ipf/libipf/load_hashnode.c | 23 +++++++++++++++++++++--
 1 file 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);

Reply via email to