Index: HISTORY =================================================================== RCS file: /devel/CVS/IP-Filter/HISTORY,v retrieving revision 2.0.1.10 retrieving revision 2.0.1.11 diff -c -r2.0.1.10 -r2.0.1.11 *** 2.0.1.10 1997/03/08 03:23:24 --- 2.0.1.11 1997/03/23 05:23:52 *************** *** 5,10 **** --- 5,38 ---- # Thanks to Craig Bishop of connect.com.au and Sun Microsystems for the # loan of a machine to work on a Solaris 2.x port of this software. # + 3.1.10 23/3/97 - Released + + ipfstat -a requires a -i or -o command line option too. Print an error + when not present rather than attempt to do something. + + patch updates for SunOS4 for kernel compiling. + patch for ipmon -s (flush's syslog file which isn't good). Andrew J. Schorr + + + too many people hit their heads hard when compiling code into the kernel + that doesn't let any packets through. (fil.c - IPF_NOMATCH) + + icmp-type parsing doesn't return any errors when it isn't constructed + correctly. Neil Readwin + + Using "-conf" with modload on SunOS4 doesn't work. + Timothy Demarest + + Need to define ARCH in makefile for SunOS4 building. "make sunos4" + in INSTALL.SunOS is incorrect. James R Grinter + [all SunOS targets now run buildsunos] + + NAT lookups are still incorrect, matching non-TCP/UDP with TCP/UDP + information. ArkanoiD + + Need to check for __FreeBSD_version being 199511 rather than 199607 + in mln_ipl.c. Eric Feillant + 3.1.9 8/3/97 - Released fixed incorrect lookup of active NAT entries. Index: INSTALL.SunOS =================================================================== RCS file: /devel/CVS/IP-Filter/INSTALL.SunOS,v retrieving revision 2.0.1.1 retrieving revision 2.0.1.2 diff -c -r2.0.1.1 -r2.0.1.2 *** 2.0.1.1 1997/01/09 15:14:42 --- 2.0.1.2 1997/03/20 10:22:58 *************** *** 1,7 **** To install as a Loadable Kernel Module (LKM): ! 1. do a "make sunos4" in this directory 2. Run the script "SunOS4/minstall" as root. --- 1,7 ---- To install as a Loadable Kernel Module (LKM): ! 1. do a "make solaris" in this directory 2. Run the script "SunOS4/minstall" as root. *************** *** 22,28 **** To install as part of a SunOS 4.1.x kernel: ! 1. do a "make sunos4" in this directory 2. Run the script "SunOS4/kinstall" as root. NOTE: This script sets up /dev/ipl as char. device 59,0 --- 22,28 ---- To install as part of a SunOS 4.1.x kernel: ! 1. do a "make solaris" in this directory 2. Run the script "SunOS4/kinstall" as root. NOTE: This script sets up /dev/ipl as char. device 59,0 Index: Makefile =================================================================== RCS file: /devel/CVS/IP-Filter/Makefile,v retrieving revision 2.0.1.5 retrieving revision 2.0.1.6 diff -c -r2.0.1.5 -r2.0.1.6 *** 2.0.1.5 1997/02/16 06:17:04 --- 2.0.1.6 1997/03/23 05:19:45 *************** *** 5,11 **** # and is not changed in any way. The author accepts no responsibility # for the use of this software. I hate legaleese, don't you ? # ! # $Id: Makefile,v 2.0.1.5 1997/02/16 06:17:04 darrenr Exp $ # # where to put things. # --- 5,11 ---- # and is not changed in any way. The author accepts no responsibility # for the use of this software. I hate legaleese, don't you ? # ! # $Id: Makefile,v 2.0.1.6 1997/03/23 05:19:45 darrenr Exp $ # # where to put things. # *************** *** 16,21 **** --- 16,22 ---- DEBUG=-g CFLAGS=-I$$(TOP) DCPU=`uname -m` + ARCH=`uname -m` # # To enable this to work as a Loadable Kernel Module... # *************** *** 63,82 **** @if [ -d test ]; then (cd test; make) \ else echo test directory not present, sorry; fi ! sunos solaris: ./buildsunos - - sunos4 solaris1: - (cd SunOS4; make build TOP=.. $(MFLAGS); cd ..) - (cd SunOS4; make -f Makefile.ipsend TOP=.. $(MFLAGS); cd ..) - - sunos5 solaris2: - (cd SunOS5/$(DCPU); make build TOP=../.. $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Dsparc -D__sparc__"; cd ..) - (cd SunOS5/$(DCPU); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) - - sunos5x86 solaris2x86: - (cd SunOS5/$(DCPU); make build TOP=../.. $(MFLAGS) "SOLARIS2=$(SOLARIS2)" "CPU=-Di86pc -Di386 -D__i386__"; cd ..) - (cd SunOS5/$(DCPU); make -f Makefile.ipsend TOP=../.. $(MFLAGS); cd ..) bsd netbsd freebsd: -if [ ! -d BSD/$(DCPU) ] ; then mkdir BSD/$(DCPU); fi --- 64,71 ---- @if [ -d test ]; then (cd test; make) \ else echo test directory not present, sorry; fi ! sunos solaris sunos4 solaris1 sunos5 solaris2 sunos5x86 solaris2x86: ./buildsunos bsd netbsd freebsd: -if [ ! -d BSD/$(DCPU) ] ; then mkdir BSD/$(DCPU); fi Index: fil.c =================================================================== RCS file: /devel/CVS/IP-Filter/fil.c,v retrieving revision 2.0.1.7 retrieving revision 2.0.1.9 diff -c -r2.0.1.7 -r2.0.1.9 *** 2.0.1.7 1997/02/18 10:53:47 --- 2.0.1.9 1997/03/23 05:01:07 *************** *** 7,13 **** */ #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)fil.c 1.36 6/5/96 (C) 1993-1996 Darren Reed"; ! static char rcsid[] = "$Id: fil.c,v 2.0.1.7 1997/02/18 10:53:47 darrenr Exp $"; #endif #include --- 7,13 ---- */ #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)fil.c 1.36 6/5/96 (C) 1993-1996 Darren Reed"; ! static char rcsid[] = "$Id: fil.c,v 2.0.1.9 1997/03/23 05:01:07 darrenr Exp $"; #endif #include *************** *** 103,109 **** #ifdef IPF_DEFAULT_PASS #define IPF_NOMATCH (IPF_DEFAULT_PASS|FR_NOMATCH) #else ! #define IPF_NOMATCH (FR_NOMATCH) #endif struct filterstats frstats[2] = {{0,0,0,0,0},{0,0,0,0,0}}; --- 103,109 ---- #ifdef IPF_DEFAULT_PASS #define IPF_NOMATCH (IPF_DEFAULT_PASS|FR_NOMATCH) #else ! #define IPF_NOMATCH (FR_PASS|FR_NOMATCH) #endif struct filterstats frstats[2] = {{0,0,0,0,0},{0,0,0,0,0}}; *************** *** 608,614 **** } } ! if (fr && fr->fr_func) pass = (*fr->fr_func)(pass, ip, fin); if (out) { --- 608,614 ---- } } ! if (fr && fr->fr_func && !(pass & FR_CALLNOW)) pass = (*fr->fr_func)(pass, ip, fin); if (out) { Index: fils.c =================================================================== RCS file: /devel/CVS/IP-Filter/fils.c,v retrieving revision 2.0.1.2 retrieving revision 2.0.1.3 diff -c -r2.0.1.2 -r2.0.1.3 *** 2.0.1.2 1997/01/30 10:21:48 --- 2.0.1.3 1997/03/20 15:52:50 *************** *** 42,48 **** #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)fils.c 1.21 4/20/96 (C) 1993-1996 Darren Reed"; ! static char rcsid[] = "$Id: fils.c,v 2.0.1.2 1997/01/30 10:21:48 darrenr Exp $"; #endif #ifdef _PATH_UNIX #define VMUNIX _PATH_UNIX --- 42,48 ---- #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)fils.c 1.21 4/20/96 (C) 1993-1996 Darren Reed"; ! static char rcsid[] = "$Id: fils.c,v 2.0.1.3 1997/03/20 15:52:50 darrenr Exp $"; #endif #ifdef _PATH_UNIX #define VMUNIX _PATH_UNIX *************** *** 253,258 **** --- 253,262 ---- i++; } else if (opts & OPT_INQUE) fp = (struct frentry *)fiop->f_acctin[set]; + else { + FPRINTF(stderr, "No -i or -o given with -a\n"); + return; + } } else if (opts & OPT_OUTQUE) { i = F_OUT; fp = (struct frentry *)fiop->f_fout[set]; Index: ip_fil.c =================================================================== RCS file: /devel/CVS/IP-Filter/ip_fil.c,v retrieving revision 2.0.1.7 retrieving revision 2.0.1.8 diff -c -r2.0.1.7 -r2.0.1.8 *** 2.0.1.7 1997/02/19 12:45:02 --- 2.0.1.8 1997/03/20 15:51:56 *************** *** 7,13 **** */ #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)ip_fil.c 2.41 6/5/96 (C) 1993-1995 Darren Reed"; ! static char rcsid[] = "$Id: ip_fil.c,v 2.0.1.7 1997/02/19 12:45:02 darrenr Exp $"; #endif #include --- 7,13 ---- */ #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)ip_fil.c 2.41 6/5/96 (C) 1993-1995 Darren Reed"; ! static char rcsid[] = "$Id: ip_fil.c,v 2.0.1.8 1997/03/20 15:51:56 darrenr Exp $"; #endif #include *************** *** 365,380 **** { register frentry_t *fp, *f, **fprev; register frentry_t **ftail; ! frentry_t fr; frdest_t *fdp; - struct frentry frd; int error = 0, in; ! fp = &fr; IRCOPY(data, (caddr_t)fp, sizeof(*fp)); - bzero((char *)frcache, sizeof(frcache[0]) * 2); - in = (fp->fr_flags & FR_INQUE) ? 0 : 1; if (fp->fr_flags & FR_ACCOUNT) { ftail = fprev = &ipacct[in][set]; --- 365,377 ---- { register frentry_t *fp, *f, **fprev; register frentry_t **ftail; ! frentry_t frd; frdest_t *fdp; int error = 0, in; ! fp = &frd; IRCOPY(data, (caddr_t)fp, sizeof(*fp)); in = (fp->fr_flags & FR_INQUE) ? 0 : 1; if (fp->fr_flags & FR_ACCOUNT) { ftail = fprev = &ipacct[in][set]; *************** *** 383,390 **** else return ESRCH; ! IRCOPY((char *)fp, (char *)&frd, sizeof(frd)); ! fp = &frd; if (*fp->fr_ifname) { fp->fr_ifa = GETUNIT(fp->fr_ifname); if (!fp->fr_ifa) --- 380,387 ---- else return ESRCH; ! bzero((char *)frcache, sizeof(frcache[0]) * 2); ! if (*fp->fr_ifname) { fp->fr_ifa = GETUNIT(fp->fr_ifname); if (!fp->fr_ifa) *************** *** 701,707 **** #ifndef IPFILTER_LKM ! void iplinit() { (void) iplattach(); ip_init(); --- 698,709 ---- #ifndef IPFILTER_LKM ! # if BSD < 199306 ! int ! # else ! void ! # endif ! iplinit() { (void) iplattach(); ip_init(); Index: ip_nat.c =================================================================== RCS file: /devel/CVS/IP-Filter/ip_nat.c,v retrieving revision 2.0.1.12 retrieving revision 2.0.1.13 diff -c -r2.0.1.12 -r2.0.1.13 *** 2.0.1.12 1997/03/07 10:06:30 --- 2.0.1.13 1997/03/20 15:57:14 *************** *** 9,15 **** */ #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)ip_nat.c 1.11 6/5/96 (C) 1995 Darren Reed"; ! static char rcsid[] = "$Id: ip_nat.c,v 2.0.1.12 1997/03/07 10:06:30 darrenr Exp $"; #endif #if !defined(_KERNEL) && !defined(KERNEL) --- 9,15 ---- */ #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)ip_nat.c 1.11 6/5/96 (C) 1995 Darren Reed"; ! static char rcsid[] = "$Id: ip_nat.c,v 2.0.1.13 1997/03/20 15:57:14 darrenr Exp $"; #endif #if !defined(_KERNEL) && !defined(KERNEL) *************** *** 556,564 **** for (; nat; nat = nat->nat_hnext[1]) if (nat->nat_oip.s_addr == src.s_addr && nat->nat_outip.s_addr == mapdst.s_addr && ! ((flags == nat->nat_flags) || (flags && ! (nat->nat_oport == sport && ! nat->nat_outport == mapdport)))) return nat; return NULL; } --- 556,564 ---- for (; nat; nat = nat->nat_hnext[1]) if (nat->nat_oip.s_addr == src.s_addr && nat->nat_outip.s_addr == mapdst.s_addr && ! flags == nat->nat_flags && (!flags || ! (nat->nat_oport == sport && ! nat->nat_outport == mapdport))) return nat; return NULL; } *************** *** 583,590 **** for (; nat; nat = nat->nat_hnext[0]) if (nat->nat_inip.s_addr == src.s_addr && nat->nat_oip.s_addr == dst.s_addr && ! ((flags == nat->nat_flags) || (flags && ! (nat->nat_inport == sport && nat->nat_oport == dport)))) return nat; return NULL; } --- 583,590 ---- for (; nat; nat = nat->nat_hnext[0]) if (nat->nat_inip.s_addr == src.s_addr && nat->nat_oip.s_addr == dst.s_addr && ! flags == nat->nat_flags && (!flags || ! (nat->nat_inport == sport && nat->nat_oport == dport))) return nat; return NULL; } *************** *** 608,616 **** for (; nat; nat = nat->nat_hnext[0]) if (nat->nat_outip.s_addr == mapsrc.s_addr && nat->nat_oip.s_addr == dst.s_addr && ! ((flags == nat->nat_flags) || (flags && ! (nat->nat_outport == mapsport && ! nat->nat_oport == dport)))) return nat; return NULL; } --- 608,616 ---- for (; nat; nat = nat->nat_hnext[0]) if (nat->nat_outip.s_addr == mapsrc.s_addr && nat->nat_oip.s_addr == dst.s_addr && ! flags == nat->nat_flags && (!flags || ! (nat->nat_outport == mapsport && ! nat->nat_oport == dport))) return nat; return NULL; } Index: ip_nat.h =================================================================== RCS file: /devel/CVS/IP-Filter/ip_nat.h,v retrieving revision 2.0.1.8 retrieving revision 2.0.1.9 diff -c -r2.0.1.8 -r2.0.1.9 *** 2.0.1.8 1997/03/07 10:06:32 --- 2.0.1.9 1997/03/20 10:20:50 *************** *** 6,12 **** * to the original author and the contributors. * * @(#)ip_nat.h 1.5 2/4/96 ! * $Id: ip_nat.h,v 2.0.1.8 1997/03/07 10:06:32 darrenr Exp $ */ #ifndef __IP_NAT_H_ --- 6,12 ---- * to the original author and the contributors. * * @(#)ip_nat.h 1.5 2/4/96 ! * $Id: ip_nat.h,v 2.0.1.9 1997/03/20 10:20:50 darrenr Exp $ */ #ifndef __IP_NAT_H_ *************** *** 40,46 **** #define NAT_SIZE 367 typedef struct nat { ! int nat_age; int nat_flags; u_long nat_sumd; u_long nat_ipsumd; --- 40,46 ---- #define NAT_SIZE 367 typedef struct nat { ! u_long nat_age; int nat_flags; u_long nat_sumd; u_long nat_ipsumd; Index: ip_state.c =================================================================== RCS file: /devel/CVS/IP-Filter/ip_state.c,v retrieving revision 2.0.1.3 retrieving revision 2.0.1.4 diff -c -r2.0.1.3 -r2.0.1.4 *** 2.0.1.3 1997/02/16 06:18:36 --- 2.0.1.4 1997/03/20 10:20:51 *************** *** 7,13 **** */ #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)ip_state.c 1.8 6/5/96 (C) 1993-1995 Darren Reed"; ! static char rcsid[] = "$Id: ip_state.c,v 2.0.1.3 1997/02/16 06:18:36 darrenr Exp $"; #endif #if !defined(_KERNEL) && !defined(KERNEL) --- 7,13 ---- */ #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)ip_state.c 1.8 6/5/96 (C) 1993-1995 Darren Reed"; ! static char rcsid[] = "$Id: ip_state.c,v 2.0.1.4 1997/03/20 10:20:51 darrenr Exp $"; #endif #if !defined(_KERNEL) && !defined(KERNEL) *************** *** 459,465 **** * (pkrishna@netcom.com) */ void set_tcp_age(age, state, ip, fin, dir) ! int *age; u_char *state; ip_t *ip; fr_info_t *fin; --- 459,465 ---- * (pkrishna@netcom.com) */ void set_tcp_age(age, state, ip, fin, dir) ! u_long *age; u_char *state; ip_t *ip; fr_info_t *fin; Index: ip_state.h =================================================================== RCS file: /devel/CVS/IP-Filter/ip_state.h,v retrieving revision 2.0.1.1 retrieving revision 2.0.1.2 diff -c -r2.0.1.1 -r2.0.1.2 *** 2.0.1.1 1997/01/09 15:14:43 --- 2.0.1.2 1997/03/20 10:20:53 *************** *** 6,12 **** * to the original author and the contributors. * * @(#)ip_state.h 1.3 1/12/96 (C) 1995 Darren Reed ! * $Id: ip_state.h,v 2.0.1.1 1997/01/09 15:14:43 darrenr Exp $ */ #ifndef __IP_STATE_H__ #define __IP_STATE_H__ --- 6,12 ---- * to the original author and the contributors. * * @(#)ip_state.h 1.3 1/12/96 (C) 1995 Darren Reed ! * $Id: ip_state.h,v 2.0.1.2 1997/03/20 10:20:53 darrenr Exp $ */ #ifndef __IP_STATE_H__ #define __IP_STATE_H__ *************** *** 37,43 **** typedef struct ipstate { struct ipstate *is_next; ! int is_age; u_int is_pass; struct in_addr is_src; struct in_addr is_dst; --- 37,43 ---- typedef struct ipstate { struct ipstate *is_next; ! u_long is_age; u_int is_pass; struct in_addr is_src; struct in_addr is_dst; Index: ipl.h =================================================================== RCS file: /devel/CVS/IP-Filter/ipl.h,v retrieving revision 2.0.1.10 retrieving revision 2.0.1.11 diff -c -r2.0.1.10 -r2.0.1.11 *** 2.0.1.10 1997/03/08 03:23:25 --- 2.0.1.11 1997/03/23 05:23:53 *************** *** 11,16 **** #ifndef __IPL_H_ #define __IPL_H__ ! #define IPL_VERSION "IP Filter v3.1.9 - 8/3/97" #endif --- 11,16 ---- #ifndef __IPL_H_ #define __IPL_H__ ! #define IPL_VERSION "IP Filter v3.1.10 - 23/3/97" #endif Index: ipmon.c =================================================================== RCS file: /devel/CVS/IP-Filter/ipmon.c,v retrieving revision 2.0.1.2 retrieving revision 2.0.1.3 diff -c -r2.0.1.2 -r2.0.1.3 *** 2.0.1.2 1997/02/04 14:49:19 --- 2.0.1.3 1997/03/20 15:55:37 *************** *** 41,47 **** #include #if !defined(lint) && defined(LIBC_SCCS) ! static char rcsid[] = "$Id: ipmon.c,v 2.0.1.2 1997/02/04 14:49:19 darrenr Exp $"; #endif #include "ip_fil.h" --- 41,47 ---- #include #if !defined(lint) && defined(LIBC_SCCS) ! static char rcsid[] = "$Id: ipmon.c,v 2.0.1.3 1997/03/20 15:55:37 darrenr Exp $"; #endif #include "ip_fil.h" *************** *** 484,490 **** dumphex(log, buf, sizeof(struct ipl_ci)); if (opts & OPT_HEXBODY) dumphex(log, ip, lp->plen + lp->hlen); ! fflush(log); } int main(argc, argv) --- 484,491 ---- dumphex(log, buf, sizeof(struct ipl_ci)); if (opts & OPT_HEXBODY) dumphex(log, ip, lp->plen + lp->hlen); ! if (!(opts & OPT_SYSLOG)) ! fflush(log); } int main(argc, argv) Index: mln_ipl.c =================================================================== RCS file: /devel/CVS/IP-Filter/mln_ipl.c,v retrieving revision 2.0.1.3 retrieving revision 2.0.1.4 diff -c -r2.0.1.3 -r2.0.1.4 *** 2.0.1.3 1997/01/29 13:39:32 --- 2.0.1.4 1997/03/20 15:56:32 *************** *** 39,45 **** #include #include #if defined(__NetBSD__) || (defined(__FreeBSD_version) && \ ! (__FreeBSD_version >= 199607)) #include #include #include --- 39,45 ---- #include #include #if defined(__NetBSD__) || (defined(__FreeBSD_version) && \ ! (__FreeBSD_version >= 199511)) #include #include #include Index: mls_ipl.c =================================================================== RCS file: /devel/CVS/IP-Filter/mls_ipl.c,v retrieving revision 2.0.1.1 retrieving revision 2.0.1.2 diff -c -r2.0.1.1 -r2.0.1.2 *** 2.0.1.1 1997/01/09 15:14:44 --- 2.0.1.2 1997/03/20 15:48:30 *************** *** 30,36 **** #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)mls_ipl.c 2.6 10/15/95 (C) 1993-1995 Darren Reed"; ! static char rcsid[] = "$Id: mls_ipl.c,v 2.0.1.1 1997/01/09 15:14:44 darrenr Exp $"; #endif #ifndef IPL_NAME --- 30,36 ---- #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] = "@(#)mls_ipl.c 2.6 10/15/95 (C) 1993-1995 Darren Reed"; ! static char rcsid[] = "$Id: mls_ipl.c,v 2.0.1.2 1997/03/20 15:48:30 darrenr Exp $"; #endif #ifndef IPL_NAME *************** *** 45,50 **** --- 45,52 ---- #endif extern int nulldev(), iplidentify(), errno; + extern int nodev(); + static int unload(), ipl_attach(); struct cdevsw ipldevsw = *************** *** 115,137 **** extern struct cdevsw cdevsw[]; extern int nchrdev; ! xxxinit(fc, vdp, vdi, vds) u_int fc; struct vddrv *vdp; ! caddr_t vdi; struct vdstat *vds; { switch (fc) { case VDLOAD: ! while (ipl_major < nchrdev && ! cdevsw[ipl_major].d_open != vd_unuseddev) ! ipl_major++; ! if (ipl_major == nchrdev) ! return ENODEV; ! vd.Drv_charmajor = ipl_major; vdp->vdd_vdtab = (struct vdlinkage *)&vd; return ipl_attach(); case VDUNLOAD: return unload(); case VDSTAT: --- 117,153 ---- extern struct cdevsw cdevsw[]; extern int nchrdev; ! xxxinit(fc, vdp, data, vds) u_int fc; struct vddrv *vdp; ! caddr_t data; struct vdstat *vds; { + struct vdioctl_load *vdi = (struct vdioctl_load *)data; + switch (fc) { case VDLOAD: ! { ! struct vdconf *vdc; ! if (vdi && vdi->vdi_userconf) ! for (vdc = vdi->vdi_userconf; vdc->vdc_type; vdc++) ! if (vdc->vdc_type == VDCCHARMAJOR) { ! ipl_major = vdc->vdc_data; ! break; ! } ! ! if (!ipl_major) { ! while (ipl_major < nchrdev && ! cdevsw[ipl_major].d_open != vd_unuseddev) ! ipl_major++; ! if (ipl_major == nchrdev) ! return ENODEV; ! } vdp->vdd_vdtab = (struct vdlinkage *)&vd; + vd.Drv_charmajor = ipl_major; return ipl_attach(); + } case VDUNLOAD: return unload(); case VDSTAT: Index: parse.c =================================================================== RCS file: /devel/CVS/IP-Filter/parse.c,v retrieving revision 2.0.1.3 retrieving revision 2.0.1.4 diff -c -r2.0.1.3 -r2.0.1.4 *** 2.0.1.3 1997/02/20 20:54:55 --- 2.0.1.4 1997/03/20 15:49:25 *************** *** 33,39 **** #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] ="@(#)parse.c 1.44 6/5/96 (C) 1993-1996 Darren Reed"; ! static char rcsid[] = "$Id: parse.c,v 2.0.1.3 1997/02/20 20:54:55 darrenr Exp $"; #endif extern struct ipopt_names ionames[], secclass[]; --- 33,39 ---- #if !defined(lint) && defined(LIBC_SCCS) static char sccsid[] ="@(#)parse.c 1.44 6/5/96 (C) 1993-1996 Darren Reed"; ! static char rcsid[] = "$Id: parse.c,v 2.0.1.4 1997/03/20 15:49:25 darrenr Exp $"; #endif extern struct ipopt_names ionames[], secclass[]; *************** *** 928,935 **** if (!strcasecmp(*t, **cp)) break; } ! if (i == -1) return -1; } fp->fr_icmp = (u_short)(i << 8); fp->fr_icmpm = (u_short)0xff00; --- 928,938 ---- if (!strcasecmp(*t, **cp)) break; } ! if (i == -1) { ! (void)fprintf(stderr, ! "Invalid icmp-type (%s) specified\n", **cp); return -1; + } } fp->fr_icmp = (u_short)(i << 8); fp->fr_icmpm = (u_short)0xff00; Index: todo =================================================================== RCS file: /devel/CVS/IP-Filter/todo,v retrieving revision 2.0.1.3 retrieving revision 2.0.1.4 diff -c -r2.0.1.3 -r2.0.1.4 *** 2.0.1.3 1997/03/07 10:06:50 --- 2.0.1.4 1997/03/20 15:55:51 *************** *** 23,25 **** --- 23,27 ---- it an option. * rate limiting + + * add 'tail' switch to ipmon Index: SunOS4/in_proto.c.diffs =================================================================== RCS file: /devel/CVS/IP-Filter/SunOS4/in_proto.c.diffs,v retrieving revision 2.0.1.1 retrieving revision 2.0.1.2 diff -c -r2.0.1.1 -r2.0.1.2 *** 2.0.1.1 1997/01/09 15:14:49 --- 2.0.1.2 1997/03/20 15:54:29 *************** *** 7,13 **** #endif + #ifdef IPFILTER ! + extern void iplinit(); + #define ip_init iplinit + #endif + --- 7,13 ---- #endif + #ifdef IPFILTER ! + extern int iplinit(); + #define ip_init iplinit + #endif + Index: SunOS4/kinstall =================================================================== RCS file: /devel/CVS/IP-Filter/SunOS4/kinstall,v retrieving revision 2.0.1.1 retrieving revision 2.0.1.2 diff -c -r2.0.1.1 -r2.0.1.2 *** 2.0.1.1 1997/01/09 15:14:49 --- 2.0.1.2 1997/03/20 15:54:10 *************** *** 34,40 **** mv /sys/$karch/$newconfig /sys/$karch/$newconfig.bak endif mv $confdir/$newconfig $confdir/$newconfig.bak ! awk '{print $0;if($2=="INET"){print"options IPFILTER"}}' \ $confdir/$newconfig.bak > $confdir/$newconfig echo "Running config $newconfig" cd $confdir --- 34,40 ---- mv /sys/$karch/$newconfig /sys/$karch/$newconfig.bak endif mv $confdir/$newconfig $confdir/$newconfig.bak ! awk '{print $0;if($2=="INET"){print"options IPFILTER\noptions IPFILTER_LOG"}}' \ $confdir/$newconfig.bak > $confdir/$newconfig echo "Running config $newconfig" cd $confdir Index: SunOS5/Makefile =================================================================== RCS file: /devel/CVS/IP-Filter/SunOS5/Makefile,v retrieving revision 2.0.1.4 retrieving revision 2.0.1.5 diff -c -r2.0.1.4 -r2.0.1.5 *** 2.0.1.4 1997/02/08 07:04:33 --- 2.0.1.5 1997/03/20 15:54:50 *************** *** 159,165 **** done) package install: ! @if [ `whoami` != root ] ; then \ echo "Can only build package and install if root"; \ exit 1; \ fi --- 159,165 ---- done) package install: ! @if [ `id|sed -e 's/^.[^(]*(\([^)]*\)).*/\1/'` != root ] ; then \ echo "Can only build package and install if root"; \ exit 1; \ fi Index: SunOS5/pkginfo =================================================================== RCS file: /devel/CVS/IP-Filter/SunOS5/pkginfo,v retrieving revision 2.0.1.5 retrieving revision 2.0.1.6 diff -c -r2.0.1.5 -r2.0.1.6 *** 2.0.1.5 1997/03/08 03:23:28 --- 2.0.1.6 1997/03/23 05:23:55 *************** *** 5,11 **** PKG=CYBSipf NAME=IP Filter ARCH=sparc,i386 ! VERSION=3.1,REV=9 CATEGORY=system DESC=This package contains tools for building a firewall VENDOR=Cybersource --- 5,11 ---- PKG=CYBSipf NAME=IP Filter ARCH=sparc,i386 ! VERSION=3.1,REV=10 CATEGORY=system DESC=This package contains tools for building a firewall VENDOR=Cybersource Index: man/ipf.4 =================================================================== RCS file: /devel/CVS/IP-Filter/man/ipf.4,v retrieving revision 2.0.1.1 retrieving revision 2.0.1.2 diff -c -r2.0.1.1 -r2.0.1.2 *** 2.0.1.1 1997/01/09 15:14:52 --- 2.0.1.2 1997/03/23 05:20:13 *************** *** 99,107 **** FR_INACTIVE 0x02000 FR_QUICK 0x04000 /* quick-match and return */ FR_FASTROUTE 0x08000 ! FR_CALLFUNC 0x10000 ! FR_CALLNOW 0x20000 ! FR_DUP 0x40000 /* duplicate the packet (not Solaris2) .fi .PP --- 99,106 ---- FR_INACTIVE 0x02000 FR_QUICK 0x04000 /* quick-match and return */ FR_FASTROUTE 0x08000 ! FR_CALLNOW 0x10000 ! FR_DUP 0x20000 /* duplicate the packet (not Solaris2) .fi .PP