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>