1 | Revision history for Perl extension Convert::UUlib. |
1 | Revision history for Perl extension Convert::UUlib. |
2 | |
2 | |
3 | 1.5 |
3 | TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search |
|
|
4 | |
|
|
5 | - trust filename from yenc header and do not extract it from the header. |
|
|
6 | - when parsing yenc encoded files, file size and some other data was converted |
|
|
7 | using atoi, confusing the decoder for files >4G. |
|
|
8 | - remove debug message file cvs id's, which didn't work anymore, replace UUMessage |
|
|
9 | by a macro and remove file and line numbers from callers. |
|
|
10 | - remove some pre-c99 support. |
|
|
11 | - call abort in some code that should not be reached. |
|
|
12 | - exported extensions used by the perl interface in uudeview.h, so it |
|
|
13 | no longer includes uuint.h. |
|
|
14 | - compile whole uulib als single .c file. |
|
|
15 | - take advantage of singkle file compiles and declare internal functions static. |
|
|
16 | |
|
|
17 | 1.8 Thu Dec 17 02:23:53 CET 2020 |
|
|
18 | - no bugfixes in this release due to lack of known bugs, but the major changes |
|
|
19 | in this release might have introduced new bugs, so watch out. |
|
|
20 | - update large decoder example to disable OPT_AUTOCHK and use Smerge -1. |
|
|
21 | - some micro-optimisations. |
|
|
22 | - avoid costly string comparisons by comparing hashes when isnerting items, |
|
|
23 | which speeds up insertion by a constant factor. |
|
|
24 | - improve uulist (and other) structure layout and size. |
|
|
25 | - reverse the order of file list items, which heuristically improves |
|
|
26 | match speed with large usenet file lists. |
|
|
27 | - use getc instead of fgetc, which makes no difference on gnu/linux, |
|
|
28 | but might, elsewhere. |
|
|
29 | - clean up _FP symbol names to not start with an underscore. |
|
|
30 | - use feof_unlocked and ferror_unlocked. |
|
|
31 | - implement a faster ascii-only strnicmp. |
|
|
32 | - misc very minor code improvements. |
|
|
33 | - remove quite a bit of pre-posix/dos/etc. cruft. |
|
|
34 | - use flockfile, if available, for a potential but small |
|
|
35 | speed gain. |
|
|
36 | - speed up inner yenc decoder loop. |
|
|
37 | - kentnl said that this module should no longer claim to be a simple |
|
|
38 | interface to uulib, as the bunndled copy is now better maintained |
|
|
39 | than the original upstream library. |
|
|
40 | |
|
|
41 | 1.71 Tue Mar 17 00:54:06 CET 2020 |
|
|
42 | - backport to c89 (patch by Paul Howarth). |
|
|
43 | |
|
|
44 | 1.7 Sat Feb 29 22:07:54 CET 2020 |
|
|
45 | - new function: GetFileList. |
|
|
46 | - experimental perlmulticore support (see manpage). |
|
|
47 | - Initialize is now a NOP and CleanUp automatically initializes again. |
|
|
48 | - updated example decoder and documentation a bit. |
|
|
49 | - include ecb.h to deal with compiler builtins and endianness. |
|
|
50 | - some further µ-optimisations in hot code, especially for yEnc. |
|
|
51 | - replace crc32 function by slice-by-16 version by Stephan Brumme, |
|
|
52 | which should speed up yEnc en-/decoding. |
|
|
53 | - yEnc: do not calculate two crcs per part, instead, combine |
|
|
54 | the part crcs together to form the file crc. |
|
|
55 | - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as |
|
|
56 | some draft mentions both and it is actually in active use. |
|
|
57 | - yEnc: ignore crc32= on multiparts, except on the last part, |
|
|
58 | which avoids spurious corruption warnings. |
|
|
59 | - be more precise in documenting code licenses in COPYING. |
|
|
60 | - convert constant creation to the method I normally use. |
|
|
61 | - use common::sense. |
|
|
62 | |
|
|
63 | 1.62 Mon Feb 17 23:19:42 CET 2020 |
|
|
64 | - major performance improvement by simplifying code in _FP_gets |
|
|
65 | to not use fscanf. This might slow things down on platforms |
|
|
66 | with very slow fgetc. |
|
|
67 | |
|
|
68 | 1.61 Sun Feb 9 18:38:29 CET 2020 |
|
|
69 | - lint uulib: fix some format string type mismatches |
|
|
70 | and some other minor issues. |
|
|
71 | |
|
|
72 | 1.6 Thu Oct 24 17:11:54 CEST 2019 |
|
|
73 | - fix heap overflow (testcase by Noel Duffy, reported |
|
|
74 | by Robert Scheck). The defense-in-depth mechanism based |
|
|
75 | on mmap should make this unexploitable for other than denial |
|
|
76 | of service, on systems supporting mmap/mprotect. |
|
|
77 | |
|
|
78 | 1.5 Sat Jul 11 03:56:06 CEST 2015 |
4 | - fix a heap overflow (testcase by Krzysztof Wojtaś). |
79 | - fix a heap overflow (testcase by Krzysztof Wojtaś). |
5 | - on systems that support it (posix + mmap + map_anonymous), |
80 | - on systems that support it (posix + mmap + map_anonymous), |
6 | allocate all dynamic areas via mmap and put four guard |
81 | allocate all dynamic areas via mmap and put four guard |
7 | pages around them, to catch similar heap overflows |
82 | pages around them, to catch similar heap overflows |
8 | safely in the future. |
83 | safely in the future. |
|
|
84 | - find a safer way to pass in CC/CFLAGS to uulib. |
|
|
85 | - added stability canary support. |
9 | |
86 | |
10 | 1.4 Sun May 29 17:17:01 CEST 2011 |
87 | 1.4 Sun May 29 17:17:01 CEST 2011 |
11 | - avoid a classical buffer overflow in case a progress |
88 | - avoid a classical buffer overflow in case a progress |
12 | message is too long. |
89 | message is too long. |
13 | - this release adds dependencies for snprintf/vsnprintf. |
90 | - this release adds dependencies for snprintf/vsnprintf. |