CVS commit: src/lib/libc/stdlib
Module Name:src Committed By: wiz Date: Thu Feb 19 23:08:21 UTC 2015 Modified Files: src/lib/libc/stdlib: reallocarr.3 Log Message: Add EXAMPLES section, from Youri Mouton. Bump date. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/lib/libc/stdlib/reallocarr.3 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/stdlib/reallocarr.3 diff -u src/lib/libc/stdlib/reallocarr.3:1.2 src/lib/libc/stdlib/reallocarr.3:1.3 --- src/lib/libc/stdlib/reallocarr.3:1.2 Wed Feb 18 08:46:43 2015 +++ src/lib/libc/stdlib/reallocarr.3 Thu Feb 19 23:08:21 2015 @@ -1,4 +1,4 @@ -.\" $NetBSD: reallocarr.3,v 1.2 2015/02/18 08:46:43 wiz Exp $ +.\" $NetBSD: reallocarr.3,v 1.3 2015/02/19 23:08:21 wiz Exp $ .\" .\" Copyright (c) 2015 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -26,7 +26,7 @@ .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. -.Dd February 5, 2015 +.Dd February 19, 2015 .Dt REALLOCARR 3 .Os .Sh NAME @@ -55,6 +55,23 @@ Otherwise, an error code (see is returned and .Fa *ptr and the referenced memory is unmodified. +.Sh EXAMPLES +The following uses +.Fn reallocarr +to initialize an array of INITSIZE integers, then +resizes it to NEWSIZE elements: +.Bd -literal -offset indent +int *data = NULL; +int ret = 0; + +ret = reallocarr(&data, INITSIZE, sizeof(*data)); +if (ret) +errc(1, ret, "reallocarr failed"); + +ret = reallocarr(&data, NEWSIZE, sizeof(*data)); +if (ret) +errc(1, ret, "reallocarr failed on resize"); +.Ed .Sh SEE ALSO .Xr calloc 3 .Sh HISTORY
CVS commit: src/sys/arch/arm/include
Module Name:src Committed By: joerg Date: Thu Feb 19 21:44:50 UTC 2015 Modified Files: src/sys/arch/arm/include: lock.h Log Message: Don't use plain inline in that might end up compiled with -ansi. To generate a diff of this commit: cvs rdiff -u -r1.29 -r1.30 src/sys/arch/arm/include/lock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/arm/include/lock.h diff -u src/sys/arch/arm/include/lock.h:1.29 src/sys/arch/arm/include/lock.h:1.30 --- src/sys/arch/arm/include/lock.h:1.29 Fri Jan 2 02:00:15 2015 +++ src/sys/arch/arm/include/lock.h Thu Feb 19 21:44:50 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: lock.h,v 1.29 2015/01/02 02:00:15 christos Exp $ */ +/* $NetBSD: lock.h,v 1.30 2015/02/19 21:44:50 joerg Exp $ */ /*- * Copyright (c) 2000, 2001 The NetBSD Foundation, Inc. @@ -139,7 +139,7 @@ __swp(int __val, __cpu_simple_lock_t *__ } #endif /* !_ARM_ARCH_6 */ -static inline void +static __inline void __arm_membar_producer(void) { #ifdef _ARM_ARCH_7 @@ -149,7 +149,7 @@ __arm_membar_producer(void) #endif } -static inline void +static __inline void __arm_membar_consumer(void) { #ifdef _ARM_ARCH_7
CVS commit: src/sys/ufs/ext2fs
Module Name:src Committed By: maxv Date: Thu Feb 19 21:31:45 UTC 2015 Modified Files: src/sys/ufs/ext2fs: ext2fs_vfsops.c Log Message: e2fs_sbcheck(): add a check to ensure e2fs_bpg!=0. Otherwise the kernel panics with a division by zero. While here, remove the #ifdef's. To generate a diff of this commit: cvs rdiff -u -r1.186 -r1.187 src/sys/ufs/ext2fs/ext2fs_vfsops.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/ufs/ext2fs/ext2fs_vfsops.c diff -u src/sys/ufs/ext2fs/ext2fs_vfsops.c:1.186 src/sys/ufs/ext2fs/ext2fs_vfsops.c:1.187 --- src/sys/ufs/ext2fs/ext2fs_vfsops.c:1.186 Sun Nov 9 18:23:28 2014 +++ src/sys/ufs/ext2fs/ext2fs_vfsops.c Thu Feb 19 21:31:44 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: ext2fs_vfsops.c,v 1.186 2014/11/09 18:23:28 maxv Exp $ */ +/* $NetBSD: ext2fs_vfsops.c,v 1.187 2015/02/19 21:31:44 maxv Exp $ */ /* * Copyright (c) 1989, 1991, 1993, 1994 @@ -60,7 +60,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ext2fs_vfsops.c,v 1.186 2014/11/09 18:23:28 maxv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ext2fs_vfsops.c,v 1.187 2015/02/19 21:31:44 maxv Exp $"); #if defined(_KERNEL_OPT) #include "opt_compat_netbsd.h" @@ -1151,20 +1151,21 @@ ext2fs_checksb(struct ext2fs *fs, int ro return (EINVAL); /* XXX needs translation */ } if (fs2h32(fs->e2fs_rev) > E2FS_REV1) { -#ifdef DIAGNOSTIC printf("ext2fs: unsupported revision number: %x\n", fs2h32(fs->e2fs_rev)); -#endif return (EINVAL); /* XXX needs translation */ } if (fs2h32(fs->e2fs_log_bsize) > 2) { /* block size = 1024|2048|4096 */ -#ifdef DIAGNOSTIC printf("ext2fs: bad block size: %d " "(expected <= 2 for ext2 fs)\n", fs2h32(fs->e2fs_log_bsize)); -#endif return (EINVAL); /* XXX needs translation */ } + if (fs->e2fs_bpg == 0) { + printf("ext2fs: zero blocks per group\n"); + return EINVAL; + } + if (fs2h32(fs->e2fs_rev) > E2FS_REV0) { char buf[256]; if (fs2h32(fs->e2fs_first_ino) != EXT2_FIRSTINO) {
CVS commit: src
Module Name:src Committed By: snj Date: Thu Feb 19 20:57:36 UTC 2015 Modified Files: src/distrib/sets/lists/xcomp: mi src/external/mit/xorg/include/xtrans: Makefile Log Message: don't install Xtransdnet.c or Xtransos2.c, which were last part of xtrans 1.2.1. To generate a diff of this commit: cvs rdiff -u -r1.156 -r1.157 src/distrib/sets/lists/xcomp/mi cvs rdiff -u -r1.3 -r1.4 src/external/mit/xorg/include/xtrans/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/xcomp/mi diff -u src/distrib/sets/lists/xcomp/mi:1.156 src/distrib/sets/lists/xcomp/mi:1.157 --- src/distrib/sets/lists/xcomp/mi:1.156 Mon Feb 9 16:27:29 2015 +++ src/distrib/sets/lists/xcomp/mi Thu Feb 19 20:57:36 2015 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.156 2015/02/09 16:27:29 ryoon Exp $ +# $NetBSD: mi,v 1.157 2015/02/19 20:57:36 snj Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -5332,10 +5332,10 @@ ./usr/X11R7/include/X11/Xtos.h-unknown- xorg ./usr/X11R7/include/X11/Xtrans/Xtrans.c -unknown- xorg ./usr/X11R7/include/X11/Xtrans/Xtrans.h -unknown- xorg -./usr/X11R7/include/X11/Xtrans/Xtransdnet.c -unknown- xorg +./usr/X11R7/include/X11/Xtrans/Xtransdnet.c -obsolete- obsolete ./usr/X11R7/include/X11/Xtrans/Xtransint.h -unknown- xorg ./usr/X11R7/include/X11/Xtrans/Xtranslcl.c -unknown- xorg -./usr/X11R7/include/X11/Xtrans/Xtransos2.c -unknown- xorg +./usr/X11R7/include/X11/Xtrans/Xtransos2.c -obsolete- obsolete ./usr/X11R7/include/X11/Xtrans/Xtranssock.c -unknown- xorg ./usr/X11R7/include/X11/Xtrans/Xtranstli.c -obsolete- obsolete ./usr/X11R7/include/X11/Xtrans/Xtransutil.c -unknown- xorg Index: src/external/mit/xorg/include/xtrans/Makefile diff -u src/external/mit/xorg/include/xtrans/Makefile:1.3 src/external/mit/xorg/include/xtrans/Makefile:1.4 --- src/external/mit/xorg/include/xtrans/Makefile:1.3 Mon Mar 17 01:09:07 2014 +++ src/external/mit/xorg/include/xtrans/Makefile Thu Feb 19 20:57:36 2015 @@ -1,11 +1,11 @@ -# $NetBSD: Makefile,v 1.3 2014/03/17 01:09:07 mrg Exp $ +# $NetBSD: Makefile,v 1.4 2015/02/19 20:57:36 snj Exp $ .include .PATH: ${X11SRCDIR.xtrans} -INCS= Xtrans.c Xtrans.h Xtransdnet.c Xtransint.h Xtranslcl.c \ - Xtransos2.c Xtranssock.c Xtransutil.c transport.c +INCS= Xtrans.c Xtrans.h Xtransint.h Xtranslcl.c \ + Xtranssock.c Xtransutil.c transport.c INCSDIR=${X11INCDIR}/X11/Xtrans NOOBJ= # defined
CVS commit: xsrc/external/mit/xtrans/dist
Module Name:xsrc Committed By: snj Date: Thu Feb 19 20:51:23 UTC 2015 Removed Files: xsrc/external/mit/xtrans/dist: Xtransdnet.c Xtransos2.c Log Message: remove files that were last included in xtrans-1.2.1 To generate a diff of this commit: cvs rdiff -u -r1.1.1.1 -r0 xsrc/external/mit/xtrans/dist/Xtransdnet.c \ xsrc/external/mit/xtrans/dist/Xtransos2.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS import: xsrc/external/mit/xtrans/dist
Module Name:xsrc Committed By: snj Date: Thu Feb 19 20:48:18 UTC 2015 Update of /cvsroot/xsrc/external/mit/xtrans/dist In directory ivanova.netbsd.org:/tmp/cvs-serv23370 Log Message: initial import of xtrans-1.3.5 Status: Vendor Tag: xorg Release Tags: xtrans-1-3-5 U xsrc/external/mit/xtrans/dist/Makefile.am U xsrc/external/mit/xtrans/dist/README U xsrc/external/mit/xtrans/dist/Xtrans.h U xsrc/external/mit/xtrans/dist/ChangeLog U xsrc/external/mit/xtrans/dist/configure U xsrc/external/mit/xtrans/dist/Xtransint.h U xsrc/external/mit/xtrans/dist/aclocal.m4 U xsrc/external/mit/xtrans/dist/xtrans.m4 U xsrc/external/mit/xtrans/dist/compile U xsrc/external/mit/xtrans/dist/docbook.am U xsrc/external/mit/xtrans/dist/Xtranssock.c U xsrc/external/mit/xtrans/dist/install-sh U xsrc/external/mit/xtrans/dist/config.sub U xsrc/external/mit/xtrans/dist/missing U xsrc/external/mit/xtrans/dist/Xtranslcl.c U xsrc/external/mit/xtrans/dist/INSTALL U xsrc/external/mit/xtrans/dist/config.guess U xsrc/external/mit/xtrans/dist/Xtransutil.c U xsrc/external/mit/xtrans/dist/Makefile.in U xsrc/external/mit/xtrans/dist/configure.ac U xsrc/external/mit/xtrans/dist/COPYING U xsrc/external/mit/xtrans/dist/AUTHORS U xsrc/external/mit/xtrans/dist/Xtrans.c U xsrc/external/mit/xtrans/dist/xtrans.pc.in U xsrc/external/mit/xtrans/dist/transport.c U xsrc/external/mit/xtrans/dist/doc/Makefile.am U xsrc/external/mit/xtrans/dist/doc/xtrans.xml U xsrc/external/mit/xtrans/dist/doc/Makefile.in No conflicts created by this import
CVS commit: src/share/man/man9
Module Name:src Committed By: riastradh Date: Thu Feb 19 15:38:30 UTC 2015 Modified Files: src/share/man/man9: cprng.9 Log Message: Clarify advice about when to use what parts of cprng(9). Add security model to specify the difference between cprng_strong and cprng_fast. Fix code references. cprng_fast now uses ChaCha8, not RC4. XXX Would have been nice if they had been called cprng and cprng_weak to reduce confusion about which one to use, or even random and weakrandom. Too late for that now, though. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/share/man/man9/cprng.9 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/man/man9/cprng.9 diff -u src/share/man/man9/cprng.9:1.9 src/share/man/man9/cprng.9:1.10 --- src/share/man/man9/cprng.9:1.9 Tue Mar 18 18:20:40 2014 +++ src/share/man/man9/cprng.9 Thu Feb 19 15:38:30 2015 @@ -1,6 +1,6 @@ -.\" $NetBSD: cprng.9,v 1.9 2014/03/18 18:20:40 riastradh Exp $ +.\" $NetBSD: cprng.9,v 1.10 2015/02/19 15:38:30 riastradh Exp $ .\" -.\" Copyright (c) 2011-2013 The NetBSD Foundation, Inc. +.\" Copyright (c) 2011-2015 The NetBSD Foundation, Inc. .\" All rights reserved. .\" .\" This code is derived from software contributed to The NetBSD Foundation @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 18, 2013 +.Dd February 19, 2015 .Dt CPRNG 9 .Os .Sh NAME @@ -67,41 +67,22 @@ The .Nm family of functions provide cryptographic pseudorandom number generators automatically seeded from the kernel entropy pool. -They replace the -.Xr arc4random 9 -and -.Xr rnd_extract_data 9 -functions for this purpose. -The -.Nx -kernel no longer supports direct reading from the kernel entropy pool; all -access is mediated by the -.Nm -functions. +All applications in the kernel requiring random data or random choices +should use the +.Nm cprng_strong +family of functions, unless performance constraints demand otherwise. .Pp The -.Dq strong -family of functions use cryptographically strong pseudorandom number -generators suitable for keying crypto systems and similar purposes. -Calls to -.Xr rnd_extract_data 9 -should be replaced by calls to -.Fn cprng_strong . -.Pp -The -.Dq fast -family of functions use cryptographically weaker pseudorandom number -generators suitable for initialization vectors, nonces in certain -protocols, and other similar purposes, using a faster but less secure -stream-cipher-based generator. -Calls to -.Xr arc4random 9 -should be replaced by calls to -.Fn cprng_fast32 , -and calls to -.Xr arc4randbytes 9 -should be replaced by calls to -.Fn cprng_fast . +.Nm cprng_fast +family of functions may be used in applications that can tolerate +exposure of past random data, such as initialization vectors or +transaction ids that are sent over the internet anyway, if the +applications require higher throughput or lower per-request latency +than the +.Nm cprng_strong +family of functions provide. +If in doubt, choose +.Nm cprng_strong . .Pp A single instance of the fast generator serves the entire kernel. A well-known instance of the strong generator, @@ -109,12 +90,34 @@ A well-known instance of the strong gene may be used by any in-kernel caller, but separately seeded instances of the strong generator can also be created by calling .Fn cprng_strong_create . +.Pp +The +.Nm +functions may be used at interrupt priority level +.Dv IPL_VM +or below, +except for +.Fn cprng_strong_create +and +.Fn cprng_strong_destroy +which are allowed only at +.Dv IPL_NONE ; +see +.Xr spl 9 . +.Pp +The +.Nm +functions replace the legacy +.Xr arc4random 9 +and +.Xr rnd_extract_data 9 +functions. .Sh FUNCTIONS .Bl -tag -width abcd .It Fn cprng_strong_create "name" "ipl" "flags" Create an instance of the cprng_strong generator. -This generator implements the NIST SP 800-90 CTR_DRBG with AES128 as -the block transform. +This generator currently implements the NIST SP 800-90A CTR_DRBG with +AES-128 as the block transform. .Pp The .Fa name @@ -257,19 +260,49 @@ Generate 64 bits using the fast generato .Fn cprng_fast64 does not sleep. .El +.Sh SECURITY MODEL +The +.Nm +family of functions provide the following security properties: +.Bl -bullet -offset abcd +.It +An attacker who has seen some outputs of any of the +.Nm +functions cannot predict past or future unseen outputs. +.It +An attacker who has compromised kernel memory cannot predict past +outputs of the +.Nm cprng_strong +functions. +However, such an attacker may be able to predict past outputs of the +.Nm cprng_fast +functions. +.El +.Pp +The second property is sometimes called +.Dq backtracking resistance , +.Dq forward secrecy , +or +.Dq key erasure +in the cryptography literature. +The +.Nm cprng_strong +functions provide backtracking resistance; +the +.Nm cprng_fast +functions do not.
CVS commit: src/doc
Module Name:src Committed By: mrg Date: Thu Feb 19 11:20:43 UTC 2015 Modified Files: src/doc: TODO Log Message: update for reality in many places. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/doc/TODO Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/TODO diff -u src/doc/TODO:1.18 src/doc/TODO:1.19 --- src/doc/TODO:1.18 Tue Jun 10 20:23:21 2014 +++ src/doc/TODO Thu Feb 19 11:20:43 2015 @@ -1,4 +1,4 @@ -# $NetBSD: TODO,v 1.18 2014/06/10 20:23:21 joerg Exp $ +# $NetBSD: TODO,v 1.19 2015/02/19 11:20:43 mrg Exp $ THINGS TO BE DONE: @@ -32,60 +32,30 @@ Suggestions, comments, etc to projects@N High Kernel: swap fixes: swap to file of dynamic size; see apollo -nfs: - kernel support for lockd(8), lockf(3) User programs: rwall nfs-mountees on shutdown -add detachment to window(1) -clean up gas config files, set up common defines - -Documentation: -modify sys docs to reflect NetBSD/arch-specific stuff -clean up src/share/man/{man0,tools} so that we can generate a printable -version from the manpages again. i386 kernel support: -better ways of accessing BIOS, i/o space. some exportable to - user space. See mach3,linux dos emulator -i686 optimized versions of copyin/copyout/memcpy/memset/etc. lazy -floating-point context switching should be implemented as well. make use of sysenter/sysexit instructions on PIII/4 and Athlon for reducing syscall overhead. This is a list of suggested smaller projects (in no particular order): + speed up sort(1) by using mmap(2) rather than temp files -+ autoconf version of nawk, for use in non-NetBSD pkgsrc + port valgrind to NetBSD for pkgsrc, then use it to do an audit of any memory leakage -+ help in implementing various things in pkgsrc + simplify some of the quirks in our build system -+ help out with scripts for tgm/autobuild -+ some PR fixing/re-categorising/investigating/closing + investigate zebra or quagga in gnusrc rather than routed -+ do a type-punned pointer sweep for gcc3 (and fix the problems, not - the symptoms) -+ kernel fine-grained locking ++ do a type-punned pointer sweep for -fstrict-aliases (and fix the + problems, not the symptoms) + write a BSD-licensed web browser + perhaps look at putting wonka into src/ (with uuencoded class lib?) -+ document autoconf framework + write an overview document for openssl and certificates + documentation project help -+ investigate which userland utilities and daemons would benefit from - kqueue, and rewrite them -+ add a native scheme interpreter -+ add platform support for TenDRA compiler suite -+ merge moused(8) with wsmoused(8) as a new work mode (i.e. serial) -+ re-design our mbuf/network buffer memory handling so that it is simpler - and can handle zero copy tcp -+ re-design our signal handling path. It is far too complicated and will not - be easy to accommodate MP code + Examine our vnode locking and vfs layer and see what needs to be changed for locking in layered filesystems to really work + Make mountd(8) update the in-kernel exports list for each file system atomically. Many parts of the utility will need a rewrite, but the kernel functionality is already there (just enable the "notyet" blocks of code in sys/nfs/nfs_export.c). -+ Kerberize more services like ftp, ftpd, rsh, rshd, rlogind, ... - (see PR bin/31378)
CVS commit: src/sys/arch/powerpc/booke
Module Name:src Committed By: nonaka Date: Thu Feb 19 08:59:56 UTC 2015 Modified Files: src/sys/arch/powerpc/booke: e500_tlb.c Log Message: fix compile failure without DIAGNOSTIC. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/arch/powerpc/booke/e500_tlb.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/powerpc/booke/e500_tlb.c diff -u src/sys/arch/powerpc/booke/e500_tlb.c:1.16 src/sys/arch/powerpc/booke/e500_tlb.c:1.17 --- src/sys/arch/powerpc/booke/e500_tlb.c:1.16 Fri Jan 23 06:52:55 2015 +++ src/sys/arch/powerpc/booke/e500_tlb.c Thu Feb 19 08:59:56 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: e500_tlb.c,v 1.16 2015/01/23 06:52:55 nonaka Exp $ */ +/* $NetBSD: e500_tlb.c,v 1.17 2015/02/19 08:59:56 nonaka Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -40,7 +40,7 @@ #include -__KERNEL_RCSID(0, "$NetBSD: e500_tlb.c,v 1.16 2015/01/23 06:52:55 nonaka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: e500_tlb.c,v 1.17 2015/02/19 08:59:56 nonaka Exp $"); #include @@ -781,7 +781,7 @@ e500_tlb_ioreserve(vaddr_t va, vsize_t l KASSERT(((pte & PTE_RPN_MASK) & (len - 1)) == 0); if ((xtlb = e500_tlb_lookup_xtlb2(va, len)) != NULL) { - psize_t mask = ~(xtlb->e_tlb.tlb_size - 1); + psize_t mask __diagused = ~(xtlb->e_tlb.tlb_size - 1); KASSERT(len <= xtlb->e_tlb.tlb_size); KASSERT((pte & mask) == (xtlb->e_tlb.tlb_pte & mask)); xtlb->e_refcnt++;
CVS commit: src/games/tetris
Module Name:src Committed By: wiz Date: Thu Feb 19 08:51:14 UTC 2015 Modified Files: src/games/tetris: tetris.6 Log Message: Use Pp (mdoc) instead of sp (roff). Use An in AUTHORS section. To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/games/tetris/tetris.6 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/games/tetris/tetris.6 diff -u src/games/tetris/tetris.6:1.15 src/games/tetris/tetris.6:1.16 --- src/games/tetris/tetris.6:1.15 Thu Feb 19 02:27:30 2015 +++ src/games/tetris/tetris.6 Thu Feb 19 08:51:14 2015 @@ -1,4 +1,4 @@ -.\" $NetBSD: tetris.6,v 1.15 2015/02/19 02:27:30 mrg Exp $ +.\" $NetBSD: tetris.6,v 1.16 2015/02/19 08:51:14 wiz Exp $ .\" .\" Copyright (c) 1992, 1993 .\" The Regents of the University of California. All rights reserved. @@ -89,9 +89,9 @@ The argument must have the seven keys in order, and, remember to quote any space or tab characters from the shell. For example: -.sp +.Pp .Dl "tetris -l 2 -k 'jkl pqn'" -.sp +.Pp will play the default games, i.e. level 2 and with the default control keys. The current key settings are displayed at the bottom of the screen @@ -152,12 +152,19 @@ are marked with asterisks high score file .El .Sh AUTHORS +.An -nosplit Adapted from a 1989 International Obfuscated C Code Contest winner by -Chris Torek and Darren F. Provine. -.Pp -Manual adapted from the original entry written by Nancy L. Tinkham and -Darren F. Provine. -.Pp -Code for previewing next shape added by Hubert Feyrer in 1999. +.An Chris Torek +and +.An Darren F. Provine . +.Pp +Manual adapted from the original entry written by +.An Nancy L. Tinkham +and +.An Darren F. Provine . +.Pp +Code for previewing next shape added by +.An Hubert Feyrer +in 1999. .Sh BUGS The higher levels are unplayable without a fast terminal connection.