Module Name:    src
Committed By:   dholland
Date:           Sat Sep  6 18:54:46 UTC 2014

Modified Files:
        src/usr.bin/uuencode: uuencode.1

Log Message:
Clarify and generally improve. The expansion of files is not a bug,
it's a consequence of what uuencode does. Also note for a more hostile
internet environment that blindly uudecoding files without inspecting
the header is dangerous.

Pursuant to PR 49177.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/usr.bin/uuencode/uuencode.1

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/uuencode/uuencode.1
diff -u src/usr.bin/uuencode/uuencode.1:1.23 src/usr.bin/uuencode/uuencode.1:1.24
--- src/usr.bin/uuencode/uuencode.1:1.23	Sat Sep  6 18:37:01 2014
+++ src/usr.bin/uuencode/uuencode.1	Sat Sep  6 18:54:46 2014
@@ -1,4 +1,4 @@
-.\"	$NetBSD: uuencode.1,v 1.23 2014/09/06 18:37:01 dholland Exp $
+.\"	$NetBSD: uuencode.1,v 1.24 2014/09/06 18:54:46 dholland Exp $
 .\"
 .\" Copyright (c) 1980, 1990, 1993
 .\"	The Regents of the University of California.  All rights reserved.
@@ -29,7 +29,7 @@
 .\"
 .\"     @(#)uuencode.1	8.1 (Berkeley) 6/6/93
 .\"
-.Dd January 28, 2012
+.Dd September 6, 2014
 .Dt UUENCODE 1
 .Os
 .Sh NAME
@@ -58,39 +58,42 @@ The following options are available:
 .Bl -tag -width ".Fl m"
 .It Fl m
 Use base64 encoding.
-The default is that
-.Nm
-uses the historical uuencode algorithm,
-and
-.Nm uudecode
-automatically detects the encoding.
+For
+.Nm ,
+the historical uuencode algorithm is the default.
+For
+.Nm uudecode ,
+by default the encoding is automatically detected.
 .It Fl o Ar outputfile
 .Po Nm uudecode No only . Pc
-Use the specified
-.Ar outputfile
-as the name of the output file.
-The default is that
+Send the decoded output data to
+.Ar outputfile .
+By default,
 .Nm uudecode
-obtains the name of the output file from the data stream, where
-.Nm
-would have recorded it.
+uses the
+.Ar outputname
+recorded in the encoded data stream.
 .It Fl p
 .Po Nm uudecode No only . Pc
-Write the decoded file to stdout instead of to a named file.
+Write the decoded file to standard output instead of to a file.
 .El
 .Pp
 .Nm
 reads
 .Ar inputfile
 (or by default the standard input) and writes an encoded version
-to the standard output.
+to (always) the standard output.
 The encoding uses only printing
 .Tn ASCII
-characters and includes the
-mode of the file and the operand
+characters suitable for text-only transport media.
+The string 
 .Ar outputname
-for use by
-.Nm uudecode .
+is inserted into the output header as the
+.Ar outputfile
+to use at
+.Nm uudecode
+time.
+The header also includes the mode (permissions) of the file.
 .Pp
 .Nm uudecode
 transforms
@@ -112,6 +115,20 @@ then the data will be written to the sta
 instead of to a named file.
 .Nm uudecode
 ignores any leading and trailing lines.
+.Pp
+The encoded form of the file is expanded by 35%.
+Every 3 bytes become 4 plus control information.
+.Sh SECURITY CONSIDERATIONS
+When using
+.Nm uudecode
+with files coming from dubious sources,
+always either explicitly pass the
+.Fl o
+option or check the header (the first line) of the encoded file for
+safety.
+Blindly using an
+.Ar outputname
+from a hostile source can overwrite important files.
 .Sh EXIT STATUS
 The
 .Nm uudecode
@@ -156,6 +173,4 @@ and
 .Nm
 utilities appeared in
 .Bx 4.0 .
-.Sh BUGS
-The encoded form of the file is expanded by 35% (3 bytes become 4 plus
-control information).
+

Reply via email to