Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Nov 2006 03:34:25 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 109329 for review
Message-ID:  <200611060334.kA63YPRs074205@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=109329

Change 109329 by jb@jb_freebsd8 on 2006/11/06 03:33:26

	IFC
	
	I hope 'make universe' works with this stuff.

Affected files ...

.. //depot/projects/binutils/src/ObsoleteFiles.inc#2 integrate
.. //depot/projects/binutils/src/contrib/bind9/CHANGES#2 integrate
.. //depot/projects/binutils/src/contrib/bind9/bin/named/query.c#2 integrate
.. //depot/projects/binutils/src/contrib/bind9/configure.in#2 integrate
.. //depot/projects/binutils/src/contrib/bind9/lib/dns/opensslrsa_link.c#2 integrate
.. //depot/projects/binutils/src/contrib/bind9/lib/dns/resolver.c#2 integrate
.. //depot/projects/binutils/src/contrib/bind9/version#2 integrate
.. //depot/projects/binutils/src/lib/libc/net/gethostbyname.3#2 integrate
.. //depot/projects/binutils/src/lib/libc/net/resolver.3#2 integrate
.. //depot/projects/binutils/src/lib/libc/sys/clock_gettime.2#2 integrate
.. //depot/projects/binutils/src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#2 integrate
.. //depot/projects/binutils/src/share/man/man3/pthread_cond_init.3#2 integrate
.. //depot/projects/binutils/src/share/man/man3/pthread_create.3#2 integrate
.. //depot/projects/binutils/src/share/man/man3/pthread_mutex_init.3#2 integrate
.. //depot/projects/binutils/src/share/man/man9/VOP_REMOVE.9#2 integrate
.. //depot/projects/binutils/src/share/man/man9/VOP_RENAME.9#2 integrate
.. //depot/projects/binutils/src/share/mk/bsd.sys.mk#2 integrate
.. //depot/projects/binutils/src/sys/boot/Makefile#2 integrate
.. //depot/projects/binutils/src/sys/boot/efi/include/efilib.h#2 integrate
.. //depot/projects/binutils/src/sys/boot/efi/libefi/Makefile#2 integrate
.. //depot/projects/binutils/src/sys/boot/efi/libefi/bootinfo.c#2 delete
.. //depot/projects/binutils/src/sys/boot/efi/libefi/copy.c#2 delete
.. //depot/projects/binutils/src/sys/boot/efi/libefi/devicename.c#2 delete
.. //depot/projects/binutils/src/sys/boot/efi/libefi/efiboot.h#2 delete
.. //depot/projects/binutils/src/sys/boot/efi/libefi/efifpswa.c#2 delete
.. //depot/projects/binutils/src/sys/boot/efi/libefi/efifs.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/efi/libefi/efinet.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/efi/libefi/elf_freebsd.c#2 delete
.. //depot/projects/binutils/src/sys/boot/efi/libefi/errno.c#1 branch
.. //depot/projects/binutils/src/sys/boot/efi/libefi/handles.c#1 branch
.. //depot/projects/binutils/src/sys/boot/efi/libefi/module.c#2 delete
.. //depot/projects/binutils/src/sys/boot/efi/libefi/time.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/Makefile#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/common/Makefile#1 branch
.. //depot/projects/binutils/src/sys/boot/ia64/common/autoload.c#1 branch
.. //depot/projects/binutils/src/sys/boot/ia64/common/bootinfo.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/common/copy.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/common/devicename.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/common/exec.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/common/libia64.h#1 branch
.. //depot/projects/binutils/src/sys/boot/ia64/efi/Makefile#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/efi/conf.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/efi/efimd.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/efi/main.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/efi/version#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/ski/Makefile#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/ski/bootinfo.c#2 delete
.. //depot/projects/binutils/src/sys/boot/ia64/ski/copy.c#2 delete
.. //depot/projects/binutils/src/sys/boot/ia64/ski/devicename.c#2 delete
.. //depot/projects/binutils/src/sys/boot/ia64/ski/efi_stub.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/ski/elf_freebsd.c#2 delete
.. //depot/projects/binutils/src/sys/boot/ia64/ski/libski.h#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/ski/main.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/ski/skifs.c#2 integrate
.. //depot/projects/binutils/src/sys/boot/ia64/ski/skimd.c#1 branch
.. //depot/projects/binutils/src/sys/boot/ia64/ski/version#2 integrate
.. //depot/projects/binutils/src/sys/fs/smbfs/smbfs_node.c#2 integrate
.. //depot/projects/binutils/src/sys/fs/smbfs/smbfs_smb.c#2 integrate
.. //depot/projects/binutils/src/sys/fs/smbfs/smbfs_vnops.c#2 integrate
.. //depot/projects/binutils/src/sys/net/if_bridge.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_bsd_addr.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_crc32.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_indata.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_input.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_output.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_pcb.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_structs.h#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctp_uio.h#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctputil.c#2 integrate
.. //depot/projects/binutils/src/sys/netinet/sctputil.h#2 integrate
.. //depot/projects/binutils/src/sys/netinet6/sctp6_usrreq.c#2 integrate
.. //depot/projects/binutils/src/sys/netsmb/smb_subr.c#2 integrate
.. //depot/projects/binutils/src/sys/security/audit/audit_arg.c#2 integrate
.. //depot/projects/binutils/src/sys/security/audit/audit_private.h#2 integrate

Differences ...

==== //depot/projects/binutils/src/ObsoleteFiles.inc#2 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/ObsoleteFiles.inc,v 1.57 2006/10/31 21:05:35 jmg Exp $
+# $FreeBSD: src/ObsoleteFiles.inc,v 1.58 2006/11/05 00:39:56 trhodes Exp $
 #
 # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and
 # directories (OLD_DIRS) which should get removed at an update. Recently
@@ -183,6 +183,17 @@
 # 20041109: replaced by em(4)
 OLD_FILES+=usr/share/man/man4/gx.4.gz
 OLD_FILES+=usr/share/man/man4/if_gx.4.gz
+# 20041017: rune interface removed
+OLD_FILES+=usr/include/rune.h
+OLD_FILES+=usr/share/man/man3/fgetrune.3.gz
+OLD_FILES+=usr/share/man/man3/fputrune.3.gz
+OLD_FILES+=usr/share/man/man3/fungetrune.3.gz
+OLD_FILES+=usr/share/man/man3/mbrrune.3.gz
+OLD_FILES+=usr/share/man/man3/mbrune.3.gz
+OLD_FILES+=usr/share/man/man3/rune.3.gz
+OLD_FILES+=usr/share/man/man3/setinvalidrune.3.gz
+OLD_FILES+=usr/share/man/man3/sgetrune.3.gz
+OLD_FILES+=usr/share/man/man3/sputrune.3.gz
 # 20040925: bind9 import
 OLD_FILES+=usr/bin/dnskeygen
 OLD_FILES+=usr/bin/dnsquery

==== //depot/projects/binutils/src/contrib/bind9/CHANGES#2 (text+ko) ====

@@ -1,4 +1,19 @@
 
+	--- 9.3.2-P2 released ---
+
+2090.	[port]		win32: Visual C++ 2005 command line manifest support.
+			[RT #16417]
+
+2089.	[security]	Raise the minimum safe OpenSSL versions to
+			OpenSSL 0.9.7l and OpenSSL 0.9.8d.  Versions
+			prior to these have known security flaws which
+			are (potentially) exploitable in named. [RT #16391]
+
+2088.	[security]	Change the default RSA exponent from 3 to 65537.
+			[RT #16391]
+
+2083.	[port]		win32: Visual C++ 2005 support.
+
 	--- 9.3.2-P1 released ---
 
 2066.	[security]	Handle SIG queries gracefully. [RT #16300]

==== //depot/projects/binutils/src/contrib/bind9/bin/named/query.c#2 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004, 2005  Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2006  Internet Systems Consortium, Inc. ("ISC")
  * Copyright (C) 1999-2003  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: query.c,v 1.198.2.13.4.36.6.1 2006/08/17 07:12:31 marka Exp $ */
+/* $Id: query.c,v 1.198.2.13.4.36.6.2 2006/10/04 07:06:01 marka Exp $ */
 
 #include <config.h>
 

==== //depot/projects/binutils/src/contrib/bind9/configure.in#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# Copyright (C) 2004, 2005  Internet Systems Consortium, Inc. ("ISC")
+# Copyright (C) 2004-2006  Internet Systems Consortium, Inc. ("ISC")
 # Copyright (C) 1998-2003  Internet Software Consortium.
 #
 # Permission to use, copy, modify, and distribute this software for any
@@ -18,7 +18,7 @@
 esyscmd([sed "s/^/# /" COPYRIGHT])dnl
 AC_DIVERT_POP()dnl
 
-AC_REVISION($Revision: 1.294.2.23.2.51 $)
+AC_REVISION($Revision: 1.294.2.23.2.51.4.3 $)
 
 AC_INIT(lib/dns/name.c)
 AC_PREREQ(2.13)
@@ -357,6 +357,7 @@
 #
 # was --with-openssl specified?
 #
+OPENSSL_WARNING=
 AC_MSG_CHECKING(for OpenSSL library)
 AC_ARG_WITH(openssl,
 [  --with-openssl[=PATH]   Build with OpenSSL [yes|no|path].
@@ -462,51 +463,38 @@
 		[AC_MSG_RESULT(assuming it does work on target platform)]
 		)
 		 
-#
-#	OpenSSLDie is new with CERT CS-2002-23.  If we see it we have may
-#	have a patched library otherwise check that we are greater than
-#	the fixed versions
-#
-		AC_CHECK_FUNC(OpenSSLDie,
+AC_ARG_ENABLE(openssl-version-check,
+[AC_HELP_STRING([--enable-openssl-version-check],
+	[Check OpenSSL Version @<:@default=yes@:>@])])
+case "$enable_openssl_version_check" in
+yes|'')
 		AC_MSG_CHECKING(OpenSSL library version)
 		AC_TRY_RUN([
 #include <stdio.h>
 #include <openssl/opensslv.h>
 int main() {
-        if (OPENSSL_VERSION_NUMBER >= 0x0090581fL)
+	if ((OPENSSL_VERSION_NUMBER >= 0x009070cfL &&
+	     OPENSSL_VERSION_NUMBER < 0x009080000L) ||
+	    OPENSSL_VERSION_NUMBER >= 0x0090804fL)
                 return (0);
 	printf("\n\nFound   OPENSSL_VERSION_NUMBER %#010x\n",
 		OPENSSL_VERSION_NUMBER);
-	printf("Require OPENSSL_VERSION_NUMBER 0x0090581f or greater\n\n");
+	printf("Require OPENSSL_VERSION_NUMBER 0x009070cf or greater (0.9.7l)\n"
+	       "Require OPENSSL_VERSION_NUMBER 0x0090804f or greater (0.9.8d)\n\n");
         return (1);
 }
-],
+		],
 	        [AC_MSG_RESULT(ok)],
 		[AC_MSG_RESULT(not compatible)
-		 AC_MSG_ERROR(you need OpenSSL 0.9.5a or newer)],
+                 OPENSSL_WARNING=yes
+		],
 		[AC_MSG_RESULT(assuming target platform has compatible version)])
-		,
-	        AC_MSG_RESULT(did not find fixes for CERT CA-2002-23)
-		AC_MSG_CHECKING(OpenSSL library version)
-		AC_TRY_RUN([
-#include <stdio.h>
-#include <openssl/opensslv.h>
-int main() {
-        if ((OPENSSL_VERSION_NUMBER >= 0x0090605fL &&
-	     OPENSSL_VERSION_NUMBER < 0x009070000L) ||
-	     OPENSSL_VERSION_NUMBER >= 0x00907003L)
-                return (0);
-	printf("\n\nFound   OPENSSL_VERSION_NUMBER %#010x\n",
-		OPENSSL_VERSION_NUMBER);
-	printf("Require OPENSSL_VERSION_NUMBER 0x0090605f or greater (0.9.6e)\n"
-	       "Require OPENSSL_VERSION_NUMBER 0x00907003 or greater (0.9.7-beta2)\n\n");
-        return (1);
-}
-],
-	        [AC_MSG_RESULT(ok)],
-		[AC_MSG_RESULT(not compatible)
-		 AC_MSG_ERROR(you need OpenSSL 0.9.6e/0.9.7-beta2 (or newer): CERT CA-2002-23)],
-		[AC_MSG_RESULT(assuming target platform has compatible version)]))
+;;
+no)
+	AC_MSG_RESULT(Skipped OpenSSL version check)
+;;
+esac
+
 		AC_MSG_CHECKING(for OpenSSL DSA support)
 		if test -f $use_openssl/include/openssl/dsa.h
 		then
@@ -2116,6 +2104,30 @@
 )
 chmod a+x isc-config.sh
 
+if test "X$OPENSSL_WARNING" != "X"; then
+cat << \EOF
+WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+WARNING                                                                 WARNING
+WARNING         Your OpenSSL crypto library may be vulnerable to        WARNING
+WARNING         one or more of the the following known security         WARNING
+WARNING         flaws:                                                  WARNING
+WARNING                                                                 WARNING
+WARNING         CAN-2002-0659, CAN-2006-4339, CVE-2006-2937 and         WARNING
+WARNING         CVE-2006-2940.                                          WARNING
+WARNING                                                                 WARNING
+WARNING         It is recommended that you upgrade to OpenSSL           WARNING
+WARNING         version 0.9.8d/0.9.7l (or greater).                     WARNING
+WARNING                                                                 WARNING
+WARNING         You can disable this warning by specifying:             WARNING
+WARNING                                                                 WARNING
+WARNING               --disable-openssl-version-check          	        WARNING
+WARNING                                                                 WARNING
+WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
+EOF
+fi
+
 # Tell Emacs to edit this file in shell mode.
 # Local Variables:
 # mode: sh

==== //depot/projects/binutils/src/contrib/bind9/lib/dns/opensslrsa_link.c#2 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004  Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004, 2006  Internet Systems Consortium, Inc. ("ISC")
  * Copyright (C) 2000-2003  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -17,7 +17,7 @@
 
 /*
  * Principal Author: Brian Wellington
- * $Id: opensslrsa_link.c,v 1.1.4.1 2004/12/09 04:07:18 marka Exp $
+ * $Id: opensslrsa_link.c,v 1.1.4.1.10.5 2006/10/11 03:58:50 marka Exp $
  */
 #ifdef OPENSSL
 
@@ -39,7 +39,23 @@
 #include <openssl/err.h>
 #include <openssl/objects.h>
 #include <openssl/rsa.h>
+#if OPENSSL_VERSION_NUMBER > 0x00908000L
+#include <openssl/bn.h>
+#endif
+
+/*
+ * We don't use configure for windows so enforce the OpenSSL version
+ * here.  Unlike with configure we don't support overriding this test.
+ */
+#ifdef WIN32
+#if !((OPENSSL_VERSION_NUMBER >= 0x009070cfL && \
+       OPENSSL_VERSION_NUMBER < 0x009080000L) || \
+      OPENSSL_VERSION_NUMBER >= 0x0090804fL) 
+#error Please upgrade OpenSSL to 0.9.8d/0.9.7l or greater.
+#endif
+#endif
 
+
 	/*
 	 * XXXMPA  Temporarially disable RSA_BLINDING as it requires
 	 * good quality random data that cannot currently be guarenteed.
@@ -260,13 +276,47 @@
 
 static isc_result_t
 opensslrsa_generate(dst_key_t *key, int exp) {
+#if OPENSSL_VERSION_NUMBER > 0x00908000L
+	BN_GENCB cb;
+	RSA *rsa = RSA_new();
+	BIGNUM *e = BN_new();
+
+	if (rsa == NULL || e == NULL)
+		goto err;
+
+	if (exp == 0) {
+		/* RSA_F4 0x10001 */
+		BN_set_bit(e, 0);
+		BN_set_bit(e, 16);
+	 } else {
+		/* F5 0x100000001 */
+		BN_set_bit(e, 0);
+		BN_set_bit(e, 32);
+	}
+
+	BN_GENCB_set_old(&cb, NULL, NULL);
+
+	if (RSA_generate_key_ex(rsa, key->key_size, e, &cb)) {
+		BN_free(e);
+		SET_FLAGS(rsa);
+		key->opaque = rsa;
+		return (ISC_R_SUCCESS);
+	}
+
+ err:
+	if (e != NULL)
+		BN_free(e);
+	if (rsa != NULL)
+		RSA_free(rsa);
+	return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
+#else
 	RSA *rsa;
 	unsigned long e;
 
 	if (exp == 0)
-		e = RSA_3;
+		e = RSA_F4;
 	else
-		e = RSA_F4;
+		e = 0x40000003;
 	rsa = RSA_generate_key(key->key_size, e, NULL, NULL);
 	if (rsa == NULL)
 		return (dst__openssl_toresult(DST_R_OPENSSLFAILURE));
@@ -274,6 +324,7 @@
 	key->opaque = rsa;
 
 	return (ISC_R_SUCCESS);
+#endif
 }
 
 static isc_boolean_t

==== //depot/projects/binutils/src/contrib/bind9/lib/dns/resolver.c#2 (text+ko) ====

@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2004, 2005  Internet Systems Consortium, Inc. ("ISC")
+ * Copyright (C) 2004-2006  Internet Systems Consortium, Inc. ("ISC")
  * Copyright (C) 1999-2003  Internet Software Consortium.
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: resolver.c,v 1.218.2.18.4.56.4.1 2006/08/17 07:12:31 marka Exp $ */
+/* $Id: resolver.c,v 1.218.2.18.4.56.4.2 2006/10/04 07:06:02 marka Exp $ */
 
 #include <config.h>
 

==== //depot/projects/binutils/src/contrib/bind9/version#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $Id: version,v 1.26.2.17.2.21.4.1 2006/08/17 07:12:31 marka Exp $
+# $Id: version,v 1.26.2.17.2.21.4.2 2006/10/04 07:00:13 marka Exp $
 #
 # This file must follow /bin/sh rules.  It is imported directly via
 # configure.
@@ -7,4 +7,4 @@
 MINORVER=3
 PATCHVER=2
 RELEASETYPE=-P
-RELEASEVER=1
+RELEASEVER=2

==== //depot/projects/binutils/src/lib/libc/net/gethostbyname.3#2 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     From: @(#)gethostbyname.3	8.4 (Berkeley) 5/25/95
-.\" $FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.36 2006/09/17 21:27:33 ru Exp $
+.\" $FreeBSD: src/lib/libc/net/gethostbyname.3,v 1.37 2006/11/04 09:42:22 lawrance Exp $
 .\"
 .Dd May 12, 2006
 .Dt GETHOSTBYNAME 3
@@ -49,7 +49,7 @@
 .Lb libc
 .Sh SYNOPSIS
 .In netdb.h
-.Vt extern int h_errno ;
+.Vt int h_errno ;
 .Ft struct hostent *
 .Fn gethostbyname "const char *name"
 .Ft struct hostent *
@@ -261,7 +261,7 @@
 is indicated by return of a
 .Dv NULL
 pointer.
-The external integer
+The integer
 .Va h_errno
 may then be checked to see whether this is a temporary failure
 or an invalid or unknown host.

==== //depot/projects/binutils/src/lib/libc/net/resolver.3#2 (text+ko) ====

@@ -30,9 +30,9 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)resolver.3	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/net/resolver.3,v 1.31 2006/07/17 09:27:26 stefanf Exp $
+.\" $FreeBSD: src/lib/libc/net/resolver.3,v 1.32 2006/11/04 09:42:22 lawrance Exp $
 .\"
-.Dd June 4, 1993
+.Dd November 4, 2006
 .Dt RESOLVER 3
 .Os
 .Sh NAME
@@ -410,6 +410,20 @@
 .Fn res_init
 function will return 0 on success, or \-1 in a threaded program if
 per-thread storage could not be allocated.
+.Pp
+The
+.Fn res_mkquery ,
+.Fn res_search ,
+and
+.Fn res_query
+functions return the size of the response on success, or \-1 if an
+error occurs.
+The integer
+.Vt h_errno
+may be checked to determine the reason for error.
+See
+.Xr gethostbyname 3
+for more information.
 .Sh FILES
 .Bl -tag -width /etc/resolv.conf
 .It Pa /etc/resolv.conf

==== //depot/projects/binutils/src/lib/libc/sys/clock_gettime.2#2 (text+ko) ====

@@ -31,9 +31,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.22 2006/09/17 21:27:34 ru Exp $
+.\" $FreeBSD: src/lib/libc/sys/clock_gettime.2,v 1.23 2006/11/04 09:35:36 danger Exp $
 .\"
-.Dd November 18, 2005
+.Dd November 4, 2006
 .Dt CLOCK_GETTIME 2
 .Os
 .Sh NAME
@@ -44,7 +44,7 @@
 .Sh LIBRARY
 .Lb libc
 .Sh SYNOPSIS
-.In sys/time.h
+.In time.h
 .Ft int
 .Fn clock_gettime "clockid_t clock_id" "struct timespec *tp"
 .Ft int
@@ -82,7 +82,7 @@
 The structure pointed to by
 .Fa tp
 is defined in
-.In sys/time.h
+.In sys/timespec.h
 as:
 .Pp
 .Bd -literal

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

@@ -3,7 +3,7 @@
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.981 2006/10/21 14:06:34 bmah Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.982 2006/11/04 02:01:52 bmah Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -619,7 +619,7 @@
 	  architectures such as sparc64.  &merged;</para>
 
 	<para>The &man.em.4; driver has been updated to
-	  version 6.1.4 from Intel.  Among other changes, it now supports
+	  version 6.2.9 from Intel.  Among other changes, it now supports
 	  80003, 82571, 82571EB and 82572 based adapters, as well as
 	  onboard-NICs on ICH8-based motherboards. &merged;</para>
 

==== //depot/projects/binutils/src/share/man/man3/pthread_cond_init.3#2 (text+ko) ====

@@ -25,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man3/pthread_cond_init.3,v 1.16 2006/09/30 11:22:25 ru Exp $
+.\" $FreeBSD: src/share/man/man3/pthread_cond_init.3,v 1.17 2006/11/04 10:08:16 trhodes Exp $
 .\"
-.Dd July 28, 1998
+.Dd November 4, 2006
 .Dt PTHREAD_COND_INIT 3
 .Os
 .Sh NAME
@@ -71,6 +71,7 @@
 variable.
 .El
 .Sh SEE ALSO
+.Xr pthread_condattr 3 ,
 .Xr pthread_cond_broadcast 3 ,
 .Xr pthread_cond_destroy 3 ,
 .Xr pthread_cond_signal 3 ,

==== //depot/projects/binutils/src/share/man/man3/pthread_create.3#2 (text+ko) ====

@@ -28,9 +28,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man3/pthread_create.3,v 1.22 2006/11/01 04:46:06 maxim Exp $
+.\" $FreeBSD: src/share/man/man3/pthread_create.3,v 1.23 2006/11/04 10:08:16 trhodes Exp $
 .\"
-.Dd November 1, 2006
+.Dd November 4, 2006
 .Dt PTHREAD_CREATE 3
 .Os
 .Sh NAME
@@ -118,6 +118,7 @@
 .El
 .Sh SEE ALSO
 .Xr fork 2 ,
+.Xr pthread_attr 3 ,
 .Xr pthread_cleanup_pop 3 ,
 .Xr pthread_cleanup_push 3 ,
 .Xr pthread_exit 3 ,

==== //depot/projects/binutils/src/share/man/man3/pthread_mutex_init.3#2 (text+ko) ====

@@ -25,9 +25,9 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man3/pthread_mutex_init.3,v 1.16 2006/09/30 11:22:25 ru Exp $
+.\" $FreeBSD: src/share/man/man3/pthread_mutex_init.3,v 1.17 2006/11/04 10:08:16 trhodes Exp $
 .\"
-.Dd July 29, 1998
+.Dd November 4, 2006
 .Dt PTHREAD_MUTEX_INIT 3
 .Os
 .Sh NAME
@@ -67,6 +67,7 @@
 The process cannot allocate enough memory to create another mutex.
 .El
 .Sh SEE ALSO
+.Xr pthread_mutexattr 3 ,
 .Xr pthread_mutex_destroy 3 ,
 .Xr pthread_mutex_lock 3 ,
 .Xr pthread_mutex_trylock 3 ,

==== //depot/projects/binutils/src/share/man/man9/VOP_REMOVE.9#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/VOP_REMOVE.9,v 1.14 2005/06/28 20:15:18 hmp Exp $
+.\" $FreeBSD: src/share/man/man9/VOP_REMOVE.9,v 1.15 2006/11/04 23:58:15 pjd Exp $
 .\"
 .Dd July 24, 1996
 .Os
@@ -80,16 +80,6 @@
      */
     ...;
 
-    /*
-     * Careful about trying to remove ".".  XXX this should be handled
-     * higher up.
-     */
-    if (dvp == vp)
-	vrele(vp);
-    else
-	vput(vp);
-    vput(dvp);
-
     return error;
 }
 .Ed

==== //depot/projects/binutils/src/share/man/man9/VOP_RENAME.9#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/VOP_RENAME.9,v 1.21 2005/01/28 10:43:05 ru Exp $
+.\" $FreeBSD: src/share/man/man9/VOP_RENAME.9,v 1.22 2006/11/04 23:59:51 pjd Exp $
 .\"
 .Dd July 24, 1996
 .Os
@@ -104,34 +104,13 @@
     }
 
     /*
-     * Check if just deleting a link name.
+     * POSIX: "If the old argument and the new argument
+     * both refer to links to the same existing file,
+     * the rename() function shall return successfully
+     * and perform no other action."
+     * The upper layers already handle this case.
      */
-    if (fvp == tvp) {
-	if (fvp->v_type == VDIR) {
-	    error = EINVAL;
-	    goto abortit;
-	}
-
-	/*
-	 * Release destination.
-	 */
-	vput(tdvp);
-	vput(tvp);
-
-	/*
-	 * Delete source.  Pretty bizarre stuff.
-	 */
-	vrele(fdvp);
-	vrele(fvp);
-	fcnp->cn_flags &= ~MODMASK;
-	fcnp->cn_flags |= LOCKPARENT | LOCKLEAF;
-	fcnp->cn_nameiop = DELETE;
-	VREF(fdvp);
-	error = relookup(fdvp, &fvp, fcnp);
-	if (error == 0)
-	    vrele(fdvp);
-	return VOP_REMOVE(fdvp, fvp, fcnp);
-    }
+    KASSERT(fvp != tvp, ("vop_rename: source and destination are the same"));
 
     if (fvp is immutable) {
 	error = EPERM;

==== //depot/projects/binutils/src/share/mk/bsd.sys.mk#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.38 2006/08/11 17:28:59 des Exp $
+# $FreeBSD: src/share/mk/bsd.sys.mk,v 1.39 2006/11/04 04:39:05 jb Exp $
 #
 # This file contains common settings used for building FreeBSD
 # sources.
@@ -67,5 +67,9 @@
 . endif
 .endif
 
+.if defined(IGNORE_PRAGMA)
+CWARNFLAGS	+=	-Wno-unknown-pragmas
+.endif
+
 # Allow user-specified additional warning flags
 CFLAGS		+=	${CWARNFLAGS}

==== //depot/projects/binutils/src/sys/boot/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/Makefile,v 1.31 2006/10/09 04:43:06 kmacy Exp $
+# $FreeBSD: src/sys/boot/Makefile,v 1.32 2006/11/05 22:03:02 marcel Exp $
 
 .include <bsd.own.mk>
 
@@ -8,7 +8,7 @@
 .endif
 
 # Build EFI library.
-.if ${MACHINE_ARCH} == "ia64"
+.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "ia64"
 SUBDIR+=		efi
 .endif
 

==== //depot/projects/binutils/src/sys/boot/efi/include/efilib.h#2 (text+ko) ====

@@ -1,5 +1,6 @@
 /*-
  * Copyright (c) 2000 Doug Rabson
+ * Copyright (c) 2006 Marcel Moolenaar
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -23,24 +24,31 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *	$FreeBSD: src/sys/boot/efi/include/efilib.h,v 1.5 2006/11/02 02:42:47 marcel Exp $
+ * $FreeBSD: src/sys/boot/efi/include/efilib.h,v 1.6 2006/11/05 22:03:02 marcel Exp $
  */
 
-#include <efifpswa.h>
+#include <stand.h>
 
 extern EFI_HANDLE		IH;
 extern EFI_SYSTEM_TABLE		*ST;
 extern EFI_BOOT_SERVICES	*BS;
 extern EFI_RUNTIME_SERVICES	*RS;
 
-/* DIG64 Headless Console & Debug Port Table. */
-#define	HCDP_TABLE_GUID		\
-	{0xf951938d,0x620b,0x42ef,{0x82,0x79,0xa8,0x4b,0x79,0x61,0x78,0x98}}
+extern struct devsw efifs_dev;
+extern struct fs_ops efifs_fsops;
+
+extern struct devsw efinet_dev;
+extern struct netif_driver efinetif;
 
 void *efi_get_table(EFI_GUID *tbl);
 void efi_main(EFI_HANDLE image_handle, EFI_SYSTEM_TABLE *system_table);
 
-EFI_PHYSICAL_ADDRESS efimd_va2pa(EFI_VIRTUAL_ADDRESS);
+int efi_register_handles(struct devsw *, EFI_HANDLE *, int);
+EFI_HANDLE efi_find_handle(struct devsw *, int);
+int efi_handle_lookup(EFI_HANDLE, struct devsw **, int *);
+
+int efi_status_to_errno(EFI_STATUS);
+time_t efi_time(EFI_TIME *);
 
 EFI_STATUS main(int argc, CHAR16 *argv[]);
 void exit(EFI_STATUS status);

==== //depot/projects/binutils/src/sys/boot/efi/libefi/Makefile#2 (text+ko) ====

@@ -1,27 +1,16 @@
-# $FreeBSD: src/sys/boot/efi/libefi/Makefile,v 1.16 2004/11/28 00:30:22 marcel Exp $
+# $FreeBSD: src/sys/boot/efi/libefi/Makefile,v 1.17 2006/11/05 22:03:03 marcel Exp $
 
-.PATH: ${.CURDIR}/../../../${MACHINE_ARCH}/${MACHINE_ARCH}
-
 LIB=	efi
 INTERNALLIB=
 
-SRCS=	bootinfo.c copy.c delay.c devicename.c efi_console.c efifs.c efinet.c \
-	elf_freebsd.c libefi.c module.c time.c
+SRCS=	delay.c efi_console.c efifs.c efinet.c errno.c handles.c libefi.c \
+	time.c
 
-.if ${MACHINE_ARCH} == "ia64"
-SRCS+=	efifpswa.c pal.S
-.endif
-
 CFLAGS+= -I${.CURDIR}/../include
-CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH}
+CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH:S/amd64/i386/}
 CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
 
 # Pick up the bootstrap header for some interface items
 CFLAGS+= -I${.CURDIR}/../../common
 
-# Make the disk code more talkative
-.if defined(BOOT_DISK_DEBUG)
-CFLAGS+= -DDISK_DEBUG
-.endif
-
 .include <bsd.lib.mk>

==== //depot/projects/binutils/src/sys/boot/efi/libefi/efifs.c#2 (text+ko) ====

@@ -1,5 +1,6 @@
 /*-
  * Copyright (c) 2001 Doug Rabson
+ * Copyright (c) 2006 Marcel Moolenaar
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -22,88 +23,100 @@
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
- *
- * $FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.9 2006/11/02 01:23:17 marcel Exp $
  */
 
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.10 2006/11/05 22:03:03 marcel Exp $");
+
 #include <sys/param.h>
 #include <sys/time.h>
 #include <stddef.h>
-#include <stand.h>
 #include <stdarg.h>
 
+#include <bootstrap.h>
+
 #include <efi.h>
 #include <efilib.h>
-#include "efiboot.h"
+#include <efiprot.h>
 
 /* Perform I/O in blocks of size EFI_BLOCK_SIZE. */
 #define	EFI_BLOCK_SIZE	(1024 * 1024)
 
+union fileinfo {
+	EFI_FILE_INFO info;
+	char bytes[sizeof(EFI_FILE_INFO) + 508];
+};
+
+static EFI_GUID sfs_guid = SIMPLE_FILE_SYSTEM_PROTOCOL;
+static EFI_GUID fs_guid = EFI_FILE_SYSTEM_INFO_ID;
+static EFI_GUID fi_guid = EFI_FILE_INFO_ID;
+
 static int
 efifs_open(const char *upath, struct open_file *f)
 {
-	struct efi_devdesc *dev = f->f_devdata;
-	static EFI_GUID sfsid = SIMPLE_FILE_SYSTEM_PROTOCOL;
-	EFI_FILE_IO_INTERFACE *sfs;
-	EFI_FILE *root;
-	EFI_FILE *file;
+	struct devdesc *dev = f->f_devdata;
+	EFI_FILE_IO_INTERFACE *fsif;
+	EFI_FILE *file, *root;
+	EFI_HANDLE h;
 	EFI_STATUS status;
-	CHAR16 *cp;
-	CHAR16 *path;
+	CHAR16 *cp, *path;
+
+	if (f->f_dev != &efifs_dev || dev->d_unit < 0)
+		return (EINVAL);
 
-	/*
-	 * We cannot blindly assume that f->f_devdata points to a
-	 * efi_devdesc structure. Before we dereference 'dev', make
-	 * sure that the underlying device is ours.
-	 */
-	if (f->f_dev != &efifs_dev || dev->d_handle == NULL)
-		return ENOENT;
+	h = efi_find_handle(f->f_dev, dev->d_unit);
+	if (h == NULL)
+		return (EINVAL);
 
-	status = BS->HandleProtocol(dev->d_handle, &sfsid, (VOID **)&sfs);
+	status = BS->HandleProtocol(h, &sfs_guid, (VOID **)&fsif);
 	if (EFI_ERROR(status))
-		return ENOENT;
+		return (efi_status_to_errno(status));
 
-	/*
-	 * Find the root directory.
-	 */
-	status = sfs->OpenVolume(sfs, &root);
+	/* Get the root directory. */
+	status = fsif->OpenVolume(fsif, &root);
+	if (EFI_ERROR(status))
+		return (efi_status_to_errno(status));
 
-	/*
-	 * Convert path to CHAR16, skipping leading separators.
-	 */
 	while (*upath == '/')
 		upath++;
-	if (!*upath) {
-		/* Opening the root directory, */
+
+	/* Special case: opening the root directory. */
+	if (*upath == '\0') {
 		f->f_fsdata = root;
-		return 0;
+		return (0);
+	}
+
+	path = malloc((strlen(upath) + 1) * sizeof(CHAR16));
+	if (path == NULL) {
+		root->Close(root);
+		return (ENOMEM);
 	}
-	cp = path = malloc((strlen(upath) + 1) * sizeof(CHAR16));
-	if (path == NULL)
-		return ENOMEM;
-	while (*upath) {
-		if (*upath == '/')
+
+	cp = path;
+	while (*upath != '\0') {
+		if (*upath == '/') {
 			*cp = '\\';
-		else
+			while (upath[1] == '/')
+				upath++;
+		} else
 			*cp = *upath;
 		upath++;
 		cp++;
 	}
-	*cp++ = 0;
+	*cp = 0;
 
-	/*
-	 * Try to open it.
-	 */
-	status = root->Open(root, &file, path, EFI_FILE_MODE_READ, 0);
+	/* Open the file. */
+	status = root->Open(root, &file, path,
+	    EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE, 0);
+	if (status == EFI_ACCESS_DENIED || status == EFI_WRITE_PROTECTED)
+		status = root->Open(root, &file, path, EFI_FILE_MODE_READ, 0);
 	free(path);
-	if (EFI_ERROR(status)) {
-		root->Close(root);
-		return ENOENT;
-	}
+	root->Close(root);
+	if (EFI_ERROR(status))
+		return (efi_status_to_errno(status));
 
-	root->Close(root);
 	f->f_fsdata = file;
-	return 0;
+	return (0);
 }
 
 static int
@@ -111,8 +124,12 @@
 {
 	EFI_FILE *file = f->f_fsdata;
 
+	if (file == NULL)
+		return (EBADF);
+
 	file->Close(file);
-	return 0;
+	f->f_fsdata = NULL;
+	return (0);
 }
 
 static int
@@ -123,15 +140,17 @@
 	UINTN sz = size;
 	char *bufp;
 
+	if (file == NULL)
+		return (EBADF);
+
 	bufp = buf;
 	while (size > 0) {
 		sz = size;
 		if (sz > EFI_BLOCK_SIZE)
 			sz = EFI_BLOCK_SIZE;
 		status = file->Read(file, &sz, bufp);
-		twiddle();
 		if (EFI_ERROR(status))
-			return EIO;
+			return (efi_status_to_errno(status));
 		if (sz == 0)
 			break;
 		size -= sz;

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611060334.kA63YPRs074205>