From owner-p4-projects@FreeBSD.ORG Mon Mar 5 07:43:49 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3D48216A406; Mon, 5 Mar 2007 07:43:49 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 104E216A404 for ; Mon, 5 Mar 2007 07:43:49 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id F279D13C474 for ; Mon, 5 Mar 2007 07:43:48 +0000 (UTC) (envelope-from mjacob@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id l257hmdj055467 for ; Mon, 5 Mar 2007 07:43:48 GMT (envelope-from mjacob@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id l257hldV055462 for perforce@freebsd.org; Mon, 5 Mar 2007 07:43:47 GMT (envelope-from mjacob@freebsd.org) Date: Mon, 5 Mar 2007 07:43:47 GMT Message-Id: <200703050743.l257hldV055462@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to mjacob@freebsd.org using -f From: Matt Jacob To: Perforce Change Reviews Cc: Subject: PERFORCE change 115322 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Mar 2007 07:43:49 -0000 http://perforce.freebsd.org/chv.cgi?CH=115322 Change 115322 by mjacob@mjexp on 2007/03/05 07:43:11 IFC Affected files ... .. //depot/projects/mjexp/UPDATING#10 integrate .. //depot/projects/mjexp/bin/expr/expr.1#2 integrate .. //depot/projects/mjexp/bin/kill/kill.1#2 integrate .. //depot/projects/mjexp/etc/defaults/rc.conf#6 integrate .. //depot/projects/mjexp/etc/mtree/BSD.usr.dist#5 integrate .. //depot/projects/mjexp/etc/rc.d/dhclient#4 integrate .. //depot/projects/mjexp/etc/rc.d/random#2 integrate .. //depot/projects/mjexp/lib/libarchive/Makefile#4 integrate .. //depot/projects/mjexp/lib/libarchive/README#2 integrate .. //depot/projects/mjexp/lib/libarchive/archive.h.in#7 integrate .. //depot/projects/mjexp/lib/libarchive/archive_entry.3#3 integrate .. //depot/projects/mjexp/lib/libarchive/archive_private.h#6 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read.3#6 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read.c#8 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_data_into_fd.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_extract.c#5 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_private.h#1 branch .. //depot/projects/mjexp/lib/libarchive/archive_read_support_compression_bzip2.c#5 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_compression_compress.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_compression_gzip.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_compression_none.c#7 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_cpio.c#5 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_empty.c#2 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_iso9660.c#6 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_tar.c#5 integrate .. //depot/projects/mjexp/lib/libarchive/archive_read_support_format_zip.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_util.3#3 integrate .. //depot/projects/mjexp/lib/libarchive/archive_util.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_virtual.c#1 branch .. //depot/projects/mjexp/lib/libarchive/archive_write.3#5 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write_disk.3#1 branch .. //depot/projects/mjexp/lib/libarchive/archive_write_disk.c#1 branch .. //depot/projects/mjexp/lib/libarchive/archive_write_disk_private.h#1 branch .. //depot/projects/mjexp/lib/libarchive/archive_write_disk_set_standard_lookup.c#1 branch .. //depot/projects/mjexp/lib/libarchive/archive_write_private.h#1 branch .. //depot/projects/mjexp/lib/libarchive/archive_write_set_compression_bzip2.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write_set_compression_gzip.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write_set_compression_none.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write_set_format_cpio.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write_set_format_pax.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write_set_format_shar.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/archive_write_set_format_ustar.c#4 integrate .. //depot/projects/mjexp/lib/libarchive/test/Makefile#1 branch .. //depot/projects/mjexp/lib/libarchive/test/README#1 branch .. //depot/projects/mjexp/lib/libarchive/test/main.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test.h#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_archive_api_feature.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_bad_fd.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_data_large.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_extract.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_cpio_bin.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_cpio_bin_Z.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_cpio_bin_bz2.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_cpio_bin_gz.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_cpio_odc.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_cpio_svr4_gzip.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_cpio_svr4c_Z.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_empty.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_gtar_gz.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_iso_gz.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_isorr_bz2.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_pax_bz2.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_tar.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_tbz.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_tgz.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_tz.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_format_zip.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_large.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_position.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_read_truncated.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_write_disk.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_write_disk_perms.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_write_disk_secure.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_write_format_cpio_empty.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_write_format_shar_empty.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_write_format_tar.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_write_format_tar_empty.c#1 branch .. //depot/projects/mjexp/lib/libarchive/test/test_write_open_memory.c#1 branch .. //depot/projects/mjexp/lib/libc/Makefile#2 integrate .. //depot/projects/mjexp/lib/libc/regex/engine.c#3 integrate .. //depot/projects/mjexp/lib/libc/rpc/clnt_dg.c#2 integrate .. //depot/projects/mjexp/lib/libc/yp/yplib.c#2 integrate .. //depot/projects/mjexp/lib/libelf/gelf_getehdr.3#3 integrate .. //depot/projects/mjexp/sbin/newfs/newfs.c#3 integrate .. //depot/projects/mjexp/share/doc/Makefile#2 integrate .. //depot/projects/mjexp/share/doc/legal/Makefile#1 branch .. //depot/projects/mjexp/share/doc/legal/intel_ipw/Makefile#1 branch .. //depot/projects/mjexp/share/doc/legal/intel_iwi/Makefile#1 branch .. //depot/projects/mjexp/share/man/man4/ng_source.4#3 integrate .. //depot/projects/mjexp/share/man/man7/hier.7#3 integrate .. //depot/projects/mjexp/share/man/man9/Makefile#11 integrate .. //depot/projects/mjexp/share/man/man9/sleep.9#4 integrate .. //depot/projects/mjexp/share/man/man9/vfs_getopt.9#1 branch .. //depot/projects/mjexp/sys/arm/xscale/ixp425/ixp425_npe.c#4 integrate .. //depot/projects/mjexp/sys/boot/pc98/cdboot/cdboot.s#2 integrate .. //depot/projects/mjexp/sys/conf/kmod.mk#5 integrate .. //depot/projects/mjexp/sys/contrib/dev/ipw/LICENSE#1 branch .. //depot/projects/mjexp/sys/contrib/dev/ipw/ipw2100-1.3-i.fw.uu#1 branch .. //depot/projects/mjexp/sys/contrib/dev/ipw/ipw2100-1.3-p.fw.uu#1 branch .. //depot/projects/mjexp/sys/contrib/dev/ipw/ipw2100-1.3.fw.uu#1 branch .. //depot/projects/mjexp/sys/contrib/dev/iwi/LICENSE#1 branch .. //depot/projects/mjexp/sys/contrib/dev/iwi/ipw2200-bss.fw.uu#1 branch .. //depot/projects/mjexp/sys/contrib/dev/iwi/ipw2200-ibss.fw.uu#1 branch .. //depot/projects/mjexp/sys/contrib/dev/iwi/ipw2200-sniffer.fw.uu#1 branch .. //depot/projects/mjexp/sys/dev/bce/if_bce.c#11 integrate .. //depot/projects/mjexp/sys/dev/ixgb/if_ixgb.c#3 integrate .. //depot/projects/mjexp/sys/dev/msk/if_msk.c#5 integrate .. //depot/projects/mjexp/sys/dev/nfe/if_nfe.c#6 integrate .. //depot/projects/mjexp/sys/dev/nge/if_nge.c#3 integrate .. //depot/projects/mjexp/sys/dev/pccbb/pccbb.c#6 integrate .. //depot/projects/mjexp/sys/dev/re/if_re.c#9 integrate .. //depot/projects/mjexp/sys/dev/stge/if_stge.c#4 integrate .. //depot/projects/mjexp/sys/dev/ti/if_ti.c#4 integrate .. //depot/projects/mjexp/sys/dev/txp/if_txp.c#3 integrate .. //depot/projects/mjexp/sys/dev/vge/if_vge.c#5 integrate .. //depot/projects/mjexp/sys/geom/eli/g_eli.c#4 integrate .. //depot/projects/mjexp/sys/i386/isa/clock.c#6 integrate .. //depot/projects/mjexp/sys/kern/kern_acct.c#5 integrate .. //depot/projects/mjexp/sys/kern/kern_acl.c#4 integrate .. //depot/projects/mjexp/sys/kern/kern_alq.c#3 integrate .. //depot/projects/mjexp/sys/kern/kern_context.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_descrip.c#6 integrate .. //depot/projects/mjexp/sys/kern/kern_event.c#3 integrate .. //depot/projects/mjexp/sys/kern/kern_exec.c#4 integrate .. //depot/projects/mjexp/sys/kern/kern_exit.c#3 integrate .. //depot/projects/mjexp/sys/kern/kern_fork.c#8 integrate .. //depot/projects/mjexp/sys/kern/kern_intr.c#9 integrate .. //depot/projects/mjexp/sys/kern/kern_jail.c#6 integrate .. //depot/projects/mjexp/sys/kern/kern_ktrace.c#7 integrate .. //depot/projects/mjexp/sys/kern/kern_linker.c#6 integrate .. //depot/projects/mjexp/sys/kern/kern_module.c#2 integrate .. //depot/projects/mjexp/sys/kern/kern_ntptime.c#4 integrate .. //depot/projects/mjexp/sys/kern/kern_prot.c#5 integrate .. //depot/projects/mjexp/sys/kern/kern_resource.c#8 integrate .. //depot/projects/mjexp/sys/kern/kern_shutdown.c#4 integrate .. //depot/projects/mjexp/sys/kern/kern_sig.c#9 integrate .. //depot/projects/mjexp/sys/kern/kern_sysctl.c#4 integrate .. //depot/projects/mjexp/sys/kern/kern_time.c#5 integrate .. //depot/projects/mjexp/sys/kern/kern_xxx.c#3 integrate .. //depot/projects/mjexp/sys/kern/p1003_1b.c#2 integrate .. //depot/projects/mjexp/sys/kern/subr_prof.c#2 integrate .. //depot/projects/mjexp/sys/kern/subr_trap.c#6 integrate .. //depot/projects/mjexp/sys/kern/sys_generic.c#4 integrate .. //depot/projects/mjexp/sys/kern/sys_process.c#5 integrate .. //depot/projects/mjexp/sys/kern/sys_socket.c#3 integrate .. //depot/projects/mjexp/sys/kern/sysv_msg.c#6 integrate .. //depot/projects/mjexp/sys/kern/sysv_sem.c#3 integrate .. //depot/projects/mjexp/sys/kern/sysv_shm.c#4 integrate .. //depot/projects/mjexp/sys/kern/uipc_syscalls.c#5 integrate .. //depot/projects/mjexp/sys/kern/vfs_cluster.c#3 integrate .. //depot/projects/mjexp/sys/modules/Makefile#6 integrate .. //depot/projects/mjexp/sys/modules/ipwfw/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/ipwfw/ipw_bss/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/ipwfw/ipw_ibss/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/ipwfw/ipw_monitor/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/iwifw/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/iwifw/iwi_bss/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/iwifw/iwi_ibss/Makefile#1 branch .. //depot/projects/mjexp/sys/modules/iwifw/iwi_monitor/Makefile#1 branch .. //depot/projects/mjexp/sys/netgraph/ng_source.c#3 integrate .. //depot/projects/mjexp/sys/netinet/ip_mroute.c#8 integrate .. //depot/projects/mjexp/sys/nfsserver/nfs_syscalls.c#5 integrate .. //depot/projects/mjexp/sys/pc98/cbus/clock.c#6 integrate .. //depot/projects/mjexp/sys/powerpc/powermac/pswitch.c#3 integrate .. //depot/projects/mjexp/sys/security/audit/audit.c#5 integrate .. //depot/projects/mjexp/sys/security/audit/audit_syscalls.c#5 integrate .. //depot/projects/mjexp/sys/security/mac/mac_syscalls.c#2 integrate .. //depot/projects/mjexp/sys/sys/param.h#10 integrate .. //depot/projects/mjexp/sys/tools/fw_stub.awk#4 integrate .. //depot/projects/mjexp/tools/tools/README#2 integrate .. //depot/projects/mjexp/tools/tools/pciroms/Makefile#1 branch .. //depot/projects/mjexp/tools/tools/pciroms/pciroms.c#1 branch .. //depot/projects/mjexp/usr.bin/mkstr/mkstr.1#2 integrate .. //depot/projects/mjexp/usr.bin/netstat/mcast.c#4 integrate .. //depot/projects/mjexp/usr.bin/tar/tree.c#4 integrate .. //depot/projects/mjexp/usr.sbin/freebsd-update/freebsd-update.sh#4 integrate .. //depot/projects/mjexp/usr.sbin/pkg_install/info/pkg_info.1#2 integrate Differences ... ==== //depot/projects/mjexp/UPDATING#10 (text+ko) ==== @@ -21,6 +21,12 @@ developers choose to disable these features on build machines to maximize performance. +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..license_ack=1 via + loader.conf(5) or kenv(1). + 20070228: The name resolution/mapping functions addr2ascii(3) and ascii2addr(3) were removed from FreeBSD's libc. These originally came from INRIA @@ -751,4 +757,4 @@ Contact Warner Losh if you have any questions about your use of this document. -$FreeBSD: src/UPDATING,v 1.481 2007/03/01 15:42:23 ru Exp $ +$FreeBSD: src/UPDATING,v 1.482 2007/03/02 14:56:15 flz Exp $ ==== //depot/projects/mjexp/bin/expr/expr.1#2 (text+ko) ==== @@ -28,7 +28,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/bin/expr/expr.1,v 1.28 2005/01/16 16:41:57 ru Exp $ +.\" $FreeBSD: src/bin/expr/expr.1,v 1.29 2007/03/04 19:52:07 ru Exp $ .\" .Dd July 12, 2004 .Dt EXPR 1 @@ -72,7 +72,10 @@ .Pp Operators are listed below in order of increasing precedence; all are left-associative. -Operators with equal precedence are grouped within { } symbols. +Operators with equal precedence are grouped within symbols +.Ql { +and +.Ql } . .Bl -tag -width indent .It Ar expr1 Li | Ar expr2 Return the evaluation of @@ -97,7 +100,7 @@ Return the results of multiplication, integer division, or remainder of integer-valued arguments. .It Ar expr1 Li : Ar expr2 The -.Dq \&: +.Dq Li \&: operator matches .Ar expr1 against @@ -105,13 +108,13 @@ which must be a basic regular expression. The regular expression is anchored to the beginning of the string with an implicit -.Dq ^ . +.Dq Li ^ . .Pp If the match succeeds and the pattern contains at least one regular expression subexpression -.Dq "\e(...\e)" , +.Dq Li "\e(...\e)" , the string corresponding to -.Dq "\e1" +.Dq Li \e1 is returned; otherwise the matching operator returns the number of characters matched. If the match fails and the pattern contains a regular expression subexpression ==== //depot/projects/mjexp/bin/kill/kill.1#2 (text+ko) ==== @@ -30,7 +30,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)kill.1 8.2 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/kill/kill.1,v 1.20 2005/01/16 16:41:57 ru Exp $ +.\" $FreeBSD: src/bin/kill/kill.1,v 1.21 2007/03/04 09:15:12 ru Exp $ .\" .Dd April 28, 1995 .Dt KILL 1 @@ -41,31 +41,27 @@ .Sh SYNOPSIS .Nm .Op Fl s Ar signal_name -.Ar pid -\&... +.Ar pid ... .Nm .Fl l .Op Ar exit_status .Nm .Fl Ar signal_name -.Ar pid -\&... +.Ar pid ... .Nm .Fl Ar signal_number -.Ar pid -\&... +.Ar pid ... .Sh DESCRIPTION The .Nm utility sends a signal to the processes specified by the .Ar pid -operand(s). +operands. .Pp Only the super-user may send signals to other users' processes. .Pp The options are as follows: -.Pp -.Bl -tag -width Ds +.Bl -tag -width indent .It Fl s Ar signal_name A symbolic signal name specifying the signal to be sent instead of the default @@ -84,15 +80,16 @@ .Dv TERM . .El .Pp -The following pids have special meanings: -.Bl -tag -width Ds -compact +The following PIDs have special meanings: +.Bl -tag -width indent .It -1 If superuser, broadcast the signal to all processes; otherwise broadcast to all processes belonging to the user. .El .Pp Some of the more commonly used signals: -.Bl -tag -width Ds -compact +.Pp +.Bl -tag -width indent -compact .It 1 HUP (hang up) .It 2 @@ -119,17 +116,17 @@ .Ex -std .Sh EXAMPLES Terminate -the processes with pids 142 and 157: +the processes with PIDs 142 and 157: .Pp .Dl "kill 142 157" .Pp Send the hangup signal .Pq Dv SIGHUP -to the process with pid 507: +to the process with PID 507: .Pp .Dl "kill -s HUP 507" .Pp -Terminate the process group with pgid 117: +Terminate the process group with PGID 117: .Pp .Dl "kill -- -117" .Sh SEE ALSO @@ -142,7 +139,7 @@ .Sh STANDARDS The .Nm -function is expected to be +utility is expected to be .St -p1003.2 compatible. .Sh HISTORY ==== //depot/projects/mjexp/etc/defaults/rc.conf#6 (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.304 2007/02/09 12:11:27 flz Exp $ +# $FreeBSD: src/etc/defaults/rc.conf,v 1.305 2007/03/03 06:36:32 ume Exp $ ############################################################## ### Important initial Boot-time options #################### @@ -425,7 +425,7 @@ ipv6_ipfilter_rules="/etc/ipf6.rules" # rules definition file for ipfilter, # see /usr/src/contrib/ipfilter/rules # for examples -ip6addrctl_enable="NO" # Set to YES to enable default address selection +ip6addrctl_enable="YES" # Set to YES to enable default address selection ip6addrctl_verbose="NO" # Set to YES to enable verbose configuration messages ############################################################## ==== //depot/projects/mjexp/etc/mtree/BSD.usr.dist#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.324 2006/12/05 16:57:10 ru Exp $ +# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.326 2007/03/02 14:56:14 flz Exp $ # # Please see the file src/etc/mtree/README before making changes to this file. # @@ -75,6 +75,12 @@ misc .. .. + legal + intel_ipw + .. + intel_iwi + .. + .. ncurses .. ntp ==== //depot/projects/mjexp/etc/rc.d/dhclient#4 (text+ko) ==== @@ -1,7 +1,7 @@ #!/bin/sh # # $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $ -# $FreeBSD: src/etc/rc.d/dhclient,v 1.26 2007/02/15 06:51:31 yar Exp $ +# $FreeBSD: src/etc/rc.d/dhclient,v 1.27 2007/03/02 20:48:35 brooks Exp $ # # PROVIDE: dhclient @@ -28,17 +28,13 @@ fi # Override for $ifn specific flags (see rc.subr for $flags setting) - eval specific=\$dhclient_flags_$ifn + specific=`get_if_var $ifn dhclient_flags_IF` if [ -z "$flags" -a -n "$specific" ]; then rc_flags=$specific fi - eval specific=\$background_dhclient_$ifn - if [ -n "$specific" ]; then - if checkyesno background_dhclient_$ifn; then - rc_flags="${rc_flags} -b" - fi - elif checkyesno background_dhclient; then + background_dhclient=`get_if_var $ifn background_dhclient_IF $background_dhclient` + if checkyesno background_dhclient_$ifn; then rc_flags="${rc_flags} -b" fi ==== //depot/projects/mjexp/etc/rc.d/random#2 (text+ko) ==== @@ -1,6 +1,6 @@ #!/bin/sh # -# $FreeBSD: src/etc/rc.d/random,v 1.8 2005/04/11 02:45:05 dougb Exp $ +# $FreeBSD: src/etc/rc.d/random,v 1.9 2007/03/03 06:39:06 njl Exp $ # # PROVIDE: random @@ -45,6 +45,7 @@ *) if [ -w /dev/random ]; then feed_dev_random "${entropy_file}" + feed_dev_random /var/db/entropy-file fi ;; esac @@ -60,22 +61,22 @@ ;; *) echo -n 'Writing entropy file:' - rm -f ${entropy_file} + rm -f ${entropy_file} 2> /dev/null oumask=`umask` umask 077 - if touch ${entropy_file}; then + if touch ${entropy_file} 2> /dev/null; then entropy_file_confirmed="${entropy_file}" else # Try this as a reasonable alternative for read-only # roots, diskless workstations, etc. - rm -f /var/db/entropy-file - if touch /var/db/entropy-file; then + rm -f /var/db/entropy-file 2> /dev/null + if touch /var/db/entropy-file 2> /dev/null; then entropy_file_confirmed=/var/db/entropy-file fi fi case ${entropy_file_confirmed} in '') - err 1 'entropy file write failed.' + warn 'write failed (read-only fs?)' ;; *) dd if=/dev/random of=${entropy_file_confirmed} \ ==== //depot/projects/mjexp/lib/libarchive/Makefile#4 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/lib/libarchive/Makefile,v 1.58 2007/02/01 06:18:16 kientzle Exp $ +# $FreeBSD: src/lib/libarchive/Makefile,v 1.59 2007/03/03 07:37:35 kientzle Exp $ LIB= archive DPADD= ${LIBBZ2} ${LIBZ} @@ -9,14 +9,14 @@ # Major: Bumped ONLY when API/ABI breakage happens (see SHLIB_MAJOR) # Minor: Bumped when significant new features are added # Revision: Bumped on any notable change -VERSION= 1.3.1 +VERSION= 2.0.20 ARCHIVE_API_MAJOR!= echo ${VERSION} | sed -e 's/[^0-9]/./g' -e 's/\..*//' ARCHIVE_API_MINOR!= echo ${VERSION} | sed -e 's/[^0-9]/./g' -e 's/[0-9]*\.//' -e 's/\..*//' # FreeBSD SHLIB_MAJOR value is managed as part of the FreeBSD system. # It has no real relation to the version number above. -SHLIB_MAJOR= 3 +SHLIB_MAJOR= 4 CFLAGS+= -DPACKAGE_NAME=\"lib${LIB}\" CFLAGS+= -DPACKAGE_VERSION=\"${VERSION}\" @@ -67,7 +67,10 @@ archive_string.c \ archive_string_sprintf.c \ archive_util.c \ + archive_virtual.c \ archive_write.c \ + archive_write_disk.c \ + archive_write_disk_set_standard_lookup.c \ archive_write_open_fd.c \ archive_write_open_file.c \ archive_write_open_filename.c \ @@ -87,6 +90,7 @@ archive_read.3 \ archive_util.3 \ archive_write.3 \ + archive_write_disk.3 \ libarchive.3 \ libarchive-formats.5 \ tar.5 @@ -173,6 +177,7 @@ MLINKS+= archive_read.3 archive_read_support_format_iso9660.3 MLINKS+= archive_read.3 archive_read_support_format_tar.3 MLINKS+= archive_read.3 archive_read_support_format_zip.3 +MLINKS+= archive_util.3 archive_clear_error.3 MLINKS+= archive_util.3 archive_compression.3 MLINKS+= archive_util.3 archive_compression_name.3 MLINKS+= archive_util.3 archive_errno.3 @@ -201,6 +206,15 @@ MLINKS+= archive_write.3 archive_write_set_format_pax.3 MLINKS+= archive_write.3 archive_write_set_format_shar.3 MLINKS+= archive_write.3 archive_write_set_format_ustar.3 +MLINKS+= archive_write_disk.3 archive_write_disk_new.3 +MLINKS+= archive_write_disk.3 archive_write_disk_set_group_lookup.3 +MLINKS+= archive_write_disk.3 archive_write_disk_set_options.3 +MLINKS+= archive_write_disk.3 archive_write_disk_set_skip_file.3 +MLINKS+= archive_write_disk.3 archive_write_disk_set_standard_lookup.3 +MLINKS+= archive_write_disk.3 archive_write_disk_set_user_lookup.3 MLINKS+= libarchive.3 archive.3 +test: + cd ${.CURDIR}/test && make test + .include ==== //depot/projects/mjexp/lib/libarchive/README#2 (text+ko) ==== @@ -1,4 +1,4 @@ -$FreeBSD: src/lib/libarchive/README,v 1.4 2005/02/12 23:09:44 kientzle Exp $ +$FreeBSD: src/lib/libarchive/README,v 1.5 2007/03/03 07:37:35 kientzle Exp $ libarchive: a library for reading and writing streaming archives @@ -6,16 +6,16 @@ Documentation: * libarchive.3 gives an overview of the library as a whole - * archive_read.3 and archive_write.3 provide detailed calling - sequences for the read and write APIs + * archive_read.3, archive_write.3, and archive_write_disk.3 provide + detailed calling sequences for the read and write APIs * archive_entry.3 details the "struct archive_entry" utility class * libarchive-formats.5 documents the file formats supported by the library * tar.5 provides some detailed information about a variety of different "tar" formats. You should also read the copious comments in "archive.h" and the source -code for the sample "bsdtar" program for more details. Please let me know -about any errors or omissions you find. +code for the sample "bsdtar" and "minitar" programs for more details. +Please let me know about any errors or omissions you find. Currently, the library automatically detects and reads the following: * gzip compression @@ -84,8 +84,10 @@ a block of data in memory and add it to a tar archive without first writing a temporary file. You can also read an entry from an archive and write the data directly to a socket. If you want - to read/write entries to disk, there are convenience functions to - make this especially easy. + to read/write entries to disk, the archive_write_disk interface + treats a directory as if it were an archive so you can copy + from archive->disk using the same code you use for archive->archive + transfers. * Note: "pax interchange format" is really an extended tar format, despite what the name says. ==== //depot/projects/mjexp/lib/libarchive/archive.h.in#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.h.in,v 1.38 2007/02/01 06:18:16 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive.h.in,v 1.39 2007/03/03 07:37:35 kientzle Exp $ */ #ifndef ARCHIVE_H_INCLUDED @@ -37,7 +37,14 @@ #include /* Linux requires this for off_t */ @ARCHIVE_H_INCLUDE_INTTYPES_H@ #include /* For FILE * */ +#ifndef _WIN32 #include /* For ssize_t and size_t */ +#else +typedef long ssize_t; +typedef unsigned int uid_t; +typedef unsigned int gid_t; +typedef unsigned short mode_t; +#endif #ifdef __cplusplus extern "C" { @@ -59,6 +66,7 @@ * 1 - Version tests are available. * 2 - archive_{read,write}_close available separately from _finish. * 3 - open_memory, open_memory2, open_FILE, open_fd available + * 5 - archive_write_disk interface available */ #define ARCHIVE_API_VERSION @ARCHIVE_API_MAJOR@ int archive_api_version(void); @@ -138,8 +146,17 @@ * Top 16 bits identifies the format family (e.g., "tar"); lower * 16 bits indicate the variant. This is updated by read_next_header. * Note that the lower 16 bits will often vary from entry to entry. + * In some cases, this variation occurs as libarchive learns more about + * the archive (for example, later entries might utilize extensions that + * weren't necessary earlier in the archive; in this case, libarchive + * will change the format code to indicate the extended format that + * was used). In other cases, it's because different tools have + * modified the archive and so different parts of the archive + * actually have slightly different formts. (Both tar and cpio store + * format codes in each entry, so it is quite possible for each + * entry to be in a different format.) */ -#define ARCHIVE_FORMAT_BASE_MASK 0xff0000U +#define ARCHIVE_FORMAT_BASE_MASK 0xff0000 #define ARCHIVE_FORMAT_CPIO 0x10000 #define ARCHIVE_FORMAT_CPIO_POSIX (ARCHIVE_FORMAT_CPIO | 1) #define ARCHIVE_FORMAT_CPIO_BIN_LE (ARCHIVE_FORMAT_CPIO | 2) @@ -274,15 +291,28 @@ */ /* The "flags" argument selects optional behavior, 'OR' the flags you want. */ -/* TODO: The 'Default' comments here are not quite correct; clean this up. */ -#define ARCHIVE_EXTRACT_OWNER (1) /* Default: owner/group not restored */ -#define ARCHIVE_EXTRACT_PERM (2) /* Default: restore perm only for reg file*/ -#define ARCHIVE_EXTRACT_TIME (4) /* Default: mod time not restored */ -#define ARCHIVE_EXTRACT_NO_OVERWRITE (8) /* Default: Replace files on disk */ -#define ARCHIVE_EXTRACT_UNLINK (16) /* Default: don't unlink existing files */ -#define ARCHIVE_EXTRACT_ACL (32) /* Default: don't restore ACLs */ -#define ARCHIVE_EXTRACT_FFLAGS (64) /* Default: don't restore fflags */ -#define ARCHIVE_EXTRACT_XATTR (128) /* Default: don't restore xattrs */ + +/* Default: Do not try to set owner/group. */ +#define ARCHIVE_EXTRACT_OWNER (1) +/* Default: Do obey umask, do not restore SUID/SGID/SVTX bits. */ +#define ARCHIVE_EXTRACT_PERM (2) +/* Default: Do not restore mtime/atime. */ +#define ARCHIVE_EXTRACT_TIME (4) +/* Default: Replace existing files. */ +#define ARCHIVE_EXTRACT_NO_OVERWRITE (8) +/* Default: Try create first, unlink only if create fails with EEXIST. */ +#define ARCHIVE_EXTRACT_UNLINK (16) +/* Default: Do not restore ACLs. */ +#define ARCHIVE_EXTRACT_ACL (32) +/* Default: Do not restore fflags. */ +#define ARCHIVE_EXTRACT_FFLAGS (64) +/* Default: Do not restore xattrs. */ +#define ARCHIVE_EXTRACT_XATTR (128) +/* Default: Do not try to guard against extracts redirected by symlinks. */ +/* Note: With ARCHIVE_EXTRACT_UNLINK, will remove any intermediate symlink. */ +#define ARCHIVE_EXTRACT_SECURE_SYMLINKS (256) +/* Default: Do not reject entries with '..' as path elements. */ +#define ARCHIVE_EXTRACT_SECURE_NODOTDOT (512) int archive_read_extract(struct archive *, struct archive_entry *, int flags); @@ -298,7 +328,13 @@ int archive_read_close(struct archive *); /* Release all resources and destroy the object. */ /* Note that archive_read_finish will call archive_read_close for you. */ +#if ARCHIVE_API_VERSION > 1 +int archive_read_finish(struct archive *); +#else +/* Temporarily allow library to compile with either 1.x or 2.0 API. */ +/* Erroneously declared to return void in libarchive 1.x */ void archive_read_finish(struct archive *); +#endif /*- * To create an archive: @@ -362,13 +398,78 @@ */ int archive_write_header(struct archive *, struct archive_entry *); -/* TODO: should be ssize_t, but that might require .so version bump? */ +#if ARCHIVE_API_VERSION > 1 +ssize_t archive_write_data(struct archive *, const void *, size_t); +#else +/* Temporarily allow library to compile with either 1.x or 2.0 API. */ +/* This was erroneously declared to return "int" in libarchive 1.x. */ int archive_write_data(struct archive *, const void *, size_t); +#endif +ssize_t archive_write_data_block(struct archive *, const void *, size_t, off_t); int archive_write_finish_entry(struct archive *); int archive_write_close(struct archive *); +#if ARCHIVE_API_VERSION > 1 +int archive_write_finish(struct archive *); +#else +/* Temporarily allow library to compile with either 1.x or 2.0 API. */ +/* Return value was incorrect in libarchive 1.x. */ void archive_write_finish(struct archive *); +#endif +/*- + * To create objects on disk: + * 1) Ask archive_write_disk_new for a new archive_write_disk object. + * 2) Set any global properties. In particular, you should set + * the compression and format to use. + * 3) For each entry: + * - construct an appropriate struct archive_entry structure + * - archive_write_header to create the file/dir/etc on disk + * - archive_write_data to write the entry data + * 4) archive_write_finish to cleanup the writer and release resources + * + * In particular, you can use this in conjunction with archive_read() + * to pull entries out of an archive and create them on disk. + */ +struct archive *archive_write_disk_new(void); +/* This file will not be overwritten. */ +int archive_write_disk_set_skip_file(struct archive *, + dev_t, ino_t); +/* Set flags to control how the next item gets created. */ +int archive_write_disk_set_options(struct archive *, + int flags); /* + * The lookup functions are given uname/uid (or gname/gid) pairs and + * return a uid (gid) suitable for this system. These are used for + * restoring ownership and for setting ACLs. The default functions + * are naive, they just return the uid/gid. These are small, so reasonable + * for applications that don't need to preserve ownership; they + * are probably also appropriate for applications that are doing + * same-system backup and restore. + */ +/* + * The "standard" lookup functions use common system calls to lookup + * the uname/gname, falling back to the uid/gid if the names can't be + * found. They cache lookups and are reasonably fast, but can be very + * large, so they are not used unless you ask for them. In + * particular, these match the specifications of POSIX "pax" and old + * POSIX "tar". + */ +int archive_write_disk_set_standard_lookup(struct archive *); +/* + * If neither the default (naive) nor the standard (big) functions suit + * your needs, you can write your own and register them. Be sure to + * include a cleanup function if you have allocated private data. + */ +int archive_write_disk_set_group_lookup(struct archive *, + void *private_data, + gid_t (*loookup)(void *, const char *gname, gid_t gid), + void (*cleanup)(void *)); +int archive_write_disk_set_user_lookup(struct archive *, + void *private_data, + uid_t (*)(void *, const char *uname, uid_t uid), + void (*cleanup)(void *)); + +/* * Accessor functions to read/set various information in * the struct archive object: */ @@ -383,6 +484,7 @@ const char *archive_error_string(struct archive *); const char *archive_format_name(struct archive *); int archive_format(struct archive *); +void archive_clear_error(struct archive *); void archive_set_error(struct archive *, int _err, const char *fmt, ...); #ifdef __cplusplus ==== //depot/projects/mjexp/lib/libarchive/archive_entry.3#3 (text+ko) ==== @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/lib/libarchive/archive_entry.3,v 1.12 2007/01/09 08:05:54 kientzle Exp $ +.\" $FreeBSD: src/lib/libarchive/archive_entry.3,v 1.13 2007/03/03 07:37:36 kientzle Exp $ .\" .Dd December 15, 2003 .Dt archive_entry 3 @@ -46,6 +46,7 @@ .Nm archive_entry_copy_hardlink_w , .Nm archive_entry_copy_pathname_w , .Nm archive_entry_copy_stat , +.Nm archive_entry_copy_symlink , .Nm archive_entry_copy_symlink_w , .Nm archive_entry_copy_uname_w , .Nm archive_entry_dev , @@ -124,6 +125,8 @@ .Ft void .Fn archive_entry_copy_stat "struct archive_entry *" "const struct stat *" .Ft void +.Fn archive_entry_copy_symlink "struct archive_entry *" "const char *" +.Ft void .Fn archive_entry_copy_symlink_w "struct archive_entry *" "const wchar_t *" .Ft void .Fn archive_entry_copy_uname_w "struct archive_entry *" "const wchar_t *" ==== //depot/projects/mjexp/lib/libarchive/archive_private.h#6 (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.27 2007/01/09 08:05:54 kientzle Exp $ + * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.28 2007/03/03 07:37:36 kientzle Exp $ */ #ifndef ARCHIVE_PRIVATE_H_INCLUDED @@ -33,6 +33,28 @@ #define ARCHIVE_WRITE_MAGIC (0xb0c5c0deU) #define ARCHIVE_READ_MAGIC (0xdeb0c5U) +#define ARCHIVE_WRITE_DISK_MAGIC (0xc001b0c5U) + +#define ARCHIVE_STATE_ANY 0xFFFFU +#define ARCHIVE_STATE_NEW 1U +#define ARCHIVE_STATE_HEADER 2U +#define ARCHIVE_STATE_DATA 4U +#define ARCHIVE_STATE_DATA_END 8U +#define ARCHIVE_STATE_EOF 0x10U +#define ARCHIVE_STATE_CLOSED 0x20U +#define ARCHIVE_STATE_FATAL 0x8000U + +struct archive_vtable { + int (*archive_write_close)(struct archive *); + int (*archive_write_finish)(struct archive *); + int (*archive_write_header)(struct archive *, + struct archive_entry *); + int (*archive_write_finish_entry)(struct archive *); + ssize_t (*archive_write_data)(struct archive *, + const void *, size_t); + ssize_t (*archive_write_data_block)(struct archive *, + const void *, size_t, off_t); +}; struct archive { /* @@ -44,202 +66,34 @@ unsigned magic; unsigned state; - struct archive_entry *entry; - uid_t user_uid; /* UID of current user. */ - - /* Dev/ino of the archive being read/written. */ - dev_t skip_file_dev; - ino_t skip_file_ino; - - /* Utility: Pointer to a block of nulls. */ - const unsigned char *nulls; - size_t null_length; - /* - * Used by archive_read_data() to track blocks and copy - * data to client buffers, filling gaps with zero bytes. + * Some public API functions depend on the "real" type of the + * archive object. */ - const char *read_data_block; - off_t read_data_offset; - off_t read_data_output_offset; - size_t read_data_remaining; + struct archive_vtable *vtable; - /* Callbacks to open/read/write/close archive stream. */ - archive_open_callback *client_opener; - archive_read_callback *client_reader; - archive_skip_callback *client_skipper; - archive_write_callback *client_writer; - archive_close_callback *client_closer; - void *client_data; + int archive_format; + const char *archive_format_name; - /* - * Blocking information. Note that bytes_in_last_block is - * misleadingly named; I should find a better name. These - * control the final output from all compressors, including - * compression_none. - */ - int bytes_per_block; - int bytes_in_last_block; - - /* - * These control whether data within a gzip/bzip2 compressed - * stream gets padded or not. If pad_uncompressed is set, - * the data will be padded to a full block before being - * compressed. The pad_uncompressed_byte determines the value - * that will be used for padding. Note that these have no - * effect on compression "none." - */ - int pad_uncompressed; - int pad_uncompressed_byte; /* TODO: Support this. */ + int compression_code; /* Currently active compression. */ + const char *compression_name; /* Position in UNCOMPRESSED data stream. */ off_t file_position; /* Position in COMPRESSED data stream. */ off_t raw_position; - /* File offset of beginning of most recently-read header. */ - off_t header_position; - - /* - * Detection functions for decompression: bid functions are - * given a block of data from the beginning of the stream and - * can bid on whether or not they support the data stream. - * General guideline: bid the number of bits that you actually - * test, e.g., 16 if you test a 2-byte magic value. The - * highest bidder will have their init function invoked, which - * can set up pointers to specific handlers. - * - * On write, the client just invokes an archive_write_set function - * which sets up the data here directly. - */ - int compression_code; /* Currently active compression. */ - const char *compression_name; - struct { - int (*bid)(const void *buff, size_t); - int (*init)(struct archive *, const void *buff, size_t); - } decompressors[4]; - /* Read/write data stream (with compression). */ - void *compression_data; /* Data for (de)compressor. */ - int (*compression_init)(struct archive *); /* Initialize. */ - int (*compression_finish)(struct archive *); - int (*compression_write)(struct archive *, const void *, size_t); - /* - * Read uses a peek/consume I/O model: the decompression code - * returns a pointer to the requested block and advances the - * file position only when requested by a consume call. This - * reduces copying and also simplifies look-ahead for format - * detection. - */ - ssize_t (*compression_read_ahead)(struct archive *, - const void **, size_t request); - ssize_t (*compression_read_consume)(struct archive *, size_t); - off_t (*compression_skip)(struct archive *, off_t); - - /* - * Format detection is mostly the same as compression - * detection, with two significant differences: The bidders - * use the read_ahead calls above to examine the stream rather - * than having the supervisor hand them a block of data to - * examine, and the auction is repeated for every header. - * Winning bidders should set the archive_format and - * archive_format_name appropriately. Bid routines should - * check archive_format and decline to bid if the format of - * the last header was incompatible. - * - * Again, write support is considerably simpler because there's - * no need for an auction. - */ - int archive_format; - const char *archive_format_name; - - struct archive_format_descriptor { - int (*bid)(struct archive *); - int (*read_header)(struct archive *, struct archive_entry *); - int (*read_data)(struct archive *, const void **, size_t *, off_t *); - int (*read_data_skip)(struct archive *); - int (*cleanup)(struct archive *); - void *format_data; /* Format-specific data for readers. */ - } formats[8]; - struct archive_format_descriptor *format; /* Active format. */ - - /* - * Storage for format-specific data. Note that there can be - * multiple format readers active at one time, so we need to - * allow for multiple format readers to have their data - * available. The pformat_data slot here is the solution: on - * read, it is guaranteed to always point to a void* variable - * that the format can use. - */ - void **pformat_data; /* Pointer to current format_data. */ - void *format_data; /* Used by writers. */ - /* - * Pointers to format-specific functions for writing. They're - * initialized by archive_write_set_format_XXX() calls. - */ - int (*format_init)(struct archive *); /* Only used on write. */ >>> TRUNCATED FOR MAIL (1000 lines) <<<