PERFORCE change 130754 for review

Peter Wemm peter at FreeBSD.org
Wed Dec 12 15:20:11 PST 2007


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

Change 130754 by peter at peter_daintree on 2007/12/12 23:19:34

	IFC @130733

Affected files ...

.. //depot/projects/hammer/Makefile#44 integrate
.. //depot/projects/hammer/contrib/amd/FREEBSD-Xlist#4 integrate
.. //depot/projects/hammer/contrib/amd/FREEBSD-upgrade#4 integrate
.. //depot/projects/hammer/contrib/gcc/config/sparc/freebsd.h#10 integrate
.. //depot/projects/hammer/contrib/gcc/fold-const.c#10 integrate
.. //depot/projects/hammer/include/nsswitch.h#4 integrate
.. //depot/projects/hammer/lib/Makefile#66 integrate
.. //depot/projects/hammer/lib/libc/gdtoa/_ldtoa.c#5 integrate
.. //depot/projects/hammer/lib/libc/gen/getgrent.c#13 integrate
.. //depot/projects/hammer/lib/libc/gen/getgrouplist.c#6 integrate
.. //depot/projects/hammer/lib/libc/locale/localeconv.c#4 integrate
.. //depot/projects/hammer/lib/libc/net/nsdispatch.c#10 integrate
.. //depot/projects/hammer/lib/libc/stdio/vfscanf.c#16 integrate
.. //depot/projects/hammer/lib/libc/stdio/vfwscanf.c#13 integrate
.. //depot/projects/hammer/lib/libc/stdlib/rand.c#4 integrate
.. //depot/projects/hammer/lib/libc/string/strtok.3#5 integrate
.. //depot/projects/hammer/lib/libc/string/strtok.c#3 integrate
.. //depot/projects/hammer/lib/libc/string/wcstok.c#3 integrate
.. //depot/projects/hammer/lib/libthr/thread/thr_mutex.c#37 integrate
.. //depot/projects/hammer/release/Makefile#98 integrate
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/Makefile#3 integrate
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/errata/Makefile#2 integrate
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/Makefile#2 integrate
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/Makefile.inc#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/amd64/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/amd64/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/amd64/proc-amd64.sgml#4 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/article.sgml#1 branch
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/common/artheader.sgml#5 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/common/dev.sgml#11 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/common/hw.ent#3 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/common/intro.sgml#3 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/i386/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/i386/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/hardware/i386/proc-i386.sgml#4 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/Makefile#3 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/Makefile.inc#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/amd64/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/amd64/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/abstract.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/artheader.sgml#5 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/install.ent#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/install.sgml#7 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/layout.sgml#4 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/trouble.sgml#5 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/common/upgrade.sgml#3 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/i386/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/i386/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/ia64/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/ia64/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/pc98/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/pc98/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/sparc64/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/sparc64/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/installation/sparc64/install.sgml#3 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/readme/article.sgml#3 integrate
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/Makefile#3 integrate
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/Makefile.inc#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/amd64/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/amd64/article.sgml#3 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/article.sgml#1 branch
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/common/new.sgml#13 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/common/relnotes.ent#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/i386/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/i386/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/ia64/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/ia64/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/pc98/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/pc98/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/powerpc/Makefile#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/powerpc/article.sgml#2 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/sparc64/Makefile#3 delete
.. //depot/projects/hammer/release/doc/zh_CN.GB2312/relnotes/sparc64/article.sgml#3 delete
.. //depot/projects/hammer/sbin/bsdlabel/bsdlabel.c#21 integrate
.. //depot/projects/hammer/sbin/ifconfig/ifconfig.8#47 integrate
.. //depot/projects/hammer/sbin/ifconfig/ifconfig.c#36 integrate
.. //depot/projects/hammer/sbin/natd/natd.8#8 integrate
.. //depot/projects/hammer/sbin/newfs_msdos/newfs_msdos.8#7 integrate
.. //depot/projects/hammer/share/man/man4/nve.4#9 integrate
.. //depot/projects/hammer/share/man/man5/src.conf.5#14 integrate
.. //depot/projects/hammer/share/man/man7/build.7#17 integrate
.. //depot/projects/hammer/share/mk/bsd.own.mk#21 integrate
.. //depot/projects/hammer/sys/amd64/amd64/machdep.c#163 integrate
.. //depot/projects/hammer/sys/amd64/amd64/pmap.c#169 integrate
.. //depot/projects/hammer/sys/arm/arm/pmap.c#47 integrate
.. //depot/projects/hammer/sys/cam/scsi/scsi_da.c#44 integrate
.. //depot/projects/hammer/sys/compat/freebsd32/freebsd32_misc.c#54 integrate
.. //depot/projects/hammer/sys/conf/files#167 integrate
.. //depot/projects/hammer/sys/conf/files.amd64#100 integrate
.. //depot/projects/hammer/sys/conf/files.i386#86 integrate
.. //depot/projects/hammer/sys/dev/amr/amr.c#37 integrate
.. //depot/projects/hammer/sys/dev/amr/amr_cam.c#20 integrate
.. //depot/projects/hammer/sys/dev/amr/amr_pci.c#26 integrate
.. //depot/projects/hammer/sys/dev/amr/amrvar.h#21 integrate
.. //depot/projects/hammer/sys/dev/arcmsr/arcmsr.c#15 integrate
.. //depot/projects/hammer/sys/dev/if_ndis/if_ndis.c#58 integrate
.. //depot/projects/hammer/sys/dev/sound/pci/ich.c#39 integrate
.. //depot/projects/hammer/sys/dev/usb/umass.c#47 integrate
.. //depot/projects/hammer/sys/dev/usb/usbdevs#92 integrate
.. //depot/projects/hammer/sys/fs/udf/udf_vfsops.c#31 integrate
.. //depot/projects/hammer/sys/geom/geom_bsd_enc.c#7 integrate
.. //depot/projects/hammer/sys/geom/part/g_part.c#10 integrate
.. //depot/projects/hammer/sys/i386/i386/machdep.c#82 integrate
.. //depot/projects/hammer/sys/i386/i386/pmap.c#104 integrate
.. //depot/projects/hammer/sys/kern/kern_proc.c#63 integrate
.. //depot/projects/hammer/sys/kern/kern_resource.c#37 integrate
.. //depot/projects/hammer/sys/kern/sched_4bsd.c#55 integrate
.. //depot/projects/hammer/sys/kern/sched_ule.c#87 integrate
.. //depot/projects/hammer/sys/net/bridgestp.c#17 integrate
.. //depot/projects/hammer/sys/net/bridgestp.h#4 integrate
.. //depot/projects/hammer/sys/net/if.h#29 integrate
.. //depot/projects/hammer/sys/net/route.c#29 integrate
.. //depot/projects/hammer/sys/net/route.h#16 integrate
.. //depot/projects/hammer/sys/netgraph/ng_l2tp.c#13 integrate
.. //depot/projects/hammer/sys/netinet/if_ether.c#42 integrate
.. //depot/projects/hammer/sys/netinet/ip_fw2.c#90 integrate
.. //depot/projects/hammer/sys/netinet/tcp_ofld.c#1 branch
.. //depot/projects/hammer/sys/netinet/tcp_ofld.h#1 branch
.. //depot/projects/hammer/sys/netinet/tcp_syncache.c#56 integrate
.. //depot/projects/hammer/sys/netinet/tcp_syncache.h#2 integrate
.. //depot/projects/hammer/sys/netinet/tcp_var.h#50 integrate
.. //depot/projects/hammer/sys/netinet/toedev.h#1 branch
.. //depot/projects/hammer/sys/netinet6/dest6.c#6 integrate
.. //depot/projects/hammer/sys/netinet6/frag6.c#12 integrate
.. //depot/projects/hammer/sys/netinet6/icmp6.c#31 integrate
.. //depot/projects/hammer/sys/netinet6/in6.c#29 integrate
.. //depot/projects/hammer/sys/netinet6/in6.h#20 integrate
.. //depot/projects/hammer/sys/netinet6/in6_cksum.c#14 integrate
.. //depot/projects/hammer/sys/netinet6/in6_gif.c#15 integrate
.. //depot/projects/hammer/sys/netinet6/in6_gif.h#5 integrate
.. //depot/projects/hammer/sys/netinet6/in6_ifattach.c#21 integrate
.. //depot/projects/hammer/sys/netinet6/in6_ifattach.h#6 integrate
.. //depot/projects/hammer/sys/netinet6/in6_pcb.c#32 integrate
.. //depot/projects/hammer/sys/netinet6/in6_pcb.h#12 integrate
.. //depot/projects/hammer/sys/netinet6/in6_proto.c#20 integrate
.. //depot/projects/hammer/sys/netinet6/in6_rmx.c#12 integrate
.. //depot/projects/hammer/sys/netinet6/in6_src.c#24 integrate
.. //depot/projects/hammer/sys/netinet6/in6_var.h#18 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_ecn.h#4 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_forward.c#20 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_id.c#5 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_input.c#33 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_ipsec.c#4 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_ipsec.h#3 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_mroute.c#22 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_mroute.h#7 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_output.c#46 integrate
.. //depot/projects/hammer/sys/netinet6/ip6_var.h#20 integrate
.. //depot/projects/hammer/sys/netinet6/ip6protosw.h#6 integrate
.. //depot/projects/hammer/sys/netinet6/mld6.c#21 integrate
.. //depot/projects/hammer/sys/netinet6/mld6_var.h#6 integrate
.. //depot/projects/hammer/sys/netinet6/nd6.c#35 integrate
.. //depot/projects/hammer/sys/netinet6/nd6.h#9 integrate
.. //depot/projects/hammer/sys/netinet6/nd6_nbr.c#24 integrate
.. //depot/projects/hammer/sys/netinet6/nd6_rtr.c#17 integrate
.. //depot/projects/hammer/sys/netinet6/pim6.h#3 integrate
.. //depot/projects/hammer/sys/netinet6/pim6_var.h#4 integrate
.. //depot/projects/hammer/sys/netinet6/raw_ip6.c#32 integrate
.. //depot/projects/hammer/sys/netinet6/raw_ip6.h#3 integrate
.. //depot/projects/hammer/sys/netinet6/route6.c#9 integrate
.. //depot/projects/hammer/sys/netinet6/scope6.c#10 integrate
.. //depot/projects/hammer/sys/netinet6/scope6_var.h#6 integrate
.. //depot/projects/hammer/sys/netinet6/sctp6_usrreq.c#15 integrate
.. //depot/projects/hammer/sys/netinet6/sctp6_var.h#8 integrate
.. //depot/projects/hammer/sys/netinet6/tcp6_var.h#4 integrate
.. //depot/projects/hammer/sys/netinet6/udp6_usrreq.c#33 integrate
.. //depot/projects/hammer/sys/netinet6/udp6_var.h#6 integrate
.. //depot/projects/hammer/sys/sys/cdefs.h#25 integrate
.. //depot/projects/hammer/sys/sys/socket.h#24 integrate
.. //depot/projects/hammer/sys/vm/vm_page.c#66 integrate
.. //depot/projects/hammer/tools/build/options/WITHOUT_BZIP2#2 integrate
.. //depot/projects/hammer/tools/build/options/WITHOUT_GNU#2 integrate
.. //depot/projects/hammer/tools/build/options/WITHOUT_GSSAPI#1 branch
.. //depot/projects/hammer/tools/build/options/WITHOUT_INSTALLLIB#1 branch
.. //depot/projects/hammer/tools/build/options/WITHOUT_KERBEROS#2 integrate
.. //depot/projects/hammer/tools/build/options/WITHOUT_KVM#2 integrate
.. //depot/projects/hammer/tools/build/options/WITHOUT_PAM#2 integrate
.. //depot/projects/hammer/tools/build/options/WITHOUT_TOOLCHAIN#3 integrate
.. //depot/projects/hammer/tools/build/options/makeman#5 integrate
.. //depot/projects/hammer/tools/regression/lib/libc/stdio/test-scanfloat.c#7 integrate
.. //depot/projects/hammer/tools/regression/lib/msun/test-lround.c#2 integrate
.. //depot/projects/hammer/tools/regression/lib/msun/test-next.c#2 integrate
.. //depot/projects/hammer/usr.bin/make/Makefile.dist#4 integrate
.. //depot/projects/hammer/usr.bin/procstat/procstat_args.c#2 integrate
.. //depot/projects/hammer/usr.bin/procstat/procstat_bin.c#2 integrate
.. //depot/projects/hammer/usr.bin/procstat/procstat_cred.c#2 integrate
.. //depot/projects/hammer/usr.bin/procstat/procstat_files.c#2 integrate
.. //depot/projects/hammer/usr.sbin/pkg_install/Makefile#9 integrate
.. //depot/projects/hammer/usr.sbin/pkg_install/add/pkg_add.1#17 integrate
.. //depot/projects/hammer/usr.sbin/pkg_install/create/pkg_create.1#14 integrate
.. //depot/projects/hammer/usr.sbin/pkg_install/delete/pkg_delete.1#5 integrate
.. //depot/projects/hammer/usr.sbin/pkg_install/info/pkg_info.1#13 integrate
.. //depot/projects/hammer/usr.sbin/pkg_install/search/Makefile#2 delete
.. //depot/projects/hammer/usr.sbin/pkg_install/search/pkg_search.1#2 delete
.. //depot/projects/hammer/usr.sbin/pkg_install/search/pkg_search.sh#2 delete
.. //depot/projects/hammer/usr.sbin/pkg_install/updating/pkg_updating.1#3 integrate
.. //depot/projects/hammer/usr.sbin/pkg_install/version/pkg_version.1#14 integrate
.. //depot/projects/hammer/usr.sbin/sysinstall/media.c#6 integrate
.. //depot/projects/hammer/usr.sbin/sysinstall/system.c#10 integrate
.. //depot/projects/hammer/usr.sbin/syslogd/syslogd.c#31 integrate

Differences ...

==== //depot/projects/hammer/Makefile#44 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile,v 1.342 2007/10/18 08:41:52 delphij Exp $
+# $FreeBSD: src/Makefile,v 1.343 2007/12/11 20:00:55 imp Exp $
 #
 # The user-driven targets are:
 #
@@ -234,17 +234,19 @@
 	    PATH=${PATH} ${BINMAKE} obj >/dev/null 2>&1 && \
 	    PATH=${PATH} ${BINMAKE} >/dev/null 2>&1); \
 	then \
-	    (cd ${.CURDIR} && make make); \
+	    (cd ${.CURDIR} && ${BSDMAKE} make); \
 	fi
 
 #
 # Upgrade make(1) to the current version using the installed
-# headers, libraries and tools.
+# headers, libraries and tools.  Also, allow the location of
+# the system bsdmake-like utility to be overridden.
 #
+BSDMAKE?=make
 MMAKEENV=	MAKEOBJDIRPREFIX=${MAKEPATH} \
 		DESTDIR= \
 		INSTALL="sh ${.CURDIR}/tools/install.sh"
-MMAKE=		${MMAKEENV} make \
+MMAKE=		${MMAKEENV} ${BSDMAKE} \
 		-D_UPGRADING \
 		-DNOMAN -DNO_MAN -DNOSHARED -DNO_SHARED \
 		-DNO_CPU_CFLAGS -DNO_WERROR

==== //depot/projects/hammer/contrib/amd/FREEBSD-Xlist#4 (text+ko) ====

@@ -1,7 +1,8 @@
-$FreeBSD: src/contrib/amd/FREEBSD-Xlist,v 1.5 2004/07/06 12:52:27 mbr Exp $
+$FreeBSD: src/contrib/amd/FREEBSD-Xlist,v 1.6 2007/12/11 19:15:17 obrien Exp $
 *LSM.am-utils
 *Makefile.*
 *README.autofs
+*README.osx
 *ac*.m4
 *.old
 *acconfig.h
@@ -15,6 +16,7 @@
 *missing
 *mkinstalldirs
 *stamp-h.in
+*amd/test1.sh
 *amd/Makefile.*
 *amq/Makefile.*
 *commit
@@ -38,10 +40,13 @@
 *conf/fh_dref/fh_dref_sunos3.h
 *conf/fh_dref/fh_dref_sunos4.h
 *conf/fh_dref/fh_dref_svr4.h
+*conf/hn_dref/hn_dref_default.h,
 *conf/hn_dref/hn_dref_isc3.h
 *conf/hn_dref/hn_dref_linux.h
 *conf/mount/mount_aix.c
+*conf/mount/mount_aix3.c
 *conf/mount/mount_bsdi3.c
+*conf/mount/mount_default.c
 *conf/mount/mount_freebsd3.c
 *conf/mount/mount_hpux.c
 *conf/mount/mount_irix5.c
@@ -54,6 +59,7 @@
 *conf/mtab/mtab_aix.c
 *conf/mtab/mtab_file.c
 *conf/mtab/mtab_isc3.c
+*conf/mtab/mtab_linux.c
 *conf/mtab/mtab_mach3.c
 *conf/mtab/mtab_osf.c
 *conf/mtab/mtab_svr4.c
@@ -63,6 +69,7 @@
 *conf/nfs_prot/nfs_prot_aix4_2.h
 *conf/nfs_prot/nfs_prot_aix4_3.h
 *conf/nfs_prot/nfs_prot_aix5_1.h
+*conf/nfs_prot/nfs_prot_aix5_2.h
 *conf/nfs_prot/nfs_prot_bsdi2.h
 *conf/nfs_prot/nfs_prot_bsdi3.h
 *conf/nfs_prot/nfs_prot_darwin.h
@@ -92,6 +99,12 @@
 *conf/nfs_prot/nfs_prot_sunos5_8.h
 *conf/nfs_prot/nfs_prot_svr4.h
 *conf/nfs_prot/nfs_prot_ultrix.h
+*conf/autofs/autofs_linux.h
+*conf/autofs/autofs_linux.c
+*conf/autofs/autofs_solaris_v1.h
+*conf/autofs/autofs_solaris_v1.c
+*conf/autofs/autofs_solaris_v2_v3.h
+*conf/autofs/autofs_solaris_v2_v3.c
 *conf/sa_dref/sa_dref_386bsd.h
 *conf/sa_dref/sa_dref_aix3.h
 *conf/sa_dref/sa_dref_aoi.h
@@ -103,6 +116,7 @@
 *conf/trap/trap_aix3.h
 *conf/trap/trap_aux.h
 *conf/trap/trap_dgux.h
+*conf/trap/trap_freebsd3.h
 *conf/trap/trap_hcx.h
 *conf/trap/trap_hpux.h
 *conf/trap/trap_hpux11.h
@@ -115,7 +129,9 @@
 *conf/trap/trap_stellix.h
 *conf/trap/trap_svr4.h
 *conf/trap/trap_ultrix.h
+*conf/umount/umount_aix.c
 *conf/umount/umount_default.c
+*conf/umount/umount_linux.c
 *conf/umount/umount_osf.c
 *doc/Makefile.am
 *doc/Makefile.in
@@ -135,11 +151,118 @@
 *fsinfo/Makefile.*
 *hlfsd/Makefile.*
 *libamu/Makefile.*
+*libamu/alloca.c
 *libamu/clnt_sperrno.c
 *libamu/memcmp.c
 *libamu/strcasecmp.c
 *libamu/strdup.c
 *libamu/strstr.c
+*libamu/strlcat.c
+*libamu/strlcpy.c
 *libamu/ualarm.c
 *mk-amd-map/Makefile.*
 *wire-test/Makefile.*
+*m4/GNUmakefile
+*m4/amdgrep*
+*m4/amindent*
+*m4/autopat*
+*m4/chop-aclocal.pl*
+*m4/copy-if-newbig*
+*m4/mk-aclocal*
+*m4/mkconf*
+*m4/rmtspc*
+*m4/update_build_version*
+*m4/macros/HEADER
+*m4/macros/TRAILER
+*m4/macros/c_void_p.m4
+*m4/macros/cache_check_dynamic.m4
+*m4/macros/check_amu_fs.m4
+*m4/macros/check_checkmount_style.m4
+*m4/macros/check_extern.m4
+*m4/macros/check_fhandle.m4
+*m4/macros/check_field.m4
+*m4/macros/check_fs_headers.m4
+*m4/macros/check_fs_mntent.m4
+*m4/macros/check_gnu_getopt.m4
+*m4/macros/check_hide_mount_type.m4
+*m4/macros/check_lib2.m4
+*m4/macros/check_map_funcs.m4
+*m4/macros/check_mnt2_cdfs_opt.m4
+*m4/macros/check_mnt2_gen_opt.m4
+*m4/macros/check_mnt2_nfs_opt.m4
+*m4/macros/check_mnttab_file_name.m4
+*m4/macros/check_mnttab_location.m4
+*m4/macros/check_mnttab_opt.m4
+*m4/macros/check_mnttab_style.m4
+*m4/macros/check_mnttab_type.m4
+*m4/macros/check_mount_style.m4
+*m4/macros/check_mount_trap.m4
+*m4/macros/check_mount_type.m4
+*m4/macros/check_mtype_printf_type.m4
+*m4/macros/check_mtype_type.m4
+*m4/macros/check_network_transport_type.m4
+*m4/macros/check_nfs_fh_dref.m4
+*m4/macros/check_nfs_hn_dref.m4
+*m4/macros/check_nfs_prot_headers.m4
+*m4/macros/check_nfs_sa_dref.m4
+*m4/macros/check_nfs_socket_connection.m4
+*m4/macros/check_os_libs.m4
+*m4/macros/check_restartable_signal_handler.m4
+*m4/macros/check_umount_style.m4
+*m4/macros/check_unmount_args.m4
+*m4/macros/check_unmount_call.m4
+*m4/macros/expand_cpp_hex.m4
+*m4/macros/expand_cpp_int.m4
+*m4/macros/expand_cpp_string.m4
+*m4/macros/expand_run_string.m4
+*m4/macros/extern_optarg.m4
+*m4/macros/extern_sys_errlist.m4
+*m4/macros/field_mntent_t_mnt_time_string.m4
+*m4/macros/func_bad_memcmp.m4
+*m4/macros/func_bad_yp_all.m4
+*m4/macros/header_templates.m4
+*m4/macros/host_macros.m4
+*m4/macros/linux_headers.m4
+*m4/macros/localconfig.m4
+*m4/macros/mount_headers.m4
+*m4/macros/name_package.m4
+*m4/macros/name_version.m4
+*m4/macros/opt_amu_cflags.m4
+*m4/macros/opt_cppflags.m4
+*m4/macros/opt_debug.m4
+*m4/macros/opt_ldflags.m4
+*m4/macros/opt_libs.m4
+*m4/macros/os_cflags.m4
+*m4/macros/os_cppflags.m4
+*m4/macros/os_ldflags.m4
+*m4/macros/package_bugreport.m4
+*m4/macros/package_name.m4
+*m4/macros/package_version.m4
+*m4/macros/save_state.m4
+*m4/macros/struct_field_nfs_fh.m4
+*m4/macros/struct_mntent.m4
+*m4/macros/struct_mnttab.m4
+*m4/macros/struct_nfs_args.m4
+*m4/macros/struct_nfs_fh.m4
+*m4/macros/struct_nfs_fh3.m4
+*m4/macros/struct_nfs_gfs_mount.m4
+*m4/macros/try_compile_anyfs.m4
+*m4/macros/try_compile_nfs.m4
+*m4/macros/try_compile_rpc.m4
+*m4/macros/type_auth_create_gidlist.m4
+*m4/macros/type_cachefs_args.m4
+*m4/macros/type_cdfs_args.m4
+*m4/macros/type_efs_args.m4
+*m4/macros/type_lofs_args.m4
+*m4/macros/type_mfs_args.m4
+*m4/macros/type_pcfs_args.m4
+*m4/macros/type_recvfrom_fromlen.m4
+*m4/macros/type_rfs_args.m4
+*m4/macros/type_svc_in_arg.m4
+*m4/macros/type_time_t.m4
+*m4/macros/type_tmpfs_args.m4
+*m4/macros/type_ufs_args.m4
+*m4/macros/type_xdrproc_t.m4
+*m4/macros/type_xfs_args.m4
+*m4/macros/type_yp_order_outorder.m4
+*m4/macros/with_addon.m4

==== //depot/projects/hammer/contrib/amd/FREEBSD-upgrade#4 (text+ko) ====

@@ -1,21 +1,19 @@
 # ex:ts=8
-$FreeBSD: src/contrib/amd/FREEBSD-upgrade,v 1.15 2004/05/14 13:29:48 mbr Exp $
+$FreeBSD: src/contrib/amd/FREEBSD-upgrade,v 1.16 2007/12/11 19:16:51 obrien Exp $
 
-AMD (am-utils) 6.0.9
-    originals can be found at: ftp://shekel.mcl.cs.columbia.edu/pub/am-utils/
-    (http://www.cs.columbia.edu/~ezk/am-utils/index.html)
-
+AMD (am-utils) 6.1.5
+    originals can be found at: ftp://ftp.am-utils.org/pub/am-utils/
 
 For the import of AMD many files were pruned by:
 
-	tar -X FREEBSD-Xlist -xzf am-utils-6.0.9.tar.gz
+	tar -X FREEBSD-Xlist -xf am-utils-6.1.5.tar.gz
 
 and `find . -name '.cvsignore' -delete`
 
 Then imported by:
 
-	cvs import -m 'Virgin import of AMD (am-utils) v6.0.9' \
-		src/contrib/amd COLUMBIA amd_6_0_9
+	cvs import -m 'Virgin import of AMD (am-utils) v6.1.5' \
+		src/contrib/amd COLUMBIA amd_6_1_5
 
 After the import, a separate extraction of am-utils was GNU configured in
 the "normal" way.  The resulting config.h file should be compared with
@@ -25,8 +23,11 @@
 To make local changes to amd, simply patch and commit to the main
 branch (aka HEAD).  Never make local changes on the vendor (COLUMBIA) branch.
 
-All local changes should be submitted to "amd-dev at majordomo.cs.columbia.edu"
-for inclusion in the next vendor release.
+Note, we don't trim anything in scripts/ as sysadmins may find the bits
+as a useful reference.
+
+All local changes should be submitted to "am-utils at am-utils.org" or
+https://bugzilla.am-utils.org for inclusion in the next vendor release.
 
 Local changes:
 

==== //depot/projects/hammer/contrib/gcc/config/sparc/freebsd.h#10 (text+ko) ====

@@ -19,24 +19,26 @@
 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
 Boston, MA 02110-1301, USA.  */
 
-/* $FreeBSD: src/contrib/gcc/config/sparc/freebsd.h,v 1.10 2007/05/19 02:30:20 kan Exp $ */
+/* $FreeBSD: src/contrib/gcc/config/sparc/freebsd.h,v 1.11 2007/12/09 17:41:47 marius Exp $ */
 
 #undef  SUBTARGET_EXTRA_SPECS
 #define SUBTARGET_EXTRA_SPECS \
   { "fbsd_dynamic_linker", FBSD_DYNAMIC_LINKER }
 
 /* FreeBSD needs the platform name (sparc64) defined.
-   Emacs needs to know if the arch is 64 or 32-bits.  */
-
-#undef  CPP_CPU64_DEFAULT_SPEC
-#define CPP_CPU64_DEFAULT_SPEC \
-  "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__sparc__ -D__arch64__"
+   Emacs needs to know if the arch is 64 or 32-bits.
+   This also selects which targets are available via -mcpu.  */
 
 #undef  FBSD_TARGET_CPU_CPP_BUILTINS
 #define FBSD_TARGET_CPU_CPP_BUILTINS()		\
   do						\
     {						\
       builtin_define ("__LP64__");		\
+      builtin_define ("__sparc64__");		\
+      builtin_define ("__sparc_v9__");		\
+      builtin_define ("__sparcv9");		\
+      builtin_define ("__sparc__");		\
+      builtin_define ("__arch64__");		\
     }						\
   while (0)
 

==== //depot/projects/hammer/contrib/gcc/fold-const.c#10 (text+ko) ====

@@ -5661,6 +5661,9 @@
             }
           break;
         }
+      /* If the constant is negative, we cannot simplify this.  */
+      if (tree_int_cst_sgn (c) == -1)
+	break;
       /* FALLTHROUGH */
     case NEGATE_EXPR:
       if ((t1 = extract_muldiv (op0, c, code, wide_type, strict_overflow_p))

==== //depot/projects/hammer/include/nsswitch.h#4 (text+ko) ====

@@ -1,5 +1,5 @@
 /*	$NetBSD: nsswitch.h,v 1.6 1999/01/26 01:04:07 lukem Exp $	*/
-/*	$FreeBSD: src/include/nsswitch.h,v 1.4 2006/04/28 12:03:34 ume Exp $ */
+/*	$FreeBSD: src/include/nsswitch.h,v 1.5 2007/12/12 10:08:02 bushman Exp $ */
 
 /*-
  * Copyright (c) 1997, 1998, 1999 The NetBSD Foundation, Inc.
@@ -68,7 +68,8 @@
 #define	NSSRC_DNS	"dns"		/* DNS; IN for hosts, HS for others */
 #define	NSSRC_NIS	"nis"		/* YP/NIS */
 #define	NSSRC_COMPAT	"compat"	/* passwd,group in YP compat mode */
-#define	NSSRC_CACHE	"cache"		/* cache daemon */
+#define	NSSRC_CACHE	"cache"		/* nscd daemon */
+#define NSSRC_FALLBACK	"__fallback"	/* internal fallback source */
 
 /*
  * currently implemented databases
@@ -132,6 +133,7 @@
  */
 #define NS_FILES_CB(F,C)	{ NSSRC_FILES,	F,	C },
 #define NS_COMPAT_CB(F,C)	{ NSSRC_COMPAT,	F,	C },
+#define NS_FALLBACK_CB(F)	{ NSSRC_FALLBACK, F,	NULL },
  
 #ifdef HESIOD
 #   define NS_DNS_CB(F,C)	{ NSSRC_DNS,	F,	C },

==== //depot/projects/hammer/lib/Makefile#66 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/4/93
-# $FreeBSD: src/lib/Makefile,v 1.226 2007/11/17 21:29:02 cognet Exp $
+# $FreeBSD: src/lib/Makefile,v 1.228 2007/12/12 16:39:31 ru Exp $
 
 .include <bsd.own.mk>
 
@@ -62,6 +62,10 @@
 _libsdp=	libsdp
 .endif
 
+.if ${MK_GSSAPI} != "no"
+_libgssapi=	libgssapi
+.endif
+
 .if ${MK_IPX} != "no"
 _libipx=	libipx
 .endif

==== //depot/projects/hammer/lib/libc/gdtoa/_ldtoa.c#5 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gdtoa/_ldtoa.c,v 1.4 2007/12/03 07:17:32 das Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gdtoa/_ldtoa.c,v 1.5 2007/12/09 19:48:57 das Exp $");
 
 #include <float.h>
 #include <inttypes.h>
@@ -88,9 +88,7 @@
 		break;
 	case FP_SUBNORMAL:
 		kind = STRTOG_Denormal;
-#ifdef	LDBL_IMPLICIT_NBIT
 		be++;
-#endif
 		break;
 	case FP_INFINITE:
 		kind = STRTOG_Infinite;

==== //depot/projects/hammer/lib/libc/gen/getgrent.c#13 (text+ko) ====

@@ -31,7 +31,7 @@
  *
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/getgrent.c,v 1.36 2006/09/18 09:34:48 maxim Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/getgrent.c,v 1.37 2007/12/12 10:08:02 bushman Exp $");
 
 #include "namespace.h"
 #include <sys/param.h>
@@ -40,6 +40,7 @@
 #include <rpcsvc/yp_prot.h>
 #include <rpcsvc/ypclnt.h>
 #endif
+#include <assert.h>
 #include <ctype.h>
 #include <errno.h>
 #ifdef HESIOD
@@ -143,6 +144,9 @@
 static	int	 compat_setgrent(void *, void *, va_list);
 static	int	 compat_group(void *, void *, va_list);
 
+static	int	gr_addgid(gid_t, gid_t *, int, int *);
+static	int	getgroupmembership_fallback(void *, void *, va_list);
+
 #ifdef NS_CACHING
 static	int	 grp_id_func(char *, size_t *, va_list, void *);
 static	int	 grp_marshal_func(char *, size_t *, void *, va_list, void *);
@@ -361,89 +365,195 @@
 NSS_MP_CACHE_HANDLING(group);
 #endif /* NS_CACHING */
 
-
-/* XXX IEEE Std 1003.1, 2003 specifies `void setgrent(void)' */
-int				
-setgrent(void)
-{
 #ifdef NS_CACHING
-	static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER(
-		group, (void *)nss_lt_all,
-		NULL, NULL);
+static const nss_cache_info setgrent_cache_info = NS_MP_CACHE_INFO_INITIALIZER(
+	group, (void *)nss_lt_all,
+	NULL, NULL);
 #endif
 
-	static const ns_dtab dtab[] = {
-		{ NSSRC_FILES, files_setgrent, (void *)SETGRENT },
+static const ns_dtab setgrent_dtab[] = {
+	{ NSSRC_FILES, files_setgrent, (void *)SETGRENT },
 #ifdef HESIOD
-		{ NSSRC_DNS, dns_setgrent, (void *)SETGRENT },
+	{ NSSRC_DNS, dns_setgrent, (void *)SETGRENT },
 #endif
 #ifdef YP
-		{ NSSRC_NIS, nis_setgrent, (void *)SETGRENT },
+	{ NSSRC_NIS, nis_setgrent, (void *)SETGRENT },
 #endif
-		{ NSSRC_COMPAT, compat_setgrent, (void *)SETGRENT },
+	{ NSSRC_COMPAT, compat_setgrent, (void *)SETGRENT },
 #ifdef NS_CACHING
-		NS_CACHE_CB(&cache_info)
+	NS_CACHE_CB(&setgrent_cache_info)
 #endif
-		{ NULL, NULL, NULL }
-	};
-	(void)_nsdispatch(NULL, dtab, NSDB_GROUP, "setgrent", defaultsrc, 0);
-	return (1);
-}
-
+	{ NULL, NULL, NULL }
+};
 
-int
-setgroupent(int stayopen)
-{
 #ifdef NS_CACHING
-	static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER(
-		group, (void *)nss_lt_all,
-		NULL, NULL);
+static const nss_cache_info endgrent_cache_info = NS_MP_CACHE_INFO_INITIALIZER(
+	group, (void *)nss_lt_all,
+	NULL, NULL);
 #endif
 
-	static const ns_dtab dtab[] = {
-		{ NSSRC_FILES, files_setgrent, (void *)SETGRENT },
+static const ns_dtab endgrent_dtab[] = {
+	{ NSSRC_FILES, files_setgrent, (void *)ENDGRENT },
 #ifdef HESIOD
-		{ NSSRC_DNS, dns_setgrent, (void *)SETGRENT },
+	{ NSSRC_DNS, dns_setgrent, (void *)ENDGRENT },
 #endif
 #ifdef YP
-		{ NSSRC_NIS, nis_setgrent, (void *)SETGRENT },
+	{ NSSRC_NIS, nis_setgrent, (void *)ENDGRENT },
 #endif
-		{ NSSRC_COMPAT, compat_setgrent, (void *)SETGRENT },
+	{ NSSRC_COMPAT, compat_setgrent, (void *)ENDGRENT },
 #ifdef NS_CACHING
-		NS_CACHE_CB(&cache_info)
+	NS_CACHE_CB(&endgrent_cache_info)
 #endif
-		{ NULL, NULL, NULL }
-	};
-	(void)_nsdispatch(NULL, dtab, NSDB_GROUP, "setgrent", defaultsrc,
-	    stayopen);
-	return (1);
-}
-
+	{ NULL, NULL, NULL }
+};
 
-void
-endgrent(void)
-{
 #ifdef NS_CACHING
-	static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER(
-		group, (void *)nss_lt_all,
-		NULL, NULL);
+static const nss_cache_info getgrent_r_cache_info = NS_MP_CACHE_INFO_INITIALIZER(
+	group, (void *)nss_lt_all,
+	grp_marshal_func, grp_unmarshal_func);
 #endif
 
-	static const ns_dtab dtab[] = {
-		{ NSSRC_FILES, files_setgrent, (void *)ENDGRENT },
+static const ns_dtab getgrent_r_dtab[] = {
+	{ NSSRC_FILES, files_group, (void *)nss_lt_all },
 #ifdef HESIOD
-		{ NSSRC_DNS, dns_setgrent, (void *)ENDGRENT },
+	{ NSSRC_DNS, dns_group, (void *)nss_lt_all },
 #endif
 #ifdef YP
-		{ NSSRC_NIS, nis_setgrent, (void *)ENDGRENT },
+	{ NSSRC_NIS, nis_group, (void *)nss_lt_all },
 #endif
-		{ NSSRC_COMPAT, compat_setgrent, (void *)ENDGRENT },
+	{ NSSRC_COMPAT, compat_group, (void *)nss_lt_all },
 #ifdef NS_CACHING
-		NS_CACHE_CB(&cache_info)
+	NS_CACHE_CB(&getgrent_r_cache_info)
 #endif
-		{ NULL, NULL, NULL }
+	{ NULL, NULL, NULL }
+};
+
+static int
+gr_addgid(gid_t gid, gid_t *groups, int maxgrp, int *grpcnt)
+{
+	int     ret, dupc;
+
+	for (dupc = 0; dupc < MIN(maxgrp, *grpcnt); dupc++) {
+		if (groups[dupc] == gid)
+			return 1;
+	}
+
+	ret = 1;
+	if (*grpcnt < maxgrp)
+		groups[*grpcnt] = gid;
+	else
+		ret = 0;
+
+	(*grpcnt)++;
+
+	return ret;
+}
+
+static int
+getgroupmembership_fallback(void *retval, void *mdata, va_list ap)
+{
+	const ns_src src[] = {
+		{ mdata, NS_SUCCESS },
+		{ NULL, 0}
 	};
-	(void)_nsdispatch(NULL, dtab, NSDB_GROUP, "endgrent", defaultsrc);
+	struct group	grp;
+	struct group	*grp_p;
+	char		*buf;
+	size_t		bufsize;
+	const char	*uname;
+	gid_t		*groups;
+	gid_t		agroup;
+	int 		maxgrp, *grpcnt;
+	int		i, rv, ret_errno;
+
+	/*
+	 * As this is a fallback method, only provided src
+	 * list will be respected during methods search.
+	 */
+	assert(src[0].name != NULL);
+
+	uname = va_arg(ap, const char *);
+	agroup = va_arg(ap, gid_t);
+	groups = va_arg(ap, gid_t *);
+	maxgrp = va_arg(ap, int);
+	grpcnt = va_arg(ap, int *); 
+
+	rv = NS_UNAVAIL;
+
+	buf = malloc(GRP_STORAGE_INITIAL);
+	if (buf == NULL)
+		goto out;
+
+	bufsize = GRP_STORAGE_INITIAL;
+
+	gr_addgid(agroup, groups, maxgrp, grpcnt);
+
+	_nsdispatch(NULL, setgrent_dtab, NSDB_GROUP, "setgrent", src, 0);
+	for (;;) {
+		do {
+			ret_errno = 0;
+			grp_p = NULL;
+			rv = _nsdispatch(&grp_p, getgrent_r_dtab, NSDB_GROUP,
+			    "getgrent_r", src, &grp, buf, bufsize, &ret_errno);
+
+			if (grp_p == NULL && ret_errno == ERANGE) {
+				free(buf);
+				if ((bufsize << 1) > GRP_STORAGE_MAX) {
+					buf = NULL;
+					errno = ERANGE;
+					goto out;
+				}
+
+				bufsize <<= 1;
+				buf = malloc(bufsize);
+				if (buf == NULL) {
+					goto out;
+				}
+			}
+		} while (grp_p == NULL && ret_errno == ERANGE);
+
+		if (ret_errno != 0) {
+			errno = ret_errno;
+			goto out;
+		}
+
+		if (grp_p == NULL)
+			break;
+
+		for (i = 0; grp.gr_mem[i]; i++) {
+			if (strcmp(grp.gr_mem[i], uname) == 0)
+			    gr_addgid(grp.gr_gid, groups, maxgrp, grpcnt);
+		}
+	}
+
+	_nsdispatch(NULL, endgrent_dtab, NSDB_GROUP, "endgrent", src);
+out:
+	free(buf);
+	return (rv);
+}
+
+/* XXX IEEE Std 1003.1, 2003 specifies `void setgrent(void)' */
+int				
+setgrent(void)
+{
+	(void)_nsdispatch(NULL, setgrent_dtab, NSDB_GROUP, "setgrent", defaultsrc, 0);
+	return (1);
+}
+
+
+int
+setgroupent(int stayopen)
+{
+	(void)_nsdispatch(NULL, setgrent_dtab, NSDB_GROUP, "setgrent", defaultsrc,
+	    stayopen);
+	return (1);
+}
+
+
+void
+endgrent(void)
+{
+	(void)_nsdispatch(NULL, endgrent_dtab, NSDB_GROUP, "endgrent", defaultsrc);
 }
 
 
@@ -451,31 +561,11 @@
 getgrent_r(struct group *grp, char *buffer, size_t bufsize,
     struct group **result)
 {
-#ifdef NS_CACHING
-	static const nss_cache_info cache_info = NS_MP_CACHE_INFO_INITIALIZER(
-		group, (void *)nss_lt_all,
-		grp_marshal_func, grp_unmarshal_func);
-#endif
-
-	static const ns_dtab dtab[] = {
-		{ NSSRC_FILES, files_group, (void *)nss_lt_all },
-#ifdef HESIOD
-		{ NSSRC_DNS, dns_group, (void *)nss_lt_all },
-#endif
-#ifdef YP
-		{ NSSRC_NIS, nis_group, (void *)nss_lt_all },
-#endif
-		{ NSSRC_COMPAT, compat_group, (void *)nss_lt_all },
-#ifdef NS_CACHING
-		NS_CACHE_CB(&cache_info)
-#endif
-		{ NULL, NULL, NULL }
-	};
 	int	rv, ret_errno;
 
 	ret_errno = 0;
 	*result = NULL;
-	rv = _nsdispatch(result, dtab, NSDB_GROUP, "getgrent_r", defaultsrc,
+	rv = _nsdispatch(result, getgrent_r_dtab, NSDB_GROUP, "getgrent_r", defaultsrc,
 	    grp, buffer, bufsize, &ret_errno);
 	if (rv == NS_SUCCESS)
 		return (0);
@@ -560,6 +650,30 @@
 }
 
 
+
+int
+__getgroupmembership(const char *uname, gid_t agroup, gid_t *groups,
+	int maxgrp, int *grpcnt)
+{
+	static const ns_dtab dtab[] = {
+		NS_FALLBACK_CB(getgroupmembership_fallback)
+		{ NULL, NULL, NULL }
+	};
+	int rv;
+
+	assert(uname != NULL);
+	/* groups may be NULL if just sizing when invoked with maxgrp = 0 */
+	assert(grpcnt != NULL);
+
+	*grpcnt = 0;
+	rv = _nsdispatch(NULL, dtab, NSDB_GROUP, "getgroupmembership",
+	    defaultsrc, uname, agroup, groups, maxgrp, grpcnt);
+
+	/* too many groups found? */
+	return (*grpcnt > maxgrp ? -1 : 0);
+}
+
+
 static struct group	 grp;
 static char		*grp_storage;
 static size_t		 grp_storage_size;
@@ -1436,3 +1550,5 @@
 		return (NS_RETURN);
 	}
 }
+
+

==== //depot/projects/hammer/lib/libc/gen/getgrouplist.c#6 (text+ko) ====

@@ -31,7 +31,7 @@
 static char sccsid[] = "@(#)getgrouplist.c	8.2 (Berkeley) 12/8/94";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/getgrouplist.c,v 1.15 2007/01/09 00:27:53 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/getgrouplist.c,v 1.16 2007/12/12 10:08:02 bushman Exp $");
 
 /*
  * get credential
@@ -42,46 +42,11 @@
 #include <string.h>
 #include <unistd.h>
 
+extern int __getgroupmembership(const char *, gid_t, gid_t *, int, int *);
+
 int
 getgrouplist(const char *uname, gid_t agroup, gid_t *groups, int *grpcnt)
 {
-	const struct group *grp;
-	int i, maxgroups, ngroups, ret;
+	return __getgroupmembership(uname, agroup, groups, *grpcnt, grpcnt);
+}
 
-	ret = 0;
-	ngroups = 0;
-	maxgroups = *grpcnt;
-	/*
-	 * When installing primary group, duplicate it;
-	 * the first element of groups is the effective gid
-	 * and will be overwritten when a setgid file is executed.
-	 */
-	groups[ngroups++] = agroup;
-	if (maxgroups > 1)
-		groups[ngroups++] = agroup;
-	/*
-	 * Scan the group file to find additional groups.
-	 */
-	setgrent();
-	while ((grp = getgrent()) != NULL) {
-		for (i = 0; i < ngroups; i++) {
-			if (grp->gr_gid == groups[i])

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


More information about the p4-projects mailing list