From owner-p4-projects@FreeBSD.ORG Mon Nov 6 03:34:29 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6B73F16A47E; Mon, 6 Nov 2006 03:34:29 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 28B8D16A412 for ; Mon, 6 Nov 2006 03:34:29 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 373ED43D66 for ; Mon, 6 Nov 2006 03:34:28 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id kA63YS5S074217 for ; Mon, 6 Nov 2006 03:34:28 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id kA63YPRs074205 for perforce@freebsd.org; Mon, 6 Nov 2006 03:34:25 GMT (envelope-from jb@freebsd.org) Date: Mon, 6 Nov 2006 03:34:25 GMT Message-Id: <200611060334.kA63YPRs074205@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 109329 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Nov 2006 03:34:29 -0000 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 ==== //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 #include 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 -#include -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 #include #include +#if OPENSSL_VERSION_NUMBER > 0x00908000L +#include +#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 ==== //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 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.981 2006/10/21 14:06:34 bmah Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.982 2006/11/04 02:01:52 bmah Exp $ 2000 @@ -619,7 +619,7 @@ architectures such as sparc64. &merged; 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; ==== //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 @@ -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 +#include 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 ==== //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 +__FBSDID("$FreeBSD: src/sys/boot/efi/libefi/efifs.c,v 1.10 2006/11/05 22:03:03 marcel Exp $"); + #include #include #include -#include #include +#include + #include #include -#include "efiboot.h" +#include /* 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) <<<