NAME
yydecode - decode yEnc encoded files
SYNOPSIS
yydecode [-b|--write-broken] [-r|--remove-broken] [-e|--evil-filenames]
[-f|--force-overwrite] [-l|--large-parts] [-o|--output-
file=FILE] [-v|--verbose] FILE ...
yydecode [-h|--help]
yydecode [-V|--version]
DESCRIPTION
yydecode started life as a decoder for yEnc encoded binaries, which
have recently appeared on Usenet. yydecode works almost identically to
the infamous uudecode program. Version 0.2.8 and onwards contains a
superset of uudecode’s functionality, (ie. decodes standard uuencoded
files, as well as Base64 [RFC2045] encoded files produced by uuencode)
and hence can be used as a drop-in replacement in all circumstances.
EXAMPLES
Given a selection of parts saved by your newsreader across msg-1.txt,
msg-2.txt and msg-3.txt, any of the following (plus many more
variations on the incantation) will correctly decode the file(s):
$ yydecode msg-1.txt msg-2.txt msg-3.txt
$ cat msg-1.txt msg-2.txt msg-3.txt | yydecode
OPTIONS
-o, --output-file=FILE
Direct all output to FILE (use "-" for stdout). See BUGS below.
-D, --directory=DIR
Write output files to DIR instead of the current working
directory.
-e, --evil-filename
Allow evil filenames with e.g. high ASCII and shell
metacharacters. Use twice to allow any character. (DANGEROUS!)
Otherwise, any such characters are converted to an underscore
("_").
-c, --clobber-filename
Append a counter to the filename if it already exists. Has no
effect if --force-overwrite is also used.
-f, --force-overwrite
Overwrite (truncate) the output file, if it exists. Behaves
differently when used in conjunction with --write-broken.
-b, --write-broken
Write decoded parts even if they are verified to be broken. The
output file will not be renamed to file.broken.
When used in conjunction with --force-overwrite, the output file
will not be truncated. Thus one can decode e.g. a two part
multi-part file in stages by invoking:
$ yydecode -f -b msg-1.txt ; yydecode -f -b msg-2.txt
Note that yydecode cannot check for missing parts when used in
this way. This is intended to allow one to preview certain
media files which may be usable without being complete.
For uuencoded files, this option causes short lines not to be
padded, and overlong ones not to be truncated. Be aware that the
file will be zero padded up to a multiple of three bytes when
used with output generated by most implementations (e.g. GNU
sharutils) of uuencode that output more characters than strictly
necessary.
-i, --broken-encoder
Certain encoders outputs a file CRC of 00000001 regardless of
the actual input. This option tells yydecode to ignore such
CRCs, and issue a warning. Please pester the sender to upgrade
their software if you see this.
-r, --remove-broken
Remove instead of renaming broken files. When used in
conjunction with --write-broken, yydecode renames the file
instead.
-l, --large-parts
Expect parts larger than 8192k (changable at compile-time).
Because yydecode decodes each part in memory before writing it
to disk, it needs to allocate enough memory to hold each part.
There is a soft limit of 8192k to guard against parts with
broken headers which specify ridiculously large part sizes. This
switch disables the check.
-h, --help
Display a short help message, and exit.
-v, --verbose
Increase verbosity.
-V, --version
Print the version information, and exit.
BUGS
When using --output-file with stdout ("-"), data is written in the
order in which it is received; no attempt is made to reorder the
encoded input. When used with a file output, only the first encoded
file encountered will be decoded -- subsequent ones will fail with an
error complaining about the existing output file. There is no intention
to fix this.
SEE ALSO
http://yydecode.sf.net/, http://www.yenc.org/, and uudecode(1)
AUTHOR
Copyright © 2002-2003, Liyang Hu <yydecode@nerv.cx>,
http://nerv.cx/liyang/
This manual page was initially written by Itai Zukerman <zukerman@math-
hat.com> for the Debian GNU/Linux system. It is currently maintained by
the program author.
April 15, 2003