Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 4 Oct 2006 21:31:45 GMT
From:      John Birrell <jb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 107269 for review
Message-ID:  <200610042131.k94LVjwj008897@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=107269

Change 107269 by jb@jb_freebsd7 on 2006/10/04 21:31:14

	IFC

Affected files ...

.. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#25 integrate
.. //depot/projects/dtrace/doc/share/pgpkeys/chinsan.key#1 branch
.. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#14 integrate
.. //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#13 integrate
.. //depot/projects/dtrace/ports/KNOBS#5 integrate
.. //depot/projects/dtrace/ports/LEGAL#7 integrate
.. //depot/projects/dtrace/ports/MOVED#17 integrate
.. //depot/projects/dtrace/src/crypto/openssh/sshd.c#4 integrate
.. //depot/projects/dtrace/src/gnu/usr.bin/Makefile#4 integrate
.. //depot/projects/dtrace/src/lib/libarchive/archive_read_extract.c#5 integrate
.. //depot/projects/dtrace/src/lib/libc/gen/arc4random.c#3 integrate
.. //depot/projects/dtrace/src/share/man/man4/ddb.4#5 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#6 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#6 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#6 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#6 integrate
.. //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#7 integrate
.. //depot/projects/dtrace/src/sys/dev/aic/aic_pccard.c#3 integrate
.. //depot/projects/dtrace/src/sys/dev/bge/if_bge.c#12 integrate
.. //depot/projects/dtrace/src/sys/dev/bge/if_bgereg.h#8 integrate
.. //depot/projects/dtrace/src/sys/dev/usb/ehci.c#6 integrate
.. //depot/projects/dtrace/src/sys/dev/usb/ohci.c#5 integrate
.. //depot/projects/dtrace/src/sys/dev/usb/usb_subr.c#5 integrate
.. //depot/projects/dtrace/src/sys/dev/usb/usbdi.c#5 integrate
.. //depot/projects/dtrace/src/sys/kern/init_sysent.c#12 integrate
.. //depot/projects/dtrace/src/sys/kern/syscalls.c#11 integrate
.. //depot/projects/dtrace/src/sys/kern/syscalls.master#10 integrate
.. //depot/projects/dtrace/src/sys/kern/systrace_args.c#7 integrate
.. //depot/projects/dtrace/src/sys/kern/tty_pty.c#4 integrate
.. //depot/projects/dtrace/src/sys/kern/vfs_mount.c#12 integrate
.. //depot/projects/dtrace/src/sys/netinet/if_ether.c#4 integrate
.. //depot/projects/dtrace/src/sys/security/audit/audit_bsm.c#6 integrate
.. //depot/projects/dtrace/src/sys/sys/_elf_solaris.h#2 integrate
.. //depot/projects/dtrace/src/sys/sys/elf.h#2 integrate
.. //depot/projects/dtrace/src/sys/sys/mount.h#5 integrate
.. //depot/projects/dtrace/src/sys/sys/syscall.h#11 integrate
.. //depot/projects/dtrace/src/sys/sys/syscall.mk#11 integrate
.. //depot/projects/dtrace/src/sys/sys/sysproto.h#11 integrate
.. //depot/projects/dtrace/src/sys/sys/time.h#9 integrate
.. //depot/projects/dtrace/www/en/donations/donors.sgml#12 integrate
.. //depot/projects/dtrace/www/en/platforms/ia64/index.xsl#4 integrate

Differences ...

==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml#25 (text+ko) ====

@@ -1,4 +1,4 @@
-<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.612 2006/10/02 00:00:06 bsam Exp $ -->
+<!-- $FreeBSD: doc/en_US.ISO8859-1/articles/contributors/contrib.additional.sgml,v 1.618 2006/10/04 20:03:37 alepulver Exp $ -->
 <!--
 	NOTE TO COMMITTERS: Contributors lists are sorted in alphabetical
 	order by first name.
@@ -3158,6 +3158,11 @@
     </listitem>
 
     <listitem>
+      <para>Greg Albrecht
+	<email>gregoryba@gmail.com</email></para>
+    </listitem>
+
+    <listitem>
       <para>Greg Ansley
 	<email>gja@ansley.com</email></para>
     </listitem>
@@ -3838,6 +3843,11 @@
     </listitem>
 
     <listitem>
+      <para>Janaka Wickramasinghe
+	<email>janaka@opensource.lk</email></para>
+    </listitem>
+
+    <listitem>
       <para>Janick Taillandier
 	<email>Janick.Taillandier@ratp.fr</email></para>
     </listitem>
@@ -5682,6 +5692,11 @@
     </listitem>
 
     <listitem>
+      <para>Masashi CHIBA
+	<email>chiba.masashi@gmail.com</email></para>
+    </listitem>
+
+    <listitem>
       <para>Masatoshi TAMURA
 	<email>tamrin@shinzan.kuee.kyoto-u.ac.jp</email></para>
     </listitem>
@@ -7461,6 +7476,11 @@
     </listitem>
 
     <listitem>
+      <para>Raul Pollicino
+	<email>email-ports@def-defying.com</email></para>
+    </listitem>
+
+    <listitem>
       <para>Razi Khaja
 	<email>razi@genet.sickkids.on.ca</email></para>
     </listitem>
@@ -8781,6 +8801,11 @@
     </listitem>
 
     <listitem>
+      <para>Thomas BRETON
+	<email>tom@h-inventory.com</email></para>
+    </listitem>
+
+    <listitem>
       <para>Thomas D. Dean
 	<email>tomdean@ix.netcom.com</email></para>
     </listitem>
@@ -9725,6 +9750,11 @@
     </listitem>
 
     <listitem>
+      <para>rossiya
+	<email>rossiya@gmail.com</email></para>
+    </listitem>
+
+    <listitem>
       <para>trasz
 	<email>trasz@pin.if.uz.zgora.pl</email></para>
     </listitem>

==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys-developers.sgml#14 (text+ko) ====

@@ -1,7 +1,7 @@
 <!--
      The FreeBSD Documentation Project
 
-     $FreeBSD: doc/share/pgpkeys/pgpkeys-developers.sgml,v 1.31 2006/09/29 20:58:53 xride Exp $
+     $FreeBSD: doc/share/pgpkeys/pgpkeys-developers.sgml,v 1.32 2006/10/04 10:55:43 chinsan Exp $
 -->
 
     <sect2 id="pgpkey-ariff">
@@ -374,6 +374,11 @@
       &pgpkey.foxfair;
     </sect2>
 
+    <sect2 id="pgpkey-chinsan">
+      <title>&a.chinsan;</title>
+      &pgpkey.chinsan;
+    </sect2>
+
     <sect2 id="pgpkey-jkh">
       <title>&a.jkh;</title>
       &pgpkey.jkh;

==== //depot/projects/dtrace/doc/share/pgpkeys/pgpkeys.ent#13 (text+ko) ====

@@ -1,5 +1,5 @@
 
-<!-- $FreeBSD: doc/share/pgpkeys/pgpkeys.ent,v 1.121 2006/09/29 20:58:53 xride Exp $ -->
+<!-- $FreeBSD: doc/share/pgpkeys/pgpkeys.ent,v 1.122 2006/10/04 10:55:43 chinsan Exp $ -->
 <!-- PGP keyblocks -->
 <!ENTITY pgpkey.aaron SYSTEM "aaron.key">
 <!ENTITY pgpkey.ache SYSTEM "ache.key">
@@ -39,6 +39,7 @@
 <!ENTITY pgpkey.bz SYSTEM "bz.key">
 <!ENTITY pgpkey.cel SYSTEM "cel.key">
 <!ENTITY pgpkey.ceri SYSTEM "ceri.key">
+<!ENTITY pgpkey.chinsan SYSTEM "chinsan.key">
 <!ENTITY pgpkey.cjc SYSTEM "cjc.key">
 <!ENTITY pgpkey.cjh SYSTEM "cjh.key">
 <!ENTITY pgpkey.clement SYSTEM "clement.key">

==== //depot/projects/dtrace/ports/KNOBS#5 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # KNOBS - A list of popular knobs and descriptions
 #
-# $FreeBSD: ports/KNOBS,v 1.16 2006/09/18 15:53:50 skv Exp $
+# $FreeBSD: ports/KNOBS,v 1.17 2006/10/04 20:20:38 shaun Exp $
 #
 # Rules to adding knobs:
 #
@@ -50,6 +50,7 @@
 GNUTLS			Adds GnuTLS support
 GSASL			Adds GSASL support
 GSM			GSM audio codec support
+GSSAPI			GSSAPI (Kerberos) support
 GSTREAMER		Gstreamer multimedia support
 GTK1			Adds Gtk+1 support
 GTK2			Adds Gtk+2 support

==== //depot/projects/dtrace/ports/LEGAL#7 (text+ko) ====

@@ -1,5 +1,5 @@
 # Creator:  Jordan Hubbard
-# $FreeBSD: ports/LEGAL,v 1.499 2006/10/02 12:38:31 vd Exp $
+# $FreeBSD: ports/LEGAL,v 1.502 2006/10/03 18:53:18 alepulver Exp $
 
    **********************************************************************
    ***                      NOTE TO COMMITTERS                        ***
@@ -76,14 +76,11 @@
 						redistribution
 bicom*			archivers/bicom		Contact author personally
 						regarding commercial use
-bk-*-x86-freebsd*	devel/bitkeeper		Redistribution is not permitted
 blast-freebsd*		biology/blast		Must be downloaded from vendor site
 boodler-*		audio/boodler		Not for commercial use
 Browser*.tar.gz		net/ldapbrowser		No reply from author regarding
 						redistribution licensing
 bsp_upektfmess-*	security/bsp_upektfmess	License prohibits redistribution
-bugseeker2ee*		java/bugseeker		License does not allow
-						redistribution
 bzip-*			archivers/bzip		Some algorithms used may
 						infringe certain US patents.
 						Opinions differ.  Commercial
@@ -93,6 +90,7 @@
 ccc-*.alpha.rpm		lang/compaq-cc		Distribution not allowed
 checkpassword-*.tar.gz	security/checkpassword	Unsure of djb's license
 citrix_ica-*-de.tar.gz	german/citrix_ica	License prohibits redistribution
+citrix_ica-*-ja.tar.gz	japanese/citrix_ica	License prohibits redistribution
 citrix_ica-*.tar.gz	net/citrix_ica		License prohibits redistribution
 cfs-*			security/cfs		Crypto; export-controlled
 clibpdf*.tar.gz		print/clibpdf		Needs a license to bundle with
@@ -212,7 +210,6 @@
 festival/voice_mwm_di-*	audio/festvox-mwm	No commercial use
 festival/voice_ogirab_di-* audio/festvox-ogirab No commercial use
 festival/voice_tll_di-*	audio/festvox-tll	No commercial use
-ffj30_ce_ml.class	java/forte		Restrictive license
 fMSX*			emulators/fmsx		Unclear legal status of
 						distributed ROMs
 foiltex*		textproc/foiltex	Redistribution on a not-for-profit
@@ -238,6 +235,9 @@
 						before downloading
 freqship/*		sysutils/freqsdwn	License agreement is required
 						to download
+fretsonfire/FretsOnFire-*-linux*	games/fretsonfire-data	Only Unreal Voodoo 
+								site is allowed to 
+								distribute the music
 ftree-*			misc/ftree		Cannot distribute commercially
 fwtk/*			security/fwtk		No redistribution allowed
 Frisk-*			games/xfrisk		Copyright/trademark violation?
@@ -252,12 +252,9 @@
 						you have to acquire a license
 giftool-*		graphics/giftool	Do not redistribute for profit
 glimpse-*		textproc/glimpse	Do not sell for profit
-gnome2/MCity-Alloy-*    x11-themes/metacity-theme-alloy-c Themes may contain artwork not
+gnome2/MCity-microGUI*	x11-themes/metacity-theme-microgui Themes may contain artwork not
 						done by the author.  Keep FreeBSD safe
 						if the theme author violated copyrights
-gnome2/MCity-Hacked-2*	x11-themes/metacity-theme-hacked-2 See x11-themes/metacity-theme-alloy-c
-gnome2/MCity-Iridium-rounded* x11-themes/metacity-theme-iridium-rounded See x11-themes/metacity-theme-alloy-c
-gnome2/MCity-microGUI*	x11-themes/metacity-theme-microgui See x11-themes/metacity-theme-alloy-c
 gnupg-*			security/gnupg		Crypto; export-controlled
 goemon.tgz		audio/timidity		Uses copyrighted patches
 gogo239b.tgz		audio/gogo		Condition is not clear
@@ -384,7 +381,7 @@
 						original package only
 Linux-ACU-Driver-v*	sysutils/linux-acu	Redistribution not allowed
 linux-gtk2		x11-toolkits/linux-gtk2	LGPL binary, no source
-linuxq3ademo-*		games/linux-q3ademo	Restrictive license by Loki Software
+linuxq3ademo-*		games/linux-quake3-demo	Restrictive license by Loki Software
 l0phtcrack/*		security/l0phtcrack	Parts are under GPL, so
 						binaries should not be
 						distributed.  Contains crypto
@@ -438,7 +435,6 @@
 netbeans-*		java/netbeans		Restrictive copyright
 netcomponents-*		java/netcomponents	No redistribution except as part
 						of a substantially different product
-netscape-*-us-*		www/netscape*		Crypto; export-controlled
 netshow_linux.gz	multimedia/netshow	Commercial software
 nfbtr758.zip		textproc/nfbtrans	Unclear copyright status
 nntpcache-*		news/nntpcache		Commercial or government use
@@ -446,7 +442,6 @@
 nsc2ke.*		math/nsc2ke		No resale, contact author for
 						commercial usage
 nte-1.*			mbone/nte		Crypto; export-controlled
-nwrite-*		misc/nwrite		Ownership in dispute
 MRONWnn6.tgz		japanese/Wnn6		You should buy from Omron
 						Software Co., Ltd.
 oneko-*.tar.gz		games/oneko-sakura	Including derivatives from
@@ -474,7 +469,6 @@
 						usage and distribution
 perforce/*		devel/perforce		Restricted distribution
 pgp*			security/pgp*		Various locality restrictions
-pim6dd-*.tar.gz		net/pim6dd		Cannot be sold for profit
 platon*			biology/platon		US$ 5000 for commercial users,
 						(free for academic)
 pmake-*.tar.Z		devel/pmake		Non-commercial use only
@@ -562,7 +556,6 @@
 swing1_1_1*		java/jfc		Do not distribute without
 						value-added application
 systemc-2*.tgz		cad/systemc		License agreement required.
-tasks.zip		www/tasks		License prohibits redistribution
 tcetest_*		games/linux-enemyterritory-tce Redistribution limited
 texcm-ttf-20010117/*	x11-fonts/texcm-ttf	Cannot be sold or distributed
 						with any commercial product
@@ -635,7 +628,6 @@
 wgetpro*		ftp/wgetpro		U.S. Patent 6,041,345
 win32/*			multimedia/win32-codecs	Licensing status of the
 						codecs is unknown
-xbarcode-*.tar.gz	graphics/xbarcode	Must not be sold
 xchada01.lzh		games/xchadance		Contains commercial character
 						data
 xephem-*		astro/xephem		Personal use only
@@ -651,7 +643,6 @@
 X-Plane-Net-Install.gz	games/linux-x-plane-net-installer	Redistribution prohibited
 XLIN*.tar.bz2		games/linux-x-plane	Redistribution prohibited
 xmdiary-*		deskutils/xmdiary	Do not sell for profit
-xothello.tgz		games/xothello		Possible trademark infringement
 xrisk-*			games/xrisk		Copyright/trademark violation?
 xsmbrowser-*		net/xsmbrowser		Commercial software
 xteddy-*		games/xteddy		Do not sell for profit

==== //depot/projects/dtrace/ports/MOVED#17 (text+ko) ====

@@ -1,7 +1,7 @@
 #
 # MOVED - a list of (recently) moved or removed ports
 #
-# $FreeBSD: ports/MOVED,v 1.1145 2006/10/02 17:37:20 alepulver Exp $
+# $FreeBSD: ports/MOVED,v 1.1146 2006/10/03 14:28:09 girgen Exp $
 #
 # Each entry consists of a single line containing the following four
 # fields in the order named, separated with the pipe (`|') character:
@@ -2221,7 +2221,6 @@
 net-mgmt/nfdump-devel|net-mgmt/nfdump|2006-04-02|Development port no longer needed
 devel/py-twistedXish|net-im/py-twistedWords|2006-04-05|Incorporated into net-im/py-twistedWords
 devel/upp602|devel/upp|2006-04-05|Was created in a bad directory
-mail/mulberry||2006-04-06|Has expired: mastersite disappeared, no longer maintained by author
 textproc/pyenchant|textproc/py-enchant|2006-04-06|Rename to consistency with other Python ports
 security/skip||2006-04-06|Port has become obsolete
 mail/prom-mew||2006-04-07|Has expired: mastersite disappeared, no longer maintained by author

==== //depot/projects/dtrace/src/crypto/openssh/sshd.c#4 (text+ko) ====

@@ -43,7 +43,7 @@
  */
 
 #include "includes.h"
-__RCSID("$FreeBSD: src/crypto/openssh/sshd.c,v 1.43 2006/09/30 13:38:05 des Exp $");
+__RCSID("$FreeBSD: src/crypto/openssh/sshd.c,v 1.44 2006/10/03 11:33:25 des Exp $");
 
 #include <sys/types.h>
 #include <sys/ioctl.h>
@@ -83,7 +83,9 @@
 
 #ifdef __FreeBSD__
 #include <resolv.h>
-#ifdef GSSAPI
+#if defined(GSSAPI) && defined(HAVE_GSSAPI_H)
+#include <gssapi.h>
+#elif defined(GSSAPI) && defined(HAVE_GSSAPI_GSSAPI_H)
 #include <gssapi/gssapi.h>
 #endif
 #endif

==== //depot/projects/dtrace/src/gnu/usr.bin/Makefile#4 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/gnu/usr.bin/Makefile,v 1.90 2006/08/24 15:46:29 marcel Exp $
+# $FreeBSD: src/gnu/usr.bin/Makefile,v 1.91 2006/10/03 00:03:30 imp Exp $
 
 .include <bsd.own.mk>
 
@@ -24,10 +24,6 @@
 	sort \
 	${_texinfo}
  
-.if ${MACHINE_ARCH} == "arm"
-MK_GDB=	no	# not yet
-.endif
-
 .if ${MK_CXX} != "no"
 _gperf=		gperf
 .if ${MK_GROFF} != "no"

==== //depot/projects/dtrace/src/lib/libarchive/archive_read_extract.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include "archive_platform.h"
-__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.47 2006/09/05 05:59:45 kientzle Exp $");
+__FBSDID("$FreeBSD: src/lib/libarchive/archive_read_extract.c,v 1.48 2006/10/04 02:08:04 kientzle Exp $");
 
 #include <sys/types.h>
 #ifdef HAVE_SYS_ACL_H
@@ -85,7 +85,8 @@
 
 struct extract {
 	mode_t			 umask;
-	mode_t			 default_dir_mode;
+	mode_t			 default_dir_mode_initial;
+	mode_t			 default_dir_mode_final;
 	struct archive_string	 create_parent_dir;
 	struct fixup_entry	*fixup_list;
 	struct fixup_entry	*current_fixup;
@@ -108,9 +109,11 @@
  * Mode to use for newly-created dirs during extraction; the correct
  * mode will be set at the end of the extraction.
  */
-#define SECURE_DIR_MODE 0700
+#define MINIMUM_DIR_MODE 0700
+#define MAXIMUM_DIR_MODE 0775
 
 static int	archive_extract_cleanup(struct archive *);
+static int	create_extract(struct archive *a);
 static int	extract_block_device(struct archive *,
 		    struct archive_entry *, int);
 static int	extract_char_device(struct archive *,
@@ -169,17 +172,11 @@
 	char *original_filename;
 
 	if (a->extract == NULL) {
-		a->extract = malloc(sizeof(*a->extract));
-		if (a->extract == NULL) {
-			archive_set_error(a, ENOMEM, "Can't extract");
-			return (ARCHIVE_FATAL);
-		}
-		a->cleanup_archive_extract = archive_extract_cleanup;
-		memset(a->extract, 0, sizeof(*a->extract));
+		ret = create_extract(a);
+		if (ret)
+			return (ret);
 	}
 	extract = a->extract;
-	umask(extract->umask = umask(0)); /* Read the current umask. */
-	extract->default_dir_mode = DEFAULT_DIR_MODE & ~extract->umask;
 	extract->pst = NULL;
 	extract->current_fixup = NULL;
 	restore_pwd = -1;
@@ -293,6 +290,35 @@
 	return (ret);
 }
 
+
+static int
+create_extract(struct archive *a)
+{
+	struct extract *extract;
+
+	extract = malloc(sizeof(*extract));
+	if (extract == NULL) {
+		archive_set_error(a, ENOMEM, "Can't extract");
+		return (ARCHIVE_FATAL);
+	}
+	a->cleanup_archive_extract = archive_extract_cleanup;
+	memset(extract, 0, sizeof(*extract));
+	umask(extract->umask = umask(0)); /* Read the current umask. */
+	/* Final permission for default dirs. */
+	extract->default_dir_mode_final
+	    = DEFAULT_DIR_MODE & ~extract->umask;
+	/* Temporary permission for default dirs during extract. */
+	extract->default_dir_mode_initial
+	    = extract->default_dir_mode_final;
+	extract->default_dir_mode_initial |= MINIMUM_DIR_MODE;
+	extract->default_dir_mode_initial &= MAXIMUM_DIR_MODE;
+	/* If the two permissions above are different, then
+	 * the "final" permissions will be applied in the
+	 * post-extract fixup pass. */
+	a->extract = extract;
+	return (ARCHIVE_OK);
+}
+
 /*
  * Cleanup function for archive_extract.  Mostly, this involves processing
  * the fixup list, which is used to address a number of problems:
@@ -508,6 +534,7 @@
 	struct extract *extract;
 	struct fixup_entry *fe;
 	char *path, *p;
+	mode_t restore_mode, final_mode;
 
 	extract = a->extract;
 	extract->pst = NULL; /* Invalidate cached stat data. */
@@ -554,7 +581,16 @@
 		break;
 	}
 
-	if (mkdir(path, SECURE_DIR_MODE) == 0)
+	final_mode = archive_entry_mode(entry) &
+	    (S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO);
+	if ((flags & ARCHIVE_EXTRACT_PERM) == 0)
+		final_mode &= ~extract->umask;
+	/* Constrain the permissions in effect during the restore. */
+	restore_mode = final_mode;
+	restore_mode |= MINIMUM_DIR_MODE;
+	restore_mode &= MAXIMUM_DIR_MODE;
+
+	if (mkdir(path, restore_mode) == 0)
 		goto success;
 
 	if (extract->pst == NULL && stat(path, &extract->st) == 0)
@@ -575,27 +611,26 @@
 	}
 
 	/* One final attempt to create the dir. */
-	if (mkdir(path, SECURE_DIR_MODE) != 0) {
+	if (mkdir(path, restore_mode) != 0) {
 		archive_set_error(a, errno, "Can't create directory");
 		return (ARCHIVE_WARN);
 	}
 
 success:
 	/* Add this dir to the fixup list. */
-	fe = current_fixup(a, path);
-	fe->fixup |= FIXUP_MODE;
-	fe->mode = archive_entry_mode(entry);
-	if ((flags & ARCHIVE_EXTRACT_PERM) == 0)
-		fe->mode &= ~extract->umask;
+	if (final_mode != restore_mode) {
+		fe = current_fixup(a, path);
+		fe->fixup |= FIXUP_MODE;
+		fe->mode = final_mode;
+	}
 	if (flags & ARCHIVE_EXTRACT_TIME) {
+		fe = current_fixup(a, path);
 		fe->fixup |= FIXUP_TIMES;
 		fe->mtime = archive_entry_mtime(entry);
 		fe->mtime_nanos = archive_entry_mtime_nsec(entry);
 		fe->atime = archive_entry_atime(entry);
 		fe->atime_nanos = archive_entry_atime_nsec(entry);
 	}
-	/* For now, set the mode to SECURE_DIR_MODE. */
-	archive_entry_set_mode(entry, SECURE_DIR_MODE);
 	return (restore_metadata(a, -1, entry, flags));
 }
 
@@ -656,12 +691,9 @@
 static int
 create_dir_mutable(struct archive *a, char *path, int flags)
 {
-	mode_t old_umask;
 	int r;
 
-	old_umask = umask(~SECURE_DIR_MODE);
 	r = create_dir_recursive(a, path, flags);
-	umask(old_umask);
 	return (r);
 }
 
@@ -735,10 +767,13 @@
 			return (r);
 	}
 
-	if (mkdir(path, SECURE_DIR_MODE) == 0) {
-		le = new_fixup(a, path);
-		le->fixup |= FIXUP_MODE;
-		le->mode = extract->default_dir_mode;
+	if (mkdir(path, extract->default_dir_mode_initial) == 0) {
+		if (extract->default_dir_mode_initial
+		    != extract->default_dir_mode_final) {
+			le = new_fixup(a, path);
+			le->fixup |= FIXUP_MODE;
+			le->mode = extract->default_dir_mode_final;
+		}
 		return (ARCHIVE_OK);
 	}
 
@@ -1052,12 +1087,26 @@
 			mode &= ~ S_ISGID;
 	}
 
-	/*
-	 * Ensure we change permissions on the object we extracted,
-	 * and not any incidental symlink that might have gotten in
-	 * the way.
-	 */
-	if (!S_ISLNK(archive_entry_mode(entry))) {
+	if (S_ISLNK(archive_entry_mode(entry))) {
+#ifdef HAVE_LCHMOD
+		/*
+		 * If this is a symlink, use lchmod().  If the
+		 * platform doesn't support lchmod(), just skip it as
+		 * permissions on symlinks are actually ignored on
+		 * most platforms.
+		 */
+		if (lchmod(name, mode) != 0) {
+			archive_set_error(a, errno, "Can't set permissions");
+			return (ARCHIVE_WARN);
+		}
+#endif
+	} else if (!S_ISDIR(archive_entry_mode(entry))) {
+		/*
+		 * If it's not a symlink and not a dir, then use
+		 * fchmod() or chmod(), depending on whether we have
+		 * an fd.  Dirs get their perms set during the
+		 * post-extract fixup, which is handled elsewhere.
+		 */
 #ifdef HAVE_FCHMOD
 		if (fd >= 0) {
 			if (fchmod(fd, mode) != 0) {
@@ -1067,22 +1116,13 @@
 			}
 		} else
 #endif
-		if (chmod(name, mode) != 0) {
-			archive_set_error(a, errno, "Can't set permissions");
-			return (ARCHIVE_WARN);
-		}
-#ifdef HAVE_LCHMOD
-	} else {
-		/*
-		 * If lchmod() isn't supported, it's no big deal.
-		 * Permissions on symlinks are actually ignored on
-		 * most platforms.
-		 */
-		if (lchmod(name, mode) != 0) {
-			archive_set_error(a, errno, "Can't set permissions");
-			return (ARCHIVE_WARN);
-		}
-#endif
+			/* If this platform lacks fchmod(), then
+			 * we'll just use chmod(). */
+			if (chmod(name, mode) != 0) {
+				archive_set_error(a, errno,
+				    "Can't set permissions");
+				return (ARCHIVE_WARN);
+			}
 	}
 
 	if (flags & ARCHIVE_EXTRACT_ACL) {

==== //depot/projects/dtrace/src/lib/libc/gen/arc4random.c#3 (text+ko) ====

@@ -24,7 +24,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.10 2004/03/24 14:44:57 green Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.11 2006/10/04 01:17:23 ache Exp $");
 
 #include "namespace.h"
 #include <sys/types.h>
@@ -61,6 +61,7 @@
 static struct arc4_stream rs;
 static int rs_initialized;
 static int rs_stired;
+static int arc4_count;
 
 static inline u_int8_t arc4_getbyte(struct arc4_stream *);
 static void arc4_stir(struct arc4_stream *);
@@ -127,7 +128,8 @@
 	 * by Ilya Mironov.
 	 */
 	for (n = 0; n < 1024; n++)
-		arc4_getbyte(as);
+		(void) arc4_getbyte(as);
+	arc4_count = 400000;
 }
 
 static inline u_int8_t
@@ -172,7 +174,7 @@
 static void
 arc4_check_stir(void)
 {
-	if (!rs_stired) {
+	if (!rs_stired || --arc4_count == 0) {
 		arc4_stir(&rs);
 		rs_stired = 1;
 	}

==== //depot/projects/dtrace/src/share/man/man4/ddb.4#5 (text+ko) ====

@@ -57,7 +57,7 @@
 .\" 	Created.
 .\" 	[90/08/30            dbg]
 .\"
-.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.33 2006/09/18 15:24:18 ru Exp $
+.\" $FreeBSD: src/share/man/man4/ddb.4,v 1.34 2006/10/03 21:06:19 ru Exp $
 .Dd September 15, 2006
 .Dt DDB 4
 .Os
@@ -151,7 +151,7 @@
 browse through the history buffer, and move the cursor within the
 current line.
 .Sh COMMANDS
-.Bl -ohang
+.Bl -tag -width indent -compact
 .It Cm examine
 .It Cm x
 Display the addressed locations according to the formats in the modifier.
@@ -212,15 +212,18 @@
 No alternate format.
 .El
 .El
+.Pp
 .It Cm xf
 Examine forward:
 Execute an examine command with the last specified parameters to it
 except that the next address displayed by it is used as the start address.
+.Pp
 .It Cm xb
 Examine backward:
 Execute an examine command with the last specified parameters to it
 except that the last start address subtracted by the size displayed by it
 is used as the start address.
+.Pp
 .It Cm print Ns Op Cm /acdoruxz
 Print
 .Ar addr Ns s
@@ -249,6 +252,7 @@
 eax = xxxxxx
 ecx = yyyyyy
 .Ed
+.Pp
 .It Xo
 .Cm write Ns Op Cm /bhl
 .Ar addr Ar expr1 Op Ar "expr2 ..."
@@ -271,6 +275,7 @@
 since there is no delimiter between expressions, strange
 things may happen.
 It is best to enclose each expression in parentheses.
+.Pp
 .It Xo
 .Cm set
 .Li \&$ Ns Ar variable
@@ -280,6 +285,7 @@
 Set the named variable or register with the value of
 .Ar expr .
 Valid variable names are described below.
+.Pp
 .It Cm break Ns Op Cm /u
 Set a break point at
 .Ar addr .
@@ -311,6 +317,7 @@
 user space break points may not work correctly.
 Setting a break
 point at the low-level code paths may also cause strange behavior.
+.Pp
 .It Cm delete Ar addr
 .It Cm delete Li \&# Ns Ar number
 Delete the break point.
@@ -322,6 +329,7 @@
 specified in the original
 .Cm break
 command.
+.Pp
 .It Cm step Ns Op Cm /p
 Single step
 .Ar count
@@ -337,6 +345,7 @@
 On machines with software-emulated single-stepping (e.g., pmax),
 stepping through code executed by interrupt handlers will probably
 do the wrong thing.
+.Pp
 .It Cm continue Ns Op Cm /c
 Continue execution until a breakpoint or watchpoint.
 If the
@@ -348,6 +357,7 @@
 when counting, the debugger is really silently single-stepping.
 This means that single-stepping on low-level code may cause strange
 behavior.
+.Pp
 .It Cm until Ns Op Cm /p
 Stop at the next call or return instruction.
 If the
@@ -356,6 +366,7 @@
 cumulative instruction count at each call or return.
 Otherwise,
 only print when the matching return is hit.
+.Pp
 .It Cm next Ns Op Cm /p
 .It Cm match Ns Op Cm /p
 Stop at the matching return instruction.
@@ -364,6 +375,7 @@
 modifier is specified, print the call nesting depth and the
 cumulative instruction count at each call or return.
 Otherwise, only print when the matching return is hit.
+.Pp
 .It Xo
 .Cm trace Ns Op Cm /u
 .Op Ar frame
@@ -385,6 +397,7 @@
 .Sy Warning :
 User space stack trace is valid
 only if the machine dependent code supports it.
+.Pp
 .It Xo
 .Cm search Ns Op Cm /bhl
 .Ar addr
@@ -400,6 +413,7 @@
 The optional
 .Ar count
 argument limits the search.
+.Pp
 .It Cm show all procs Ns Op Cm /m
 .It Cm ps Ns Op Cm /m
 Display all process information.
@@ -410,6 +424,7 @@
 .Li m
 modifier will alter the display to show VM map
 addresses for the process and not show other info.
+.Pp
 .It Cm show registers Ns Op Cm /u
 Display the register set.
 If the
@@ -422,6 +437,7 @@
 .Li u
 modifier depends on the machine.
 If not supported, incorrect information will be displayed.
+.Pp
 .It Cm show geom Op Ar addr
 If the
 .Ar addr
@@ -430,6 +446,7 @@
 .Ar addr
 is given, displays details about the given GEOM object (class, geom, provider
 or consumer).
+.Pp
 .It Xo
 .Cm show map Ns Op Cm /f
 .Ar addr
@@ -440,6 +457,7 @@
 .Li f
 modifier is specified the
 complete map is printed.
+.Pp
 .It Xo
 .Cm show object Ns Op Cm /f
 .Ar addr
@@ -450,12 +468,16 @@
 .Li f
 option is specified the
 complete object is printed.
+.Pp
 .It Cm show vnode Ar addr
 Displays details about the given vnode.
+.Pp
 .It Cm "show watches"
 Displays all watchpoints.
+.Pp
 .It Cm reset
 Hard reset the system.
+.Pp
 .It Xo
 .Cm watch
 .Ar addr Ns Li \&, Ns Ar size
@@ -472,6 +494,7 @@
 Attempts to watch wired kernel memory
 may cause unrecoverable error in some systems such as i386.
 Watchpoints on user addresses work best.
+.Pp
 .It Xo
 .Cm hwatch
 .Ar addr Ns Li \&, Ns Ar size
@@ -490,11 +513,13 @@
 .Cm hwatch
 for setting watchpoints on kernel address locations only, and avoid
 its use on user mode address spaces.
+.Pp
 .It Xo
 .Cm dhwatch
 .Ar addr Ns Li \&, Ns Ar size
 .Xc
 Delete specified hardware watchpoint.
+.Pp
 .It Cm gdb
 Toggles between remote GDB and DDB mode.
 In remote GDB mode, another machine is required that runs
@@ -504,6 +529,7 @@
 Currently only available on the
 .Em i386
 architecture.
+.Pp
 .It Cm help
 Print a short summary of the available commands and command
 abbreviations.

==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_proto.h#6 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call prototypes.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.66 2006/09/23 00:27:53 davidxu Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.67 2006/10/03 20:48:11 rwatson Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp 
  */
 
 #ifndef _FREEBSD32_SYSPROTO_H_

==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscall.h#6 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call numbers.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.64 2006/09/23 00:27:53 davidxu Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.65 2006/10/03 20:48:11 rwatson Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp 
  */
 
 #define	FREEBSD32_SYS_syscall	0

==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_syscalls.c#6 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call names.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.55 2006/09/23 00:27:53 davidxu Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.56 2006/10/03 20:48:11 rwatson Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp 
  */
 
 const char *freebsd32_syscallnames[] = {

==== //depot/projects/dtrace/src/sys/compat/freebsd32/freebsd32_sysent.c#6 (text+ko) ====

@@ -2,8 +2,8 @@
  * System call switch table.
  *
  * DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.65 2006/09/23 00:27:53 davidxu Exp $
- * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp 
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.66 2006/10/03 20:48:11 rwatson Exp $
+ * created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp 
  */
 
 #include "opt_compat.h"

==== //depot/projects/dtrace/src/sys/compat/freebsd32/syscalls.master#7 (text+ko) ====

@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.79 2006/09/23 00:27:11 davidxu Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.80 2006/10/03 20:48:03 rwatson Exp $
 ;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
 ;	from: src/sys/kern/syscalls.master 1.107
 ;
@@ -141,7 +141,7 @@
 61	AUE_CHROOT	NOPROTO	{ int chroot(char *path); }
 62	AUE_FSTAT	OBSOL	ofstat
 63	AUE_NULL	OBSOL	ogetkerninfo
-64	AUE_GETPAGESIZE	OBSOL	ogetpagesize
+64	AUE_NULL	OBSOL	ogetpagesize
 ; XXX implement (not OBSOL at all)
 65	AUE_MSYNC	NOPROTO	{ int msync(void *addr, size_t len, \
 				    int flags); }

==== //depot/projects/dtrace/src/sys/dev/aic/aic_pccard.c#3 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/aic/aic_pccard.c,v 1.17 2005/09/20 19:45:08 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/aic/aic_pccard.c,v 1.18 2006/10/03 04:51:18 imp Exp $");
 
 #include <sys/param.h>
 #include <sys/kernel.h>
@@ -54,7 +54,7 @@
 static int aic_pccard_probe(device_t);
 static int aic_pccard_attach(device_t);
 
-const struct pccard_product aic_pccard_products[] = {
+static const struct pccard_product aic_pccard_products[] = {
 	PCMCIA_CARD(ADAPTEC, APA1460),
 	PCMCIA_CARD(ADAPTEC, APA1460A),
 	PCMCIA_CARD(NEWMEDIA, BUSTOASTER),

==== //depot/projects/dtrace/src/sys/dev/bge/if_bge.c#12 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.149 2006/09/23 18:55:49 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/bge/if_bge.c,v 1.150 2006/10/03 09:31:49 glebius Exp $");
 
 /*
  * Broadcom BCM570x family gigabit ethernet driver for FreeBSD.
@@ -191,7 +191,6 @@
 
 	{ SK_VENDORID,		SK_DEVICEID_ALTIMA },
 
-	{ TC_VENDORID,		TC_DEVICEID_3C985 },
 	{ TC_VENDORID,		TC_DEVICEID_3C996 },
 
 	{ 0, 0 }

==== //depot/projects/dtrace/src/sys/dev/bge/if_bgereg.h#8 (text+ko) ====

@@ -30,7 +30,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  * THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.55 2006/09/09 03:36:57 ambrisko Exp $
+ * $FreeBSD: src/sys/dev/bge/if_bgereg.h,v 1.56 2006/10/03 09:31:49 glebius Exp $
  */
 
 /*
@@ -2027,10 +2027,9 @@
 #define ALTEON_DEVICEID_BCM5701		0x0004
 

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610042131.k94LVjwj008897>