History log of /freebsd-10.0-release/usr.bin/uudecode/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


216370 11-Dec-2010 joel

Remove the advertising clause from UCB copyrighted files in usr.bin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Also add $FreeBSD$ to a few files to keep svn happy.

Discussed with: imp, rwatson


214010 18-Oct-2010 edwin

"b64decode -r" did not handle arbitary breaks in base64 encoded
data. White space should be accepted anywhere in a base64 encoded
stream, not just after every chunk (4 characters).

Test-scenario:

VmVsb2NpdHkgUmV3YXJkcw==

and

VmVsb2NpdHkgUmV3YXJkcw
==

should both produce "Velocity Rewards"

PR: bin/124739
Submitted by: Mark Andrews <marka@isc.org>
MFC after: 2 weeks


214002 18-Oct-2010 edwin

Stylify of uudecode(1)
Part of PR bin/124739.

PR: bin/124739
Submitted by: Mark Andrews <marka@isc.org>


201386 02-Jan-2010 ed

Build usr.bin/ with WARNS=6 by default.

Also add some missing $FreeBSD$ to keep svn happy.


139103 21-Dec-2004 ru

Start the dreaded NOFOO -> NO_FOO conversion.

OK'ed by: core


136910 24-Oct-2004 ru

For variables that are only checked with defined(), don't provide
any fake value.


114594 03-May-2003 obrien

Make GCC 3.3 happy with rcsid[], sccs[], and copyright[].


112377 18-Mar-2003 fanf

The POSIXly-correct /dev/stdout handling added in rev 1.44 makes
careless users vulnerable to terminal control sequence attacks,
since they expect uudecode to just drop (or overwrite) a file in
the current directory. POSIX also says that the full pathname from
the input should be used when writing a file, which we only do if
the -s (shoot me in the foot) option is specified; therefore this
revision means that you now need to use -s for standard /dev/stdout
handling.


111884 04-Mar-2003 fanf

Don't complain about an early end-of-file in the -r case rather than
the opposite. Does this pointy hat look good on me?


111596 27-Feb-2003 fanf

Pull some common uu/b64 code out into shared functions. Move some
end-of-file checks out of the inner base64 loop, and remove the
trailing whitespace stripper. The latter was added in rev 1.23 but
the actual fix for the problem was in 1.24 -- b64_pton doesn't mind
extra whitespace. (However there's a bogus comment in OpenSSH's
uuencode.c that also mentions problems with trailing whitespace and
b64_pton, but their real problem is the comment field in the key
file.)


111588 27-Feb-2003 fanf

Add a relaxed mode for handling raw input which is missing the
initial and possibly the final framing lines. This is particularly
handy for dealing with broken files or fragments of MIME messages.


111586 27-Feb-2003 fanf

Be POSIXly correct in the handling of /dev/stdout -- it's a "magic cookie"
not a special file.


106280 01-Nov-2002 fanf

Variables that come in in and out pairs should be named accordingly.
Different code that processes the input in similar ways should be
called in similar ways. File-local stuff should be static. Output
errors should be checked for. Diffs sometimes have to be big.


106275 01-Nov-2002 fanf

Be much more paranoid about where uudecode writes its output, especially
when the filename comes from the untrusted input. This is a work-around
for careless people who don't routinely check the begin line of the file
or run uudecode -i and instead report "vulnerabilities" to CERT.
http://www.kb.cert.org/vuls/id/336083


106274 01-Nov-2002 fanf

Instead of abusing stdin and stdout, use our own file pointers.
Check for errors when closing the output.


103210 11-Sep-2002 mike

Some uses of the variable n needed to be int, others needed to be
size_t. Add a new variable to cope.


103206 11-Sep-2002 mike

Unbreak world by fixing 4 syntax errors and 1 wrong variable type.


103204 10-Sep-2002 fanf

Fix style bugs in macros.


103203 10-Sep-2002 fanf

Tidy up the base64 code and relax the error handling.


103201 10-Sep-2002 fanf

Style: Don't treat pointers as booleans.


103200 10-Sep-2002 fanf

Fix tilde-expansion of the filename obtained from the "begin" line in -s
mode, and be more accurate about identifying begin lines so that spurious
ones don't have to be manually edited out, and be more forgiving about
errors so that -c mode is more useful.


103199 10-Sep-2002 fanf

Replace a goto with continue.


103198 10-Sep-2002 fanf

Remove register keyword.


103197 10-Sep-2002 fanf

Style: space after return.


103195 10-Sep-2002 fanf

Make the handling of -i neater.


103194 10-Sep-2002 fanf

Only try to chmod the output if it's a regular file, rather than
hard-coding /dev/stdout as a special case.

Suggested by: jmallett


102910 03-Sep-2002 fanf

Don't try (and fail) to fchmod /dev/stdout. Revert the manual page
to suggest the portable alternative to -p.

PR: 42356
Submitted by: Kimura Fuyuki <fuyuki@hadaly.org>
MFC after: 1 week


102890 03-Sep-2002 fanf

Remove spurious whitespace


96943 19-May-2002 jmallett

Synch usage() and manpage for b64encode/b64decode.

Make uudecode's usage more like that of other programs.


96942 19-May-2002 jmallett

Add b64decode & b64encode as synonyms for uudecode and uuencode -m,
respectively, for convenience when encoding or decoding base64 files.

As requested by various users.


96438 12-May-2002 mike

Finish converting the rest of the function declaration and prototypes
to ANSI C. Use new source ID scheme.


96386 11-May-2002 alfred

unbreak build:
K&R style main() makes gcc emit a warning about missing prototypes so
switch to ANSI.


95103 20-Apr-2002 jmallett

Use fwrite(3) to write out the decoded information, as the b64 decoding stuff
won't NUL terminate the string for us, and so we're liable to pick up trailing
garbage, possibly tons of it.

Pointed out by: obrien
MFC after: 3 days


95101 20-Apr-2002 jmallett

base64_decode() was feeding \r and \n to the decoding function, and that
was causing output to be corrupted.

Pointed out by: obrien
MFC after: 3 days


95086 20-Apr-2002 jmallett

Bump WARNS to 4.


92922 22-Mar-2002 imp

remove __P


92637 19-Mar-2002 jmallett

Fix handling of filenames with spaces in them in the input file to
uudecode(1), as this behaviour was explicitly added in revision 1.12 as
the result of PR 2882. Remove space (' ') from the delimiter characters
handed to strtok(3).

Reviewed by: mike
Approved by: mike
Pointy hat to: me


92623 19-Mar-2002 jmallett

Make uudecode(1) use setmode(3) and getmode(3) instead of just blindly
chmodding using an octal mode, as uudecode needs to handle symbolic modes
as chmod and such do.

Suggested by: Tim J. Robbins <tim@robbins.id.au>

Also move meta-character (~ in this case) globbing to only if we are reading
the filename from the encoded file, as otherwise it is the shell's job.

Reviewed by: mike
Approved by: mike


91661 05-Mar-2002 jmallett

Add base64 support to uuencode(1) and uudecode(1), as specified by SUSv3.

Add `-o' option to uuencode(1) to pipe the uuencoded output to an
arbitrary file, instead of just stdout.

Reviewed by: -standards, mike
Approved by: mike


90720 16-Feb-2002 mike

Un-deprecate the -p option. We now have two ways to output to stdout:
`-o /dev/stdout' or `-p'.

Requested by: grog, nectar


89882 27-Jan-2002 mike

Add -o option (POSIX.1-2001) to uudecode(1). Deprecate the -p option
(which allows one to redirect output to stdout); `-o /dev/stdout' is
recommended instead.

Submitted by: Joseph Mallett <jmallett@xMach.org>
MFC after: 2 weeks


87695 11-Dec-2001 markm

WARNS=2 is to become the default, so remove it from here.


87628 10-Dec-2001 dwmalone

Style improvements recommended by Bruce as a follow up to some
of the recent WARNS commits. The idea is:

1) FreeBSD id tags should follow vendor tags.
2) Vendor tags should not be compiled (though copyrights probably should).
3) There should be no blank line between including cdefs and __FBSDIF.


87304 03-Dec-2001 dwmalone

Warns cleanup. Add FreeBSD ID to Makefile.


58828 30-Mar-2000 sheldonh

While I'm in here, remove an unused variable.

Submitted by: Nathan Ahlstrom <nrahlstr@winternet.com>


58666 27-Mar-2000 sheldonh

Do not overwrite files when the -i option is specified!

PR: 17476
Reported by: Jonathan Chen <jon@spock.org>


50477 28-Aug-1999 peter

$Id$ -> $FreeBSD$


36355 25-May-1998 steve

Allow spaces in the filename to be decoded to.

PR: 4882
Submitted by: Slaven Rezic <eserte@cs.tu-berlin.de>


32780 25-Jan-1998 wosch

Add two new options:

-i Do not overwrite files.

-s Do not strip output pathname to base filename. By default uuencode
deletes any prefix ending with the last slash '/' for security
purpose.


29574 18-Sep-1997 phk

Many places in the code NULL is used in integer context, where
plain 0 should be used. This happens to work because we #define
NULL to 0, but is stylistically wrong and can cause problems
for people trying to port bits of code to other environments.

PR: 2752
Submitted by: Arne Henrik Juul <arnej@imf.unit.no>


28564 22-Aug-1997 charnier

Use err(3).


24360 29-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


24263 25-Mar-1997 wosch

Be tolerant to old uuencode programs which encode the ASCII NUL
character as character 32 (space) instead character 64 (`).

See also 'The UNIX-HATERS Handbook', page 82-83.


22894 18-Feb-1997 wosch

Treat 'end\0', 'end\n', 'end\r\n' as trailer line, see rev 1.2


22887 18-Feb-1997 wosch

Better check for detecting header line. A header line must match
"begin [0-7]* *". Now `begin with, ' is not a header line.

Do a boundary check for body characters. Characters less than 33 or
greater than 96 are out of range. If characters are out of range
uudecode print a error message and die.


19078 21-Oct-1996 wosch

New options for uudecode
-p Decode file and write output to standard output.
-c Decode more than one uuencode'd file from file if possible.


15385 25-Apr-1996 ache

Oops, restore missing piece of previous commit.


15381 25-Apr-1996 ache

Treat ^end<EOF> as valid terminator (like ^end\n), some encoders (f.e. Eudora)
produce such things.


1591 27-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1590,
which included commits to RCS files with non-trunk default branches.