From nobody@FreeBSD.org  Sat Jan 16 17:27:35 2010
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 7CF6A1065676
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 16 Jan 2010 17:27:35 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 6B1D38FC1C
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 16 Jan 2010 17:27:35 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id o0GHRZJm059528
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 16 Jan 2010 17:27:35 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id o0GHRZVa059527;
	Sat, 16 Jan 2010 17:27:35 GMT
	(envelope-from nobody)
Message-Id: <201001161727.o0GHRZVa059527@www.freebsd.org>
Date: Sat, 16 Jan 2010 17:27:35 GMT
From: Dominic Fandrey <kamikaze@bsdforen.de>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [maintainer-update] games/ioquake3 (backport VM patch)
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         142886
>Category:       ports
>Synopsis:       [maintainer-update] games/ioquake3 (backport VM patch)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    amdmi3
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 16 17:30:01 UTC 2010
>Closed-Date:    Thu Jan 28 00:32:32 UTC 2010
>Last-Modified:  Thu Jan 28 00:40:03 UTC 2010
>Originator:     Dominic Fandrey
>Release:        RELENG_8
>Organization:
private
>Environment:
FreeBSD mobileKamikaze.norad 8.0-STABLE FreeBSD 8.0-STABLE #0: Tue Jan  5 16:34:32 CET 2010     root@mobileKamikaze.norad:/usr/obj/HP6510b-8/amd64/usr/src/sys/HP6510b-8  amd64

>Description:
The ioq3 1.36 release contains a 64bit bug in its VM code, which causes it to crash on all non-GNU platforms (unless playing with native libraries, which is not recommended):
http://lists.ioquake.org/htdig.cgi/ioquake3-ioquake.org/2010-January/003760.html

This update backports the patch from SVN r1772.

I'm sorry for updating so frequently, but I consider this a pretty fatal bug.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -Nur ports/games/ioquake3.orig/Makefile ports/games/ioquake3/Makefile
--- ports/games/ioquake3.orig/Makefile	2010-01-16 13:43:31.000000000 +0100
+++ ports/games/ioquake3/Makefile	2010-01-16 13:49:38.000000000 +0100
@@ -7,7 +7,7 @@
 
 PORTNAME?=	ioquake3
 DISTVERSION?=	1.36
-PORTREVISION?=	1
+PORTREVISION?=	2
 CATEGORIES=	games
 MASTER_SITES?=	http://ioquake3.org/files/${DISTVERSION}/
 
diff -Nur ports/games/ioquake3.orig/files/patch-code-qcommon-vm_interpreted.c ports/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c
--- ports/games/ioquake3.orig/files/patch-code-qcommon-vm_interpreted.c	1970-01-01 01:00:00.000000000 +0100
+++ ports/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c	2010-01-16 15:55:45.000000000 +0100
@@ -0,0 +1,34 @@
+--- code/qcommon/vm_interpreted.c	2009/11/01 19:58:07	1717
++++ code/qcommon/vm_interpreted.c	2010/01/16 10:55:51	1772
+@@ -516,18 +516,20 @@
+ 
+ //VM_LogSyscalls( (int *)&image[ programStack + 4 ] );
+ 				{
+-					intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ];
+-				#if __WORDSIZE == 64
+-				// the vm has ints on the stack, we expect
+-				// longs so we have to convert it
+-					intptr_t argarr[16];
+-					int i;
+-					for (i = 0; i < 16; ++i) {
+-						argarr[i] = *(int*)&image[ programStack + 4 + 4*i ];
++					// the vm has ints on the stack, we expect
++					// pointers so we might have to convert it
++					if (sizeof(intptr_t) != sizeof(int)) {
++						intptr_t argarr[16];
++						int *imagePtr = (int *)&image[programStack];
++						int i;
++						for (i = 0; i < 16; ++i) {
++							argarr[i] = *(++imagePtr);
++						}
++						r = vm->systemCall( argarr );
++					} else {
++						intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ];
++						r = vm->systemCall( argptr );
+ 					}
+-					argptr = argarr;
+-				#endif
+-					r = vm->systemCall( argptr );
+ 				}
+ 
+ #ifdef DEBUG_VM
diff -Nur ports/games/ioquake3.orig/pkg-message ports/games/ioquake3/pkg-message
--- ports/games/ioquake3.orig/pkg-message	2010-01-16 13:43:31.000000000 +0100
+++ ports/games/ioquake3/pkg-message	2010-01-16 17:58:54.000000000 +0100
@@ -1,14 +1,11 @@
 ==============================================================================
 
-The input devices are now handled by SDL. Some mouse buttons will have
-different aliases and the mouse speed needs to be readjusted.
+Should the game freeze when entering a match, try to change the value of
+com_zoneMegs (e.g. to 48).
 
 The configuration files are saved to ~/.ioquake3 instead of ~/.q3a because
 they have additional variables which would be removed if other engines
 overwrite them. But you can safely copy the original directory to the new one
 for the first time.
 
-Should you encounter freezes when playing a demo or single player game,
-rebuild without client libraries.
-
 ==============================================================================
diff -Nur ports/games/ioquake3-devel.orig/Makefile ports/games/ioquake3-devel/Makefile
--- ports/games/ioquake3-devel.orig/Makefile	2010-01-16 13:43:22.000000000 +0100
+++ ports/games/ioquake3-devel/Makefile	2010-01-16 13:49:19.000000000 +0100
@@ -17,7 +17,7 @@
 PLIST=		${.CURDIR}/../ioquake3/pkg-plist
 PATCHDIR=	${WRKDIR}/freebsd-patchset/
 
-SVNREVISION=	1771
+SVNREVISION=	1772
 BINSUFFIX=	-devel
 
 .include "${.CURDIR}/../ioquake3/Makefile"
diff -Nur ports/games/ioquake3-devel.orig/distinfo ports/games/ioquake3-devel/distinfo
--- ports/games/ioquake3-devel.orig/distinfo	2010-01-16 13:43:22.000000000 +0100
+++ ports/games/ioquake3-devel/distinfo	2010-01-16 13:49:27.000000000 +0100
@@ -1,3 +1,3 @@
-MD5 (ioquake3-devel-1.36_SVN1771.zip) = 651a912a4cebb68f33a9f7fc63a3ec0e
-SHA256 (ioquake3-devel-1.36_SVN1771.zip) = 75aecab911f880e19d319c9e508fc4495b1d53e22207fae26d0a1b436817b4d9
-SIZE (ioquake3-devel-1.36_SVN1771.zip) = 4927089
+MD5 (ioquake3-devel-1.36_SVN1772.zip) = 6d5e4b9899eeb5541da8585d978f438f
+SHA256 (ioquake3-devel-1.36_SVN1772.zip) = 756eb79863f415703b6e3407db22104dc514f904586b5a09d72788f5745c1daa
+SIZE (ioquake3-devel-1.36_SVN1772.zip) = 4927099
diff -Nur ports/games/ioquake3-devel.orig/pkg-message ports/games/ioquake3-devel/pkg-message
--- ports/games/ioquake3-devel.orig/pkg-message	2010-01-16 13:43:22.000000000 +0100
+++ ports/games/ioquake3-devel/pkg-message	2010-01-16 18:00:50.000000000 +0100
@@ -1,6 +1,6 @@
 ==============================================================================
 
-Should you encounter freezes when playing a demo or single player game,
-rebuild without client libraries.
+Should the game freeze when entering a match, try to change the value of
+com_zoneMegs (e.g. to 48).
 
 ==============================================================================


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->amdmi3 
Responsible-Changed-By: amdmi3 
Responsible-Changed-When: Sat Jan 16 19:27:45 UTC 2010 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=142886 

From: Dominic Fandrey <kamikaze@bsdforen.de>
To: bug-followup@FreeBSD.org, kamikaze@bsdforen.de
Cc:  
Subject: Re: ports/142886: [maintainer-update] games/ioquake3 (backport VM
 patch)
Date: Tue, 19 Jan 2010 09:14:08 +0100

 New version of the patch that takes care of build problems on the
 FreeBSD 6 branch:
 http://pointyhat.freebsd.org/errorlogs/i386-errorlogs/a.6.20100117082456/ioquake3-devel-1.36.s1771.log
 
 
 diff -Nur ports/games/ioquake3.orig/Makefile ports/games/ioquake3/Makefile
 --- ports/games/ioquake3.orig/Makefile	2010-01-16 13:43:31.000000000 +0100
 +++ ports/games/ioquake3/Makefile	2010-01-16 13:49:38.000000000 +0100
 @@ -7,7 +7,7 @@
  
  PORTNAME?=	ioquake3
  DISTVERSION?=	1.36
 -PORTREVISION?=	1
 +PORTREVISION?=	2
  CATEGORIES=	games
  MASTER_SITES?=	http://ioquake3.org/files/${DISTVERSION}/
  
 diff -Nur ports/games/ioquake3.orig/files/patch-code-qcommon-vm_interpreted.c ports/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c
 --- ports/games/ioquake3.orig/files/patch-code-qcommon-vm_interpreted.c	1970-01-01 01:00:00.000000000 +0100
 +++ ports/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c	2010-01-16 15:55:45.000000000 +0100
 @@ -0,0 +1,34 @@
 +--- code/qcommon/vm_interpreted.c	2009/11/01 19:58:07	1717
 ++++ code/qcommon/vm_interpreted.c	2010/01/16 10:55:51	1772
 +@@ -516,18 +516,20 @@
 + 
 + //VM_LogSyscalls( (int *)&image[ programStack + 4 ] );
 + 				{
 +-					intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ];
 +-				#if __WORDSIZE == 64
 +-				// the vm has ints on the stack, we expect
 +-				// longs so we have to convert it
 +-					intptr_t argarr[16];
 +-					int i;
 +-					for (i = 0; i < 16; ++i) {
 +-						argarr[i] = *(int*)&image[ programStack + 4 + 4*i ];
 ++					// the vm has ints on the stack, we expect
 ++					// pointers so we might have to convert it
 ++					if (sizeof(intptr_t) != sizeof(int)) {
 ++						intptr_t argarr[16];
 ++						int *imagePtr = (int *)&image[programStack];
 ++						int i;
 ++						for (i = 0; i < 16; ++i) {
 ++							argarr[i] = *(++imagePtr);
 ++						}
 ++						r = vm->systemCall( argarr );
 ++					} else {
 ++						intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ];
 ++						r = vm->systemCall( argptr );
 + 					}
 +-					argptr = argarr;
 +-				#endif
 +-					r = vm->systemCall( argptr );
 + 				}
 + 
 + #ifdef DEBUG_VM
 diff -Nur ports/games/ioquake3.orig/pkg-message ports/games/ioquake3/pkg-message
 --- ports/games/ioquake3.orig/pkg-message	2010-01-16 13:43:31.000000000 +0100
 +++ ports/games/ioquake3/pkg-message	2010-01-16 17:58:54.000000000 +0100
 @@ -1,14 +1,11 @@
  ==============================================================================
  
 -The input devices are now handled by SDL. Some mouse buttons will have
 -different aliases and the mouse speed needs to be readjusted.
 +Should the game freeze when entering a match, try to change the value of
 +com_zoneMegs (e.g. to 48).
  
  The configuration files are saved to ~/.ioquake3 instead of ~/.q3a because
  they have additional variables which would be removed if other engines
  overwrite them. But you can safely copy the original directory to the new one
  for the first time.
  
 -Should you encounter freezes when playing a demo or single player game,
 -rebuild without client libraries.
 -
  ==============================================================================
 diff -Nur ports/games/ioquake3-devel.orig/Makefile ports/games/ioquake3-devel/Makefile
 --- ports/games/ioquake3-devel.orig/Makefile	2010-01-16 13:43:22.000000000 +0100
 +++ ports/games/ioquake3-devel/Makefile	2010-01-16 13:49:19.000000000 +0100
 @@ -17,7 +17,7 @@
  PLIST=		${.CURDIR}/../ioquake3/pkg-plist
  PATCHDIR=	${WRKDIR}/freebsd-patchset/
  
 -SVNREVISION=	1771
 +SVNREVISION=	1772
  BINSUFFIX=	-devel
  
  .include "${.CURDIR}/../ioquake3/Makefile"
 diff -Nur ports/games/ioquake3-devel.orig/distinfo ports/games/ioquake3-devel/distinfo
 --- ports/games/ioquake3-devel.orig/distinfo	2010-01-16 13:43:22.000000000 +0100
 +++ ports/games/ioquake3-devel/distinfo	2010-01-19 09:09:50.000000000 +0100
 @@ -1,3 +1,3 @@
 -MD5 (ioquake3-devel-1.36_SVN1771.zip) = 651a912a4cebb68f33a9f7fc63a3ec0e
 -SHA256 (ioquake3-devel-1.36_SVN1771.zip) = 75aecab911f880e19d319c9e508fc4495b1d53e22207fae26d0a1b436817b4d9
 -SIZE (ioquake3-devel-1.36_SVN1771.zip) = 4927089
 +MD5 (ioquake3-devel-1.36_SVN1772.zip) = ea23ffb0f6abd040d992338009dff4cf
 +SHA256 (ioquake3-devel-1.36_SVN1772.zip) = 56b5ced7cd99d66c82b48257f8b7b44531769de6c2043cfb49067341003c8d38
 +SIZE (ioquake3-devel-1.36_SVN1772.zip) = 4927184
 diff -Nur ports/games/ioquake3-devel.orig/pkg-message ports/games/ioquake3-devel/pkg-message
 --- ports/games/ioquake3-devel.orig/pkg-message	2010-01-16 13:43:22.000000000 +0100
 +++ ports/games/ioquake3-devel/pkg-message	2010-01-16 18:00:50.000000000 +0100
 @@ -1,6 +1,6 @@
  ==============================================================================
  
 -Should you encounter freezes when playing a demo or single player game,
 -rebuild without client libraries.
 +Should the game freeze when entering a match, try to change the value of
 +com_zoneMegs (e.g. to 48).
  
  ==============================================================================
 

From: Dominic Fandrey <kamikaze@bsdforen.de>
To: bug-followup@FreeBSD.org, kamikaze@bsdforen.de
Cc:  
Subject: Re: ports/142886: [maintainer-update] games/ioquake3 (backport VM
 patch)
Date: Tue, 26 Jan 2010 00:27:19 +0100

 Updated patch because of ports/142123.
 
 
 diff -Nur ports/games/ioquake3.orig/Makefile ports/games/ioquake3/Makefile
 --- ports/games/ioquake3.orig/Makefile	2010-01-26 00:17:33.000000000 +0100
 +++ ports/games/ioquake3/Makefile	2010-01-26 00:19:01.000000000 +0100
 @@ -7,7 +7,7 @@
  
  PORTNAME?=	ioquake3
  DISTVERSION?=	1.36
 -PORTREVISION?=	2
 +PORTREVISION?=	3
  CATEGORIES=	games
  MASTER_SITES?=	http://ioquake3.org/files/${DISTVERSION}/
  
 diff -Nur ports/games/ioquake3.orig/files/patch-code-qcommon-vm_interpreted.c ports/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c
 --- ports/games/ioquake3.orig/files/patch-code-qcommon-vm_interpreted.c	1970-01-01 01:00:00.000000000 +0100
 +++ ports/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c	2010-01-26 00:17:59.000000000 +0100
 @@ -0,0 +1,34 @@
 +--- code/qcommon/vm_interpreted.c	2009/11/01 19:58:07	1717
 ++++ code/qcommon/vm_interpreted.c	2010/01/16 10:55:51	1772
 +@@ -516,18 +516,20 @@
 + 
 + //VM_LogSyscalls( (int *)&image[ programStack + 4 ] );
 + 				{
 +-					intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ];
 +-				#if __WORDSIZE == 64
 +-				// the vm has ints on the stack, we expect
 +-				// longs so we have to convert it
 +-					intptr_t argarr[16];
 +-					int i;
 +-					for (i = 0; i < 16; ++i) {
 +-						argarr[i] = *(int*)&image[ programStack + 4 + 4*i ];
 ++					// the vm has ints on the stack, we expect
 ++					// pointers so we might have to convert it
 ++					if (sizeof(intptr_t) != sizeof(int)) {
 ++						intptr_t argarr[16];
 ++						int *imagePtr = (int *)&image[programStack];
 ++						int i;
 ++						for (i = 0; i < 16; ++i) {
 ++							argarr[i] = *(++imagePtr);
 ++						}
 ++						r = vm->systemCall( argarr );
 ++					} else {
 ++						intptr_t* argptr = (intptr_t *)&image[ programStack + 4 ];
 ++						r = vm->systemCall( argptr );
 + 					}
 +-					argptr = argarr;
 +-				#endif
 +-					r = vm->systemCall( argptr );
 + 				}
 + 
 + #ifdef DEBUG_VM
 diff -Nur ports/games/ioquake3.orig/pkg-message ports/games/ioquake3/pkg-message
 --- ports/games/ioquake3.orig/pkg-message	2010-01-26 00:17:33.000000000 +0100
 +++ ports/games/ioquake3/pkg-message	2010-01-26 00:17:59.000000000 +0100
 @@ -1,14 +1,11 @@
  ==============================================================================
  
 -The input devices are now handled by SDL. Some mouse buttons will have
 -different aliases and the mouse speed needs to be readjusted.
 +Should the game freeze when entering a match, try to change the value of
 +com_zoneMegs (e.g. to 48).
  
  The configuration files are saved to ~/.ioquake3 instead of ~/.q3a because
  they have additional variables which would be removed if other engines
  overwrite them. But you can safely copy the original directory to the new one
  for the first time.
  
 -Should you encounter freezes when playing a demo or single player game,
 -rebuild without client libraries.
 -
  ==============================================================================
 diff -Nur ports/games/ioquake3-devel.orig/Makefile ports/games/ioquake3-devel/Makefile
 --- ports/games/ioquake3-devel.orig/Makefile	2010-01-26 00:17:45.000000000 +0100
 +++ ports/games/ioquake3-devel/Makefile	2010-01-26 00:17:59.000000000 +0100
 @@ -17,7 +17,7 @@
  PLIST=		${.CURDIR}/../ioquake3/pkg-plist
  PATCHDIR=	${WRKDIR}/freebsd-patchset/
  
 -SVNREVISION=	1771
 +SVNREVISION=	1772
  BINSUFFIX=	-devel
  
  .include "${.CURDIR}/../ioquake3/Makefile"
 diff -Nur ports/games/ioquake3-devel.orig/distinfo ports/games/ioquake3-devel/distinfo
 --- ports/games/ioquake3-devel.orig/distinfo	2010-01-26 00:17:45.000000000 +0100
 +++ ports/games/ioquake3-devel/distinfo	2010-01-26 00:17:59.000000000 +0100
 @@ -1,3 +1,3 @@
 -MD5 (ioquake3-devel-1.36_SVN1771.zip) = 651a912a4cebb68f33a9f7fc63a3ec0e
 -SHA256 (ioquake3-devel-1.36_SVN1771.zip) = 75aecab911f880e19d319c9e508fc4495b1d53e22207fae26d0a1b436817b4d9
 -SIZE (ioquake3-devel-1.36_SVN1771.zip) = 4927089
 +MD5 (ioquake3-devel-1.36_SVN1772.zip) = ea23ffb0f6abd040d992338009dff4cf
 +SHA256 (ioquake3-devel-1.36_SVN1772.zip) = 56b5ced7cd99d66c82b48257f8b7b44531769de6c2043cfb49067341003c8d38
 +SIZE (ioquake3-devel-1.36_SVN1772.zip) = 4927184
 diff -Nur ports/games/ioquake3-devel.orig/pkg-message ports/games/ioquake3-devel/pkg-message
 --- ports/games/ioquake3-devel.orig/pkg-message	2010-01-26 00:17:45.000000000 +0100
 +++ ports/games/ioquake3-devel/pkg-message	2010-01-26 00:17:59.000000000 +0100
 @@ -1,6 +1,6 @@
  ==============================================================================
  
 -Should you encounter freezes when playing a demo or single player game,
 -rebuild without client libraries.
 +Should the game freeze when entering a match, try to change the value of
 +com_zoneMegs (e.g. to 48).
  
  ==============================================================================
 
State-Changed-From-To: open->closed 
State-Changed-By: amdmi3 
State-Changed-When: Thu Jan 28 00:32:31 UTC 2010 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=142886 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/142886: commit references a PR
Date: Thu, 28 Jan 2010 00:32:12 +0000 (UTC)

 amdmi3      2010-01-28 00:31:58 UTC
 
   FreeBSD ports repository
 
   Modified files:
     games/ioquake3-devel Makefile distinfo pkg-message 
   Log:
   - Update to 1772
   
   PR:             142886
   Submitted by:   Dominic Fandrey <kamikaze@bsdforen.de> (maintainer)
   
   Revision  Changes    Path
   1.4       +1 -1      ports/games/ioquake3-devel/Makefile
   1.4       +3 -3      ports/games/ioquake3-devel/distinfo
   1.3       +2 -2      ports/games/ioquake3-devel/pkg-message
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/142886: commit references a PR
Date: Thu, 28 Jan 2010 00:32:22 +0000 (UTC)

 amdmi3      2010-01-28 00:32:01 UTC
 
   FreeBSD ports repository
 
   Modified files:
     games/ioquake3       Makefile pkg-message 
   Added files:
     games/ioquake3/files patch-code-qcommon-vm_interpreted.c 
   Log:
   - Backport a patch to fixes crashes on 64bit systems
   
   PR:             142886
   Submitted by:   Dominic Fandrey <kamikaze@bsdforen.de> (maintainer)
   
   Revision  Changes    Path
   1.20      +1 -1      ports/games/ioquake3/Makefile
   1.1       +34 -0     ports/games/ioquake3/files/patch-code-qcommon-vm_interpreted.c (new)
   1.6       +2 -5      ports/games/ioquake3/pkg-message
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
