Loading...
stdio/FreeBSD/mktemp.3 Libc-1725.40.4 Libc-320
--- Libc/Libc-1725.40.4/stdio/FreeBSD/mktemp.3
+++ Libc/Libc-320/stdio/FreeBSD/mktemp.3
@@ -9,7 +9,11 @@
 .\" 2. Redistributions in binary form must reproduce the above copyright
 .\"    notice, this list of conditions and the following disclaimer in the
 .\"    documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"	This product includes software developed by the University of
+.\"	California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
 .\"    may be used to endorse or promote products derived from this software
 .\"    without specific prior written permission.
 .\"
@@ -26,71 +30,26 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     @(#)mktemp.3	8.1 (Berkeley) 6/4/93
-.\"
-.Dd December 18, 2015
+.\" $FreeBSD: src/lib/libc/stdio/mktemp.3,v 1.19 2002/12/24 13:41:45 ru Exp $
+.\"
+.Dd February 11, 1998
 .Dt MKTEMP 3
 .Os
 .Sh NAME
-.Nm mktemp ,
-.Nm mkstemp ,
-.Nm mkdtemp ,
-.Nm mkdtempat_np ,
-.Nm mkstemps ,
-.Nm mkstempsat_np ,
-.Nm mkostemp ,
-.Nm mkostemps ,
-.Nm mkostempsat_np
+.Nm mktemp
 .Nd make temporary file name (unique)
 .Sh LIBRARY
 .Lb libc
 .Sh SYNOPSIS
 .In unistd.h
 .Ft char *
-.Fo mktemp
-.Fa "char *template"
-.Fc
+.Fn mktemp "char *template"
 .Ft int
-.Fo mkstemp
-.Fa "char *template"
-.Fc
+.Fn mkstemp "char *template"
+.Ft int
+.Fn mkstemps "char *template" "int suffixlen"
 .Ft char *
-.Fo mkdtemp
-.Fa "char *template"
-.Fc
-.Ft char *
-.Fo mkdtempat_np
-.Fa "int dfd"
-.Fa "char *template"
-.Fc
-.Ft int
-.Fo mkstemps
-.Fa "char *template"
-.Fa "int suffixlen"
-.Fc
-.Ft int
-.Fo mkstempsat_np
-.Fa "int dfd"
-.Fa "char *template"
-.Fa "int suffixlen"
-.Fc
-.Ft int
-.Fo mkostemp
-.Fa "char *template"
-.Fa "int oflags"
-.Fc
-.Ft int
-.Fo mkostemps
-.Fa "char *template"
-.Fa "int suffixlen"
-.Fa "int oflags"
-.Fc
-.Ft int
-.Fo mkostempsat_np
-.Fa "int dfd"
-.Fa "char *template"
-.Fa "int suffixlen"
-.Fa "int oflags"
-.Fc
+.Fn mkdtemp "char *template"
 .Sh DESCRIPTION
 The
 .Fn mktemp
@@ -129,64 +88,22 @@
 for use.
 .Pp
 The
-.Fn mkdtemp
-function makes the same replacement to the template as in
-.Fn mktemp
-and creates the template directory, mode 0700.
-.Pp
-The
-.Fn mkostemp
-function
-is like
-.Fn mkstemp
-but allows specifying additional
-.Xr open 2
-flags (defined in
-.In fcntl.h ) .
-The permitted flags are
-.Dv O_APPEND ,
-.Dv O_SHLOCK ,
-.Dv O_EXLOCK
-and
-.Dv O_CLOEXEC .
-.Pp
-The
-.Fn mkstemps
-and
-.Fn mkostemps
-functions act the same as
-.Fn mkstemp
-and
-.Fn mkostemp
-respectively,
-except they permit a suffix to exist in the template.
+.Fn mkstemps
+function acts the same as
+.Fn mkstemp ,
+except it permits a suffix to exist in the template.
 The template should be of the form
 .Pa /tmp/tmpXXXXXXsuffix .
 The
 .Fn mkstemps
-and
-.Fn mkostemps
-functions
-are told the length of the suffix string.
-.Pp
-The
-.Fn mkdtempat_np ,
-.Fn mkstempsat_np ,
-and
-.Fn mkostempsat_np
-functions
-act the same as
-.Fn mkdtemp ,
-.Fn mkstemps ,
-and
-.Fn mkostemps
-respectively,
-except in the case where the
-.Ar path
-specifies a relative path.
-In this case, path is treated as relative to the directory associated with the file descriptor
-.Ar fd
-instead of the current working directory.
+function
+is told the length of the suffix string.
+.Pp
+The
+.Fn mkdtemp
+function makes the same replacement to the template as in
+.Fn mktemp
+and creates the template directory, mode 0700.
 .Sh RETURN VALUES
 The
 .Fn mktemp
@@ -196,11 +113,9 @@
 .Dv NULL
 on failure.
 The
-.Fn mkstemp ,
-.Fn mkostemp ,
-.Fn mkstemps
-and
-.Fn mkostemps
+.Fn mkstemp
+and
+.Fn mkstemps
 functions
 return \-1 if no suitable file could be created.
 If either call fails an error code is placed in the global variable
@@ -208,9 +123,7 @@
 .Sh ERRORS
 The
 .Fn mkstemp ,
-.Fn mkostemp ,
-.Fn mkstemps ,
-.Fn mkostemps ,
+.Fn mkstemps
 and
 .Fn mkdtemp
 functions
@@ -223,25 +136,8 @@
 .El
 .Pp
 The
-.Fn mkostemp
-and
-.Fn mkostemps
-functions
-may also set
-.Va errno
-to the following value:
-.Bl -tag -width Er
-.It Bq Er EINVAL
-The
-.Fa oflags
-argument is invalid.
-.El
-.Pp
-The
-.Fn mkstemp ,
-.Fn mkostemp ,
-.Fn mkstemps ,
-.Fn mkostemps 
+.Fn mkstemp ,
+.Fn mkstemps
 and
 .Fn mkdtemp
 functions
@@ -252,11 +148,9 @@
 function.
 .Pp
 The
-.Fn mkstemp ,
-.Fn mkostemp ,
-.Fn mkstemps
-and
-.Fn mkostemps 
+.Fn mkstemp
+and
+.Fn mkstemps
 functions
 may also set
 .Va errno
@@ -290,64 +184,12 @@
 will result in a core dump due to
 .Fn mkstemp
 attempting to modify the string constant that was given.
-.Sh LEGACY SYNOPSIS
-.Fd #include <unistd.h>
-.Pp
-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 compat 5
-.Sh STANDARDS
-The
-.Fn mkstemp
-and
-.Fn mkdtemp
-functions are expected to conform to
-.St -p1003.1-2008 .
-The
-.Fn mktemp
-function is expected to conform to
-.St -p1003.1-2001
-and is not specified by
-.St -p1003.1-2008 .
-The
-.Fn mkostemp ,
-.Fn mkstemps
-and
-.Fn mkostemps
-functions do not conform to any standard.
-.Sh HISTORY
-A
-.Fn mktemp
-function appeared in
-.At v7 .
-The
-.Fn mkstemp
-function appeared in
-.Bx 4.4 .
-The
-.Fn mkdtemp
-function first appeared in
-.Ox 2.2 ,
-and later in
-.Fx 3.2 .
-The
-.Fn mkstemps
-function first appeared in
-.Ox 2.4 ,
-and later in
-.Fx 3.4 .
-The
-.Fn mkostemp
-and
-.Fn mkostemps
-functions appeared in OS X 10.12.
+If the program in question makes heavy use of that type
+of function call, you do have the option of compiling the program
+so that it will store string constants in a writable segment of memory.
+See
+.Xr gcc 1
+for more information.
 .Sh BUGS
 This family of functions produces filenames which can be guessed,
 though the risk is minimized when large numbers of
@@ -364,8 +206,6 @@
 particularly dangerous from a security perspective.
 Whenever it is possible,
 .Fn mkstemp
-or
-.Fn mkostemp
 should be used instead, since it does not have the race condition.
 If
 .Fn mkstemp
@@ -379,3 +219,30 @@
 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 SEE ALSO
+.Xr chmod 2 ,
+.Xr getpid 2 ,
+.Xr mkdir 2 ,
+.Xr open 2 ,
+.Xr stat 2
+.Sh HISTORY
+A
+.Fn mktemp
+function appeared in
+.At v7 .
+The
+.Fn mkstemp
+function appeared in
+.Bx 4.4 .
+The
+.Fn mkdtemp
+function first appeared in
+.Ox 2.2 ,
+and later in
+.Fx 3.2 .
+The
+.Fn mkstemps
+function first appeared in
+.Ox 2.4 ,
+and later in
+.Fx 3.4 .