--- mktemp.3.orig 2008-02-29 10:45:39.000000000 -0800 +++ mktemp.3 2008-02-29 11:21:10.000000000 -0800 @@ -36,20 +36,33 @@ .Dt MKTEMP 3 .Os .Sh NAME -.Nm mktemp +.Nm mkdtemp , +.Nm mkstemp , +.Nm mktemp , +.Nm mktemps .Nd make temporary file name (unique) .Sh LIBRARY .Lb libc .Sh SYNOPSIS .In unistd.h .Ft char * -.Fn mktemp "char *template" +.Fo mkdtemp +.Fa "char *template" +.Fc .Ft int -.Fn mkstemp "char *template" +.Fo mkstemps +.Fa "char *template" +.Fa "int suffixlen" +.Fc +.In stdlib.h .Ft int -.Fn mkstemps "char *template" "int suffixlen" +.Fo mkstemp +.Fa "char *template" +.Fc .Ft char * -.Fn mkdtemp "char *template" +.Fo mktemp +.Fa "char *template" +.Fc .Sh DESCRIPTION The .Fn mktemp @@ -137,7 +150,7 @@ .Pp The .Fn mkstemp , -.Fn mkstemps +.Fn mkstemps , and .Fn mkdtemp functions @@ -171,7 +184,7 @@ passes in a read-only string to .Fn mktemp , .Fn mkstemp , -.Fn mkstemps +.Fn mkstemps , or .Fn mkdtemp . This is common with programs that were developed before @@ -219,19 +232,19 @@ This will ensure that the program does not continue blindly in the event that an attacker has already created the file with the intention of manipulating or reading its contents. +.Sh LEGACY SYNOPSIS +.Fd #include <unistd.h> .Pp -The implementation of these functions calls -.Xr arc4random 3 , -which is not reentrant. -You must provide your own locking around this and other consumers of the -.Xr arc4random 3 -API. +The include file +.In unistd.h +is necessary and sufficient for all functions. .Sh SEE ALSO .Xr chmod 2 , .Xr getpid 2 , .Xr mkdir 2 , .Xr open 2 , -.Xr stat 2 +.Xr stat 2 , +.Xr compat 5 .Sh HISTORY A .Fn mktemp