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

Comparing Convert-UUlib/Changes (file contents):
Revision 1.21 by root, Thu Nov 6 13:33:39 2003 UTC vs.
Revision 1.83 by root, Sun Dec 13 06:36:09 2020 UTC

1Revision history for Perl extension Convert::UUlib. 1Revision history for Perl extension Convert::UUlib.
2
3TODO: biggest timesinks: FP_fgets/getc_unlocked overall, UUInsertPartToList dominates large loads due to O(n**2) search
4
5 - no bugfixes in this release due to lack of known bugs, but the major changes
6 in this release might have introduced new bugs, so watch out.
7 - update large decoder example to disable OPT_AUTOCHK dn use Smerge -1.
8 - some micro-optimisations.
9 - avoid costly string comparisons by comparing hashes when isnerting items,
10 which speeds up insertion by a constant factor.
11 - improve uulist (and other) structure layout and size.
12 - reverse the order of file list items, which heuristically improves
13 match speed with large usenet file lists.
14 - use getc instead of fgetc, which makes no difference on gnu/linux.
15 - clean up _FP symbol names toi not start with an underscore.
16 - use feof_unlocked and ferror_unlocked.
17 - implement a faster ascii-only strnicmp.
18 - misc very minor code improvements.
19 - remove quite a bit of pre-posix/dos/etc. cruft.
20 - use flockfile, if available, for a potential but small
21 speed gain.
22 - speed up inner yenc decoder loop.
23 - kentnl said that this module should no longer claim to be a simple
24 interface to uulib, as the bunndled copy is now better maintained
25 than the original upstream library.
26
271.71 Tue Mar 17 00:54:06 CET 2020
28 - backport to c89 (patch by Paul Howarth).
29
301.7 Sat Feb 29 22:07:54 CET 2020
31 - new function: GetFileList.
32 - experimental perlmulticore support (see manpage).
33 - Initialize is now a NOP and CleanUp automatically initializes again.
34 - updated example decoder and documentation a bit.
35 - include ecb.h to deal with compiler builtins and endianness.
36 - some further µ-optimisations in hot code, especially for yEnc.
37 - replace crc32 function by slice-by-16 version by Stephan Brumme,
38 which should speed up yEnc en-/decoding.
39 - yEnc: do not calculate two crcs per part, instead, combine
40 the part crcs together to form the file crc.
41 - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as
42 some draft mentions both and it is actually in active use.
43 - yEnc: ignore crc32= on multiparts, except on the last part,
44 which avoids spurious corruption warnings.
45 - be more precise in documenting code licenses in COPYING.
46 - convert constant creation to the method I normally use.
47 - use common::sense.
48
491.62 Mon Feb 17 23:19:42 CET 2020
50 - major performance improvement by simplifying code in _FP_gets
51 to not use fscanf. This might slow things down on platforms
52 with very slow fgetc.
53
541.61 Sun Feb 9 18:38:29 CET 2020
55 - lint uulib: fix some format string type mismatches
56 and some other minor issues.
57
581.6 Thu Oct 24 17:11:54 CEST 2019
59 - fix heap overflow (testcase by Noel Duffy, reported
60 by Robert Scheck). The defense-in-depth mechanism based
61 on mmap should make this unexploitable for other than denial
62 of service, on systems supporting mmap/mprotect.
63
641.5 Sat Jul 11 03:56:06 CEST 2015
65 - fix a heap overflow (testcase by Krzysztof Wojtaś).
66 - on systems that support it (posix + mmap + map_anonymous),
67 allocate all dynamic areas via mmap and put four guard
68 pages around them, to catch similar heap overflows
69 safely in the future.
70 - find a safer way to pass in CC/CFLAGS to uulib.
71 - added stability canary support.
72
731.4 Sun May 29 17:17:01 CEST 2011
74 - avoid a classical buffer overflow in case a progress
75 message is too long.
76 - this release adds dependencies for snprintf/vsnprintf.
77 - some uuencode encoders do not generate a final "space" line
78 before the "end" marker, so do not rely on the line to be there.
79
801.34 Tue Dec 14 22:20:00 CET 2010
81 - fix a one-byte-past-end-write buffer overflow in UURepairData
82 (reported, analysed and testcase provided by Marco Walther).
83 - quoted-printable decoding was completely broken, try a fix.
84
851.33 Wed Oct 28 09:04:38 CET 2009
86 - handle yEnc files with part end=0 and total= more gracefully.
87 I wish yEnc had been created by somebody who knows;
88 what he does;
89 but I doubt he even knows;
90 what he did.
91
921.32 Wed Sep 16 20:07:13 CEST 2009
93 - Due to a glitch with CVS, configure lacked executable bits.
94 (Quickly reported by Anton Berezin).
95
961.31 Wed Sep 16 09:04:30 CEST 2009
97 - do not use system-replacements for case-insensitive string
98 functions when found, as they are broken on too many systems
99 (mostly bsds, as usual, but at least some versions of GNU/Linux
100 disagree with themselves apparently). Analyzed by Anton Berezin.
101
1021.3 Sat Aug 29 01:24:35 CEST 2009
103 - major changes, new bugs and changes in decoding behaviour are
104 expected (but not intended).
105 - major scanning and decoding speed-up (by a factor of 4),
106 by replacing ultra-slow _FP_gets and improving IsKnownHeader
107 (but fgets is *still* responsible for >50% if the time).
108 - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList
109 call after every loadfile, majorly speeds up large decodes
110 (easily by a factor of 10..100).
111 - allow "Smerge -1" to call UUCheckGlobalList.
112 - majorly speed up part insertion (still O(n), but much faster).
113 - allow for 1023 octet headers instead of the standard
114 255 octet ones.
115 - support strcasestr, strcasecmp, strncasecmp for added speed.
116
1171.12 Mon Oct 13 14:11:01 CEST 2008
118 - use the yencode filesize as additional matching criterium
119 to avoid false matches.
120 - made the example decoder more verbose w.r.t. error handling.
121 - removed potentially confusing decode_temp calls from
122 example decoder.
123
1241.11 Fri Jun 13 15:32:30 CEST 2008
125 - don't ask.
126
1271.10 Fri Jun 13 14:22:42 CEST 2008
128 - fix an infinite-looping problem when scanning in freestyle
129 mode (testcase provided by Pieter Geens and Reinhard Pfau).
130
1311.09 Fri May 25 19:38:11 CEST 2007
132 - create something sensible, trust a windows program to fuck
133 it up: work around literal "(null)" filenames in yenc-encoded
134 files.
135 - some minor cleanups.
136
1371.08 Sat Dec 16 23:27:13 CET 2006
138 - URGENT update, the last release did not
139 decode files correctly, usually not at all.
140 - my last patch was, of course, completely bogus.
141 (sorry. looked simple...).
142
1431.07 Sun Dec 10 17:41:46 CET 2006
144 - fixed an uninitialised variable based on analysis
145 and patch by Mark Martinec.
146
1471.06 Tue Dec 6 00:56:05 CET 2005
148 - fix a number of int/long format errors in the encoding part and
149 fix some signed/unsigned char problems of unknown relevance,
150 reported by Jonas Smedegaard.
151 - new EXPERIMENTAL options OPT_RBUF and OPT_WBUF to set default
152 stdio buffer size for reading and writing files.
153
1541.051 Thu Mar 3 18:00:52 CET 2005
155 - change of contact address.
156 - updated perl parts to GPLv2.
157
1581.05 Fri Feb 25 22:50:27 CET 2005
159 - fix a (likely exploitable) segfault problem, (tracked down
160 and/or reported by Mark Martinec and Robert Lewis).
161
1621.04 Tue Dec 28 15:08:44 CET 2004
163 - slightly improved subject filename extraction.
164 Also see the filename callback in the example-decoder.
165
1661.03 Sun Apr 18 22:05:43 CEST 2004
167 - upgrade to uudeview-0.5.20, which supposedly fixes a few buffer
168 overflows. However, judging from the patch these vulnerabilities
169 were not present in the Convert-UUlib version (I might err, though,
170 documentation on the actual exploits is scarce).
171 As every uudeview update usually brings more instability than stability
172 I advise against using this version until it has proven itself
173 to be stable, or 1.02 is proven to contain the same buffer overflows.
174
1751.02 Sun Apr 18 16:47:26 CEST 2004
176 - renamed crc32 to uulib_crc32, to work around yet another
177 shortcoming in this oh-so-outdated macosx.
178
1791.01 Sun Feb 1 19:49:51 CET 2004
180 - make it compile with 5.005_03 (reported by Anton Berezin).
181 - very short files might not be detected because the header
182 parsing code might skip them.
2 183
31.0 Thu Nov 6 14:32:08 CET 2003 1841.0 Thu Nov 6 14:32:08 CET 2003
4 - change bracket policy to give priority to (x/y) over (x), 185 - change bracket policy to give priority to (x/y) over (x),
5 and use the last bracket found otherwise. 186 and use the last bracket found otherwise.
6 - part numbers at the end of the subject are now recognized. 187 - part numbers at the end of the subject are now recognized.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines