PERFORCE change 109329 for review
John Birrell
jb at FreeBSD.org
Mon Nov 6 03:34:29 UTC 2006
http://perforce.freebsd.org/chv.cgi?CH=109329
Change 109329 by jb at 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) <<<
More information about the p4-projects
mailing list