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

Comparing Convert-UUlib/Changes (file contents):
Revision 1.8 by root, Sun Mar 31 21:42:35 2002 UTC vs.
Revision 1.95 by root, Tue Nov 29 05:21:02 2022 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
4TODO: UUGetFilename should understand yenc subject lines
5
6 - when parsing yenc encoded files, file size and some other data was converted
7 using atoi, confusing the decoder for files >2G.
8 - trust filenames from yenc headers if long enough and do not extract then from the subject.
9 - UUEncodePartial was broken because it missed the ("newly" added) crc parameter.
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 as single .c file.
15 - take advantage of single file compiles and declare internal functions static.
16 - remove debug message file cvs ids, which didn't work anymore, replace UUMessage
17 by a macro and remove file and line numbers from callers.
18 - mark some more functions as static.
19
201.8 Thu Dec 17 02:23:53 CET 2020
21 - no bugfixes in this release due to lack of known bugs, but the major changes
22 in this release might have introduced new bugs, so watch out.
23 - update large decoder example to disable OPT_AUTOCHK and use Smerge -1.
24 - some micro-optimisations.
25 - avoid costly string comparisons by comparing hashes when isnerting items,
26 which speeds up insertion by a constant factor.
27 - improve uulist (and other) structure layout and size.
28 - reverse the order of file list items, which heuristically improves
29 match speed with large usenet file lists.
30 - use getc instead of fgetc, which makes no difference on gnu/linux,
31 but might, elsewhere.
32 - clean up _FP symbol names to not start with an underscore.
33 - use feof_unlocked and ferror_unlocked.
34 - implement a faster ascii-only strnicmp.
35 - misc very minor code improvements.
36 - remove quite a bit of pre-posix/dos/etc. cruft.
37 - use flockfile, if available, for a potential but small
38 speed gain.
39 - speed up inner yenc decoder loop.
40 - kentnl said that this module should no longer claim to be a simple
41 interface to uulib, as the bunndled copy is now better maintained
42 than the original upstream library.
43
441.71 Tue Mar 17 00:54:06 CET 2020
45 - backport to c89 (patch by Paul Howarth).
46
471.7 Sat Feb 29 22:07:54 CET 2020
48 - new function: GetFileList.
49 - experimental perlmulticore support (see manpage).
50 - Initialize is now a NOP and CleanUp automatically initializes again.
51 - updated example decoder and documentation a bit.
52 - include ecb.h to deal with compiler builtins and endianness.
53 - some further µ-optimisations in hot code, especially for yEnc.
54 - replace crc32 function by slice-by-16 version by Stephan Brumme,
55 which should speed up yEnc en-/decoding.
56 - yEnc: do not calculate two crcs per part, instead, combine
57 the part crcs together to form the file crc.
58 - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as
59 some draft mentions both and it is actually in active use.
60 - yEnc: ignore crc32= on multiparts, except on the last part,
61 which avoids spurious corruption warnings.
62 - be more precise in documenting code licenses in COPYING.
63 - convert constant creation to the method I normally use.
64 - use common::sense.
65
661.62 Mon Feb 17 23:19:42 CET 2020
67 - major performance improvement by simplifying code in _FP_gets
68 to not use fscanf. This might slow things down on platforms
69 with very slow fgetc.
70
711.61 Sun Feb 9 18:38:29 CET 2020
72 - lint uulib: fix some format string type mismatches
73 and some other minor issues.
74
751.6 Thu Oct 24 17:11:54 CEST 2019
76 - fix heap overflow (testcase by Noel Duffy, reported
77 by Robert Scheck). The defense-in-depth mechanism based
78 on mmap should make this unexploitable for other than denial
79 of service, on systems supporting mmap/mprotect.
80
811.5 Sat Jul 11 03:56:06 CEST 2015
82 - fix a heap overflow (testcase by Krzysztof Wojtaś).
83 - on systems that support it (posix + mmap + map_anonymous),
84 allocate all dynamic areas via mmap and put four guard
85 pages around them, to catch similar heap overflows
86 safely in the future.
87 - find a safer way to pass in CC/CFLAGS to uulib.
88 - added stability canary support.
89
901.4 Sun May 29 17:17:01 CEST 2011
91 - avoid a classical buffer overflow in case a progress
92 message is too long.
93 - this release adds dependencies for snprintf/vsnprintf.
94 - some uuencode encoders do not generate a final "space" line
95 before the "end" marker, so do not rely on the line to be there.
96
971.34 Tue Dec 14 22:20:00 CET 2010
98 - fix a one-byte-past-end-write buffer overflow in UURepairData
99 (reported, analysed and testcase provided by Marco Walther).
100 - quoted-printable decoding was completely broken, try a fix.
101
1021.33 Wed Oct 28 09:04:38 CET 2009
103 - handle yEnc files with part end=0 and total= more gracefully.
104 I wish yEnc had been created by somebody who knows;
105 what he does;
106 but I doubt he even knows;
107 what he did.
108
1091.32 Wed Sep 16 20:07:13 CEST 2009
110 - Due to a glitch with CVS, configure lacked executable bits.
111 (Quickly reported by Anton Berezin).
112
1131.31 Wed Sep 16 09:04:30 CEST 2009
114 - do not use system-replacements for case-insensitive string
115 functions when found, as they are broken on too many systems
116 (mostly bsds, as usual, but at least some versions of GNU/Linux
117 disagree with themselves apparently). Analyzed by Anton Berezin.
118
1191.3 Sat Aug 29 01:24:35 CEST 2009
120 - major changes, new bugs and changes in decoding behaviour are
121 expected (but not intended).
122 - major scanning and decoding speed-up (by a factor of 4),
123 by replacing ultra-slow _FP_gets and improving IsKnownHeader
124 (but fgets is *still* responsible for >50% if the time).
125 - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList
126 call after every loadfile, majorly speeds up large decodes
127 (easily by a factor of 10..100).
128 - allow "Smerge -1" to call UUCheckGlobalList.
129 - majorly speed up part insertion (still O(n), but much faster).
130 - allow for 1023 octet headers instead of the standard
131 255 octet ones.
132 - support strcasestr, strcasecmp, strncasecmp for added speed.
133
1341.12 Mon Oct 13 14:11:01 CEST 2008
135 - use the yencode filesize as additional matching criterium
136 to avoid false matches.
137 - made the example decoder more verbose w.r.t. error handling.
138 - removed potentially confusing decode_temp calls from
139 example decoder.
140
1411.11 Fri Jun 13 15:32:30 CEST 2008
142 - don't ask.
143
1441.10 Fri Jun 13 14:22:42 CEST 2008
145 - fix an infinite-looping problem when scanning in freestyle
146 mode (testcase provided by Pieter Geens and Reinhard Pfau).
147
1481.09 Fri May 25 19:38:11 CEST 2007
149 - create something sensible, trust a windows program to fuck
150 it up: work around literal "(null)" filenames in yenc-encoded
151 files.
152 - some minor cleanups.
153
1541.08 Sat Dec 16 23:27:13 CET 2006
155 - URGENT update, the last release did not
156 decode files correctly, usually not at all.
157 - my last patch was, of course, completely bogus.
158 (sorry. looked simple...).
159
1601.07 Sun Dec 10 17:41:46 CET 2006
161 - fixed an uninitialised variable based on analysis
162 and patch by Mark Martinec.
163
1641.06 Tue Dec 6 00:56:05 CET 2005
165 - fix a number of int/long format errors in the encoding part and
166 fix some signed/unsigned char problems of unknown relevance,
167 reported by Jonas Smedegaard.
168 - new EXPERIMENTAL options OPT_RBUF and OPT_WBUF to set default
169 stdio buffer size for reading and writing files.
170
1711.051 Thu Mar 3 18:00:52 CET 2005
172 - change of contact address.
173 - updated perl parts to GPLv2.
174
1751.05 Fri Feb 25 22:50:27 CET 2005
176 - fix a (likely exploitable) segfault problem, (tracked down
177 and/or reported by Mark Martinec and Robert Lewis).
178
1791.04 Tue Dec 28 15:08:44 CET 2004
180 - slightly improved subject filename extraction.
181 Also see the filename callback in the example-decoder.
182
1831.03 Sun Apr 18 22:05:43 CEST 2004
184 - upgrade to uudeview-0.5.20, which supposedly fixes a few buffer
185 overflows. However, judging from the patch these vulnerabilities
186 were not present in the Convert-UUlib version (I might err, though,
187 documentation on the actual exploits is scarce).
188 As every uudeview update usually brings more instability than stability
189 I advise against using this version until it has proven itself
190 to be stable, or 1.02 is proven to contain the same buffer overflows.
191
1921.02 Sun Apr 18 16:47:26 CEST 2004
193 - renamed crc32 to uulib_crc32, to work around yet another
194 shortcoming in this oh-so-outdated macosx.
195
1961.01 Sun Feb 1 19:49:51 CET 2004
197 - make it compile with 5.005_03 (reported by Anton Berezin).
198 - very short files might not be detected because the header
199 parsing code might skip them.
200
2011.0 Thu Nov 6 14:32:08 CET 2003
202 - change bracket policy to give priority to (x/y) over (x),
203 and use the last bracket found otherwise.
204 - part numbers at the end of the subject are now recognized.
205 - updated to uulib-0.5.19. Differences and bugfixes kept.
206
2070.31 Wed Oct 16 01:22:34 CEST 2002
208 - no internal code changes.
209 - much better documentation, now considered "useful".
210 - removed the procedural interface.
211 - fought the wish to perl-5.8'ify and thus simplify the code :().
212 - stress-tested version 0.3 against 70000 data postings since sunday.
213
2140.3 Sun Oct 13 15:12:11 CEST 2002
215 - updated to uulib 0.5.18. As expected, some but not all of my bugfixes
216 have went into uulib, so the number of differences decreased a bit
217 again.
218 - I found out that the library is being sold commercially by Frank
219 Pilhofer, disregarding the GPL and ignoring the rights of the people
220 who sent in patches :(
221 - vastly more useful documentation in the .pm file.
222 - much smaller distribution filesize ;)
223
2240.213 Sat Jul 27 21:16:30 CEST 2002
225 - fixed another buffer overflow, also added a santity check to fgets.
226
2270.212 Sat Apr 6 03:52:13 CEST 2002
228 - fix yEnc decoding support.
229 - new option OPT_DOTDOT, that makes uulib unescape dot-escaping.
230 - increased linelength to 1195.
231
2320.211 Fri Apr 5 23:56:46 CEST 2002
233 - *sigh*. new version of uulib, new braindamaged buffer overflows
234 fixed. Diffs like "line length 256 => 300" should have
235 alerted me...
2 236
30.21 Sun Mar 31 22:06:05 CEST 2002 2370.21 Sun Mar 31 22:06:05 CEST 2002
4 - bumped uulib from 0.5.15 to 0.5.17 (adds some yEnc support, YENC_ENCODED). 238 - bumped uulib from 0.5.15 to 0.5.17 (adds some yEnc support, YENC_ENCODED).
5 - source-renamed FP_*-symbols to _FP_* again, but still define them 239 - source-renamed FP_*-symbols to _FP_* again, but still define them
6 to be FP_* in the object file. 240 to be FP_* in the object file.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines