Date: Sun, 23 Mar 2008 08:11:45 GMT From: Qing Li <qingli@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 138344 for review Message-ID: <200803230811.m2N8BjAx005984@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=138344 Change 138344 by qingli@FreeBSD-newarp on 2008/03/23 08:11:05 This patch provides the backend of the equal-cost multi-path support for both IPv4 and IPv6. Previously, multi-path route insertion is disallowed. For example, route add -net 192.103.54.0/24 10.9.44.1 route add -net 192.103.54.0/24 10.9.44.10 The second route insertion will trigger an error message of "add net 192.103.54.0/24: gateway 10.9.44.10: route already in table" More testing is in progress. I intend to provide incremental support for failover and connection load balancing across the multi-path. Affected files ... .. //depot/projects/qingli_mpath/src/bin/sh/options.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/CHANGES#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/FREEBSD-upgrade#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/FREEBSD-vendor#1 branch .. //depot/projects/qingli_mpath/src/contrib/bzip2/LICENSE#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/Makefile#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/Makefile-libbz2_so#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/README#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/blocksort.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/bzip2.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/bzip2recover.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib_private.h#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/compress.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/crctable.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/decompress.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/huffman.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/randtable.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/spewG.c#2 integrate .. //depot/projects/qingli_mpath/src/contrib/bzip2/unzcrash.c#2 integrate .. //depot/projects/qingli_mpath/src/include/pthread.h#2 integrate .. //depot/projects/qingli_mpath/src/include/time.h#2 integrate .. //depot/projects/qingli_mpath/src/lib/libarchive/Makefile#3 integrate .. //depot/projects/qingli_mpath/src/lib/libfetch/common.c#3 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/pthread.map#3 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/Makefile.inc#3 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_getcpuclockid.c#1 branch .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_mutexattr.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_rtld.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthread_db/libc_r_db.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthread_db/libpthread_db.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthread_db/libthr_db.c#2 integrate .. //depot/projects/qingli_mpath/src/lib/libthread_db/thread_db.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/devd/token.l#2 integrate .. //depot/projects/qingli_mpath/src/sbin/dhclient/dhclient.c#2 integrate .. //depot/projects/qingli_mpath/src/sbin/newfs/newfs.8#2 integrate .. //depot/projects/qingli_mpath/src/sbin/route/route.c#2 integrate .. //depot/projects/qingli_mpath/src/share/man/man4/man4.i386/streams.4#3 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/amd64/nexus.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/amd64/isa/atpic.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/arm/arm/elf_trampoline.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/conf/AVILA#3 integrate .. //depot/projects/qingli_mpath/src/sys/arm/conf/AVILA.hints#2 integrate .. //depot/projects/qingli_mpath/src/sys/arm/xscale/ixp425/if_npe.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/arm/xscale/ixp425/ixdp425_pci.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/compat/linux/linux_futex.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/compat/linux/linux_futex.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/conf/NOTES#3 integrate .. //depot/projects/qingli_mpath/src/sys/conf/files#3 edit .. //depot/projects/qingli_mpath/src/sys/conf/options#3 edit .. //depot/projects/qingli_mpath/src/sys/dev/aac/aac.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ata/ata-raid.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/ath/if_ath.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_main.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_offload.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/cxgb/cxgb_sge.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/drm/drm_pciids.h#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/drm/i915_dma.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/fxp/if_fxp.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/mfi/mfi.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/syscons/syscons.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/usb/ehci.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/usb/if_rum.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/usb/ohci.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/usb/usbdevs#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/usb/usbdi.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/dev/usb/usbdi.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/dev/usb/usbdivar.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/fs/devfs/devfs_rule.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/fs/msdosfs/msdosfs_vfsops.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/i386/i386/nexus.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/i386/isa/atpic.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/bus_if.m#2 integrate .. //depot/projects/qingli_mpath/src/sys/kern/kern_exit.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/kern_fork.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/kern_sig.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/kern_switch.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/kern_thr.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/kern_thread.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/kern_timeout.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/sched_4bsd.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/sched_ule.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/subr_bus.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/subr_sleepqueue.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/subr_trap.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/vfs_cluster.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/kern/vfs_default.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/kern/vfs_subr.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/net/if_ethersubr.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/net/if_gre.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/net/radix.c#2 edit .. //depot/projects/qingli_mpath/src/sys/net/radix.h#2 edit .. //depot/projects/qingli_mpath/src/sys/net/radix_mpath.c#1 add .. //depot/projects/qingli_mpath/src/sys/net/radix_mpath.h#1 add .. //depot/projects/qingli_mpath/src/sys/net/route.c#3 edit .. //depot/projects/qingli_mpath/src/sys/net/route.h#2 edit .. //depot/projects/qingli_mpath/src/sys/net/rtsock.c#3 edit .. //depot/projects/qingli_mpath/src/sys/netgraph/ng_tee.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/netinet/in_proto.c#2 edit .. //depot/projects/qingli_mpath/src/sys/netinet6/in6_proto.c#2 edit .. //depot/projects/qingli_mpath/src/sys/netipsec/xform_tcp.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/nfs4client/nfs4_vfsops.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/nfs4client/nfs4_vnops.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/nfsclient/nfs_subs.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/nfsclient/nfs_vfsops.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/nfsclient/nfs_vnops.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/nfsserver/nfs_serv.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/sys/aac_ioctl.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/sys/buf.h#3 integrate .. //depot/projects/qingli_mpath/src/sys/sys/bufobj.h#3 integrate .. //depot/projects/qingli_mpath/src/sys/sys/bus.h#3 integrate .. //depot/projects/qingli_mpath/src/sys/sys/proc.h#3 integrate .. //depot/projects/qingli_mpath/src/sys/sys/runq.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/sys/sched.h#3 integrate .. //depot/projects/qingli_mpath/src/sys/sys/sysctl.h#2 integrate .. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_inode.c#2 integrate .. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_rawread.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_softdep.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_vfsops.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/ufs/ffs/ffs_vnops.c#3 integrate .. //depot/projects/qingli_mpath/src/sys/vm/vm_mmap.c#3 integrate .. //depot/projects/qingli_mpath/src/tools/regression/bin/sh/builtins/getopts1.0#1 branch .. //depot/projects/qingli_mpath/src/tools/regression/bin/sh/builtins/getopts1.0.stdout#1 branch .. //depot/projects/qingli_mpath/src/tools/tools/README#2 integrate .. //depot/projects/qingli_mpath/src/tools/tools/net80211/wlanwatch/wlanwatch.c#2 integrate .. //depot/projects/qingli_mpath/src/tools/tools/tinybsd/tinybsd#3 integrate .. //depot/projects/qingli_mpath/src/tools/tools/track/Makefile#1 branch .. //depot/projects/qingli_mpath/src/tools/tools/track/track.sh#1 branch .. //depot/projects/qingli_mpath/src/usr.bin/ktrace/ktrace.c#2 integrate Differences ... ==== //depot/projects/qingli_mpath/src/bin/sh/options.c#2 (text+ko) ==== @@ -36,7 +36,7 @@ #endif #endif /* not lint */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/bin/sh/options.c,v 1.25 2006/04/09 12:20:42 stefanf Exp $"); +__FBSDID("$FreeBSD: src/bin/sh/options.c,v 1.26 2008/03/22 14:06:01 stefanf Exp $"); #include <signal.h> #include <unistd.h> @@ -383,7 +383,7 @@ } ap2 = shellparam.p; while ((*ap2++ = *ap1++) != NULL); - shellparam.optnext = NULL; + shellparam.reset = 1; INTON; return 0; } @@ -405,6 +405,7 @@ if (*argptr != NULL) { setparam(argptr); } + shellparam.reset = 1; INTON; return 0; } @@ -414,7 +415,6 @@ getoptsreset(const char *value) { if (number(value) == 1) { - shellparam.optnext = NULL; shellparam.reset = 1; } } ==== //depot/projects/qingli_mpath/src/contrib/bzip2/CHANGES#2 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -312,3 +312,8 @@ * Fix minor doc/comment bugs. + +1.0.5 (10 Dec 07) +~~~~~~~~~~~~~~~~~ +Security fix only. Fixes CERT-FI 20469 as it applies to bzip2. + ==== //depot/projects/qingli_mpath/src/contrib/bzip2/FREEBSD-upgrade#2 (text+ko) ==== @@ -1,12 +1,12 @@ -$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.4 2007/03/30 16:33:05 delphij Exp $ +$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.5 2008/03/20 02:45:32 delphij Exp $ Julian Seward's bzip2 originals can be found at: http://www.bzip.org/downloads.html Imported by: - cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.4." \ - src/contrib/bzip2 BZIP2 v1_0_4 + cvs import -m "Virgin import (trimmed) of Bzip2 version 1.0.5." \ + src/contrib/bzip2 BZIP2 v1_0_5 Notes: The following log shows details of trimming: ==== //depot/projects/qingli_mpath/src/contrib/bzip2/LICENSE#2 (text+ko) ==== @@ -2,7 +2,7 @@ -------------------------------------------------------------------------- This program, "bzip2", the associated library "libbzip2", and all -documentation, are copyright (C) 1996-2006 Julian R Seward. All +documentation, are copyright (C) 1996-2007 Julian R Seward. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,8 +36,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -Julian Seward, Cambridge, UK. -jseward@bzip.org -bzip2/libbzip2 version 1.0.4 of 20 December 2006 +Julian Seward, jseward@bzip.org +bzip2/libbzip2 version 1.0.5 of 10 December 2007 -------------------------------------------------------------------------- ==== //depot/projects/qingli_mpath/src/contrib/bzip2/Makefile#2 (text+ko) ==== @@ -2,8 +2,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. @@ -137,7 +137,7 @@ distclean: clean rm -f manual.ps manual.html manual.pdf -DISTNAME=bzip2-1.0.4 +DISTNAME=bzip2-1.0.5 dist: check manual rm -f $(DISTNAME) ln -s -f . $(DISTNAME) ==== //depot/projects/qingli_mpath/src/contrib/bzip2/Makefile-libbz2_so#2 (text+ko) ==== @@ -10,8 +10,8 @@ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # -# bzip2/libbzip2 version 1.0.4 of 20 December 2006 -# Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> +# bzip2/libbzip2 version 1.0.5 of 10 December 2007 +# Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> # # Please read the WARNING, DISCLAIMER and PATENTS sections in the # README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/README#2 (text+ko) ==== @@ -6,8 +6,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in this file. @@ -177,7 +177,11 @@ See the CHANGES file. +WHAT'S NEW IN 1.0.5 ? + See the CHANGES file. + + I hope you find bzip2 useful. Feel free to contact me at jseward@bzip.org if you have any suggestions or queries. Many people mailed me with @@ -203,3 +207,4 @@ 30 December 2001 (bzip2, version 1.0.2pre1) 15 February 2005 (bzip2, version 1.0.3) 20 December 2006 (bzip2, version 1.0.4) +10 December 2007 (bzip2, version 1.0.5) ==== //depot/projects/qingli_mpath/src/contrib/bzip2/README.COMPILATION.PROBLEMS#2 (text+ko) ==== @@ -2,8 +2,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. -bzip2/libbzip2 version 1.0.4 of 20 December 2006 -Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> +bzip2/libbzip2 version 1.0.5 of 10 December 2007 +Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -12,7 +12,7 @@ in the file LICENSE. ------------------------------------------------------------------ -bzip2-1.0.4 should compile without problems on the vast majority of +bzip2-1.0.5 should compile without problems on the vast majority of platforms. Using the supplied Makefile, I've built and tested it myself for x86-linux and amd64-linux. With makefile.msc, Visual C++ 6.0 and nmake, you can build a native Win32 version too. Large file ==== //depot/projects/qingli_mpath/src/contrib/bzip2/blocksort.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzip2.c#2 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -1605,11 +1605,11 @@ "bzip2, a block-sorting file compressor. " "Version %s.\n" " \n" - " Copyright (C) 1996-2006 by Julian Seward.\n" + " Copyright (C) 1996-2007 by Julian Seward.\n" " \n" " This program is free software; you can redistribute it and/or modify\n" " it under the terms set out in the LICENSE file, which is included\n" - " in the bzip2-1.0.4 source distribution.\n" + " in the bzip2-1.0.5 source distribution.\n" " \n" " This program is distributed in the hope that it will be useful,\n" " but WITHOUT ANY WARRANTY; without even the implied warranty of\n" ==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzip2recover.c#2 (text+ko) ==== @@ -7,8 +7,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -313,7 +313,7 @@ inFileName[0] = outFileName[0] = 0; fprintf ( stderr, - "bzip2recover 1.0.4: extracts blocks from damaged .bz2 files.\n" ); + "bzip2recover 1.0.5: extracts blocks from damaged .bz2 files.\n" ); if (argc != 2) { fprintf ( stderr, "%s: usage is `%s damaged_file_name'.\n", ==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -29,7 +29,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.3 2007/03/28 07:46:20 delphij Exp $"); +__FBSDID("$FreeBSD: src/contrib/bzip2/bzlib.c,v 1.4 2008/03/20 02:56:24 delphij Exp $"); #include "bzlib_private.h" @@ -52,7 +52,7 @@ "component, you should also report this bug to the author(s)\n" "of that program. Please make an effort to report this bug;\n" "timely and accurate bug reports eventually lead to higher\n" - "quality software. Thanks. Julian Seward, 15 February 2005.\n\n", + "quality software. Thanks. Julian Seward, 10 December 2007.\n\n", errcode, BZ2_bzlibVersion() ); @@ -605,6 +605,7 @@ UInt32 c_tPos = s->tPos; char* cs_next_out = s->strm->next_out; unsigned int cs_avail_out = s->strm->avail_out; + Int32 ro_blockSize100k = s->blockSize100k; /* end restore */ UInt32 avail_out_INIT = cs_avail_out; ==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib.h#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/bzlib_private.h#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. @@ -36,7 +36,7 @@ /*-- General stuff. --*/ -#define BZ_VERSION "1.0.4, 20-Dec-2006" +#define BZ_VERSION "1.0.5, 10-Dec-2007" typedef char Char; typedef unsigned char Bool; @@ -442,11 +442,15 @@ /*-- Macros for decompression. --*/ #define BZ_GET_FAST(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ s->tPos = s->tt[s->tPos]; \ cccc = (UChar)(s->tPos & 0xff); \ s->tPos >>= 8; #define BZ_GET_FAST_C(cccc) \ + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (c_tPos >= (UInt32)100000 * (UInt32)ro_blockSize100k) return True; \ c_tPos = c_tt[c_tPos]; \ cccc = (UChar)(c_tPos & 0xff); \ c_tPos >>= 8; @@ -469,8 +473,10 @@ (((UInt32)s->ll16[i]) | (GET_LL4(i) << 16)) #define BZ_GET_SMALL(cccc) \ - cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ - s->tPos = GET_LL(s->tPos); + /* c_tPos is unsigned, hence test < 0 is pointless. */ \ + if (s->tPos >= (UInt32)100000 * (UInt32)s->blockSize100k) return True; \ + cccc = BZ2_indexIntoF ( s->tPos, s->cftab ); \ + s->tPos = GET_LL(s->tPos); /*-- externs for decompression. --*/ ==== //depot/projects/qingli_mpath/src/contrib/bzip2/compress.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/crctable.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/decompress.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/huffman.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/randtable.c#2 (text+ko) ==== @@ -8,8 +8,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/spewG.c#2 (text+ko) ==== @@ -13,8 +13,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/contrib/bzip2/unzcrash.c#2 (text+ko) ==== @@ -17,8 +17,8 @@ This file is part of bzip2/libbzip2, a program and library for lossless, block-sorting data compression. - bzip2/libbzip2 version 1.0.4 of 20 December 2006 - Copyright (C) 1996-2006 Julian Seward <jseward@bzip.org> + bzip2/libbzip2 version 1.0.5 of 10 December 2007 + Copyright (C) 1996-2007 Julian Seward <jseward@bzip.org> Please read the WARNING, DISCLAIMER and PATENTS sections in the README file. ==== //depot/projects/qingli_mpath/src/include/pthread.h#2 (text+ko) ==== @@ -30,7 +30,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/include/pthread.h,v 1.41 2007/10/29 21:01:47 kris Exp $ + * $FreeBSD: src/include/pthread.h,v 1.42 2008/03/22 09:59:20 davidxu Exp $ */ #ifndef _PTHREAD_H_ #define _PTHREAD_H_ @@ -185,6 +185,7 @@ int pthread_equal(pthread_t, pthread_t); void pthread_exit(void *) __dead2; void *pthread_getspecific(pthread_key_t); +int pthread_getcpuclockid(pthread_t, clockid_t *); int pthread_join(pthread_t, void **); int pthread_key_create(pthread_key_t *, void (*) (void *)); ==== //depot/projects/qingli_mpath/src/include/time.h#2 (text+ko) ==== @@ -39,7 +39,7 @@ */ /* - * $FreeBSD: src/include/time.h,v 1.34 2006/04/15 03:08:55 jb Exp $ + * $FreeBSD: src/include/time.h,v 1.35 2008/03/22 09:59:20 davidxu Exp $ */ #ifndef _TIME_H_ @@ -108,6 +108,7 @@ #define CLOCK_MONOTONIC_PRECISE 11 /* FreeBSD-specific. */ #define CLOCK_MONOTONIC_FAST 12 /* FreeBSD-specific. */ #define CLOCK_SECOND 13 /* FreeBSD-specific. */ +#define CLOCK_THREAD_CPUTIME_ID 14 #endif /* !defined(CLOCK_REALTIME) && __POSIX_VISIBLE >= 200112 */ #if !defined(TIMER_ABSTIME) && __POSIX_VISIBLE >= 200112 ==== //depot/projects/qingli_mpath/src/lib/libarchive/Makefile#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.82 2008/03/14 23:00:53 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.83 2008/03/21 11:10:20 kaiw Exp $ LIB= archive DPADD= ${LIBBZ2} ${LIBZ} @@ -214,6 +214,7 @@ MLINKS+= archive_util.3 archive_format.3 MLINKS+= archive_util.3 archive_format_name.3 MLINKS+= archive_util.3 archive_set_error.3 +MLINKS+= archive_write.3 archive_write_close.3 MLINKS+= archive_write.3 archive_write_data.3 MLINKS+= archive_write.3 archive_write_finish.3 MLINKS+= archive_write.3 archive_write_finish_entry.3 ==== //depot/projects/qingli_mpath/src/lib/libfetch/common.c#3 (text+ko) ==== @@ -27,7 +27,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libfetch/common.c,v 1.54 2008/02/08 09:48:48 des Exp $"); +__FBSDID("$FreeBSD: src/lib/libfetch/common.c,v 1.55 2008/03/20 09:55:27 des Exp $"); #include <sys/param.h> #include <sys/socket.h> @@ -377,7 +377,7 @@ ssize_t fetch_read(conn_t *conn, char *buf, size_t len) { - struct timeval now, timeout, wait; + struct timeval now, timeout, delta; fd_set readfds; ssize_t rlen, total; int r; @@ -393,19 +393,19 @@ while (fetchTimeout && !FD_ISSET(conn->sd, &readfds)) { FD_SET(conn->sd, &readfds); gettimeofday(&now, NULL); - wait.tv_sec = timeout.tv_sec - now.tv_sec; - wait.tv_usec = timeout.tv_usec - now.tv_usec; - if (wait.tv_usec < 0) { - wait.tv_usec += 1000000; - wait.tv_sec--; + delta.tv_sec = timeout.tv_sec - now.tv_sec; + delta.tv_usec = timeout.tv_usec - now.tv_usec; + if (delta.tv_usec < 0) { + delta.tv_usec += 1000000; + delta.tv_sec--; } - if (wait.tv_sec < 0) { + if (delta.tv_sec < 0) { errno = ETIMEDOUT; fetch_syserr(); return (-1); } errno = 0; - r = select(conn->sd + 1, &readfds, NULL, NULL, &wait); + r = select(conn->sd + 1, &readfds, NULL, NULL, &delta); if (r == -1) { if (errno == EINTR && fetchRestartCalls) continue; @@ -503,7 +503,7 @@ ssize_t fetch_writev(conn_t *conn, struct iovec *iov, int iovcnt) { - struct timeval now, timeout, wait; + struct timeval now, timeout, delta; fd_set writefds; ssize_t wlen, total; int r; @@ -519,19 +519,19 @@ while (fetchTimeout && !FD_ISSET(conn->sd, &writefds)) { FD_SET(conn->sd, &writefds); gettimeofday(&now, NULL); - wait.tv_sec = timeout.tv_sec - now.tv_sec; - wait.tv_usec = timeout.tv_usec - now.tv_usec; - if (wait.tv_usec < 0) { - wait.tv_usec += 1000000; - wait.tv_sec--; + delta.tv_sec = timeout.tv_sec - now.tv_sec; + delta.tv_usec = timeout.tv_usec - now.tv_usec; + if (delta.tv_usec < 0) { + delta.tv_usec += 1000000; + delta.tv_sec--; } - if (wait.tv_sec < 0) { + if (delta.tv_sec < 0) { errno = ETIMEDOUT; fetch_syserr(); return (-1); } errno = 0; - r = select(conn->sd + 1, NULL, &writefds, NULL, &wait); + r = select(conn->sd + 1, NULL, &writefds, NULL, &delta); if (r == -1) { if (errno == EINTR && fetchRestartCalls) continue; ==== //depot/projects/qingli_mpath/src/lib/libthr/pthread.map#3 (text+ko) ==== @@ -1,5 +1,5 @@ /* - * $FreeBSD: src/lib/libthr/pthread.map,v 1.28 2008/03/05 06:56:35 davidxu Exp $ + * $FreeBSD: src/lib/libthr/pthread.map,v 1.29 2008/03/22 09:59:20 davidxu Exp $ */ /* @@ -271,6 +271,7 @@ _pthread_exit; _pthread_getaffinity_np; _pthread_getconcurrency; + _pthread_getcpuclockid; _pthread_getprio; _pthread_getschedparam; _pthread_getspecific; @@ -395,6 +396,7 @@ pthread_attr_getaffinity_np; pthread_attr_setaffinity_np; pthread_getaffinity_np; + pthread_getcpuclockid; pthread_setaffinity_np; pthread_mutex_getspinloops_np; pthread_mutex_getyieldloops_np; ==== //depot/projects/qingli_mpath/src/lib/libthr/thread/Makefile.inc#3 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.17 2008/03/03 09:16:29 davidxu Exp $ +# $FreeBSD: src/lib/libthr/thread/Makefile.inc,v 1.18 2008/03/22 09:59:20 davidxu Exp $ # thr sources .PATH: ${.CURDIR}/thread @@ -20,6 +20,7 @@ thr_exit.c \ thr_fork.c \ thr_getprio.c \ + thr_getcpuclockid.c \ thr_getschedparam.c \ thr_info.c \ thr_init.c \ ==== //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_mutexattr.c#2 (text+ko) ==== @@ -26,7 +26,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/lib/libthr/thread/thr_mutexattr.c,v 1.7 2007/01/12 07:26:20 imp Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_mutexattr.c,v 1.9 2008/03/20 11:47:08 ru Exp $ */ /* @@ -132,8 +132,7 @@ { int ret; if (attr == NULL || *attr == NULL || type >= PTHREAD_MUTEX_TYPE_MAX) { - errno = EINVAL; - ret = -1; + ret = EINVAL; } else { (*attr)->m_type = type; ret = 0; ==== //depot/projects/qingli_mpath/src/lib/libthr/thread/thr_rtld.c#2 (text) ==== @@ -23,7 +23,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/lib/libthr/thread/thr_rtld.c,v 1.4 2007/11/21 05:21:58 davidxu Exp $ + * $FreeBSD: src/lib/libthr/thread/thr_rtld.c,v 1.6 2008/03/21 02:31:55 davidxu Exp $ * */ @@ -36,6 +36,9 @@ #include "rtld_lock.h" #include "thr_private.h" +#undef errno +extern int errno; + #define CACHE_LINE_SIZE 64 #define WAFLAG 0x1 #define RC_INCR 0x2 @@ -88,20 +91,38 @@ free(l->base); } +#define SAVE_ERRNO() { \ + if (curthread != _thr_initial) \ + errsave = curthread->error; \ + else \ + errsave = errno; \ +} + +#define RESTORE_ERRNO() { \ + if (curthread != _thr_initial) \ + curthread->error = errsave; \ + else \ + errno = errsave; \ +} + static void _thr_rtld_rlock_acquire(void *lock) { struct pthread *curthread; struct rtld_lock *l; long v; + int errsave; curthread = _get_curthread(); + SAVE_ERRNO(); l = (struct rtld_lock *)lock; THR_CRITICAL_ENTER(curthread); atomic_add_acq_int(&l->lock, RC_INCR); - if (!(l->lock & WAFLAG)) + if (!(l->lock & WAFLAG)) { + RESTORE_ERRNO(); return; + } v = l->rd_cv; atomic_add_int(&l->rd_waiters, 1); while (l->lock & WAFLAG) { @@ -109,6 +130,7 @@ v = l->rd_cv; } atomic_add_int(&l->rd_waiters, -1); + RESTORE_ERRNO(); } static void @@ -117,14 +139,18 @@ struct pthread *curthread; struct rtld_lock *l; long v; + int errsave; curthread = _get_curthread(); + SAVE_ERRNO(); l = (struct rtld_lock *)lock; _thr_signal_block(curthread); for (;;) { - if (atomic_cmpset_acq_int(&l->lock, 0, WAFLAG)) + if (atomic_cmpset_acq_int(&l->lock, 0, WAFLAG)) { + RESTORE_ERRNO(); return; + } v = l->wr_cv; atomic_add_int(&l->wr_waiters, 1); while (l->lock != 0) { @@ -140,8 +166,10 @@ { struct pthread *curthread; struct rtld_lock *l; + int errsave; curthread = _get_curthread(); + SAVE_ERRNO(); l = (struct rtld_lock *)lock; if ((l->lock & WAFLAG) == 0) { @@ -162,6 +190,7 @@ } _thr_signal_unblock(curthread); } + RESTORE_ERRNO(); } static int @@ -191,6 +220,9 @@ /* force to resolve _umtx_op PLT */ _umtx_op((struct umtx *)&dummy, UMTX_OP_WAKE, 1, 0, 0); + + /* force to resolve errno() PLT */ + __error(); li.lock_create = _thr_rtld_lock_create; li.lock_destroy = _thr_rtld_lock_destroy; ==== //depot/projects/qingli_mpath/src/lib/libthread_db/libc_r_db.c#2 (text+ko) ==== @@ -25,9 +25,10 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libthread_db/libc_r_db.c,v 1.3 2005/05/31 09:43:03 dfr Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libc_r_db.c,v 1.4 2008/03/22 05:40:44 davidxu Exp $"); #include <machine/setjmp.h> +#include <sys/linker_set.h> #include <proc_service.h> #include <stdlib.h> #include <string.h> @@ -346,3 +347,5 @@ .to_thr_setxmmregs = libc_r_db_thr_setxmmregs, #endif }; + +DATA_SET(__ta_ops, libc_r_db_ops); ==== //depot/projects/qingli_mpath/src/lib/libthread_db/libpthread_db.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.14 2006/05/17 05:12:42 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libpthread_db.c,v 1.15 2008/03/22 05:40:44 davidxu Exp $"); #include <stddef.h> #include <stdlib.h> @@ -33,6 +33,7 @@ #include <unistd.h> #include <pthread.h> #include <sys/types.h> +#include <sys/linker_set.h> #include <sys/kse.h> #include <sys/ptrace.h> #include <proc_service.h> @@ -1147,3 +1148,5 @@ .to_thr_setxmmregs = pt_thr_setxmmregs, #endif }; + +DATA_SET(__ta_ops, libpthread_db_ops); ==== //depot/projects/qingli_mpath/src/lib/libthread_db/libthr_db.c#2 (text+ko) ==== @@ -26,13 +26,14 @@ */ #include <sys/cdefs.h> -__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.12 2006/05/17 05:14:45 davidxu Exp $"); +__FBSDID("$FreeBSD: src/lib/libthread_db/libthr_db.c,v 1.13 2008/03/22 05:40:44 davidxu Exp $"); #include <proc_service.h> #include <stddef.h> #include <stdlib.h> #include <string.h> >>> TRUNCATED FOR MAIL (1000 lines) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803230811.m2N8BjAx005984>