summaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorKirill Ponomarev <krion@FreeBSD.org>2003-10-21 23:08:50 +0000
committerKirill Ponomarev <krion@FreeBSD.org>2003-10-21 23:08:50 +0000
commitb8e7204389a63fc449d6f86529e99d5444739880 (patch)
tree057adf811218a9efe157530a5bac8495e4939380 /security
parent- Mark broken on alpha-5.x (diff)
- Remove bogus file from patches
PR: 58354 Submitted by: maintainer No cookie for: edwin
Notes
Notes: svn path=/head/; revision=91852
Diffstat (limited to 'security')
-rw-r--r--security/pf/files/pf-port.diff1523
1 files changed, 0 insertions, 1523 deletions
diff --git a/security/pf/files/pf-port.diff b/security/pf/files/pf-port.diff
deleted file mode 100644
index 94d44631cab7..000000000000
--- a/security/pf/files/pf-port.diff
+++ /dev/null
@@ -1,1523 +0,0 @@
-diff -ruN /usr/ports/security/pf/Makefile pf/Makefile
---- /usr/ports/security/pf/Makefile Fri Aug 29 05:14:03 2003
-+++ pf/Makefile Sat Sep 27 14:32:18 2003
-@@ -6,8 +6,7 @@
- #
-
- PORTNAME= pf_freebsd
--PORTVERSION= 1.0
--PORTREVISION= 7
-+PORTVERSION= 1.65
- CATEGORIES= security ipv6
- MASTER_SITES= http://pf4freebsd.love2party.net/
- .if defined(WITH_ALTQ) && (${WITH_ALTQ} == "yes")
-@@ -24,11 +23,12 @@
-
- STARTUP_SCRIPT= ${PREFIX}/etc/rc.d/pf.sh.sample
- SAMPLE_CONFIG= ${PREFIX}/etc/pf.conf.default
-+SAMPLE_PFOS= ${PREFIX}/etc/pf.os
-
- MAN1= pftcpdump.1
- MAN4= pf.4 pflog.4 pfsync.4
--MAN5= pf.conf.5
--MAN8= ftp-proxy.8 pfctl.8 pflogd.8 pftop.8
-+MAN5= pf.conf.5 pf.os.5
-+MAN8= ftp-proxy.8 pfctl.8 pflogd.8
-
- MANCOMPRESSED= maybe
-
-@@ -57,54 +57,72 @@
-
- .if !defined(WITH_ALTQ) || (${WITH_ALTQ} != "yes")
- pre-fetch:
-- @${ECHO_CMD} "======================================================="
-- @${ECHO_CMD} "* If you have ALTQ support from: *"
-- @${ECHO_CMD} "* http://www.rofug.ro/projects/freebsd-altq/ *"
-- @${ECHO_CMD} "* You can may define WITH_ALTQ=yes to make use of it *"
-- @${ECHO_CMD} "* Please define SYS_ALTQ to point to the patched src *"
-- @${ECHO_CMD} "* *"
-- @${ECHO_CMD} "* e.g.: make WITH_ALTQ=yes SYS_ALTQ=${SRC_BASE}/sys.altq *"
-- @${ECHO_CMD} "* *"
-- @${ECHO_CMD} "======================================================="
-+ @${ECHO_MSG} "======================================================="
-+ @${ECHO_MSG} "* If you have ALTQ support from: *"
-+ @${ECHO_MSG} "* http://www.nipsi.de/altq/index.html *"
-+ @${ECHO_MSG} "* You can may define WITH_ALTQ=yes to make use of it *"
-+ @${ECHO_MSG} "* Please define SYS_ALTQ to point to the patched src *"
-+ @${ECHO_MSG} "* *"
-+ @${ECHO_MSG} "* e.g.: make WITH_ALTQ=yes SYS_ALTQ=/usr/src/sys.altq *"
-+ @${ECHO_MSG} "* *"
-+ @${ECHO_MSG} "======================================================="
- @sleep 2
- .endif
-
--pre-install:
-+post-patch:
-+ @${CP} ${WRKSRC}/pfctl/pfctl_parser.h \
-+ ${WRKSRC}/pfctl/pfctl_parser.h.orig
-+ @${SED} -e 's!%%PREFIX%%!${PREFIX}!' \
-+ ${WRKSRC}/pfctl/pfctl_parser.h.orig > \
-+ ${WRKSRC}/pfctl/pfctl_parser.h
-+pre-su-install:
- ${MKDIR} ${KMODDIR}
- ${MKDIR} ${PREFIX}/include/pf
- ${MKDIR} ${PREFIX}/include/pf/net
-+.if defined(WITH_ALTQ) && (${WITH_ALTQ} == "yes")
-+ ${MKDIR} ${PREFIX}/include/pf/altq
-+.endif
- .if !defined(BATCH) && !defined(PACKAGE_BUILDING)
- @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
- .endif
-
- post-install:
-- ${ECHO} "Installing include files ..."
-+ ${ECHO_MSG} "Installing include files ..."
- ${INSTALL_DATA} ${WRKSRC}/include/net/pfvar.h \
-- ${PREFIX}/include/pf/net
-+ ${PREFIX}/include/pf/net
- ${INSTALL_DATA} ${WRKSRC}/include/net/if_pflog.h \
-- ${PREFIX}/include/pf/net
-+ ${PREFIX}/include/pf/net
- ${INSTALL_DATA} ${WRKSRC}/include/net/if_pfsync.h \
-- ${PREFIX}/include/pf/net
-+ ${PREFIX}/include/pf/net
-+.if defined(WITH_ALTQ) && (${WITH_ALTQ} == "yes")
-+ ${INSTALL_DATA} ${WRKSRC}/include/altq/*.h \
-+ ${PREFIX}/include/pf/altq
-+.endif
- @if [ -f ${WRKSRC}/man/pf.4.gz ]; then \
-- ${ECHO} "Installing pftcpdump(1) man page."; \
-+ ${ECHO_MSG} "Installing pftcpdump(1) man page."; \
- ${GZIP_CMD} -cn ${WRKSRC}/freebsd_tcpdump/tcpdump.1 > \
- ${WRKSRC}/freebsd_tcpdump/tcpdump.1.gz ; \
- ${INSTALL_MAN} ${WRKSRC}/freebsd_tcpdump/tcpdump.1.gz \
-- ${PREFIX}/man/man1/pftcpdump.1.gz ; \
-+ ${PREFIX}/man/man1/pftcpdump.1.gz ; \
- else \
-- ${ECHO} "Installing pftcpdump(1) man page."; \
-+ ${ECHO_MSG} "Installing pftcpdump(1) man page."; \
- ${INSTALL_MAN} ${WRKSRC}/freebsd_tcpdump/tcpdump.1 \
-- ${PREFIX}/man/man1/pftcpdump.1 ; \
-+ ${PREFIX}/man/man1/pftcpdump.1 ; \
- fi
- @if [ ! -f ${STARTUP_SCRIPT} ]; then \
-- ${ECHO} "Installing ${STARTUP_SCRIPT} startup file." ; \
-+ ${ECHO_MSG} "Installing ${STARTUP_SCRIPT} startup file." ; \
- ${INSTALL_SCRIPT} ${FILESDIR}/pf.sh.sample \
-- ${STARTUP_SCRIPT} ; \
-+ ${STARTUP_SCRIPT} ; \
- fi
- @if [ ! -f ${SAMPLE_CONFIG} ]; then \
-- ${ECHO} "Installing ${SAMPLE_CONFIG} config file." ; \
-+ ${ECHO_MSG} "Installing ${SAMPLE_CONFIG} config file." ; \
- ${INSTALL_DATA} ${FILESDIR}/pf.conf.default \
-- ${SAMPLE_CONFIG}; \
-+ ${SAMPLE_CONFIG}; \
-+ fi
-+ @if [ ! -f ${SAMPLE_PFOS} ]; then \
-+ ${ECHO_MSG} "Installing ${SAMPLE_PFOS} config file."; \
-+ ${INSTALL_DATA} ${FILESDIR}/pf.os.default \
-+ ${SAMPLE_PFOS}; \
- fi
- ${SED} -e 's!%%PREFIX%%!${PREFIX}!' ${PKGMESSAGE}
-
-diff -ruN /usr/ports/security/pf/distinfo pf/distinfo
---- /usr/ports/security/pf/distinfo Fri Jun 13 03:09:29 2003
-+++ pf/distinfo Sat Sep 27 13:31:03 2003
-@@ -1 +1 @@
--MD5 (pf_freebsd_1.0.tar.gz) = 66b573f0f6884b61f41240111425b93e
-+MD5 (pf_freebsd_1.65.tar.gz) = 6956f275a7b971ab07f4ee8e0bdd83e0
-diff -ruN /usr/ports/security/pf/files/patch-aa pf/files/patch-aa
---- /usr/ports/security/pf/files/patch-aa Mon Jun 16 05:14:27 2003
-+++ pf/files/patch-aa Sat Sep 27 10:18:08 2003
-@@ -1,32 +1,11 @@
----- freebsd_tcpdump/print-pflog.c.orig Fri Jun 13 18:14:50 2003
--+++ freebsd_tcpdump/print-pflog.c Fri Jun 13 18:15:39 2003
--@@ -64,7 +64,9 @@
-- u_int length = h->len;
-- u_int caplen = h->caplen;
-- const struct ip *ip;
--+#ifdef INET6
-- const struct ip6_hdr *ip6;
--+#endif
-- const struct pfloghdr *hdr;
-- u_short res;
-- char reason[128], *why;
--@@ -129,13 +131,16 @@
-- if (xflag)
-- default_print((const u_char *)ip,
-- caplen - PFLOG_HDRLEN);
--- } else {
--+ }
--+#ifdef INET6
--+ else {
-- ip6 = (struct ip6_hdr *)(p + PFLOG_HDRLEN);
-- ip6_print((const u_char *)ip6, length);
-- if (xflag)
-- default_print((const u_char *)ip6,
-- caplen - PFLOG_HDRLEN);
-- }
--+#endif
-+--- Makefile.orig Sat Sep 27 10:17:32 2003
-++++ Makefile Sat Sep 27 10:17:46 2003
-+@@ -6,7 +6,7 @@
-+ SUBDIR= libpcap
-+ .endif
-+
-+-SUBDIR+= pfctl authpf ftp-proxy man pf pflog pfsync
-++SUBDIR+= pfctl ftp-proxy man pf pflog pfsync
-+
-+ .include "include/mk/util.mk"
-
-- out:
-- putchar('\n');
--
--
-diff -ruN /usr/ports/security/pf/files/patch-ab pf/files/patch-ab
---- /usr/ports/security/pf/files/patch-ab Wed Jun 18 06:46:34 2003
-+++ pf/files/patch-ab Sat Sep 27 10:41:00 2003
-@@ -1,70 +1,11 @@
----- pf/pf_support.h Mon Apr 14 05:54:15 2003
--+++ pf/pf_support.h Tue Jun 17 14:26:33 2003
--@@ -16,10 +16,16 @@
-- * Original numbers changed from 11, 12, 13.
-- * sys/mbuf.h
-- */
---#define PACKET_TAG_PF_GENERATED 19 /* PF generated, pass always */
---#define PACKET_TAG_PF_ROUTED 20 /* PF routed, no route loops */
---#define PACKET_TAG_PF_FRAGCACHE 21 /* PF fragment cached */
---#define PACKET_TAG_PF_QID 22 /* PF queue id */
--+#if defined(PACKET_TAG_MACLABEL)
--+#define PACKET_TAG_FB_END (PACKET_TAG_MACLABEL)
--+#else
--+#define PACKET_TAG_FB_END (PACKET_TAG_IPFORWARD)
--+#endif
--+#define PACKET_TAG_PF_GENERATED (PACKET_TAG_FB_END+1)
--+#define PACKET_TAG_PF_ROUTED (PACKET_TAG_FB_END+2)
--+#define PACKET_TAG_PF_FRAGCACHE (PACKET_TAG_FB_END+3)
--+#define PACKET_TAG_PF_QID (PACKET_TAG_FB_END+4)
--+#define PACKET_TAG_PF_TAG (PACKET_TAG_FB_END+5)
-+--- pfctl/pfctl_parser.h.orig Sat Sep 27 10:39:47 2003
-++++ pfctl/pfctl_parser.h Sat Sep 27 10:40:21 2003
-+@@ -33,7 +33,7 @@
-+ #ifndef _PFCTL_PARSER_H_
-+ #define _PFCTL_PARSER_H_
-
-- /*
-- * sys/limits.h
----- pfaltq/pf_support.h Mon Apr 14 06:04:19 2003
--+++ pfaltq/pf_support.h Tue Jun 17 14:26:34 2003
--@@ -16,10 +16,16 @@
-- * Original numbers changed from 11, 12, 13.
-- * sys/mbuf.h
-- */
---#define PACKET_TAG_PF_GENERATED 19 /* PF generated, pass always */
---#define PACKET_TAG_PF_ROUTED 20 /* PF routed, no route loops */
---#define PACKET_TAG_PF_FRAGCACHE 21 /* PF fragment cached */
---#define PACKET_TAG_PF_QID 22 /* PF queue id */
--+#if defined(PACKET_TAG_MACLABEL)
--+#define PACKET_TAG_FB_END (PACKET_TAG_MACLABEL)
--+#else
--+#define PACKET_TAG_FB_END (PACKET_TAG_IPFORWARD)
--+#endif
--+#define PACKET_TAG_PF_GENERATED (PACKET_TAG_FB_END+1)
--+#define PACKET_TAG_PF_ROUTED (PACKET_TAG_FB_END+2)
--+#define PACKET_TAG_PF_FRAGCACHE (PACKET_TAG_FB_END+3)
--+#define PACKET_TAG_PF_QID (PACKET_TAG_FB_END+4)
--+#define PACKET_TAG_PF_TAG (PACKET_TAG_FB_END+5)
-+-#define PF_OSFP_FILE "/etc/pf.os"
-++#define PF_OSFP_FILE "%%PREFIX%%/etc/pf.os"
-
-- /*
-- * sys/limits.h
----- pfctl/pf_support.h Mon Apr 14 05:55:07 2003
--+++ pfctl/pf_support.h Tue Jun 17 14:26:34 2003
--@@ -16,10 +16,16 @@
-- * Original numbers changed from 11, 12, 13.
-- * sys/mbuf.h
-- */
---#define PACKET_TAG_PF_GENERATED 19 /* PF generated, pass always */
---#define PACKET_TAG_PF_ROUTED 20 /* PF routed, no route loops */
---#define PACKET_TAG_PF_FRAGCACHE 21 /* PF fragment cached */
---#define PACKET_TAG_PF_QID 22 /* PF queue id */
--+#if defined(PACKET_TAG_MACLABEL)
--+#define PACKET_TAG_FB_END (PACKET_TAG_MACLABEL)
--+#else
--+#define PACKET_TAG_FB_END (PACKET_TAG_IPFORWARD)
--+#endif
--+#define PACKET_TAG_PF_GENERATED (PACKET_TAG_FB_END+1)
--+#define PACKET_TAG_PF_ROUTED (PACKET_TAG_FB_END+2)
--+#define PACKET_TAG_PF_FRAGCACHE (PACKET_TAG_FB_END+3)
--+#define PACKET_TAG_PF_QID (PACKET_TAG_FB_END+4)
--+#define PACKET_TAG_PF_TAG (PACKET_TAG_FB_END+5)
--
-- /*
-- * sys/limits.h
--
-+ #define PF_OPT_DISABLE 0x0001
-+ #define PF_OPT_ENABLE 0x0002
-diff -ruN /usr/ports/security/pf/files/patch-ac pf/files/patch-ac
---- /usr/ports/security/pf/files/patch-ac Wed Jun 18 06:46:34 2003
-+++ pf/files/patch-ac Sun Sep 28 14:04:09 2003
-@@ -1,29 +1,24 @@
----- pf/pf.c Wed May 7 09:33:21 2003
--+++ pf/pf.c Tue Jun 17 17:02:08 2003
--@@ -2837,6 +2837,7 @@
-- /* check incoming packet for BINAT/RDR */
-- if ((rdr = pf_get_translation(PF_IN, ifp, pd->proto,
-- saddr, 0, daddr, 0, &naddr, NULL, af)) != NULL) {
--+ PF_ACPY(&baddr, daddr, af);
-- switch (af) {
-- #ifdef INET
-- case AF_INET:
--@@ -3179,7 +3180,7 @@
-- /* Retrans: not more than one window back */
-- (ackskew >= -MAXACKWINDOW) &&
-- /* Acking not more than one window back */
--- (ackskew <= MAXACKWINDOW)) {
--+ (ackskew <= (MAXACKWINDOW << sws))) {
-- /* Acking not more than one window forward */
--
-- (*state)->packets++;
--@@ -3346,7 +3347,7 @@
-- SEQ_GEQ(seq, src->seqlo - (dst->max_win << dws)) ?
-- ' ': '2',
-- (ackskew >= -MAXACKWINDOW) ? ' ' : '3',
--- (ackskew <= MAXACKWINDOW) ? ' ' : '4',
--+ (ackskew <= (MAXACKWINDOW << sws)) ? ' ' : '4',
-- SEQ_GEQ(src->seqhi + MAXACKWINDOW, end) ?' ' :'5',
-- SEQ_GEQ(seq, src->seqlo - MAXACKWINDOW) ?' ' :'6');
-- }
--
-+--- pf/pf_ioctl.c.orig Sun Sep 28 15:00:08 2003
-++++ pf/pf_ioctl.c Sun Sep 28 15:00:16 2003
-+@@ -201,7 +201,7 @@
-+ /* psize */ nopsize,
-+ /* flags */ 0,
-+ /* kqfilter */ nokqfilter,
-+-#else
-++#elif (__FreeBSD_version < 501109)
-+ .d_open = pfopen,
-+ .d_close = pfclose,
-+ .d_read = noread,
-+@@ -215,6 +215,12 @@
-+ .d_dump = nodump,
-+ .d_flags = 0,
-+ .d_kqfilter = nokqfilter,
-++#else
-++ .d_open = pfopen,
-++ .d_close = pfclose,
-++ .d_ioctl = pfioctl,
-++ .d_name = PF_NAME,
-++ .d_flags = 0,
-+ #endif
-+ };
-+ #endif /* __FreeBSD__ */
-diff -ruN /usr/ports/security/pf/files/patch-ad pf/files/patch-ad
---- /usr/ports/security/pf/files/patch-ad Thu Jun 26 18:20:13 2003
-+++ pf/files/patch-ad Thu Jan 1 01:00:00 1970
-@@ -1,161 +0,0 @@
----- pfctl/pfctl.c Sat Jun 21 17:29:45 2003
--+++ pfctl/pfctl.c Sat Jun 21 18:31:19 2003
--@@ -46,6 +46,7 @@
-- #include <err.h>
-- #include <errno.h>
-- #include <fcntl.h>
--+#include <inttypes.h>
-- #include <limits.h>
-- #include <netdb.h>
-- #include <stdio.h>
--@@ -565,8 +566,8 @@
-- rule->qname, rule->qid, rule->pqname, rule->pqid);
-- }
-- if (opts & PF_OPT_VERBOSE)
--- printf("[ Evaluations: %-8llu Packets: %-8llu "
--- "Bytes: %-10llu States: %-6u]\n\n",
--+ printf("[ Evaluations: %-8"PRIu64" Packets: %-8"PRIu64" "
--+ "Bytes: %-10"PRIu64" States: %-6u]\n\n",
-- rule->evaluations, rule->packets,
-- rule->bytes, rule->states);
-- }
--@@ -630,7 +631,7 @@
-- case 1:
-- if (pr.rule.label[0]) {
-- printf("%s ", pr.rule.label);
--- printf("%llu %llu %llu\n",
--+ printf("%"PRIu64" %"PRIu64" %"PRIu64"\n",
-- pr.rule.evaluations, pr.rule.packets,
-- pr.rule.bytes);
-- }
--@@ -662,7 +663,7 @@
-- case 1:
-- if (pr.rule.label[0]) {
-- printf("%s ", pr.rule.label);
--- printf("%llu %llu %llu\n",
--+ printf("%"PRIu64" %"PRIu64" %"PRIu64"\n",
-- pr.rule.evaluations, pr.rule.packets,
-- pr.rule.bytes);
-- }
----- pfctl/pfctl_parser.c Sat Jun 21 17:29:45 2003
--+++ pfctl/pfctl_parser.c Sat Jun 21 18:32:00 2003
--@@ -49,6 +49,7 @@
-- #include <stdarg.h>
-- #include <errno.h>
-- #include <err.h>
--+#include <inttypes.h>
-- #include <ifaddrs.h>
--
-- #if defined(__FreeBSD__)
--@@ -503,29 +504,29 @@
-- if (s->ifname[0] != 0) {
-- printf("Interface Stats for %-16s %5s %16s\n",
-- s->ifname, "IPv4", "IPv6");
--- printf(" %-25s %14llu %16llu\n", "Bytes In",
--+ printf(" %-25s %14"PRIu64" %16"PRIu64"\n", "Bytes In",
-- s->bcounters[0][0], s->bcounters[1][0]);
--- printf(" %-25s %14llu %16llu\n", "Bytes Out",
--+ printf(" %-25s %14"PRIu64" %16"PRIu64"\n", "Bytes Out",
-- s->bcounters[0][1], s->bcounters[1][1]);
-- printf(" Packets In\n");
--- printf(" %-23s %14llu %16llu\n", "Passed",
--+ printf(" %-23s %14"PRIu64" %16"PRIu64"\n", "Passed",
-- s->pcounters[0][0][PF_PASS],
-- s->pcounters[1][0][PF_PASS]);
--- printf(" %-23s %14llu %16llu\n", "Blocked",
--+ printf(" %-23s %14"PRIu64" %16"PRIu64"\n", "Blocked",
-- s->pcounters[0][0][PF_DROP],
-- s->pcounters[1][0][PF_DROP]);
-- printf(" Packets Out\n");
--- printf(" %-23s %14llu %16llu\n", "Passed",
--+ printf(" %-23s %14"PRIu64" %16"PRIu64"\n", "Passed",
-- s->pcounters[0][1][PF_PASS],
-- s->pcounters[1][1][PF_PASS]);
--- printf(" %-23s %14llu %16llu\n\n", "Blocked",
--+ printf(" %-23s %14"PRIu64" %16"PRIu64"\n\n", "Blocked",
-- s->pcounters[0][1][PF_DROP],
-- s->pcounters[1][1][PF_DROP]);
-- }
-- printf("%-27s %14s %16s\n", "State Table", "Total", "Rate");
-- printf(" %-25s %14u %14s\n", "current entries", s->states, "");
-- for (i = 0; i < FCNT_MAX; i++) {
--- printf(" %-25s %14lld ", pf_fcounters[i],
--+ printf(" %-25s %14"PRId64" ", pf_fcounters[i],
-- s->fcounters[i]);
-- if (runtime > 0)
-- printf("%14.1f/s\n",
--@@ -535,7 +536,7 @@
-- }
-- printf("Counters\n");
-- for (i = 0; i < PFRES_MAX; i++) {
--- printf(" %-25s %14lld ", pf_reasons[i],
--+ printf(" %-25s %14"PRId64" ", pf_reasons[i],
-- s->counters[i]);
-- if (runtime > 0)
-- printf("%14.1f/s\n",
----- pfctl/pfctl_qstats.c Sat Jun 21 17:29:45 2003
--+++ pfctl/pfctl_qstats.c Sat Jun 21 18:32:19 2003
--@@ -40,6 +40,7 @@
-- #include <arpa/inet.h>
--
-- #include <err.h>
--+#include <inttypes.h>
-- #include <stdio.h>
-- #include <stdlib.h>
-- #include <string.h>
--@@ -280,8 +281,8 @@
-- {
-- double interval;
--
--- printf("[ pkts: %10llu bytes: %10llu "
--- "dropped pkts: %6llu bytes: %6llu ]\n",
--+ printf("[ pkts: %10"PRIu64" bytes: %10"PRIu64" "
--+ "dropped pkts: %6"PRIu64" bytes: %6"PRIu64" ]\n",
-- cur.data.cbq_stats.xmit_cnt.packets,
-- cur.data.cbq_stats.xmit_cnt.bytes,
-- cur.data.cbq_stats.drop_cnt.packets,
--@@ -306,8 +307,8 @@
-- {
-- double interval;
--
--- printf("[ pkts: %10llu bytes: %10llu "
--- "dropped pkts: %6llu bytes: %6llu ]\n",
--+ printf("[ pkts: %10"PRIu64" bytes: %10"PRIu64" "
--+ "dropped pkts: %6"PRIu64" bytes: %6"PRIu64" ]\n",
-- cur.data.priq_stats.xmitcnt.packets,
-- cur.data.priq_stats.xmitcnt.bytes,
-- cur.data.priq_stats.dropcnt.packets,
----- pfctl/pfctl_table.c Sat Jun 21 17:29:45 2003
--+++ pfctl/pfctl_table.c Sat Jun 21 18:32:36 2003
--@@ -42,6 +42,7 @@
-- #include <ctype.h>
-- #include <err.h>
-- #include <errno.h>
--+#include <inttypes.h>
-- #include <netdb.h>
-- #include <stdarg.h>
-- #include <stdio.h>
--@@ -363,11 +364,11 @@
-- printf("\tAddresses: %d\n", ts->pfrts_cnt);
-- printf("\tReferences: %d\n", ts->pfrts_refcnt);
-- printf("\tCleared: %s", ctime(&time));
--- printf("\tEvaluations: [ NoMatch: %-18llu Match: %-18llu ]\n",
--+ printf("\tEvaluations: [ NoMatch: %-18"PRIu64" Match: %-18"PRIu64" ]\n",
-- ts->pfrts_nomatch, ts->pfrts_match);
-- for (dir = 0; dir < PFR_DIR_MAX; dir++)
-- for (op = 0; op < PFR_OP_TABLE_MAX; op++)
--- printf("\t%-12s [ Packets: %-18llu Bytes: %-18llu ]\n",
--+ printf("\t%-12s [ Packets: %-18"PRIu64" Bytes: %-18"PRIu64" ]\n",
-- stats_text[dir][op],
-- ts->pfrts_packets[dir][op],
-- ts->pfrts_bytes[dir][op]);
--@@ -541,7 +542,7 @@
-- printf("\tCleared: %s", ctime(&time));
-- for (dir = 0; dir < PFR_DIR_MAX; dir++)
-- for (op = 0; op < PFR_OP_ADDR_MAX; op++)
--- printf("\t%-12s [ Packets: %-18llu Bytes: %-18llu ]\n",
--+ printf("\t%-12s [ Packets: %-18"PRIu64" Bytes: %-18"PRIu64" ]\n",
-- stats_text[dir][op],
-- as->pfras_packets[dir][op],
-- as->pfras_bytes[dir][op]);
--
-diff -ruN /usr/ports/security/pf/files/patch-ae pf/files/patch-ae
---- /usr/ports/security/pf/files/patch-ae Fri Jul 4 03:28:53 2003
-+++ pf/files/patch-ae Thu Jan 1 01:00:00 1970
-@@ -1,13 +0,0 @@
----- pf/pf_norm.c 7 Apr 2003 15:31:41 -0000 1.2
--+++ pf/pf_norm.c 3 Jul 2003 02:40:10 -0000 1.2.16.1
--@@ -747,6 +747,9 @@
-- */
-- #if defined(__FreeBSD__)
-- *m0 = m_dup(m, M_NOWAIT);
--+ /* From KAME Project : We have missed this! */
--+ m_adj(*m0, (h->ip_hl << 2) -
--+ (*m0)->m_pkthdr.len);
-- #else
-- *m0 = m_copym2(m, 0, h->ip_hl << 2, M_NOWAIT);
-- #endif
--
-diff -ruN /usr/ports/security/pf/files/patch-af pf/files/patch-af
---- /usr/ports/security/pf/files/patch-af Fri Jul 18 03:51:24 2003
-+++ pf/files/patch-af Thu Jan 1 01:00:00 1970
-@@ -1,19 +0,0 @@
----- pf/pf_norm.c 3 Jul 2003 02:40:10 -0000 1.2.16.1
--+++ pf/pf_norm.c 14 Jul 2003 07:11:17 -0000 1.2.16.2
--@@ -1050,12 +1050,12 @@
-- goto bad;
-- }
--
--- max = fragoff + ip_len;
-- /* Respect maximum length */
--- if (max > IP_MAXPACKET) {
--- DPFPRINTF(("max packet %d\n", max));
--+ if (fragoff + ip_len > IP_MAXPACKET) {
--+ DPFPRINTF(("max packet %d\n", fragoff + ip_len));
-- goto bad;
-- }
--+ max = fragoff + ip_len;
--
-- if ((r->rule_flag & (PFRULE_FRAGCROP|PFRULE_FRAGDROP)) == 0) {
-- /* Fully buffer all of the fragments */
--
-diff -ruN /usr/ports/security/pf/files/patch-ag pf/files/patch-ag
---- /usr/ports/security/pf/files/patch-ag Fri Aug 29 05:14:03 2003
-+++ pf/files/patch-ag Thu Jan 1 01:00:00 1970
-@@ -1,383 +0,0 @@
----- pf/pf_norm.c Fri Aug 29 03:31:24 2003
--+++ pf/pf_norm.c Fri Aug 29 03:40:58 2003
--@@ -117,10 +117,10 @@
-- void pf_flush_fragments(void);
-- void pf_free_fragment(struct pf_fragment *);
-- struct pf_fragment *pf_find_fragment(struct ip *, struct pf_frag_tree *);
---struct mbuf *pf_reassemble(struct mbuf **, struct pf_fragment *,
--+struct mbuf *pf_reassemble(struct mbuf **, struct pf_fragment **,
-- struct pf_frent *, int);
-- struct mbuf *pf_fragcache(struct mbuf **, struct ip*,
--- struct pf_fragment *, int, int, int *);
--+ struct pf_fragment **, int, int, int *);
-- u_int16_t pf_cksum_fixup(u_int16_t, u_int16_t, u_int16_t);
-- int pf_normalize_tcp(int, struct ifnet *, struct mbuf *,
-- int, int, void *, struct pf_pdesc *);
--@@ -385,7 +385,7 @@
-- }
--
-- struct mbuf *
---pf_reassemble(struct mbuf **m0, struct pf_fragment *frag,
--+pf_reassemble(struct mbuf **m0, struct pf_fragment **frag,
-- struct pf_frent *frent, int mff)
-- {
-- struct mbuf *m = *m0, *m2;
--@@ -397,10 +397,10 @@
-- u_int16_t max = ip->ip_len + off;
--
-- #if defined(__FreeBSD__)
--- KASSERT((frag == NULL || BUFFER_FRAGMENTS(frag)),
--- ("! (frag == NULL || BUFFER_FRAGMENTS(frag)): %s", __FUNCTION__));
--+ KASSERT((*frag == NULL || BUFFER_FRAGMENTS(*frag)),
--+ ("! (*frag == NULL || BUFFER_FRAGMENTS(*frag)): %s", __FUNCTION__));
-- #else
--- KASSERT(frag == NULL || BUFFER_FRAGMENTS(frag));
--+ KASSERT(*frag == NULL || BUFFER_FRAGMENTS(*frag));
-- #endif
--
-- /* Strip off ip header */
--@@ -408,38 +408,38 @@
-- m->m_len -= hlen;
--
-- /* Create a new reassembly queue for this packet */
--- if (frag == NULL) {
--+ if (*frag == NULL) {
-- #if defined(__FreeBSD__)
--- frag = uma_zalloc(pf_frag_pl, M_NOWAIT);
--+ *frag = uma_zalloc(pf_frag_pl, M_NOWAIT);
-- #else
--- frag = pool_get(&pf_frag_pl, PR_NOWAIT);
--+ *frag = pool_get(&pf_frag_pl, PR_NOWAIT);
-- #endif
--- if (frag == NULL) {
--+ if (*frag == NULL) {
-- pf_flush_fragments();
-- #if defined(__FreeBSD__)
--- frag = uma_zalloc(pf_frag_pl, M_NOWAIT);
--+ *frag = uma_zalloc(pf_frag_pl, M_NOWAIT);
-- #else
--- frag = pool_get(&pf_frag_pl, PR_NOWAIT);
--+ *frag = pool_get(&pf_frag_pl, PR_NOWAIT);
-- #endif
--- if (frag == NULL)
--+ if (*frag == NULL)
-- goto drop_fragment;
-- }
--
--- frag->fr_flags = 0;
--- frag->fr_max = 0;
--- frag->fr_src = frent->fr_ip->ip_src;
--- frag->fr_dst = frent->fr_ip->ip_dst;
--- frag->fr_p = frent->fr_ip->ip_p;
--- frag->fr_id = frent->fr_ip->ip_id;
--+ (*frag)->fr_flags = 0;
--+ (*frag)->fr_max = 0;
--+ (*frag)->fr_src = frent->fr_ip->ip_src;
--+ (*frag)->fr_dst = frent->fr_ip->ip_dst;
--+ (*frag)->fr_p = frent->fr_ip->ip_p;
--+ (*frag)->fr_id = frent->fr_ip->ip_id;
-- #if defined(__FreeBSD__)
--- frag->fr_timeout = time_second;
--+ (*frag)->fr_timeout = time_second;
-- #else
--- frag->fr_timeout = time.tv_sec;
--+ (*frag)->fr_timeout = time.tv_sec;
-- #endif
--- LIST_INIT(&frag->fr_queue);
--+ LIST_INIT(&(*frag)->fr_queue);
--
--- RB_INSERT(pf_frag_tree, &pf_frag_tree, frag);
--- TAILQ_INSERT_HEAD(&pf_fragqueue, frag, frag_next);
--+ RB_INSERT(pf_frag_tree, &pf_frag_tree, *frag);
--+ TAILQ_INSERT_HEAD(&pf_fragqueue, *frag, frag_next);
--
-- /* We do not have a previous fragment */
-- frep = NULL;
--@@ -450,7 +450,7 @@
-- * Find a fragment after the current one:
-- * - off contains the real shifted offset.
-- */
--- LIST_FOREACH(frea, &frag->fr_queue, fr_next) {
--+ LIST_FOREACH(frea, &(*frag)->fr_queue, fr_next) {
-- if (frea->fr_ip->ip_off > off)
-- break;
-- frep = frea;
--@@ -503,41 +503,41 @@
--
-- insert:
-- /* Update maximum data size */
--- if (frag->fr_max < max)
--- frag->fr_max = max;
--+ if ((*frag)->fr_max < max)
--+ (*frag)->fr_max = max;
-- /* This is the last segment */
-- if (!mff)
--- frag->fr_flags |= PFFRAG_SEENLAST;
--+ (*frag)->fr_flags |= PFFRAG_SEENLAST;
--
-- if (frep == NULL)
--- LIST_INSERT_HEAD(&frag->fr_queue, frent, fr_next);
--+ LIST_INSERT_HEAD(&(*frag)->fr_queue, frent, fr_next);
-- else
-- LIST_INSERT_AFTER(frep, frent, fr_next);
--
-- /* Check if we are completely reassembled */
--- if (!(frag->fr_flags & PFFRAG_SEENLAST))
--+ if (!((*frag)->fr_flags & PFFRAG_SEENLAST))
-- return (NULL);
--
-- /* Check if we have all the data */
-- off = 0;
--- for (frep = LIST_FIRST(&frag->fr_queue); frep; frep = next) {
--+ for (frep = LIST_FIRST(&(*frag)->fr_queue); frep; frep = next) {
-- next = LIST_NEXT(frep, fr_next);
--
-- off += frep->fr_ip->ip_len;
--- if (off < frag->fr_max &&
--+ if (off < (*frag)->fr_max &&
-- (next == NULL || next->fr_ip->ip_off != off)) {
-- DPFPRINTF(("missing fragment at %d, next %d, max %d\n",
-- off, next == NULL ? -1 : next->fr_ip->ip_off,
--- frag->fr_max));
--+ (*frag)->fr_max));
-- return (NULL);
-- }
-- }
--- DPFPRINTF(("%d < %d?\n", off, frag->fr_max));
--- if (off < frag->fr_max)
--+ DPFPRINTF(("%d < %d?\n", off, (*frag)->fr_max));
--+ if (off < (*frag)->fr_max)
-- return (NULL);
--
-- /* We have all the data */
--- frent = LIST_FIRST(&frag->fr_queue);
--+ frent = LIST_FIRST(&(*frag)->fr_queue);
-- #if defined(__FreeBSD__)
-- KASSERT((frent != NULL), ("frent == NULL: %s", __FUNCTION__));
-- #else
--@@ -545,7 +545,8 @@
-- #endif
-- if ((frent->fr_ip->ip_hl << 2) + off > IP_MAXPACKET) {
-- DPFPRINTF(("drop: too big: %d\n", off));
--- pf_free_fragment(frag);
--+ pf_free_fragment(*frag);
--+ *frag = NULL;
-- return (NULL);
-- }
-- next = LIST_NEXT(frent, fr_next);
--@@ -575,11 +576,12 @@
-- m_cat(m, m2);
-- }
--
--- ip->ip_src = frag->fr_src;
--- ip->ip_dst = frag->fr_dst;
--+ ip->ip_src = (*frag)->fr_src;
--+ ip->ip_dst = (*frag)->fr_dst;
--
-- /* Remove from fragment queue */
--- pf_remove_fragment(frag);
--+ pf_remove_fragment(*frag);
--+ *frag = NULL;
--
-- hlen = ip->ip_hl << 2;
-- ip->ip_len = off + hlen;
--@@ -611,7 +613,7 @@
-- }
--
-- struct mbuf *
---pf_fragcache(struct mbuf **m0, struct ip *h, struct pf_fragment *frag, int mff,
--+pf_fragcache(struct mbuf **m0, struct ip *h, struct pf_fragment **frag, int mff,
-- int drop, int *nomem)
-- {
-- struct mbuf *m = *m0;
--@@ -622,27 +624,27 @@
-- int hosed = 0;
--
-- #if defined(__FreeBSD__)
--- KASSERT((frag == NULL || !BUFFER_FRAGMENTS(frag)),
--- ("!(frag == NULL || !BUFFER_FRAGMENTS(frag)): %s", __FUNCTION__));
--+ KASSERT((*frag == NULL || !BUFFER_FRAGMENTS(*frag)),
--+ ("!(*frag == NULL || !BUFFER_FRAGMENTS(*frag)): %s", __FUNCTION__));
-- #else
--- KASSERT(frag == NULL || !BUFFER_FRAGMENTS(frag));
--+ KASSERT(*frag == NULL || !BUFFER_FRAGMENTS(*frag));
-- #endif
--
-- /* Create a new range queue for this packet */
--- if (frag == NULL) {
--+ if (*frag == NULL) {
-- #if defined(__FreeBSD__)
--- frag = uma_zalloc(pf_cache_pl, M_NOWAIT);
--+ *frag = uma_zalloc(pf_cache_pl, M_NOWAIT);
-- #else
--- frag = pool_get(&pf_cache_pl, PR_NOWAIT);
--+ *frag = pool_get(&pf_cache_pl, PR_NOWAIT);
-- #endif
--- if (frag == NULL) {
--+ if (*frag == NULL) {
-- pf_flush_fragments();
-- #if defined(__FreeBSD__)
--- frag = uma_zalloc(pf_cache_pl, M_NOWAIT);
--+ *frag = uma_zalloc(pf_cache_pl, M_NOWAIT);
-- #else
--- frag = pool_get(&pf_cache_pl, PR_NOWAIT);
--+ *frag = pool_get(&pf_cache_pl, PR_NOWAIT);
-- #endif
--- if (frag == NULL)
--+ if (*frag == NULL)
-- goto no_mem;
-- }
--
--@@ -654,33 +656,34 @@
-- #endif
-- if (cur == NULL) {
-- #if defined(__FreeBSD__)
--- uma_zfree(pf_cache_pl, frag);
--+ uma_zfree(pf_cache_pl, *frag);
-- #else
--- pool_put(&pf_cache_pl, frag);
--+ pool_put(&pf_cache_pl, *frag);
-- #endif
--+ *frag = NULL;
-- goto no_mem;
-- }
-- pf_ncache++;
--
--- frag->fr_flags = PFFRAG_NOBUFFER;
--- frag->fr_max = 0;
--- frag->fr_src = h->ip_src;
--- frag->fr_dst = h->ip_dst;
--- frag->fr_p = h->ip_p;
--- frag->fr_id = h->ip_id;
--+ (*frag)->fr_flags = PFFRAG_NOBUFFER;
--+ (*frag)->fr_max = 0;
--+ (*frag)->fr_src = h->ip_src;
--+ (*frag)->fr_dst = h->ip_dst;
--+ (*frag)->fr_p = h->ip_p;
--+ (*frag)->fr_id = h->ip_id;
-- #if defined(__FreeBSD__)
--- frag->fr_timeout = time_second;
--+ (*frag)->fr_timeout = time_second;
-- #else
--- frag->fr_timeout = time.tv_sec;
--+ (*frag)->fr_timeout = time.tv_sec;
-- #endif
--
-- cur->fr_off = off;
-- cur->fr_end = max;
--- LIST_INIT(&frag->fr_cache);
--- LIST_INSERT_HEAD(&frag->fr_cache, cur, fr_next);
--+ LIST_INIT(&(*frag)->fr_cache);
--+ LIST_INSERT_HEAD(&(*frag)->fr_cache, cur, fr_next);
--
--- RB_INSERT(pf_frag_tree, &pf_cache_tree, frag);
--- TAILQ_INSERT_HEAD(&pf_cachequeue, frag, frag_next);
--+ RB_INSERT(pf_frag_tree, &pf_cache_tree, *frag);
--+ TAILQ_INSERT_HEAD(&pf_cachequeue, *frag, frag_next);
--
-- DPFPRINTF(("fragcache[%d]: new %d-%d\n", h->ip_id, off, max));
--
--@@ -692,7 +695,7 @@
-- * - off contains the real shifted offset.
-- */
-- frp = NULL;
--- LIST_FOREACH(fra, &frag->fr_cache, fr_next) {
--+ LIST_FOREACH(fra, &(*frag)->fr_cache, fr_next) {
-- if (fra->fr_off > off)
-- break;
-- frp = fra;
--@@ -929,21 +932,22 @@
--
-- pass:
-- /* Update maximum data size */
--- if (frag->fr_max < max)
--- frag->fr_max = max;
--+ if ((*frag)->fr_max < max)
--+ (*frag)->fr_max = max;
--
-- /* This is the last segment */
-- if (!mff)
--- frag->fr_flags |= PFFRAG_SEENLAST;
--+ (*frag)->fr_flags |= PFFRAG_SEENLAST;
--
-- /* Check if we are completely reassembled */
--- if ((frag->fr_flags & PFFRAG_SEENLAST) &&
--- LIST_FIRST(&frag->fr_cache)->fr_off == 0 &&
--- LIST_FIRST(&frag->fr_cache)->fr_end == frag->fr_max) {
--+ if (((*frag)->fr_flags & PFFRAG_SEENLAST) &&
--+ LIST_FIRST(&(*frag)->fr_cache)->fr_off == 0 &&
--+ LIST_FIRST(&(*frag)->fr_cache)->fr_end == (*frag)->fr_max) {
-- /* Remove from fragment queue */
-- DPFPRINTF(("fragcache[%d]: done 0-%d\n", h->ip_id,
--- frag->fr_max));
--- pf_free_fragment(frag);
--+ (*frag)->fr_max));
--+ pf_free_fragment(*frag);
--+ *frag = NULL;
-- }
--
-- return (m);
--@@ -952,8 +956,8 @@
-- *nomem = 1;
--
-- /* Still need to pay attention to !IP_MF */
--- if (!mff && frag)
--- frag->fr_flags |= PFFRAG_SEENLAST;
--+ if (!mff && *frag != NULL)
--+ (*frag)->fr_flags |= PFFRAG_SEENLAST;
--
-- m_freem(m);
-- return (NULL);
--@@ -961,15 +965,15 @@
-- drop_fragment:
--
-- /* Still need to pay attention to !IP_MF */
--- if (!mff && frag)
--- frag->fr_flags |= PFFRAG_SEENLAST;
--+ if (!mff && *frag != NULL)
--+ (*frag)->fr_flags |= PFFRAG_SEENLAST;
--
-- if (drop) {
-- /* This fragment has been deemed bad. Don't reass */
--- if ((frag->fr_flags & PFFRAG_DROP) == 0)
--+ if (((*frag)->fr_flags & PFFRAG_DROP) == 0)
-- DPFPRINTF(("fragcache[%d]: dropping overall fragment\n",
-- h->ip_id));
--- frag->fr_flags |= PFFRAG_DROP;
--+ (*frag)->fr_flags |= PFFRAG_DROP;
-- }
--
-- m_freem(m);
--@@ -1085,12 +1089,12 @@
--
-- /* Might return a completely reassembled mbuf, or NULL */
-- DPFPRINTF(("reass frag %d @ %d-%d\n", h->ip_id, fragoff, max));
--- *m0 = m = pf_reassemble(m0, frag, frent, mff);
--+ *m0 = m = pf_reassemble(m0, &frag, frent, mff);
--
-- if (m == NULL)
-- return (PF_DROP);
--
--- if (frag && (frag->fr_flags & PFFRAG_DROP))
--+ if (frag != NULL && (frag->fr_flags & PFFRAG_DROP))
-- goto drop;
--
-- h = mtod(m, struct ip *);
--@@ -1119,7 +1123,7 @@
-- goto bad;
-- }
--
--- *m0 = m = pf_fragcache(m0, h, frag, mff,
--+ *m0 = m = pf_fragcache(m0, h, &frag, mff,
-- (r->rule_flag & PFRULE_FRAGDROP) ? 1 : 0, &nomem);
-- if (m == NULL) {
-- if (nomem)
--@@ -1135,7 +1139,7 @@
-- goto no_mem;
-- m_tag_prepend(m, mtag);
-- }
--- if (frag && (frag->fr_flags & PFFRAG_DROP))
--+ if (frag != NULL && (frag->fr_flags & PFFRAG_DROP))
-- goto drop;
-- goto fragment_pass;
-- }
-diff -ruN /usr/ports/security/pf/files/pf.conf.default pf/files/pf.conf.default
---- /usr/ports/security/pf/files/pf.conf.default Fri Jun 13 03:09:29 2003
-+++ pf/files/pf.conf.default Sat Sep 27 09:51:28 2003
-@@ -1,4 +1,4 @@
--# $OpenBSD: pf.conf,v 1.19 2003/03/24 01:47:28 ian Exp $
-+# $OpenBSD: pf.conf,v 1.21 2003/09/02 20:38:44 david Exp $
- #
- # See pf.conf(5) and /usr/share/pf for syntax and examples.
- # Required order: options, normalization, queueing, translation, filtering.
-@@ -15,17 +15,19 @@
- #table <foo> { 10.0.0.0/8, !10.1.0.0/16, 192.168.0.0/24, 192.168.1.18 }
-
- # Options: tune the behavior of pf, default values are given.
--#set timeout { interval 30, frag 10 }
-+#set timeout { interval 10, frag 30 }
- #set timeout { tcp.first 120, tcp.opening 30, tcp.established 86400 }
- #set timeout { tcp.closing 900, tcp.finwait 45, tcp.closed 90 }
- #set timeout { udp.first 60, udp.single 30, udp.multiple 60 }
- #set timeout { icmp.first 20, icmp.error 10 }
- #set timeout { other.first 60, other.single 30, other.multiple 60 }
-+#set timeout { adaptive.start 0, adaptive.end 0 }
- #set limit { states 10000, frags 5000 }
- #set loginterface none
- #set optimization normal
- #set block-policy drop
- #set require-order yes
-+#set fingerprints "/etc/pf.os"
-
- # Normalization: reassemble fragments and resolve or reduce traffic ambiguities.
- #scrub in all
-diff -ruN /usr/ports/security/pf/files/pf.os.default pf/files/pf.os.default
---- /usr/ports/security/pf/files/pf.os.default Thu Jan 1 01:00:00 1970
-+++ pf/files/pf.os.default Sat Sep 27 09:50:08 2003
-@@ -0,0 +1,551 @@
-+# $OpenBSD: pf.os,v 1.10 2003/09/06 01:37:07 frantzen Exp $
-+# passive OS fingerprinting
-+# -------------------------
-+#
-+# SYN signatures. Those signatures work for SYN packets only (duh!).
-+#
-+# (C) Copyright 2000-2003 by Michal Zalewski <lcamtuf@coredump.cx>
-+# (C) Copyright 2003 by Mike Frantzen <frantzen@w4g.org>
-+#
-+# Permission to use, copy, modify, and distribute this software for any
-+# purpose with or without fee is hereby granted, provided that the above
-+# copyright notice and this permission notice appear in all copies.
-+#
-+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-+#
-+#
-+# This fingerprint database is adapted from Michal Zalewski's p0f passive
-+# operating system package.
-+#
-+#
-+# Each line in this file specifies a single fingerprint. Please read the
-+# information below carefully before attempting to append any signatures
-+# reported as UNKNOWN to this file to avoid mistakes.
-+#
-+# We use the following set metrics for fingerprinting:
-+#
-+# - Window size (WSS) - a highly OS dependent setting used for TCP/IP
-+# performance control (max. amount of data to be sent without ACK).
-+# Some systems use a fixed value for initial packets. On other
-+# systems, it is a multiple of MSS or MTU (MSS+40). In some rare
-+# cases, the value is just arbitrary.
-+#
-+# NEW SIGNATURE: if p0f reported a special value of 'Snn', the number
-+# appears to be a multiple of MSS (MSS*nn); a special value of 'Tnn'
-+# means it is a multiple of MTU ((MSS+40)*nn). Unless you notice the
-+# value of nn is not fixed (unlikely), just copy the Snn or Tnn token
-+# literally. If you know this device has a simple stack and a fixed
-+# MTU, you can however multiply S value by MSS, or T value by MSS+40,
-+# and put it instead of Snn or Tnn.
-+#
-+# If WSS otherwise looks like a fixed value (for example a multiple
-+# of two), or if you can confirm the value is fixed, please quote
-+# it literally. If there's no apparent pattern in WSS chosen, you
-+# should consider wildcarding this value.
-+#
-+# - Overall packet size - a function of all IP and TCP options and bugs.
-+#
-+# NEW SIGNATURE: Copy this value literally.
-+#
-+# - Initial TTL - We check the actual TTL of a received packet. It can't
-+# be higher than the initial TTL, and also shouldn't be dramatically
-+# lower (maximum distance is defined as 40 hops).
-+#
-+# NEW SIGNATURE: *Never* copy TTL from a p0f-reported signature literally.
-+# You need to determine the initial TTL. The best way to do it is to
-+# check the documentation for a remote system, or check its settings.
-+# A fairly good method is to simply round the observed TTL up to
-+# 32, 64, 128, or 255, but it should be noted that some obscure devices
-+# might not use round TTLs (in particular, some shoddy appliances use
-+# "original" initial TTL settings). If not sure, you can see how many
-+# hops you're away from the remote party with traceroute or mtr.
-+#
-+# - Don't fragment flag (DF) - some modern OSes set this to implement PMTU
-+# discovery. Others do not bother.
-+#
-+# NEW SIGNATURE: Copy this value literally.
-+#
-+# - Maximum segment size (MSS) - this setting is usually link-dependent. P0f
-+# uses it to determine link type of the remote host.
-+#
-+# NEW SIGNATURE: Always wildcard this value, except for rare cases when
-+# you have an appliance with a fixed value, know the system supports only
-+# a very limited number of network interface types, or know the system
-+# is using a value it pulled out of nowhere. Specific unique MSS
-+# can be used to tell Google crawlbots from the rest of the population.
-+#
-+# - Window scaling (WSCALE) - this feature is used to scale WSS.
-+# It extends the size of a TCP/IP window to 32 bits. Some modern
-+# systems implement this feature.
-+#
-+# NEW SIGNATURE: Observe several signatures. Initial WSCALE is often set
-+# to zero or other low value. There's usually no need to wildcard this
-+# parameter.
-+#
-+# - Timestamp - some systems that implement timestamps set them to
-+# zero in the initial SYN. This case is detected and handled appropriately.
-+#
-+# - Selective ACK permitted - a flag set by systems that implement
-+# selective ACK functionality.
-+#
-+# - The sequence of TCP all options (MSS, window scaling, selective ACK
-+# permitted, timestamp, NOP). Other than the options previously
-+# discussed, p0f also checks for timestamp option (a silly
-+# extension to broadcast your uptime ;-), NOP options (used for
-+# header padding) and sackOK option (selective ACK feature).
-+#
-+# NEW SIGNATURE: Copy the sequence literally.
-+#
-+# To wildcard any value (except for initial TTL or TCP options), replace
-+# it with '*'. You can also use a modulo operator to match any values
-+# that divide by nnn - '%nnn'.
-+#
-+# Fingerprint entry format:
-+#
-+# wwww:ttt:D:ss:OOO...:OS:Version:Subtype:Details
-+#
-+# wwww - window size (can be *, %nnn, Snn or Tnn). The special values
-+# "S" and "T" which are a multiple of MSS or a multiple of MTU
-+# respectively.
-+# ttt - initial TTL
-+# D - don't fragment bit (0 - not set, 1 - set)
-+# ss - overall SYN packet size
-+# OOO - option value and order specification (see below)
-+# OS - OS genre (Linux, Solaris, Windows)
-+# Version - OS Version (2.0.27 on x86, etc)
-+# Subtype - OS subtype or patchlevel (SP3, lo0)
-+# details - Generic OS details
-+#
-+# If OS genre starts with '*', p0f will not show distance, link type
-+# and timestamp data. It is useful for userland TCP/IP stacks of
-+# network scanners and so on, where many settings are randomized or
-+# bogus.
-+#
-+# If OS genre starts with @, it denotes an approximate hit for a group
-+# of operating systems (signature reporting still enabled in this case).
-+# Use this feature at the end of this file to catch cases for which
-+# you don't have a precise match, but can tell it's Windows or FreeBSD
-+# or whatnot by looking at, say, flag layout alone.
-+#
-+# Option block description is a list of comma or space separated
-+# options in the order they appear in the packet:
-+#
-+# N - NOP option
-+# Wnnn - window scaling option, value nnn (or * or %nnn)
-+# Mnnn - maximum segment size option, value nnn (or * or %nnn)
-+# S - selective ACK OK
-+# T - timestamp
-+# T0 - timestamp with a zero value
-+#
-+# To denote no TCP options, use a single '.'.
-+#
-+# Please report any additions to this file, or any inaccuracies or
-+# problems spotted, to the maintainers: lcamtuf@coredump.cx,
-+# frantzen@openbsd.org and bugs@openbsd.org with a tcpdump packet
-+# capture of the relevant SYN packet(s)
-+#
-+# WARNING WARNING WARNING
-+# -----------------------
-+#
-+# Do not add a system X as OS Y just because NMAP says so. It is often
-+# the case that X is a NAT firewall. While nmap is talking to the
-+# device itself, p0f is fingerprinting the guy behind the firewall
-+# instead.
-+#
-+# When in doubt, use common sense, don't add something that looks like
-+# a completely different system as Linux or FreeBSD or LinkSys router.
-+# Check DNS name, establish a connection to the remote host and look
-+# at SYN+ACK - does it look similar?
-+#
-+# Some users tweak their TCP/IP settings - enable or disable RFC1323
-+# functionality, enable or disable timestamps or selective ACK,
-+# disable PMTU discovery, change MTU and so on. Always compare a new rule
-+# to other fingerprints for this system, and verify the system isn't
-+# "customized" before adding it. It is OK to add signature variants
-+# caused by a commonly used software (personal firewalls, security
-+# packages, etc), but it makes no sense to try to add every single
-+# possible /proc/sys/net/ipv4 tweak on Linux or so.
-+#
-+# KEEP IN MIND: Some packet firewalls configured to normalize outgoing
-+# traffic (OpenBSD pf with "scrub" enabled, for example) will, well,
-+# normalize packets. Signatures will not correspond to the originating
-+# system (and probably not quite to the firewall either).
-+#
-+# NOTE: Try to keep this file in some reasonable order, from most to
-+# least likely systems. This will speed up operation. Also keep most
-+# generic and broad rules near the end.
-+#
-+
-+##########################
-+# Standard OS signatures #
-+##########################
-+
-+# ----------------- AIX ---------------------
-+
-+# AIX is first because its signatures are close to NetBSD, MacOS X and
-+# Linux 2.0, but it uses a fairly rare MSSes, at least sometimes...
-+# This is a shoddy hack, though.
-+
-+16384:64:0:44:M512: AIX:4.3:2-3:AIX 4.3.2 and earlier
-+
-+16384:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2
-+16384:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2
-+32768:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2
-+32768:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2
-+65535:64:0:60:M512,N,W%2,N,N,T: AIX:4.3:3:AIX 4.3.3-5.2
-+65535:64:0:60:M512,N,W%2,N,N,T: AIX:5.1-5.2::AIX 4.3.3-5.2
-+65535:64:0:64:M*,N,W1,N,N,T,N,N,S: AIX:5.3:ML1:AIX 5.3 ML1
-+
-+# ----------------- Linux -------------------
-+
-+512:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x
-+16384:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x
-+
-+# Endian snafu! Nelson says "ha-ha":
-+2:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x (MkLinux) on Mac
-+64:64:0:44:M*: Linux:2.0:3x:Linux 2.0.3x (MkLinux) on Mac
-+
-+
-+S4:64:1:60:M1360,S,T,N,W0: Linux:google::Linux (Google crawlbot)
-+
-+S2:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4 (big boy)
-+S3:64:1:60:M*,S,T,N,W0: Linux:2.4:18-21:Linux 2.4.18 and newer
-+S4:64:1:60:M*,S,T,N,W0: Linux:2.4::Linux 2.4/2.6
-+S4:64:1:60:M*,S,T,N,W0: Linux:2.6::Linux 2.4/2.6
-+
-+S3:64:1:60:M*,S,T,N,W1: Linux:2.5::Linux 2.5
-+S4:64:1:60:M*,S,T,N,W1: Linux:2.5-2.6::Linux 2.5/2.6
-+
-+S20:64:1:60:M*,S,T,N,W0: Linux:2.2:20-25:Linux 2.2.20 and newer
-+S22:64:1:60:M*,S,T,N,W0: Linux:2.2::Linux 2.2
-+S11:64:1:60:M*,S,T,N,W0: Linux:2.2::Linux 2.2
-+
-+# Popular cluster config scripts disable timestamps and
-+# selective ACK:
-+S4:64:1:48:M1460,N,W0: Linux:2.4:cluster:Linux 2.4 in cluster
-+
-+# This needs to be investigated. On some systems, WSS
-+# is selected as a multiple of MTU instead of MSS. I got
-+# many submissions for this for many late versions of 2.4:
-+T4:64:1:60:M1412,S,T,N,W0: Linux:2.4::Linux 2.4 (late, uncommon)
-+
-+# This happens only over loopback, but let's make folks happy:
-+32767:64:1:60:M16396,S,T,N,W0: Linux:2.4:lo0:Linux 2.4 (local)
-+S8:64:1:60:M3884,S,T,N,W0: Linux:2.2:lo0:Linux 2.2 (local)
-+
-+# Opera visitors:
-+16384:64:1:60:M*,S,T,N,W0: Linux:2.2:Opera:Linux 2.2 (Opera?)
-+32767:64:1:60:M*,S,T,N,W0: Linux:2.4:Opera:Linux 2.4 (Opera?)
-+
-+# Some fairly common mods:
-+S4:64:1:52:M*,N,N,S,N,W0: Linux:2.4:ts:Linux 2.4 w/o timestamps
-+S22:64:1:52:M*,N,N,S,N,W0: Linux:2.2:ts:Linux 2.2 w/o timestamps
-+
-+
-+# ----------------- FreeBSD -----------------
-+
-+16384:64:1:44:M*: FreeBSD:2.0-2.2::FreeBSD 2.0-4.1
-+16384:64:1:44:M*: FreeBSD:3.0-3.5::FreeBSD 2.0-4.1
-+16384:64:1:44:M*: FreeBSD:4.0-4.1::FreeBSD 2.0-4.1
-+16384:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4
-+
-+1024:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.4::FreeBSD 4.4
-+
-+57344:64:1:44:M*: FreeBSD:4.6-4.8:noRFC1323:FreeBSD 4.6-4.8 (no RFC1323)
-+57344:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.6-4.8::FreeBSD 4.6-4.8
-+
-+32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.9::FreeBSD 4.8-5.1 (or MacOS X)
-+32768:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X)
-+65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:4.8-4.9::FreeBSD 4.8-5.1 (or MacOS X)
-+65535:64:1:60:M*,N,W0,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.8-5.1 (or MacOS X)
-+65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:4.7-4.9::FreeBSD 4.7-5.1
-+65535:64:1:60:M*,N,W1,N,N,T: FreeBSD:5.0-5.1::FreeBSD 4.7-5.1
-+
-+# 16384:64:1:60:M*,N,N,N,N,N,N,T:FreeBSD:4.4:noTS:FreeBSD 4.4 (w/o timestamps)
-+
-+# ----------------- NetBSD ------------------
-+
-+65535:64:0:60:M*,N,W0,N,N,T0: NetBSD:1.6:opera:NetBSD 1.6 (Opera)
-+16384:64:0:60:M*,N,W0,N,N,T0: NetBSD:1.6::NetBSD 1.6
-+16384:64:1:60:M*,N,W0,N,N,T0: NetBSD:1.6:df:NetBSD 1.6 (DF)
-+16384:64:0:60:M*,N,W0,N,N,T: NetBSD:1.3::NetBSD 1.3
-+65535:64:1:60:M*,N,W1,N,N,T0: NetBSD:1.6::NetBSD 1.6W-current (DF)
-+
-+# ----------------- OpenBSD -----------------
-+
-+16384:64:0:60:M*,N,W0,N,N,T: OpenBSD:2.6::NetBSD 1.3 (or OpenBSD 2.6)
-+16384:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.4::OpenBSD 3.0-3.4
-+16384:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.4:no-df:OpenBSD 3.0-3.4 (scrub no-df)
-+57344:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-3.4::OpenBSD 3.3-3.4
-+57344:64:0:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.3-3.4:no-df:OpenBSD 3.3-3.4 (scrub no-df)
-+
-+65535:64:1:64:M*,N,N,S,N,W0,N,N,T: OpenBSD:3.0-3.4:opera:OpenBSD 3.0-3.4 (Opera)
-+
-+# ----------------- Solaris -----------------
-+
-+S17:64:1:64:N,W3,N,N,T0,N,N,S,M*: Solaris:8:RFC1323:Solaris 8 RFC1323
-+S17:64:1:48:N,N,S,M*: Solaris:8::Solaris 8
-+S17:255:1:44:M*: Solaris:2.5-2.7::Solaris 2.5 to 7
-+
-+S6:255:1:44:M*: Solaris:2.6-2.7::Solaris 2.6 to 7
-+S23:255:1:44:M*: Solaris:2.5:1:Solaris 2.5.1
-+S34:64:1:48:M*,N,N,S: Solaris:2.9::Solaris 9
-+S44:255:1:44:M*: Solaris:2.7::Solaris 7
-+
-+# ----------------- IRIX --------------------
-+
-+49152:64:0:44:M*: IRIX:6.4::IRIX 6.4
-+61440:64:0:44:M*: IRIX:6.2-6.5::IRIX 6.2-6.5
-+49152:64:0:52:M*,N,W2,N,N,S: IRIX:6.5:RFC1323:IRIX 6.5 (RFC1323)
-+49152:64:0:52:M*,N,W3,N,N,S: IRIX:6.5:RFC1323:IRIX 6.5 (RFC1323)
-+
-+61440:64:0:48:M*,N,N,S: IRIX:6.5:12-21:IRIX 6.5.12 - 6.5.21
-+49152:64:0:48:M*,N,N,S: IRIX:6.5:15-21:IRIX 6.5.15 - 6.5.21
-+
-+# ----------------- Tru64 -------------------
-+
-+32768:64:1:48:M*,N,W0: Tru64:4.0::Tru64 4.0
-+32768:64:0:48:M*,N,W0: Tru64:5.0::Tru64 5.0
-+8192:64:0:44:M1460: Tru64:5.1:noRFC1323:Tru64 6.1 (no RFC1323) (or QNX 6)
-+
-+# This looks awfully Linuxish :/
-+# S22:64:0:60:M*,S,T,N,W0: Tru64:5.0:a:Tru64 5.0a
-+
-+61440:64:0:48:M*,N,W0: Tru64:5.1a:JP4:Tru64 v5.1a JP4 (or OpenVMS 7.x on Compaq 5.x stack)
-+
-+
-+# ----------------- OpenVMS -----------------
-+
-+6144:64:1:60:M*,N,W0,N,N,T: OpenVMS:7.2::OpenVMS 7.2 (Multinet 4.4 stack)
-+
-+# ----------------- MacOS -------------------
-+
-+16616:255:1:48:M*,W0: MacOS:7.3-7.6:OTTCP:MacOS 7.3-8.6 (OTTCP)
-+16616:255:1:48:M*,W0: MacOS:8.0-8.6:OTTCP:MacOS 7.3-8.6 (OTTCP)
-+32768:255:1:48:M*,W0,N: MacOS:9.1-9.2::MacOS 9.1/9.2
-+32768:64:0:60:M*,N,W0,N,N,T: MacOS:X:10.2:MacOS X 10.2
-+
-+# ----------------- Windows -----------------
-+
-+# Windows 95 - need more:
-+
-+8192:32:1:44:M*: Windows:95::Windows 95 (low TTL)
-+
-+# Windows 98 - plenty of silly signatures:
-+S44:32:1:48:M*,N,N,S: Windows:98::Windows 98 (low TTL)
-+8192:32:1:48:M*,N,N,S: Windows:98::Windows 98 (low TTL)
-+
-+%8192:64:1:48:M*,N,N,S: Windows:98::Windows 98 (or newer XP/2000 with tweaked TTL)
-+S4:64:1:48:M*,N,N,S: Windows:98::Windows 98
-+S6:64:1:48:M*,N,N,S: Windows:98::Windows 98
-+S12:64:1:48:M*,N,N,S: Windows:98::Windows 98
-+32767:64:1:48:M*,N,N,S: Windows:98::Windows 98
-+37300:64:1:48:M*,N,N,S: Windows:98::Windows 98
-+46080:64:1:52:M*,N,W3,N,N,S: Windows:98:RFC1323:Windows 98 (RFC1323)
-+65535:64:1:44:M*: Windows:98:noSACK:Windows 98 (no sack)
-+
-+S16:128:1:48:M*,N,N,S: Windows:98::Windows 98
-+S16:128:1:64:M*,N,W0,N,N,T0,N,N,S: Windows:98::Windows 98
-+S26:128:1:48:M*,N,N,S: Windows:98::Windows 98
-+T30:128:1:48:M*,N,N,S: Windows:98::Windows 98
-+32767:128:1:52:M*,N,W0,N,N,S: Windows:98::Windows 98
-+60352:128:1:48:M*,N,N,S: Windows:98::Windows 98
-+60352:128:1:64:M*,N,W2,N,N,T0,N,N,S: Windows:98::Windows 98
-+
-+# Windows NT 4.0 - need more:
-+
-+64512:128:1:44:M1414: Windows:NT:4.0:Windows NT 4.0 SP6a
-+8192:128:1:44:M*: Windows:NT:4.0:Windows NT 4.0 (older)
-+6144:128:1:52:M*,W0,N,S,N,N: Windows:NT:4.0:Windows NT 4.0 (RFC1323)
-+
-+# Windows XP and 2000. Most of the signatures that were
-+# either dubious or non-specific (no service pack data)
-+# were deleted and replaced with generics at the end.
-+
-+65535:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4, XP SP1
-+%8192:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4, XP SP1
-+S45:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows 2000 SP4
-+S6:128:1:48:M*,N,N,S: Windows:2000:SP4:Windows XP SP1, 2000 SP4
-+S44:128:1:48:M*,N,N,S: Windows:2000:SP3:Windows XP Pro SP1, 2000 SP3
-+
-+S6:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows XP SP1, 2000 SP4
-+S44:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows XP Pro SP1, 2000 SP3
-+64512:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows XP SP1
-+32767:128:1:48:M1452,N,N,S: Windows:XP:SP1:Windows XP SP1
-+65535:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows 2000 SP4, XP SP1
-+%8192:128:1:48:M*,N,N,S: Windows:XP:SP1:Windows 2000 SP4, XP SP1
-+
-+# Odds, ends, mods:
-+
-+S52:128:1:48:M1260,N,N,S: Windows:XP:Cisco:Windows XP/2000 via Cisco
-+S52:128:1:48:M1260,N,N,S: Windows:2000:Cisco:Windows XP/2000 via Cisco
-+
-+# HUNT DOWN:
-+# *:128:1:48:M*,N,N,S:U:@Windows:XP (leak) (PLEASE REPORT)
-+
-+# ----------------- HP/UX -------------------
-+
-+32768:64:1:44:M*: HP-UX:B.10.20::HP-UX B.10.20
-+32768:64:0:48:M*,W0,N: HP-UX:11.0::HP-UX 11.0
-+32768:64:1:48:M*,W0,N: HP-UX:11.10::HP-UX 11.0 or 11.11
-+32768:64:1:48:M*,W0,N: HP-UX:11.11::HP-UX 11.0 or 11.11
-+
-+# Whoa. Hardcore WSS.
-+0:64:0:48:M*,W0,N: HP-UX:B.11.00:A:HP-UX B.11.00 A (RFC1323)
-+
-+
-+# ----------------- RiscOS ------------------
-+
-+# We don't yet support the ?12 TCP option
-+#16384:64:1:68:M1460,N,W0,N,N,T,N,N,?12: RISCOS:3.70-4.36::RISC OS 3.70-4.36
-+
-+# ----------------- BSD/OS ------------------
-+
-+# Once again, power of two WSS is also shared by MacOS X with DF set
-+8192:64:1:60:M1460,N,W0,N,N,T: BSD/OS:3.1::BSD/OS 3.1-4.3 (or MacOS X 10.2 w/DF)
-+8192:64:1:60:M1460,N,W0,N,N,T: BSD/OS:4.0-4.3::BSD/OS 3.1-4.3 (or MacOS X 10.2)
-+
-+
-+# ---------------- NewtonOS -----------------
-+
-+4096:64:0:44:M1420: NewtonOS:2.1::NewtonOS 2.1
-+
-+# ---------------- NeXTSTEP -----------------
-+
-+S8:64:0:44:M512: NeXTSTEP:3.3::NeXTSTEP 3.3
-+
-+# ------------------ BeOS -------------------
-+
-+1024:255:0:48:M*,N,W0: BeOS:5.0-5.1::BeOS 5.0-5.1
-+12288:255:0:44:M1402: BeOS:5.0::BeOS 5.0.x
-+
-+# ------------------ OS/400 -----------------
-+
-+8192:64:1:60:M1440,N,W0,N,N,T: OS/400:VR4::OS/400 VR4/R5
-+8192:64:1:60:M1440,N,W0,N,N,T: OS/400:VR5::OS/400 VR4/R5
-+4096:64:1:60:M1440,N,W0,N,N,T: OS/400:V4R5:CF67032:OS/400 V4R5 + CF67032
-+
-+
-+# ------------------ ULTRIX -----------------
-+
-+16384:64:0:40:.: ULTRIX:4.5::ULTRIX 4.5
-+
-+# ------------------- QNX -------------------
-+
-+S16:64:0:44:M512: QNX:::QNX demodisk
-+
-+# ------------------ Novell -----------------
-+
-+16384:128:1:44:M1460: Novell:NetWare:5.0:Novel Netware 5.0
-+6144:128:1:44:M1460: Novell:IntranetWare:4.11:Novell IntranetWare 4.11
-+
-+# ----------------- SCO ------------------
-+S17:64:1:44:M1460: SCO:Unixware:7.0:SCO Unixware 7.0.0 or OpenServer 5.0.4-5.06
-+S17:64:1:44:M1460: SCO:OpenServer:5.0:SCO Unixware 7.0.0 or OpenServer 5.0.4-5.06
-+S3:64:1:60:M1460,N,W0,N,N,T: SCO:UnixWare:7.1:SCO UnixWare 7.1
-+
-+# ------------------- DOS -------------------
-+
-+2048:255:0:44:M536: DOS:WATTCP:1.05:DOS Arachne via WATTCP/1.05
-+
-+###########################################
-+# Appliance / embedded / other signatures #
-+###########################################
-+
-+# ---------- Firewalls / routers ------------
-+
-+S12:64:1:44:M1460: @Checkpoint:::Checkpoint (unknown 1)
-+S12:64:1:48:N,N,S,M1460: @Checkpoint:::Checkpoint (unknown 2)
-+4096:32:0:44:M1460: ExtremeWare:4.x::ExtremeWare 4.x
-+60352:64:0:52:M1460,N,W2,N,N,S: Clavister:7::Clavister firewall 7.x
-+
-+# ------- Switches and other stuff ----------
-+
-+4128:255:0:44:M*: Cisco:::Cisco Catalyst 3500, 7500 etc
-+S8:255:0:44:M*: Cisco:12008::Cisco 12008
-+60352:128:1:64:M1460,N,W2,N,N,T,N,N,S: Alteon:ACEswitch::Alteon ACEswitch
-+64512:128:1:44:M1370: Nortel:Contivity Client::Nortel Conectivity Client
-+
-+
-+# ---------- Caches and whatnots ------------
-+
-+S4:64:1:52:M1460,N,N,S,N,W0: AOL:web cache::AOL web cache
-+
-+32850:64:1:64:N,W1,N,N,T,N,N,S,M*: NetApp:5.x::NetApp Data OnTap 5.x
-+16384:64:1:64:M1460,N,N,S,N,W0,N: NetApp:5.3:1:NetApp 5.3.1
-+65535:64:0:64:M1460,N,N,S,N,W3,N,N,T: NetApp:5.3:1:NetApp 5.3.1
-+65535:64:0:60:M1460,N,W0,N,N,T: NetApp:CacheFlow::NetApp CacheFlow
-+8192:64:1:64:M1460,N,N,S,N,W0,N,N,T: NetApp:5.2:1:NetApp NetCache 5.2.1
-+
-+S4:64:0:48:M1460,N,N,S: Cisco:Content Engine::Cisco Content Engine
-+
-+27085:128:0:40:.: Dell:PowerApp cache::Dell PowerApp (Linux-based)
-+
-+65535:255:1:48:N,W1,M1460: Inktomi:crawler::Inktomi crawler
-+S1:255:1:60:M1460,S,T,N,W0: LookSmart:ZyBorg::LookSmart ZyBorg
-+
-+
-+16384:255:0:40:.: Proxyblocker:::Proxyblocker (what's this?)
-+
-+# ----------- Embedded systems --------------
-+
-+S9:255:0:44:M536: PalmOS:Tungsten:C:PalmOS Tungsten C
-+S5:255:0:44:M536: PalmOS:3::PalmOS 3/4
-+S5:255:0:44:M536: PalmOS:4::PalmOS 3/4
-+S4:255:0:44:M536: PalmOS:3:5:PalmOS 3.5
-+2948:255:0:44:M536: PalmOS:3:5:PalmOS 3.5.3 (Handera)
-+
-+S23:64:1:64:N,W1,N,N,T,N,N,S,M1460: SymbianOS:7::SymbianOS 7
-+8192:255:0:44:M1460: SymbianOS:6048::SymbianOS 6048 (on Nokia 7650?)
-+8192:255:0:44:M536: SymbianOS:::SymbianOS (on Nokia 9210?)
-+
-+
-+# Perhaps S4?
-+5840:64:1:60:M1452,S,T,N,W1: Zaurus:3.10::Zaurus 3.10
-+
-+32768:128:1:64:M1460,N,W0,N,N,T0,N,N,S: PocketPC:2002::PocketPC 2002
-+
-+S1:255:0:44:M346: Contiki:1.1:rc0:Contiki 1.1-rc0
-+
-+4096:128:0:44:M1460: Sega:Dreamcast:3.0:Sega Dreamcast Dreamkey 3.0
-+
-+S12:64:0:44:M1452: AXIS:5600:v5.64:AXIS Printer Server 5600 v5.64
-+
-+
-+
-+####################
-+# Fancy signatures #
-+####################
-+
-+1024:64:0:40:.: *NMAP:syn scan:1:NMAP syn scan (1)
-+2048:64:0:40:.: *NMAP:syn scan:2:NMAP syn scan (2)
-+3072:64:0:40:.: *NMAP:syn scan:3:NMAP syn scan (3)
-+4096:64:0:40:.: *NMAP:syn scan:4:NMAP syn scan (4)
-+
-+1024:64:0:60:W10,N,M265,T: *NMAP:OS:1:NMAP OS detection probe (1)
-+2048:64:0:60:W10,N,M265,T: *NMAP:OS:2:NMAP OS detection probe (2)
-+3072:64:0:60:W10,N,M265,T: *NMAP:OS:3:NMAP OS detection probe (3)
-+4096:64:0:60:W10,N,M265,T: *NMAP:OS:4:NMAP OS detection probe (4)
-+
-+#####################################
-+# Generic signatures - just in case #
-+#####################################
-+
-+#*:64:1:60:M*,N,W*,N,N,T: @FreeBSD:4.0-4.9::FreeBSD 4.x/5.x
-+#*:64:1:60:M*,N,W*,N,N,T: @FreeBSD:5.0-5.1::FreeBSD 4.x/5.x
-+
-+*:128:1:52:M*,N,W0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323 no tstamp)
-+*:128:1:52:M*,N,W0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323 no tstamp)
-+*:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP/2000 (RFC1323)
-+*:128:1:64:M*,N,W0,N,N,T0,N,N,S: @Windows:2000:RFC1323:Windows XP/2000 (RFC1323)
-+*:128:1:64:M*,N,W*,N,N,T0,N,N,S: @Windows:XP:RFC1323:Windows XP (RFC1323, w+)
-+*:128:1:48:M*,N,N,S: @Windows:XP::Windows XP/2000
-+*:128:1:48:M*,N,N,S: @Windows:2000::Windows XP/2000
-+
-+
-diff -ruN /usr/ports/security/pf/pkg-plist pf/pkg-plist
---- /usr/ports/security/pf/pkg-plist Fri Jun 13 03:09:29 2003
-+++ pf/pkg-plist Sat Sep 27 14:34:16 2003
-@@ -9,14 +9,26 @@
- sbin/pfctl
- sbin/pflogd
- sbin/pftcpdump
--sbin/pftop
-
- etc/rc.d/pf.sh.sample
- etc/pf.conf.default
-+etc/pf.os
-
- include/pf/net/pfvar.h
- include/pf/net/if_pflog.h
- include/pf/net/if_pfsync.h
-+%%WITH_ALTQ%%include/pf/altq/altq.h
-+%%WITH_ALTQ%%include/pf/altq/altq_cbq.h
-+%%WITH_ALTQ%%include/pf/altq/altq_cdnr.h
-+%%WITH_ALTQ%%include/pf/altq/altq_classq.h
-+%%WITH_ALTQ%%include/pf/altq/altq_hfsc.h
-+%%WITH_ALTQ%%include/pf/altq/altq_priq.h
-+%%WITH_ALTQ%%include/pf/altq/altq_red.h
-+%%WITH_ALTQ%%include/pf/altq/altq_rio.h
-+%%WITH_ALTQ%%include/pf/altq/altq_rmclass.h
-+%%WITH_ALTQ%%include/pf/altq/altq_rmclass_debug.h
-+%%WITH_ALTQ%%include/pf/altq/altq_var.h
-+%%WITH_ALTQ%%include/pf/altq/if_altq.h
-
- @dirrm modules
- @dirrm include/pf/net