From owner-p4-projects Mon Apr 15 20: 2:24 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2698037B405; Mon, 15 Apr 2002 20:01:08 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 42B7637B404 for ; Mon, 15 Apr 2002 20:01:06 -0700 (PDT) Received: (from perforce@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g3G315734054 for perforce@freebsd.org; Mon, 15 Apr 2002 20:01:05 -0700 (PDT) (envelope-from jake@freebsd.org) Date: Mon, 15 Apr 2002 20:01:05 -0700 (PDT) Message-Id: <200204160301.g3G315734054@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to jake@freebsd.org using -f From: Jake Burkholder Subject: PERFORCE change 9809 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=9809 Change 9809 by jake@jake_sparc64 on 2002/04/15 20:00:17 Integ@9807 Affected files ... ... //depot/projects/sparc64/MAINTAINERS#1 branch ... //depot/projects/sparc64/Makefile.inc1#8 integrate ... //depot/projects/sparc64/bin/date/date.1#2 integrate ... //depot/projects/sparc64/bin/ls/ls.1#2 integrate ... //depot/projects/sparc64/bin/sh/exec.c#2 integrate ... //depot/projects/sparc64/contrib/openpam/HISTORY#6 integrate ... //depot/projects/sparc64/contrib/openpam/MANIFEST#6 integrate ... //depot/projects/sparc64/contrib/openpam/RELNOTES#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/openpam_borrow_cred.3#2 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/openpam_free_data.3#2 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/openpam_get_option.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/openpam_log.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/openpam_restore_cred.3#2 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/openpam_set_option.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/openpam_ttyconv.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_acct_mgmt.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_authenticate.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_chauthtok.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_close_session.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_end.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_error.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_authtok.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_data.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_item.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_user.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_getenv.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_getenvlist.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_info.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_open_session.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_prompt.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_putenv.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_set_data.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_set_item.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_setcred.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_setenv.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_sm_acct_mgmt.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_sm_authenticate.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_sm_chauthtok.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_sm_close_session.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_sm_open_session.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_sm_setcred.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_start.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_strerror.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_verror.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_vinfo.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/doc/man/pam_vprompt.3#6 integrate ... //depot/projects/sparc64/contrib/openpam/include/security/openpam_version.h#1 branch ... //depot/projects/sparc64/contrib/openpam/include/security/pam_constants.h#6 integrate ... //depot/projects/sparc64/contrib/openpam/lib/Makefile#6 integrate ... //depot/projects/sparc64/contrib/openpam/lib/openpam_configure.c#1 branch ... //depot/projects/sparc64/contrib/openpam/lib/openpam_impl.h#6 integrate ... //depot/projects/sparc64/contrib/openpam/lib/openpam_ttyconv.c#5 integrate ... //depot/projects/sparc64/contrib/openpam/lib/pam_acct_mgmt.c#5 integrate ... //depot/projects/sparc64/contrib/openpam/lib/pam_authenticate.c#6 integrate ... //depot/projects/sparc64/contrib/openpam/lib/pam_chauthtok.c#6 integrate ... //depot/projects/sparc64/contrib/openpam/lib/pam_close_session.c#5 integrate ... //depot/projects/sparc64/contrib/openpam/lib/pam_get_authtok.c#6 integrate ... //depot/projects/sparc64/contrib/openpam/lib/pam_open_session.c#5 integrate ... //depot/projects/sparc64/contrib/openpam/lib/pam_setcred.c#5 integrate ... //depot/projects/sparc64/contrib/openpam/lib/pam_start.c#5 integrate ... //depot/projects/sparc64/contrib/pam_modules/pam_passwdqc/PLATFORMS#2 integrate ... //depot/projects/sparc64/contrib/pam_modules/pam_passwdqc/pam_passwdqc.c#2 integrate ... //depot/projects/sparc64/contrib/pam_modules/pam_passwdqc/pam_passwdqc.spec#2 integrate ... //depot/projects/sparc64/contrib/pam_modules/pam_passwdqc/passwdqc.h#2 integrate ... //depot/projects/sparc64/contrib/pam_modules/pam_passwdqc/passwdqc_check.c#2 integrate ... //depot/projects/sparc64/contrib/pam_modules/pam_passwdqc/passwdqc_random.c#2 integrate ... //depot/projects/sparc64/contrib/smbfs/lib/smb/ctx.c#3 integrate ... //depot/projects/sparc64/crypto/openssh/session.c#4 integrate ... //depot/projects/sparc64/etc/Makefile#4 integrate ... //depot/projects/sparc64/etc/mail/Makefile#4 integrate ... //depot/projects/sparc64/etc/mail/README#3 integrate ... //depot/projects/sparc64/etc/pam.d/Makefile#2 integrate ... //depot/projects/sparc64/etc/pam.d/passwd#1 branch ... //depot/projects/sparc64/etc/pam.d/sshd#3 integrate ... //depot/projects/sparc64/etc/sendmail/Makefile#3 integrate ... //depot/projects/sparc64/games/battlestar/com2.c#2 integrate ... //depot/projects/sparc64/gnu/usr.bin/cc/Makefile#3 integrate ... //depot/projects/sparc64/gnu/usr.bin/gperf/Makefile#4 integrate ... //depot/projects/sparc64/include/grp.h#5 integrate ... //depot/projects/sparc64/include/pwd.h#4 integrate ... //depot/projects/sparc64/include/string.h#4 integrate ... //depot/projects/sparc64/lib/Makefile#3 integrate ... //depot/projects/sparc64/lib/libc/gen/getpwent.c#4 integrate ... //depot/projects/sparc64/lib/libc/locale/euc.c#4 integrate ... //depot/projects/sparc64/lib/libc/net/rcmdsh.c#3 integrate ... //depot/projects/sparc64/lib/libc/sys/ioctl.2#4 integrate ... //depot/projects/sparc64/lib/libc_r/Makefile#2 integrate ... //depot/projects/sparc64/lib/libc_r/uthread/uthread_cap_get_fd.c#2 integrate ... //depot/projects/sparc64/lib/libc_r/uthread/uthread_cap_set_fd.c#2 integrate ... //depot/projects/sparc64/lib/libc_r/uthread/uthread_main_np.c#2 integrate ... //depot/projects/sparc64/lib/libpam/libpam/Makefile#4 integrate ... //depot/projects/sparc64/lib/libpam/libpam/pam_debug_log.c#3 integrate ... //depot/projects/sparc64/lib/libpam/libpam/pam_std_option.c#2 integrate ... //depot/projects/sparc64/lib/libpam/modules/Makefile.inc#4 integrate ... //depot/projects/sparc64/lib/libpam/modules/modules.inc#5 integrate ... //depot/projects/sparc64/lib/libpam/modules/pam_opieaccess/pam_opieaccess.8#3 integrate ... //depot/projects/sparc64/lib/libpam/modules/pam_opieaccess/pam_opieaccess.c#4 integrate ... //depot/projects/sparc64/lib/libpam/modules/pam_passwdqc/Makefile#3 integrate ... //depot/projects/sparc64/lib/libpam/modules/pam_passwdqc/pam_passwdqc.8#1 branch ... //depot/projects/sparc64/lib/libpam/modules/pam_unix/Makefile#4 integrate ... //depot/projects/sparc64/lib/libpam/modules/pam_unix/pam_unix.c#5 integrate ... //depot/projects/sparc64/lib/libypclnt/Makefile#2 integrate ... //depot/projects/sparc64/release/doc/en_US.ISO8859-1/hardware/alpha/proc-alpha.sgml#3 integrate ... //depot/projects/sparc64/sbin/Makefile#13 integrate ... //depot/projects/sparc64/sbin/disklabel/disklabel.8#3 integrate ... //depot/projects/sparc64/sbin/mount_udf/Makefile#1 branch ... //depot/projects/sparc64/sbin/mount_udf/mount_udf.8#1 branch ... //depot/projects/sparc64/sbin/mount_udf/mount_udf.c#1 branch ... //depot/projects/sparc64/sbin/sysctl/sysctl.c#2 integrate ... //depot/projects/sparc64/sbin/vinum/vinum.8#2 integrate ... //depot/projects/sparc64/share/examples/etc/make.conf#6 integrate ... //depot/projects/sparc64/share/man/man4/vinum.4#3 integrate ... //depot/projects/sparc64/share/man/man5/a.out.5#2 integrate ... //depot/projects/sparc64/share/man/man5/make.conf.5#6 integrate ... //depot/projects/sparc64/share/man/man9/cd.9#2 integrate ... //depot/projects/sparc64/share/man/man9/style.9#4 integrate ... //depot/projects/sparc64/share/mk/bsd.dep.mk#4 integrate ... //depot/projects/sparc64/share/mk/bsd.libnames.mk#8 integrate ... //depot/projects/sparc64/share/mk/bsd.man.mk#2 integrate ... //depot/projects/sparc64/share/mk/bsd.nls.mk#2 integrate ... //depot/projects/sparc64/sys/alpha/alpha/pal.s#2 integrate ... //depot/projects/sparc64/sys/alpha/alpha/pmap.c#15 integrate ... //depot/projects/sparc64/sys/alpha/alpha/prom_disp.s#2 integrate ... //depot/projects/sparc64/sys/boot/pc98/kgzldr/Makefile#2 integrate ... //depot/projects/sparc64/sys/conf/NOTES#4 integrate ... //depot/projects/sparc64/sys/conf/files#53 edit ... //depot/projects/sparc64/sys/conf/files.alpha#13 integrate ... //depot/projects/sparc64/sys/conf/files.powerpc#6 integrate ... //depot/projects/sparc64/sys/conf/majors#9 integrate ... //depot/projects/sparc64/sys/conf/options#26 integrate ... //depot/projects/sparc64/sys/conf/options.ia64#5 integrate ... //depot/projects/sparc64/sys/dev/hfa/fore_load.c#3 integrate ... //depot/projects/sparc64/sys/dev/hfa/fore_slave.h#2 integrate ... //depot/projects/sparc64/sys/dev/ofw/ofw_disk.c#1 branch ... //depot/projects/sparc64/sys/dev/se/se_console.c#5 edit ... //depot/projects/sparc64/sys/dev/sound/pci/es137x.c#4 integrate ... //depot/projects/sparc64/sys/dev/sound/pci/ich.c#12 integrate ... //depot/projects/sparc64/sys/dev/sound/pci/maestro.c#5 integrate ... //depot/projects/sparc64/sys/dev/wi/if_wi.c#24 integrate ... //depot/projects/sparc64/sys/dev/wi/if_wi_pci.c#3 integrate ... //depot/projects/sparc64/sys/fs/pseudofs/pseudofs_vnops.c#13 integrate ... //depot/projects/sparc64/sys/fs/udf/ecma167-udf.h#1 branch ... //depot/projects/sparc64/sys/fs/udf/osta.c#1 branch ... //depot/projects/sparc64/sys/fs/udf/osta.h#1 branch ... //depot/projects/sparc64/sys/fs/udf/udf.h#1 branch ... //depot/projects/sparc64/sys/fs/udf/udf_mount.h#1 branch ... //depot/projects/sparc64/sys/fs/udf/udf_vfsops.c#1 branch ... //depot/projects/sparc64/sys/fs/udf/udf_vnops.c#1 branch ... //depot/projects/sparc64/sys/i386/i386/i686_mem.c#2 integrate ... //depot/projects/sparc64/sys/i386/i386/pmap.c#23 integrate ... //depot/projects/sparc64/sys/ia64/ia64/ia64dump.c#3 integrate ... //depot/projects/sparc64/sys/ia64/ia64/machdep.c#37 integrate ... //depot/projects/sparc64/sys/ia64/ia64/pmap.c#25 integrate ... //depot/projects/sparc64/sys/kern/init_sysent.c#17 integrate ... //depot/projects/sparc64/sys/kern/kern_clock.c#14 integrate ... //depot/projects/sparc64/sys/kern/kern_malloc.c#7 integrate ... //depot/projects/sparc64/sys/kern/kern_ntptime.c#6 integrate ... //depot/projects/sparc64/sys/kern/kern_tc.c#9 integrate ... //depot/projects/sparc64/sys/kern/kern_time.c#9 integrate ... //depot/projects/sparc64/sys/kern/subr_param.c#10 integrate ... //depot/projects/sparc64/sys/kern/sys_process.c#18 integrate ... //depot/projects/sparc64/sys/kern/syscalls.c#16 integrate ... //depot/projects/sparc64/sys/kern/syscalls.master#15 integrate ... //depot/projects/sparc64/sys/kern/vfs_aio.c#18 integrate ... //depot/projects/sparc64/sys/kern/vfs_vnops.c#21 integrate ... //depot/projects/sparc64/sys/modules/Makefile#28 integrate ... //depot/projects/sparc64/sys/modules/udf/Makefile#1 branch ... //depot/projects/sparc64/sys/net/if_arcsubr.c#4 integrate ... //depot/projects/sparc64/sys/netgraph/ng_pptpgre.c#3 integrate ... //depot/projects/sparc64/sys/pci/agp_amd.c#4 integrate ... //depot/projects/sparc64/sys/powerpc/conf/GENERIC#5 integrate ... //depot/projects/sparc64/sys/powerpc/include/cpu.h#8 integrate ... //depot/projects/sparc64/sys/powerpc/include/nexusvar.h#1 branch ... //depot/projects/sparc64/sys/powerpc/powerpc/nexus.c#1 branch ... //depot/projects/sparc64/sys/powerpc/powerpc/pmap.c#17 integrate ... //depot/projects/sparc64/sys/sparc64/conf/GENERIC#22 integrate ... //depot/projects/sparc64/sys/sparc64/sparc64/pmap.c#84 integrate ... //depot/projects/sparc64/sys/sys/kernel.h#11 integrate ... //depot/projects/sparc64/sys/sys/malloc.h#7 integrate ... //depot/projects/sparc64/sys/sys/memrange.h#2 integrate ... //depot/projects/sparc64/sys/sys/syscall.h#16 integrate ... //depot/projects/sparc64/sys/sys/syscall.mk#16 integrate ... //depot/projects/sparc64/sys/sys/sysproto.h#18 integrate ... //depot/projects/sparc64/sys/sys/time.h#6 integrate ... //depot/projects/sparc64/sys/sys/vnode.h#14 integrate ... //depot/projects/sparc64/sys/ufs/ffs/ffs_softdep.c#11 integrate ... //depot/projects/sparc64/sys/vm/pmap.h#8 integrate ... //depot/projects/sparc64/sys/vm/uma_core.c#7 integrate ... //depot/projects/sparc64/sys/vm/uma_int.h#5 integrate ... //depot/projects/sparc64/sys/vm/vm_map.c#13 integrate ... //depot/projects/sparc64/sys/vm/vm_page.c#14 integrate ... //depot/projects/sparc64/sys/vm/vm_zeroidle.c#6 integrate ... //depot/projects/sparc64/tools/tools/README#2 integrate ... //depot/projects/sparc64/tools/tools/prstats/prstats.pl#2 integrate ... //depot/projects/sparc64/usr.bin/find/Makefile#4 integrate ... //depot/projects/sparc64/usr.bin/find/getdate.y#1 branch ... //depot/projects/sparc64/usr.bin/find/ls.c#4 integrate ... //depot/projects/sparc64/usr.bin/killall/killall.1#2 integrate ... //depot/projects/sparc64/usr.bin/killall/killall.c#3 integrate ... //depot/projects/sparc64/usr.bin/make/str.c#3 integrate ... //depot/projects/sparc64/usr.bin/passwd/Makefile#4 integrate ... //depot/projects/sparc64/usr.bin/passwd/passwd.c#3 integrate ... //depot/projects/sparc64/usr.bin/sockstat/Makefile#2 integrate ... //depot/projects/sparc64/usr.bin/usbhidctl/Makefile#3 integrate ... //depot/projects/sparc64/usr.bin/vmstat/vmstat.c#6 integrate ... //depot/projects/sparc64/usr.bin/xlint/Makefile.inc#3 integrate ... //depot/projects/sparc64/usr.sbin/memcontrol/memcontrol.c#2 integrate ... //depot/projects/sparc64/usr.sbin/ppp/bundle.c#3 integrate ... //depot/projects/sparc64/usr.sbin/ppp/defs.c#3 integrate ... //depot/projects/sparc64/usr.sbin/ppp/defs.h#3 integrate ... //depot/projects/sparc64/usr.sbin/vipw/pw_util.c#2 integrate Differences ... ==== //depot/projects/sparc64/Makefile.inc1#8 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/Makefile.inc1,v 1.255 2002/04/13 07:24:14 des Exp $ +# $FreeBSD: src/Makefile.inc1,v 1.257 2002/04/15 15:31:25 des Exp $ # # Make command line options: # -DMAKE_KERBEROS4 to build KerberosIV @@ -739,9 +739,11 @@ _prebuild_libs= lib/libcom_err lib/libcrypt lib/libkvm lib/libmd \ lib/libncurses lib/libopie lib/libradius lib/librpcsvc \ - lib/libsbuf lib/libtacplus lib/libutil lib/libz lib/msun + lib/libsbuf lib/libtacplus lib/libutil lib/libypclnt \ + lib/libz lib/msun lib/libopie__L lib/libradius__L lib/libtacplus__L: lib/libmd__L +lib/libypclnt__L: lib/librpcsvc__L _generic_libs= lib gnu/lib ==== //depot/projects/sparc64/bin/date/date.1#2 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.3 (Berkeley) 4/28/95 -.\" $FreeBSD: src/bin/date/date.1,v 1.54 2001/08/07 15:48:26 ru Exp $ +.\" $FreeBSD: src/bin/date/date.1,v 1.56 2002/04/15 18:17:18 trhodes Exp $ .\" .Dd November 17, 1993 .Dt DATE 1 @@ -72,6 +72,12 @@ .Nm will set the date and time or print it in a user-defined way. .Pp +The +.Nm +utility displays the date and time read from the kernel clock. +When used to set the date and time, +both the kernel clock and the CMOS clock are updated. +.Pp Only the superuser may set the date, and if the system securelevel (see .Xr securelevel 8 ) ==== //depot/projects/sparc64/bin/ls/ls.1#2 (text+ko) ==== @@ -33,7 +33,7 @@ .\" SUCH DAMAGE. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" $FreeBSD: src/bin/ls/ls.1,v 1.62 2002/01/09 13:29:39 ru Exp $ +.\" $FreeBSD: src/bin/ls/ls.1,v 1.63 2002/04/15 02:21:12 jwd Exp $ .\" .Dd December 29, 2002 .Dt LS 1 @@ -137,8 +137,12 @@ .It Fl R Recursively list subdirectories encountered. .It Fl T -Display complete time information for the file, including -month, day, hour, minute, second, and year. +When used with the +.Fl l +(lowercase letter +.Dq ell ) +option, display complete time information for the file, including +month, day, hour, minute, second, and year. .It Fl W Display whiteouts when scanning directories. .It Fl Z @@ -167,7 +171,7 @@ .Pq Fl l format output. .It Fl h -When used wih the +When used with the .Fl l option, use unit suffixes: Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte in order to reduce the number of digits to three or less ==== //depot/projects/sparc64/bin/sh/exec.c#2 (text+ko) ==== @@ -39,7 +39,7 @@ static char sccsid[] = "@(#)exec.c 8.4 (Berkeley) 6/8/95"; #endif static const char rcsid[] = - "$FreeBSD: src/bin/sh/exec.c,v 1.16 2002/02/02 06:50:46 imp Exp $"; + "$FreeBSD: src/bin/sh/exec.c,v 1.17 2002/04/15 15:49:30 greid Exp $"; #endif /* not lint */ #include @@ -350,7 +350,10 @@ if (verbose) { if (entry.cmdtype != CMDUNKNOWN) { /* if no error msg */ cmdp = cmdlookup(name, 0); - printentry(cmdp, verbose); + if (cmdp != NULL) + printentry(cmdp, verbose); + else + outfmt(&errout, "%s: not found\n", name); } flushall(); } ==== //depot/projects/sparc64/contrib/openpam/HISTORY#6 (text+ko) ==== @@ -1,4 +1,18 @@ ============================================================================ +OpenPAM Cineraria 2002-04-14 + + - ENHANCE: Improved documentation. + + - ENHANCE: Adopt the same preprocessor tricks that were used in + FreeBSD's version of Linux-PAM to simplify static linking without + requiring dummy primitives. + + - ENHANCE: move the policy-loading code out of pam_start.c. + + - BUGFIX: Fix typo in one of the versions of the openpam_log macro. + + - ENHANCE: Add versioning macros. +============================================================================ OpenPAM Cinchona 2002-04-08 - ENHANCE: Improved documentation for several API functions. @@ -114,4 +128,4 @@ First (beta) release. ============================================================================ -$P4: //depot/projects/sparc64/contrib/openpam/HISTORY#5 $ +$P4: //depot/projects/sparc64/contrib/openpam/HISTORY#6 $ ==== //depot/projects/sparc64/contrib/openpam/MANIFEST#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $P4: //depot/projects/sparc64/contrib/openpam/MANIFEST#5 $ +# $P4: //depot/projects/sparc64/contrib/openpam/MANIFEST#6 $ # CREDITS HISTORY @@ -54,12 +54,14 @@ doc/man/pam_vinfo.3 doc/man/pam_vprompt.3 include/security/openpam.h +include/security/openpam_version.h include/security/pam_appl.h include/security/pam_constants.h include/security/pam_modules.h include/security/pam_types.h lib/Makefile lib/openpam_borrow_cred.c +lib/openpam_configure.c lib/openpam_dispatch.c lib/openpam_dynamic.c lib/openpam_findenv.c ==== //depot/projects/sparc64/contrib/openpam/RELNOTES#6 (text+ko) ==== @@ -1,14 +1,12 @@ - Release notes for OpenPAM Cinchona - ================================== + Release notes for OpenPAM Cineraria + =================================== -This is a beta release. - The library itself is complete. Documentation exists in the form of man pages for the library functions, though a few pages are still incomplete. -This release is incorporated into FreeBSD-CURRENT as of 2002-04-08. +This release is incorporated into FreeBSD-CURRENT as of 2002-04-14. It has also been successfully built on NetBSD, and should build with minimal or no changes on OpenBSD. It has not been tested on any other OS. @@ -17,9 +15,4 @@ - The documentation is still incomplete. - - It should be possible to create incomplete modules without - recourse to placeholders or elaborate preprocessor tricks. This - is made difficult by the requirement that it should be possible to - link modules statically. - -$P4: //depot/projects/sparc64/contrib/openpam/RELNOTES#5 $ +$P4: //depot/projects/sparc64/contrib/openpam/RELNOTES#6 $ ==== //depot/projects/sparc64/contrib/openpam/doc/man/openpam_borrow_cred.3#2 (text) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_borrow_cred.3#1 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_borrow_cred.3#2 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt OPENPAM_BORROW_CRED 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/openpam_free_data.3#2 (text) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_free_data.3#1 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_free_data.3#2 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt OPENPAM_FREE_DATA 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/openpam_get_option.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/openpam_get_option.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/openpam_get_option.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt OPENPAM_GET_OPTION 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/openpam_log.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/openpam_log.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/openpam_log.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt OPENPAM_LOG 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/openpam_restore_cred.3#2 (text) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/openpam/doc/man/openpam_restore_cred.3#1 $ +.\" $P4: //depot/projects/openpam/doc/man/openpam_restore_cred.3#2 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt OPENPAM_RESTORE_CRED 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/openpam_set_option.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/openpam_set_option.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/openpam_set_option.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt OPENPAM_SET_OPTION 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/openpam_ttyconv.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/openpam_ttyconv.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/openpam_ttyconv.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt OPENPAM_TTYCONV 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_acct_mgmt.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_acct_mgmt.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_acct_mgmt.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_ACCT_MGMT 3 .Os .Sh NAME @@ -46,7 +46,25 @@ .Ft int .Fn pam_acct_mgmt "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION -No description available. +The +.Nm +function verifies and enforces account restrictions +after the user has been authenticated. +.Pp +The +.Va flags +argument is the binary or of zero or more of the following +values: +.Bl -tag -width 18n +.It Dv PAM_SILENT +Do not emit any messages. +.It Dv PAM_DISALLOW_NULL_AUTHTOK +Fail if the user's authentication token is null. +.El +If any other bits are set, +.Xr pam_authenticate 3 +will return +.Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm @@ -75,6 +93,7 @@ .El .Sh SEE ALSO .Xr pam 3 , +.Xr pam_authenticate 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_authenticate.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_authenticate.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_authenticate.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_AUTHENTICATE 3 .Os .Sh NAME @@ -65,12 +65,16 @@ .Va flags argument is the binary or of zero or more of the following values: -.Pp -.Bd -literal - =PAM_SILENT - Do not emit any messages. - =PAM_DISALLOW_NULL_AUTHTOK - Fail if the user's authentication token is null. +.Bl -tag -width 18n +.It Dv PAM_SILENT +Do not emit any messages. +.It Dv PAM_DISALLOW_NULL_AUTHTOK +Fail if the user's authentication token is null. +.El +If any other bits are set, +.Nm +will return +.Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm @@ -94,6 +98,8 @@ Permission denied. .It Bq Er PAM_SERVICE_ERR Error in service module. +.It Bq Er PAM_SYMBOL_ERR +Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .It Bq Er PAM_USER_UNKNOWN ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_chauthtok.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_chauthtok.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_chauthtok.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_CHAUTHTOK 3 .Os .Sh NAME @@ -57,12 +57,16 @@ .Va flags argument is the binary or of zero or more of the following values: -.Pp -.Bd -literal - =PAM_SILENT - Do not emit any messages. - =PAM_CHANGE_EXPIRED_AUTHTOK - Change only those authentication tokens that have expired. +.Bl -tag -width 18n +.It Dv PAM_SILENT +Do not emit any messages. +.It Dv PAM_CHANGE_EXPIRED_AUTHTOK +Change only those authentication tokens that have expired. +.El +If any other bits are set, +.Nm +will return +.Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_close_session.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_close_session.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_close_session.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_CLOSE_SESSION 3 .Os .Sh NAME @@ -46,7 +46,24 @@ .Ft int .Fn pam_close_session "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION -No description available. +The +.Nm +function tears down the user session previously +set up by +.Xr pam_open_session 3 . +.Pp +The +.Va flags +argument is the binary or of zero or more of the following +values: +.Bl -tag -width 18n +.It Dv PAM_SILENT +Do not emit any messages. +.El +If any other bits are set, +.Nm +will return +.Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm @@ -64,11 +81,14 @@ Error in service module. .It Bq Er PAM_SESSION_ERR Session failure. +.It Bq Er PAM_SYMBOL_ERR +Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , +.Xr pam_open_session 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_end.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_end.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_end.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_END 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_error.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_error.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_error.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_ERROR 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_authtok.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_authtok.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_authtok.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_GET_AUTHTOK 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_data.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_data.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_data.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_GET_DATA 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_item.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_item.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_item.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_GET_ITEM 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_user.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_user.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_get_user.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_GET_USER 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_getenv.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_getenv.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_getenv.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_GETENV 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_getenvlist.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_getenvlist.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_getenvlist.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_GETENVLIST 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_info.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_info.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_info.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_INFO 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_open_session.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_open_session.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_open_session.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_OPEN_SESSION 3 .Os .Sh NAME @@ -46,7 +46,24 @@ .Ft int .Fn pam_open_session "pam_handle_t *pamh" "int flags" .Sh DESCRIPTION -No description available. +The +.Nm +sets up a user session for a previously +authenticated user. The session should later be torn down by a call to +.Xr pam_close_session 3 . +.Pp +The +.Va flags +argument is the binary or of zero or more of the following +values: +.Bl -tag -width 18n +.It Dv PAM_SILENT +Do not emit any messages. +.El +If any other bits are set, +.Nm +will return +.Dv PAM_SYMBOL_ERR . .Sh RETURN VALUES The .Nm @@ -64,11 +81,14 @@ Error in service module. .It Bq Er PAM_SESSION_ERR Session failure. +.It Bq Er PAM_SYMBOL_ERR +Invalid symbol. .It Bq Er PAM_SYSTEM_ERR System error. .El .Sh SEE ALSO .Xr pam 3 , +.Xr pam_close_session 3 , .Xr pam_strerror 3 .Sh STANDARDS .Rs ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_prompt.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_prompt.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_prompt.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_PROMPT 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_putenv.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_putenv.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_putenv.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_PUTENV 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_set_data.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_set_data.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_set_data.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_SET_DATA 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_set_item.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_set_item.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_set_item.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_SET_ITEM 3 .Os .Sh NAME ==== //depot/projects/sparc64/contrib/openpam/doc/man/pam_setcred.3#6 (text+ko) ==== @@ -31,9 +31,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_setcred.3#5 $ +.\" $P4: //depot/projects/sparc64/contrib/openpam/doc/man/pam_setcred.3#6 $ .\" -.Dd April 8, 2002 +.Dd April 14, 2002 .Dt PAM_SETCRED 3 .Os .Sh NAME @@ -49,18 +49,29 @@ The .Nm function manages the application's credentials. -The operation to perform is specified by the +.Pp +The .Va flags -argument: +argument is the binary or of zero or more of the following >>> TRUNCATED FOR MAIL (1000 lines) <<< To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message