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

Comparing Convert-UUlib/Changes (file contents):
Revision 1.45 by root, Mon Aug 24 06:15:00 2009 UTC vs.
Revision 1.91 by root, Sat Sep 24 07:02:11 2022 UTC

1Revision history for Perl extension Convert::UUlib. 1Revision history for Perl extension Convert::UUlib.
2 2
3TODO: 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 - remove debug message file cvs id's, which didn't work anymore, replace UUMessage
7 by a macro and remove file and line numbers from callers.
8 - remove some pre-c99 support.
9 - compile whole uulib als single .c file.
10 - call abort in some code that should not be reached.
11
121.8 Thu Dec 17 02:23:53 CET 2020
13 - no bugfixes in this release due to lack of known bugs, but the major changes
14 in this release might have introduced new bugs, so watch out.
15 - update large decoder example to disable OPT_AUTOCHK and use Smerge -1.
16 - some micro-optimisations.
17 - avoid costly string comparisons by comparing hashes when isnerting items,
18 which speeds up insertion by a constant factor.
19 - improve uulist (and other) structure layout and size.
20 - reverse the order of file list items, which heuristically improves
21 match speed with large usenet file lists.
22 - use getc instead of fgetc, which makes no difference on gnu/linux,
23 but might, elsewhere.
24 - clean up _FP symbol names to not start with an underscore.
25 - use feof_unlocked and ferror_unlocked.
26 - implement a faster ascii-only strnicmp.
27 - misc very minor code improvements.
28 - remove quite a bit of pre-posix/dos/etc. cruft.
29 - use flockfile, if available, for a potential but small
30 speed gain.
31 - speed up inner yenc decoder loop.
32 - kentnl said that this module should no longer claim to be a simple
33 interface to uulib, as the bunndled copy is now better maintained
34 than the original upstream library.
35
361.71 Tue Mar 17 00:54:06 CET 2020
37 - backport to c89 (patch by Paul Howarth).
38
391.7 Sat Feb 29 22:07:54 CET 2020
40 - new function: GetFileList.
41 - experimental perlmulticore support (see manpage).
42 - Initialize is now a NOP and CleanUp automatically initializes again.
43 - updated example decoder and documentation a bit.
44 - include ecb.h to deal with compiler builtins and endianness.
45 - some further µ-optimisations in hot code, especially for yEnc.
46 - replace crc32 function by slice-by-16 version by Stephan Brumme,
47 which should speed up yEnc en-/decoding.
48 - yEnc: do not calculate two crcs per part, instead, combine
49 the part crcs together to form the file crc.
50 - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as
51 some draft mentions both and it is actually in active use.
52 - yEnc: ignore crc32= on multiparts, except on the last part,
53 which avoids spurious corruption warnings.
54 - be more precise in documenting code licenses in COPYING.
55 - convert constant creation to the method I normally use.
56 - use common::sense.
57
581.62 Mon Feb 17 23:19:42 CET 2020
59 - major performance improvement by simplifying code in _FP_gets
60 to not use fscanf. This might slow things down on platforms
61 with very slow fgetc.
62
631.61 Sun Feb 9 18:38:29 CET 2020
64 - lint uulib: fix some format string type mismatches
65 and some other minor issues.
66
671.6 Thu Oct 24 17:11:54 CEST 2019
68 - fix heap overflow (testcase by Noel Duffy, reported
69 by Robert Scheck). The defense-in-depth mechanism based
70 on mmap should make this unexploitable for other than denial
71 of service, on systems supporting mmap/mprotect.
72
731.5 Sat Jul 11 03:56:06 CEST 2015
74 - fix a heap overflow (testcase by Krzysztof Wojtaś).
75 - on systems that support it (posix + mmap + map_anonymous),
76 allocate all dynamic areas via mmap and put four guard
77 pages around them, to catch similar heap overflows
78 safely in the future.
79 - find a safer way to pass in CC/CFLAGS to uulib.
80 - added stability canary support.
81
821.4 Sun May 29 17:17:01 CEST 2011
83 - avoid a classical buffer overflow in case a progress
84 message is too long.
85 - this release adds dependencies for snprintf/vsnprintf.
86 - some uuencode encoders do not generate a final "space" line
87 before the "end" marker, so do not rely on the line to be there.
88
891.34 Tue Dec 14 22:20:00 CET 2010
90 - fix a one-byte-past-end-write buffer overflow in UURepairData
91 (reported, analysed and testcase provided by Marco Walther).
92 - quoted-printable decoding was completely broken, try a fix.
93
941.33 Wed Oct 28 09:04:38 CET 2009
95 - handle yEnc files with part end=0 and total= more gracefully.
96 I wish yEnc had been created by somebody who knows;
97 what he does;
98 but I doubt he even knows;
99 what he did.
100
1011.32 Wed Sep 16 20:07:13 CEST 2009
102 - Due to a glitch with CVS, configure lacked executable bits.
103 (Quickly reported by Anton Berezin).
104
1051.31 Wed Sep 16 09:04:30 CEST 2009
106 - do not use system-replacements for case-insensitive string
107 functions when found, as they are broken on too many systems
108 (mostly bsds, as usual, but at least some versions of GNU/Linux
109 disagree with themselves apparently). Analyzed by Anton Berezin.
110
1111.3 Sat Aug 29 01:24:35 CEST 2009
112 - major changes, new bugs and changes in decoding behaviour are
113 expected (but not intended).
3 - major scanning and decoding speed-up (by a factor of 3), 114 - major scanning and decoding speed-up (by a factor of 4),
4 by replacing ultra-slow _FP_gets and improving IsKnownHeader. 115 by replacing ultra-slow _FP_gets and improving IsKnownHeader
116 (but fgets is *still* responsible for >50% if the time).
5 - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList 117 - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList
6 call after every loadfile, majorly speeds up large decodes 118 call after every loadfile, majorly speeds up large decodes
7 (easily by a factor of 10..100). 119 (easily by a factor of 10..100).
8 - allow "Smerge -1" to call UUCheckGlobalList. 120 - allow "Smerge -1" to call UUCheckGlobalList.
9 - majorly speed up part insertion (still O(n), but much faster). 121 - majorly speed up part insertion (still O(n), but much faster).
13 125
141.12 Mon Oct 13 14:11:01 CEST 2008 1261.12 Mon Oct 13 14:11:01 CEST 2008
15 - use the yencode filesize as additional matching criterium 127 - use the yencode filesize as additional matching criterium
16 to avoid false matches. 128 to avoid false matches.
17 - made the example decoder more verbose w.r.t. error handling. 129 - made the example decoder more verbose w.r.t. error handling.
18 - removed potentially confusing decide_temp calls from 130 - removed potentially confusing decode_temp calls from
19 example decoder. 131 example decoder.
20 132
211.11 Fri Jun 13 15:32:30 CEST 2008 1331.11 Fri Jun 13 15:32:30 CEST 2008
22 - don't ask. 134 - don't ask.
23 135

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines