svn commit: r191642 - in projects/mesh11s: . contrib/amd/m4 contrib/bind contrib/bind9 contrib/bind9/lib/dns/sec contrib/cpio contrib/csup contrib/cvs/tools/pcl-cvs contrib/file contrib/gcc/config/...

Rui Paulo rpaulo at FreeBSD.org
Tue Apr 28 23:36:32 UTC 2009


Author: rpaulo
Date: Tue Apr 28 23:36:29 2009
New Revision: 191642
URL: http://svn.freebsd.org/changeset/base/191642

Log:
  MFH 191433:191639.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/mesh11s/lib/libarchive/archive_read_support_format_raw.c
     - copied unchanged from r191639, head/lib/libarchive/archive_read_support_format_raw.c
  projects/mesh11s/lib/libarchive/test/test_compat_solaris_tar_acl.c
     - copied unchanged from r191639, head/lib/libarchive/test/test_compat_solaris_tar_acl.c
  projects/mesh11s/lib/libarchive/test/test_compat_solaris_tar_acl.tar.uu
     - copied unchanged from r191639, head/lib/libarchive/test/test_compat_solaris_tar_acl.tar.uu
  projects/mesh11s/lib/libarchive/test/test_read_format_cpio_bin_be.c
     - copied unchanged from r191639, head/lib/libarchive/test/test_read_format_cpio_bin_be.c
  projects/mesh11s/lib/libarchive/test/test_read_format_cpio_bin_be.cpio.uu
     - copied unchanged from r191639, head/lib/libarchive/test/test_read_format_cpio_bin_be.cpio.uu
  projects/mesh11s/lib/libarchive/test/test_read_format_raw.c
     - copied unchanged from r191639, head/lib/libarchive/test/test_read_format_raw.c
  projects/mesh11s/lib/libarchive/test/test_read_format_raw.data.Z.uu
     - copied unchanged from r191639, head/lib/libarchive/test/test_read_format_raw.data.Z.uu
  projects/mesh11s/lib/libarchive/test/test_read_format_raw.data.uu
     - copied unchanged from r191639, head/lib/libarchive/test/test_read_format_raw.data.uu
  projects/mesh11s/sys/powerpc/mpc85xx/atpic.c
     - copied unchanged from r191639, head/sys/powerpc/mpc85xx/atpic.c
  projects/mesh11s/sys/powerpc/mpc85xx/isa.c
     - copied unchanged from r191639, head/sys/powerpc/mpc85xx/isa.c
Deleted:
  projects/mesh11s/contrib/amd/m4/
  projects/mesh11s/contrib/bind/
  projects/mesh11s/contrib/bind9/lib/dns/sec/
  projects/mesh11s/contrib/cvs/tools/pcl-cvs/
  projects/mesh11s/contrib/gcc/config/alpha/
  projects/mesh11s/contrib/gcc/config/frv/
  projects/mesh11s/contrib/gcc/config/mpw/
  projects/mesh11s/contrib/gcc/contrib/
  projects/mesh11s/contrib/gcc/f/
  projects/mesh11s/contrib/gcc/include/
  projects/mesh11s/contrib/gdb/gdb/config/none/
  projects/mesh11s/contrib/gdb/gdb/nlm/
  projects/mesh11s/contrib/groff/addftinfo/
  projects/mesh11s/contrib/groff/afmtodit/
  projects/mesh11s/contrib/groff/eqn/
  projects/mesh11s/contrib/groff/grn/
  projects/mesh11s/contrib/groff/grodvi/
  projects/mesh11s/contrib/groff/groff/
  projects/mesh11s/contrib/groff/grog/
  projects/mesh11s/contrib/groff/grohtml/
  projects/mesh11s/contrib/groff/grolbp/
  projects/mesh11s/contrib/groff/grolj4/
  projects/mesh11s/contrib/groff/grops/
  projects/mesh11s/contrib/groff/grotty/
  projects/mesh11s/contrib/groff/hpftodit/
  projects/mesh11s/contrib/groff/include/
  projects/mesh11s/contrib/groff/indxbib/
  projects/mesh11s/contrib/groff/libbib/
  projects/mesh11s/contrib/groff/libdriver/
  projects/mesh11s/contrib/groff/libgroff/
  projects/mesh11s/contrib/groff/lkbib/
  projects/mesh11s/contrib/groff/lookbib/
  projects/mesh11s/contrib/groff/mm/
  projects/mesh11s/contrib/groff/nroff/
  projects/mesh11s/contrib/groff/pfbtops/
  projects/mesh11s/contrib/groff/pic/
  projects/mesh11s/contrib/groff/refer/
  projects/mesh11s/contrib/groff/soelim/
  projects/mesh11s/contrib/groff/src/xditview/
  projects/mesh11s/contrib/groff/tbl/
  projects/mesh11s/contrib/groff/tfmtodit/
  projects/mesh11s/contrib/groff/troff/
  projects/mesh11s/contrib/groff/xditview/
  projects/mesh11s/contrib/libpcap/doc/
  projects/mesh11s/contrib/libstdc++/config/abi/alpha-freebsd5/
  projects/mesh11s/contrib/libstdc++/config/abi/alpha-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/alphaev67-unknown-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/arm-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/hppa-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/i386-freebsd4/
  projects/mesh11s/contrib/libstdc++/config/abi/i386-freebsd5/
  projects/mesh11s/contrib/libstdc++/config/abi/i386-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/i486-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/i686-pc-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/ia64-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/ia64-unknown-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/m68k-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/mips-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/powerpc-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/s390-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/s390x-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/sparc-freebsd5/
  projects/mesh11s/contrib/libstdc++/config/abi/sparc-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/abi/x86_64-linux-gnu/
  projects/mesh11s/contrib/libstdc++/config/cpu/alpha/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/arm/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/cris/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/generic/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/i386/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/i486/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/ia64/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/m68k/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/mips/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/mmix/
  projects/mesh11s/contrib/libstdc++/config/cpu/powerpc/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/s390/
  projects/mesh11s/contrib/libstdc++/config/cpu/sparc/bits/
  projects/mesh11s/contrib/libstdc++/config/cpu/x86-64/
  projects/mesh11s/contrib/libstdc++/config/os/aix/bits/
  projects/mesh11s/contrib/libstdc++/config/os/bsd/freebsd/bits/
  projects/mesh11s/contrib/libstdc++/config/os/bsd/netbsd/bits/
  projects/mesh11s/contrib/libstdc++/config/os/djgpp/bits/
  projects/mesh11s/contrib/libstdc++/config/os/generic/bits/
  projects/mesh11s/contrib/libstdc++/config/os/gnu-linux/bits/
  projects/mesh11s/contrib/libstdc++/config/os/hpux/bits/
  projects/mesh11s/contrib/libstdc++/config/os/irix/irix5.2/bits/
  projects/mesh11s/contrib/libstdc++/config/os/irix/irix6.5/bits/
  projects/mesh11s/contrib/libstdc++/config/os/mingw32/bits/
  projects/mesh11s/contrib/libstdc++/config/os/newlib/bits/
  projects/mesh11s/contrib/libstdc++/config/os/osf/
  projects/mesh11s/contrib/libstdc++/config/os/qnx/qnx6.1/bits/
  projects/mesh11s/contrib/libstdc++/config/os/solaris/solaris2.5/bits/
  projects/mesh11s/contrib/libstdc++/config/os/solaris/solaris2.6/bits/
  projects/mesh11s/contrib/libstdc++/config/os/solaris/solaris2.7/bits/
  projects/mesh11s/contrib/libstdc++/include/c_shadow/
  projects/mesh11s/contrib/ncurses/tack/
  projects/mesh11s/contrib/ntp/html/hints/
  projects/mesh11s/contrib/ntp/scripts/support/
  projects/mesh11s/contrib/openpam/modules/pam_dummy/
  projects/mesh11s/crypto/openssl/os2/
  projects/mesh11s/gnu/usr.bin/perl/
  projects/mesh11s/gnu/usr.bin/pr/
  projects/mesh11s/gnu/usr.bin/texinfo/info-files/
  projects/mesh11s/lib/libftp/
  projects/mesh11s/libexec/bugfiler/
  projects/mesh11s/libexec/kpasswdd/
  projects/mesh11s/sys/cddl/dev/dtnfsclient/
  projects/mesh11s/sys/modules/ata/ata/
  projects/mesh11s/tools/tools/nanobsd/rescue/Files/conf/
  projects/mesh11s/tools/tools/nanobsd/rescue/Pkg/
  projects/mesh11s/usr.bin/compile_et/test/
  projects/mesh11s/usr.bin/diff/
  projects/mesh11s/usr.bin/grep/
  projects/mesh11s/usr.bin/timedef/
  projects/mesh11s/usr.sbin/bootpd/
  projects/mesh11s/usr.sbin/update/
  projects/mesh11s/usr.sbin/xntpd/
Modified:
  projects/mesh11s/   (props changed)
  projects/mesh11s/UPDATING
  projects/mesh11s/contrib/bind9/   (props changed)
  projects/mesh11s/contrib/cpio/   (props changed)
  projects/mesh11s/contrib/csup/   (props changed)
  projects/mesh11s/contrib/file/   (props changed)
  projects/mesh11s/contrib/gdb/   (props changed)
  projects/mesh11s/contrib/gdtoa/   (props changed)
  projects/mesh11s/contrib/ipfilter/ipsend/sbpf.c
  projects/mesh11s/contrib/libpcap/   (props changed)
  projects/mesh11s/contrib/ncurses/   (props changed)
  projects/mesh11s/contrib/netcat/   (props changed)
  projects/mesh11s/contrib/ntp/   (props changed)
  projects/mesh11s/contrib/openbsm/   (props changed)
  projects/mesh11s/contrib/openpam/   (props changed)
  projects/mesh11s/contrib/pf/   (props changed)
  projects/mesh11s/contrib/sendmail/   (props changed)
  projects/mesh11s/contrib/tcpdump/   (props changed)
  projects/mesh11s/contrib/top/   (props changed)
  projects/mesh11s/contrib/top/install-sh   (props changed)
  projects/mesh11s/contrib/wpa/   (props changed)
  projects/mesh11s/crypto/openssh/   (props changed)
  projects/mesh11s/crypto/openssl/   (props changed)
  projects/mesh11s/etc/rc.d/jail
  projects/mesh11s/lib/libarchive/Makefile
  projects/mesh11s/lib/libarchive/archive.h
  projects/mesh11s/lib/libarchive/archive_entry.c
  projects/mesh11s/lib/libarchive/archive_read.3
  projects/mesh11s/lib/libarchive/archive_read.c
  projects/mesh11s/lib/libarchive/archive_read_open_fd.c
  projects/mesh11s/lib/libarchive/archive_read_open_file.c
  projects/mesh11s/lib/libarchive/archive_read_open_filename.c
  projects/mesh11s/lib/libarchive/archive_read_private.h
  projects/mesh11s/lib/libarchive/archive_read_support_compression_xz.c
  projects/mesh11s/lib/libarchive/archive_read_support_format_cpio.c
  projects/mesh11s/lib/libarchive/archive_read_support_format_empty.c
  projects/mesh11s/lib/libarchive/archive_read_support_format_iso9660.c
  projects/mesh11s/lib/libarchive/archive_read_support_format_mtree.c
  projects/mesh11s/lib/libarchive/archive_read_support_format_tar.c
  projects/mesh11s/lib/libarchive/archive_write_set_format_cpio.c
  projects/mesh11s/lib/libarchive/archive_write_set_format_pax.c
  projects/mesh11s/lib/libarchive/archive_write_set_format_ustar.c
  projects/mesh11s/lib/libarchive/tar.5
  projects/mesh11s/lib/libarchive/test/Makefile
  projects/mesh11s/lib/libarchive/test/main.c
  projects/mesh11s/lib/libarchive/test/test.h
  projects/mesh11s/lib/libarchive/test/test_acl_pax.c
  projects/mesh11s/lib/libarchive/test/test_fuzz.c
  projects/mesh11s/lib/libarchive/test/test_pax_filename_encoding.c
  projects/mesh11s/lib/libarchive/test/test_read_format_isojoliet_bz2.c
  projects/mesh11s/lib/libarchive/test/test_read_format_isorr_bz2.c
  projects/mesh11s/lib/libarchive/test/test_read_format_isorr_bz2.iso.bz2.uu
  projects/mesh11s/lib/libarchive/test/test_read_format_mtree.c
  projects/mesh11s/lib/libc/   (props changed)
  projects/mesh11s/lib/libc/arm/string/strncmp.S
  projects/mesh11s/lib/libc/posix1e/acl_set_qualifier.3
  projects/mesh11s/lib/libc/stdio/asprintf.c   (props changed)
  projects/mesh11s/lib/libc/stdtime/   (props changed)
  projects/mesh11s/lib/libc/string/ffsll.c   (props changed)
  projects/mesh11s/lib/libc/string/flsll.c   (props changed)
  projects/mesh11s/lib/libc/string/wcpcpy.c   (props changed)
  projects/mesh11s/lib/libc/string/wcpncpy.c   (props changed)
  projects/mesh11s/lib/libusb/   (props changed)
  projects/mesh11s/lib/libusb/libusb.3   (props changed)
  projects/mesh11s/lib/libusb/usb.h   (props changed)
  projects/mesh11s/lib/libutil/   (props changed)
  projects/mesh11s/release/doc/en_US.ISO8859-1/hardware/article.sgml
  projects/mesh11s/release/picobsd/tinyware/ns/ns.c
  projects/mesh11s/sbin/   (props changed)
  projects/mesh11s/sbin/ipfw/   (props changed)
  projects/mesh11s/share/man/man4/pts.4
  projects/mesh11s/share/man/man5/rc.conf.5
  projects/mesh11s/share/zoneinfo/   (props changed)
  projects/mesh11s/share/zoneinfo/africa
  projects/mesh11s/sys/   (props changed)
  projects/mesh11s/sys/amd64/amd64/busdma_machdep.c
  projects/mesh11s/sys/amd64/include/xen/   (props changed)
  projects/mesh11s/sys/arm/arm/busdma_machdep.c
  projects/mesh11s/sys/compat/linux/linux_socket.c
  projects/mesh11s/sys/conf/files.powerpc
  projects/mesh11s/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
  projects/mesh11s/sys/contrib/pf/   (props changed)
  projects/mesh11s/sys/dev/acpica/acpi.c
  projects/mesh11s/sys/dev/ata/ata-pci.c
  projects/mesh11s/sys/dev/ata/ata-pci.h
  projects/mesh11s/sys/dev/ata/ata-usb.c   (props changed)
  projects/mesh11s/sys/dev/ata/atapi-tape.c
  projects/mesh11s/sys/dev/ata/chipsets/ata-ahci.c
  projects/mesh11s/sys/dev/ata/chipsets/ata-ati.c
  projects/mesh11s/sys/dev/cxgb/   (props changed)
  projects/mesh11s/sys/dev/cxgb/cxgb_multiq.c
  projects/mesh11s/sys/dev/e1000/if_em.c
  projects/mesh11s/sys/dev/e1000/if_em.h
  projects/mesh11s/sys/dev/e1000/if_igb.c
  projects/mesh11s/sys/dev/ed/if_ed_pccard.c
  projects/mesh11s/sys/dev/fb/creator.c
  projects/mesh11s/sys/dev/mxge/if_mxge.c
  projects/mesh11s/sys/dev/mxge/if_mxge_var.h
  projects/mesh11s/sys/dev/nve/if_nve.c
  projects/mesh11s/sys/dev/pccard/pccarddevs
  projects/mesh11s/sys/dev/rp/rp.c
  projects/mesh11s/sys/dev/rp/rp_pci.c
  projects/mesh11s/sys/dev/rp/rpreg.h
  projects/mesh11s/sys/dev/sound/usb/uaudio.c   (props changed)
  projects/mesh11s/sys/dev/sound/usb/uaudio.h   (props changed)
  projects/mesh11s/sys/dev/sound/usb/uaudio_pcm.c   (props changed)
  projects/mesh11s/sys/dev/sound/usb/uaudioreg.h   (props changed)
  projects/mesh11s/sys/dev/usb/README.TXT   (props changed)
  projects/mesh11s/sys/dev/usb/bluetooth/TODO.TXT   (props changed)
  projects/mesh11s/sys/dev/usb/bluetooth/ng_ubt.c   (props changed)
  projects/mesh11s/sys/dev/usb/bluetooth/ng_ubt_var.h   (props changed)
  projects/mesh11s/sys/dev/usb/bluetooth/ubtbcmfw.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/at91dci.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/at91dci.h   (props changed)
  projects/mesh11s/sys/dev/usb/controller/at91dci_atmelarm.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/atmegadci.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/atmegadci.h   (props changed)
  projects/mesh11s/sys/dev/usb/controller/atmegadci_atmelarm.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/ehci.c   (contents, props changed)
  projects/mesh11s/sys/dev/usb/controller/ehci.h   (props changed)
  projects/mesh11s/sys/dev/usb/controller/ehci_ixp4xx.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/ehci_mbus.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/ehci_pci.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/musb_otg.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/musb_otg.h   (props changed)
  projects/mesh11s/sys/dev/usb/controller/musb_otg_atmelarm.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/ohci.c   (contents, props changed)
  projects/mesh11s/sys/dev/usb/controller/ohci.h   (props changed)
  projects/mesh11s/sys/dev/usb/controller/ohci_atmelarm.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/ohci_pci.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/uhci.c   (contents, props changed)
  projects/mesh11s/sys/dev/usb/controller/uhci.h   (props changed)
  projects/mesh11s/sys/dev/usb/controller/uhci_pci.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/usb_controller.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/uss820dci.c   (props changed)
  projects/mesh11s/sys/dev/usb/controller/uss820dci.h   (props changed)
  projects/mesh11s/sys/dev/usb/controller/uss820dci_atmelarm.c   (props changed)
  projects/mesh11s/sys/dev/usb/input/uhid.c   (props changed)
  projects/mesh11s/sys/dev/usb/input/ukbd.c   (props changed)
  projects/mesh11s/sys/dev/usb/input/ums.c   (props changed)
  projects/mesh11s/sys/dev/usb/input/usb_rdesc.h   (props changed)
  projects/mesh11s/sys/dev/usb/misc/udbp.c   (props changed)
  projects/mesh11s/sys/dev/usb/misc/udbp.h   (props changed)
  projects/mesh11s/sys/dev/usb/misc/ufm.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_aue.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_auereg.h   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_axe.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_axereg.h   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_cdce.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_cdcereg.h   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_cue.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_cuereg.h   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_kue.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_kuefw.h   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_kuereg.h   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_rue.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_ruereg.h   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_udav.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/if_udavreg.h   (props changed)
  projects/mesh11s/sys/dev/usb/net/usb_ethernet.c   (props changed)
  projects/mesh11s/sys/dev/usb/net/usb_ethernet.h   (props changed)
  projects/mesh11s/sys/dev/usb/quirk/usb_quirk.c   (props changed)
  projects/mesh11s/sys/dev/usb/quirk/usb_quirk.h   (props changed)
  projects/mesh11s/sys/dev/usb/serial/u3g.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uark.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/ubsa.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/ubser.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uchcom.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/ucycom.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/ufoma.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uftdi.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uftdi_reg.h   (props changed)
  projects/mesh11s/sys/dev/usb/serial/ugensa.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uipaq.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/ulpt.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/umct.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/umodem.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/umoscom.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uplcom.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/usb_serial.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/usb_serial.h   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uslcom.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uvisor.c   (props changed)
  projects/mesh11s/sys/dev/usb/serial/uvscom.c   (props changed)
  projects/mesh11s/sys/dev/usb/storage/rio500_usb.h   (props changed)
  projects/mesh11s/sys/dev/usb/storage/umass.c   (props changed)
  projects/mesh11s/sys/dev/usb/storage/urio.c   (props changed)
  projects/mesh11s/sys/dev/usb/storage/ustorage_fs.c   (props changed)
  projects/mesh11s/sys/dev/usb/template/usb_template.c   (props changed)
  projects/mesh11s/sys/dev/usb/template/usb_template.h   (props changed)
  projects/mesh11s/sys/dev/usb/template/usb_template_cdce.c   (props changed)
  projects/mesh11s/sys/dev/usb/template/usb_template_msc.c   (props changed)
  projects/mesh11s/sys/dev/usb/template/usb_template_mtp.c   (props changed)
  projects/mesh11s/sys/dev/usb/ufm_ioctl.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_bus.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_busdma.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_busdma.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_cdc.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_compat_linux.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_compat_linux.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_controller.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_core.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_core.h   (contents, props changed)
  projects/mesh11s/sys/dev/usb/usb_debug.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_debug.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_defs.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_dev.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_dev.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_device.c   (contents, props changed)
  projects/mesh11s/sys/dev/usb/usb_device.h   (contents, props changed)
  projects/mesh11s/sys/dev/usb/usb_dynamic.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_dynamic.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_endian.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_error.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_error.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_generic.c   (contents, props changed)
  projects/mesh11s/sys/dev/usb/usb_generic.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_handle_request.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_handle_request.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_hid.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_hid.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_hub.c   (contents, props changed)
  projects/mesh11s/sys/dev/usb/usb_hub.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_if.m   (props changed)
  projects/mesh11s/sys/dev/usb/usb_ioctl.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_lookup.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_lookup.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_mbuf.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_mbuf.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_mfunc.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_msctest.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_msctest.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_parse.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_parse.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_pci.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_process.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_process.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_request.c   (contents, props changed)
  projects/mesh11s/sys/dev/usb/usb_request.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_revision.h   (contents, props changed)
  projects/mesh11s/sys/dev/usb/usb_transfer.c   (contents, props changed)
  projects/mesh11s/sys/dev/usb/usb_transfer.h   (props changed)
  projects/mesh11s/sys/dev/usb/usb_util.c   (props changed)
  projects/mesh11s/sys/dev/usb/usb_util.h   (props changed)
  projects/mesh11s/sys/dev/usb/usbdevs   (props changed)
  projects/mesh11s/sys/dev/usb/usbhid.h   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_rum.c   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_rumfw.h   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_rumreg.h   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_rumvar.h   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_ural.c   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_uralreg.h   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_uralvar.h   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_zyd.c   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_zydfw.h   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/if_zydreg.h   (props changed)
  projects/mesh11s/sys/dev/usb/wlan/usb_wlan.h   (props changed)
  projects/mesh11s/sys/dev/xen/netfront/   (props changed)
  projects/mesh11s/sys/dev/xen/xenpci/   (props changed)
  projects/mesh11s/sys/dev/xl/if_xl.c
  projects/mesh11s/sys/i386/i386/busdma_machdep.c
  projects/mesh11s/sys/ia64/isa/isa.c
  projects/mesh11s/sys/kern/kern_cpuset.c
  projects/mesh11s/sys/kern/kern_rmlock.c
  projects/mesh11s/sys/kern/kern_vimage.c
  projects/mesh11s/sys/kern/tty_pts.c
  projects/mesh11s/sys/legacy/dev/ata/ata-usb.c   (props changed)
  projects/mesh11s/sys/legacy/dev/sound/usb/uaudio.c   (props changed)
  projects/mesh11s/sys/legacy/dev/sound/usb/uaudio.h   (props changed)
  projects/mesh11s/sys/legacy/dev/sound/usb/uaudio_pcm.c   (props changed)
  projects/mesh11s/sys/legacy/dev/sound/usb/uaudioreg.h   (props changed)
  projects/mesh11s/sys/legacy/dev/usb/   (props changed)
  projects/mesh11s/sys/legacy/dev/usb/ehci_ixp4xx.c   (props changed)
  projects/mesh11s/sys/modules/dtrace/dtnfsclient/   (props changed)
  projects/mesh11s/sys/modules/ip6_mroute_mod/   (props changed)
  projects/mesh11s/sys/modules/ipmi/ipmi_linux/   (props changed)
  projects/mesh11s/sys/net/bridgestp.c
  projects/mesh11s/sys/net/flowtable.c
  projects/mesh11s/sys/net/if_arcsubr.c
  projects/mesh11s/sys/net/if_bridge.c
  projects/mesh11s/sys/net/if_ef.c
  projects/mesh11s/sys/net/if_loop.c
  projects/mesh11s/sys/net/route.c
  projects/mesh11s/sys/net/rtsock.c
  projects/mesh11s/sys/net80211/ieee80211_adhoc.c
  projects/mesh11s/sys/net80211/ieee80211_ddb.c
  projects/mesh11s/sys/net80211/ieee80211_freebsd.h
  projects/mesh11s/sys/net80211/ieee80211_hostap.c
  projects/mesh11s/sys/net80211/ieee80211_ht.c
  projects/mesh11s/sys/net80211/ieee80211_ioctl.c
  projects/mesh11s/sys/net80211/ieee80211_output.c
  projects/mesh11s/sys/net80211/ieee80211_sta.c
  projects/mesh11s/sys/net80211/ieee80211_superg.c
  projects/mesh11s/sys/net80211/ieee80211_var.h
  projects/mesh11s/sys/net80211/ieee80211_wds.c
  projects/mesh11s/sys/netgraph/netgraph.h
  projects/mesh11s/sys/netgraph/ng_base.c
  projects/mesh11s/sys/netgraph/ng_eiface.c
  projects/mesh11s/sys/netgraph/ng_ether.c
  projects/mesh11s/sys/netgraph/ng_iface.c
  projects/mesh11s/sys/netinet/igmp.c
  projects/mesh11s/sys/netinet/in.c
  projects/mesh11s/sys/netinet/in_mcast.c
  projects/mesh11s/sys/netinet/in_rmx.c
  projects/mesh11s/sys/netinet/ip_carp.c
  projects/mesh11s/sys/netinet/ip_divert.c
  projects/mesh11s/sys/netinet/ip_fw2.c
  projects/mesh11s/sys/netinet/ip_fw_pfil.c
  projects/mesh11s/sys/netinet/ip_ipsec.c
  projects/mesh11s/sys/netinet/ip_mroute.c
  projects/mesh11s/sys/netinet/ip_output.c
  projects/mesh11s/sys/netinet/tcp_subr.c
  projects/mesh11s/sys/netinet/tcp_timewait.c
  projects/mesh11s/sys/netinet/udp_usrreq.c
  projects/mesh11s/sys/netinet6/in6_rmx.c
  projects/mesh11s/sys/netinet6/nd6_rtr.c
  projects/mesh11s/sys/netipsec/key.c
  projects/mesh11s/sys/netipsec/key.h
  projects/mesh11s/sys/netipx/spx_usrreq.c
  projects/mesh11s/sys/powerpc/aim/machdep.c
  projects/mesh11s/sys/powerpc/booke/pmap.c
  projects/mesh11s/sys/powerpc/conf/MPC85XX
  projects/mesh11s/sys/powerpc/include/intr_machdep.h
  projects/mesh11s/sys/powerpc/include/pte.h
  projects/mesh11s/sys/powerpc/mpc85xx/ocpbus.c
  projects/mesh11s/sys/powerpc/mpc85xx/pci_ocp.c
  projects/mesh11s/sys/powerpc/powerpc/autoconf.c
  projects/mesh11s/sys/powerpc/powerpc/bus_machdep.c
  projects/mesh11s/sys/powerpc/powerpc/intr_machdep.c
  projects/mesh11s/sys/sys/mbuf.h
  projects/mesh11s/sys/sys/queue.h
  projects/mesh11s/sys/sys/vimage.h
  projects/mesh11s/sys/ufs/ufs/dinode.h
  projects/mesh11s/sys/ufs/ufs/inode.h
  projects/mesh11s/sys/ufs/ufs/ufs_vnops.c
  projects/mesh11s/sys/vm/swap_pager.c
  projects/mesh11s/sys/vm/vm_fault.c
  projects/mesh11s/sys/vm/vm_object.c
  projects/mesh11s/sys/vm/vm_pageout.c
  projects/mesh11s/sys/vm/vnode_pager.c
  projects/mesh11s/sys/xen/evtchn.h   (props changed)
  projects/mesh11s/sys/xen/hypervisor.h   (props changed)
  projects/mesh11s/sys/xen/xen_intr.h   (props changed)
  projects/mesh11s/tools/regression/lib/msun/test-conj.t   (props changed)
  projects/mesh11s/tools/regression/usr.bin/pkill/pgrep-_g.t   (props changed)
  projects/mesh11s/tools/regression/usr.bin/pkill/pgrep-_s.t   (props changed)
  projects/mesh11s/tools/regression/usr.bin/pkill/pkill-_g.t   (props changed)
  projects/mesh11s/tools/tools/ath/common/dumpregs.h   (props changed)
  projects/mesh11s/tools/tools/ath/common/dumpregs_5210.c   (props changed)
  projects/mesh11s/tools/tools/ath/common/dumpregs_5211.c   (props changed)
  projects/mesh11s/tools/tools/ath/common/dumpregs_5212.c   (props changed)
  projects/mesh11s/tools/tools/ath/common/dumpregs_5416.c   (props changed)
  projects/mesh11s/usr.bin/csup/   (props changed)
  projects/mesh11s/usr.bin/procstat/   (props changed)
  projects/mesh11s/usr.sbin/arp/arp.8
  projects/mesh11s/usr.sbin/dumpcis/cardinfo.h   (props changed)
  projects/mesh11s/usr.sbin/dumpcis/cis.h   (props changed)
  projects/mesh11s/usr.sbin/kbdmap/kbdmap.1
  projects/mesh11s/usr.sbin/makefs/ffs/ffs_bswap.c   (props changed)
  projects/mesh11s/usr.sbin/makefs/ffs/ffs_subr.c   (props changed)
  projects/mesh11s/usr.sbin/makefs/ffs/ufs_bswap.h   (props changed)
  projects/mesh11s/usr.sbin/makefs/getid.c   (props changed)
  projects/mesh11s/usr.sbin/zic/   (props changed)

Modified: projects/mesh11s/UPDATING
==============================================================================
--- projects/mesh11s/UPDATING	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/UPDATING	Tue Apr 28 23:36:29 2009	(r191642)
@@ -22,27 +22,35 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.
 	to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
 
-20090422
+20090422:
 	Implement low-level Bluetooth HCI API.
 	Bump __FreeBSD_version to 800083.
 
+20090419:
+	The layout of struct malloc_type, used by modules to register new
+	memory allocation types, has changed.  Most modules will need to
+	be rebuilt or panics may be experienced.
+	Bump __FreeBSD_version to 800081.
+
 20090415:
-	Anticipate overflowing inp_flags - add inp_flags2. 
+	Anticipate overflowing inp_flags - add inp_flags2.
 	This changes most offsets in inpcb, so checking v4 connection
-	state will require a world rebuild. 
+	state will require a world rebuild.
 	Bump __FreeBSD_version to 800080.
+
 20090415:
 	Add an llentry to struct route and struct route_in6. Modules
-	embedding a struct route will need to be recompiled. 
+	embedding a struct route will need to be recompiled.
 	Bump __FreeBSD_version to 800079.
 
 20090414:
 	The size of rt_metrics_lite and by extension rtentry has changed.
 	Networking administration apps will need to be recompiled.
-	The route command now supports show as an alias for get, weighting 
+	The route command now supports show as an alias for get, weighting
 	of routes, sticky and nostick flags to alter the behavior of stateful
 	load balancing.
 	Bump __FreeBSD_version to 800078.
+
 20090408:
 	Do not use Giant for kbdmux(4) locking. This is wrong and
 	apparently causing more problems than it solves. This will
@@ -62,7 +70,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.
 	GEOM_PART has become the default partition slicer for storage devices,
 	replacing GEOM_MBR, GEOM_BSD, GEOM_PC98 and GEOM_GPT slicers. It
 	introduces some changes:
-	
+
 	MSDOS/EBR: the devices created from MSDOS extended partition entries
 	(EBR) can be named differently than with GEOM_MBR and are now symlinks
 	to devices with offset-based names. fstabs may need to be modified.
@@ -71,7 +79,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 8.
 	cases but it points to problems in file system misalignment with
 	disk geometry. The "c" partition is now implicit, covers the whole
 	top-level drive and cannot be (mis)used by users.
-	
+
 	General: Kernel dumps are now not allowed to be written to devices
 	whose partition types indicate they are meant to be used for file
 	systems (or, in case of MSDOS partitions, as something else than

Modified: projects/mesh11s/contrib/ipfilter/ipsend/sbpf.c
==============================================================================
--- projects/mesh11s/contrib/ipfilter/ipsend/sbpf.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/contrib/ipfilter/ipsend/sbpf.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -28,9 +28,6 @@
 #include <netinet/in_systm.h>
 #include <netinet/ip.h>
 #include <netinet/ip_var.h>
-#include <netinet/udp.h>
-#include <netinet/udp_var.h>
-#include <netinet/tcp.h>
 
 #include <stdio.h>
 #include <netdb.h>

Modified: projects/mesh11s/etc/rc.d/jail
==============================================================================
--- projects/mesh11s/etc/rc.d/jail	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/etc/rc.d/jail	Tue Apr 28 23:36:29 2009	(r191642)
@@ -41,6 +41,14 @@ init_variables()
 	eval _ip=\"\$jail_${_j}_ip\"
 	eval _interface=\"\${jail_${_j}_interface:-${jail_interface}}\"
 	eval _exec=\"\$jail_${_j}_exec\"
+
+	i=0
+	while : ; do
+		eval _exec_prestart${i}=\"\${jail_${_j}_exec_prestart${i}:-\${jail_exec_prestart${i}}}\"
+		[ -z "$(eval echo \"\$_exec_prestart${i}\")" ] && break
+		i=$((i + 1))
+	done
+
 	eval _exec_start=\"\${jail_${_j}_exec_start:-${jail_exec_start}}\"
 
 	i=1
@@ -49,8 +57,30 @@ init_variables()
 		[ -z "$(eval echo \"\$_exec_afterstart${i}\")" ] &&  break
 		i=$((i + 1))
 	done
-	
+
+	i=0
+	while : ; do
+		eval _exec_poststart${i}=\"\${jail_${_j}_exec_poststart${i}:-\${jail_exec_poststart${i}}}\"
+		[ -z "$(eval echo \"\$_exec_poststart${i}\")" ] && break
+		i=$((i + 1))
+	done
+
+	i=0
+	while : ; do
+		eval _exec_prestop${i}=\"\${jail_${_j}_exec_prestop${i}:-\${jail_exec_prestop${i}}}\"
+		[ -z "$(eval echo \"\$_exec_prestop${i}\")" ] && break
+		i=$((i + 1))
+	done
+
 	eval _exec_stop=\"\${jail_${_j}_exec_stop:-${jail_exec_stop}}\"
+
+	i=0
+	while : ; do
+		eval _exec_poststop${i}=\"\${jail_${_j}_exec_poststop${i}:-\${jail_exec_poststop${i}}}\"
+		[ -z "$(eval echo \"\$_exec_poststop${i}\")" ] && break
+		i=$((i + 1))
+	done
+
 	if [ -n "${_exec}" ]; then
 		#   simple/backward-compatible execution
 		_exec_start="${_exec}"
@@ -102,9 +132,20 @@ init_variables()
 	debug "$_j procdir: $_procdir"
 	debug "$_j ruleset: $_ruleset"
 	debug "$_j fstab: $_fstab"
-	debug "$_j exec start: $_exec_start"
 	debug "$_j consolelog: $_consolelog"
 
+	i=0
+	while : ; do
+		eval out=\"\${_exec_prestart${i}:-''}\"
+		if [ -z "$out" ]; then
+			break
+		fi
+		debug "$_j exec pre-start #${i}: ${out}"
+		i=$((i + 1))
+	done
+
+	debug "$_j exec start: $_exec_start"
+
 	i=1
 	while [ true ]; do
 		eval out=\"\${_exec_afterstart${i}:-''}\"
@@ -117,7 +158,38 @@ init_variables()
 		i=$((i + 1))
 	done
 
+	i=0
+	while : ; do
+		eval out=\"\${_exec_poststart${i}:-''}\"
+		if [ -z "$out" ]; then
+			break
+		fi
+		debug "$_j exec post-start #${i}: ${out}"
+		i=$((i + 1))
+	done
+
+	i=0
+	while : ; do
+		eval out=\"\${_exec_prestop${i}:-''}\"
+		if [ -z "$out" ]; then
+			break
+		fi
+		debug "$_j exec pre-stop #${i}: ${out}"
+		i=$((i + 1))
+	done
+
 	debug "$_j exec stop: $_exec_stop"
+
+	i=0
+	while : ; do
+		eval out=\"\${_exec_poststop${i}:-''}\"
+		if [ -z "$out" ]; then
+			break
+		fi
+		debug "$_j exec post-stop #${i}: ${out}"
+		i=$((i + 1))
+	done
+
 	debug "$_j flags: $_flags"
 	debug "$_j consolelog: $_consolelog"
 
@@ -555,6 +627,15 @@ jail_start()
 			fi
 		fi
 		_tmp_jail=${_tmp_dir}/jail.$$
+
+		i=0
+		while : ; do
+			eval out=\"\${_exec_prestart${i}:-''}\"
+			[ -z "$out" ] && break
+			${out}
+			i=$((i + 1))
+		done
+
 		eval ${_setfib} jail ${_flags} -i ${_rootdir} ${_hostname} \
 			\"${_addrl}\" ${_exec_start} > ${_tmp_jail} 2>&1
 
@@ -575,6 +656,14 @@ jail_start()
 			echo -n " $_hostname"
 			tail +2 ${_tmp_jail} >${_consolelog}
 			echo ${_jail_id} > /var/run/jail_${_jail}.id
+
+			i=0
+			while : ; do
+				eval out=\"\${_exec_poststart${i}:-''}\"
+				[ -z "$out" ] && break
+				${out}
+				i=$((i + 1))
+			done
 		else
 			jail_umount_fs
 			jail_ips "del"
@@ -596,6 +685,15 @@ jail_stop()
 			_jail_id=$(cat /var/run/jail_${_jail}.id)
 			if [ ! -z "${_jail_id}" ]; then
 				init_variables $_jail
+
+				i=0
+				while : ; do
+					eval out=\"\${_exec_prestop${i}:-''}\"
+					[ -z "$out" ] && break
+					${out}
+					i=$((i + 1))
+				done
+
 				if [ -n "${_exec_stop}" ]; then
 					eval env -i /usr/sbin/jexec ${_jail_id} ${_exec_stop} \
 						>> ${_consolelog} 2>&1
@@ -605,6 +703,14 @@ jail_stop()
 				killall -j ${_jail_id} -KILL > /dev/null 2>&1
 				jail_umount_fs
 				echo -n " $_hostname"
+
+				i=0
+				while : ; do
+					eval out=\"\${_exec_poststop${i}:-''}\"
+					[ -z "$out" ] && break
+					${out}
+					i=$((i + 1))
+				done
 			fi
 			jail_ips "del"
 			rm /var/run/jail_${_jail}.id

Modified: projects/mesh11s/lib/libarchive/Makefile
==============================================================================
--- projects/mesh11s/lib/libarchive/Makefile	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/Makefile	Tue Apr 28 23:36:29 2009	(r191642)
@@ -11,6 +11,9 @@ SHLIB_MAJOR= 4
 
 CFLAGS+=	-DPLATFORM_CONFIG_H=\"config_freebsd.h\"
 CFLAGS+=	-I${.OBJDIR}
+#Uncomment to build with full lzma/xz support via liblzma
+#CFLAGS+= -I/usr/local/include -DHAVE_LIBLZMA=1 -DHAVE_LZMA_H=1
+#LDADD+= -L/usr/local/lib -llzma
 
 .if ${MK_OPENSSL} != "no"
 CFLAGS+=	-DWITH_OPENSSL
@@ -52,6 +55,7 @@ SRCS=	archive_check_magic.c				\
 	archive_read_support_format_empty.c		\
 	archive_read_support_format_iso9660.c		\
 	archive_read_support_format_mtree.c		\
+	archive_read_support_format_raw.c		\
 	archive_read_support_format_tar.c		\
 	archive_read_support_format_zip.c		\
 	archive_string.c				\
@@ -177,6 +181,7 @@ MLINKS+=	archive_read.3 archive_read_ext
 MLINKS+=	archive_read.3 archive_read_finish.3
 MLINKS+=	archive_read.3 archive_read_new.3
 MLINKS+=	archive_read.3 archive_read_next_header.3
+MLINKS+=	archive_read.3 archive_read_next_header2.3
 MLINKS+=	archive_read.3 archive_read_open.3
 MLINKS+=	archive_read.3 archive_read_open2.3
 MLINKS+=	archive_read.3 archive_read_open_FILE.3
@@ -188,11 +193,17 @@ MLINKS+=	archive_read.3 archive_read_sup
 MLINKS+=	archive_read.3 archive_read_support_compression_bzip2.3
 MLINKS+=	archive_read.3 archive_read_support_compression_compress.3
 MLINKS+=	archive_read.3 archive_read_support_compression_gzip.3
+MLINKS+=	archive_read.3 archive_read_support_compression_lzma.3
 MLINKS+=	archive_read.3 archive_read_support_compression_none.3
 MLINKS+=	archive_read.3 archive_read_support_compression_program.3
+MLINKS+=	archive_read.3 archive_read_support_compression_program_signature.3
+MLINKS+=	archive_read.3 archive_read_support_compression_xz.3
 MLINKS+=	archive_read.3 archive_read_support_format_all.3
+MLINKS+=	archive_read.3 archive_read_support_format_ar.3
 MLINKS+=	archive_read.3 archive_read_support_format_cpio.3
+MLINKS+=	archive_read.3 archive_read_support_format_empty.3
 MLINKS+=	archive_read.3 archive_read_support_format_iso9660.3
+MLINKS+=	archive_read.3 archive_read_support_format_raw.3
 MLINKS+=	archive_read.3 archive_read_support_format_tar.3
 MLINKS+=	archive_read.3 archive_read_support_format_zip.3
 MLINKS+=	archive_read_disk.3 archive_read_disk_entry_from_file.3

Modified: projects/mesh11s/lib/libarchive/archive.h
==============================================================================
--- projects/mesh11s/lib/libarchive/archive.h	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive.h	Tue Apr 28 23:36:29 2009	(r191642)
@@ -272,6 +272,7 @@ typedef int	archive_close_callback(struc
 #define	ARCHIVE_FORMAT_AR_GNU			(ARCHIVE_FORMAT_AR | 1)
 #define	ARCHIVE_FORMAT_AR_BSD			(ARCHIVE_FORMAT_AR | 2)
 #define	ARCHIVE_FORMAT_MTREE			0x80000
+#define	ARCHIVE_FORMAT_RAW			0x90000
 
 /*-
  * Basic outline for reading an archive:
@@ -315,6 +316,7 @@ __LA_DECL int		 archive_read_support_for
 __LA_DECL int		 archive_read_support_format_gnutar(struct archive *);
 __LA_DECL int		 archive_read_support_format_iso9660(struct archive *);
 __LA_DECL int		 archive_read_support_format_mtree(struct archive *);
+__LA_DECL int		 archive_read_support_format_raw(struct archive *);
 __LA_DECL int		 archive_read_support_format_tar(struct archive *);
 __LA_DECL int		 archive_read_support_format_zip(struct archive *);
 

Modified: projects/mesh11s/lib/libarchive/archive_entry.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_entry.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_entry.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -115,6 +115,7 @@ static int	acl_special(struct archive_en
 static struct ae_acl *acl_new_entry(struct archive_entry *entry,
 		    int type, int permset, int tag, int id);
 static int	isint_w(const wchar_t *start, const wchar_t *end, int *result);
+static int	ismode_w(const wchar_t *start, const wchar_t *end, int *result);
 static void	next_field_w(const wchar_t **wp, const wchar_t **start,
 		    const wchar_t **end, wchar_t *sep);
 static int	prefix_w(const wchar_t *start, const wchar_t *end,
@@ -1238,7 +1239,7 @@ static struct ae_acl *
 acl_new_entry(struct archive_entry *entry,
     int type, int permset, int tag, int id)
 {
-	struct ae_acl *ap;
+	struct ae_acl *ap, *aq;
 
 	if (type != ARCHIVE_ENTRY_ACL_TYPE_ACCESS &&
 	    type != ARCHIVE_ENTRY_ACL_TYPE_DEFAULT)
@@ -1251,20 +1252,26 @@ acl_new_entry(struct archive_entry *entr
 	/* XXX TODO: More sanity-checks on the arguments XXX */
 
 	/* If there's a matching entry already in the list, overwrite it. */
-	for (ap = entry->acl_head; ap != NULL; ap = ap->next) {
+	ap = entry->acl_head;
+	aq = NULL;
+	while (ap != NULL) {
 		if (ap->type == type && ap->tag == tag && ap->id == id) {
 			ap->permset = permset;
 			return (ap);
 		}
+		aq = ap;
+		ap = ap->next;
 	}
 
-	/* Add a new entry to the list. */
+	/* Add a new entry to the end of the list. */
 	ap = (struct ae_acl *)malloc(sizeof(*ap));
 	if (ap == NULL)
 		return (NULL);
 	memset(ap, 0, sizeof(*ap));
-	ap->next = entry->acl_head;
-	entry->acl_head = ap;
+	if (aq == NULL)
+		entry->acl_head = ap;
+	else
+		aq->next = ap;
 	ap->type = type;
 	ap->tag = tag;
 	ap->id = id;
@@ -1586,11 +1593,10 @@ __archive_entry_acl_parse_w(struct archi
 	struct {
 		const wchar_t *start;
 		const wchar_t *end;
-	} field[4];
+	} field[4], name;
 
 	int fields;
 	int type, tag, permset, id;
-	const wchar_t *p;
 	wchar_t sep;
 
 	while (text != NULL  &&  *text != L'\0') {
@@ -1609,9 +1615,6 @@ __archive_entry_acl_parse_w(struct archi
 			++fields;
 		} while (sep == L':');
 
-		if (fields < 3)
-			return (ARCHIVE_WARN);
-
 		/* Check for a numeric ID in field 1 or 3. */
 		id = -1;
 		isint_w(field[1].start, field[1].end, &id);
@@ -1619,27 +1622,6 @@ __archive_entry_acl_parse_w(struct archi
 		if (id == -1 && fields > 3)
 			isint_w(field[3].start, field[3].end, &id);
 
-		/* Parse the permissions from field 2. */
-		permset = 0;
-		p = field[2].start;
-		while (p < field[2].end) {
-			switch (*p++) {
-			case 'r': case 'R':
-				permset |= ARCHIVE_ENTRY_ACL_READ;
-				break;
-			case 'w': case 'W':
-				permset |= ARCHIVE_ENTRY_ACL_WRITE;
-				break;
-			case 'x': case 'X':
-				permset |= ARCHIVE_ENTRY_ACL_EXECUTE;
-				break;
-			case '-':
-				break;
-			default:
-				return (ARCHIVE_WARN);
-			}
-		}
-
 		/*
 		 * Solaris extension:  "defaultuser::rwx" is the
 		 * default ACL corresponding to "user::rwx", etc.
@@ -1651,22 +1633,47 @@ __archive_entry_acl_parse_w(struct archi
 		} else
 			type = default_type;
 
+		name.start = name.end = NULL;
 		if (prefix_w(field[0].start, field[0].end, L"user")) {
-			if (id != -1 || field[1].start < field[1].end)
+			if (!ismode_w(field[2].start, field[2].end, &permset))
+				return (ARCHIVE_WARN);
+			if (id != -1 || field[1].start < field[1].end) {
 				tag = ARCHIVE_ENTRY_ACL_USER;
-			else
+				name = field[1];
+			} else
 				tag = ARCHIVE_ENTRY_ACL_USER_OBJ;
 		} else if (prefix_w(field[0].start, field[0].end, L"group")) {
-			if (id != -1 || field[1].start < field[1].end)
+			if (!ismode_w(field[2].start, field[2].end, &permset))
+				return (ARCHIVE_WARN);
+			if (id != -1 || field[1].start < field[1].end) {
 				tag = ARCHIVE_ENTRY_ACL_GROUP;
-			else
+				name = field[1];
+			} else
 				tag = ARCHIVE_ENTRY_ACL_GROUP_OBJ;
 		} else if (prefix_w(field[0].start, field[0].end, L"other")) {
-			if (id != -1 || field[1].start < field[1].end)
+			if (fields == 2
+			    && field[1].start < field[1].end
+			    && ismode_w(field[1].start, field[2].end, &permset)) {
+				/* This is Solaris-style "other:rwx" */
+			} else if (fields == 3
+			    && field[1].start == field[1].end
+			    && field[2].start < field[2].end
+			    && ismode_w(field[2].start, field[2].end, &permset)) {
+				/* This is FreeBSD-style "other::rwx" */
+			} else
 				return (ARCHIVE_WARN);
 			tag = ARCHIVE_ENTRY_ACL_OTHER;
 		} else if (prefix_w(field[0].start, field[0].end, L"mask")) {
-			if (id != -1 || field[1].start < field[1].end)
+			if (fields == 2
+			    && field[1].start < field[1].end
+			    && ismode_w(field[1].start, field[1].end, &permset)) {
+				/* This is Solaris-style "mask:rwx" */
+			} else if (fields == 3
+			    && field[1].start == field[1].end
+			    && field[2].start < field[2].end
+			    && ismode_w(field[2].start, field[2].end, &permset)) {
+				/* This is FreeBSD-style "mask::rwx" */
+			} else
 				return (ARCHIVE_WARN);
 			tag = ARCHIVE_ENTRY_ACL_MASK;
 		} else
@@ -1674,7 +1681,7 @@ __archive_entry_acl_parse_w(struct archi
 
 		/* Add entry to the internal list. */
 		archive_entry_acl_add_entry_w_len(entry, type, permset,
-		    tag, id, field[1].start, field[1].end - field[1].start);
+		    tag, id, name.start, name.end - name.start);
 	}
 	return (ARCHIVE_OK);
 }
@@ -1798,6 +1805,38 @@ isint_w(const wchar_t *start, const wcha
 }
 
 /*
+ * Parse a string as a mode field.  Returns true if
+ * the string is non-empty and consists only of mode characters,
+ * false otherwise.
+ */
+static int
+ismode_w(const wchar_t *start, const wchar_t *end, int *permset)
+{
+	const wchar_t *p;
+
+	p = start;
+	*permset = 0;
+	while (p < end) {
+		switch (*p++) {
+		case 'r': case 'R':
+			*permset |= ARCHIVE_ENTRY_ACL_READ;
+			break;
+		case 'w': case 'W':
+			*permset |= ARCHIVE_ENTRY_ACL_WRITE;
+			break;
+		case 'x': case 'X':
+			*permset |= ARCHIVE_ENTRY_ACL_EXECUTE;
+			break;
+		case '-':
+			break;
+		default:
+			return (0);
+		}
+	}
+	return (1);
+}
+
+/*
  * Match "[:whitespace:]*(.*)[:whitespace:]*[:,\n]".  *wp is updated
  * to point to just after the separator.  *start points to the first
  * character of the matched text and *end just after the last

Modified: projects/mesh11s/lib/libarchive/archive_read.3
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read.3	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read.3	Tue Apr 28 23:36:29 2009	(r191642)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 19, 2006
+.Dd April 13, 2009
 .Dt archive_read 3
 .Os
 .Sh NAME
@@ -36,12 +36,18 @@
 .Nm archive_read_support_compression_bzip2 ,
 .Nm archive_read_support_compression_compress ,
 .Nm archive_read_support_compression_gzip ,
+.Nm archive_read_support_compression_lzma ,
 .Nm archive_read_support_compression_none ,
+.Nm archive_read_support_compression_xz ,
 .Nm archive_read_support_compression_program ,
+.Nm archive_read_support_compression_program_signature ,
 .Nm archive_read_support_format_all ,
+.Nm archive_read_support_format_ar ,
 .Nm archive_read_support_format_cpio ,
 .Nm archive_read_support_format_empty ,
 .Nm archive_read_support_format_iso9660 ,
+.Nm archive_read_support_format_mtree,
+.Nm archive_read_support_format_raw,
 .Nm archive_read_support_format_tar ,
 .Nm archive_read_support_format_zip ,
 .Nm archive_read_open ,
@@ -78,21 +84,38 @@
 .Ft int
 .Fn archive_read_support_compression_gzip "struct archive *"
 .Ft int
+.Fn archive_read_support_compression_lzma "struct archive *"
+.Ft int
 .Fn archive_read_support_compression_none "struct archive *"
 .Ft int
+.Fn archive_read_support_compression_xz "struct archive *"
+.Ft int
 .Fo archive_read_support_compression_program
 .Fa "struct archive *"
 .Fa "const char *cmd"
 .Fc
 .Ft int
+.Fo archive_read_support_compression_program_signature
+.Fa "struct archive *"
+.Fa "const char *cmd"
+.Fa "const void *signature"
+.Fa "size_t signature_length"
+.Fc
+.Ft int
 .Fn archive_read_support_format_all "struct archive *"
 .Ft int
+.Fn archive_read_support_format_ar "struct archive *"
+.Ft int
 .Fn archive_read_support_format_cpio "struct archive *"
 .Ft int
 .Fn archive_read_support_format_empty "struct archive *"
 .Ft int
 .Fn archive_read_support_format_iso9660 "struct archive *"
 .Ft int
+.Fn archive_read_support_format_mtree "struct archive *"
+.Ft int
+.Fn archive_read_support_format_raw "struct archive *"
+.Ft int
 .Fn archive_read_support_format_tar "struct archive *"
 .Ft int
 .Fn archive_read_support_format_zip "struct archive *"
@@ -189,30 +212,43 @@ Allocates and initializes a
 .Tn struct archive
 object suitable for reading from an archive.
 .It Xo
-.Fn archive_read_support_compression_all ,
 .Fn archive_read_support_compression_bzip2 ,
 .Fn archive_read_support_compression_compress ,
 .Fn archive_read_support_compression_gzip ,
-.Fn archive_read_support_compression_none
+.Fn archive_read_support_compression_lzma ,
+.Fn archive_read_support_compression_none ,
+.Fn archive_read_support_compression_xz
 .Xc
 Enables auto-detection code and decompression support for the
 specified compression.
+Returns
+.Cm ARCHIVE_OK
+if the compression is fully supported, or
+.Cm ARCHIVE_WARN
+if the compression is supported only through an external program.
+Note that decompression using an external program is usually slower than
+decompression through built-in libraries.
 Note that
 .Dq none
 is always enabled by default.
-For convenience,
-.Fn archive_read_support_compression_all
-enables all available decompression code.
+.It Fn archive_read_support_compression_all
+Enables all available decompression filters.
 .It Fn archive_read_support_compression_program
 Data is fed through the specified external program before being dearchived.
 Note that this disables automatic detection of the compression format,
 so it makes no sense to specify this in conjunction with any other
 decompression option.
+.It Fn archive_read_support_compression_program_signature
+This feeds data through the specified external program
+but only if the initial bytes of the data match the specified
+signature value.
 .It Xo
 .Fn archive_read_support_format_all ,
+.Fn archive_read_support_format_ar ,
 .Fn archive_read_support_format_cpio ,
 .Fn archive_read_support_format_empty ,
 .Fn archive_read_support_format_iso9660 ,
+.Fn archive_read_support_format_mtree ,
 .Fn archive_read_support_format_tar ,
 .Fn archive_read_support_format_zip
 .Xc
@@ -226,6 +262,17 @@ For convenience,
 .Fn archive_read_support_format_all
 enables support for all available formats.
 Only empty archives are supported by default.
+.It Fn archive_read_support_format_raw
+The
+.Dq raw
+format handler allows libarchive to be used to read arbitrary data.
+It treats any data stream as an archive with a single entry.
+The pathname of this entry is
+.Dq data ;
+all other entry fields are unset.
+This is not enabled by
+.Fn archive_read_support_format_all
+in order to avoid erroneous handling of damaged archives.
 .It Xo
 .Fn archive_read_set_filter_options ,
 .Fn archive_read_set_format_options ,
@@ -322,9 +369,9 @@ a
 .Tn struct archive_entry .
 This is a convenience wrapper around
 .Fn archive_read_next_header2
-that uses an internal
+that reuses an internal
 .Tn struct archive_entry
-object.
+object for each request.
 .It Fn archive_read_next_header2
 Read the header for the next entry and populate the provided
 .Tn struct archive_entry .

Modified: projects/mesh11s/lib/libarchive/archive_read.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -1112,7 +1112,24 @@ __archive_read_filter_consume(struct arc
 int64_t
 __archive_read_skip(struct archive_read *a, int64_t request)
 {
-	return (__archive_read_filter_skip(a->filter, request));
+	int64_t skipped = __archive_read_skip_lenient(a, request);
+	if (skipped == request)
+		return (skipped);
+	/* We hit EOF before we satisfied the skip request. */
+	archive_set_error(&a->archive,
+	    ARCHIVE_ERRNO_MISC,
+	    "Truncated input file (needed %jd bytes, only %jd available)",
+	    (intmax_t)request, (intmax_t)skipped);
+	return (ARCHIVE_FATAL);
+}
+
+int64_t
+__archive_read_skip_lenient(struct archive_read *a, int64_t request)
+{
+	int64_t skipped = __archive_read_filter_skip(a->filter, request);
+	if (skipped > 0)
+		a->archive.file_position += skipped;
+	return (skipped);
 }
 
 int64_t
@@ -1128,13 +1145,13 @@ __archive_read_filter_skip(struct archiv
 	 */
 	if (filter->avail > 0) {
 		min = minimum(request, (off_t)filter->avail);
-		bytes_skipped = __archive_read_consume(filter->archive, min);
+		bytes_skipped = __archive_read_filter_consume(filter, min);
 		request -= bytes_skipped;
 		total_bytes_skipped += bytes_skipped;
 	}
 	if (filter->client_avail > 0) {
 		min = minimum(request, (off_t)filter->client_avail);
-		bytes_skipped = __archive_read_consume(filter->archive, min);
+		bytes_skipped = __archive_read_filter_consume(filter, min);
 		request -= bytes_skipped;
 		total_bytes_skipped += bytes_skipped;
 	}
@@ -1155,7 +1172,6 @@ __archive_read_filter_skip(struct archiv
 			filter->fatal = 1;
 			return (bytes_skipped);
 		}
-		filter->archive->archive.file_position += bytes_skipped;
 		total_bytes_skipped += bytes_skipped;
 		request -= bytes_skipped;
 		filter->client_next = filter->client_buff;
@@ -1170,20 +1186,15 @@ __archive_read_filter_skip(struct archiv
 	while (request > 0) {
 		const void* dummy_buffer;
 		ssize_t bytes_read;
-		dummy_buffer = __archive_read_ahead(filter->archive,
+		dummy_buffer = __archive_read_filter_ahead(filter,
 		    1, &bytes_read);
 		if (bytes_read < 0)
 			return (bytes_read);
 		if (bytes_read == 0) {
-			/* We hit EOF before we satisfied the skip request. */
-			archive_set_error(&filter->archive->archive,
-			    ARCHIVE_ERRNO_MISC,
-			    "Truncated input file (need to skip %jd bytes)",
-			    (intmax_t)request);
-			return (ARCHIVE_FATAL);
+			return (total_bytes_skipped);
 		}
 		min = (size_t)(minimum(bytes_read, request));
-		bytes_read = __archive_read_consume(filter->archive, min);
+		bytes_read = __archive_read_filter_consume(filter, min);
 		total_bytes_skipped += bytes_read;
 		request -= bytes_read;
 	}

Modified: projects/mesh11s/lib/libarchive/archive_read_open_fd.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_open_fd.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_open_fd.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -66,6 +66,7 @@ archive_read_open_fd(struct archive *a, 
 	struct read_fd_data *mine;
 	void *b;
 
+	archive_clear_error(a);
 	if (fstat(fd, &st) != 0) {
 		archive_set_error(a, errno, "Can't stat fd %d", fd);
 		return (ARCHIVE_FATAL);

Modified: projects/mesh11s/lib/libarchive/archive_read_open_file.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_open_file.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_open_file.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -70,6 +70,7 @@ archive_read_open_FILE(struct archive *a
 	size_t block_size = 128 * 1024;
 	void *b;
 
+	archive_clear_error(a);
 	mine = (struct read_FILE_data *)malloc(sizeof(*mine));
 	b = malloc(block_size);
 	if (mine == NULL || b == NULL) {

Modified: projects/mesh11s/lib/libarchive/archive_read_open_filename.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_open_filename.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_open_filename.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -84,6 +84,7 @@ archive_read_open_filename(struct archiv
 	void *b;
 	int fd;
 
+	archive_clear_error(a);
 	if (filename == NULL || filename[0] == '\0')
 		return (archive_read_open_fd(a, 0, block_size));
 

Modified: projects/mesh11s/lib/libarchive/archive_read_private.h
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_private.h	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_private.h	Tue Apr 28 23:36:29 2009	(r191642)
@@ -189,6 +189,7 @@ const void *__archive_read_filter_ahead(
 ssize_t	__archive_read_consume(struct archive_read *, size_t);
 ssize_t	__archive_read_filter_consume(struct archive_read_filter *, size_t);
 int64_t	__archive_read_skip(struct archive_read *, int64_t);
+int64_t	__archive_read_skip_lenient(struct archive_read *, int64_t);
 int64_t	__archive_read_filter_skip(struct archive_read_filter *, int64_t);
 int __archive_read_program(struct archive_read_filter *, const char *);
 #endif

Modified: projects/mesh11s/lib/libarchive/archive_read_support_compression_xz.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_support_compression_xz.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_support_compression_xz.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -100,6 +100,7 @@ archive_read_support_compression_xz(stru
 	struct archive_read *a = (struct archive_read *)_a;
 	struct archive_read_filter_bidder *bidder = __archive_read_get_bidder(a);
 
+	archive_clear_error(_a);
 	if (bidder == NULL)
 		return (ARCHIVE_FATAL);
 
@@ -123,6 +124,7 @@ archive_read_support_compression_lzma(st
 	struct archive_read *a = (struct archive_read *)_a;
 	struct archive_read_filter_bidder *bidder = __archive_read_get_bidder(a);
 
+	archive_clear_error(_a);
 	if (bidder == NULL)
 		return (ARCHIVE_FATAL);
 

Modified: projects/mesh11s/lib/libarchive/archive_read_support_format_cpio.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_support_format_cpio.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_support_format_cpio.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -257,6 +257,11 @@ archive_read_format_cpio_read_header(str
 		cpio->entry_bytes_remaining = 0;
 	}
 
+	/* XXX TODO: If the full mode is 0160200, then this is a Solaris
+	 * ACL description for the following entry.  Read this body
+	 * and parse it as a Solaris-style ACL, then read the next
+	 * header.  XXX */
+
 	/* Compare name to "TRAILER!!!" to test for end-of-archive. */
 	if (namelength == 11 && strcmp((const char *)h, "TRAILER!!!") == 0) {
 	    /* TODO: Store file location of start of block. */
@@ -669,7 +674,7 @@ le4(const unsigned char *p)
 static int
 be4(const unsigned char *p)
 {
-	return (p[0] + (p[1]<<8) + (p[2]<<16) + (p[3]<<24));
+	return ((p[0]<<24) + (p[1]<<16) + (p[2]<<8) + (p[3]));
 }
 
 /*

Modified: projects/mesh11s/lib/libarchive/archive_read_support_format_empty.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_support_format_empty.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_support_format_empty.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -59,10 +59,9 @@ archive_read_support_format_empty(struct
 static int
 archive_read_format_empty_bid(struct archive_read *a)
 {
-	const void *h;
 	ssize_t avail;
 
-	h = __archive_read_ahead(a, 1, &avail);
+	(void)__archive_read_ahead(a, 1, &avail);
 	if (avail != 0)
 		return (-1);
 	return (1);

Modified: projects/mesh11s/lib/libarchive/archive_read_support_format_iso9660.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_support_format_iso9660.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_support_format_iso9660.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -683,7 +683,7 @@ archive_read_format_iso9660_read_data(st
 	if (bytes_read == 0)
 		archive_set_error(&a->archive, ARCHIVE_ERRNO_MISC,
 		    "Truncated input file");
-	if (buff == NULL)
+	if (*buff == NULL)
 		return (ARCHIVE_FATAL);
 	if (bytes_read > iso9660->entry_bytes_remaining)
 		bytes_read = iso9660->entry_bytes_remaining;

Modified: projects/mesh11s/lib/libarchive/archive_read_support_format_mtree.c
==============================================================================
--- projects/mesh11s/lib/libarchive/archive_read_support_format_mtree.c	Tue Apr 28 22:27:22 2009	(r191641)
+++ projects/mesh11s/lib/libarchive/archive_read_support_format_mtree.c	Tue Apr 28 23:36:29 2009	(r191642)
@@ -990,8 +990,8 @@ read_data(struct archive_read *a, const 
 		if (mtree->buff == NULL) {
 			archive_set_error(&a->archive, ENOMEM,
 			    "Can't allocate memory");
+			return (ARCHIVE_FATAL);
 		}
-		return (ARCHIVE_FATAL);
 	}
 
 	*buff = mtree->buff;

Copied: projects/mesh11s/lib/libarchive/archive_read_support_format_raw.c (from r191639, head/lib/libarchive/archive_read_support_format_raw.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/mesh11s/lib/libarchive/archive_read_support_format_raw.c	Tue Apr 28 23:36:29 2009	(r191642, copy of r191639, head/lib/libarchive/archive_read_support_format_raw.c)
@@ -0,0 +1,187 @@
+/*-
+ * Copyright (c) 2003-2009 Tim Kientzle
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 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.
+ */
+#include "archive_platform.h"
+__FBSDID("$FreeBSD$");
+
+#ifdef HAVE_ERRNO_H
+#include <errno.h>
+#endif
+#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include "archive.h"
+#include "archive_entry.h"
+#include "archive_private.h"
+#include "archive_read_private.h"
+
+struct raw_info {
+	int64_t offset; /* Current position in the file. */
+	int     end_of_file;
+};
+
+static int	archive_read_format_raw_bid(struct archive_read *);
+static int	archive_read_format_raw_cleanup(struct archive_read *);
+static int	archive_read_format_raw_read_data(struct archive_read *,
+		    const void **, size_t *, off_t *);
+static int	archive_read_format_raw_read_data_skip(struct archive_read *);
+static int	archive_read_format_raw_read_header(struct archive_read *,
+		    struct archive_entry *);
+
+int
+archive_read_support_format_raw(struct archive *_a)
+{
+	struct raw_info *info;
+	struct archive_read *a = (struct archive_read *)_a;
+	int r;
+
+	info = (struct raw_info *)calloc(1, sizeof(*info));
+	if (info == NULL) {
+		archive_set_error(&a->archive, ENOMEM,
+		    "Can't allocate raw_info data");
+		return (ARCHIVE_FATAL);
+	}
+
+	r = __archive_read_register_format(a,
+	    info,
+	    "raw",
+	    archive_read_format_raw_bid,
+	    NULL,
+	    archive_read_format_raw_read_header,
+	    archive_read_format_raw_read_data,
+	    archive_read_format_raw_read_data_skip,
+	    archive_read_format_raw_cleanup);
+	if (r != ARCHIVE_OK)
+		free(info);
+	return (r);
+}
+
+/*
+ * Bid 1 if this is a non-empty file.  Anyone who can really support
+ * this should outbid us, so it should generally be safe to use "raw"
+ * in conjunction with other formats.  But, this could really confuse
+ * folks if there are bid errors or minor file damage, so we don't
+ * include "raw" as part of support_format_all().
+ */
+static int
+archive_read_format_raw_bid(struct archive_read *a)
+{
+	const char *p;
+
+	if ((p = __archive_read_ahead(a, 1, NULL)) == NULL)
+		return (-1);
+	return (1);
+}
+
+/*
+ * Mock up a fake header.
+ */
+static int
+archive_read_format_raw_read_header(struct archive_read *a,
+    struct archive_entry *entry)
+{
+	struct raw_info *info;
+
+	info = (struct raw_info *)(a->format->data);
+	if (info->end_of_file)
+		return (ARCHIVE_EOF);
+
+	a->archive.archive_format = ARCHIVE_FORMAT_RAW;
+	a->archive.archive_format_name = "Raw data";
+	archive_entry_set_pathname(entry, "data");
+	/* XXX should we set mode to mimic a regular file? XXX */
+	/* I'm deliberately leaving most fields unset here. */
+	return (ARCHIVE_OK);
+}
+
+static int
+archive_read_format_raw_read_data(struct archive_read *a,
+    const void **buff, size_t *size, off_t *offset)
+{
+	struct raw_info *info;
+	ssize_t avail;
+
+	info = (struct raw_info *)(a->format->data);
+	if (info->end_of_file)
+		return (ARCHIVE_EOF);
+
+	/* Get whatever bytes are immediately available. */
+	*buff = __archive_read_ahead(a, 1, &avail);
+	if (avail > 0) {
+		/* Consume and return the bytes we just read */
+		__archive_read_consume(a, avail);
+		*size = avail;
+		*offset = info->offset;
+		info->offset += *size;
+		return (ARCHIVE_OK);
+	} else if (0 == avail) {
+		/* Record and return end-of-file. */
+		info->end_of_file = 1;
+		*size = 0;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list