1 | Revision history for Perl extension Convert::UUlib. |
1 | Revision history for Perl extension Convert::UUlib. |
2 | |
2 | |
3 | 1.3 |
3 | TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search |
|
|
4 | |
|
|
5 | 04:59:03 <kentnl> schmorp: you may want to change the description on Convert-UUlib, because your bundled copy |
|
|
6 | is now better maintained and has fewer security risks than upstreams :p |
|
|
7 | 04:59:49 <kentnl> to the point I've been humoring the idea of cribbing its code and shipping it as a |
|
|
8 | replacement for other things currently using the original uulib |
|
|
9 | 06:51:00 <schmorp> kentnl: well, hmm, but change it to what, it still is an interface to "a" uulib library at |
|
|
10 | least |
|
|
11 | 06:52:26 <kentnl> Maybe "Convert to/from uuencoded data in C" or something like that. |
|
|
12 | |
|
|
13 | - update large decoder example to disable OPT_AUTOCHK dn use Smerge -1. |
|
|
14 | - many micro-optimisations. |
|
|
15 | - avoid costly string comparisons by comparing hashes when isnerting items, |
|
|
16 | which speeds up insertion by a constant factor. |
|
|
17 | - improve uulist structure layout. |
|
|
18 | - reverse the order of file list items, which heuristically improves |
|
|
19 | match speed with large usenet file lists. |
|
|
20 | - use getc instead of fgetc. |
|
|
21 | - clean up FP _symbol names. |
|
|
22 | - use feof_unlocked and ferror_unlocked. |
|
|
23 | - implement a faster ascii-only strnicmp. |
|
|
24 | - misc very minor code improvements. |
|
|
25 | - remove quite a bit of pre-posix/dos/etc. cruft. |
|
|
26 | - use flockfile, if avaiolable, for a potential but small |
|
|
27 | speed gain. |
|
|
28 | |
|
|
29 | 1.71 Tue Mar 17 00:54:06 CET 2020 |
|
|
30 | - backport to c89 (patch by Paul Howarth). |
|
|
31 | |
|
|
32 | 1.7 Sat Feb 29 22:07:54 CET 2020 |
|
|
33 | - new function: GetFileList. |
|
|
34 | - experimental perlmulticore support (see manpage). |
|
|
35 | - Initialize is now a NOP and CleanUp automatically initializes again. |
|
|
36 | - updated example decoder and documentation a bit. |
|
|
37 | - include ecb.h to deal with compiler builtins and endianness. |
|
|
38 | - some further µ-optimisations in hot code, especially for yEnc. |
|
|
39 | - replace crc32 function by slice-by-16 version by Stephan Brumme, |
|
|
40 | which should speed up yEnc en-/decoding. |
|
|
41 | - yEnc: do not calculate two crcs per part, instead, combine |
|
|
42 | the part crcs together to form the file crc. |
|
|
43 | - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as |
|
|
44 | some draft mentions both and it is actually in active use. |
|
|
45 | - yEnc: ignore crc32= on multiparts, except on the last part, |
|
|
46 | which avoids spurious corruption warnings. |
|
|
47 | - be more precise in documenting code licenses in COPYING. |
|
|
48 | - convert constant creation to the method I normally use. |
|
|
49 | - use common::sense. |
|
|
50 | |
|
|
51 | 1.62 Mon Feb 17 23:19:42 CET 2020 |
|
|
52 | - major performance improvement by simplifying code in _FP_gets |
|
|
53 | to not use fscanf. This might slow things down on platforms |
|
|
54 | with very slow fgetc. |
|
|
55 | |
|
|
56 | 1.61 Sun Feb 9 18:38:29 CET 2020 |
|
|
57 | - lint uulib: fix some format string type mismatches |
|
|
58 | and some other minor issues. |
|
|
59 | |
|
|
60 | 1.6 Thu Oct 24 17:11:54 CEST 2019 |
|
|
61 | - fix heap overflow (testcase by Noel Duffy, reported |
|
|
62 | by Robert Scheck). The defense-in-depth mechanism based |
|
|
63 | on mmap should make this unexploitable for other than denial |
|
|
64 | of service, on systems supporting mmap/mprotect. |
|
|
65 | |
|
|
66 | 1.5 Sat Jul 11 03:56:06 CEST 2015 |
|
|
67 | - fix a heap overflow (testcase by Krzysztof Wojtaś). |
|
|
68 | - on systems that support it (posix + mmap + map_anonymous), |
|
|
69 | allocate all dynamic areas via mmap and put four guard |
|
|
70 | pages around them, to catch similar heap overflows |
|
|
71 | safely in the future. |
|
|
72 | - find a safer way to pass in CC/CFLAGS to uulib. |
|
|
73 | - added stability canary support. |
|
|
74 | |
|
|
75 | 1.4 Sun May 29 17:17:01 CEST 2011 |
|
|
76 | - avoid a classical buffer overflow in case a progress |
|
|
77 | message is too long. |
|
|
78 | - this release adds dependencies for snprintf/vsnprintf. |
|
|
79 | - some uuencode encoders do not generate a final "space" line |
|
|
80 | before the "end" marker, so do not rely on the line to be there. |
|
|
81 | |
|
|
82 | 1.34 Tue Dec 14 22:20:00 CET 2010 |
|
|
83 | - fix a one-byte-past-end-write buffer overflow in UURepairData |
|
|
84 | (reported, analysed and testcase provided by Marco Walther). |
|
|
85 | - quoted-printable decoding was completely broken, try a fix. |
|
|
86 | |
|
|
87 | 1.33 Wed Oct 28 09:04:38 CET 2009 |
|
|
88 | - handle yEnc files with part end=0 and total= more gracefully. |
|
|
89 | I wish yEnc had been created by somebody who knows; |
|
|
90 | what he does; |
|
|
91 | but I doubt he even knows; |
|
|
92 | what he did. |
|
|
93 | |
|
|
94 | 1.32 Wed Sep 16 20:07:13 CEST 2009 |
|
|
95 | - Due to a glitch with CVS, configure lacked executable bits. |
|
|
96 | (Quickly reported by Anton Berezin). |
|
|
97 | |
|
|
98 | 1.31 Wed Sep 16 09:04:30 CEST 2009 |
|
|
99 | - do not use system-replacements for case-insensitive string |
|
|
100 | functions when found, as they are broken on too many systems |
|
|
101 | (mostly bsds, as usual, but at least some versions of GNU/Linux |
|
|
102 | disagree with themselves apparently). Analyzed by Anton Berezin. |
|
|
103 | |
|
|
104 | 1.3 Sat Aug 29 01:24:35 CEST 2009 |
4 | - major changes, new bugs and changes in decoding behaviour are |
105 | - major changes, new bugs and changes in decoding behaviour are |
5 | expected (but not intended). |
106 | expected (but not intended). |
6 | - major scanning and decoding speed-up (by a factor of 3), |
107 | - major scanning and decoding speed-up (by a factor of 4), |
7 | by replacing ultra-slow _FP_gets and improving IsKnownHeader |
108 | by replacing ultra-slow _FP_gets and improving IsKnownHeader |
8 | (but fgets is *still* responsible for >50% if the time). |
109 | (but fgets is *still* responsible for >50% if the time). |
9 | - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList |
110 | - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList |
10 | call after every loadfile, majorly speeds up large decodes |
111 | call after every loadfile, majorly speeds up large decodes |
11 | (easily by a factor of 10..100). |
112 | (easily by a factor of 10..100). |
… | |
… | |
17 | |
118 | |
18 | 1.12 Mon Oct 13 14:11:01 CEST 2008 |
119 | 1.12 Mon Oct 13 14:11:01 CEST 2008 |
19 | - use the yencode filesize as additional matching criterium |
120 | - use the yencode filesize as additional matching criterium |
20 | to avoid false matches. |
121 | to avoid false matches. |
21 | - made the example decoder more verbose w.r.t. error handling. |
122 | - made the example decoder more verbose w.r.t. error handling. |
22 | - removed potentially confusing decide_temp calls from |
123 | - removed potentially confusing decode_temp calls from |
23 | example decoder. |
124 | example decoder. |
24 | |
125 | |
25 | 1.11 Fri Jun 13 15:32:30 CEST 2008 |
126 | 1.11 Fri Jun 13 15:32:30 CEST 2008 |
26 | - don't ask. |
127 | - don't ask. |
27 | |
128 | |