PERFORCE change 117285 for review

Matt Jacob mjacob at FreeBSD.org
Tue Apr 3 17:59:57 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=117285

Change 117285 by mjacob at mjexp on 2007/04/03 17:58:45

	IFC

Affected files ...

.. //depot/projects/mjexp/Makefile#4 integrate
.. //depot/projects/mjexp/UPDATING#11 integrate
.. //depot/projects/mjexp/contrib/bzip2/FREEBSD-upgrade#3 integrate
.. //depot/projects/mjexp/etc/defaults/rc.conf#9 integrate
.. //depot/projects/mjexp/etc/rc#2 integrate
.. //depot/projects/mjexp/etc/rc.d/FILESYSTEMS#1 branch
.. //depot/projects/mjexp/etc/rc.d/Makefile#3 integrate
.. //depot/projects/mjexp/etc/rc.d/addswap#2 integrate
.. //depot/projects/mjexp/etc/rc.d/adjkerntz#2 integrate
.. //depot/projects/mjexp/etc/rc.d/bootconf.sh#3 integrate
.. //depot/projects/mjexp/etc/rc.d/cleanvar#2 integrate
.. //depot/projects/mjexp/etc/rc.d/geli2#2 integrate
.. //depot/projects/mjexp/etc/rc.d/hostname#3 integrate
.. //depot/projects/mjexp/etc/rc.d/ip6addrctl#2 integrate
.. //depot/projects/mjexp/etc/rc.d/ip6fw#3 integrate
.. //depot/projects/mjexp/etc/rc.d/ipfilter#4 integrate
.. //depot/projects/mjexp/etc/rc.d/ipfw#3 integrate
.. //depot/projects/mjexp/etc/rc.d/ipmon#2 integrate
.. //depot/projects/mjexp/etc/rc.d/ipsec#2 integrate
.. //depot/projects/mjexp/etc/rc.d/isdnd#2 integrate
.. //depot/projects/mjexp/etc/rc.d/kldxref#2 integrate
.. //depot/projects/mjexp/etc/rc.d/mountcritremote#3 integrate
.. //depot/projects/mjexp/etc/rc.d/netif#4 integrate
.. //depot/projects/mjexp/etc/rc.d/nfslocking#2 integrate
.. //depot/projects/mjexp/etc/rc.d/pf#3 integrate
.. //depot/projects/mjexp/etc/rc.d/pflog#3 integrate
.. //depot/projects/mjexp/etc/rc.d/pfsync#3 integrate
.. //depot/projects/mjexp/etc/rc.d/power_profile#3 integrate
.. //depot/projects/mjexp/etc/rc.d/ppp#3 integrate
.. //depot/projects/mjexp/etc/rc.d/var#3 integrate
.. //depot/projects/mjexp/etc/rc.firewall#4 integrate
.. //depot/projects/mjexp/lib/libarchive/archive.h.in#9 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_check_magic.c#4 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_private.h#7 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_read.c#9 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_read_data_into_fd.c#5 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_read_open_memory.c#4 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_read_private.h#2 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_ar.c#1 branch
.. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_iso9660.c#7 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_tar.c#6 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_write_disk.c#3 integrate
.. //depot/projects/mjexp/lib/libarchive/archive_write_set_format_ar.c#1 branch
.. //depot/projects/mjexp/lib/libarchive/archive_write_set_format_ustar.c#5 integrate
.. //depot/projects/mjexp/lib/libarchive/libarchive-formats.5#3 integrate
.. //depot/projects/mjexp/lib/libarchive/test/test_read_format_ar.c#1 branch
.. //depot/projects/mjexp/lib/libarchive/test/test_write_format_ar.c#1 branch
.. //depot/projects/mjexp/lib/libypclnt/Makefile#3 integrate
.. //depot/projects/mjexp/lib/libypclnt/ypclnt.3#2 delete
.. //depot/projects/mjexp/sbin/geom/class/journal/geom_journal.c#2 integrate
.. //depot/projects/mjexp/sbin/ifconfig/ifieee80211.c#6 integrate
.. //depot/projects/mjexp/share/man/man4/if_bridge.4#5 integrate
.. //depot/projects/mjexp/share/man/man4/man4.i386/Makefile#2 integrate
.. //depot/projects/mjexp/share/man/man4/man4.i386/acpi_aiboost.4#1 branch
.. //depot/projects/mjexp/share/man/man7/hier.7#4 integrate
.. //depot/projects/mjexp/share/man/man9/Makefile#14 integrate
.. //depot/projects/mjexp/share/man/man9/condvar.9#4 integrate
.. //depot/projects/mjexp/share/man/man9/lock.9#3 integrate
.. //depot/projects/mjexp/share/man/man9/mtx_pool.9#3 integrate
.. //depot/projects/mjexp/share/man/man9/mutex.9#5 integrate
.. //depot/projects/mjexp/share/man/man9/rwlock.9#4 integrate
.. //depot/projects/mjexp/share/man/man9/sema.9#2 integrate
.. //depot/projects/mjexp/share/man/man9/sleep.9#7 integrate
.. //depot/projects/mjexp/share/man/man9/sx.9#3 integrate
.. //depot/projects/mjexp/share/man/man9/vhold.9#2 integrate
.. //depot/projects/mjexp/share/misc/Makefile#2 integrate
.. //depot/projects/mjexp/share/misc/committers-doc.dot#1 branch
.. //depot/projects/mjexp/share/misc/committers-ports.dot#1 branch
.. //depot/projects/mjexp/share/misc/committers-src.dot#1 branch
.. //depot/projects/mjexp/sys/amd64/amd64/support.S#4 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_machdep.c#12 integrate
.. //depot/projects/mjexp/sys/amd64/linux32/linux32_sysvec.c#5 integrate
.. //depot/projects/mjexp/sys/arm/at91/uart_cpu_at91rm9200usart.c#2 integrate
.. //depot/projects/mjexp/sys/arm/at91/uart_dev_at91usart.c#4 integrate
.. //depot/projects/mjexp/sys/arm/sa11x0/uart_cpu_sa1110.c#2 integrate
.. //depot/projects/mjexp/sys/arm/sa11x0/uart_dev_sa1110.c#3 integrate
.. //depot/projects/mjexp/sys/arm/xscale/i80321/uart_cpu_i80321.c#2 integrate
.. //depot/projects/mjexp/sys/arm/xscale/ixp425/uart_cpu_ixp425.c#2 integrate
.. //depot/projects/mjexp/sys/boot/arm/at91/boot2/boot2.c#4 integrate
.. //depot/projects/mjexp/sys/compat/linprocfs/linprocfs.c#8 integrate
.. //depot/projects/mjexp/sys/compat/linux/linux_emul.c#11 integrate
.. //depot/projects/mjexp/sys/compat/linux/linux_emul.h#5 integrate
.. //depot/projects/mjexp/sys/conf/NOTES#16 integrate
.. //depot/projects/mjexp/sys/conf/options#14 integrate
.. //depot/projects/mjexp/sys/dev/acpica/acpi_ec.c#4 integrate
.. //depot/projects/mjexp/sys/dev/ahb/ahb.c#6 integrate
.. //depot/projects/mjexp/sys/dev/arcmsr/arcmsr.c#9 integrate
.. //depot/projects/mjexp/sys/dev/bge/if_bge.c#12 integrate
.. //depot/projects/mjexp/sys/dev/ed/if_ed_pccard.c#3 integrate
.. //depot/projects/mjexp/sys/dev/firewire/firewire.c#3 integrate
.. //depot/projects/mjexp/sys/dev/firewire/fwohci_pci.c#5 integrate
.. //depot/projects/mjexp/sys/dev/ipmi/ipmi_pci.c#2 integrate
.. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.c#15 integrate
.. //depot/projects/mjexp/sys/dev/isp/isp_freebsd.h#11 integrate
.. //depot/projects/mjexp/sys/dev/isp/isp_library.c#7 integrate
.. //depot/projects/mjexp/sys/dev/isp/isp_library.h#7 integrate
.. //depot/projects/mjexp/sys/dev/isp/isp_pci.c#21 edit
.. //depot/projects/mjexp/sys/dev/isp/isp_sbus.c#10 integrate
.. //depot/projects/mjexp/sys/dev/mxge/if_mxge.c#10 integrate
.. //depot/projects/mjexp/sys/dev/pci/pci.c#14 integrate
.. //depot/projects/mjexp/sys/dev/pci/pci_pci.c#7 integrate
.. //depot/projects/mjexp/sys/dev/pci/pcireg.h#8 integrate
.. //depot/projects/mjexp/sys/dev/sk/if_sk.c#6 integrate
.. //depot/projects/mjexp/sys/dev/sk/if_skreg.h#4 integrate
.. //depot/projects/mjexp/sys/dev/sound/midi/midi.c#5 integrate
.. //depot/projects/mjexp/sys/dev/sound/pcm/channel.c#5 integrate
.. //depot/projects/mjexp/sys/dev/sound/pcm/mixer.c#3 integrate
.. //depot/projects/mjexp/sys/dev/sound/usb/uaudio.c#6 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart.h#2 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_bus.h#2 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_core.c#4 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_cpu.h#3 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_cpu_amd64.c#2 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_cpu_i386.c#2 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_cpu_ia64.c#2 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_cpu_pc98.c#2 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_cpu_powerpc.c#2 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_cpu_sparc64.c#2 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_dev_ns8250.c#4 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_dev_sab82532.c#3 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_dev_z8530.c#3 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_kbd_sun.c#4 integrate
.. //depot/projects/mjexp/sys/dev/uart/uart_subr.c#2 integrate
.. //depot/projects/mjexp/sys/dev/usb/if_aue.c#7 integrate
.. //depot/projects/mjexp/sys/dev/usb/if_axe.c#3 integrate
.. //depot/projects/mjexp/sys/dev/usb/if_ural.c#6 integrate
.. //depot/projects/mjexp/sys/dev/usb/ubser.c#2 integrate
.. //depot/projects/mjexp/sys/geom/geom_ctl.c#2 integrate
.. //depot/projects/mjexp/sys/gnu/fs/xfs/FreeBSD/support/mrlock.c#2 integrate
.. //depot/projects/mjexp/sys/gnu/fs/xfs/FreeBSD/support/mrlock.h#2 integrate
.. //depot/projects/mjexp/sys/i386/acpica/acpi_machdep.c#3 integrate
.. //depot/projects/mjexp/sys/i386/i386/support.s#4 integrate
.. //depot/projects/mjexp/sys/i386/linux/linux_sysvec.c#2 integrate
.. //depot/projects/mjexp/sys/i4b/layer1/ifpnp/i4b_ifpnp_avm.c#3 integrate
.. //depot/projects/mjexp/sys/i4b/layer1/ihfc/i4b_ihfc_pnp.c#3 integrate
.. //depot/projects/mjexp/sys/i4b/layer1/isic/i4b_avm_a1.c#3 integrate
.. //depot/projects/mjexp/sys/i4b/layer1/isic/i4b_isic_pnp.c#3 integrate
.. //depot/projects/mjexp/sys/i4b/layer1/isic/i4b_itk_ix1.c#3 integrate
.. //depot/projects/mjexp/sys/i4b/layer1/isic/i4b_tel_s016.c#3 integrate
.. //depot/projects/mjexp/sys/i4b/layer1/isic/i4b_tel_s0163.c#3 integrate
.. //depot/projects/mjexp/sys/kern/kern_lock.c#7 integrate
.. //depot/projects/mjexp/sys/kern/kern_rwlock.c#6 integrate
.. //depot/projects/mjexp/sys/kern/kern_sx.c#6 integrate
.. //depot/projects/mjexp/sys/kern/subr_witness.c#8 integrate
.. //depot/projects/mjexp/sys/kern/uipc_syscalls.c#7 integrate
.. //depot/projects/mjexp/sys/kern/vfs_lookup.c#5 integrate
.. //depot/projects/mjexp/sys/kern/vfs_mount.c#9 integrate
.. //depot/projects/mjexp/sys/kern/vfs_subr.c#6 integrate
.. //depot/projects/mjexp/sys/kern/vfs_syscalls.c#10 integrate
.. //depot/projects/mjexp/sys/modules/cryptodev/Makefile#2 integrate
.. //depot/projects/mjexp/sys/netatm/atm_if.c#2 integrate
.. //depot/projects/mjexp/sys/netgraph/ng_base.c#5 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_asconf.c#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_auth.c#6 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_bsd_addr.h#4 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_constants.h#6 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_indata.c#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_input.c#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_os_bsd.h#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_output.c#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_output.h#4 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_pcb.c#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_pcb.h#6 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_structs.h#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_sysctl.c#2 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_sysctl.h#2 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_timer.c#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_uio.h#6 integrate
.. //depot/projects/mjexp/sys/netinet/sctp_usrreq.c#7 integrate
.. //depot/projects/mjexp/sys/netinet/sctputil.c#7 integrate
.. //depot/projects/mjexp/sys/netinet6/in6_src.c#4 integrate
.. //depot/projects/mjexp/sys/netinet6/sctp6_usrreq.c#7 integrate
.. //depot/projects/mjexp/sys/nfsserver/nfs_srvsubs.c#5 integrate
.. //depot/projects/mjexp/sys/powerpc/conf/GENERIC#5 integrate
.. //depot/projects/mjexp/sys/powerpc/conf/NOTES#4 integrate
.. //depot/projects/mjexp/sys/powerpc/powermac/uninorth.c#2 integrate
.. //depot/projects/mjexp/sys/powerpc/powerpc/extintr.c#2 delete
.. //depot/projects/mjexp/sys/sys/_sx.h#1 branch
.. //depot/projects/mjexp/sys/sys/elf_common.h#4 integrate
.. //depot/projects/mjexp/sys/sys/lockmgr.h#4 integrate
.. //depot/projects/mjexp/sys/sys/mount.h#8 integrate
.. //depot/projects/mjexp/sys/sys/mutex.h#7 integrate
.. //depot/projects/mjexp/sys/sys/sleepqueue.h#6 integrate
.. //depot/projects/mjexp/sys/sys/sx.h#4 integrate
.. //depot/projects/mjexp/sys/sys/sysent.h#3 integrate
.. //depot/projects/mjexp/sys/sys/systm.h#11 integrate
.. //depot/projects/mjexp/sys/sys/vnode.h#6 integrate
.. //depot/projects/mjexp/tools/regression/sockets/accept_fd_leak/accept_fd_leak.c#2 integrate
.. //depot/projects/mjexp/tools/regression/sockets/socketpair/socketpair.c#2 integrate
.. //depot/projects/mjexp/tools/regression/usr.bin/sed/multitest.t#2 integrate
.. //depot/projects/mjexp/tools/regression/usr.bin/sed/regress.b2a.out#1 branch
.. //depot/projects/mjexp/tools/regression/usr.bin/sed/regress.c0.out#1 branch
.. //depot/projects/mjexp/tools/regression/usr.bin/sed/regress.c1.out#1 branch
.. //depot/projects/mjexp/tools/regression/usr.bin/sed/regress.c2.out#1 branch
.. //depot/projects/mjexp/tools/regression/usr.bin/sed/regress.c3.out#1 branch
.. //depot/projects/mjexp/tools/regression/usr.bin/sed/regress.multitest.out/54_5.3#2 integrate
.. //depot/projects/mjexp/tools/regression/usr.bin/sed/regress.sh#3 integrate
.. //depot/projects/mjexp/usr.bin/calendar/calendars/calendar.freebsd#8 integrate
.. //depot/projects/mjexp/usr.bin/sed/process.c#2 integrate
.. //depot/projects/mjexp/usr.bin/tar/test/test-basic.sh#2 integrate
.. //depot/projects/mjexp/usr.bin/tar/write.c#8 integrate
.. //depot/projects/mjexp/usr.sbin/ngctl/Makefile#4 integrate
.. //depot/projects/mjexp/usr.sbin/ntp/doc/ntpd.8#2 integrate
.. //depot/projects/mjexp/usr.sbin/pstat/pstat.8#2 integrate
.. //depot/projects/mjexp/usr.sbin/pstat/pstat.c#3 integrate
.. //depot/projects/mjexp/usr.sbin/pw/cpdir.c#2 integrate
.. //depot/projects/mjexp/usr.sbin/pw/pw.8#4 integrate
.. //depot/projects/mjexp/usr.sbin/pw/pw.c#3 integrate
.. //depot/projects/mjexp/usr.sbin/pw/pw.conf.5#2 integrate
.. //depot/projects/mjexp/usr.sbin/pw/pw.h#2 integrate
.. //depot/projects/mjexp/usr.sbin/pw/pw_conf.c#2 integrate
.. //depot/projects/mjexp/usr.sbin/pw/pw_user.c#3 integrate
.. //depot/projects/mjexp/usr.sbin/rpc.statd/procs.c#2 integrate
.. //depot/projects/mjexp/usr.sbin/sysinstall/index.c#5 integrate

Differences ...

==== //depot/projects/mjexp/Makefile#4 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile,v 1.339 2006/11/28 01:03:29 ru Exp $
+# $FreeBSD: src/Makefile,v 1.340 2007/04/02 21:32:44 marcel Exp $
 #
 # The user-driven targets are:
 #
@@ -261,12 +261,14 @@
 # existing system is.
 #
 .if make(universe)
+TARGETS?=amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v
+
 universe: universe_prologue
 universe_prologue:
 	@echo "--------------------------------------------------------------"
 	@echo ">>> make universe started on ${STARTTIME}"
 	@echo "--------------------------------------------------------------"
-.for target in amd64 arm i386 ia64 pc98 powerpc sparc64 sun4v
+.for target in ${TARGETS}
 KERNCONFS!=	cd ${.CURDIR}/sys/${target}/conf && \
 		find [A-Z]*[A-Z] -type f -maxdepth 0 \
 		! -name DEFAULTS ! -name LINT

==== //depot/projects/mjexp/UPDATING#11 (text+ko) ====

@@ -24,8 +24,9 @@
 20070302:
 	Firmwares for ipw(4) and iwi(4) are now included in the base tree.
 	In order to use them one must agree to the respective LICENSE in
-	share/doc/legal and define legal.<name>.license_ack=1 via
-	loader.conf(5) or kenv(1).
+	share/doc/legal and define legal.intel_<name>.license_ack=1 via
+	loader.conf(5) or kenv(1).  Make sure to deinstall the now
+	deprecated modules from the respective firmware ports.
 
 20070228:
 	The name resolution/mapping functions addr2ascii(3) and ascii2addr(3)
@@ -757,4 +758,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.482 2007/03/02 14:56:15 flz Exp $
+$FreeBSD: src/UPDATING,v 1.484 2007/04/03 10:04:54 brueffer Exp $

==== //depot/projects/mjexp/contrib/bzip2/FREEBSD-upgrade#3 (text+ko) ====

@@ -1,7 +1,7 @@
-$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.3 2007/03/28 07:56:14 delphij Exp $
+$FreeBSD: src/contrib/bzip2/FREEBSD-upgrade,v 1.4 2007/03/30 16:33:05 delphij Exp $
 
 Julian Seward's bzip2
-	originals can be found at: 	http://sources.redhat.com/bzip2/
+	originals can be found at: 	http://www.bzip.org/downloads.html
 
 Imported by:
 

==== //depot/projects/mjexp/etc/defaults/rc.conf#9 (text+ko) ====

@@ -15,7 +15,7 @@
 # For a more detailed explanation of all the rc.conf variables, please
 # refer to the rc.conf(5) manual page.
 #
-# $FreeBSD: src/etc/defaults/rc.conf,v 1.308 2007/03/29 21:44:23 ache Exp $
+# $FreeBSD: src/etc/defaults/rc.conf,v 1.309 2007/04/02 22:53:06 des Exp $
 
 ##############################################################
 ###  Important initial Boot-time options  ####################
@@ -24,7 +24,7 @@
 rc_debug="NO"		# Set to YES to enable debugging output from rc.d
 rc_info="NO"		# Enables display of informational messages at boot.
 rcshutdown_timeout="30" # Seconds to wait before terminating rc.shutdown
-early_late_divider="mountcritlocal" 	# Script that separates early/late
+early_late_divider="FILESYSTEM" 	# Script that separates early/late
 			# stages of the boot process.  Make sure you know
 			# the ramifications if you change this.
 			# See rc.conf(5) for more details.

==== //depot/projects/mjexp/etc/rc#2 (text+ko) ====

@@ -25,7 +25,7 @@
 # SUCH DAMAGE.
 #
 #	@(#)rc	5.27 (Berkeley) 6/5/91
-# $FreeBSD: src/etc/rc,v 1.339 2006/02/20 21:54:30 dougb Exp $
+# $FreeBSD: src/etc/rc,v 1.340 2007/04/02 22:53:06 des Exp $
 #
 
 # System startup script run by init on autoboot
@@ -75,7 +75,7 @@
 skip="-s nostart"
 if [ `/sbin/sysctl -n security.jail.jailed` -eq 1 ]; then
 	skip="$skip -s nojail"
-	if [ "$early_late_divider" = "mountcritlocal" ]; then
+	if [ "$early_late_divider" = "FILESYSTEMS" ]; then
 		early_late_divider=NETWORKING
 	fi
 fi

==== //depot/projects/mjexp/etc/rc.d/Makefile#3 (text+ko) ====

@@ -1,9 +1,9 @@
 # $NetBSD: Makefile,v 1.16 2001/01/14 15:37:22 minoura Exp $
-# $FreeBSD: src/etc/rc.d/Makefile,v 1.78 2006/10/15 14:19:06 ceri Exp $
+# $FreeBSD: src/etc/rc.d/Makefile,v 1.79 2007/04/02 22:53:07 des Exp $
 
 .include <bsd.own.mk>
 
-FILES=	DAEMON LOGIN NETWORKING SERVERS \
+FILES=	DAEMON FILESYSTEMS LOGIN NETWORKING SERVERS \
 	abi accounting addswap adjkerntz amd \
 	apm apmd archdep atm1 atm2 atm3 auditd auto_linklocal \
 	bgfsck bluetooth bootparams bridge bsnmpd bthidd \

==== //depot/projects/mjexp/etc/rc.d/addswap#2 (text+ko) ====

@@ -2,11 +2,11 @@
 #
 # Add additional swap files
 #
-# $FreeBSD: src/etc/rc.d/addswap,v 1.6 2006/01/17 19:29:31 philip Exp $
+# $FreeBSD: src/etc/rc.d/addswap,v 1.7 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: addswap
-# REQUIRE: mountcritlocal
+# REQUIRE: FILESYSTEMS
 # BEFORE: sysctl
 # KEYWORD: nojail
 

==== //depot/projects/mjexp/etc/rc.d/adjkerntz#2 (text+ko) ====

@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/adjkerntz,v 1.5 2004/10/07 13:55:25 mtm Exp $
+# $FreeBSD: src/etc/rc.d/adjkerntz,v 1.6 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: adjkerntz
-# REQUIRE: mountcritlocal random
+# REQUIRE: FILESYSTEMS random
 # BEFORE: netif
 # KEYWORD: nojail
 

==== //depot/projects/mjexp/etc/rc.d/bootconf.sh#3 (text+ko) ====

@@ -1,11 +1,11 @@
 #!/bin/sh
 #
 # $NetBSD: bootconf.sh,v 1.5 2002/03/25 03:22:10 wiz Exp $
-# $FreeBSD: src/etc/rc.d/bootconf.sh,v 1.5 2006/12/30 22:53:20 yar Exp $
+# $FreeBSD: src/etc/rc.d/bootconf.sh,v 1.6 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: bootconf
-# REQUIRE: mountcritlocal
+# REQUIRE: FILESYSTEMS
 
 bootconf_start()
 {

==== //depot/projects/mjexp/etc/rc.d/cleanvar#2 (text+ko) ====

@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/cleanvar,v 1.11 2005/12/19 10:57:00 dougb Exp $
+# $FreeBSD: src/etc/rc.d/cleanvar,v 1.12 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: cleanvar
-# REQUIRE: mountcritlocal var
+# REQUIRE: FILESYSTEMS var
 
 . /etc/rc.subr
 

==== //depot/projects/mjexp/etc/rc.d/geli2#2 (text+ko) ====

@@ -24,11 +24,11 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.d/geli2,v 1.1 2005/08/14 18:02:21 pjd Exp $
+# $FreeBSD: src/etc/rc.d/geli2,v 1.2 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: geli2
-# REQUIRE: mountcritlocal
+# REQUIRE: FILESYSTEMS
 # KEYWORD: nojail
 
 . /etc/rc.subr

==== //depot/projects/mjexp/etc/rc.d/hostname#3 (text+ko) ====

@@ -23,11 +23,11 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.d/hostname,v 1.11 2007/02/15 06:46:33 yar Exp $
+# $FreeBSD: src/etc/rc.d/hostname,v 1.12 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: hostname
-# REQUIRE: mountcritlocal
+# REQUIRE: FILESYSTEMS
 # BEFORE:  netif
 
 . /etc/rc.subr

==== //depot/projects/mjexp/etc/rc.d/ip6addrctl#2 (text+ko) ====

@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/ip6addrctl,v 1.4 2004/10/07 13:55:26 mtm Exp $
+# $FreeBSD: src/etc/rc.d/ip6addrctl,v 1.5 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: ip6addrctl
-# REQUIRE: mountcritlocal netif
+# REQUIRE: FILESYSTEMS netif
 # BEFORE: network_ipv6
 # KEYWORD: nojail
 

==== //depot/projects/mjexp/etc/rc.d/ip6fw#3 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/ip6fw,v 1.8 2006/12/31 10:37:18 yar Exp $
+# $FreeBSD: src/etc/rc.d/ip6fw,v 1.9 2007/04/02 15:38:53 mtm Exp $
 #
 
 # PROVIDE: ip6fw
@@ -26,7 +26,7 @@
 	# Load rules
 	#
 	if [ -r "${ipv6_firewall_script}" ]; then
-		. "${ipv6_firewall_script}"
+		/bin/sh "${ipv6_firewall_script}"
 		echo 'IPv6 Firewall rules loaded.'
 	elif [ "`ipfw show 65535`" = "65535 deny ip from any to any" ]; then
 		warn 'IPv6 firewall rules have not been loaded. Default' \

==== //depot/projects/mjexp/etc/rc.d/ipfilter#4 (text+ko) ====

@@ -1,11 +1,11 @@
 #!/bin/sh
 #
 # $NetBSD: ipfilter,v 1.10 2001/02/28 17:03:50 lukem Exp $
-# $FreeBSD: src/etc/rc.d/ipfilter,v 1.26 2006/12/31 10:37:18 yar Exp $
+# $FreeBSD: src/etc/rc.d/ipfilter,v 1.27 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: ipfilter
-# REQUIRE: root mountcritlocal
+# REQUIRE: root FILESYSTEMS
 # BEFORE:  netif
 # KEYWORD: nojail
 

==== //depot/projects/mjexp/etc/rc.d/ipfw#3 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/ipfw,v 1.14 2006/12/31 10:37:18 yar Exp $
+# $FreeBSD: src/etc/rc.d/ipfw,v 1.15 2007/04/02 15:38:53 mtm Exp $
 #
 
 # PROVIDE: ipfw
@@ -26,7 +26,7 @@
 		if [ -f /etc/rc.d/natd ] ; then
 			/etc/rc.d/natd start
 		fi
-		. "${firewall_script}"
+		/bin/sh "${firewall_script}"
 		echo 'Firewall rules loaded.'
 	elif [ "`ipfw list 65535`" = "65535 deny ip from any to any" ]; then
 		echo 'Warning: kernel has firewall functionality, but' \

==== //depot/projects/mjexp/etc/rc.d/ipmon#2 (text+ko) ====

@@ -1,11 +1,11 @@
 #!/bin/sh
 #
 # $NetBSD: ipmon,v 1.9 2002/04/18 05:02:01 lukem Exp $
-# $FreeBSD: src/etc/rc.d/ipmon,v 1.14 2005/10/28 16:55:38 yar Exp $
+# $FreeBSD: src/etc/rc.d/ipmon,v 1.15 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: ipmon
-# REQUIRE: mountcritlocal hostname sysctl cleanvar ipfilter
+# REQUIRE: FILESYSTEMS hostname sysctl cleanvar ipfilter
 # BEFORE:  SERVERS
 # KEYWORD: nojail
 

==== //depot/projects/mjexp/etc/rc.d/ipsec#2 (text+ko) ====

@@ -1,11 +1,11 @@
 #!/bin/sh
 #
 # $NetBSD: ipsec,v 1.7 2002/03/22 04:33:58 thorpej Exp $
-# $FreeBSD: src/etc/rc.d/ipsec,v 1.16 2006/01/24 15:16:55 pjd Exp $
+# $FreeBSD: src/etc/rc.d/ipsec,v 1.17 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: ipsec
-# REQUIRE: root mountcritlocal
+# REQUIRE: root FILESYSTEMS
 # BEFORE:  DAEMON mountcritremote
 # KEYWORD: nojail
 

==== //depot/projects/mjexp/etc/rc.d/isdnd#2 (text+ko) ====

@@ -1,13 +1,13 @@
 #!/bin/sh
 #
 # $NetBSD: isdnd,v 1.9 2002/04/10 23:37:13 martin Exp $
-# $FreeBSD: src/etc/rc.d/isdnd,v 1.21 2006/05/17 09:33:06 phk Exp $
+# $FreeBSD: src/etc/rc.d/isdnd,v 1.23 2007/04/02 22:53:07 des Exp $
 #
 # Mostly based on original script (/etc/rc.isdn) written by  Hellmuth Michaelis
 #
 
 # PROVIDE: isdnd
-# REQUIRE: netif mountcritlocal cleanvar
+# REQUIRE: netif FILESYSTEMS cleanvar
 # KEYWORD: nojail
 
 . /etc/rc.subr
@@ -15,6 +15,7 @@
 name="isdnd"
 rcvar=`set_rcvar isdn`
 pidfile="/var/run/${name}.pid"
+command="/usr/sbin/isdnd"
 start_cmd="isdnd_start"
 
 isdnd_start()

==== //depot/projects/mjexp/etc/rc.d/kldxref#2 (text+ko) ====

@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/kldxref,v 1.4 2004/10/07 13:55:26 mtm Exp $
+# $FreeBSD: src/etc/rc.d/kldxref,v 1.5 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: kldxref
-# REQUIRE: root mountcritlocal
+# REQUIRE: root FILESYSTEMS
 # BEFORE:  netif
 # KEYWORD: nojail
 

==== //depot/projects/mjexp/etc/rc.d/mountcritremote#3 (text+ko) ====

@@ -1,11 +1,11 @@
 #!/bin/sh
 #
 # $NetBSD: mountcritremote,v 1.7 2002/04/29 12:29:53 lukem Exp $
-# $FreeBSD: src/etc/rc.d/mountcritremote,v 1.14 2006/12/31 10:37:18 yar Exp $
+# $FreeBSD: src/etc/rc.d/mountcritremote,v 1.15 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: mountcritremote
-# REQUIRE: NETWORKING root mountcritlocal cleanvar ipsec
+# REQUIRE: NETWORKING root FILESYSTEMS cleanvar ipsec
 # KEYWORD: nojail
 
 . /etc/rc.subr

==== //depot/projects/mjexp/etc/rc.d/netif#4 (text+ko) ====

@@ -22,11 +22,11 @@
 # (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/etc/rc.d/netif,v 1.22 2007/02/09 12:11:26 flz Exp $
+# $FreeBSD: src/etc/rc.d/netif,v 1.23 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: netif
-# REQUIRE: atm1 ipfilter mountcritlocal serial sppp sysctl
+# REQUIRE: atm1 ipfilter FILESYSTEMS serial sppp sysctl
 # KEYWORD: nojail
 
 . /etc/rc.subr

==== //depot/projects/mjexp/etc/rc.d/nfslocking#2 (text+ko) ====

@@ -1,11 +1,11 @@
 #!/bin/sh
 #
 # $NetBSD: nfslocking,v 1.6 2002/03/24 15:52:41 lukem Exp $
-# $FreeBSD: src/etc/rc.d/nfslocking,v 1.11 2004/10/07 13:55:26 mtm Exp $
+# $FreeBSD: src/etc/rc.d/nfslocking,v 1.12 2007/03/30 19:08:58 mtm Exp $
 #
 
 # PROVIDE: nfslocking
-# REQUIRE: nfsserver nfsclient nfsd
+# REQUIRE: nfsserver nfsclient nfsd rpcbind
 # BEFORE:  DAEMON
 # KEYWORD: nojail
 
@@ -17,10 +17,24 @@
 # Either NFS client or server must be enabled or this must be a 'forcestart'
 # for either of the daemons to start.
 #
-start_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable ||
+nfslocking_precmd()
+{
+	if ! checkyesno nfs_server_enable && ! checkyesno nfs_client_enable && \
+	    [ -z "$rc_force" ]
+	then
+		return 1
+	fi
+	if ! checkyesno rpcbind_enable && \
+	    ! /etc/rc.d/rpcbind forcestatus 1>/dev/null 2>&1
+	then
+		force_depend rpcbind || return 1
+	fi
+}
+
+start_precmd="nfslocking_precmd"
+stop_precmd='checkyesno nfs_server_enable || checkyesno nfs_client_enable ||
     [ -n "$rc_force" ]'
-stop_precmd=$start_precmd
-status_precmd=$start_precmd
+status_precmd=$stop_precmd
 
 # rpc.statd
 #

==== //depot/projects/mjexp/etc/rc.d/pf#3 (text+ko) ====

@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/pf,v 1.14 2006/12/31 10:37:18 yar Exp $
+# $FreeBSD: src/etc/rc.d/pf,v 1.15 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: pf
-# REQUIRE: root mountcritlocal netif pflog pfsync
+# REQUIRE: root FILESYSTEMS netif pflog pfsync
 # BEFORE:  routing
 # KEYWORD: nojail
 

==== //depot/projects/mjexp/etc/rc.d/pflog#3 (text+ko) ====

@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/pflog,v 1.10 2006/12/31 10:37:18 yar Exp $
+# $FreeBSD: src/etc/rc.d/pflog,v 1.11 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: pflog
-# REQUIRE: root mountcritlocal netif cleanvar
+# REQUIRE: root FILESYSTEMS netif cleanvar
 # KEYWORD: nojail
 
 . /etc/rc.subr

==== //depot/projects/mjexp/etc/rc.d/pfsync#3 (text+ko) ====

@@ -1,10 +1,10 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/pfsync,v 1.2 2006/12/31 10:37:18 yar Exp $
+# $FreeBSD: src/etc/rc.d/pfsync,v 1.3 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: pfsync
-# REQUIRE: root mountcritlocal netif
+# REQUIRE: root FILESYSTEMS netif
 # KEYWORD: nojail
 
 . /etc/rc.subr

==== //depot/projects/mjexp/etc/rc.d/power_profile#3 (text+ko) ====

@@ -5,11 +5,11 @@
 #
 # Arguments: 0x00 (AC offline, economy) or 0x01 (AC online, performance)
 #
-# $FreeBSD: src/etc/rc.d/power_profile,v 1.10 2007/01/07 21:53:42 njl Exp $
+# $FreeBSD: src/etc/rc.d/power_profile,v 1.11 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: power_profile
-# REQUIRE: mountcritlocal syslogd
+# REQUIRE: FILESYSTEMS syslogd
 # KEYWORD: nojail nostart
 
 . /etc/rc.subr

==== //depot/projects/mjexp/etc/rc.d/ppp#3 (text+ko) ====

@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $FreeBSD: src/etc/rc.d/ppp,v 1.12 2006/10/26 00:29:43 avatar Exp $
+# $FreeBSD: src/etc/rc.d/ppp,v 1.13 2007/03/31 09:03:38 mtm Exp $
 #
 
 # PROVIDE: ppp
@@ -12,10 +12,10 @@
 name="ppp"
 rcvar=`set_rcvar`
 command="/usr/sbin/${name}"
-start_precmd="ppp_precmd"
-start_postcmd="ppp_postcmd"
+start_precmd="ppp_prestart"
+start_postcmd="ppp_poststart"
 
-ppp_precmd()
+ppp_prestart()
 {
 	# Establish ppp mode.
 	#
@@ -38,7 +38,7 @@
 	rc_flags="$rc_flags ${ppp_profile}"
 }
 
-ppp_postcmd()
+ppp_poststart()
 {
 	# Re-Sync ipfilter and pf so they pick up any new network interfaces
 	#

==== //depot/projects/mjexp/etc/rc.d/var#3 (text+ko) ====

@@ -24,11 +24,11 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.d/var,v 1.41 2006/12/30 22:53:20 yar Exp $
+# $FreeBSD: src/etc/rc.d/var,v 1.42 2007/04/02 22:53:07 des Exp $
 #
 
 # PROVIDE: var
-# REQUIRE: mountcritlocal
+# REQUIRE: FILESYSTEMS
 
 . /etc/rc.subr
 

==== //depot/projects/mjexp/etc/rc.firewall#4 (text+ko) ====

@@ -23,11 +23,11 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.firewall,v 1.50 2006/12/29 21:59:17 piso Exp $
+# $FreeBSD: src/etc/rc.firewall,v 1.51 2007/04/02 14:02:06 rwatson Exp $
 #
 
 #
-# Setup system for firewall service.
+# Setup system for IPFW(4) firewall service.
 #
 
 # Suck in the configuration variables.

==== //depot/projects/mjexp/lib/libarchive/archive.h.in#9 (text+ko) ====

@@ -22,7 +22,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/libarchive/archive.h.in,v 1.40 2007/03/11 10:29:52 kientzle Exp $
+ * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.41 2007/04/03 05:34:36 kientzle Exp $
  */
 
 #ifndef ARCHIVE_H_INCLUDED
@@ -177,6 +177,9 @@
 #define	ARCHIVE_FORMAT_ISO9660_ROCKRIDGE	(ARCHIVE_FORMAT_ISO9660 | 1)
 #define	ARCHIVE_FORMAT_ZIP			0x50000
 #define	ARCHIVE_FORMAT_EMPTY			0x60000
+#define	ARCHIVE_FORMAT_AR			0x70000
+#define	ARCHIVE_FORMAT_AR_SVR4			(ARCHIVE_FORMAT_AR | 1)
+#define	ARCHIVE_FORMAT_AR_BSD			(ARCHIVE_FORMAT_AR | 2)
 
 /*-
  * Basic outline for reading an archive:
@@ -206,6 +209,7 @@
 int		 archive_read_support_compression_none(struct archive *);
 
 int		 archive_read_support_format_all(struct archive *);
+int		 archive_read_support_format_ar(struct archive *);
 int		 archive_read_support_format_cpio(struct archive *);
 int		 archive_read_support_format_empty(struct archive *);
 int		 archive_read_support_format_gnutar(struct archive *);
@@ -374,6 +378,8 @@
 int		 archive_write_set_format_by_name(struct archive *,
 		     const char *name);
 /* To minimize link pollution, use one or more of the following. */
+int		 archive_write_set_format_ar_bsd(struct archive *);
+int		 archive_write_set_format_ar_svr4(struct archive *);
 int		 archive_write_set_format_cpio(struct archive *);
 /* TODO: int archive_write_set_format_old_tar(struct archive *); */
 int		 archive_write_set_format_pax(struct archive *);

==== //depot/projects/mjexp/lib/libarchive/archive_check_magic.c#4 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_check_magic.c,v 1.7 2007/01/09 08:05:54 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_check_magic.c,v 1.8 2007/04/02 00:15:45 kientzle Exp $");
 
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
@@ -72,9 +72,9 @@
 
 
 static void
-write_all_states(int states)
+write_all_states(unsigned int states)
 {
-	unsigned lowbit;
+	unsigned int lowbit;
 
 	/* A trick for computing the lowest set bit. */
 	while ((lowbit = states & (-states)) != 0) {
@@ -92,8 +92,8 @@
  * the libarchive API.
  */
 void
-__archive_check_magic(struct archive *a, unsigned magic, unsigned state,
-    const char *function)
+__archive_check_magic(struct archive *a, unsigned int magic,
+    unsigned int state, const char *function)
 {
 	if (a->magic != magic) {
 		errmsg("INTERNAL ERROR: Function ");

==== //depot/projects/mjexp/lib/libarchive/archive_private.h#7 (text+ko) ====

@@ -22,7 +22,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/libarchive/archive_private.h,v 1.28 2007/03/03 07:37:36 kientzle Exp $
+ * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.29 2007/04/02 00:15:45 kientzle Exp $
  */
 
 #ifndef ARCHIVE_PRIVATE_H_INCLUDED
@@ -63,8 +63,8 @@
 	 * ridiculous time, or the client passes us an invalid
 	 * pointer, these values allow me to catch that.
 	 */
-	unsigned	  magic;
-	unsigned	  state;
+	unsigned int	magic;
+	unsigned int	state;
 
 	/*
 	 * Some public API functions depend on the "real" type of the
@@ -89,8 +89,8 @@
 };
 
 /* Check magic value and state; exit if it isn't valid. */
-void	__archive_check_magic(struct archive *, unsigned magic,
-	    unsigned state, const char *func);
+void	__archive_check_magic(struct archive *, unsigned int magic,
+	    unsigned int state, const char *func);
 
 void	__archive_errx(int retvalue, const char *msg);
 

==== //depot/projects/mjexp/lib/libarchive/archive_read.c#9 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.30 2007/03/03 07:37:36 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read.c,v 1.32 2007/04/02 00:41:37 kientzle Exp $");
 
 #ifdef HAVE_ERRNO_H
 #include <errno.h>
@@ -55,6 +55,7 @@
 
 static int	choose_decompressor(struct archive_read *, const void*, size_t);
 static int	choose_format(struct archive_read *);
+static off_t	dummy_skip(struct archive_read *, off_t);
 
 /*
  * Allocate, initialize and return a struct archive object.
@@ -181,16 +182,23 @@
 	a->client_data = client_data;
 
 	/* Select a decompression routine. */
-	high_bidder = choose_decompressor(a, buffer, bytes_read);
+	high_bidder = choose_decompressor(a, buffer, (size_t)bytes_read);
 	if (high_bidder < 0)
 		return (ARCHIVE_FATAL);
 
 	/* Initialize decompression routine with the first block of data. */
-	e = (a->decompressors[high_bidder].init)(a, buffer, bytes_read);
+	e = (a->decompressors[high_bidder].init)(a, buffer, (size_t)bytes_read);
 
 	if (e == ARCHIVE_OK)
 		a->archive.state = ARCHIVE_STATE_HEADER;
 
+	/*
+	 * If the decompressor didn't register a skip function, provide a
+	 * dummy compression-layer skip function.
+	 */
+	if (a->compression_skip == NULL)
+		a->compression_skip = dummy_skip;
+
 	return (e);
 }
 
@@ -244,6 +252,38 @@
 }
 
 /*
+ * Dummy skip function, for use if the compression layer doesn't provide
+ * one: This code just reads data and discards it.
+ */
+static off_t
+dummy_skip(struct archive_read * a, off_t request)
+{
+	const void * dummy_buffer;
+	ssize_t bytes_read;
+	off_t bytes_skipped;
+
+	for (bytes_skipped = 0; request > 0;) {
+		bytes_read = (a->compression_read_ahead)(a, &dummy_buffer, 1);
+		if (bytes_read < 0)
+			return (bytes_read);
+		if (bytes_read == 0) {
+			/* Premature EOF. */
+			archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
+			    "Truncated input file (need to skip %jd bytes)",
+			    (intmax_t)request);
+			return (ARCHIVE_FATAL);
+		}
+		if (bytes_read > request)
+			bytes_read = request;
+		(a->compression_read_consume)(a, bytes_read);
+		request -= bytes_read;
+		bytes_skipped += bytes_read;
+	}
+
+	return (bytes_skipped);
+}
+
+/*
  * Read header of next entry.
  */
 int
@@ -399,6 +439,7 @@
 {
 	struct archive_read *a = (struct archive_read *)_a;
 	char	*dest;
+	const void *read_buf;
 	size_t	 bytes_read;

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


More information about the p4-projects mailing list