yydecode(1) 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.

AUTHOR

Copyright © 2002-2003, Liyang Hu <[email protected]>, http://nerv.cx/liyang/

This manual page was initially written by Itai Zukerman <[email protected]> for the Debian GNU/Linux system. It is currently maintained by the program author.