Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Aug 2008 22:03:27 GMT
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 146804 for review
Message-ID:  <200808062203.m76M3R5f011114@repoman.freebsd.org>

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

Change 146804 by trasz@trasz_traszkan on 2008/08/06 22:02:39

	IFC.

Affected files ...

.. //depot/projects/soc2008/trasz_nfs4acl/bin/echo/echo.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/bin/sh/mknodes.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/bin/stty/gfmt.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ip_fil.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/etc/rc.firewall#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/groff/tmac/mdoc.local#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/include/gssapi/gssapi.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/auth.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/rpcsec_gss.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/include/rpc/svc.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/kerberos5/lib/libgssapi_krb5/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/kerberos5/lib/libgssapi_krb5/pname_to_uid.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/Makefile#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_private.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/arc4random.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/getbsize.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/Makefile.inc#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/Symbol.map#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_dg.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_perror.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_vc.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/rpcsec_gss_stub.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_auth.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_dg.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_raw.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/svc_vc.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdio/vfwprintf.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/stdlib/getenv.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/jail.2#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/sys/socket.2#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libc/xdr/xdr_rec.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/Symbol.map#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/gss_mech_switch.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/gss_pname_to_uid.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/gss_utils.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/mech_switch.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libgssapi/utils.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/Symbol.map#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_error.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_mech_info.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_mechanisms.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_principal_name.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_get_versions.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_getcred.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_is_installed.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_max_data_length.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_mech_to_oid.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_oid_to_mech.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_qop_to_num.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_seccreate.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_set_callback.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_set_defaults.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_set_svc_name.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpc_gss_svc_max_data_length.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss.3#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss_conf.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss_int.h#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss_misc.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/rpcsec_gss_prot.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/librpcsec_gss/svc_rpcsec_gss.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/Makefile#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/arch/arm/libpthread_md.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/arch/ia64/libpthread_md.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/arch/powerpc/libpthread_md.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/arch/sparc64/libpthread_md.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/libpthread_db.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/libthread_db/libthr_db.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_acosf.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_asin.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_asinf.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_asinl.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/lib/msun/src/e_atan2f.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/libexec/fingerd/fingerd.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/atacontrol/atacontrol.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/ddb/ddb.8#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/ifconfig.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sbin/ifconfig/ifgre.c#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/ddb.4#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/if_bridge.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/textdump.4#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/share/man/man4/wi.4#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/amd64/pmap.c#10 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/GENERIC#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/conf/NOTES#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/amd64/include/pmap.h#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/db_interface.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/elf_trampoline.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/intr.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/arm/vm_machdep.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/at91/at91_twi.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/AVILA#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/KB920X#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/NSLU#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/conf/NSLU.hints#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/include/db_machdep.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/arm/xscale/ixp425/ixp425_iic.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/common/misc.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/forth/loader.conf#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/boot/i386/libi386/devicename.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/Makefile.arm#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/conf/NOTES#9 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/contrib/pf/net/pf.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/acpica/acpi.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/bktr/bktr_i2c.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/ad7418.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/ds1339.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/icee.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/if_ic.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iic.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iicbb.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iicbus.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iicbus.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iiconf.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/iicbus/iicsmb.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/mii/rgephy.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pccard/pccard.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pccard/pccardvar.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/envctrl.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/pcf.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/pcf_ebus.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/pcf_isa.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pcf/pcfvar.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/pci/pci.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/ppbus/lpbb.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/re/if_re.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/dp83932.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/dp83932var.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/if_snc.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/if_snc_cbus.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/snc/if_snc_pccard.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/dev/syscons/syscons.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/GENERIC#7 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/conf/NOTES#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/i386/pmap.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/i386/include/pmap.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_condvar.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_kthread.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_lock.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_sig.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_sx.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_synch.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/kern_thread.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/link_elf.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/link_elf_obj.c#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/subr_sleepqueue.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty_pts.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/tty_pty.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/kern/vfs_vnops.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/machdep.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/mips/mips/tick.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/Makefile#6 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/netgraph/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/modules/netgraph/bluetooth/Makefile#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/net80211/ieee80211.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netinet/tcp_syncache.c#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/netipsec/key.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/GENERIC#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/pc98/conf/NOTES#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/if_rlreg.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/pci/viapm.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/powerpc/conf/GENERIC#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sparc64/conf/GENERIC#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sun4v/conf/GENERIC#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/proc.h#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/sys/sleepqueue.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ffs/ffs_vfsops.c#8 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/quota.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufs_quota.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/ufs/ufs/ufsmount.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_glue.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_mmap.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_object.c#4 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_pageout.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/sys/vm/vm_zeroidle.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/calendar.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/calendar.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/calendars/calendar.holiday#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/day.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/io.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/ostern.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/calendar/paskha.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/cpio/cpio.h#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/gzip/gzip.c#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/lex/flex.skl#3 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/quota/quota.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/rs/rs.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/tar/bsdtar.h#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/truncate/truncate.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/yacc/closure.c#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.bin/yacc/defs.h#2 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/Makefile#5 integrate
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/crashinfo/Makefile#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/crashinfo/crashinfo.8#1 branch
.. //depot/projects/soc2008/trasz_nfs4acl/usr.sbin/crashinfo/crashinfo.sh#1 branch

Differences ...

==== //depot/projects/soc2008/trasz_nfs4acl/bin/echo/echo.c#2 (text+ko) ====

@@ -39,7 +39,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/echo/echo.c,v 1.18 2005/01/10 08:39:22 imp Exp $");
+__FBSDID("$FreeBSD: src/bin/echo/echo.c,v 1.19 2008/08/04 01:25:48 cperciva Exp $");
 
 #include <sys/types.h>
 #include <sys/uio.h>
@@ -55,7 +55,7 @@
  * Report an error and exit.
  * Use it instead of err(3) to avoid linking-in stdio.
  */
-static void
+static __dead2 void
 errexit(const char *prog, const char *reason)
 {
 	char *errstr = strerror(errno);

==== //depot/projects/soc2008/trasz_nfs4acl/bin/sh/mknodes.c#2 (text+ko) ====

@@ -42,7 +42,7 @@
 #endif /* not lint */
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/mknodes.c,v 1.17 2004/04/06 20:06:51 markm Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/mknodes.c,v 1.18 2008/08/04 01:25:48 cperciva Exp $");
 
 /*
  * This program reads the nodetypes file and nodes.c.pat file.  It generates
@@ -103,7 +103,7 @@
 static int nextfield(char *);
 static void skipbl(void);
 static int readline(void);
-static void error(const char *, ...) __printf0like(1, 2);
+static void error(const char *, ...) __printf0like(1, 2) __dead2;
 static char *savestr(const char *);
 
 

==== //depot/projects/soc2008/trasz_nfs4acl/bin/stty/gfmt.c#2 (text+ko) ====

@@ -33,7 +33,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/stty/gfmt.c,v 1.20 2004/04/06 20:06:53 markm Exp $");
+__FBSDID("$FreeBSD: src/bin/stty/gfmt.c,v 1.21 2008/08/04 01:25:48 cperciva Exp $");
 
 #include <sys/types.h>
 
@@ -44,7 +44,7 @@
 #include "stty.h"
 #include "extern.h"
 
-static void gerr(const char *s);
+static void gerr(const char *s) __dead2;
 
 static void
 gerr(const char *s)

==== //depot/projects/soc2008/trasz_nfs4acl/contrib/ipfilter/ip_fil.c#3 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.7 2008/07/24 12:35:05 darrenr Exp $	*/
+/*	$FreeBSD: src/contrib/ipfilter/ip_fil.c,v 1.8 2008/08/04 22:45:27 mlaier Exp $	*/
 
 /*
  * Copyright (C) 1993-2001 by Darren Reed.
@@ -803,6 +803,7 @@
 }
 
 
+#ifndef ipf_random
 u_32_t ipf_random()
 {
 	static int seeded = 0;
@@ -816,3 +817,4 @@
 	}
 	return rand();
 }
+#endif

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

@@ -23,7 +23,7 @@
 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 # SUCH DAMAGE.
 #
-# $FreeBSD: src/etc/rc.firewall,v 1.56 2008/07/17 20:00:18 danger Exp $
+# $FreeBSD: src/etc/rc.firewall,v 1.57 2008/08/03 19:01:07 danger Exp $
 #
 
 #
@@ -194,7 +194,6 @@
 	${fwcmd} add deny tcp from any to any setup
 
 	# Allow DNS queries out in the world
-	${fwcmd} add pass tcp from me to any 53 setup keep-state
 	${fwcmd} add pass udp from me to any 53 keep-state
 
 	# Allow NTP queries out in the world
@@ -295,7 +294,6 @@
 	${fwcmd} add pass tcp from any to any setup
 
 	# Allow DNS queries out in the world
-	${fwcmd} add pass tcp from ${oip} to any 53 setup keep-state
 	${fwcmd} add pass udp from ${oip} to any 53 keep-state
 
 	# Allow NTP queries out in the world

==== //depot/projects/soc2008/trasz_nfs4acl/gnu/usr.bin/groff/tmac/mdoc.local#2 (text+ko) ====

@@ -22,7 +22,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.63 2008/02/23 19:27:54 ru Exp $
+.\" $FreeBSD: src/gnu/usr.bin/groff/tmac/mdoc.local,v 1.64 2008/08/06 14:02:05 dfr Exp $
 .\"
 .\"     %beginstrip%
 .
@@ -53,6 +53,7 @@
 .ds doc-str-Lb-libmemstat  Kernel Memory Allocator Statistics Library (libmemstat, \-lmemstat)
 .ds doc-str-Lb-libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph)
 .ds doc-str-Lb-libpmc      Performance Monitoring Counters Interface Library (libpmc, \-lpmc)
+.ds doc-str-Lb-librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss, \-lrpcsec_gss)
 .ds doc-str-Lb-librpcsvc   RPC Service Library (librpcsvc, \-lrpcsvc)
 .ds doc-str-Lb-libsdp      Bluetooth Service Discovery Protocol User Library (libsdp, \-lsdp)
 .ds doc-str-Lb-libthr      1:1 Threading Library (libthr, \-lthr)

==== //depot/projects/soc2008/trasz_nfs4acl/include/gssapi/gssapi.h#2 (text+ko) ====

@@ -25,7 +25,7 @@
  * HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  *
- * $FreeBSD: src/include/gssapi/gssapi.h,v 1.4 2008/05/16 02:06:10 dfr Exp $
+ * $FreeBSD: src/include/gssapi/gssapi.h,v 1.5 2008/08/06 14:02:05 dfr Exp $
  */
 
 #ifndef _GSSAPI_GSSAPI_H_
@@ -837,6 +837,15 @@
 	       gss_buffer_t		/* buffer for result */
 	      );
 
+#ifdef _UID_T_DECLARED
+OM_uint32 gss_pname_to_uid
+	      (OM_uint32 *,		/* minor status */
+	       const gss_name_t pname,	/* principal name */
+	       const gss_OID mech,	/* mechanism to query */
+	       uid_t *uidp		/* pointer to UID for result */
+	      );
+#endif
+
 __END_DECLS
 
 #endif /* _GSSAPI_GSSAPI_H_ */

==== //depot/projects/soc2008/trasz_nfs4acl/include/rpc/Makefile#2 (text+ko) ====

@@ -1,5 +1,5 @@
 #	from: @(#)Makefile	2.3 88/08/11 4.0 RPCSRC
-#	$FreeBSD: src/include/rpc/Makefile,v 1.3 2007/04/10 22:10:16 pjd Exp $
+#	$FreeBSD: src/include/rpc/Makefile,v 1.4 2008/08/06 14:02:05 dfr Exp $
 
 .SUFFIXES: .x
 
@@ -11,7 +11,7 @@
 
 HFILES=	auth.h auth_unix.h clnt.h clnt_soc.h clnt_stat.h \
 	nettype.h pmap_clnt.h pmap_prot.h pmap_rmt.h raw.h \
-	rpc.h rpc_msg.h rpcb_clnt.h rpcent.h rpc_com.h \
+	rpc.h rpc_msg.h rpcb_clnt.h rpcent.h rpc_com.h rpcsec_gss.h \
 	svc.h svc_auth.h svc_soc.h svc_dg.h xdr.h
 
 # Secure RPC

==== //depot/projects/soc2008/trasz_nfs4acl/include/rpc/auth.h#2 (text+ko) ====

@@ -31,7 +31,7 @@
  *	from: @(#)auth.h 1.17 88/02/08 SMI
  *	from: @(#)auth.h	2.3 88/08/07 4.0 RPCSRC
  *	from: @(#)auth.h	1.43 	98/02/02 SMI
- * $FreeBSD: src/include/rpc/auth.h,v 1.21 2006/02/28 16:02:26 deischen Exp $
+ * $FreeBSD: src/include/rpc/auth.h,v 1.22 2008/08/06 14:02:05 dfr Exp $
  */
 
 /*
@@ -132,7 +132,7 @@
 	 * failed locally
 	*/
 	AUTH_INVALIDRESP=6,		/* bogus response verifier */
-	AUTH_FAILED=7			/* some unknown reason */
+	AUTH_FAILED=7,			/* some unknown reason */
 #ifdef KERBEROS
 	/*
 	 * kerberos errors
@@ -142,8 +142,14 @@
 	AUTH_TIMEEXPIRE = 9,		/* time of credential expired */
 	AUTH_TKT_FILE = 10,		/* something wrong with ticket file */
 	AUTH_DECODE = 11,			/* can't decode authenticator */
-	AUTH_NET_ADDR = 12		/* wrong net address in ticket */
+	AUTH_NET_ADDR = 12,		/* wrong net address in ticket */
 #endif /* KERBEROS */
+	/*
+	 * RPCSEC_GSS errors
+	 */
+	RPCSEC_GSS_CREDPROBLEM = 13,
+	RPCSEC_GSS_CTXPROBLEM = 14,
+	RPCSEC_GSS_NODISPATCH = 0x8000000
 };
 
 union des_block {
@@ -352,5 +358,13 @@
 #define AUTH_DH		3		/* for Diffie-Hellman mechanism */
 #define AUTH_DES	AUTH_DH		/* for backward compatibility */
 #define AUTH_KERB	4		/* kerberos style */
+#define RPCSEC_GSS	6		/* RPCSEC_GSS */
+
+/*
+ * Pseudo auth flavors for RPCSEC_GSS.
+ */
+#define	RPCSEC_GSS_KRB5		390003
+#define	RPCSEC_GSS_KRB5I	390004
+#define	RPCSEC_GSS_KRB5P	390005
 
 #endif /* !_RPC_AUTH_H */

==== //depot/projects/soc2008/trasz_nfs4acl/include/rpc/svc.h#2 (text+ko) ====

@@ -30,7 +30,7 @@
  *
  *	from: @(#)svc.h 1.35 88/12/17 SMI
  *	from: @(#)svc.h      1.27    94/04/25 SMI
- * $FreeBSD: src/include/rpc/svc.h,v 1.24 2003/06/15 10:32:01 mbr Exp $
+ * $FreeBSD: src/include/rpc/svc.h,v 1.25 2008/08/06 14:02:05 dfr Exp $
  */
 
 /*
@@ -127,6 +127,27 @@
 } SVCXPRT;
 
 /*
+ * Interface to server-side authentication flavors.
+ */
+typedef struct __rpc_svcauth {
+	struct svc_auth_ops {
+		int   (*svc_ah_wrap)(struct __rpc_svcauth *, XDR *,
+		    xdrproc_t, caddr_t);
+		int   (*svc_ah_unwrap)(struct __rpc_svcauth *, XDR *,
+		    xdrproc_t, caddr_t);
+	} *svc_ah_ops;
+	void *svc_ah_private;
+} SVCAUTH;
+
+/*
+ * Server transport extensions (accessed via xp_p3).
+ */
+typedef struct __rpc_svcxprt_ext {
+	int		xp_flags;	/* versquiet */
+	SVCAUTH		xp_auth;	/* interface to auth methods */
+} SVCXPRT_EXT;
+
+/*
  * Service request
  */
 struct svc_req {
@@ -184,6 +205,20 @@
 #define SVC_CONTROL(xprt, rq, in)			\
 	(*(xprt)->xp_ops2->xp_control)((xprt), (rq), (in))
 
+#define SVC_EXT(xprt)					\
+	((SVCXPRT_EXT *) xprt->xp_p3)
+
+#define SVC_AUTH(xprt)					\
+	(SVC_EXT(xprt)->xp_auth)
+
+/*
+ * Operations defined on an SVCAUTH handle
+ */
+#define SVCAUTH_WRAP(auth, xdrs, xfunc, xwhere)		\
+	((auth)->svc_ah_ops->svc_ah_wrap(auth, xdrs, xfunc, xwhere))
+#define SVCAUTH_UNWRAP(auth, xdrs, xfunc, xwhere)	\
+	((auth)->svc_ah_ops->svc_ah_unwrap(auth, xdrs, xfunc, xwhere))
+
 /*
  * Service registration
  *
@@ -298,6 +333,12 @@
 #endif /* def FD_SETSIZE */
 
 /*
+ * A set of null auth methods used by any authentication protocols
+ * that don't need to inspect or modify the message body.
+ */
+extern SVCAUTH _svc_auth_null;
+
+/*
  * a small program implemented by the svc_rpc implementation itself;
  * also see clnt.h for protocol numbers.
  */
@@ -306,6 +347,8 @@
 __END_DECLS
 
 __BEGIN_DECLS
+extern SVCXPRT *svc_xprt_alloc(void);
+extern void	svc_xprt_free(SVCXPRT *);
 extern void	svc_getreq(int);
 extern void	svc_getreqset(fd_set *);
 extern void	svc_getreq_common(int);

==== //depot/projects/soc2008/trasz_nfs4acl/kerberos5/lib/libgssapi_krb5/Makefile#2 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/kerberos5/lib/libgssapi_krb5/Makefile,v 1.1 2008/05/07 13:53:03 dfr Exp $
+# $FreeBSD: src/kerberos5/lib/libgssapi_krb5/Makefile,v 1.2 2008/08/06 14:02:05 dfr Exp $
 
 LIB=	gssapi_krb5
 LDFLAGS= -Wl,-Bsymbolic
@@ -46,6 +46,7 @@
 	inquire_mechs_for_name.c \
 	inquire_names_for_mech.c \
 	inquire_sec_context_by_oid.c \
+	pname_to_uid.c \
 	prefix.c \
 	prf.c \
 	process_context_token.c \

==== //depot/projects/soc2008/trasz_nfs4acl/lib/Makefile#4 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.1 (Berkeley) 6/4/93
-# $FreeBSD: src/lib/Makefile,v 1.231 2008/05/25 22:11:23 rwatson Exp $
+# $FreeBSD: src/lib/Makefile,v 1.232 2008/08/06 14:02:05 dfr Exp $
 
 .include <bsd.own.mk>
 
@@ -22,6 +22,7 @@
 # libtacplus must be built before libpam.
 # libutil must be built before libpam.
 # libypclnt must be built before libpam.
+# libgssapi must be built before librpcsec_gss
 #
 # Otherwise, the SUBDIR list should be in alphabetical order.
 
@@ -31,7 +32,7 @@
 	libbegemot ${_libbluetooth} libbsnmp libbz2 \
 	libcalendar libcam libcompat libdevinfo libdevstat libdisk \
 	libdwarf libedit libexpat libfetch libftpio libgeom ${_libgpib} \
-	${_libgssapi} libipsec \
+	${_libgssapi} ${_librpcsec_gss} libipsec \
 	${_libipx} libkiconv libmagic libmemstat ${_libmilter} ${_libmp} \
 	${_libncp} ${_libngatm} libopie libpam libpcap \
 	libpmc libproc librt ${_libsdp} ${_libsm} ${_libsmb} \
@@ -62,6 +63,7 @@
 
 .if ${MK_GSSAPI} != "no"
 _libgssapi=	libgssapi
+_librpcsec_gss=	librpcsec_gss
 .endif
 
 .if ${MK_IPX} != "no"

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libarchive/archive_private.h#2 (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.29 2007/04/02 00:15:45 kientzle Exp $
+ * $FreeBSD: src/lib/libarchive/archive_private.h,v 1.30 2008/08/04 01:25:48 cperciva Exp $
  */
 
 #ifndef ARCHIVE_PRIVATE_H_INCLUDED
@@ -92,7 +92,7 @@
 void	__archive_check_magic(struct archive *, unsigned int magic,
 	    unsigned int state, const char *func);
 
-void	__archive_errx(int retvalue, const char *msg);
+void	__archive_errx(int retvalue, const char *msg) __dead2;
 
 #define	err_combine(a,b)	((a) < (b) ? (a) : (b))
 

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

@@ -33,7 +33,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.23 2008/07/25 15:42:22 ache Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/arc4random.c,v 1.24 2008/08/03 20:15:22 ache Exp $");
 
 #include "namespace.h"
 #include <sys/types.h>
@@ -55,6 +55,7 @@
 static pthread_mutex_t	arc4random_mtx = PTHREAD_MUTEX_INITIALIZER;
 
 #define	RANDOMDEV	"/dev/urandom"
+#define KEYSIZE		128
 #define	THREAD_LOCK()						\
 	do {							\
 		if (__isthreaded)				\
@@ -106,24 +107,27 @@
 static void
 arc4_stir(void)
 {
-	int     fd, n;
+	int done, fd, n;
 	struct {
-		struct timeval tv;
-		pid_t pid;
-		u_int8_t rnd[128 - sizeof(struct timeval) - sizeof(pid_t)];
-	}       rdat;
+		struct timeval	tv;
+		pid_t 		pid;
+		u_int8_t 	rnd[KEYSIZE];
+	} rdat;
 
-	gettimeofday(&rdat.tv, NULL);
-	rdat.pid = getpid();
 	fd = _open(RANDOMDEV, O_RDONLY, 0);
+	done = 0;
 	if (fd >= 0) {
-		(void) _read(fd, rdat.rnd, sizeof(rdat.rnd));
-		_close(fd);
+		if (_read(fd, &rdat, KEYSIZE) == KEYSIZE)
+			done = 1;
+		(void)_close(fd);
 	} 
-	/* fd < 0?  Ah, what the heck. We'll just take whatever was on the
-	 * stack... */
+	if (!done) {
+		(void)gettimeofday(&rdat.tv, NULL);
+		rdat.pid = getpid();
+		/* We'll just take whatever was on the stack too... */
+	}
 
-	arc4_addrandom((void *) &rdat, sizeof(rdat));
+	arc4_addrandom((u_char *)&rdat, KEYSIZE);
 
 	/*
 	 * Throw away the first N bytes of output, as suggested in the

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/gen/getbsize.c#2 (text+ko) ====

@@ -31,7 +31,7 @@
 static char sccsid[] = "@(#)getbsize.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/getbsize.c,v 1.8 2007/01/09 00:27:53 imp Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/getbsize.c,v 1.9 2008/08/04 06:53:13 cperciva Exp $");
 
 #include <err.h>
 #include <stdio.h>
@@ -83,6 +83,7 @@
 		default:
 fmterr:			warnx("%s: unknown blocksize", p);
 			n = 512;
+			max = MAXB;
 			mul = 1;
 			break;
 		}

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/Makefile.inc#2 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile    5.11 (Berkeley) 9/6/90
-# $FreeBSD: src/lib/libc/rpc/Makefile.inc,v 1.28 2006/03/13 01:14:59 deischen Exp $
+# $FreeBSD: src/lib/libc/rpc/Makefile.inc,v 1.29 2008/08/06 14:02:05 dfr Exp $
 
 .PATH: ${.CURDIR}/rpc ${.CURDIR}/.
 SRCS+=	auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \
@@ -8,8 +8,9 @@
 	getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \
 	pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \
 	rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
-	rpcb_st_xdr.c svc.c svc_auth.c svc_dg.c svc_auth_unix.c svc_generic.c \
-	svc_raw.c svc_run.c svc_simple.c svc_vc.c
+	rpcb_st_xdr.c rpcsec_gss_stub.c svc.c svc_auth.c svc_dg.c \
+	svc_auth_unix.c svc_generic.c svc_raw.c svc_run.c svc_simple.c \
+	svc_vc.c
 
 # Secure-RPC
 SRCS+=  auth_time.c auth_des.c authdes_prot.c des_crypt.c des_soft.c \

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/Symbol.map#2 (text) ====

@@ -1,5 +1,5 @@
 /*
- * $FreeBSD: src/lib/libc/rpc/Symbol.map,v 1.3 2007/05/31 13:01:34 deischen Exp $
+ * $FreeBSD: src/lib/libc/rpc/Symbol.map,v 1.4 2008/08/06 14:02:05 dfr Exp $
  */
 
 FBSD_1.0 {
@@ -244,4 +244,8 @@
 			 * Remove this hack if rpcinfo stops building with it.
 			 */
 	__svc_clean_idle;
+	__rpc_gss_unwrap;
+	__rpc_gss_unwrap_stub;
+	__rpc_gss_wrap;
+	__rpc_gss_wrap_stub;
 };

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_dg.c#2 (text+ko) ====

@@ -37,7 +37,7 @@
 static char sccsid[] = "@(#)clnt_dg.c 1.19 89/03/16 Copyr 1988 Sun Micro";
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_dg.c,v 1.19 2007/03/04 12:25:03 simon Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_dg.c,v 1.20 2008/08/06 14:02:05 dfr Exp $");
 
 /*
  * Implements a connectionless client side RPC.
@@ -52,6 +52,7 @@
 #include <sys/ioctl.h>
 #include <arpa/inet.h>
 #include <rpc/rpc.h>
+#include <rpc/rpcsec_gss.h>
 #include <errno.h>
 #include <stdlib.h>
 #include <string.h>
@@ -113,6 +114,8 @@
 
 /* VARIABLES PROTECTED BY clnt_fd_lock: dg_fd_locks, dg_cv */
 
+#define	MCALL_MSG_SIZE 24
+
 /*
  * Private data kept per client handle
  */
@@ -127,6 +130,7 @@
 	XDR			cu_outxdrs;
 	u_int			cu_xdrpos;
 	u_int			cu_sendsz;	/* send size */
+	char			cu_outhdr[MCALL_MSG_SIZE];
 	char			*cu_outbuf;
 	u_int			cu_recvsz;	/* recv size */
 	int			cu_async;
@@ -253,13 +257,16 @@
 	call_msg.rm_xid = __RPC_GETXID(&now);
 	call_msg.rm_call.cb_prog = program;
 	call_msg.rm_call.cb_vers = version;
-	xdrmem_create(&(cu->cu_outxdrs), cu->cu_outbuf, sendsz, XDR_ENCODE);
-	if (! xdr_callhdr(&(cu->cu_outxdrs), &call_msg)) {
+	xdrmem_create(&(cu->cu_outxdrs), cu->cu_outhdr, MCALL_MSG_SIZE,
+	    XDR_ENCODE);
+	if (! xdr_callhdr(&cu->cu_outxdrs, &call_msg)) {
 		rpc_createerr.cf_stat = RPC_CANTENCODEARGS;  /* XXX */
 		rpc_createerr.cf_error.re_errno = 0;
 		goto err2;
 	}
 	cu->cu_xdrpos = XDR_GETPOS(&(cu->cu_outxdrs));
+	XDR_DESTROY(&cu->cu_outxdrs);
+	xdrmem_create(&cu->cu_outxdrs, cu->cu_outbuf, sendsz, XDR_ENCODE);
 
 	/* XXX fvdl - do we still want this? */
 #if 0
@@ -312,6 +319,7 @@
 	XDR reply_xdrs;
 	bool_t ok;
 	int nrefreshes = 2;		/* number of times to refresh cred */
+	int nretries = 0;		/* number of times we retransmitted */
 	struct timeval timeout;
 	struct timeval retransmit_time;
 	struct timeval next_sendtime, starttime, time_waited, tv;
@@ -375,25 +383,37 @@
 	kin_len = 1;
 
 call_again:
-	xdrs = &(cu->cu_outxdrs);
-	if (cu->cu_async == TRUE && xargs == NULL)
-		goto get_reply;
-	xdrs->x_op = XDR_ENCODE;
-	XDR_SETPOS(xdrs, cu->cu_xdrpos);
 	/*
 	 * the transaction is the first thing in the out buffer
 	 * XXX Yes, and it's in network byte order, so we should to
 	 * be careful when we increment it, shouldn't we.
 	 */
-	xid = ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf));
+	xid = ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr));
 	xid++;
-	*(u_int32_t *)(void *)(cu->cu_outbuf) = htonl(xid);
+	*(u_int32_t *)(void *)(cu->cu_outhdr) = htonl(xid);
+call_again_same_xid:
+	xdrs = &(cu->cu_outxdrs);
+	if (cu->cu_async == TRUE && xargs == NULL)
+		goto get_reply;
+	xdrs->x_op = XDR_ENCODE;
+	XDR_SETPOS(xdrs, 0);
 
-	if ((! XDR_PUTINT32(xdrs, &proc)) ||
-	    (! AUTH_MARSHALL(cl->cl_auth, xdrs)) ||
-	    (! (*xargs)(xdrs, argsp))) {
-		cu->cu_error.re_status = RPC_CANTENCODEARGS;
-		goto out;
+	if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) {
+		if ((! XDR_PUTBYTES(xdrs, cu->cu_outhdr, cu->cu_xdrpos)) ||
+		    (! XDR_PUTINT32(xdrs, &proc)) ||
+		    (! AUTH_MARSHALL(cl->cl_auth, xdrs)) ||
+		    (! (*xargs)(xdrs, argsp))) {
+			cu->cu_error.re_status = RPC_CANTENCODEARGS;
+			goto out;
+		}
+	} else {
+		*(uint32_t *) &cu->cu_outhdr[cu->cu_xdrpos] = htonl(proc);
+		if (!__rpc_gss_wrap(cl->cl_auth, cu->cu_outhdr,
+			cu->cu_xdrpos + sizeof(uint32_t),
+			xdrs, xargs, argsp)) {
+			cu->cu_error.re_status = RPC_CANTENCODEARGS;
+			goto out;
+		}
 	}
 	outlen = (size_t)XDR_GETPOS(xdrs);
 
@@ -420,8 +440,13 @@
 	 * (We assume that this is actually only executed once.)
 	 */
 	reply_msg.acpted_rply.ar_verf = _null_auth;
-	reply_msg.acpted_rply.ar_results.where = resultsp;
-	reply_msg.acpted_rply.ar_results.proc = xresults;
+	if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS) {
+		reply_msg.acpted_rply.ar_results.where = resultsp;
+		reply_msg.acpted_rply.ar_results.proc = xresults;
+	} else {
+		reply_msg.acpted_rply.ar_results.where = NULL;
+		reply_msg.acpted_rply.ar_results.proc = (xdrproc_t)xdr_void;
+	}
 
 	for (;;) {
 		/* Decide how long to wait. */
@@ -483,7 +508,17 @@
 				    &retransmit_time);
 			timeradd(&next_sendtime, &retransmit_time,
 			    &next_sendtime);
-			goto send_again;
+			nretries++;
+
+			/*
+			 * When retransmitting a RPCSEC_GSS message,
+			 * we must use a new sequence number (handled
+			 * by __rpc_gss_wrap above).
+			 */
+			if (cl->cl_auth->ah_cred.oa_flavor != RPCSEC_GSS)
+				goto send_again;
+			else
+				goto call_again_same_xid;
 		}
 	}
 	inlen = (socklen_t)recvlen;
@@ -505,8 +540,37 @@
 		if (cu->cu_error.re_status == RPC_SUCCESS) {
 			if (! AUTH_VALIDATE(cl->cl_auth,
 					    &reply_msg.acpted_rply.ar_verf)) {
+				if (nretries &&
+				    cl->cl_auth->ah_cred.oa_flavor
+				    == RPCSEC_GSS)
+					/*
+					 * If we retransmitted, its
+					 * possible that we will
+					 * receive a reply for one of
+					 * the earlier transmissions
+					 * (which will use an older
+					 * RPCSEC_GSS sequence
+					 * number). In this case, just
+					 * go back and listen for a
+					 * new reply. We could keep a
+					 * record of all the seq
+					 * numbers we have transmitted
+					 * so far so that we could
+					 * accept a reply for any of
+					 * them here.
+					 */
+					goto get_reply;
 				cu->cu_error.re_status = RPC_AUTHERROR;
 				cu->cu_error.re_why = AUTH_INVALIDRESP;
+			} else {
+				if (cl->cl_auth->ah_cred.oa_flavor
+				    == RPCSEC_GSS) {
+					if (!__rpc_gss_unwrap(cl->cl_auth,
+						&reply_xdrs, xresults,
+						resultsp))
+						cu->cu_error.re_status =
+							RPC_CANTDECODERES;
+				}
 			}
 			if (reply_msg.acpted_rply.ar_verf.oa_base != NULL) {
 				xdrs->x_op = XDR_FREE;
@@ -670,12 +734,12 @@
 		 * This will get the xid of the PREVIOUS call
 		 */
 		*(u_int32_t *)info =
-		    ntohl(*(u_int32_t *)(void *)cu->cu_outbuf);
+		    ntohl(*(u_int32_t *)(void *)cu->cu_outhdr);
 		break;
 
 	case CLSET_XID:
 		/* This will set the xid of the NEXT call */
-		*(u_int32_t *)(void *)cu->cu_outbuf =
+		*(u_int32_t *)(void *)cu->cu_outhdr =
 		    htonl(*(u_int32_t *)info - 1);
 		/* decrement by 1 as clnt_dg_call() increments once */
 		break;
@@ -688,12 +752,12 @@
 		 * call_struct is changed
 		 */
 		*(u_int32_t *)info =
-		    ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf +
+		    ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr +
 		    4 * BYTES_PER_XDR_UNIT));
 		break;
 
 	case CLSET_VERS:
-		*(u_int32_t *)(void *)(cu->cu_outbuf + 4 * BYTES_PER_XDR_UNIT)
+		*(u_int32_t *)(void *)(cu->cu_outhdr + 4 * BYTES_PER_XDR_UNIT)
 			= htonl(*(u_int32_t *)info);
 		break;
 
@@ -705,12 +769,12 @@
 		 * call_struct is changed
 		 */
 		*(u_int32_t *)info =
-		    ntohl(*(u_int32_t *)(void *)(cu->cu_outbuf +
+		    ntohl(*(u_int32_t *)(void *)(cu->cu_outhdr +
 		    3 * BYTES_PER_XDR_UNIT));
 		break;
 
 	case CLSET_PROG:
-		*(u_int32_t *)(void *)(cu->cu_outbuf + 3 * BYTES_PER_XDR_UNIT)
+		*(u_int32_t *)(void *)(cu->cu_outhdr + 3 * BYTES_PER_XDR_UNIT)
 			= htonl(*(u_int32_t *)info);
 		break;
 	case CLSET_ASYNC:

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_perror.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
 static char *sccsid = "@(#)clnt_perror.c	2.1 88/07/29 4.0 RPCSRC";
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.17 2004/10/16 06:11:34 obrien Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_perror.c,v 1.18 2008/08/06 14:02:05 dfr Exp $");
 
 /*
  * clnt_perror.c
@@ -309,7 +309,14 @@
 	"Server rejected verifier", 		/* 4 - AUTH_REJECTEDVERF */
 	"Client credential too weak",		/* 5 - AUTH_TOOWEAK */
 	"Invalid server verifier",		/* 6 - AUTH_INVALIDRESP */
-	"Failed (unspecified error)"		/* 7 - AUTH_FAILED */
+	"Failed (unspecified error)",		/* 7 - AUTH_FAILED */
+	"Kerberos generic error",		/* 8 - AUTH_KERB_GENERIC*/
+	"Kerberos credential expired",		/* 9 - AUTH_TIMEEXPIRE */
+	"Bad kerberos ticket file",		/* 10 - AUTH_TKT_FILE */
+	"Can't decode kerberos authenticator",	/* 11 - AUTH_DECODE */
+	"Address wrong in kerberos ticket",	/* 12 - AUTH_NET_ADDR */
+	"GSS-API crediential problem",		/* 13 - RPCSEC_GSS_CREDPROBLEM */
+	"GSS-API context problem"		/* 14 - RPCSEC_GSS_CTXPROBLEM */
 };
 
 static char *

==== //depot/projects/soc2008/trasz_nfs4acl/lib/libc/rpc/clnt_vc.c#2 (text+ko) ====

@@ -35,7 +35,7 @@
 static char sccsid3[] = "@(#)clnt_vc.c 1.19 89/03/16 Copyr 1988 Sun Micro";
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_vc.c,v 1.20 2006/09/09 22:18:57 mbr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/rpc/clnt_vc.c,v 1.21 2008/08/06 14:02:05 dfr Exp $");
  
 /*
  * clnt_tcp.c, Implements a TCP/IP based, client side RPC.
@@ -77,6 +77,7 @@
 #include <signal.h>
 
 #include <rpc/rpc.h>
+#include <rpc/rpcsec_gss.h>
 #include "un-namespace.h"
 #include "rpc_com.h"
 #include "mt_misc.h"
@@ -285,6 +286,7 @@
 	}
 	ct->ct_mpos = XDR_GETPOS(&(ct->ct_xdrs));
 	XDR_DESTROY(&(ct->ct_xdrs));

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



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