head	1.1;
branch	1.1.1;
access;
symbols
	RELENG_8_4:1.1.1.1.0.56
	RELENG_9_1_0_RELEASE:1.1.1.1
	RELENG_9_1:1.1.1.1.0.54
	RELENG_9_1_BP:1.1.1.1
	RELENG_8_3_0_RELEASE:1.1.1.1
	RELENG_8_3:1.1.1.1.0.52
	RELENG_8_3_BP:1.1.1.1
	RELENG_9_0_0_RELEASE:1.1.1.1
	RELENG_9_0:1.1.1.1.0.50
	RELENG_9_0_BP:1.1.1.1
	RELENG_9:1.1.1.1.0.48
	RELENG_9_BP:1.1.1.1
	RELENG_7_4_0_RELEASE:1.1.1.1
	RELENG_8_2_0_RELEASE:1.1.1.1
	RELENG_7_4:1.1.1.1.0.46
	RELENG_7_4_BP:1.1.1.1
	RELENG_8_2:1.1.1.1.0.44
	RELENG_8_2_BP:1.1.1.1
	RELENG_8_1_0_RELEASE:1.1.1.1
	RELENG_8_1:1.1.1.1.0.42
	RELENG_8_1_BP:1.1.1.1
	RELENG_7_3_0_RELEASE:1.1.1.1
	RELENG_7_3:1.1.1.1.0.40
	RELENG_7_3_BP:1.1.1.1
	RELENG_8_0_0_RELEASE:1.1.1.1
	RELENG_8_0:1.1.1.1.0.38
	RELENG_8_0_BP:1.1.1.1
	RELENG_8:1.1.1.1.0.36
	RELENG_8_BP:1.1.1.1
	RELENG_7_2_0_RELEASE:1.1.1.1
	RELENG_7_2:1.1.1.1.0.34
	RELENG_7_2_BP:1.1.1.1
	RELENG_7_1_0_RELEASE:1.1.1.1
	RELENG_6_4_0_RELEASE:1.1.1.1
	RELENG_7_1:1.1.1.1.0.32
	RELENG_7_1_BP:1.1.1.1
	RELENG_6_4:1.1.1.1.0.30
	RELENG_6_4_BP:1.1.1.1
	RELENG_7_0_0_RELEASE:1.1.1.1
	RELENG_6_3_0_RELEASE:1.1.1.1
	RELENG_7_0:1.1.1.1.0.28
	RELENG_7_0_BP:1.1.1.1
	RELENG_6_3:1.1.1.1.0.26
	RELENG_6_3_BP:1.1.1.1
	RELENG_7:1.1.1.1.0.24
	RELENG_7_BP:1.1.1.1
	RELENG_6_2_0_RELEASE:1.1.1.1
	RELENG_6_2:1.1.1.1.0.22
	RELENG_6_2_BP:1.1.1.1
	RELENG_5_5_0_RELEASE:1.1.1.1
	RELENG_5_5:1.1.1.1.0.20
	RELENG_5_5_BP:1.1.1.1
	RELENG_6_1_0_RELEASE:1.1.1.1
	RELENG_6_1:1.1.1.1.0.18
	RELENG_6_1_BP:1.1.1.1
	RELENG_6_0_0_RELEASE:1.1.1.1
	RELENG_6_0:1.1.1.1.0.16
	RELENG_6_0_BP:1.1.1.1
	RELENG_6:1.1.1.1.0.14
	RELENG_6_BP:1.1.1.1
	RELENG_5_4_0_RELEASE:1.1.1.1
	RELENG_5_4:1.1.1.1.0.12
	RELENG_5_4_BP:1.1.1.1
	RELENG_5_3_0_RELEASE:1.1.1.1
	RELENG_5_3:1.1.1.1.0.10
	RELENG_5_3_BP:1.1.1.1
	RELENG_5:1.1.1.1.0.8
	RELENG_5_BP:1.1.1.1
	RELENG_5_2_1_RELEASE:1.1.1.1
	RELENG_5_2_0_RELEASE:1.1.1.1
	RELENG_5_2:1.1.1.1.0.6
	RELENG_5_2_BP:1.1.1.1
	RELENG_5_1_0_RELEASE:1.1.1.1
	RELENG_5_1:1.1.1.1.0.4
	RELENG_5_1_BP:1.1.1.1
	RELENG_5_0_0_RELEASE:1.1.1.1
	RELENG_5_0:1.1.1.1.0.2
	RELENG_5_0_BP:1.1.1.1
	PRE_SMPNG:1.1.1.1
	v3-4-9:1.1.1.1
	v3-4-8:1.1.1.1
	v3_4_4:1.1.1.1
	DARRENR:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2000.05.24.02.14.18;	author darrenr;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2000.05.24.02.14.18;	author darrenr;	state Exp;
branches
	1.1.1.1.56.1;
next	;

1.1.1.1.56.1
date	2000.05.24.02.14.18;	author svnexp;	state dead;
branches;
next	1.1.1.1.56.2;

1.1.1.1.56.2
date	2013.03.28.13.01.20;	author svnexp;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@*** ip6_input.c.orig	Sun Feb 13 14:32:01 2000
--- ip6_input.c	Wed Apr 26 22:31:34 2000
***************
*** 121,126 ****
--- 121,127 ----
  
  extern struct	domain inet6domain;
  extern struct	ip6protosw inet6sw[];
+ extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
  
  u_char	ip6_protox[IPPROTO_MAX];
  static int	ip6qmaxlen = IFQ_MAXLEN;
***************
*** 302,307 ****
--- 303,317 ----
  		ip6stat.ip6s_badvers++;
  		in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_hdrerr);
  		goto bad;
+ 	}
+ 
+ 	if (fr_checkp) {
+ 		struct	mbuf	*m1 = m;
+ 
+ 		if ((*fr_checkp)(ip6, sizeof(*ip6), m->m_pkthdr.rcvif,
+ 				 0, &m1) || !m1)
+ 			return;
+ 		ip6 = mtod(m = m1, struct ip6_hdr *);
  	}
  
  	ip6stat.ip6s_nxthist[ip6->ip6_nxt]++;
*** ip6_output.c.orig	Fri Mar 10 01:57:16 2000
--- ip6_output.c	Wed Apr 26 22:34:34 2000
***************
*** 108,113 ****
--- 108,115 ----
  #include <netinet6/ip6_fw.h>
  #endif
  
+ extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
+ 
  static MALLOC_DEFINE(M_IPMOPTS, "ip6_moptions", "internet multicast options");
  
  struct ip6_exthdrs {
***************
*** 754,759 ****
--- 756,770 ----
  			ip6->ip6_src.s6_addr16[1] = 0;
  		if (IN6_IS_SCOPE_LINKLOCAL(&ip6->ip6_dst))
  			ip6->ip6_dst.s6_addr16[1] = 0;
+ 	}
+ 
+ 	if (fr_checkp) {
+ 		struct  mbuf    *m1 = m;
+ 
+ 		if ((error = (*fr_checkp)(ip6, sizeof(*ip6), ifp, 1, &m1)) ||
+ 		    !m1)
+ 			goto done;
+ 		ip6 = mtod(m = m1, struct ip6_hdr *);
  	}
  
  #ifdef IPV6FIREWALL
@


1.1.1.1
log
@Import IP Filter 3.4.4 into FreeBSD-current
@
text
@@


1.1.1.1.56.1
log
@file ipv6-patch was added on branch RELENG_8_4 on 2013-03-28 13:01:20 +0000
@
text
@d1 61
@


1.1.1.1.56.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 61
*** ip6_input.c.orig	Sun Feb 13 14:32:01 2000
--- ip6_input.c	Wed Apr 26 22:31:34 2000
***************
*** 121,126 ****
--- 121,127 ----
  
  extern struct	domain inet6domain;
  extern struct	ip6protosw inet6sw[];
+ extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
  
  u_char	ip6_protox[IPPROTO_MAX];
  static int	ip6qmaxlen = IFQ_MAXLEN;
***************
*** 302,307 ****
--- 303,317 ----
  		ip6stat.ip6s_badvers++;
  		in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_hdrerr);
  		goto bad;
+ 	}
+ 
+ 	if (fr_checkp) {
+ 		struct	mbuf	*m1 = m;
+ 
+ 		if ((*fr_checkp)(ip6, sizeof(*ip6), m->m_pkthdr.rcvif,
+ 				 0, &m1) || !m1)
+ 			return;
+ 		ip6 = mtod(m = m1, struct ip6_hdr *);
  	}
  
  	ip6stat.ip6s_nxthist[ip6->ip6_nxt]++;
*** ip6_output.c.orig	Fri Mar 10 01:57:16 2000
--- ip6_output.c	Wed Apr 26 22:34:34 2000
***************
*** 108,113 ****
--- 108,115 ----
  #include <netinet6/ip6_fw.h>
  #endif
  
+ extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **));
+ 
  static MALLOC_DEFINE(M_IPMOPTS, "ip6_moptions", "internet multicast options");
  
  struct ip6_exthdrs {
***************
*** 754,759 ****
--- 756,770 ----
  			ip6->ip6_src.s6_addr16[1] = 0;
  		if (IN6_IS_SCOPE_LINKLOCAL(&ip6->ip6_dst))
  			ip6->ip6_dst.s6_addr16[1] = 0;
+ 	}
+ 
+ 	if (fr_checkp) {
+ 		struct  mbuf    *m1 = m;
+ 
+ 		if ((error = (*fr_checkp)(ip6, sizeof(*ip6), ifp, 1, &m1)) ||
+ 		    !m1)
+ 			goto done;
+ 		ip6 = mtod(m = m1, struct ip6_hdr *);
  	}
  
  #ifdef IPV6FIREWALL
@


