ipfilter userland: Revert the ipmon part of a6fb9bbea731
a6fb9bbea731 caused incorrect formatting of ipmon log output. Fixes: a6fb9bbea7318e993dfe0f8a7f00821f79850b26 MFC after: immediately
This commit is contained in:
parent
7cb2d7c413
commit
d740faa30a
@ -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) {
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user