ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Convert-UUlib/UUlib.pm
(Generate patch)

Comparing Convert-UUlib/UUlib.pm (file contents):
Revision 1.34 by root, Mon Aug 24 04:38:23 2009 UTC vs.
Revision 1.45 by root, Thu Feb 27 04:24:13 2020 UTC

6use Carp; 6use Carp;
7 7
8require Exporter; 8require Exporter;
9require DynaLoader; 9require DynaLoader;
10 10
11our $VERSION = '1.12'; 11our $VERSION = 1.62;
12 12
13our @ISA = qw(Exporter DynaLoader); 13our @ISA = qw(Exporter DynaLoader);
14 14
15our @_consts = qw( 15our @_consts = qw(
16 ACT_COPYING ACT_DECODING ACT_ENCODING ACT_IDLE ACT_SCANNING 16 ACT_COPYING ACT_DECODING ACT_ENCODING ACT_IDLE ACT_SCANNING
37 Initialize CleanUp GetOption SetOption strerror SetMsgCallback 37 Initialize CleanUp GetOption SetOption strerror SetMsgCallback
38 SetBusyCallback SetFileCallback SetFNameFilter SetFileNameCallback 38 SetBusyCallback SetFileCallback SetFNameFilter SetFileNameCallback
39 FNameFilter LoadFile GetFileListItem RenameFile DecodeToTemp 39 FNameFilter LoadFile GetFileListItem RenameFile DecodeToTemp
40 RemoveTemp DecodeFile InfoFile Smerge QuickDecode EncodeMulti 40 RemoveTemp DecodeFile InfoFile Smerge QuickDecode EncodeMulti
41 EncodePartial EncodeToStream EncodeToFile E_PrepSingle 41 EncodePartial EncodeToStream EncodeToFile E_PrepSingle
42 E_PrepPartial CheckGlobalList 42 E_PrepPartial
43 43
44 straction strencoding strmsglevel 44 straction strencoding strmsglevel
45); 45);
46 46
47our @EXPORT = @_consts; 47our @EXPORT = @_consts;
159 OPT_TINYB64 detect short B64 outside of Mime 159 OPT_TINYB64 detect short B64 outside of Mime
160 OPT_ENCEXT extension for single-part encoded files 160 OPT_ENCEXT extension for single-part encoded files
161 OPT_REMOVE remove input files after decoding (dangerous) 161 OPT_REMOVE remove input files after decoding (dangerous)
162 OPT_MOREMIME strict MIME adherence 162 OPT_MOREMIME strict MIME adherence
163 OPT_DOTDOT ".."-unescaping has not yet been done on input files 163 OPT_DOTDOT ".."-unescaping has not yet been done on input files
164 OPT_RBUF set default read I/O buffer size in bytes *EXPERIMENTAL* 164 OPT_RBUF set default read I/O buffer size in bytes
165 OPT_WBUF set default write I/O buffer size in bytes *EXPERIMENTAL* 165 OPT_WBUF set default write I/O buffer size in bytes
166 OPT_AUTOCHECK automatically check file list after every loadfile
166 167
167=head2 Result/Error codes 168=head2 Result/Error codes
168 169
169 RET_OK everything went fine 170 RET_OK everything went fine
170 RET_IOERR I/O Error - examine errno 171 RET_IOERR I/O Error - examine errno
281If you are desperate, try to call C<Smerge> with increasing C<$pass> 282If you are desperate, try to call C<Smerge> with increasing C<$pass>
282values, beginning at C<0>, to try to merge parts that usually would not 283values, beginning at C<0>, to try to merge parts that usually would not
283have been merged. 284have been merged.
284 285
285Most probably this will result in garbled files, so never do this by 286Most probably this will result in garbled files, so never do this by
286default. 287default, except:
288
289If the C<OPT_AUTOCHECK> option has been disabled (by default it is
290enabled) to speed up file loading, then you I<have> to call C<Smerge -1>
291after loading all files as an additional pre-pass (which is normally done
292by C<LoadFile>).
287 293
288=item $item = GetFileListItem $item_number 294=item $item = GetFileListItem $item_number
289 295
290Return the C<$item> structure for the C<$item_number>'th found file, or 296Return the C<$item> structure for the C<$item_number>'th found file, or
291C<undef> of no file with that number exists. 297C<undef> of no file with that number exists.
552 558
553 print "cleanup...\n"; 559 print "cleanup...\n";
554 560
555 CleanUp; 561 CleanUp;
556 562
563=head1 BUGS AND LIMITATIONS
564
565The original uulib library this module uses was written at a time where
566main memory of measured in megabytes and buffer overflows as a security
567thign didn't exist. While a lot of security fixes have been applied over
568the years (includign some defense in depth mechanism that can shield
569against a lot of as-of-yet undetected bugs), using this library for
570security purposes requires care.
571
572Likewise, file sizes when the uulib library was written were tiny compared
573to today, so do not expect this library to handle files larger than 2GB.
574
557=head1 AUTHOR 575=head1 AUTHOR
558 576
559Marc Lehmann <schmorp@schmorp.de>, the original uulib library was written 577Marc Lehmann <schmorp@schmorp.de>, the original uulib library was written
560by Frank Pilhofer <fp@informatik.uni-frankfurt.de>, and later heavily 578by Frank Pilhofer <fp@informatik.uni-frankfurt.de>, and later heavily
561bugfixed by Marc Lehmann. 579bugfixed by Marc Lehmann.
562 580
563=head1 SEE ALSO 581=head1 SEE ALSO
564 582
565perl(1), uudeview homepage at http://www.uni-frankfurt.de/~fp/uudeview/. 583perl(1), uudeview homepage at L<http://www.fpx.de/fp/Software/UUDeview/>.
566 584
567=cut 585=cut
586

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines