aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2021-12-27 09:10:52 +0000
committerCy Schubert <cy@FreeBSD.org>2021-12-27 09:20:41 +0000
commit324dbffbb48350096c747ef5742dcc0b83b34417 (patch)
treeb6d5c54a809f39cf8340b2218c443a9a23bf75e4
parenta6f70ce9fca731beabd3b0987bcb62ebeef70eaa (diff)
downloadsrc-324dbffbb48350096c747ef5742dcc0b83b34417.tar.gz
src-324dbffbb48350096c747ef5742dcc0b83b34417.zip
ipfilter userland: Revert the ipmon part of a6fb9bbea731
a6fb9bbea731 caused incorrect formatting of ipmon log output. Fixes: a6fb9bbea7318e993dfe0f8a7f00821f79850b26 (cherry picked from commit d740faa30a4a2b300da0b2f2af4680a2cb260828)
-rw-r--r--contrib/ipfilter/tools/ipmon.c124
-rw-r--r--contrib/ipfilter/tools/ipmon_y.y2
2 files changed, 61 insertions, 65 deletions
diff --git a/contrib/ipfilter/tools/ipmon.c b/contrib/ipfilter/tools/ipmon.c
index 28586537da5b..9022f12b6149 100644
--- a/contrib/ipfilter/tools/ipmon.c
+++ b/contrib/ipfilter/tools/ipmon.c
@@ -447,7 +447,7 @@ static char *getlocalproto(p)
p &= 0xff;
s = protocols ? protocols[p] : NULL;
if (s == NULL) {
- snprintf(pnum, sizeof(pnum), "%u", p);
+ sprintf(pnum, "%u", p);
s = pnum;
}
return s;
@@ -483,7 +483,7 @@ char *portlocalname(res, proto, port)
port = ntohs(port);
port &= 0xffff;
- snprintf(pname, sizeof(pname), "%u", port);
+ sprintf(pname, "%u", port);
if (!res || (ipmonopts & IPMON_PORTNUM))
return pname;
s = NULL;
@@ -512,9 +512,9 @@ static char *icmpname(type, code)
s = it->it_name;
if (s == NULL)
- snprintf(name, sizeof(name), "icmptype(%d)/", type);
+ sprintf(name, "icmptype(%d)/", type);
else
- snprintf(name, sizeof(name), "%s/", s);
+ sprintf(name, "%s/", s);
ist = NULL;
if (it != NULL && it->it_subtable != NULL)
@@ -522,10 +522,8 @@ static char *icmpname(type, code)
if (ist != NULL && ist->ist_name != NULL)
strcat(name, ist->ist_name);
- else {
- int strlen_name = strlen(name);
- snprintf(name + strlen_name, sizeof(name) - strlen_name, "%d", code);
- }
+ else
+ sprintf(name + strlen(name), "%d", code);
return name;
}
@@ -545,9 +543,9 @@ static char *icmpname6(type, code)
s = it->it_name;
if (s == NULL)
- snprintf(name, sizeof(name), "icmpv6type(%d)/", type);
+ sprintf(name, "icmpv6type(%d)/", type);
else
- snprintf(name, sizeof(name), "%s/", s);
+ sprintf(name, "%s/", s);
ist = NULL;
if (it != NULL && it->it_subtable != NULL)
@@ -555,10 +553,8 @@ static char *icmpname6(type, code)
if (ist != NULL && ist->ist_name != NULL)
strcat(name, ist->ist_name);
- else {
- int strlen_name = strlen(name);
- snprintf(name + strlen_name, sizeof(name) - strlen_name, "%d", code);
- }
+ else
+ sprintf(name + strlen(name), "%d", code);
return name;
}
@@ -684,7 +680,7 @@ static void print_natlog(conf, buf, blen)
}
(void) strftime(t, len, "%T", tm);
t += strlen(t);
- snprintf(t, sizeof(t), ".%-.6ld @%hd ", (long)ipl->ipl_usec, nl->nl_rule + 1);
+ sprintf(t, ".%-.6ld @%hd ", (long)ipl->ipl_usec, nl->nl_rule + 1);
t += strlen(t);
switch (nl->nl_action)
@@ -714,7 +710,7 @@ static void print_natlog(conf, buf, blen)
break;
default :
- snprintf(t, sizeof(t), "NAT:Action(%d)", nl->nl_action);
+ sprintf(t, "NAT:Action(%d)", nl->nl_action);
break;
}
t += strlen(t);
@@ -767,7 +763,7 @@ static void print_natlog(conf, buf, blen)
break;
default :
- snprintf(t, sizeof(t), "-Type(%d) ", nl->nl_type);
+ sprintf(t, "-Type(%d) ", nl->nl_type);
break;
}
t += strlen(t);
@@ -777,25 +773,25 @@ static void print_natlog(conf, buf, blen)
family = vtof(nl->nl_v[0]);
if (simple == 1) {
- snprintf(t, sizeof(t), "%s,%s <- -> ", hostname(family, nl->nl_osrcip.i6),
+ sprintf(t, "%s,%s <- -> ", hostname(family, nl->nl_osrcip.i6),
portlocalname(res, proto, (u_int)nl->nl_osrcport));
t += strlen(t);
- snprintf(t, sizeof(t), "%s,%s ", hostname(family, nl->nl_nsrcip.i6),
+ sprintf(t, "%s,%s ", hostname(family, nl->nl_nsrcip.i6),
portlocalname(res, proto, (u_int)nl->nl_nsrcport));
t += strlen(t);
- snprintf(t, sizeof(t), "[%s,%s] ", hostname(family, nl->nl_odstip.i6),
+ sprintf(t, "[%s,%s] ", hostname(family, nl->nl_odstip.i6),
portlocalname(res, proto, (u_int)nl->nl_odstport));
} else {
- snprintf(t, sizeof(t), "%s,%s ", hostname(family, nl->nl_osrcip.i6),
+ sprintf(t, "%s,%s ", hostname(family, nl->nl_osrcip.i6),
portlocalname(res, proto, (u_int)nl->nl_osrcport));
t += strlen(t);
- snprintf(t, sizeof(t), "%s,%s <- -> ", hostname(family, nl->nl_odstip.i6),
+ sprintf(t, "%s,%s <- -> ", hostname(family, nl->nl_odstip.i6),
portlocalname(res, proto, (u_int)nl->nl_odstport));
t += strlen(t);
- snprintf(t, sizeof(t), "%s,%s ", hostname(family, nl->nl_nsrcip.i6),
+ sprintf(t, "%s,%s ", hostname(family, nl->nl_nsrcip.i6),
portlocalname(res, proto, (u_int)nl->nl_nsrcport));
t += strlen(t);
- snprintf(t, sizeof(t), "%s,%s ", hostname(family, nl->nl_ndstip.i6),
+ sprintf(t, "%s,%s ", hostname(family, nl->nl_ndstip.i6),
portlocalname(res, proto, (u_int)nl->nl_ndstport));
}
t += strlen(t);
@@ -806,13 +802,13 @@ static void print_natlog(conf, buf, blen)
if (nl->nl_action == NL_EXPIRE || nl->nl_action == NL_FLUSH) {
#ifdef USE_QUAD_T
# ifdef PRId64
- snprintf(t, sizeof(t), " Pkts %" PRId64 "/%" PRId64 " Bytes %" PRId64 "/%"
+ sprintf(t, " Pkts %" PRId64 "/%" PRId64 " Bytes %" PRId64 "/%"
PRId64,
# else
- snprintf(t, sizeof(t), " Pkts %qd/%qd Bytes %qd/%qd",
+ sprintf(t, " Pkts %qd/%qd Bytes %qd/%qd",
# endif
#else
- snprintf(t, sizeof(t), " Pkts %ld/%ld Bytes %ld/%ld",
+ sprintf(t, " Pkts %ld/%ld Bytes %ld/%ld",
#endif
nl->nl_pkts[0], nl->nl_pkts[1],
nl->nl_bytes[0], nl->nl_bytes[1]);
@@ -869,7 +865,7 @@ static void print_statelog(conf, buf, blen)
}
(void) strftime(t, len, "%T", tm);
t += strlen(t);
- snprintf(t, sizeof(t), ".%-.6ld ", (long)ipl->ipl_usec);
+ sprintf(t, ".%-.6ld ", (long)ipl->ipl_usec);
t += strlen(t);
family = vtof(sl->isl_v);
@@ -914,7 +910,7 @@ static void print_statelog(conf, buf, blen)
break;
default :
- snprintf(t, sizeof(t), "Type: %d ", sl->isl_type);
+ sprintf(t, "Type: %d ", sl->isl_type);
break;
}
t += strlen(t);
@@ -922,38 +918,38 @@ static void print_statelog(conf, buf, blen)
proto = getlocalproto(sl->isl_p);
if (sl->isl_p == IPPROTO_TCP || sl->isl_p == IPPROTO_UDP) {
- snprintf(t, sizeof(t), "%s,%s -> ",
+ sprintf(t, "%s,%s -> ",
hostname(family, (u_32_t *)&sl->isl_src),
portlocalname(res, proto, (u_int)sl->isl_sport));
t += strlen(t);
- snprintf(t, sizeof(t), "%s,%s PR %s",
+ sprintf(t, "%s,%s PR %s",
hostname(family, (u_32_t *)&sl->isl_dst),
portlocalname(res, proto, (u_int)sl->isl_dport), proto);
} else if (sl->isl_p == IPPROTO_ICMP) {
- snprintf(t, sizeof(t), "%s -> ", hostname(family, (u_32_t *)&sl->isl_src));
+ sprintf(t, "%s -> ", hostname(family, (u_32_t *)&sl->isl_src));
t += strlen(t);
- snprintf(t, sizeof(t), "%s PR icmp %d",
+ sprintf(t, "%s PR icmp %d",
hostname(family, (u_32_t *)&sl->isl_dst),
sl->isl_itype);
} else if (sl->isl_p == IPPROTO_ICMPV6) {
- snprintf(t, sizeof(t), "%s -> ", hostname(family, (u_32_t *)&sl->isl_src));
+ sprintf(t, "%s -> ", hostname(family, (u_32_t *)&sl->isl_src));
t += strlen(t);
- snprintf(t, sizeof(t), "%s PR icmpv6 %d",
+ sprintf(t, "%s PR icmpv6 %d",
hostname(family, (u_32_t *)&sl->isl_dst),
sl->isl_itype);
} else {
- snprintf(t, sizeof(t), "%s -> ", hostname(family, (u_32_t *)&sl->isl_src));
+ sprintf(t, "%s -> ", hostname(family, (u_32_t *)&sl->isl_src));
t += strlen(t);
- snprintf(t, sizeof(t), "%s PR %s",
+ sprintf(t, "%s PR %s",
hostname(family, (u_32_t *)&sl->isl_dst), proto);
}
t += strlen(t);
if (sl->isl_tag != FR_NOLOGTAG) {
- snprintf(t, sizeof(t), " tag %u", sl->isl_tag);
+ sprintf(t, " tag %u", sl->isl_tag);
t += strlen(t);
}
if (sl->isl_type != ISL_NEW) {
- snprintf(t, sizeof(t),
+ sprintf(t,
#ifdef USE_QUAD_T
#ifdef PRId64
" Forward: Pkts in %" PRId64 " Bytes in %" PRId64
@@ -1099,10 +1095,10 @@ static void print_ipflog(conf, buf, blen)
}
(void) strftime(t, len, "%T", tm);
t += strlen(t);
- snprintf(t, sizeof(t), ".%-.6ld ", (long)ipl->ipl_usec);
+ sprintf(t, ".%-.6ld ", (long)ipl->ipl_usec);
t += strlen(t);
if (ipl->ipl_count > 1) {
- snprintf(t, sizeof(t), "%dx ", ipl->ipl_count);
+ sprintf(t, "%dx ", ipl->ipl_count);
t += strlen(t);
}
{
@@ -1110,11 +1106,11 @@ static void print_ipflog(conf, buf, blen)
strncpy(ifname, ipf->fl_ifname, sizeof(ipf->fl_ifname));
ifname[sizeof(ipf->fl_ifname)] = '\0';
- snprintf(t, sizeof(t), "%s", ifname);
+ sprintf(t, "%s", ifname);
t += strlen(t);
# if SOLARIS
if (ISALPHA(*(t - 1))) {
- snprintf(t, sizeof(t), "%d", ipf->fl_unit);
+ sprintf(t, "%d", ipf->fl_unit);
t += strlen(t);
}
# endif
@@ -1124,12 +1120,12 @@ static void print_ipflog(conf, buf, blen)
else if (ipf->fl_group[0] == '\0')
(void) strcpy(t, " @0:");
else
- snprintf(t, sizeof(t), " @%s:", ipf->fl_group);
+ sprintf(t, " @%s:", ipf->fl_group);
t += strlen(t);
if (ipf->fl_rule == 0xffffffff)
strcat(t, "-1 ");
else
- snprintf(t, sizeof(t), "%u ", ipf->fl_rule + 1);
+ sprintf(t, "%u ", ipf->fl_rule + 1);
t += strlen(t);
lvl = LOG_NOTICE;
@@ -1216,10 +1212,10 @@ static void print_ipflog(conf, buf, blen)
if ((p == IPPROTO_TCP || p == IPPROTO_UDP) && !off) {
tp = (tcphdr_t *)((char *)ip + hl);
if (!(ipf->fl_lflags & FI_SHORT)) {
- snprintf(t, sizeof(t), "%s,%s -> ", hostname(f, s),
+ sprintf(t, "%s,%s -> ", hostname(f, s),
portlocalname(res, proto, (u_int)tp->th_sport));
t += strlen(t);
- snprintf(t, sizeof(t), "%s,%s PR %s len %hu %hu",
+ sprintf(t, "%s,%s PR %s len %hu %hu",
hostname(f, d),
portlocalname(res, proto, (u_int)tp->th_dport),
proto, hl, plen);
@@ -1232,7 +1228,7 @@ static void print_ipflog(conf, buf, blen)
if (tp->th_flags & tcpfl[i].value)
*t++ = tcpfl[i].flag;
if (ipmonopts & IPMON_VERBOSE) {
- snprintf(t, sizeof(t), " %lu %lu %hu",
+ sprintf(t, " %lu %lu %hu",
(u_long)(ntohl(tp->th_seq)),
(u_long)(ntohl(tp->th_ack)),
ntohs(tp->th_win));
@@ -1241,7 +1237,7 @@ static void print_ipflog(conf, buf, blen)
}
*t = '\0';
} else {
- snprintf(t, sizeof(t), "%s -> ", hostname(f, s));
+ sprintf(t, "%s -> ", hostname(f, s));
t += strlen(t);
sprintf(t, "%s PR %s len %hu %hu",
hostname(f, d), proto, hl, plen);
@@ -1249,17 +1245,17 @@ static void print_ipflog(conf, buf, blen)
#if defined(AF_INET6) && defined(IPPROTO_ICMPV6)
} else if ((p == IPPROTO_ICMPV6) && !off && (f == AF_INET6)) {
ic = (struct icmp *)((char *)ip + hl);
- snprintf(t, sizeof(t), "%s -> ", hostname(f, s));
+ sprintf(t, "%s -> ", hostname(f, s));
t += strlen(t);
- snprintf(t, sizeof(t), "%s PR icmpv6 len %hu %hu icmpv6 %s",
+ sprintf(t, "%s PR icmpv6 len %hu %hu icmpv6 %s",
hostname(f, d), hl, plen,
icmpname6(ic->icmp_type, ic->icmp_code));
#endif
} else if ((p == IPPROTO_ICMP) && !off && (f == AF_INET)) {
ic = (struct icmp *)((char *)ip + hl);
- snprintf(t, sizeof(t), "%s -> ", hostname(f, s));
+ sprintf(t, "%s -> ", hostname(f, s));
t += strlen(t);
- snprintf(t, sizeof(t), "%s PR icmp len %hu %hu icmp %s",
+ sprintf(t, "%s PR icmp len %hu %hu icmp %s",
hostname(f, d), hl, plen,
icmpname(ic->icmp_type, ic->icmp_code));
if (ic->icmp_type == ICMP_UNREACH ||
@@ -1283,12 +1279,12 @@ static void print_ipflog(conf, buf, blen)
(ipc->ip_p == IPPROTO_UDP))) {
tp = (tcphdr_t *)((char *)ipc + hl);
t += strlen(t);
- snprintf(t, sizeof(t), " for %s,%s -",
+ sprintf(t, " for %s,%s -",
HOSTNAMEV4(ipc->ip_src),
portlocalname(res, proto,
(u_int)tp->th_sport));
t += strlen(t);
- snprintf(t, sizeof(t), " %s,%s PR %s len %hu %hu",
+ sprintf(t, " %s,%s PR %s len %hu %hu",
HOSTNAMEV4(ipc->ip_dst),
portlocalname(res, proto,
(u_int)tp->th_dport),
@@ -1298,25 +1294,25 @@ static void print_ipflog(conf, buf, blen)
icmp = (icmphdr_t *)((char *)ipc + hl);
t += strlen(t);
- snprintf(t, sizeof(t), " for %s -",
+ sprintf(t, " for %s -",
HOSTNAMEV4(ipc->ip_src));
t += strlen(t);
- snprintf(t, sizeof(t),
+ sprintf(t,
" %s PR icmp len %hu %hu icmp %d/%d",
HOSTNAMEV4(ipc->ip_dst),
IP_HL(ipc) << 2, i,
icmp->icmp_type, icmp->icmp_code);
} else {
t += strlen(t);
- snprintf(t, sizeof(t), " for %s -",
+ sprintf(t, " for %s -",
HOSTNAMEV4(ipc->ip_src));
t += strlen(t);
- snprintf(t, sizeof(t), " %s PR %s len %hu (%hu)",
+ sprintf(t, " %s PR %s len %hu (%hu)",
HOSTNAMEV4(ipc->ip_dst), proto,
IP_HL(ipc) << 2, i);
t += strlen(t);
if (ipoff & IP_OFFMASK) {
- snprintf(t, sizeof(t), "(frag %d:%hu@%hu%s%s)",
+ sprintf(t, "(frag %d:%hu@%hu%s%s)",
ntohs(ipc->ip_id),
i - (IP_HL(ipc) << 2),
(ipoff & IP_OFFMASK) << 3,
@@ -1327,13 +1323,13 @@ static void print_ipflog(conf, buf, blen)
}
} else {
- snprintf(t, sizeof(t), "%s -> ", hostname(f, s));
+ sprintf(t, "%s -> ", hostname(f, s));
t += strlen(t);
- snprintf(t, sizeof(t), "%s PR %s len %hu (%hu)",
+ sprintf(t, "%s PR %s len %hu (%hu)",
hostname(f, d), proto, hl, plen);
t += strlen(t);
if (off & IP_OFFMASK)
- snprintf(t, sizeof(t), " (frag %d:%hu@%hu%s%s)",
+ sprintf(t, " (frag %d:%hu@%hu%s%s)",
ntohs(ip->ip_id),
plen - hl, (off & IP_OFFMASK) << 3,
ipoff & IP_MF ? "+" : "",
@@ -1358,7 +1354,7 @@ printipflog:
strcpy(t, " OUT");
t += strlen(t);
if (ipf->fl_logtag != 0) {
- snprintf(t, sizeof(t), " log-tag %d", ipf->fl_logtag);
+ sprintf(t, " log-tag %d", ipf->fl_logtag);
t += strlen(t);
}
if (ipf->fl_nattag.ipt_num[0] != 0) {
diff --git a/contrib/ipfilter/tools/ipmon_y.y b/contrib/ipfilter/tools/ipmon_y.y
index e734c1c8c1f1..0aeb20a32519 100644
--- a/contrib/ipfilter/tools/ipmon_y.y
+++ b/contrib/ipfilter/tools/ipmon_y.y
@@ -368,7 +368,7 @@ build_action(olist, todo)
if (o->o_str != NULL)
strncpy(a->ac_group, o->o_str, FR_GROUPLEN);
else
- snprintf(a->ac_group, FR_GROUPLEN, "%d", o->o_num);
+ sprintf(a->ac_group, "%d", o->o_num);
break;
case IPM_LOGTAG :
a->ac_logtag = o->o_num;