[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ipfilter
Subject:    patch1 for 3.1.1
From:       Darren Reed <darrenr () cyber ! com ! au>
Date:       1996-10-31 14:22:05
[Download RAW message or body]


The solaris issue is still being worked on, but in the meantime, I noticed
a problem with logging under 3.1.1 on SunOS4..  Also, I'm sick of trying
to use iplbusy.

Darren

Index: ipl.h
===================================================================
RCS file: /devel/CVS/IP-Filter/ipl.h,v
retrieving revision 1.3.4.3
retrieving revision 1.3.4.4
diff -c -r1.3.4.3 -r1.3.4.4
*** 1.3.4.3	1996/10/28 11:36:12
--- 1.3.4.4	1996/10/31 14:05:40
***************
*** 11,16 ****
  #ifndef	__IPL_H_
  #define	__IPL_H__
  
! #define	IPL_VERSION	"IP Filter v3.1.1 - 28/10/96"
  
  #endif
--- 11,16 ----
  #ifndef	__IPL_H_
  #define	__IPL_H__
  
! #define	IPL_VERSION	"IP Filter v3.1.1p1 - 1/11/96"
  
  #endif
Index: ip_fil.c
===================================================================
RCS file: /devel/CVS/IP-Filter/ip_fil.c,v
retrieving revision 1.2.4.6
retrieving revision 1.2.4.7
diff -c -r1.2.4.6 -r1.2.4.7
*** 1.2.4.6	1996/10/24 15:43:08
--- 1.2.4.7	1996/10/31 14:05:20
***************
*** 7,13 ****
   */
  #ifndef	lint
  static	char	sccsid[] = "@(#)ip_fil.c	2.41 6/5/96 (C) 1993-1995 Darren Reed";
! static	char	rcsid[] = "$Id: ip_fil.c,v 1.2.4.6 1996/10/24 15:43:08 darrenr Exp $";
  #endif
  
  #include <sys/errno.h>
--- 7,13 ----
   */
  #ifndef	lint
  static	char	sccsid[] = "@(#)ip_fil.c	2.41 6/5/96 (C) 1993-1995 Darren Reed";
! static	char	rcsid[] = "$Id: ip_fil.c,v 1.2.4.7 1996/10/31 14:05:20 darrenr Exp $";
  #endif
  
  #include <sys/errno.h>
***************
*** 71,77 ****
  #endif /* IPFILTER_LOG */
  static	void	frflush();
  static	int	frrequest();
- static	int	iplbusy = 0;
  static	int	(*fr_savep)();
  
  #if _BSDI_VERSION >= 199501
--- 71,76 ----
***************
*** 117,123 ****
  
  	SPLNET(s);
  	if (ipl_inited || (fr_checkp == fr_check)) {
! 		printf("ipl: already initialized (%d)\n", iplbusy);
  		SPLX(s);
  		return EBUSY;
  	}
--- 116,122 ----
  
  	SPLNET(s);
  	if (ipl_inited || (fr_checkp == fr_check)) {
! 		printf("ipl: already initialized\n");
  		SPLX(s);
  		return EBUSY;
  	}
***************
*** 135,144 ****
  {
  	int s, i = FR_INQUE|FR_OUTQUE;
  
- 	if (iplbusy > 1) {
- 		printf("iplbusy: %d\n", iplbusy);
- 		return EBUSY;
- 	}
  	SPLNET(s);
  	if (!ipl_inited)
  	{
--- 134,139 ----
***************
*** 532,544 ****
  
  	if (!uio->uio_resid)
  		return 0;
- 	iplbusy++;
  	while (!iplused) {
  		error = SLEEP(iplbuf, "ipl sleep");
! 		if (error) {
! 			iplbusy--;
  			return error;
- 		}
  	}
  	SPLNET(s);
  
--- 527,536 ----
  
  	if (!uio->uio_resid)
  		return 0;
  	while (!iplused) {
  		error = SLEEP(iplbuf, "ipl sleep");
! 		if (error)
  			return error;
  	}
  	SPLNET(s);
  
***************
*** 566,572 ****
  			iplh = iplt = iplbuf;
  	}
  	SPLX(s);
- 	iplbusy--;
  	return ret;
  }
  # endif /* IPFILTER_LOG */
--- 558,563 ----
***************
*** 638,646 ****
  	for (len -= sizeof(iplci); m && len > 0; m = m->m_next, len -= hlen) {
  		hlen = MIN(len, m->m_len);
  #ifdef	m_data
! 		if (copy_tolog(m->m_data, hlen))
  #else
! 		if (copy_tolog(m->m_dat, hlen))
  #endif
  			break;
  	}
--- 629,637 ----
  	for (len -= sizeof(iplci); m && len > 0; m = m->m_next, len -= hlen) {
  		hlen = MIN(len, m->m_len);
  #ifdef	m_data
! 		if (copy_tolog(mtod(m, char *), hlen))
  #else
! 		if (copy_tolog(mtod(m, char *), hlen))
  #endif
  			break;
  	}
Index: ip_sfil.c
===================================================================
RCS file: /devel/CVS/IP-Filter/ip_sfil.c,v
retrieving revision 1.3.4.5
retrieving revision 1.3.4.6
diff -c -r1.3.4.5 -r1.3.4.6
*** 1.3.4.5	1996/10/24 15:43:11
--- 1.3.4.6	1996/10/31 14:17:03
***************
*** 9,15 ****
   */
  #ifndef	lint
  static	char	sccsid[] = "%W% %G% (C) 1993-1995 Darren Reed";
! static	char	rcsid[] = "$Id: ip_sfil.c,v 1.3.4.5 1996/10/24 15:43:11 darrenr Exp $";
  #endif
  
  #include <sys/types.h>
--- 9,15 ----
   */
  #ifndef	lint
  static	char	sccsid[] = "%W% %G% (C) 1993-1995 Darren Reed";
! static	char	rcsid[] = "$Id: ip_sfil.c,v 1.3.4.6 1996/10/31 14:17:03 darrenr Exp $";
  #endif
  
  #include <sys/types.h>
***************
*** 65,71 ****
  static	int	iplused = 0;
  #endif /* IPFILTER_LOG */
  static	int	frrequest();
- static	int	iplbusy = 0;
  kmutex_t	ipl_mutex, ipf_mutex, ipfs_mutex;
  kmutex_t	ipf_frag, ipf_state, ipf_nat;
  kcondvar_t	iplwait;
--- 65,70 ----
***************
*** 77,86 ****
  {
  	int	i = FR_INQUE|FR_OUTQUE;
  
- 	if (iplbusy) {
- 		printf("iplbusy: %d\n", iplbusy);
- 		return EBUSY;
- 	}
  	untimeout(ipfr_timer_id);
  	frflush((caddr_t)&i);
  	ipfr_unload();
--- 76,81 ----
***************
*** 491,501 ****
  		return EINVAL;
  
  	mutex_enter(&ipl_mutex);
- 	iplbusy++;
  	while (!iplused) {
  		error = cv_wait_sig(&iplwait, &ipl_mutex);
  		if (!error) {
- 			iplbusy--;
  			mutex_exit(&ipl_mutex);
  			return EINTR;
  		}
--- 486,494 ----
***************
*** 533,539 ****
  		if ((iplh < iplt) && (iplt == iplbuf + IPLLOGSIZE))
  			iplt = iplbuf;
  	}
- 	iplbusy--;
  	mutex_exit(&ipl_mutex);
  	return ret;
  }
--- 526,531 ----
Index: HISTORY
===================================================================
RCS file: /devel/CVS/IP-Filter/HISTORY,v
retrieving revision 1.3.4.8
retrieving revision 1.3.4.9
diff -c -r1.3.4.8 -r1.3.4.9
*** 1.3.4.8	1996/10/28 11:36:14
--- 1.3.4.9	1996/10/31 14:18:08
***************
*** 5,10 ****
--- 5,12 ----
  # 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.
  #
+ mbuf logging not using mtod(), remove iplbusy - 3.1.1p1		1/11/96
+ 
  3.1.1		28/10/96 - Released
  
  Installation script fixes and deinstall scripts for IP Filter on:

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic