PERFORCE change 34811 for review

Peter Wemm peter at FreeBSD.org
Mon Jul 21 20:09:50 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=34811

Change 34811 by peter at peter_daintree on 2003/07/21 20:09:07

	IFC @34810

Affected files ...

.. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#36 integrate
.. //depot/projects/hammer/share/man/man4/Makefile#19 integrate
.. //depot/projects/hammer/share/man/man4/safe.4#1 branch
.. //depot/projects/hammer/sys/dev/wi/if_wi.c#16 integrate
.. //depot/projects/hammer/sys/pci/if_sis.c#12 integrate
.. //depot/projects/hammer/sys/pci/if_sisreg.h#3 integrate
.. //depot/projects/hammer/sys/sys/systm.h#7 integrate
.. //depot/projects/hammer/tools/tools/crypto/Makefile#3 integrate
.. //depot/projects/hammer/tools/tools/crypto/safestats.c#1 branch
.. //depot/projects/hammer/usr.sbin/crunch/crunchide/exec_elf32.c#7 integrate

Differences ...

==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#36 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The FreeBSD Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.594 2003/07/21 20:31:13 hrs Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.595 2003/07/21 22:07:40 hrs Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -145,6 +145,13 @@
         has been fixed.  <command>kbdcontrol -k /dev/kbd1</command>
         is no longer needed when only a USB keyboard is connected.
         &merged;</para>
+
+      <para arch="i386">The &man.safe.4; driver has been added
+        to support SafeNet 1141, 1741-based crypto accelerators.
+
+        <note>
+          <para>The public key support is not implemented.</para>
+        </note></para>
     </sect3>
 
     <sect3 id="boot">

==== //depot/projects/hammer/share/man/man4/Makefile#19 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/18/93
-# $FreeBSD: src/share/man/man4/Makefile,v 1.216 2003/07/21 13:56:22 harti Exp $
+# $FreeBSD: src/share/man/man4/Makefile,v 1.217 2003/07/21 21:52:48 sam Exp $
 
 MAN=	aac.4 \
 	acpi.4 \
@@ -201,6 +201,7 @@
 	rp.4 \
 	rue.4 \
 	sa.4 \
+	safe.4 \
 	sbc.4 \
 	sbp.4 \
 	sbsh.4 \

==== //depot/projects/hammer/sys/dev/wi/if_wi.c#16 (text+ko) ====

@@ -62,7 +62,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.148 2003/07/20 21:37:32 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/wi/if_wi.c,v 1.149 2003/07/21 23:20:40 sam Exp $");
 
 #define WI_HERMES_AUTOINC_WAR	/* Work around data write autoinc bug. */
 #define WI_HERMES_STATS_WAR	/* Work around stats counter bug. */
@@ -367,8 +367,10 @@
 #endif
 		if (sc->sc_sta_firmware_ver >= 60000)
 			sc->sc_flags |= WI_FLAGS_HAS_MOR;
-		if (sc->sc_sta_firmware_ver >= 60006)
+		if (sc->sc_sta_firmware_ver >= 60006) {
 			ic->ic_caps |= IEEE80211_C_IBSS;
+			ic->ic_caps |= IEEE80211_C_MONITOR;
+		}
 		sc->sc_ibss_port = htole16(1);
 		break;
 
@@ -379,8 +381,10 @@
 		sc->sc_flags |= WI_FLAGS_HAS_SYSSCALE;
 		if (sc->sc_sta_firmware_ver > 10101)
 			sc->sc_flags |= WI_FLAGS_HAS_DBMADJUST;
-		if (sc->sc_sta_firmware_ver >= 800)
+		if (sc->sc_sta_firmware_ver >= 800) {
 			ic->ic_caps |= IEEE80211_C_IBSS;
+			ic->ic_caps |= IEEE80211_C_MONITOR;
+		}
 		/*
 		 * version 0.8.3 and newer are the only ones that are known
 		 * to currently work.  Earlier versions can be made to work,
@@ -622,6 +626,11 @@
 	case IEEE80211_M_HOSTAP:
 		wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_HOSTAP);
 		break;
+	case IEEE80211_M_MONITOR:
+		if (sc->sc_firmware_type == WI_LUCENT)
+			wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_ADHOC);
+		wi_cmd(sc, WI_CMD_DEBUG | (WI_TEST_MONITOR << 8), 0, 0, 0);
+		break;
 	}
 
 	/* Intersil interprets this RID as joining ESS even in IBSS mode */
@@ -717,6 +726,7 @@
 	ifp->if_flags |= IFF_RUNNING;
 	ifp->if_flags &= ~IFF_OACTIVE;
 	if (ic->ic_opmode == IEEE80211_M_AHDEMO ||
+	    ic->ic_opmode == IEEE80211_M_MONITOR ||
 	    ic->ic_opmode == IEEE80211_M_HOSTAP)
 		ieee80211_new_state(ic, IEEE80211_S_RUN, -1);
 
@@ -1224,6 +1234,9 @@
 	case IEEE80211_M_HOSTAP:
 		imr->ifm_active |= IFM_IEEE80211_HOSTAP;
 		break;
+	case IEEE80211_M_MONITOR:
+		imr->ifm_active |= IFM_IEEE80211_MONITOR;
+		break;
 	}
 }
 
@@ -1387,6 +1400,20 @@
 	len = le16toh(frmhdr.wi_dat_len);
 	off = ALIGN(sizeof(struct ieee80211_frame));
 
+	/*
+	 * Sometimes the PRISM2.x returns bogusly large frames. Except
+	 * in monitor mode, just throw them away.
+	 */
+	if (off + len > MCLBYTES) {
+		if (ic->ic_opmode != IEEE80211_M_MONITOR) {
+			CSR_WRITE_2(sc, WI_EVENT_ACK, WI_EV_RX);
+			ifp->if_ierrors++;
+			DPRINTF(("wi_rx_intr: oversized packet\n"));
+			return;
+		} else
+			len = 0;
+	}
+
 	MGETHDR(m, M_DONTWAIT, MT_DATA);
 	if (m == NULL) {
 		CSR_WRITE_2(sc, WI_EVENT_ACK, WI_EV_RX);

==== //depot/projects/hammer/sys/pci/if_sis.c#12 (text+ko) ====

@@ -56,7 +56,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/pci/if_sis.c,v 1.78 2003/07/03 21:39:53 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/pci/if_sis.c,v 1.79 2003/07/22 01:35:09 cognet Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1739,6 +1739,7 @@
 
 	sc = xsc;
 	SIS_LOCK(sc);
+	sc->in_tick = 1;
 	ifp = &sc->arpcom.ac_if;
 
 	mii = device_get_softc(sc->sis_miibus);
@@ -1751,6 +1752,8 @@
 			sis_start(ifp);
 	}
 
+	sc->sis_stat_ch = timeout(sis_tick, sc, hz);
+	sc->in_tick = 0;
 	SIS_UNLOCK(sc);
 
 	return;
@@ -2187,7 +2190,8 @@
 	ifp->if_flags |= IFF_RUNNING;
 	ifp->if_flags &= ~IFF_OACTIVE;
 
-	sc->sis_stat_ch = timeout(sis_tick, sc, hz);
+	if (!sc->in_tick)
+		sc->sis_stat_ch = timeout(sis_tick, sc, hz);
 
 	SIS_UNLOCK(sc);
 

==== //depot/projects/hammer/sys/pci/if_sisreg.h#3 (text+ko) ====

@@ -29,7 +29,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/pci/if_sisreg.h,v 1.21 2003/01/29 21:56:10 mux Exp $
+ * $FreeBSD: src/sys/pci/if_sisreg.h,v 1.22 2003/07/22 01:35:09 cognet Exp $
  */
 
 /*
@@ -463,6 +463,7 @@
 #ifdef DEVICE_POLLING
 	int			rxcycles;
 #endif
+	int			in_tick;
 	struct mtx		sis_mtx;
 };
 

==== //depot/projects/hammer/sys/sys/systm.h#7 (text+ko) ====

@@ -36,7 +36,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)systm.h	8.7 (Berkeley) 3/29/95
- * $FreeBSD: src/sys/sys/systm.h,v 1.195 2003/07/21 18:35:51 phk Exp $
+ * $FreeBSD: src/sys/sys/systm.h,v 1.196 2003/07/22 00:17:11 silby Exp $
  */
 
 #ifndef _SYS_SYSTM_H_
@@ -165,7 +165,7 @@
 int	sscanf(const char *, char const *, ...) __nonnull(1) __nonnull(2);
 int	vsscanf(const char *, char const *, __va_list) __nonnull(1) __nonnull(2);
 long	strtol(const char *, char **, int) __nonnull(1) __nonnull(2);
-u_long	strtoul(const char *, char **, int) __nonnull(1), __nonnull(2);
+u_long	strtoul(const char *, char **, int) __nonnull(1) __nonnull(2);
 quad_t	strtoq(const char *, char **, int) __nonnull(1);
 u_quad_t strtouq(const char *, char **, int) __nonnull(1);
 void	tprintf(struct proc *p, int pri, const char *, ...) __printflike(3, 4);

==== //depot/projects/hammer/tools/tools/crypto/Makefile#3 (text+ko) ====

@@ -1,4 +1,4 @@
-#	$FreeBSD: src/tools/tools/crypto/Makefile,v 1.4 2003/03/19 01:53:55 sam Exp $
+#	$FreeBSD: src/tools/tools/crypto/Makefile,v 1.5 2003/07/21 21:58:04 sam Exp $
 #
 # Copyright (c) 2002, 2003	Sam Leffler, Errno Consulting
 # All rights reserved.
@@ -26,7 +26,7 @@
 #
 
 ALL=	cryptotest cryptokeytest cryptostats \
-	ubsecstats hifnstats ipsecstats
+	ubsecstats hifnstats ipsecstats safestats
 
 all:	${ALL}
 
@@ -50,6 +50,10 @@
 hifnstats: hifnstats.c
 	${CC} -o hifnstats hifnstats.c
 
+# program to print statistics kept by the SafeNet driver
+safestats: safestats.c
+	${CC} -o safestats safestats.c
+
 # program to print statistics kept by fast ipsec
 ipsecstats: ipsecstats.c
 	${CC} -o ipsecstats ipsecstats.c

==== //depot/projects/hammer/usr.sbin/crunch/crunchide/exec_elf32.c#7 (text+ko) ====

@@ -34,7 +34,7 @@
 __RCSID("$NetBSD: exec_elf32.c,v 1.4 1997/08/12 06:07:24 mikel Exp $");
 #endif
 #endif
-__FBSDID("$FreeBSD: src/usr.sbin/crunch/crunchide/exec_elf32.c,v 1.11 2003/06/03 01:37:32 peter Exp $");
+__FBSDID("$FreeBSD: src/usr.sbin/crunch/crunchide/exec_elf32.c,v 1.12 2003/07/22 00:19:40 obrien Exp $");
  
 #ifndef ELFSIZE
 #define ELFSIZE         32
@@ -160,6 +160,10 @@
 #define	EM_IA_64	50
 #endif
 	case EM_IA_64: break;
+#ifndef EM_PPC
+#define	EM_PPC		20
+#endif
+	case EM_PPC: break;
 #ifndef EM_SPARCV9
 #define	EM_SPARCV9	43
 #endif


More information about the p4-projects mailing list